Hindsight - 2021

This post is a paraphrasing of a journal entry with several details redacted. And that fact is also my excuse for shoddy writing and bad structure - it was not intended for public reading until 5 minutes ago. Now that we’re clear on that, I can rant and rave about the past year to the sound of crickets.

2021

2021 for me was exigent - demanding heavy attention and involvement in things that I definitely did not envision myself doing.

I wouldn't describe it as a "good" year. Bad things did happen, but I still daresay it could have been much worse. I’ve been fortunate enough to not lose anyone to you-know-what, and have learned a fair amount of things, although none that I actually set out to learn back in January.

Reading

I am ashamed to admit my rapid decline in reading ever since I started attending college. I’ve gone from 30 to 11 books a year in 2 years. Regardless, here’s the favorite books I (almost) finished in 2021:

  1. 1984: Fashionably late with this read. It is an incredibly written book that I’m happy I read. However, I wasn’t as impressed as I thought I would be, owing completely to over-expectation. 8/10.

  2. SICP: It’s a bit slow to start put picks up pace rather fast. It taught my then imperative mind that parentheses can be beautiful. Cool algorithms, decent exercises, fun concepts and a good book. 7/10.

  3. Dune: I’ve finished the first book. Herbert’s writing takes a little getting used to, and the story is slow to start off, but the concepts explored by this piece are intriguing. Currently, I’m reading it’s sequel - 'Dune: Messiah'. 7/10.

  4. MMURTL: An okay-book for new OS developers. I’m sure it was an amazing book in the year 2000, it just hasn’t aged that well. It is likely that I rate this higher on a re-read once I’m more acquainted to OS internals. For now though, 5/10.

  5. OSTEP: Could be a bit too beginner-y for some, but it’s a near perfect introductory book to OS internals. 9/10.

  6. On Writing Well: Beautiful guide. It’s reasonably short, but I feel it could have been shorter in some chapters. Very straightforward and leaves the reader with a clear idea of mistakes to fix and skills to improve on. 9/10.

  7. PoPL (UPenn): Originally written as lecture notes for graduate students at University of Pensylvania, this is the easiest introduction to operational semantics and formal verification that I've come across. Props to the professors for making this available for free. 10/10.

There are several unmentioned books and web-novels that I dropped halfway through. Perhaps some of them will be on the reading list for 2022.

Game-dev

I managed to finish some jam entries, but that’s about it. The biggest blocker here is my tendency to switch back and forth between game engines and frameworks. I’m currently writing a game framework on top of SFML that embeds vyse, insipired by LOVE’s simplicity and flexibility.

This year I want to learn more of computer graphics and the things that go on under the hood with GPUs and such.

Compilers

I thought I’d have made more progress with Vyse, but I had my hands full with loads of other work. The Pallene compiler saw a good amount of progress, which I’m happy about. The language now supports lambdas and closures. I see myself doing more work on both these projects in the future once I’ve more time to spare. At some point, I wanted to make a compiled systems programming language, but couldn’t find myself the liesure to act on this urge.

Learning mostly consisted of reading papers and conversations with people deep into PLs. I managed to finish PoPL from UPenn and half of Types and Programming Languages by Pierce.

Blockchain

I ended up having a brief stint with cough blockchain and NFT based projects, and I have mixed feeligns.

The people I worked with were smart, cooperative and capable. It is just a difference in perspective that made me pull back. I still keep an eye out for interesting chains, their contract languages, VMs and consensus methods, but I do not see myself working in a field where a nugget of doubt in my own ethos is unavoidable.

I see far less value in web3 than most people. Blockchain is an interesting engineering approach, but a non-solution to most problems they’re actually hurled at. I genuinely appreciate that this technology played a very important role in discussing the valuation of digital assets, just as we value real and tangible items. If a majority of this role wasn’t million dollar edgy monkey JPEGs, I might have had higher regard for it. I much prefer the ad economy over paying gas fees to send texts.

Games

Apart from random itch.io jam submissions, I played Nuclear Throne for the most part. I’m not big into new games anymore, but if I’m ever going to play any in the future, it will probably be Eastward.

Work and Life

I’m currently working at DeepSource on static analyzers - and content with this choice. There are however a number of unaccomplished goals will spill over to the next year:

2022

More books, more piano, more type theory and more language. Specific goals will begin to take shape once I start clearing my backlog. On this blog however, you can continue to expect more math and functional programming. Have a wonderful new year :)