programming Technology

Long Live the Desktop

No doubt about it, hardware is getting plain ridiculous in terms of throughput. Gone are the days of old where 64K RAM was *plenty*. That said, we still have this unyielding and biased fascination with RAM and processor speed when it comes to comparing computing devices on the market. Truth is, computing has changed sufficiently for us to largely ignore those specs and look elsewhere for performance gains, namely the hard drive.

“Hahaha”, I hear some tech enthusiasts saying. How does a hard drive speed up your computing? A bigger or even faster hard drive won’t make any difference to the speed of your processing: your processor does that, right? And the ability for you to multitask and have lots of applications open at once is directly dependent on how much RAM you have, right? Right? Computing 101. Well, no.

A regular hard drive can only spin so fast, at about 7200rpm. On a laptop, usually 5400rpm. In days of olde (when everybody learnt all there was to know about computers) the biggest bottlenecks were in fact processors and memory and out of memory errors were common place. To get past that, operating systems started using a technique called swopping which persisted some memory contents to the hard drive to make place for more memory. That way, every time you tabbed between applications, if the working memory for that application wasn’t immediately available, it would “restore” the working memory from the hard drive and swop out what was currently in memory. And by doing so, RAM now became a more pressing requirement. The more RAM you had, the less you had to regularly swop out.

But when you did need to swop out, you’d need more space on your hard drive to persist the swop because there was, simply put, more RAM needed to persist. Of course, the speed at which your device could handle that (directly related to the frequency of your personal requirements) also impacted on perceived performance. For most the time, adding more RAM and a better processor did increase performance. To a point. Memory speed and processor speeds are getting so fast now that in most devices, the RAM and processor are now waiting for the hard drive to spin fast enough and catch up with writing and reading from disk.

You want to give your computer real performance? Get an SSD. 3 years ago, I got an SSD for my MBP (Core 2 processor with 4GB RAM). At the time, it was on the edge of requiring an upgrade to a Core-i processor but the cost of getting a faster processor hardly justified the little-to-no benefit gains. I would still be stuck with 5400rpm of spinning hard drive. Not to mention that laptops are limited by design in their speed because they are less efficient at cooling themselves down, no matter what you have inside. Down the line, I’m still running that same SSD and my MBP still outperforms its more recent versions.

As a software developer though, working off a laptop has limitations, especially when you start running multiple virtual machines, each with their own development environments. Sure, you get the benefit of being able to work from anywhere but that’s very different to being hugely productive and efficient while you are actually coding.

Waiting 40 minutes for a build? Long enough to walk away but what if unexpected stops while you’re away. You could get on with something else, but then risk the interruption of a context switch. What about the performance of the machine while the build is taking place (and yes, automated builds and having a dedicated machine are all good- this is not that kind of situation).

Waiting 40 seconds for an environment to load before debugging? Enough time to almost forget what you’re doing. Code and test for 2 minutes and then make another change which triggers another reload. Wait another 40 seconds watching progress spinners. Add up the number of 40 second waits during the course of one day and you get a free lunch.

Now what if that same build went from 40 minutes to 8 minutes? And what if that massive productivity increase came at a ZERO cost to perceived performance working on other applications during the build?

Enter an All-In-One, aka the AIO, Core i5-4570 2.9GHz with 16GB RAM. On it’s own, a pretty decent spec but dished out with SSDs (yes, plural, something you can’t do with a laptop) and you have, quite simply, a beast of a workhorse. One SSD to keep up with the RAM and processor and service the primary operating system and another SSD to run VMs off. And the sweet part, it costs the same as a laptop but very clearly at N-times more horsepower, where N is a real integer > 5.

The cost difference between the SSD and traditional 7200rpm HDD has paid for itself inside month in billable hours alone not spent waiting. And that’s without factoring in productivity gains and general mood enhancement by being able to spend more time actually coding and not waiting for anything- ever.

