---
title: Blog
url: 'https://kaleb.au/blog'
markdown: 'https://kaleb.au/blog.md'
date: '2026-10-15'
---

# Blog

   15 Oct 2026  

### [Replacing `Queue` With a `RingBuffer`, and Bumping Cosmos to .NET 10](https://kaleb.au/blog/cosmos-ringbuffer-and-dotnet-10)

There's a fork of [Cosmos](https://github.com/CosmosOS/Cosmos) on my box that I push to a handful of times a month, and two of those pushes from the last month are worth writing down: a `RingBuffer` that replaced `Queue` in the keyboard driver and then got promoted into the stable HAL contract, and a runtime bump to .NET 10.0.12.

Bo...

   15 Oct 2026  

### [A Bug Tracker You Have to Build Yourself](https://kaleb.au/blog/a-bug-tracker-you-have-to-build-yourself)

I've published a lot of code over the years, and I have never once learned much from cloning it.

That's the honest reason behind [zarlo/bug-tracker-plan](https://git.punksky.com/zarlo/bug-tracker-plan/): I wanted to teach web application fundamentals, and shipping a finished bug tracker would have been the worst possible way to do it. So the rep...

   13 Oct 2026  

### [The Under-16 Ban Didn't Ban Anything. It Just Made Everyone Prove They're Not a Child](https://kaleb.au/blog/the-under-16-ban-and-what-it-actually-requires)

Australia's under-16 social media ban came into effect on 10 December 2025. Ten months later I think it failed on its own terms, and that the privacy cost of trying has been considerably higher than advertised.

## First, the numbers

[eSafety's headline figure](https://www.esafety.gov.au/newsroom/media-releases/platforms-restrict-access-to-47-million-under-16-accounts-across-australia) is that platforms restricted access to...

   7 Oct 2026  

### [Building Things, Understanding Systems, and Staying in Control](https://kaleb.au/blog/build-things-understanding-systems)

I've spent a lot of time building software, experimenting with infrastructure, and working on projects that sit somewhere between application development and systems engineering. Looking across the things I've worked on, there's a fairly consistent theme: I like understanding how things work, findin...

   7 Oct 2026  

### [The Guest Never Gets a Port](https://kaleb.au/blog/the-guest-never-gets-a-port)

The hard part of building an edge gateway to run other people's code isn't the sandboxing. Wasmer will give you a WASI sandbox in about four lines, and you can hand it a directory and go to lunch.

The hard part is that once you're actually hosting untrusted workloads, you owe someone an invoice, a...

   28 Sep 2026  

### [PowerDNS-Admin and the Record Nobody Can Edit](https://kaleb.au/blog/powerdns-admin-and-the-record-nobody-can-edit)

PowerDNS-Admin is a good piece of work. It does forward and reverse zone management, user management with role-based access, SAML, LDAP and OAuth, two-factor auth, an API, and full IDN support, and it does all of it without ever asking you what you actually intend to use it for.

I run hosted DNS o...

   13 Sep 2026  

### [The High Court Is Deciding Whether Australia Needs a Power It Already Rejected at a Referendum](https://kaleb.au/blog/white-australia-and-the-1951-question)

I want to be clear about where I'm standing before I make any argument, because it would be easy to read what follows as though I'm defending what this organisation says.

I'm not. I don't like what they're saying. I'm not going to pretend my disagreement with it is a technical one that's rather t...

   15 Aug 2026  

### [My Utility Belt: One Library in Go, One in .NET](https://kaleb.au/blog/utilitybelt-go-and-dotnet)

Every product I build needs the same layer underneath it: a cache abstraction, some DTO shapes, base models with soft delete, an HTTP layer that emits OpenAPI, auth plumbing, and a handful of small things I always end up rewriting badly.

That's [punksky/utilitybelt](https://git.punksky.com/punksky/utilitybelt/) in Go and [punksky/utilitybelt-](https://git.punksky.com/punksky/utilitybelt-net/)...

   15 Jul 2026  

### [Three Forges, One Man](https://kaleb.au/blog/three-forges-one-man)

There are three places my code lives: [github.com/zarlo](https://github.com/zarlo), [gitlab.com/zarlo](https://gitlab.com/zarlo), and [git.punksky.com](https://git.punksky.com/zarlo/) running on hardware I control.

Two of them are dead weight and one is doing all the work, which took me a while to accept.

## GitHub has 95 repositories and none of them are new

The numbers first,...

---

## Navigation

- Previous: [Home](https://kaleb.au/index.md)
- Next: [Freelance](https://kaleb.au/freelance.md)
- Children:
  - [A Bug Tracker You Have to Build Yourself](https://kaleb.au/blog/a-bug-tracker-you-have-to-build-yourself.md)
  - [A FOSS Manifesto](https://kaleb.au/blog/a-foss-manifesto.md)
  - [A Quiet Admiration for the French Spirit](https://kaleb.au/blog/a-quiet-admiration-for-the-french-spirit.md)
  - [Building Things, Understanding Systems, and Staying in Control](https://kaleb.au/blog/build-things-understanding-systems.md)
  - [Building Bare-Metal .NET: Exploring NativeAOT Patching](https://kaleb.au/blog/building-bare-metal-net-exploring-nativeaot-patching.md)
  - [Bunny CDN Review](https://kaleb.au/blog/bunny-cdn-review.md)
  - [Replacing `Queue` With a `RingBuffer`, and Bumping Cosmos to .NET 10](https://kaleb.au/blog/cosmos-ringbuffer-and-dotnet-10.md)
  - [PowerDNS-Admin and the Record Nobody Can Edit](https://kaleb.au/blog/powerdns-admin-and-the-record-nobody-can-edit.md)
  - [The Guest Never Gets a Port](https://kaleb.au/blog/the-guest-never-gets-a-port.md)
  - [The Under-16 Ban Didn't Ban Anything. It Just Made Everyone Prove They're Not a Child](https://kaleb.au/blog/the-under-16-ban-and-what-it-actually-requires.md)
  - [Three Forges, One Man](https://kaleb.au/blog/three-forges-one-man.md)
  - [Unlock Your F@st 4353 Modem](https://kaleb.au/blog/unlock-your-f-st-4353-modem.md)
  - [Using MXroute as a Relay](https://kaleb.au/blog/using-mxroute-as-a-relay.md)
  - [My Utility Belt: One Library in Go, One in .NET](https://kaleb.au/blog/utilitybelt-go-and-dotnet.md)
  - [The High Court Is Deciding Whether Australia Needs a Power It Already Rejected at a Referendum](https://kaleb.au/blog/white-australia-and-the-1951-question.md)
