Rules for Computing Happiness
Through Lifehacker, I found an interesting list of rules for simplicity and contentment in computing. He has some great rules -- don’t use web applications that should be desktop applications (and vice versa), store as many things as possible in plain text, and use a password manager.
Some of the things are a bit more questionable though. For example, he advocates not using your text editor for anything other than editing text. Au contraire — I find that checking my e-mail in Emacs, and managing my calendar in Emacs, and managing my to-do lists in Emacs, greatly simplifies my life.
With that, I’ll submit a few rules of my own for enjoyable and happy computing:
- Use software which adapts to your workflow, rather than requiring you to adapt to its ideas of what your workflow should be.
- Avoid using software you cannot study, modify, and redistribute.
- Do not use web applications that should be desktop applications.
- Store everything practical in plain text. Plain text is portable, searchable and mergable, more so than any other format.
- Use lightweight version control for any substantial project. It decreases barriers to trying out significant changes since you can always revert to a previous state. I recommend Mercurial for general usage — it does not require any complicated server setup, storing everything in a local versioning repository which an optionally be synchronized via a network connection. If you already have a server available, though, Subversion is also nice.
- Use Emacs.
- Customize mercilessly. Your computer exists to adapt to your needs and make your life easier — find out how to make it do that. Do not settle for half-baked solutions.
There are probably more, but that’s a start.
Comment from Jason on October 9, 2008 at 11:09 AM CDT
6. Use Vim
I would also maintain that finding one practical solution to a problem is better than simply finding a solution that's best for the given situation. For instance, I don't have anything against web applications, such as gmail so long as you're not constantly trying to synchronize it with all your desktop applications. The point isn't against the web app, it's against having 13 different e-mail applications, one for each situation. For you, that one app is emacs.