Projects

This page will remain empty till I figure out what side-projects I want to showcase and how I want to showcase them.

Esoteric detour on learning The Right Way™.

I am stuck between wanting to hone existing technical skills and pick up new ones, and doing it “the ideal way.”

It is the ever-present desire for perfection I have. There is a case to be made for getting things done (fast) and doing them the right way (slow).

In an ideal world, with unlimited time and no pressure from other tasks, I would start from the basics:

  1. Nand2Tetris
  2. SICP
  3. HtDP

But we don’t live in an ideal world. So Nand2Tetris will have to wait indefinitely. I did start with SICP though. Just the video lectures, time constraints and an ever-shortening attention span (although I have been working on that second bit) make reading the book infeasible. HtDP will have to suffer the same fate as Nand2Tetris, as I deemed SICP to be of higher priority. Besides, SICP is the foundation for HtDP, just as Lisp is the foundation for Racket/BSL.

Structure and Interpretation of Computer Programs (SICP)

I have been watching SICP video lectures. As someone who works almost exclusively with a high-level, highly abstracted language like Python, it’s easy to miss the trees for the forest. Hal Abelson and Gerald Jay Sussman pull you down to the forest floor, then make you look at not just individual trees, but individual tree leaves. They explain how to think of programs and programming from first principles. I had forgotten how beautiful, how elegant computer programming can be and I am glad these lectures have been helping me remember.


Footnotes