Alex Payne wrote some rules for computing happiness. I take issue with some of these rules, particularly:
- 1. Use as little software as possible.
- 2. Use software that does one thing well.
- 3. Do not use software that does many things poorly.
- 7. Do not use software that isn’t made specifically for your operating system. (You’ll know it when you see it because it won’t look right or work correctly.)
- 10. Do not use your text editor for tasks other than editing text.
There are a few pieces of software I use daily, which contradict some of these rules. They are: Emacs, Firefox, and QuickSilver. Each has one thing it does extremely well. Emacs is the best tool for editing text. Firefox is the best tool for browsing the web. QuickSilver is a little harder to nail down, but I’d describe it as the best tool for managing and taking simple actions on lists.
All this software is also extremely hackable. Indeed, the very reason why they are such incredible tools comes down to this extensibility. If there’s not a function in Emacs to automatically delete only the odd paragraphs in pages 52 – 67 (inclusive) of that Great American Novel you’ve been working on, you can write one, almost trivially. If you love browsing I Can Has Cheezburger but don’t like the layout, your fix is a Greasemonkey script away. If you really want to be able to easily slap your friends about with a large trout – via SMS or email or IM or whatever – you can do it with a QuickSilver plugin.
These apps also do many things poorly. I wouldn’t want to use Firefox as a FTP or IRC client. I wouldn’t want to use QuickSilver as a subversion client. And is Emacs really the best way to play Tetris?
But these apps have such great core strengths that they can – and should – be applied elsewhere. They’re great tools! Using great tools makes people happy. When you get used to your awesome tool and you have to do stuff without it, you’re unhappy.
“Do not use your text editor for tasks other than editing text?” I mean, come on! Look around you! It’s all text. HTML, CSS, XML, JavaScript, SVG, HTTP, TeX, XSLT, SQL – all text! I’m writing this blog in Emacs right now! Of course Emacs isn’t the best web browser there is. But it is the best text editor. So when I want to write, I mean really write, and not get pissed at the horrible WordPress editor, or the lobotimized OS X readline bindings, what do I do? I use Emacs. This app that violates four of the fourteen rules Alex lays out makes me infinitely happier than using anything else.
Firefox isn’t made specifically for any OS, yet it’s still the best tool there is for browsing and developing on the web. I should toss all that out the window because it doesn’t look the same as a native app? It does a ton of things poorly, but that same hackability has given us Firebug, easily the most comprehensive tool for developing front-end web sites there is. It’s given us Adblock Plus, without which I think I would prefer Emacs to browse the web, just to get away from the ads.
I’d suggest that if you want computing happiness, you use the tools that make you the most happy instead of following the advice of random guys on the internet (myself excluded).
Unless that’s Windows. Man, that’s just sick.
Discussion