Alex Payne - Rules for Computing Happiness (2008)
al3x.net
al3x.net
Less true for the current crop of Macs, of course, where decent expandable desktop systems are way too expensive and laptops have a high entry cost. It would probably still be worth looking into getting a ipad/imac combo over a MBP.
I do most of my hacking on the road, visiting other companies etc. This is why I go with MacBook Air as my only computer. I want to keep my working environment consistent so I don't even use external displays in my own office
Maybe something on the software side like AirDisplay (http://avatron.com/apps/air-display/) could be of some use to extend an old iMac lifetime as a screen.
On a laptop, you can expand storage and RAM and use one external display, which is enough for my use case, and you get the added benefit that you can use it anywhere. Not just for travelling, but also for just setting up shop in the living room or patio vs. the office, or taking it into a meeting room.
The ability to work anywhere in my house is the selling point for me.
By proper keyboard, I mean one that is full-sized, has mechanical switches, and is appropriately laid out so that you don't strain your wrist and tendons.
Do not use your text editor for tasks other than editing text.
To Emacs, everything is text. At least that's how I square the Church of Emacs with the Church of Alex ;-)* Use as little software as possible.
* Use software that does one thing well.
* Do not use software that does many things poorly.
I have a "good enough" workstation with 4GB of memory. No matter how much tweaking I do to eclipse.ini, Eclipse still crawls to an halt when I work on our large Java project... Alas, I can't just change it to VIM + command line svn. It would be a mess.
* Use as few workflows/tasks/'things' as possible.
My reading of what he's saying with the three points is:
* Don't just go installing and using a bunch of stuff for the sake of it. Make everything justify it's existence on your machine and in your processes.
* Multiple individual tools which do things well are better than general tools which do many things badly.
Probably also worth distinguishing between amount of software and number of applications.
For instance, Eclipse may be just one application but it's a lot of software. It is admittedly a slightly abstract measurement but I think there would generally be broad agreement on the scale of most things.
In terms of your specific issue, it may be that 4Gb is not good enough as much as you'd like it to be. It will depend what else you're running, how big the project is, what it's doing and so on... Plus, Eclipse is a pretty chunky tool itself.
For future reference, while I didn't find a Scala forum post, I found the following (perhaps you referred to the first item):
http://blog.normation.com/2010/07/27/set-up-eclipse-workspac...
http://stackoverflow.com/questions/501718/can-i-use-a-ram-di...
http://stackoverflow.com/questions/1838018/optimize-use-of-r...
It just looks like a list of personal preferences. I would like to think that ideas for cultivating happiness goes a little deeper.
With that said, Payne's rules seem to minimize frustration with the computing experience. He won't list "spend time with your SO and child" on here.
But most importantly, always remember that the three most important components of your computer really are:
* your chair
* your input devices (mouse/keyboard/…)
* your monitor
Also, if you feel that your computer is getting a bit slow, consider updating your hard drive (possibly to an SSD) before shelling out a far greater amount of money for a new computer.
Putting a 60 x 60 x 42cm box on top of your desk, and putting your Mac on that, so you can stand leads to:
1. More regular breaks away from standing at your computer (and more perspective on and thought towards your work).
2. Significantly better health and posture.
3. Increased metabolism and improved concentration.
This is just a waste of time. Do you really care about 70KB that some lib that some other lib that was used by a program that you only used for a week used used?
Edit: there is some commercial software for Linux has custom installers which can result in windows-ish problems.
My personal experience is that if that sort of cruft accumulates in Linux, it happens at a slow enough rate that system upgrades fix the problem before it manifests.
Then again, it's still much less than in Windows. And it's more transparent, resolving the problem is generally a matter of removing the file, instead of going into the registry jungle "trying random stuff from the internet until it works".
Use the mouse for what it's good at: pointing at things and selecting text. Use the keyboard for what it's good at: entering text, such as regular expressions to transform the code you just highlighted.
Incremental search, dude.
On the Mac, the latest gens of their trackpads have obsoleted mice for me.
* Use a powerful thinkpad with linux - or windows everywhere
* Never switch machines - buy a dock station for convenience at home
* Use vi - or gvim and stick to it
* Use Dropbox or sth
* Buy an ipad for the mac eyecandy, browse the web walking around (just be careful near walls)
* Rent a VPS and use it as your personal playground server
* Write programs - it's the best way to enjoy computing
I have doubts about any technologist that would choose to use Windows in their personal life.
Personally, I use Linux for everything, when given the choice - except the occasional game or two for which I use Windows. Couldn't ever get used to Mac. It feels a bit like linux (being BSD based and all that), but gets touchy when you actually try to do something with it. Though this may simply come from my lack of experience with the platform. And im not convinced that the productivity increase from switching from linux to mac is worth the investment(in short i can do the same thing on a system that is twice as cheap ,and without any extra learning).
However I do agree that Windows is very often disastrous in terms of productivity.
I think I eventually could have adjusted to the different keyboard layout and application defaults, but it didn't seem worth it to me.