Patrick Smacchia writes a blog post about how buying a Solid State Drive will produce a worthwhile increase in developer productivity.
He cites a few self-run benchmarks. A couple are impressive: a certain build shaves off 2 minute and 14 seconds (a little under 50% faster), and running 1846 NUnit tests brings a 2 minute and 40 second process down to 37 seconds (about 80% faster). The rest... not so much. Most are cutting scant seconds off of already quick processes.
I do believe that there are some expenditures that are worth it. Developers spend 8 hours a day sitting, so buying them extremely comfortable chairs makes a huge difference. Similarly, developers spend 8 hours a day looking at their monitors, and buying them each two large monitors allows them to keep their work and minds better organized.
This SSD claim does not seem to pass muster. Look at the difference. An internal 80GB Intel SSD costs $559.99. How much does a normal 5400RPM internal 80GB drive cost? Well, I can get this Western Digital one for just over $40.00.
That means the Intel one costs almost 14 times as much. If I'm buying this for my developers, I want to make sure it's cost-effective. Let's say I pay my developers an average of $52.00 per hour (to make the numbers easy). That means, to justify the extra $520.00 I'm spending to get this SSD, it needs to save them 10 hours over the course of their time with me. That's 268 of those builds mentioned earlier, or 293 of those sets of NUnit tests.
Is this an outrageous number? No. But it's also not an obvious win, like buying a pair of large monitors or a comfortable chair. It's scraping the bottle of the barrel, to say the least. Unless he's got a super awesome chair, a couple 24-inch monitors, and all the other productivity staples, I'd say his money would be much better spent elsewhere.
Friday, December 12, 2008
Monday, December 8, 2008
Great Analogy for Entrenched Social Norms
I'm stealing this analogy from a blog post by core Django contributor James Bennett. I think it's brilliant:
There's an old joke, so old that I don't even know for certain where it originated, that's often used to explain why big corporations do things the way they do. It involves some monkeys, a cage, a banana and a fire hose.
You build a nice big room-sized cage, and in one end of it you put five monkeys. In the other end you put the banana. Then you stand by with the fire hose. Sooner or later one of the monkeys is going to go after the banana, and when it does you turn on the fire hose and spray the other monkeys with it. Replace the banana if needed, then repeat the process. Monkeys are pretty smart, so they'll figure this out pretty quickly: "If anybody goes for the banana, the rest of us get the hose." Soon they'll attack any member of their group who tries to go to the banana.
Once this happens, you take one monkey out of the cage and bring in a new one. The new monkey will come in, try to make friends, then probably go for the banana. And the other monkeys, knowing what this means, will attack him to stop you from using the hose on them. Eventually the new monkey will get the message, and will even start joining in on the attack if somebody else goes for the banana. Once this happens, take another of the original monkeys out of the cage and bring in another new monkey.
After repeating this a few times, there will come a moment when none of the monkeys in the cage have ever been sprayed by the fire hose; in fact, they'll never even have seen the hose. But they'll attack any monkey who goes to get the banana. If the monkeys could speak English, and if you could ask them why they attack anyone who goes for the banana, their answer would almost certainly be: "Well, I don't really know, but that's how we've always done things around here."
Best Virus Email - Ever?
I just received this email (I don't recognize the sender):
I really want to see the code of this virus that "burns" the hard disk. It sounds awesome.
Subject: Fw: ALERT, ALERT HUGE VIRUS COMING !!! PLEASE READ & FORWARD !
Please be advised.......I just received this from a friend and checked it out. It is for real.
I strongly recommend that you pass this along to your friends and those on your e-mail list.
Doug
I checked with Norton Anti-Virus, and they are gearing up for this virus!
I checked Snopes , and it is for real!!
Get this E-mail message sent around to your contacts ASAP.
PLEASE FORWARD THIS WARNING AMONG FRIENDS, FAMILY AND CONTACTS!
You should be alert during the next few days. Do not open any message
with an attachment entitled 'POSTCARD FROM HALLMARK,' regardless of who sent
it to you. It is a virus which opens A POSTCARD IMAGE, which 'burns' the
whole hard disc C of your computer. This virus will be received from someone
who has your e-mail address in his/her contact list. This is the reason
why you need to send this e-mail to all your contacts It is better to receive
this message 25 times than to receive the virus and open it.
If you receive a mail called' POSTCARD,' even though sent to you by a
friend, do not open it! Shut down your computer immediately.
This is the worst virus announced by CNN. It has been classified by
Microsoft as the most destructive virus ever. This virus was discovered by
McAfee yesterday, and there is no repair yet for this kind of virus. This
virus simply destroys the Zero Sector of the Hard Disc, where the vital
information is kept.
COPY THIS E-MAIL, AND SEND IT TO YOUR FRIENDS. REMEMBER: IF YOU SEND IT
TO THEM, YOU WILL BENEFIT ALL OF US
I really want to see the code of this virus that "burns" the hard disk. It sounds awesome.
Tuesday, November 25, 2008
Why Some Love Computers and Others Hate Them
Last night, I spent two hours trying to get PHP (a programming language) working on my Mac. Eventually, I realized it had been working for about an hour and fifty minutes of the time, but Firefox had cached the error page. Once I cleared my cache, everything was fine. Did I hate my computer for wasting my time? No, I felt a sense of accomplishment from finally solving the problem.
Today, I spent another two hours trying to fix the problems with this blog and get it back online. I went through about 25 poorly-written articles on various aspects of the problem (integration between PHP, nginx, FastCGI, and lighttpd, in case you're interested). I also struggled with prewritten scripts containing awful formatting errors, such as replacing the " (double-quote) symbol with '' (two apostrophes), forcing me to hunt down these errors. Eventually, I figured out the problem, fixed all the scripts, and got it working (as you can see). Did I feel a sense of frustration from the poor documentation? No, I felt a sense of self-satisfaction from solving the problem, figuring it out (virtually) myself, and learning something new in the process
From what I understand, these are the things that make many people swear off programming or any complicated computer work; if it takes too much effort to deduce and fix the problem, it's too frustrating for many people. I have no problem with this, and in fact, I feel it in many other areas. But for some reason, it's the opposite for me. The longer I have to spend on something, the better I feel when I finally fix it (except for the rare exception where it was a stupid mistake on my part, in which case I feel annoyed with myself, not with the concept of computers).
I have a feeling that this is true for many people in my field. It's the difference between the person who goes "I tried to learn programming, but you have to get everything right! If you get one little thing wrong, the whole thing breaks!" and the person (like me) who gleefully recounts a late-night six-hour debugging session like it was the most exhilarating thing to happen in a long time.
I don't think either of these things are "right" or "wrong", but I do think one of them is more indicative of some sort of mental illness, and I don't think it bodes well for me.
Today, I spent another two hours trying to fix the problems with this blog and get it back online. I went through about 25 poorly-written articles on various aspects of the problem (integration between PHP, nginx, FastCGI, and lighttpd, in case you're interested). I also struggled with prewritten scripts containing awful formatting errors, such as replacing the " (double-quote) symbol with '' (two apostrophes), forcing me to hunt down these errors. Eventually, I figured out the problem, fixed all the scripts, and got it working (as you can see). Did I feel a sense of frustration from the poor documentation? No, I felt a sense of self-satisfaction from solving the problem, figuring it out (virtually) myself, and learning something new in the process
From what I understand, these are the things that make many people swear off programming or any complicated computer work; if it takes too much effort to deduce and fix the problem, it's too frustrating for many people. I have no problem with this, and in fact, I feel it in many other areas. But for some reason, it's the opposite for me. The longer I have to spend on something, the better I feel when I finally fix it (except for the rare exception where it was a stupid mistake on my part, in which case I feel annoyed with myself, not with the concept of computers).
I have a feeling that this is true for many people in my field. It's the difference between the person who goes "I tried to learn programming, but you have to get everything right! If you get one little thing wrong, the whole thing breaks!" and the person (like me) who gleefully recounts a late-night six-hour debugging session like it was the most exhilarating thing to happen in a long time.
I don't think either of these things are "right" or "wrong", but I do think one of them is more indicative of some sort of mental illness, and I don't think it bodes well for me.
Friday, November 14, 2008
Don't Wonder if You Are Stupid
I'm reading a book on Mac programming called Cocoa Programming for Mac OS X. However, unrelated to programming at all was this piece of advice on believing in yourself:
I think this is great advice. There have been many times where I've been struggling with something outside of computer science (like calculus or my Oceanography class last semester). Just as I start to consider giving up, I remember that I've found a way to succeed at some very difficult things; things that are much more difficult than these. It gives me the confidence to continue banging my head against the wall until I finally get it.
While learning something new, many students will think, "Damn, this is hard for me. I wonder if I am stupid." Because stupidity is such an unthinkably terrible thing in our culture, the students will then spend hours constructing arguments that explain why they are intelligent yet are having difficulties. The moment you start down this path, you have lost your focus.
I used to have a boss named Rock. Rock had earned a degree in astrophysics from Cal Tech and had never had a job in which he used his knowledge of the heavens. Once I asked him whether he regretted getting the degree. "Actually, my degree in astrophysics has proved to be very valuable," he said. "Some things in this world are just hard. When I am struggling with something, I sometimes think 'Damn, this is hard for me. I wonder if I am stupid,' and then I remember that I have a degree in astrophysics from Cal Tech; I must not be stupid."
I think this is great advice. There have been many times where I've been struggling with something outside of computer science (like calculus or my Oceanography class last semester). Just as I start to consider giving up, I remember that I've found a way to succeed at some very difficult things; things that are much more difficult than these. It gives me the confidence to continue banging my head against the wall until I finally get it.
Electron Microscope Art
What do you think this is?

Personally, I think it would make great cover art for a rap album or video game. But no, it's actually "the anterior spiracles (respiratory openings) of a fruit fly larvae magnified 1500x." Check out more of these electron microscope pictures here.
Personally, I think it would make great cover art for a rap album or video game. But no, it's actually "the anterior spiracles (respiratory openings) of a fruit fly larvae magnified 1500x." Check out more of these electron microscope pictures here.
Thursday, November 13, 2008
How Would Hillary Clinton Have Done?
Nate Silver of 538 writes about Hillary hypotheticals, regarding how she may have performed in the general election. The article was spurred by an analysis of exit polls by CBS, which determined that Hillary would've won by an 11-point margin (as opposed to Obama's 7-point margin).
Labels:
2008 election,
barack obama,
hillary clinton,
john mccain,
politics
Subscribe to:
Posts (Atom)