This website uses a few different fonts:

One is Filosofia, designed in 1996 by Zuzana Licko and published by Emigre. I’m a huge fan of Licko’s designs; they feel to me like avatars of an age. I also love the fact that Emigre funded its iconic magazine with the sale of digital fonts: one of the all-time great cross-subsidies.

Another is Trade Gothic Next, a 2008 revision by Akira Kobayashi and Tom Grace of Jackson Burke’s 1947 design. I love fonts of this style, called “grotesque”. It was years ago that I learned the Star Wars opening crawl is set in, of all things, News Gothic; that’s what cracked them open for me.

Headlines are set in BC Vajgar, a new digitization by Briefcase Type of the font Vajgar by Oldřich Menhart.

For headlines, I’m currently audi­tioning Stephen Nixon’s wild AT Kyrios: “a curious, slightly psyche­delic black­letter family”!

Fiction is, when appropriate, presented in my Perfect Edition template, which uses Vollkorn, the “free and healthy typeface for bread and butter use” designed by Friedrich Althausen and provided as a profound public good.


This website is managed using Middleman, a static site generator that’s simple and flexible and, most importantly, written in Ruby, which is the program­ming language I know best. My instal­la­tion of Middleman is hot-rodded with all sorts of conve­niences and customizations, including many typo­graph­ical tune-ups.

A few scraps of support code run as Google Cloud Functions, all of them written in Ruby and Google’s Functions Framework, a real pleasure to use.

I send emails using Mailchimp, which I operate through its API, chore­o­graphing messages with a Ruby script that I run on my laptop.

You might have picked up on the fact that I like Ruby; in fact, it is the great love of my program­ming life. Its creator, Yukihiro Matsumoto, once expressed Ruby’s philos­ophy like this:

For me, the purpose of life is, at least partly, to have joy. Program­mers often feel joy when they can concen­trate on the creative side of program­ming, so Ruby is designed to make programmers happy.

Style guide

I’m noting a few sitewide pref­er­ences here, mostly for myself:

Assumed audiences

Here and there, I use the term “assumed audience”, cribbed from Chris Krycho. For example, look at these two posts of his — one, two—with little placards up top making it clear they are aimed at different groups of readers. Those groups might overlap! They might also: not.

I liked Chris’s placards as soon as I saw them; I appreciate the way they push back against the “context collapse” of the internet, in which every public post is, by default, addressed to everyone.

Many websites provide this bulwark themselves; an article posted on Work Truck is auto­mat­i­cally pretty well situated. But that’s not the case for material on a personal site with many cross-cutting interests, and readers who arrived for many different reasons. I can only report that I’ve often felt a tension between

I think both impulses are good, actually, but they’re not always totally compatible. The tension is ongoing; it’s close to the core of what writing is. Maybe being explicit about my assumed audience for certain newslet­ters will be helpful; maybe it will just be extra cruft. We’ll see!

Finally, I hope it goes without saying: just because you’re not part of a newsletter’s assumed audience doesn’t mean you shouldn’t give it a look 😇

May 2024, Oakland