Designing a composable rate limiter

Having used rate limiters a few times, I’ve observed that they must be thoughtfully designed. In particular, they are typically comprised of several policies which we wish to stack on one another. It can get messy. ..

The surprises of CDC on production workloads

Motivated by this Twitter post by Craig Kerstiens CDC (change data capture) tends to surprise in terms of expense on the production database. Each write becomes two writes — once to the system of record, and once to the changefeed. ..

So, you’re splitting strings on the hot path

Can we make it less expensive? Probably yes. We’ll talk about Go and C# in this post. ..

90% of physics in 900 words

I had a physics professor who said the most important skill in science was to be able to characterize a system quickly. Be approximately right instead of precisely wrong. This has stuck with me. ..

C# (almost) has implicit interfaces

Background: I move between Go and C# a lot, and like to compare them ..

Tips for moving between Go and C#

Recently, I’ve implemented a Unicode tokenizer in in Go and in C#, and my career has been ~equally divided between those languages. Here are some tips moving between them. ..

Go-style “alongside” testing in C# and .Net Core

I move between Go and C#, and one idiom I like in Go is tests living alongside the things they are testing, right in the same project. In addition to style preference, it (IMHO) more easily allows testing internal functions. In the .Net world, having a separate test project is traditional. ..

Apple as MVNO for LLMs

It’s expected that Apple will be improving Siri in the upcoming iOS 18, exploiting the progress that Large Language Models (LLMs) have made over the past year or so. How might they do it? ..

Generics as builtin typeclasses

In the spirit of Go’s ‘good enough’ type system, here’s a thought experiment for ‘good enough’ generics…

Saying true things is hard

I think the replication & open science movement is great. I come from an epistemological, first-principles sort of mindset, and so I find this very encouraging: ..