cold code

I was part of a very nice software engineering reading group at Spotify, just before I left. In addition to being around for the coining of Lamere’s Law (“Your future self has no more time that you do”), I had a small epiphany about Code As A Medium.

McLuhan, that great charlatan*, talks about media as being hot (print) or cold (speech) To quote from Oxford Reference, “Hot media are ‘high definition’ because they are rich in sensory data. Cool media are ‘low definition’ because they provide less sensory data and consequently demand more participation or ‘completion’ by the audience“.

I think if you had asked me in the past, I would have said that computer code – or anything much to do with computers – would be hot. Computers, after all, are deterministic, just do exactly what you tell them, and so forth, right?

Modern software engineering

I think that now, as computer code becomes more and more high level / abstracted / distributed, it becomes a colder and colder medium. This is especially true for things like machine learning or networking, but I think it is still true if the code is 100% offline and deterministic.

So this means that computer code is much more like speech than it is like print. And some nice things fall out of this, in a very McLuhan-ish (which is to say, charlatan-ish) sort of way.

  • “Code is poetry” always sounded nice, and now makes sense – though much like “global village”, perhaps not in a good way.
  • Rubber-ducking – talking through your problems – suddenly makes perfect sense.
  • Comments and documentation try to “heat” code up – but then the code changes, aiii!
  • Naming really is a hard problem – you are talking to someone in the future, why would they ever understand you?
  • Refactoring and reorganizing code makes sense as a way for you to understand code better – otherwise, you’re reading someone else mumbling at you from the past.

This also leads to some more practical concerns and explains some of the things that I dislike about parts of the industry.

  • If your code breaks, it is probably your fault and not some lower-level abstraction. But the intuition to say “this feels like a problem with a lower level abstraction”, which is to say a colder part of code, is very powerful (see the 500 Mile Email yarn for a fun example).
  • The ability to easily step over the threshold into a lower level abstraction is also very, very useful (I am not good at this and wish I was better).
  • Likewise, the ability to build bad abstractions is a reverse superpower; you can really ruin people’s days, for a long time, by forcing them to traverse down and up the pyramid of abstractions on the regular.
  • Most interviewing questions are in fact hot questions (provide a correct answer to a totally self-contained problem), hence why I feel
    that they do not represent the actual, mostly cold, work of being a software engineer.

The most fun parts of this are, of course, the hand-wavy statements about poetry. I do think that the overall insight of not only “here be dragons”, but also “here also be dragons that you don’t even know exist” is an important one – even if it can be said without the handwavy media theory stuff.

*I should say that I call McLuhan a charlatan with love, but the man sure could handwave, my word.

points west, points left

Still New York

and we’re back

If you were wondering if New York was back, there was a line for Nowadays thirty minutes before the doors opened at 10:00, in the pouring rain — and people lost their minds to ultra-deep drum & bass from like 1100. (This is also the Ben UFO effect, but still. Folks are *up for it*.)

New York, Again

tend to your garden

I played a lot of Hades over the winter. Like, “200 hours, 49/49, 32 heat clear with Merciful End” a lot. This got me thinking about choices and about games and about repetition … so of course I decided to compress all of my DJ sets for the year into one, and make a “roguelike DJ set”: The Garden of Forking Paths.

It won’t win game of the year, nor is it filled with as much glorious detail as Hades, but there’s some nice music, some clever references, and maybe one or two hidden s e c r e t s!

cartoons & classics

Want to save this amazing twitter thread of classical music in cartoons for a few reasons:

One, it shows how much music we miss in music school (Juventino Rosas!?!! I would have assigned that tune to Strauss or Mozart in a second) that was popular and in use at the time;

Two, how musical affect is generated: Grieg being used for tension goes back generations, but each generation gets its own coding of these pieces to images (e.g. Wagner and “Kill the wabbbbit!”, which means that I don’t take that bit of Wagner particularly seriously).

solar protocol

http://solarprotocol.net/index.html is very nice: websites co-hosted around the world, with servers that might go down if there is not enough light.

I have been thinking about self-hosted peer-to-peer websites along these lines. When my computer is on, traffic hits my computer. When my machine is off, lighter versions of my website are cached on nearby computers. This obvious does not scale, but maybe that is the point?

lavender laroux jules verne

She’s a floof, a tiny floof, folks.

amulet

I am very skeptical / confused / old-man-ish about NFTs, blockchains, and so forth, but Amulet is very, very nice: poems that have repeating numeral 8s in their hash.