Wednesday, December 02, 2009

Fallacious Cloud Arguments

note: this entry reprinted with permission as a guest post at TechFlash.

I have nothing against "the cloud". Hey, when I was in college, the mainframe was "the cloud" to me. Since I never went off campus to speak of, my data was available "everywhere", no matter what CRT console I logged in from. Cool.

Well, not always cool, of course. The lessons of centralized computing versus decentralized computing are too tedious to recount here, so if you haven't lived through any of this repeating cycle, you could go read about it. Might have to actually go to a library, though, not much of even computer history is completely digitized yet.

Really Don't Know Clouds At All

But what got me thinking about clouds was the Peter Wilson talk on "Google vs. Microsoft: An Insiders Guide" at the Dec. 1, 2009 Ignite Seattle. Wilson said the following: "[...] why cloud computing's going to win. So kinda take my word that it will. The short explanation is: when the bandwidth of your network connection and reliability equals that of your monitor cable, there's no financial reason to have a PC on your desktop any more. My bogosity meter immediately pegged and I sat through the rest of his talk enumerating just how wrong that line of thinking was. That's why I can't learn in a lecture environment; I stub my mental toe once and by the time I finish rubbing it, the lecture is over and I missed most of it.

First, just because something is "going to happen" doesn't mean I care. If it doesn't happen in the next 50 years, well, odds are likely I'll be sitting on a cloud myself (best-case scenario, of course) by then, and not too concerned with earthly matters. You want bandwidth to every house as good as my video monitor has to my PC? Get ready to solve the "last mile" problem again (not that it ever got solved that good the first time around -- try watching Hulu via your cable modem on SuperBowl Sunday). My monitor can actually display really high-definition stuff, not the friggin' compressed, glitchy HD that stutters across the Internet these days. Will Wilson live long enough to see the infrastructure (in particular, that "last mile" that nobody wants to pay for) get upgraded to that kind of quality? Maybe, but I wouldn't bet on it without first getting a look at his medical records. My monitor was also really, really reliable during the last year. Zero seconds of downtime. There's exactly one point of failure between my monitor and my PC: the cable. There's umpteen points of failure between my monitor and Amazon, or Google, or Microsoft -- and they don't even control many of them. So, I'm pretty sure the reliability won't be there in my lifetime, just arguing from the simple statistical rule that the odds that all umpteen failure points will be error-free for a year is the product (not sum) of their individual odds (.99^x shrinks pretty fast as x increases). My neighbor took "the cloud" out with a backhoe in his driveway just a few weeks ago; my monitor cable was never in any danger.

Second, my monitor has very little latency. In fact, I believe the latency is about... oh, let's just call it zero, because it's close enough. Getting the same latency from the cloud is going to require... changing the laws of physics. Sure, you can do lots and lots of useful stuff with Internet-level latencies, but keep in mind, much of that stuff is getting a lot of help from that local PC. I'm typing this post "into the cloud", but in fact it's being buffered locally. If 'twere not so, then I would be reliving ye olde telnet days, and the Internet would be full of HTTP packets containing exactly one byte. Let's just say that would increase general unpleasantness without going for a detailed analysis (don't dare me, I've been looking for a reason to use the phrase "Shannon entropy" in a sentence!). I don't actually recall any of the prospective cloud purveyors proclaiming you would no longer need a PC on your desktop, but since Wilson has worked at two of them, I have to suppose it's possible someone at Google/Microsoft really is thinking that way. Seems bizarre to me.

Third, there's a little problem of psychology. Kindle owners got a jolt when they realized that Amazon really could delete any of "their" books they wanted to. The sellers of cloud voodoo think we want them to hold all our data for us. They clearly have not taken a poll on this. I want to be able to pick up my data in my hand and hold it, and I absolutely, positively do not want Microsoft, or Amazon, or Google to have the power to deny it to me, whether by court order, or hacker nonsense, or maliciousness, or even an act of God. My data, my hand, mine, mine, mine. Sometimes I find it hard to believe these cloud sellers ever lived through the PC "revolution" (don't remind me some of them didn't -- I'm thinking young thoughts today).

My view of the cloud seems to be pretty inverted compared to, say, Ray Ozzie's. I don't want the cloud to be the authoritative copy of my data, waiting to be downloaded to any machine I care to use (well, any machine that passes Microsoft DRM muster). I want the authoritative copy of my data to be on my USB drive in my pocket, and I want the cloud to just make fairly dumb backups (encrypted of course, stored across more than one vendor) as I work -- just in case my USB disk (my data, my hand, mine, mine, mine) and any other local copies I have happen to fail. The portable app movement is on my side, but of course Microsoft wants control, control, control over their apps, so none of them are portable.

I'm no good at predicting the future (though I did call the collapse of Itanium pretty good in one WDJ editorial), but I'll predict this: there will be a market for software that tries to commoditize the various cloud offerings. Got a cloud backup program? Build it so it lets me choose whether to use Amazon S3 or some other cloud vendor for storage. Got some cool picture/movie app? Build it so it lets me choose whether my JPEGs go onto Flickr or Smugmug or whatever (and let me change my mind and move them later). And so on. One can imagine a world in which a "virtual cloud" application automatically moves both data and apps around to whomever has the cheapest rates. That would make all the cloud vendors unhappy, which pretty much guarantees it's good for consumers.

Tuesday, December 01, 2009

Mailing List for PPoP Book

Finally got off my butt and set up a Google Group to function as an announce-only mailing list for my upcoming book "The Pop Psychology of Programming". You can go sign up here (to my amusement, cutting and pasting a Google Groups signup box here in Blogger just produces glitchy non-functionality). I've been working with renewed vigor since viewing the movie "2012" since, obviously, I want to get this thing done before the world ends. Who even knew that neutrinos could mutate? The ancient Mayans, apparently.

This belief that someone else knows/knew a whole lot more than us is, I think, sometimes a way of relieving cognitive dissonance that arises when we ponder miraculous-looking accomplishments we can't understand. (Hmmm, either those folks know a lot more than me, or else -- maybe aliens did it!) The latter, of course, is exactly what some people believe firmly: there's no way humans could have come up with transistors and computers, it is more plausible that we simply gleaned that technology from downed alien spacecraft that now reside in Area 51.

Having grimly ground out my EE degree in college, I could tell these folks that there is extremely detailed and well-dated documentation on how all those technologies have evolved. There are no remarkably enormous leaps of intellect in this history, just determined grinding away at one problem at a time, with innumerable contributions from the serendipity that occurs in all our lives with some frequency.

Sadly, folks who believe we aren't smart enough to have invented computers have no interest in looking at this history. We live in a time where the very accessibility of information makes information more ignored than ever. All manner of detailed technological information is online, but most people would rather debate talking points hatched by political operatives than go spend hours studying, say, the chemistry of climate change or the mechanics of cancer that ensure earlier detection increases the harm done via increased unnecessary treatments.

On gloomy days, I suspect this is the limiting factor that keeps the human race from surviving en masse too much longer: genetic evolution can't move fast enough to help us survive the problems we are creating for ourselves. Darwin was emphatic in his belief that our hope lie in a moral evolution, that would operate via education, religion, culture, etc. Too be charitable, that viewpoint continues to look a bit iffy. Despite my natural pessimism, however, the book will argue that programmers may have a role in tipping the balance in favor of human survival.