I don’t wait for a system to boot up. I don’t wait for an IDE to load. I don’t wait for a compile. I don’t wait for a VM to get up and running. I don’t wait for a system to shutdown. I just simply don’t wait anymore. The only time I stop while coding now is when I stop to think and plan. I am back in control of all the subtle interrupts and can direct my attention more intentionally. Liberating.

Some say the desktop is dead- I disagree. Not for the kind of software development I do. Yes, I once tried to run everything off an iPad and Cloud and what a mistake learning experience that was. And I really don’t like desktops but the AIO is compelling. And it comes with a capacitive multi-touch screen so testing apps with gestures is dead easy. The laptop is still useful for some things, I guess, but less and less so.

The desktop computer is dead. Long live the desktop computer.

Life perspective

The New Religion Called Diet

Tele-evangelism like marketing leads the way with promises of a newfound you. These are backed up by powerful testimonies and anecdotal science (before and after photos). There’s also a strong altar call afterwards (buy these products, be they books or supplements) to all those wishing to change and converts go out into the world heralding enthusiastically the benefits of this new diet. New testimonies are born and shared around the dinner table and litter social media by the growing score of followers (yes, another loaded term). Books are written. Websites are dedicated. Courses are started. Markets boom. Industries grow. Even governments get involved and issue regulations. Naturally, not all of these assemblies are the same and they all use slightly different marketing methods to appeal to their flock, but the underlying hooks are the same. People haven’t changed in years.

How do you know if someone is following a new diet? They tell you. All the time. They will also be able to explain how the diet works and why it works in detail. And often the goal is aesthetics. Some will throw performance-related benefits into the mix but the benefits are still firmly entrenched in aesthetics. And, like all good religions, the core of that belief will get manipulated and ultimately misrepresented into bastard forms (either willfully or out of ignorance) that claim allegiance to the original but in reality have strayed so far down the garden path that anyone with small amount of patience can easily spot the hole. Of course, a lot see what they want to see. None so blind. But with the growing number of apologists (defenders of The Diet) it’s hard to sit outside in the cold wondering if you got it all wrong.

Followers of The Diet, be the goal aesthetic or performance, have one god in common: their own body. The promise of eternal youth, quality of living and longevity is such a strong pull that despite our self-proclaimed noble, scientific, rational or liberal outlooks, we fall for the silly so easily. We serve our body. We worship our body keeping it holy (which literally means set apart, or specially recognized) with an extensive list of thou-shall-not-eats (and or dos). Some more disciplined than others, there are still measures in place for those that slip up. Penance is usually paid by doing some extra “cardio” and followers rally to the help of their backsliding brother or sister with encouraging picture memes on their timeline to remind them of their purpose.

Detractors of The Diet are met with contempt if all attempts at proselytizing have failed. Ostracized or ignored, the scorned heathen will be left to their own nutritional habits. These detractors similarly start to develop a strong annoyance with anything related to The Diet on account of being endlessly battered by bullshit: current blog post as reference. Some detractors with a little more energy will engage in direct warfare thus creating the much needed tension which will help to keep The Diet alive. Because after the initial honeymoon is over, and all the longitudinal studies have been concluded, the lack of common sense will need a distraction.

But, at the end of the day, we all free to follow and serve and believe what we want. Ultimately, death will judge (if you even believe that). There are no medals in this lifetime that serve us in the grave and some will get there sooner than others (regardless of diet, lifestyle or otherwise). And in following, serving and believing, we are all free to enthusiastically share what we have on our hearts with others- it’s part of what makes us beautiful (and annoying). And in that beautiful journey we try cultivate a sophisticated sense of tolerance towards others with a different viewpoint- some more successfully than others. So if following The Diet works for you, that’s great and all, but maybe wearing a specially-recognized hat indicating you want to expound the mysteries of your diet on strangers is a good idea. That way, like the krishnas, Mormons and JWs, we know when we need to avoid eye contact and save everyone a world of awkwardness thus carefully preserving that politely veiled sense of tolerance we call world peace.