The code you get out of your coding session, or the LaTeX source for your book, does not really depend on which method you chose to install and update GNU/Linux.
Am I being naive here?
Musicians call it GAS, Gear Acquisition Syndrome, e.g. I've got major GAS for an Ampeg amp.
But, to answer your question, I use nearly every OS there is: Linux (Arch, Ubuntu, Debian, Fedora), NetBSD, FreeBSD, OSX, and Windows. I have to use all of these to test different things on various projects. As I get more into writing books though this narrows down to Ubuntu, OSX, and ArchLinux.
While deciding this I realized it's rather a shame that in our hacker culture there's still somewhat of a fetishism for having a sleek new laptop, and that it would be much better if the culture valued the patched together, upgraded and heavily worn.
There are many great reasons for this: cut down on consumer waste, more in-tune with the hacker ideal to squeeze the most out of what you have in front of you, interesting performances issues aren't solved with a simple hardware upgrade, and of course Zed's point that we remain more in-touch with what actual users are using.
It shouldn't a point of shame to have the latest and the greatest, but it would be nice more cred went to the hacker in the room with the oldest, most beatup, but still productive laptop
Most programming time is spent sitting and thinking, but when I act I want the computer to respond as quickly as possible, whether compiling or running tests or opening a website.
That's not to say I don't share the sentiment about computers becoming less hackable and more consumer toys. It's a shame that laptops these days have almost zero user-servicable parts.
My only computer is a tweaked 5 years old MacBook Pro, underclocked to 1 GHz for stability reasons. I've replaced the optical drive with a big hard disk, and the primary hard disk with an SDD. Stock 2GB of RAM.
Except for CPU-bound tasks (mostly HD videos, and the ocasional ./configure && make && sudo make install), it flies.
My two development boxes, also under my desk, are whiteboxes cobbled together from previous iterations of my workstation - the hardware gets handed down, and once it hits four generations old, it gets shelved in the garage. Those pieces occassionally get used to patch friends' computers. I've quadrupled RAM with old unused DIMMs for more people than I care to think about
If that isn't patched together, upgraded, and heavily worn, I don't know what is!
One thing I didn't mention in that article, since it's not the point of the article, is I really only buy computer equipment when there's a real time/money advantage involved. It's not about "junk machines == bad ass hacker dude". It's more that they're just tools for me and I don't fetishize them.
Now, guitar stuff. That's a whole other bag of fetish fun for me. :-)
There are lots of "old" or "outdated" technology out there than can get the job done well. I don't see the need for always keeping up buying more and more stuff as if computers were disposable.
"If you're a developer, you need to spend money on a great computer, an awesome monitor, a fantastic chair and a good bed"
Personally, I think Zed's approach is far more responsible/sane. If you "need to spend money on a great computer", you are either doing something very different than me, or very wrong.
But if you're working on software that's supposed to run well on high-spec machines and servers, or targeting machines a few years in the future, then you're better off with a higher spec machine; one with lots of RAM and CPU cores, so you can play around with the various tradeoffs of time vs memory vs parallelism. Or if you have a big source tree - the one I have is perhaps 10GB in size, and takes about 14 minutes to build today - then it makes lots of sense to reduce turnaround time by throwing hardware at it.
For example, I work on a compiler that is used by the build tree. I can't really be sure the compiler is "good" unless it builds the whole tree, and the tree's tests run; if I checked it in as is, the integration server could find the problem, and then I'd be in everybody's bad books. Reducing the build time by 5 minutes, iterated over perhaps 5 or 10 builds in a day, and it starts adding up to non-trivial productivity advantages.
If you go on-site with clients, it's pretty sketchy to have a taped together Gateway 2000 vs. a MacBook Pro/Air, too.
I'd be concerned if I took my car to a mechanic who was using chinese crap tools, or went to a doctor with duct tape holding every piece of equipment together.
Probably one of the better things to spend money on is having entire spare hardware lying around in case someone's laptop is stolen or fails.
A nice computer, a good amount of RAM, good input devices, a good chair and a desk are paltry compared to what you should be paying a great engineer or designer.
Tools don't make the talent, but they sure do make the extraction of talent into product/technology much easier all around.
Things _have_ moved forward since then, especially if your are multi-thread/core sensitive. For everyone else, even at 8-10hours a day, I'm not sure it'd be considered a great investment for such incremental improvements.
I think the difference though, is I don't immediately go out and buy everything Apple shits onto the market or the latest greatest PC possible when Intel drops a new CPU. I go and get the tool that fits what I need to do, and base the decision on which one will get things done.
When I moved from an old Mac to a tricked out iMac, my apps compiled 10x as fast. I suppose it's nice to know you can write good software on any box, but it's worthwhile to have good tools for something you spend many hours on each day.
Sure, game programmers and the like 'need' to upgrade more often, but for almost everyone else, it's just been a waste of money in relation to what you get.
Laptops are a different story, though I think that's quickly coming about (or it already has with i5/i7s)
I have noticed a tendency for some of the bulkier tools to get slower over time, making it seem like you need a better computer, when in reality, we just need better tool makers (VS 2010 was a notable step back that made you feel like it was time to upgrade).
find -iname '*.foo' | xargs -P 8 -n 1 process-foo
The more cores, the better. I feel I'm really restricted from targeting the CPUs of tomorrow by lack of parallelism; if you're writing a piece of software you expect to possibly last 20+ years, you really shouldn't over-assume today's limited CPU count, in particular.Work per clock cycle is improving at a not too shabby rate either. When I upgraded from a Q6600 to an i7 920, build times reduced by about 60%; Handbrake transcode times improved by even more.
But, that's not the point. I can also code just fine in a 80x25 ssh connections using vim and screen. I agree you should probably do most of your work using the best visual setup possible, but if you simply can't function without 3 apple thunderbolt 29" displays then you've got to rethink how you do things.
People with very complex environments make me think they spent far too long developing a theoretical methodology, and too little time actually hacking and using stuff.
I've worked with really awesome people who are completely lost without [insert proprietary single-platform editor here].
And this is bad why? I'd rather be 100% productive for 10 years and then retool than 80% productive all the time.
I had to telnet into a Centos box recently and the only thing I could find was vi. Took me a few minutes but I managed. I was proud. ;)
But geesh, even I would upgrade from a white Macbook, and I am using a 2006 MBP.
Also, something should be said about efficiency. If you're primarily coding on a slow/old computer where compiles, etc. take longer, you may be wasting precious time. It's worth having the best tools for the job.
Very impressive effort there, and for $60... Nuts!
Anyway, I do all my audio editing in Reaper and find it's the most intuitive and best performing DAW out there. And, I do it on a Mac. I do not do audio or video on Linux. Linux is just horrible for anything media related.
It is a remarkable piece of software.
The point though, is the brand and type of computer doesn't matter for what I do. It's more what I do and uses my software that matters.
Last week, I finally broke down and brought a Macbook Air. It wasn't for the i7 chip, or the SSD (which by the way, I will NEVER go back to spinning drives again); it was the mobility. The Air is the lightness most powerful machine I've ever had. Amazing machine.
My scratched up, stained, and dented MBP sits in a bookcase. On top of my old Powerbook.