Blog
All notes
- [01]
A cron job to remember my fantasy NBA roster
One line of crontab sends me a daily macOS notification. Then I found out that my Mac has a mailbox.
- [02]
shadcn/lint: Design Rules Agents Can Check
Why design rules become more useful when errors explain how to follow them.
- [03]
StyleX: Giving Design Systems Stronger Types
A component can define which CSS properties callers can change, and which values they can use.
- [04]
Making a Cloud Engine Feel Like a Product
A cloud engine combines independent computers into one fault-tolerant platform. The difficult part is making that new model easy to buy and operate.
- [05]
Claude Manager: Keeping Track of Claude Code Across Projects
I was running Claude Code across multiple projects and worktrees inside tmux. I wanted a better overview, so I built a small tool for it.
- [06]
Why We Built a Separate Governance App
The existing NNS dapp did a lot. We needed a simpler path without breaking workflows people already depended on.
- [07]
Back to the Terminal
I was happy with Zed. But Claude Code & others showed up, and I went all-in on the terminal again.
- [08]
I Built a TIL Pipeline with OpenClaw + Telegram
From raw notes in Telegram to curated PRs and a live feed on my own website.
- [09]
Adding Strava to Your Portfolio
Show off your activity by integrating the Strava API into your Next.js app.
- [10]
Stop Duplicating State: localStorage IS the Store
Why duplicate localStorage data in React state when you can read directly from the source?
- [11]
Next.js rendering: When to use Client vs Server Components
Stop seeing skeletons everywhere. Why Server Components might be the best upgrade for your app.
- [12]
7 Months Working on the NNS Dapp
From insurance to open source blockchain. My journey with Svelte, the Internet Computer, and building in public.
- [13]
LazyGit: The Git Interface You Didn't Know You Needed
Stop fighting with the terminal and embrace the TUI revolution.
- [14]
From VSCode to Zed
Finding the perfect balance between Vim speed and modern editor comfort.
- [15]
VIM Basics Handbook
Stop using the mouse. Start coding at the speed of thought.
- [16]
Spotify Now Playing with Next.js
How I built a real-time Spotify card for my blog using the Spotify API and Next.js.
- [17]
Awesome Visual Studio Code
You deserve a better editor. Let's make it awesome!
- [18]
The Rule of Three in Computer Programming
Wait with the refactoring until the third instance of duplication.
- [19]
Stopping Unwanted Docker Restarts
Does Docker restart containers on its own?
- [20]
Heimdall: Making Integration Failures Visible
The team was solving insurance integration failures through logs, Swagger, Postman, and knowledge held by a few people.
- [21]
The Alchemist
My annual guide for New Years growth
- [22]
A programmatically generated Resume
Creating a Resumen with Next.js, tailwindcss, and puppeteer
- [23]
Git Alias
Git superpowers with aliases
- [24]
2022, lets go!
Kind of a resolutions list with a bit of a time box for my future me
- [25]
Better loggin in Node
Logging objects in Node is a pain in the assh, but there is a nicer way
- [26]
Building a Configurable Insurance Frontend
We kept building similar purchase journeys for different partners. The difficult part was deciding what should become shared.
- [27]
React performance starts with measurement
The practical lessons from an internal workshop about finding, measuring, and fixing React performance problems.
- [28]
Why React?
A friendly introduction on why we use React
- [29]
Learning How to Learn
My summary of what I learned from Learning How to Learn
- [30]
Hello world
It took almost 1891 days, but I am finally here