Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 1,839 posts.
Infrastructure & DevOps
Any year
Building Good Docker Images
The docker registry is bursting at the seams. At the time of this writing, a search for “node” gets just under 1000 hits. How does one choose?
Syslog: Complete System Administrator Guide
Complete Guide on understanding the Syslog protocol, syslog message format as well as log forwarding. Best practices included!
What job interviews taught me about Kubernetes
So I've been job hunting lately. Reading job postings, doing interviews, talking to engineering teams at like a dozen companies. And I noticed...
Tailscale ate my network (and I love it)
No matter where you go, there you are If you're like me, you travel occasionally. Access to your office from home, or from an airport loun...
Switching Pip to Uv in a Dockerized Flask / Django App
I noticed about a 10x speed up across a number of projects, we'll avoid using a venv and run things as a non-root user too.
Containers, microservices, and service meshes
There is a lot of material out there about services meshes, and this is another one. Yay! But why? Because I would like to give you the perspective of someone who wish service meshes did exist 10 years ago, long before the rise of container platforms like Docker and Kubernetes. I’m not claiming that this perspective…
The tragedy of running an old Node project
You want it to just work. But it resists.
Zeroserve: A zero-config web server you can script with eBPF
zeroserve is a small, fast, zero-config HTTPS server. You hand it a tarball of a website and it serves it - over HTTP/2 and TLS 1.3, with hot reload and a tiny resident footprint. The twist is that you can drop eBPF programs into the tarball and they run on every request, in userspace, as sandboxed middleware …
Diagnosing an Unusual WiFi Issue (2020)
Late last year, I started experiencing some unusual intermittent connection issues on my Desktop. In general, I had a stable connection with average latency; however, at (seemingly) random times throughout the week, I would start experiencing sudden 2000ms+ latency spikes every couple of seconds.
Container networking is simple (2020)
Begin with the basics to understand Docker and Kubernetes networking: learn how to create and interconnect Linux network namespaces using only command-line tools.
Terraform vs. AWS CloudFormation
Several years ago I actually cared about the differences between AWS CloudFormation and Terraform. Namely, that Terraform did not provide…
Non-interactive SSH password authentication
Instead of using sshpass to non-interactively provide an SSH password, here is a simpler approach by harnessing the built-in features of OpenSSH...
My Home Fibre Network Disintegrated
Thanks HN folks for all the comments. To clarify a bit, the cables are pulled through PVC conduits under the flooring before being buried in cement. Currently the hypothesis for why the cable disintegrated so quickly is hydrolysis. Singapore is extremely humid after all. A second possibility is that I keep the…
Self-hosting email like it's 1984
Notes from setting up a truly minimal self-hosted email server with Postfix and OpenDKIM. Covers TLS, SPF, DKIM, DMARC, DNS, reverse DNS, multiple domains, and delivering to Gmail.
Why One Programmer Doesn’t Do DevOps Anymore
The story of one programmer’s journey into, and vehement rejection of, this thing we call “DevOps” – lessons learned, sound advice and why you’re probably doing it all…
Indoor Wi-Fi Roaming with OpenWRT
A few months after writing up the Cudy AX3000 units and moving the house over to OpenWRT, I ended up revisiting the one bit I had deliberately waved away ...
Self hosting 10TB in S3 on a framework laptop and disks
About 5 months ago I made the decision to start self hosting my own S3 . I was working on AppGoblin’s SDK tracking of the top 100k Android and iOS apps so was wanting a lot of space, but for cheap.
How I Use Home Assistant in 2025
I’ve been using Home Assistant for about seven years now, starting back when I was living in a small apartment. At the time, my setup was modest: I …
How and why I run my own DNS servers
Despite my woeful knowledge of networking, I run my own DNS servers on my own websites run from home.
eBPF Is Awesome
A blog about programming, technology and open-source stuff.
Microservices are hard
Over the past years I attended hundreds of interviews. Many candidates proudly told tales on how they develop their projects with a microservice architecture. Often (I don’t want to say “always”, but from my memory I think it actually is “always”) it does not require many questions to see that they used a rocket…
All you need is Wide Events, not "Metrics, Logs and Traces"
This quote from Charity Majors is probably the best summary of the current state of observability in the tech industry - a total, mass confusion.
The sad state of web app deployment
I spent a good chunk of the last four days installing an Internet web forum, which claims it can be up and running in 30 minutes. I like to think I’m pretty alright at computers. So what went wrong here? Well let me tell you.
Managing database schema changes without downtime
How we manage schema changes at Discourse minimizing downtime
Monoliths are not dinosaurs
Building evolvable software systems is a strategy, not a religion. And revisiting your architectures with an open mind is a must.