Colophon

Typographical

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 it open for me.

Headlines are set in Eskapade Fraktur, designed in 2012 by Alisa Nowak. I think this font is a perfect modern blackletter, partic­i­pating in the style’s slow but steady redemption.

Update: I’m currently setting headlines in BC Vajgar, a new digi­ti­za­tion by Briefcase Type of the font Vajgar by Oldřich Menhart. I have been totally locked into Eskapade for years, and not for lack of trying alternatives; it’s just that every other typeface has looked WRONG, somehow. This one caught my eye, so I thought I’d give it a real audition.

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.

Technical

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.

This site doesn’t collect any infor­ma­tion about you or your reading. I do track the open rates of the emails I send through Mailchimp. I’m ambiva­lent about even this level of instrumentation, but/and, for me, it’s balanced against the publisher’s imper­a­tive not to spam the world with material, physical or digital, that is unwanted and unread.

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 😇

June 2023, Oakland