From first principles
Notes on software, learning, and building from the ground up
-
The Un-Abstracted Frontend
Building a modern React app from scratch — no Vite, no Next.js — to demystify the magic of `create-react-app` and its friends.
-
My bookmarks over the years (part 5)
A dump of articles and links I've collected in my browser, with brief notes — part 5 of 5.
-
My bookmarks over the years (part 4)
A dump of articles and links I've collected in my browser, with brief notes — part 4 of 5.
-
My bookmarks over the years (part 3)
A dump of articles and links I've collected in my browser, with brief notes — part 3 of 5.
-
My bookmarks over the years (part 2)
A dump of articles and links I've collected in my browser, with brief notes — part 2 of 5.
-
My bookmarks over the years (part 1)
A dump of articles and links I've collected in my browser, with brief notes — part 1 of 5.
-
CommonJS vs ES Modules in JavaScript
Why JavaScript has two module systems, how they differ in practice, and when each one shows up in your code.
-
Developer Rhapsody
A parody of Bohemian Rhapsody, rewritten for the everyday struggles of shipping software.
-
How to convert a Jekyll gem-based theme to a regular theme
Notes-to-future-self on flattening a gem-based Jekyll theme into your repo so you can edit it directly.
-
How to start a personal blog with Jekyll and Github Pages
A no-frills walkthrough for spinning up your own static blog with Jekyll and hosting it free on GitHub Pages.
-
Dynamic dispatch pattern in Scheme/Racket
Implementing dynamic method dispatch — the polymorphism trick that powers JavaScript's toString — in plain Scheme.
-
Hello World!!
A short hello and what to expect from this blog.