5 of 10
Oct 17, 2021

Method Missing

Programming metaprogramming ruby

Let’s try a shorter-form blog post today. Suppose you are bored and want to learn more about a Ruby library. You do the sensible thing: read the source, starting from a class the library’s clients would consume. You expect to find a plethora of method definitions or at least some...

Aug 18, 2021

The Nand2Tetris Experience

Programming assembly compilers computer-architecture

I recently went through the Nand2Tetris course. The motivating goal behind the material is to learn about the foundational hardware and software components of a computer by building one from scratch. As the name suggests, the course starts you off with nothing but a NAND chip and, through a series...

Apr 10, 2021

Maze Contest: A Quick Analysis

Data data-science r

One of my CS classes this semester runs a semester-long contest to see who can write the fastest concurrent maze solver. Submitted programs are tested on a battery of 7 mazes that may or may not be solvable and a public scoreboard is updated quasi-daily with each competitor’s runtime performance...

5 of 10