
The Setup: Zed Shaw - Umalu
http://zed.shaw.usesthis.com/
======
Homunculiheaded
Not long about I accidentally ruined the keyboard on my oldish white macbook,
I debated spending cash I really didn't need to spend on a nice new macbook
air. But after giving it some good thought I decided to just go ahead and
replace the topcase myself.

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

~~~
cheald
My workstation started life as an HP I bought at Best Buy in 1998. I've just
upgraded it piecemeal over the years, and while none of the original hardware
remains, I've never replaced it outright.

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!

~~~
sigh400
I am guilty as much as anyone of riding my hardware pretty hard and for far
too long but you're just moving into silly mode. Case entry alone would make a
prudent upgrade.

~~~
cheald
What do you mean by case entry? I've replaced the case on my primary
workstation twice; literally none of the original machine remains now. The
current case is a nice big zero-tool-entry type with six drive bays and room
for usually-large hardware like CPU coolers and video cards. I think I ended
up selling the original case on eBay.

I don't do it out of some "hacker ideal" - I do it because it's cost-
effective, and because I get a lot of pleasure out of building my own rigs. It
just so happens that that ends up leaving me with machines that are patched
together, well-worn, and well-loved.

------
zdw
I'm on a similar course - the further I dive into systems, the more I learn to
use the ubiquitous software (vi, for example) rather than being picky about my
tools and environment.

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.

~~~
dlsspy
It took me years to consider using vim over plain vi. After fifteen years or
so of vi I ended up switching to emacs.

I've worked with really awesome people who are completely lost without [insert
proprietary single-platform editor here].

~~~
crag
I can't use vim. God, I've tried, and tried. I'm too old. I just can't do it.
So I stick with a big IDE (or Sublime 2 which I'm liking more and more).

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. ;)

~~~
bostonvaulter2
I'm curious, how long did you spend trying to use Vim?

~~~
crag
A few days. I must admit, I was resistant from the start.

------
andrewljohnson
Everyone I see in these kind of articles uses old hardware and small screens.
I feel like it is selection bias - it makes for a better story when the rock
stars don't use the best tools.

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.

~~~
latch
Aside from an SSD, a 2006 computer (with the introduction of the first intel
Core2Duo) with 8 gigs of ram is really the last time things got noticeably
faster for the average programmer.

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).

~~~
barrkel
I frequently run things like:

    
    
        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.

------
latch
This is a good contrast to this recent front-page HN story:
<http://news.ycombinator.com/item?id=3075145>

"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.

~~~
barrkel
If you are working on software that will run on customers' machines tomorrow,
it makes sense to do at least a good chunk of development on very average
hardware. These days, most client development is web stuff, so you don't often
have the excuse of compile times.

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.

~~~
latch
Maybe I'm being a closed-minded idiot, but "i write compilers for a living"
isn't something a lot of programmers can claim. I guess I'm working on the
assumption that most programmers are building enterprise apps. I don't know
why I think that.

~~~
X-Istence
I'm working on backend systems for a small startup, and I am writing software
that on my work laptop (MacBook Pro, Core 2 Duo at 2.4 Ghz, with 4 GB of ram)
takes about 30 seconds to compile. Tests take another minute or so to run.
That is 1 minute and 30 seconds too long because my attention is now elsewhere
...

------
ww520
I agree hardware is no big deal for development in general. I tend to buy one
generation behind in term of hardware. Not only all the bugs have been work
out but I also got great bargains. Initial depreciation is steep for
technology related products.

~~~
crag
Since I use Mac, I've been forced to upgrade sometimes. Like going from my
Powerbook (G4 chip) to a Macbook Pro in 2007 (for the intel chip).

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.

------
vinhboy
I have always been dismayed with us techies and our toys. Like women and their
purses. Not that there is anything wrong with that. But its nice to know there
are great programmers out there who don't care about that stuff.

But geesh, even I would upgrade from a white Macbook, and I am using a 2006
MBP.

~~~
d_r
While some toys can definitely be attributed as luxury (you don't _really_
need that iPad), I can say that my i7 Macbook Air made me a significantly
happier developer. Incredibly fast for everything I do, be it Xcode or
Photoshop. Check. Long battery life and lightweight - great for coffee shops.
Check. This is one "toy" that actually improved my productivity.

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.

~~~
minikomi
Not to mention photoshop/illustrator woes.

------
Sukotto
If you want to see Zed's vimrc you can find it here:
<http://zedshaw.com/zedsvim.tar.gz>

~~~
zedshaw
I need to update that some, but yep that's my setup.

------
kayoone
old hardware might work for him, but not for me. I dont want to wait for my
pc, and if i can noticably improve speed with a SSD, a better CPU or more RAM
i do so. Whats wrong with wanting fast hardware? I spend 8-12 hours each day
in front of these things, so if i can upgrade stuff to make my job easier i do
so.

~~~
Marwy
I'm not sure why you wrote that post. I mean, Zed is not saying that
having/buying faster hardware is bad, it's just unnecessary for him most of
the time. What is that you're arguing about?

------
brndnhy
Wow. Thanks for the Reaper tip.

Very impressive effort there, and for $60... Nuts!

~~~
zedshaw
Reaper is one bad _ass_ piece of software. I would kill to work for those
guys, 'cause damn they could use a new manual or two. I really think a great
manual with a video course would turn Reaper into a powerhouse in the market.

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.

------
rebel19
It was nice to see the thumbs up from Zed for Ana Nelson's Dexy. We need more
women like her in Tech.

------
bilalhusain
how very honest!

~~~
askedrelic
I enjoy Zed's enthusiasm. While people seem to argue with him frequently or
vice versa, he is prolific in his books and software and is definitely helping
improve things.

------
dbbo
I thought it was a bit odd that he wrote 7 paragraphs about music equipment
and software, but didn't mention which GNU/Linux distribution(s) he uses on
his "junky" laptops.

~~~
keithpeter
I'm not a programmer, but I suspect the detail on the music gear might be
because the sound you get depends on the instruments and effects chain.

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?

~~~
zwieback
I suspect you're right - I spend a lot more time programming than playing
music but have a stronger emotional attachment to my music gear than my coding
environment.

Musicians call it GAS, Gear Acquisition Syndrome, e.g. I've got major GAS for
an Ampeg amp.

~~~
zedshaw
I solved my GAS by replacing the A with C: Gear Construction Syndrome. Now I
make myself build it if I want it and I can.

