Tom MacWright

tom@macwright.com

Recently

I spent some time doing positive nostalgia. I listened to Marc Maron interviewing Obama in 2015 and, damn it, I’m not cooler than that. I can say snarky things about drone strikes, but I am no Obama, you aren’t either, and we probably won’t ever be Obama.

I went to archive.org and are.na and catalogued the websites I remember from my teenage years, at the point I remember them. Rebekah Cox keeps all the versions of her website around, so I can just link to that. There’s a capture of the predecessor to this website in 2006, albeit without its CSS. I used a lot of CSS..

Sounds

This song is Paul. A year after this video, in 2015, the band was formed, then another year later, the first album released.

One way to do things

There should be one– and preferably only one –obvious way to do it.

This part of the Zen of Python has made its rounds. A friend told me that he had heard it about Go, too. It’s on a list of zen values, so I’m primed to like it, but I really have two questions:

  1. Is it ever true?
  2. Is it even a good thing?

First, I don’t think it’s true. I mean, sure - Python has a pretty minimal syntax. But for basic operations like “sum of a list of numbers”, I can think of three solutions off the top of my head (sum builtin, reduce, and iterative). Then when you get higher-level, there’s Python’s async ecosystem, which has basically a different version of everything, and of course, the Python 2/3 split.

Anyway it’s just not really up to the language designers to even say something like that: as David Nolen put it, how people do things is more about the ecosystem of tools than the base language, and those ecosystems often sprout many different ways of doing the same thing. There are a few languages with tiny ecosystems that can claim “one way” just from a place of austerity, but I don’t think that counts.

Rust

This year I wrote a lot of Rust and then decided to switch to a very old-fashioned setup. In lieu of an explanation there, just read Why not Rust? from a Rust pro: it covers the important bases.

In the particular case of building a web application in Rust, I’d double-highlight:

  • Compile times really matter. They matter for how long it takes to run CI tests, how long it takes to reload, how long it takes to build the server image. Rust, especially with some of its crates like serde that use generics, is not fast to compile. Traditional web scripting languages, on the other hand, have really, really fast startup times.
  • Rust can be expressive, but, boy howdy, it has a lot of cringe moments: long and complex blocks of code that aren’t about you and your ideas but about Rust and what it wants.

That said, Rust is great, and has a bright future! If your web app is mostly algorithms and needs incredible speed and performance and you have the time and people, maybe consider it? If the answer to any of those other bits is no… proceed with caution?

Reading

Now, is that too late? Maybe yes, maybe no, likely yes. Have they apologized and taken accountability for it? Yes.

I read Soleio Cuervo’s defense of Facebook. He is, from everything I’ve heard, an incredibly talented individual. This interview is, in every way, disappointing.

I started telling you this because all of this intrigue was going around while I was shooting Looney Tunes: Back in Action, which is about a stuntman…who was Brendan Fraser’s stuntman. And then the stuntman meets Brendan Fraser at the end. He meets Brendan Fraser and punches him out.

I’ve been reading some silly celebrity interviews lately, because they aren’t about current events. This one, about Brendan Fraser, and another, from Chris Rock.

Stuff

I am wedded to iA Writer to write English and neovim to write code, but Nova from Panic, will probably be part of my toolkit. I grew up admiring Panic’s work and am thankful that there are people who still sweat the details and make great macOS apps.

There continues to be a ton of buzz around spreadsheet-esque productivity and notetaking apps, like Notion, Airtable, etc. And they’re pretty neat! But not really for me: I use Notion for work, but really prefer more restricted and structured formats for my own stuff (The Archive for notes, DevonThink for docs). But for that rather important spreadsheet-as-database idea, I really think Datasette is amazing. It’s been around for a while, but the more I think about it, the more I see projects trying to build on Google Docs or Airtable or Coda or whatever, datasette seems even better. Sort of restrictive, but efficient. A smart combination of thoroughly-vetted good technology. Simple to deploy. It’s good.

Output

I’ve got two posts half-written, one about the alternatives to single-page-apps, sort of a follow-up to the post about the issues with single-page-apps, and another about the way I usually put icons on webpages. The mood will eventually strike and I’ll finish them and put them online. Because of gestures at everything, production is slower than usual. Getting through the days comes first.