I hate computers, but I love what you can do with them.

My friends think I’m a geek and have stopped reading this blog because of its boring techy content. My family don’t understand how I earn my money.

But I’m not a geek. I didn’t see Tron or the Lord of The Rings. I never play computer games. I’m scared of Git and Subversion. I can’t compile a kernel. In fact, I hate computers—I just love what you can do with them.

When I first started professionally in computers in 1988, I was writing COBOL, FORTRAN, 6502 assembler. There were no GUI tools; everything was command line. That was then. Now, I see no reason why I should need to learn some weird syntax to achieve a simple task. (Exhibit A: I was amused yesterday to read the webP converter instructions for converting imageA.png to imageA.webP. Unless you specify the string “-o”, the converter doesn’t convert: “If omitted, cwebp will perform compression but only report statistics.” What’s the bloody point of an extra switch to make it fulfil its sole function?)

I think of non-GUI programs in the same way as I do about going camping. Some people love sleeping in a tent and getting up in the night to walk in the rain to poo in a hole they’ve dug behind a tree. Not me. I spend a considerable portion of my income on a house with a central heating system and three flushing toilets, so there’s no bloody way I’m going camping. You may think it a badge of honour that you can do “sudo dpkg -i –force-all cupswrapperHL2270DW-2.0.4-2a.i386.deb” from memory. I think you’re burying your turds with a trowel in a thunderstorm.

Operating systems are the same. Despite the fervent wishes and protestations of adherents of operating system X (or Y), each demand that you learn a special way of working to accommodate its own idiosyncrasies. Where the operating systems (or browsers, or Word Processors) agree on a method, it’s not because it’s natural, it’s just a thoroughly-entrenched convention. The Firefox UX blogpost Joe’s First Computer Encounter shows that there are very few “natural” interactions with computers.

So by now you’re wondering why I do this job. “Why, Grandad”, you are shouting in my ear trumpet, “Why do you accept a salary from the geekiest browser out there when you’re clearly 200 years past your sell-by date?”

Because, I reply while drooling onto my cardigan, I love what you can do with a computer. I can use VoIP to call someone anywhere in the world for buttons. I can discuss Shakespeare, furry culture or even HTML5 with someone I’ve never met (and will probably never meet), for free. I can do research, download books, read the thoughts of someone in Iran, or Iraq or Peru or Burma. I can listen to music that would never be commercially released, and I can see photos of anywhere I could ever fancy going, read reviews of hotels and book holidays in an environment which is as close to the micro-economic theory of Perfect Competition as we’ll ever see. Because, at the moment, a computer is my best way to access the Web, which connects me to a third of humanity and, when made properly (accessible HTML isn’t that hard, really), is the most democratic, inclusive mode of communication we’ve ever had.

I hate computers. But I love what you can do with them.

29 Responses to “ I hate computers, but I love what you can do with them. ”

Comment by David

I love what you could do with computers, but I hate what is done with them.

or

I make love with my computer, and it drives me crazy when you fuck it.

I guess I’m a… technophile.

Comment by Artsi

I hate what you can do nowadays with computers, but I love what computers are.

Computers have come video and music players, socializing devices – everything which does not have true content – like reality tv and soap operas.

However, I love how you can design algorithms, implement them and see how computer does something great. At the best, you can see how data and information is behind everything. Almost like using personal Hubble but seeing even more deeply to secrets of universe.

Comment by dave

All very true, I feel very much the same way and would have gotten out of computers entirely if not for the web and open source and their ability to change the world for the better.

I’m just learning git right now and am reminded of a theory that states that golf (and computer programming) is similar to playing fruit machines. It’s needlessly complicated and the result is somewhat divorced from actual skill but the variable ratio reinforcement given every time you do get it right tickles the brain in just the right way to keep you plugging away at it for the occasional rush of success.

Regarding cwebp, I believe you mention the reason in your paragraph about operating systems, it’s just aping cjpeg (down to the name) to make it easier for people (or programs/scripts) used to that convention to pick it up.

This of course begs the question of why cjpeg does this, I’m betting it made more sense in those days and if not it was following an even earlier convention.

Comment by Sanjoy Das

You also have to acknowledge the easy-to-use vs. more-productive-in-the-long-run dichotomy. Things like the git command line and Emacs may seem counter-intuitive and *hard* at first; but the more time you spend using them, the better you get.

Contrast this with a simple text editor – yes, you’ll take three minutes to do in Emacs what you can do in fifteen seconds on the text editor; but very soon you’ll be able to do it in two seconds in Emacs, but will still take fifteen seconds on the text editor.

Comment by Andres

Bruce,

What would it take for computers to be like houses with flushing toilets? Or will computers, by their very nature, always require do-it-yourself outdoor “plumbing”? Wouldn’t you say they at least have porta-potties now, unlike 20 years ago?

I’m a geek myself, but there are certain geeky things I don’t care for and try to avoid. Such as having to compile programs just to be able to use them (come on, just give me the Windows binary!)

