Tuesday, August 28, 2007

Between 12 PM and 1 PM I eat lunch. "Eat lunch" is a geeky euphemism for "snack randomly and read Slashdot then look for new shmups to play for the last 20 minutes of my official lunch hour".

Today, while "eating lunch" I read "Don't Trust the Servers" by John C. Dvorak because it was "sitting on the lunch table" (read: linked to from Slashdot). I don't usually bother to read articles about the risks of emerging software technologies or the horrors of Windows and such because they don't really add a whole lot to my world view most of the time. This article, however, had a couple of such spectacularly ridiculous quotes I couldn't resist.

That, and I'm cutting my doses of anti-depressants to a quarter of what they were a couple of months ago so my bitterness and deep cynical opinionated asshole muscles are flexing hard.

As an asshole, I would like to address each paragraph of the article in turn (skipping the ones that just don't inspire a comment):

Page 1, Paragraph 1 (lets do P1-1 from now on, ok?)

There's a nice little dig here about how only MS operating systems were dumb enough to have a problem because of their "phone-home"-ing. See, I'm saying nice things too!

P1-4 "One aspect of..."

The "kind of system" WGA is is, of course, a terribly broken and ill-conceived one. But it doesn't seem like the impact of the WGA server failure was to suddenly cut users off from Windows like a cutlass severing their left hands. Instead, in the case of earlier editions of Windows, it would seem users were just cut off from non-critical Windows Update... erm... updates. Oh, and they had to see an annoying notification bubble.

Vista users were hit much harder: no Aero (though based on what I've seen of business users, the Windows 9x interface still seems popular, even under XP and Vista), no Windows Defender (if this was your only application filling the roles of "anti-spyware" and "anti-virus" you deserve to be fucked for two days -- and I mean fucked like raped with a nail gun, not just fucked like "in some trouble"), and no ReadyBoost (OH NO! My hard-drive isn't fast enough to open Word!! Shit!). In the end, I admit, the Vista hit becomes legitimate when Reduced Functionality Mode kicks in and nothing works.

This whole paragraph is still just fear-mongering and whining (the WGA servers are at ORANGE -- Reliability Threats Detected -- everybody look out for stuff that seems... terrorist-y!)

P1-5 "All this proves is that..."

Here comes the good stuff.

WGA (during it's best or worst times) doesn't prove anything at all about "Web-based applications". WGA isn't a web based application: it's a poorly conceived OS component that chatters away across the Internet to an unreliable server to discern generally useless information about piracy. Saying that WGA's failure is indicative of anything about web based applications on the whole is like saying that because the guy at my local hardware store cut my duplicate house key badly locks are a dumb idea.

As a side note, I think I'm ready to declare that all users are stupid. In fact, I would okay making that part of the definition of "user":

User:
-noun
Stupid (son-of-a-)bitch who breaks software because they're expectations are not in line with the reality of modern software engineering and software development.

I'm a programmer and I hate users. They suck. I am also a user, and I'm sometimes terribly stupid -- not because I don't know what I'm doing, but because I, in fits of rage, refuse to accept that the software has not read my mind and done what I think it ought to have done.

P1-6 "If this WGA were designed right..."

If WGA had been designed right (really "right", not pretend fluffy-world "right") it would have proceeded exactly as follows:

Joe Management: I need you guys to build a system that disables Windows piece by piece unless it can contact a badly maintained server here at Microsoft and verify some product key and software legitimacy data.
Developer's (as a chorus): I'm sorry but I can't ethically do that, and even if I could, I wouldn't because it makes very little sense and is an inherently flawed and undependable system.

This is the point where the idea is axed in this world of righteousness. This is not where we live. Any other discussion of how WGA should have been designed is pointless. It's like arguing that flying bombs that go off at random and can't be disarmed are a "good idea" if we "design them right".

P2-1 "The bigger issue here..."

True, a lot of applications are moving towards a service-based model, but I think this is a Good Thing for the most part. Regardless of my opinion, however, here are two clear prongs about why it might be happening:
  1. The Evil Prong: It's harder to "steal" service models. There's no CD to burn and no product key to pass around to your friends. Bill users by the hour, or by space, or by document, or by intangible widget usage ratio, or whatever, and it doesn't really matter all that much if one person shares the service with 200 other people: they still generate 200 people worth of usage and the pirate probably foots the bill.
  2. The Pragmatic Prong: It's easier to maintain. Patching software is a bitch. All software is broken (read that again; I said it and I mean it) and all software needs patching, debugging, and updating. I don't like having to download patches and install updates, developers don't like having to package patches up for use by clients, it's all just a slow terribly mess. Web based applications update smoothly (okay, "smoothly") without user intervention; it's easier that way.

Google Docs is not as good as Word, BTW. It lacks many of Word's advanced features. If you think that's a good thing, then great: use Google docs and be happy. If you think it's a bad thing, you're savvy enough to use the advanced features of Word well (because God knows you didn't find them without looking) and therefor you can probably manage things like emailing files to your friends...

P2-2 "Easier to share files?..."

It's really mother-fucking hard to attach a doc file to an email. User's are stupid. They are also lazy, sedentary, quick to anger, impatient, stressed, and Stupid.

Emailing a document is so hard that some people are more likely to write the "email" in word, print it, stack it on top of a copy of the document, add a cover sheet and fax it. (And that's the good version of a true story that went much worse.)

Even with user stupidity set aside, emailing a document really is kindof hard: it's amazing it works as often as it does. You'd be hard pressed to manage to count the number of email clients available, let alone the disparities between them, especially if you add web mail into the mix. There are three major operating systems to contend with, all of which disagree slightly on how files should be stored, manipulated, and identified. Are those Mac line endings? Where's the Resource Fork for this file? WTF is a Resource Fork?? Why did this document come through as two files? How do I open a .SIT? Why doesn't this have an extension? How come Windows doesn't know what kind of file this is?

P2-3 "And what happens if the system fails?..."

Where you store your information doesn't have any bearing on whether or not it should've been backed-up. And just to be clear: it should've been backed up!

Saying that if I was going to back up my online files locally negates keeping them online is another non-sense exaggeration. When I backup my files onto a DVD, I don't immediately delete the originals thinking "well, there's no sense having two copies". Lot's of copies are good. Besides, my files are online because I want to do something with them online -- like share them with other people without going through the maze of emailing versions back and forth.

I keep CDs I've ripped MP3's from too... and I burn music I've bought from iTunes to CD... they're both worth having for different reasons: sometimes I want backups, sometimes my friend's car doesn't have an MP3-aware CD player, but I want to listen to my music while I mutter angrily about being outside.

P2-4 "To analyze the illogic of certain trends..."

Alrighty, I'll play "the explosion of anti-time game":

We start with server-based applications filling the world. We roll back and suddenly see these nifty desktops arrive on the scene, everyone is excited that they can have direct control over how badly their information is stored! Let's keep going, historically, though: the machines get smaller and less utilitarian, slower, clunkier... slowly they fade away into... terminals connect to a mainframe! Good lord, we're back at the beginning with software on a big machine "somewhere else" and dinky little "clients" accessing it on a time-share model of some kind.

This particular approach only makes sense if you stop running time backwards at the point where you're comfortable with the technology (apparently for Dvorak this is when "the desktop computer with a quad-core processor and huge hard drive" appear -- in other words just before now -- the lowest possible energy state of "having to learn new stuff to keep functioning". By that I mean: it's lazy and convenient.)

P2-6 "Though tech trends are..."

Of course the 19-but-not-72 hour failure happened to Microsoft. Microsoft is a massive behemoth that lumbers along with, essentially, no fear. Arrogance (and limitless cash-flow) tend to breed bravado and a it-can't-fail-here attitude. Joe's Server Farm and Toaster Repair would've had a backup server because there would've been something real for Joe to loose if he fucked up. Microsoft just cackles "whatcha gonna do? use Linux??" Someday (perhaps soon, perhaps not) there will be enough chinks and divots in the armor of Microsoft that it actually does have to care about things, but that day is not today.

P2-8 "What is often lost in individual analyses..."

I agree: being at the mercy of one company is probably Bad Thing. But shit happens. I can have all the backups in the world of my non-internet-dependent Linux box, but when the electric company fucks up, I'm still screwed. Unless I have a generator. Then I just need fuel... or I could peddle, I guess.

I'm a cynically guy, but even I have to admit, when I really think about, that the failure rate of online services is amazingly low. Given the enormous volume of traffic handled by some online services (Google's sprawling mass of online knicknacks, for example), it's impressive they aren't broken all the time.

I feel good about Google being in charge of backing up this blog post. They have thousands of distributed servers. I have a CD/DVD burner and a flash drive in the same building. Google wins.

Don't get me wrong here, Microsoft definitely earns another 50 "dumb idea" points for not thinking about a redundant network infrastructure for their anti-piracy services, but let's not go crazy with the spook stories and end-of-the-web warnings just because a lazy company screwed up a service nobody really wants for 12 hours (which, assuming WGA went live and "mandatory" in July of 2005, is only around 0.07% of it's total lifetime by my, admittedly hasty, calculations).

Damn, now I've overrun my lunch hour! ;p

What's this you say? I can post my Google Documents directly to my Blog?

Naturally the question is: how on earth does that all work out, and the only way I could come up with to answer it was to try it; so here it is: a blog post from a Google Doc.

If it works, I have plenty more to say today; if it doesn't I guess I'll just have to go back to the Blogger form...

Monday, August 6, 2007

Seattle WA

Why has my blog been so silent for so long? Why is my WoW character stuck at level 31? Why are there 32 un-heard messages on my answering machine? ...because I'm in Seattle meeting-and-greeting at the University of Washington and exploring the general environs.

Yes, I have pictures, and I'll be posting them when I return to Crap-hole, USA.