David Harks bio photo

David Harks

There are few things in life more satisfying than solving a great problem.

Email Twitter LinkedIn Github Stackoverflow

I’m typing this on a Das Keyboard connected to a new 6-core Intel Core i7-based computer that I built in the last few weeks. But I’m typing it into a PuTTY window that’s connected via SSH to a PowerPC-based Mac Mini from 2005 – 10 years old.

Why? Well, mainly because I edit this thing using Vim and that old Mac Mini runs Vim just great, thankyouverymuch. But also because I dual-boot, and it’s nice to have a little Linux machine that’s accessible from whichever side of the OS world I happen to be hanging out in on that day.

Speaking of Vim, it’s far older than the Mini – 23 years as of this writing. And Vim is a clone of some software that’s closer to 40, Bill Joy’s vi – which is, in turn, just an alias for ex, a program designed to edit files using teletypes. This paradigm, of editing data stored as ASCII (or some other encoding like UTF-8, pedants) in files, has been a key assumption about computing for ages – the Unix philosophy was “everything’s a file”, and Plan 9 took that to the absolute extreme.

Since then, we’ve developed graphics hardware that manipulates vectors so fast that we’ve ended up repurposing them as high-end computational engines. We use HTTP constantly, flipping on encryption while barely even noticing the extra computational costs. Yet we still preserve this notion of paper, files, desktops – lines of text, representing data in its most basic form.

Perhaps that’s the key – representation. In our human world, the communication of meaning is still the domain of language, and even though a picture is worth 1000 words, it still takes a handful more to put the picture in context and really give it power. It’s the human absorption of meaning from that data in a file that gives this technology its value.

Woven in to the ASCII is a taste of my personal human experience – and the sharing of that experience is the timeless human pastime, transcending technology.

So this terminal session? It’s all I really need.