I doubt whether I’d be a computer geek had I grown up in the punch card age. I started using computers around 1986, and I think PCs became “cool enough” around 1999. (“Cool enough” means that they have nice, true-color displays, fast-and-responsive GUIs, large hard drives, fast networking and a nice network to connect to, as well as other niceties. Nice enough that further improvements tend to be incremental, rather than revolutionary.)

Comment by anonymouse

Wow. It’s the other way around for me: I love computers, every command is like a magic spell, like some elaborate cultural code. But I hate what people do with them.

Too seldom are the cases were computers are used to enable people and to free them, too often the machines are used to rationalize, aggregate, categorize and control peoples life.

Comment by Prekeel

I got into Puters before the net came along because I couldn’t draw on my own, but with a computer all of a sudden I could :)

Now I program them for money. The unalloyed pleasure of building things in code is… not what professional programming is about, so I have to agree with you on the computers.

As a keen camper I have to disagree with about burying your turds with a trowel in a thunderstorm. Try it – it’s a lot of fun.

Comment by daminetreg

“You may think it a badge of honour that you can do “$ git rm –cached readme.txt” from memory. I think you’re burying your turds with a trowel in a thunderstorm.”

It’s nothing about honour, it’s just about being faster at working, and command line is really the fastest way to achieve your thoughts, because the feature is just behind your fingertips, you don’t need to check where you have to click to get something working.

Thinking that knowing command-line is only meant to show-off is false, peoples really using command line are just doing it because it goes faster or because it’s not achievable in another way.

Comment by JimW

People go camping to get back to nature; to re-live in a microcasm the days of yesteryear when everyone lived in hovels and buried their turds in a hole in a thunderstorm. There were no choices.

Although it is difficult for us to perceive, nay incredible really, there are still people who go through every day without ever using a personal computer. They have computers in their frige, washing machine and even their coffee maker, but they are passive.

Bottom line: there is no single culture, my friends- and wouldn’t the world be a sadder place if there were?

I love computers because those who can “talk to the box” can make an otherwise very fast dog perform commands that border on the miraculous. Programmers can change the world- and do, daily.

But, I hate when the computer goes wonky and the whole world turns upside down. After a hack, or crash or filesystem corruption… I’d rather go camping.

Comment by gary knott

Dear Bruce, I agree much software is poorly designed
wrt its human interface. (1) The user needs a
model of what is happening, and the closer to the truth,
the better. not fantastical ideas that have no
connection with reality.

(2) The user and programmer need documentation – otherwise we spend our time guessing – arrg!

[See http://www.civilized.com/programming.html

Comment by Cristiano

Bloody brilliant (the cardigan part made me actually laugh out loud).
Still, I think CLI has some advantages over GUI. Abstraction hides things that might be vital, and as a developer I like to be able to fix things under the hood, when needed.

But you’re absolutely right about the “wearing a badge of honor” thing.

Comment by Bruce

Ok, everybody: Git’s lovely. It was just a random example – forget the ““$ git rm –cached readme.txt” from memory” line, and read

“You may think it a badge of honour that you remember the superfluous but vital -o switch in the webP converter command. I think you’re burying your turds with a trowel in a thunderstorm”

Comment by Trevor Lane

Brilliant, keep them coming. I laughed out loud through most of the article. And I agree. And I disagree. And I go camping. And no its not because I want to get back to my roots, it’s because I cannot afford a hotel. Life aint so simple after all.

Comment by Rob

I wish computers would interface better with humans. Apart from touch screens very little has changed in the last 15 years. If anything Windows is less intuitive try finding out how to format a drive on Windows 7 without using google. What ever happened to voice recognition for use in cars etc is it just in the too hard basket. I’m very disillusioned with the pace of progress.

Comment by elder curmudgeon

Been saying the same thing since the punch card days! The fun part is designing the code, letting the machine fold, spindle & mutilate the data and create a pretty picture of it.

Comment by Steph

I’m one of your friends who stopped reading your blog because of the techy content. But I still drop by from time to time. And you still make me laff out loud xxx

Comment by Ann

Bruce,
A co-worker sent me this link because almost daily I look at him and say “I hate computers.” And I totally relate on the camping thing. Geez, are single? 8-) I remember my parents complaining years ago that every time something came out that was “new and improved” it was worse than before… Things haven’t changed all that much! Ah the good ole days of Cobol!

Comment by Niko Salminen

I prefer GUI over CLI most of the time, but there are some cases when a GUI just won’t do. Anything that has something to do with handling/manipulating a large number of files means potentially hours of work on a GUI, while a simple CLI command or script could achieve the same in minutes. Some cleverly crafted commands can be close to art (or madness, depending on your perspective).

Comment by rotational» Blog Archive » Talking computer

[...] Long-time programmer Bruce Lawson on why he hates computers, but loves what you can do on them. I think of non-GUI programs in the same way as I do about going camping. Some people love sleeping in a tent and getting up in the night to walk in the rain to poo in a hole they’ve dug behind a tree. Not me. I spend a considerable portion of my income on a house with a central heating system and three flushing toilets, so there’s no bloody way I’m going camping. You may think it a badge of honour that you can do “sudo dpkg -i –force-all cupswrapperHL2270DW-2.0.4-2a.i386.deb” from memory. I think you’re burying your turds with a trowel in a thunderstorm. [...]