New Tools of the Trade

A couple of new things grace my desktop —physical and virtual— and I’d like to tell you about them.

As someone who writes code and documentation all day, every day, the two things I interface with the most are my keyboard and the text on my screen. And if you're going to write all day, you may as well make the experience as pleasant as possible, right?

The Keyboard: Logitech MX Mechanical Mini (Tactile)

I’d wager that the most obvious human-computer interface for a developer or writer is the keyboard. Growing up in the era of MS-DOS, I prefer to use my mouse or trackpad as little as possible, and with keyboards, feel is everything.

I’ve been wanting to get a mechanical keyboard —the ones that go clickety-clackety when you type— for a while now. My first computer was a Radio Shack TRS-80 Model IV, and it had exactly that kind of satisfying thunk as the key bottomed out while you typed. That said, I live in a society, so I don’t want something that’s obnoxiously loud.

I also wanted to downsize from a full-size keyboard with the number pad on right. I find that my brain needs my keyboard to be physically centred with my monitor, and that means that with these keyboards, I tend to work shifted over to the left. It gets a bit tiring on the neck at the end of the workday, so I started looking for a so-called “tenkeyless” (TKL) format.

So, I picked up a Logitech MX Mechanical Mini keyboard a couple of days ago. The Rtings review calls out a “lack of macros” as being a problem but frankly, I don't think I've ever used a macro on a keyboard. Maybe I'm missing out, but to me it's not a deal-breaker.

I opted for the “tactile quiet” version, which uses Khail brown switches. They feel great, and they're not obnoxiously loud. Just enough clickety-clack.

One downside: because I opted for the Windows/Mac version (rather than the pure-Mac version), I have a couple of keys that play double role: option on the Mac is the Start key on Windows. Command on the Mac is Alt on Windows. That's fine. The only thing I've had to work around is the lack of a Mission Control key; as someone who drops into Mission Control fairly often, I've remapped the “dictation” key to this function instead.

Anyhow, the keyboard is great. I've been using it all week and there's no fatigue, it's responsive, and the build quality is typical Logitech. Looking forward to writing again is kinda awesome.

The Typeface: Berkeley Mono

From the description on the Berkeley Graphics page:

Berkeley Mono is a love letter to the golden era of computing. The era that gave rise to a generation of people who celebrated automation and reveled in the joy of computing, when transistors replaced cogs, and machine-readable typefaces were developed, for when humans and machines truly interfaced on an unprecedented scale.

I mean, yeah. It really is a love letter.

Berkeley Mono is thoroughly tested and has written production code during its entire development cycle. Engineered for reading and writing code, Berkeley Mono has excellent legibility, distinct but not distracting glyphs and a comfortable line-height. It is fitted with care to make sure it can perform as well as proportional typefaces whilst being 100% monospaced.

I've been using it in anger for a few days now across several code and text editors and it really is easy to read. On purchasing a license, you can customize a couple of glyph options before downloading; I went with the “dotted” zero and the crossed seven, and they bring the tiniest smile to my face when I see them. That asterisk is perfect. The font does include a beta option for some ligatures, which I used to use extensively with Fira Code (my free-and-open-source pick for a fixed-width font); I don't really feel I need them with Berkeley Mono, though.

On the topic of licenses: I bought a personal developer license, which, as I read it, lets me use it on any machine I use, as well as for non-commercial uses. I'm planning on redoing my developer website (well, all of my websites, really) and I think I've found my typeface of choice.

Discuss...