hi, i’m ajmal.
most of what i know about programming came from getting curious about something and not letting it go. how does a language actually run my code? i wrote an interpreter, then a compiler, following thorsten ball’s books, to find out. how does a database keep track of a row? i started building sqlite from scratch.
not all of those projects are finished. i follow a question until it’s answered, and then something else catches my eye. i’ve made peace with that.
this site is my notebook. lately it’s been low-level design: rate limiters, task schedulers, undo/redo, and the patterns that keep code easy to change. i write things up because explaining something is the quickest way to find out i don’t really understand it yet.
away from the keyboard i read a lot. right now it’s gödel, escher, bach.
if you’re curious about the same kinds of things, say hi on email or github.