Writing a programming language (Part 1 Layout)

Some people say they either don’t have enough time to work on side projects or actually do not have time to work on them. But this is not the case for me. Turns out I have a lot of time just laying around so I decided to work on something big that I can learn a bunch from. It didn’t take me long until I decided to learn how to create my own programming language. How did I arrive at that? I mean, I would definitely learn a lot from working on a compiler and having my own programming language sounds exciting doesn’t it? A few weeks back I started learning Golang. So I decided to write my language in Golang.

SSH into RaspberryPi through GCP VM instance

About a month ago I got my first ever personal RaspberryPi. Just like a kid who just got his first bike, I was filled with joy and excitement and wanted to play with it 24/7. But as a full time student, I was often far from home, and I had to contain myself from running back to my apartment to play with my Pi. I found a good solution to tackle this. I decided to create a reverse SSH tunnel from my Pi to a GCP VM instance, so that I can SSH into my Pi from the VM I already had remote access to. This is very useful, because the alternative would have been port fowarding on my home router and this often is very cumbersome to do and manage. So let me share how I did it.

(SideTrack 1) File Polyglot

image

(SideTrack 0) Prologue

Whenever I find myself in a pile of tasks I need to do, I always take some time to sidetrack myself. More often than not, taking a step back from all the busy work helps me, because it allows me to reorganize myself and do the tasks better when I come back to them. Perhaps this is just an excuse to justify myself procrasinating, but in my opinion, taking an hour or two everyday to take a real break rather helps than not. Seriously, I encourage you to do the same.