healeycodes writes

Archive

🎓 My Time At The Recurse Center

I recently completed a six week batch at The Recurse Center. I had a magical time and learned at a tremendous pace.

For my full thoughts and reflections, see my recent post My Time At The Recurse Center. Otherwise, here are the highlights!

I knew that I wanted to write a lot at RC. In my application interviews, I was asked how I would be able to tell if my batch was a success and I said I hoped to leave behind many technical artifacts, like repositories and blog posts.

At RC, I wrote five blog posts:

#37
February 15, 2023
Read more

👋 New Posts, New Baby, and The Recurse Center

Hello!

Since my last newsletter, I’ve written two blog posts about programming language interpreters – Adding For Loops to an Interpreter and Profiling and Optimizing an Interpreter.

Our second baby has also arrived! He’s chunky, and happy. During my ~4.5 month parental leave from Vercel, I’m attending The Recurse Center (aka “RC”) for a six week batch.

RC runs programming retreats (usually in NY but currently remote due to COVID-19) where the aim is to get dramatically better as a programmer. It’s a warm friendly place, filled with curious and wonderful people. The work I’m doing is self-directed, I’m picking things that are interesting and challenging, and I’m trying not to be too career-focused (e.g. I’ve been working on programming languages, compilers, game solvers, and little toys). I code when our youngest is sleeping and our two year old is with his nanny, or in the evening when they’re both asleep for the night (just kidding they both wake up constantly).

#36
January 19, 2023
Read more

🚢 Shipping CodeGuessr

I recently shipped CodeGuessr. It’s like GeoGuessr .. but for code. Given a random code snippet, you have to guess which popular open source project it belongs to. I wrote about the process of how I went from quick sketch to live-on-the-net in this post.

Since my last newsletter, I also started and didn’t ship a few projects. There is a lot of hidden work in between my posts and projects. Hidden because the ideas are half-finished, or set aside because I got stuck and bored, or because I figured out that the thing was literally impossible. A few people were interested in my process/how things end up getting cut, so I wrote about it in Recent Projects I Didn’t Finish.

In a few days, our second baby will be born, and I’ll be on parental leave from Vercel!

Recent Reads

#35
November 20, 2022
Read more

🛠 Instead of completing a side project, I wrote a database instead

I caught myself yak shaving pretty hard this week.

I needed a key/value store for large values and ended up writing a partial implementation of the Bitcask design paper.

My database, bitcask-lite, is open source and I wrote up my notes in Implementing Bitcask, a Log-Structured Hash Table.

I haven’t shipped the side project yet lmao.

#34
August 15, 2022
Read more

🧩 Creating an automated Sokoban solver

Hi again,

I shipped a Sokoban clone and automated solver. Read about the techniques I used in Building and Solving Sokoban.

The coolest fact I learned was that computers lag behind human ability when it comes to very complex Sokoban puzzles. This is unlike chess — where humans have been behind for decades!

I shipped something that made the Vercel changelog last month. I’m in the infrastructure org at Vercel, working on the build and deploy pipeline — so a lot of the work I do isn’t immediately visible :)

#33
June 9, 2022
Read more

🚀 Beating grep with Go

Hello!

I just shipped a toy grep clone. I wrote up my notes in Beating grep with Go. My program is pretty feature-less but it returns line matches 10x faster than grep in a benchmark that is similar to my daily use of code search tools.

It’s been four months since I sent one of these emails out so you might have missed my program that sends cats to my phone when I’m sad and a TLD Quiz (that I can’t get more than 65% on). Some projects that didn’t go anywhere include an LRU cache in Oak and a way to self-host your GitHub repos.

In personal news, my young son can run, babble, and throw food at my face now. He is the best. I’ve also been at Vercel for 6 months where I’ve been part of the build and deploy team in the infrastructure org. I continue to have a blast here. My team (and many other teams) are hiring!

#32
April 26, 2022
Read more

🎅 Designing a Programming Language for Advent of Code

