On learning new things
Prior to RC, my exposure had largely been Python and the back end. In the spirit of learning new things, I wanted to learn other languages and the front end.
I curate my Twitter bookmarks lovingly. As a project idea, I thought it would be useful to build a web app to extend its functionality. Suppose I'm logged on to Twitter on one browser tab, my web app in a different tab piggybacks the existing auth to get (and later manipulate) my bookmarks.
Taking a closer look, I discovered Twitter's API doesn't have a /bookmarks endpoint. I could use Postman to get the necessary tokens and spoof the web request. Perhaps v1 won't be the most user friendly of apps.
This discovery prompted me to commit to learning "how the browser works", which alas I only got as far as a Google search. The shiny object of the day? Compiling Rust into WebAssembly. I've been curious about WebAssembly hearing how it makes web apps run as fast as native apps, say at Figma. Well... I guess this still fits in the theme of 'the front end'.
Content: Design of Go
Carrying on with my practice of padding up my blog posts with other content (and the theme of 'other languages'), enclosed below is Rob Pike's talk on Go at the SPLASH 2012 conference (link to video here, not as detailed but tad easier to follow).
I had a bit of time between my previous role and RC, which I spent looking into Go. I was fascinated to learn various tools we used in production for Python (Bazel to avoid circular dependencies, Jenkins for cross compiles, yapf for formatting, futurize for upgrades, mypy for types) comes built in into Go. Having spent considerable time migrating Python 2 to 3, gofix seems magical.