New
The latest blog posts to take off on Hacker News. 4,415 posts.
My I3-Emacs Integration
tiling window managers are wonderful. ultra-flexible text editors are also wonderful. for a spell, i thought i'd found the ideal solution in exwm … and i think it would have been, save for the fact that i use ordinary, graphical windows as much, if not more than, text buffers, and sometimes those windows are from…
Time to talk about my writerdeck
tldr: * I installed console-only Debian on an old laptop (no desktop OS at all) * I added some packages to make it work better for writing: * network-manager for connecting to hotspots while I'm away * kmscon for custom fonts and more than 16 colors in the tty * tmux for
Hengefinder: Finding when the sun aligns with your street
Next week in Manhattan, the sunset will align perfectly with the east-west streets of the city grid. It’s beautiful, and people know it. Twice a year, crowds gather to see the brief moment when the sun sits perfectly on the horizon, framed by skyscrapers on either side. It’s called Manhattanhenge , after Stonehenge.
I love my Bluetooth keyboard
I recently went on a ten day trip to China where I didn’t take my computer. 1 I still wanted the ability to take notes quickly, so I bought a Bluetooth keyboard to use with my phone.
I built a Git-tracked book production pipeline
How a software developer bypassed proprietary publishing silos using LibreOffice, Standard Ebooks, and LaTeX to build a sustainable, Git-tracked book production pipeline.
Uv is fantastic, but its package management UX is a mess
uv's CLI feels surprisingly clunky compared to its peers like pnpm or Poetry.
Using Kagi Search with Low Vision
How I'm using Kagi Search with low vision to manage visual fatigue, plus my favorite Kagi accessibility features for low vision + CVI and Kagi low vision theme
I spent 50 hours drawing a line graph
Hand drawn data visualizations by artist Doug MacDowell.
My two-part desk setup (2025)
How I turned a single long desk into a digital side for work and an analog side for reading, writing, and building LEGO with the kids.
MCP Hello Page
We've started offering an MCP Server for our main $WORK tool. It's been fun, like a weird intersection between deterministic and non-deterministic worlds Despite the fact that MCP is an utterly terrible attempt at a "specification", we have hit one annoying issue: customers keep on reporting the MCP server is not…
Two computers, one monitor, zero fiddling (2025)
How to switch inputs between desktop and laptop on one monitor using built-in KVM and DDC
I love Linux, but I can't quit Windows
I've been distro-hopping for probably twenty years. Every time I install Linux I feel a small swell of optimism, like this time it'll stick. Linux never sticks with me.
Leaving GitHub for Forgejo
I host and maintain your WordPress site: one person for your server and your site, who you message on WhatsApp. From €39 per month excl. VAT, cancel monthly.
The Emacsification of Software
Everything looks like Emacs now: personal, complicated, idiosyncratic, and shrink-wrapped around exactly what you want it to do. Does shipping software even make sense in the long run?
I let AI build a tool to help me figure out what was waking me up at night
I try to pay attention to the small things that affect my quality of life. When something keeps bothering me, I want to investigate, find a likely cause, and act on it. What changed recently is what I'm willing to build to support that. With AI tooling, projects I
Distributing Mac software is increasing my cortisol levels
I'm creating a simple developer utility to make managing Claude Code profiles (e.g. running it with DeepSeek, or some OpenRouter models) a little bit easier.
Maybe you shouldn't install new software for a bit
Oh boy yet more linux kernel vulns
I switched from Mac to a Lenovo Chromebook
Documenting my journey switching away from Mac to a Lenovo Chromebook Plus 14
The Self-Cancelling Subscription
When family TV show night became systems debugging night.
Hand Drawn QR Codes (2025)
I really like QR codes. Recently I purchased a new sticky-note-like pad from a new local stationery store in Minneapolis. The sheets have a 10x10 grid and 2x10 grid. I knew what I wanted to...
Photoshop's challenges with focus, pt. 2
A blog about software craft and quality
The text mode lie: why modern TUIs are a nightmare for accessibility
The mythical, it's text, so it's accessible There is a persistent misconception among sighted developers: if an application runs in a te...
Why TUIs are back
Terminal User Interfaces (TUIs) are making a comeback. DHH’s Omarchy is made of three types of user interfaces: TUIs, for immediate feedback and bonus geek poi…
A desktop made for one
Philosophy - Sciences - Geekery - Art - Life - Coaching - Fun < Simplify Everything
Specsmaxxing – On overcoming AI psychosis, and why I write specs in YAML
The toolkit for spec-driven development. Write feature specs, not prompts. Ship better software with AI agents that understand your requirements.
Using “underdrawings” for accurate text and numbers
A technique for accurate text and numbers in AI-generated images: generate the layout deterministically, then ask the image model to paint on top.
Ghostty is leaving GitHub
Since then, I've opened GitHub every single day. Every day, multiple times per day, for over 18 years. Over half my life. A handful of exceptions in there (I'd love to see the data), but I can't imagine more than a week per year.
I Got Sick of Remembering Port Numbers
So I built local.vibe — a friendly dashboard and local .vibe hostname for every local web app on your Mac. No more localhost:3000 vs localhost:5173 roulette.
Creating a Color Palette from an Image
This Spectrimage palette extractor started as a sidecar to image color analysis, but grew into its own feature.