I'm a computer scientist by education and a software engineer by trade. I work mostly around databases, storage engines, distributed systems, and the kind of infrastructure that rewards looking under the floorboards.
I build systems to make hard ideas concrete, first for myself. My main project right now is BeachDB, a distributed NoSQL database and storage engine in Go. I use it to explore database internals by implementing them directly, writing about the tradeoffs, and keeping the work inspectable.
My blog, aalhour.com, is the main place where I publish notes on software, systems, books, and whatever else I'm currently trying to understand about.
I contribute to database and storage projects when I can:
- π€ Turso: an in-process SQL database compatible with SQLite, written in Rust.
- π« Apache HBase: a distributed, Bigtable-inspired NoSQL database on Hadoop, written in Java.
Production tools I've built to scratch an itch in my professional life:
- π databricks-prometheus-exporter: a standalone, custom Prometheus exporter for monitoring Databricks workloads.
- πͺ cookiecutter-aiohttp-sqlalchemy: an opinionated template for developing and deploying production async web APIs in Python 3.
- βοΈ fractaltree: a generic, concurrency-safe BΞ΅-tree implementation with serialization codecs, written in pure Go.
A few representative rabbit holes:
- ποΈ BeachDB: my main ongoing database internals experiment in Go.
- π PyCOOLC: a compiler for the COOL programming language in Python 3.
- π Assembler.hack: a 16-bit machine-code assembler for the Hack assembly language from nand2tetris.
- #οΈβ£ C-Sharp-Algorithms: standard library data structures and algorithms implemented in C#.
- π micro_kanren.py: an object-oriented microKanren DSL implementation in Python.
- π awesome-compilers: a curated collection of resources on compilers, interpreters, and runtimes.
Some are active. Some are archived. All of them started as an excuse to understand something more deeply.
I use writing as a forcing function for understanding. When static prose is not enough, I build small interactive animations to make the idea easier to inspect.
- Blog: aalhour.com
- Animations: aalhour.com/animations
- Talks: aalhour.com/talks





