Configuring Split Horizon DNS with Pi-Hole and Tailscale
Post describing how I've configured pihole to return different results to clients on my tailnet than those on the LAN.
The latest blog posts to take off on Hacker News. 4,377 posts.
Post describing how I've configured pihole to return different results to clients on my tailnet than those on the LAN.
Eleven init systems enter, one init system leaves.
Maybe you, yes you, should run a Certificate Transparency log. It’s cheaper, easier, and more important than ever.
In my previous post Serving 200 million requests per day with a cgi-bin, I did some quick performance testing of CGI using a program written in Go. Go works excellently for CGI programs, for many of the same reasons it works so well for CLI programs and system daemons. But, out of curiosity, I decided to do a bit more…
In the early 2000s, we used to write a lot of CGI programs. This was the primary way to make websites dynamic at the time. These CGI programs were usually written in Perl, but sometimes in C to increase performance. The CGI mechanism is conceptually simple but powerful. When the web server receives an incoming request…
The internet has been speculating the past few days on which crypto company spent $65M on Datadog in 2022. I confirmed it was Coinbase, and here are the details of what happened.
Since its inception, Let’s Encrypt has been sending expiration notification emails to subscribers that have provided an email address to us via the ACME API. This service ended on June 4, 2025. The decision to end the service is the result of the following factors: Over the past 10 years more and more of our…
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.
Preamble# The internet is the bane of my existence. Ads, distractions, sponsored content, bad news, bad ideas, more ads, social media, antisocial media, even more ads. Also, I’m a software developer, so the internet is basically indispensable for me, a central pillar of my income and a convenient way to communicate…
Read how we scaled our observability platform from 19PB to 100PB and 500 trillion rows by replacing OpenTelemetry with a native ClickHouse-to-ClickHouse pipeline, embracing wide events and cutting CPU usage by 90%.
The European CTO’s Dilemma: Keeping Compliance outside AWS
In mid-May 2025, blocked the largest DDoS attack ever recorded: a staggering 7.3 terabits per second (Tbps).
As we approach the 10 year anniversary of the 1.0 release of Kubernetes, let's take stock of the successes and failures of the project in the wild. Also what would be on a wish list for a Kubernetes 2.0 release.
We benchmarked OpenTelemetry overhead in a high-load Go app against eBPF-based instrumentation to see where tracing adds real cost.
Introducing UDA, the knowledge-graph-based architecture that translates conceptual domain models into consistent schemas and data…
Moving electricity around the world has huge financial and environmental benefits. Unfortunately, current power transmission systems are both lossy and expensive to build. This post explores an alternative design for cables to make undersea power transmission substantially cheaper.
TL;DR : GitHub Actions provides a policy mechanism for limiting the kinds of actions and reusable workflows that can be used within a repository, organization, or entire enterprise. Unfortunately, this mechanism is trivial to bypass . GitHub has told me that they don’t consider this a security issue (I disagree), so…
Instrument your CI/CD pipelines with OpenTelemetry. A step-by-step guide to capturing GitHub Actions data via the Collector.
In a really broad sense, the history of observability tools over the past couple of decades have been about a pretty simple concept: how do we make terabytes of heterogeneous telemetry data comprehensible to human beings? We’ve seen different companies tackle this in different ways for technology like Ruby on Rails…
Why I self-host my websites, newsletter, and homelab—and the satisfaction that comes from building and using your own digital tools.
Meet Railpack — the next iteration of the Railway builder, developed from the ground up on lessons from building over 14 million apps with Nixpacks.
Every night, right around midnight (mainly UTC), a horde of zombies wakes up and clamors for … digital certificates! The zombies in question are abandoned or misconfigured Internet servers and ACME clients that have been set to request certificates from Let’s Encrypt. As our certificates last for at most 90 days…
Support for GPUs in Cloud Run makes running GPU-accelerated applications simpler, faster, and more cost-effective, as well as enabling new use cases.
For one of my network storage PC builds, I was looking for an alternative to Flatcar Container Linux and tried out NixOS again (after an almost 10 year break). There are many ways to install NixOS, and in this article I will outline how I like to install NixOS on physical hardware or virtual machines: over the network…
Or using lots of little tools to aggressively reject the bots
In this post, I demonstrate the optimal workflow for creating new Debian packages in 2025, preserving the upstream Git history. The motivation for this is to lower the barrier for sharing improvements to and from upstream, and to improve software provenance and supply-chain security by making it easy to inspect every…
A blog about making culture. Since 1999.