I designed and implemented a programming language for Advent of Code. I’ll be using it to solve AoC’s daily puzzles and adding to the standard library as I go. Will this language make it easier for you to solve the puzzles? No, certainly not. Here be dragons, etc. But it will increase my level of fun as I tap into the joyous energy that comes with forced-creativity-through-restriction.

Read the post: Designing a Programming Language for Advent of Code.

Adventlang is personal software, built for my own pure enjoyment. The repository contains lots of test programs if you’re interested in how I’ll be wrangling puzzles in December. As always, I recommend Crafting Interpreters, and Writing An Interpreter In Go, to learn more about programming languages and their design.

Joining Vercel

#31
November 29, 2021
Read more

🦀 The sensation of incremental progress when programming with Rust

Hi!

I published a new post about porting a JavaScript library to Rust — Porting Niceware to Rust.

I had a breakthrough with my productivity in Rust — instead of a technical challenge, I had to overcome an emotional barrier.

#30
October 9, 2021
Read more

⛳ Creating the Golfcart Programming Language

Hi!

If there’s one thing I want you to take away from this newsletter, it’s that you can build and design your own programming language. The only requirement is a little time.

Read about how I created my own language from scratch in Creating the Golfcart Programming Language. The source code is available .

#29
July 16, 2021
Read more

Listening to Satellites with my Raspberry Pi

Hello!

For Christmas, someone gifted me a GPS receiver for my Raspberry Pi. I recently used it to learn about and listen to the 31 active GPS satellites above your head.

Read more in Listening to Satellites with my Raspberry Pi.

#28
May 31, 2021
Read more

🎨 Computer Vision and Embroidery

Hi!

There’s a limited set of embroidery colors. I spent the weekend building a program that tries to identify which thread colors are used in images of embroidery hoops.

I learned a ton about computer vision and OpenCV. Read my project notes in my blog post – Computer Vision and Embroidery.

#27
April 7, 2021
Read more

🌍 GeoGuessing with Deep Learning

Hi!

My wife is formidable at GeoGuessr but can she beat a deep learning paper?

I wrote up the results to this question in my recent blog post. I also looked at how a machine might “cheat” at a game like GeoGuessr.

#26
March 25, 2021
Read more

WebAssembly + Search = ⚡

Hi 👋

I’ve been closely following the development of Stork.

#25
February 21, 2021
Read more

My Twitch Live Coding Experience

Hello!

Tonight, and most nights, I will be streaming myself coding at twitch.tv/healeycodes.

I took the dive into live streaming a little while ago. I try to pick mini-projects that I can complete in one sitting so that people can see how I approach a solution from inspiration to completion.

#24
January 27, 2021
Read more

🙌 An Ode to Personal Websites

I broadcast widely that personal websites are a bit of an obsession of mine, so it should be no surprise that last night I published Personal Websites and Internet Writing!

It’s an article about the people that inspire me the most (and that I steal from most regularly).

It was scary to put it out there as I was commenting on the work of people that I respect. However, it was well received and I’m happy that my wife pushed me to post it!

#23
December 28, 2020
Read more

♟️ Building My Own Chess Engine

I built a chess engine! And it was hard!

I’ve written down all my learnings and resources in Building My Own Chess Engine. I’m a beginner chess player myself so it was quite a journey.

Over the last month, I’ve been trawling the Chess Programming Wiki, videos, and papers from the 50s to learn all about computer chess. If you want to start from point zero, I recommend , a paper written in 1950 by Claude Shannon.

#22
December 21, 2020
Read more

👹 Writing Software for an Among Us League

Hey!

This month I was bitten by the Among Us bug. I ended up sinking many many hours into the game with my friends. I built a league website with an Elo rating system and other performance statistics.

Some of my friends hate me for making it so competitive (sorry everyone!). Read more in my recent post, .

#20
November 14, 2020
Read more
Brought to you by Buttondown, the easiest way to start and grow your newsletter.