ten rules for computing happiness

I came across Alex Payne’s [*Rules For Computing Happiness*](http://al3x.net/2008/09/08/al3xs-rules-for-computing-happiness.html) today, and I think they should be shared, so I’m going to tell you about them here.


You might be wondering who this al3x is that his rules have any value, well he’s a lead developer at [twitter](http://twitter.com), this years favourite fashionable software application. In addition to that he’s been around computing for quite a while, check-out the rest of his site for more details.

al3x’s rules can be found on the link above. I’ve condensed them below to a list of the ones I hold dear, and my reasons for holding to these rules. These work for me, and are likely to work for many people, if you’re just an average Joe User with a home computer that gives you grief more often than it should then perhaps you should consider some of these rules for yourself.

1 Use software that does one thing well.
2 Do not use software that does many things poorly.
3 Use a plain-text editor, and not a word-processor.
4 Use a password manager.
5 Pay for software that is worth paying for, but only after evaluating it for at least two weeks.
6 Do not buy a desktop computer unless you regularly do processor intensive work (video editing, audio editing, 3D rendering).
7 Use a Mac.
8 Use a Linux or BSD server.
9 The only peripheral you need is an external hard-disk for storage.
10 Store all data in an open format.

###Software that does one thing well
This is very important. Most of our time in any program is spent doing pretty much the same sort of thing. In a text editor you’re editing text, doing so must be as easy as possible. A good find and replace feature is essential, it’s even better if it can handle regex ([regular expressions](http://en.wikipedia.org/wiki/Regular_expression)). Similarly, an email program should be simple to use and not get in the way of sending and reading mail. It should have a great search feature to find that one message amongst the many, and also good filing options, and filtering to organise your mail logically.

###Software that does many things poorly
It’s not so easy for me to expound on this, because over my twenty-plus years as a computer user I find I quickly ditch this kind of software. The old Netscape Navigator program was a bit like this, it was a web-browser, email client, html editor, news-reader and probably a few other things too. A program just cannot be all things to all (wo)men because we each want to use programs in our own way. It may have worked for some people, but most chose separate applications for each task.

###Use a plain-text editor
So many people forget that it is the words that are important, what they look like or how they are presented is of secondary importance. The words *are* the message.

A plain-text editor does not distract you with choices of font, the size of the font or even the colour. There is no choice of paragraph alignment or indentation. What a plain-text editor gives you is a blank canvas on which you can put down your thoughts, whether they be a letter, an essay, your novel, or the code from a computer program. There are no distractions, nothing to inhibit the flow of your thoughts into the computer. And once you have input your thoughts then editing and refining is a clean and simple process too. Once that is done, **then** you might want to fire up Word (better still use [LaTeX](http://www.latex-project.org/)) to layout and format the document.

###Use a password manager
Passwords, oh don’t you just love ’em. I bet you’ve got one that you use everywhere, most people have, and that’s what I had. But it’s not good, in fact it’s **really** bad. If someone overseas what you type, or sniffs your password from an internet transaction they can access **everything** your email, your computer, possibly your bank account, anywhere you’ve used that password on-line – facebook, amazon, play, ebay, twitter, gmail, yahoo, your entire on-line life.

You **know** that you should have a different password for each login, but you don’t because it’s **too hard** to remember them all. **That’s** where a password manager comes in. You remember one password, it remembers all the others. On Apple OS X, for example, Keychain operates seamlessly with any well-written application and automatically fills in login details (user name and password) for web-sites, FTP programs, network logins, anything. You have a different password for each login, which is more secure (if one is compromised, it’s only one, not all), and you only have to remember the one password that gives you access to Keychain. Simple. Just make sure that the Keychain password is a secure one.

###Pay for software that is worth paying for
This is a simple one. If the software is good, and you want to keep using it in the future, through different versions of your favourite operating system then it’s got to be maintained. It might have been written as a fun project originally, but it’s probably taken on a life of it’s own, and the developer has to divide their time between what pays the bills and this project… now, if this project actually **paid** the bills then it’d get more attention. So contribute to the developer so that they keep developing whatever it is and you can keep using it.

###Do not buy a desktop computer
Unless you need all that CPU power (and most of us don’t unless we’re rendering 3D images, or editing video) get something portable. Then you can work wherever you want, wherever is comfortable, and on the number 93 bus on the way home when you suddenly have that brilliant idea.

###Use a Mac
I’ve spent the last twenty years maintaining the software and hardware at work, that’s in addition to my management role. Since we ditched MicroSoft on the desktop I spend almost no time doing that at all! I can spend my time on more important tasks. If we need a new machine a MacMini arrives, I unpack it, plug it in and a user is up-and-running in minutes. I don’t have to spend hours chasing all over the web for up-to-date drivers, or finding the latest PDF reader and anti-virus-firewall-adblocker-anti-spyware gizmo.

Just get a Mac, you know it makes sense. <">In world without walls, who needs Windows?<">.

###Use a Linux or BSD server
I know that setting up or running a server isn’t for everyone. But for those even slightly technically literate it is such a good thing to have running. While your laptop or desktop is switched off or asleep a server can continue to collect your mail, filter the junk, file mailing-list messages as appropriate, and send out automatic responses in appropriate cases. It can serve web-pages for your domain – OK, I don’t do this anymore, my up-link isn’t fast enough. Maintain a news-server, time-server, file-server. Host backups, a web-cache, automatically update remote web-sites, or take backups of them. In addition to those tasks mine is also an MP3 Jukebox which I access using [Theremin](https://theremin.sigterm.eu/) from any machine in the house.

###You only need a hard-disk
Don’t print, email! If you want to display photos then get them printed professionally or download them to a digital photo frame. You don’t need a scanner, you’ve got a digital camera. All you need is somewhere to back-up your data… and a Linux/BSD server will do a good job of that!

###Store all data in an open format
If you want to keep your data it’s because you might want to refer to it again. Whether it’s photos, music, letters, dissertation, whatever. But when might you want to refer to it again? If it’s a few years time then can you be sure you’ll be able to read the file-format then? I know I can’t open AppleWorks documents very easily, or Claris Works, or SuperCalc, or WordStar. Who can be certain that in five years time you will have access to software that can open a PSD file?

**If it’s important to you use an open format** – an open format is one that no company has control over. For example, MicroSoft Word and Excel files are in a format that is not open, MicroSoft knows, and has copyright over, how that file is constructed. This means that you are reliant on MicroSoft to continue to support that format for your future access to that data. The same goes for PhotoShop PSD files, and many, many, other file formats. For a better explanation of an open format take a look at [this Wikipedia page](http://en.wikipedia.org/wiki/Open_format).

Formats that are open are not controlled by one company, and the methods of reading and encoding the files is open to the public. This means that anyone who wants to can write software to access that file format. The real meaning is that the format is unlikely to die.

There are open formats for most media types be it plain text, audio, graphic, or video. [Here are some examples](http://en.wikipedia.org/wiki/Open_format#Examples_of_open_formats)

##Summary
When my main computer was a Windows machine I spent time making the computer work which ate into the time I spent actually working. Now that I’m using a Mac I spend all my time doing my job, there is no time lost to keeping the computer running.