Wed, 31 Aug 2011

On The Subject of Backups

A friend of mine was inspired to make a blog post out of an email of mine. So, borrowing from a friend who was borrowing from me, here's my paean to backing up: On the Subject of Backups.

Thu, 04 Aug 2011

One Monitor, or Two?

Ever since I learned about the X Window System (now nearly 20 years ago!) I thought it was cool to run multiple displays on the same computer. Back then, multiple displays was a bit of an exotic configuration. While the Mac had the ability to drive multiple displays as early as 1987, it was fairly uncommon until 1998 when Windows 98 supported multiple displays and gamers started to jump on the bandwagon.

I have been known to advocate that people working in the IT field upgrade their computers as frequently as reasonably possible. So a similar argument could also be made for increasing screen real-estate.

It's not unusual for software engineers to have dozens, if not more, windows open at the same time. There's your email windows. IM or other instant communication windows. A handful of browser windows open to various reference pages, google searches, admin consoles, tabs showing corporate intranet, dev, qa, stage or production machines. Don't forget terminal windows, IDEs and text editors, other browsers (if you're developing for the web you may need to test on other browsers), potentially one or more virtual environments (local or remote Xen instances, for example), and various other data manipulation and administration consoles. For some power users, I'm sure I'm only just scratching the surface.

So you'd think that I'd be a big proponent of increasing usable screen real-estate by adding a second monitor. And I suppose you'd be right, but I have such a better solution in mind, that I'll say I just don't think it makes sense.

For one, adding a second monitor to a computer is equivalent to arguing that your kitchen is too small, so you're going to add another one next door. Sure, you could use a second oven when you're entertaining a huge house party. But let's get real. Going across your back yard to the neighbor's house to use their oven is not the right way to go here. What's really needed, if you're going to throw lavish parties that frequently, is a larger kitchen, not two of them.

Let me be clear-- will you be able to cook two turkeys twice as fast with two kitchens at Thanksgiving than you would with one? Of course. Yes, by all means, get a second small monitor if your only choice is a single small monitor. But don't kid yourself that the utility of two 1920x1080 monitors is equivalent to the utility of one 2560x1440 monitor.

That's because the dynamics of managing user interactions on two displays is going to become ever-more complex with the trends that are evolving on the operating system market. OS X Lion is emphasizing a more IOS-like "full screen apps" direction and to make this concept work well, managing two displays with two different modes is going to become more and more complicated.

Where companies like Apple and Microsoft are going to spend their energy is to maximize the use and task-switching ability of their applications and operating system. Meanwhile, having to manage the additional complexity of having two screens to do it on may become more of a liability rather than an advantage. People (particularly those with dual monitor setups) will decry this development as a step in the wrong direction, which is what I guess horse owners said about the automobile. But these days, highways are appropriately closed to hoofed traffic.

I admit that the inspiration for this post was an article I stumbled across which had a title of "Get a 22-inch LCD monitor for $109.99 shipped". Yes, larger monitors are disproportionately more expensive than two monitors that provide the same number of pixels. But if you're anything like me, just sit down for a day with a single 27" monitor and I suspect you'll want to trade in your spurs for a set of car keys as well.

Name/Blog: chris
Title: Disagree
Comment/Excerpt: Sitting down with a 27" monitor gives me eye strain. I'll take my dual monitor setup anyday.

Name/Blog: Tim
Comment/Excerpt: I'm happy with my two 1920 x 1080 22" displays, but agree that it would be nice to combine into a single large screen. No messing around with the hassles of "first" and "second" screen positioning. I'm on Linux here at work, so it's very possible, and great when it works, but also a bit fragile across updates and such. To Chris's point, I think I'd want to move it back a ways... deeper desk or wall-mount, perhaps. Need to get far enough away that it's not painful. I do find that I need to look at something else every so often just to rest.

It's Probably Time to Upgrade Your Computers

Most mid-level or senior software engineers make in the ballpark or in excess of $100,000. So I find myself scratching my head when I hear of engineers that are provided with sub-par systems that are anything slower than the fastest money can buy. And often, the difference between a mid-range machine and a high-end machine isn't very much, which makes it doubly puzzling.

Add to this fact that some IT departments don't get around to upgrading computers like clockwork every two years and you can see room for productivity improvements in engineering departments across the industry.

Unless someone can point out a tragic flaw in my math, I'd go so far as saying that not only are the tangible benefits obvious, the intangibles (employee satisfaction, retention and goodwill) tip the scale for ensuring your engineers have the fastest hardware you can buy almost as fast as you can buy it for them.

For the record, here's the premise behind my math: If for the better part of 2,000 hours a year you end up using a computer, even a modest improvement of 10% in performance gains for only 10% of your computer using time (conservatively estimated at 50% of your day) for someone making in the ballpark of $100K/year is money well spent.

Let's break that down:
  • First, the fully-loaded cost of an employee is generally twice their salary (benefits, taxes, office space, desk, utilities etc.)
  • Second, there are generally 2000 workable hours in a year.
  • Third, conservatively assume that 50% of those hours are spent on a computer (for most of us it's higher than that).
  • Fourth, conservatively assume that 10% of those hours are time spent waiting on your computer.
  • Fifth, assume that a faster computer would allow you to complete those tasks 110% as fast.
  • Sixth (and most likely to vary in your particular situation) assume that you have a 100% margin, or 2x billable rate... In other words, the value of the time spent per hour is twice that of your cost (otherwise, if it's 100% or less, over the long term, you're going to go out of business).

Doing the math, we find that your cost basis is $100/hr. Your value basis is $200/hr. Meanwhile, we guesstimate that you spend 1000 hours on your computer, with 100 of those hours, cumulatively, over the course of a year, presenting an opportunity to make use of a faster CPU or IO that a new computer should bring. Conservatively, I argue that the speed benefit is approximately 10%, which means that 100 hours worth of work could have been done in 90 hours, freeing up 10 hours at $200/hr, or resulting in a value benefit of $2000/year.

Now, some will take issue with my assumptions. Feel free to substitute your own numbers and calculate your own ROI. I think you'll find that the next time your IT department wants to offer a midrange computer to you or your team, you can pull out your numbers and show them that saving a few hundred dollars on a sub-optimal configuration is only going to save you money for a small fraction of the usable life of the computer.

But, if you're anything like me, objectively justifying the purchase of new hardware will pale in comparison to the satisfaction you'll get from the wide grin your deserving employees give you when you hand them their shiny new hardware.

Name/Blog: Tim
Title: Don't forget
Comment/Excerpt: Don't forget to pull out the day or so of lost productivity while your employee: a) gets the new machine set up to operate like the old one did b) fiddles around with the new graphics capabilities, checks out the framerate in Marathon (nod), does various previously-slow tasks while watching "top" and just generally *enjoys* the power of the new machine. :)

Khan Klatt

Khan Klatt's photo