It has been a great 3 weeks at RC, so far. Not especially proud that I stopped writing for ~2 weeks, but it has been quite a whirlwind.
The most concrete thing that I've been working on is a project I'm calling Brainlove which is basically just random exploration of Brainfuck tooling. It's been really cool to see how mature the compile-to-wasm ecosystem has become. I still don't think that it would be my first choice for a professional setting, but the developer experience is much better than I was expecting. Deploying the debugger to Netlify as a static bundle was a breeze.
Beyond that, I've probably been spreading myself a little bit too thin in terms of what I'm working on:
- Paired a lot with Andrew. Learning a lot about
effective communication in these sessions. I've also really enjoyed reading Andrew's
website and blog.
- We reached a reasonable conclusion on the 2048 strategy project. We attempted a low-level implementation of board operations that turned out to be slower than the naiive list-based implementation. Really interesting exercise.
- Wrote a "compiler" for compiling a very small expression language to Brainfuck. This was a mind bender. We both avoided seeking out external resources so it was a lot of fun to solve these problems from scratch.
- Paired on a bunch of other things (ranging from Leetcode to an Octave LSP).
- I think pairing has been the biggest benefit of being at RC so far. There are so many things I could explore, but I really want to make the most of being at RC right now, so I hope to continue emphasizing pairing.
- I put together a small python script for generating LICENSE files. There are already a bunch of implementations of this, but I thought it would be a fun way to learn about how to package python libraries and scripts. There are a lot of outdated resources for python packaging, so this was surprisingly painful.
- I hobbled together a URL shortener that runs on fly.io but is only accessible within my tailscale network. I used an existing Flask URL shortener that I had worked on with Rana (my wife) a while ago. Once I had a reasonable understanding of how everything fit together, this wasn't too bad. But my mental model of networking could probably use some work.
- Thought a lot about how to set up an election website that enables users to choose the voting system they use.
- Made some progress on Crafting Interpreters in C++.
- Most of garbage collection is in place
- Spent a good amount of time comparing performance with clox across both x86-64 and Apple silicon
- Read a few chapters of DDIA
- There's a small reading group for the book at RC where we've had some great discussion, so far. Planning to coordinate reading some papers as well!
- Finished the available Protohackers problems in Python. These are a blast. I've really been enjoying Amos' series covering Advent of Code in Rust. I think it would be fun to put together a similar style series for Protohackers describing my approach to building out solutions (first in Python, then translating to Rust).
Not a ton of structure to this post, but I want to get back into the swing of writing regularly, so I'm lowering the bar a little bit. If you've made it this far, thanks for reading!