I’ve removed Disqus. It was making my blog worse
Disqus turned my clean blog into an ad-riddled mess. Here’s why I pulled the plug—for your privacy and reading sanity
The latest blog posts to take off on Hacker News. 4,415 posts.
Disqus turned my clean blog into an ad-riddled mess. Here’s why I pulled the plug—for your privacy and reading sanity
The models are powerful as is. But where are the tools?
As a software engineer, I often work on big tasks that require hours of continuous and focused work. However, we have plenty of meetings, colleagues asking us something in Slack, and lunch breaks. Add a colleague who comes to you and calls you for a cup of coffee if you work from the office. And usually, we don’t…
Mechanical keyboards, the nerd equivalent of obsessing over ferrule weights in golf clubs, are wildly popular, and for a good reason. I've owned and used a ZSA Moonlander for some years now, and here are my thoughts on it and why I think you should literally buy any mechanical keyboard you can get your hands on with…
Instead of a traditional review of a new Pi product, I thought I'd split things up on my blog, and write two separate posts; this one about the Pi 500+'s new mechanical keyboard, and a separate post about hacking in an eGPU on the Pi 500+, for a massive uplift in gaming performance and local LLMs. The Raspberry Pi…
Text is a universal medium. And yet we try to prevent users of our UIs from using it. Let’s not.
Over two years ago, in one of my first public talks about Ghostty , I shared my vision for libghostty : an embeddable library for any application to embed their own fully functional, modern, and fast terminal emulator. Libghostty is finally starting to take shape, and I'm excited to share more details about my plans…
After all you made your apps open source, so I can remove your ads.
This was a good thing . YAML anchors in GitHub Actions are (1) redundant with existing functionality, (2) introduce a complication to the data model that makes CI/CD human and machine comprehension harder, and (3) are not even uniquely useful because GitHub has chosen not to support the one feature (merge keys) that…
A developer's lament about Xcode's opaque errors, unreadable project files, and Apple's culture of pretending everything is fine.
The rise of AI-powered coding has created an unexpected market: cleaning up the technical debt from prompt-generated software. Here's why 'Vibe Coding cleanup' is becoming a legitimate service category and what it means for the future of software development.
I made a little plugin for Obsidian: Note Codes.
The Apple Photos app sometimes corrupts images when importing from my camera. I just wanted to make a blog post about it in case anyone else runs into the problem. I’ve seen other references to this online, but most of the people gave up trying to fix it, and none of them went as far as I did to debug the issue. I’ll…
Prove your humanity once and for all
Last week, I went on an adventure through the electromagnetic spectrum!
Someone's trash is another person's web server.
Here's how to self-host a web font from Google Fonts - Blog-ifyer
Have you ever searched for “AI chat” in the Mac App Store? I have. It’s like strolling through one of those counterfeit, replica markets where all the goods…
I spent way too much time on this
A font that's only 2px tall, and somewhat readable! Uppercase and lowercase have some different variants, in case you find one more readable than the other. Numbers (sort of) and some punctuation marks are included.
Learn all about Java 25's new CPU-time profiler and why it matters in this weeks blog post from the creator himself.
Recently I read this beginners guide to extend Emacs. The guide is perfect for starting out with elisp and it shows a lot of care in teaching how to interact with Emacs.
How to build a custom completion backend for emacs from scratch.
Exploring the process of designing and assembling 3D models from paper.
Journaling doesn’t need to be a chore. In this post, I share The Socratic Journal Method, my simple twist on journaling that turns blank pages into meaningful conversations. It’s a method designed to help you reflect, stay consistent, and actually enjoy the process.
I have been aware of tarsnap for a long time, but only recently did I actually get around to using it for anything, as a result of my big personal digital resiliency audit for 2025. For those of you not in the know, tarsnap is “online backups for the truly paranoid”, and tarsnap the command-line program is the…
Trombone emoji skanking it's way into our hearts …
I used Apple Configurator to turn my iPhone into a dumb phone. I can only access the apps and websites I want to use, and it’s feeling great!
A developer's guide to downloading and running LLMs on macOS, for experimentation and privacy.