Blog
-
Chatterbox: Federated Chat that Doesn't Suck
Have you used Matrix? Do you like it? Trick question, of course you don’t. It seems like nobody likes Matrix, at least not once they’re familiar with its… quirks. It’s frustratingly overengineered, di…Read more → -
Why not REST?
When writing a README for Chatterbox (my attempt at a new federated chat protocol), I wanted to explain all of my design choices. One that quickly gave me trouble was the API’s format: it uses Protobu…Read more → -
Maybe Everything Is a Coroutine
I was inspired, after reading the excellent blog post Let Futures Be Futures, by the author’s thought experiment of a language in which all functions are coroutines and this is used to express asynchr…Read more → -
Parentheses are Just Typechecking
Consider this Scheme expression, taken from the Rosetta Code example for the Mandelbrot set:
-
An Object-Oriented Language for the '20s
Object-oriented programming is out of fashion now, and it has been for a while. Rarely are new programming languages intentionally object-oriented. And there are good reasons for this: OO often requires a lot of boilerplate, it forces code into unnatural object hierarchies, and it encourages hidden mutable state.
But, if we made a new statically-typed OO language from scratch in 2021, something in the vein of Java or C#, taking everything we’ve learned from functional programming and a decade-plus of scathing OO criticism, could we fix this? Especially if we had no expectation of compatibility with legacy code?
-
Converting CJK Fonts to WOFF is Harder Than You'd Think
tl;dr: Don’t even try online converters. They’ll drop the CJK characters. Just install
woff-tools
and/orwoff2
on your own machine. Most Linux package managers will have them; on Windows, you can use the EXEs in this GitHub repo.A few days ago, I needed to install a web font (Noto Sans JP) for Japanese text on a site I was working on. The site supports IE11, so I would at least need a WOFF file, and a WOFF2 for newer browsers.
The obvious place to look was Google Fonts. It used to provide a ZIP download of any web font in multiple formats (at least TTF, WOFF, and WOFF2). But Google Fonts seems to have removed this feature; ZIP downloads only include OTF files now. If I wanted IE11 support, I’d need to convert these to WOFF.