Tuesday, May 6, 2008

Say what? Another blog??

I realize at first it seems counter-intuitive, since I'm rotten at updating this blog to begin with (which probably explains my essentially zero-person readership), but I've spun off a second blog.

Why?

Because I'd like to discuss web development (and to a lesser extent general programming concerns) in a space that isn't cluttered with personal cruft. Likewise, I'd rather not loose my opportunity to dump my personal cruft into a giant blog-shaped barrel for the world to occasionally stumble onto. So, The Angry Waffle will be my personal blog, as well as my place to ramble about games and things along those lines, and Bloody Great Leaf will (surprisingly?) be just a bit cleaner, and devoted primarily to discussing issues that one way or another influence my professional life.

Monday, April 21, 2008

Politics ::sigh::

On April 16th, I watched ABC's Democratic "Debate" in Philadelphia. It was wretched and I would like very much to be compensated for the time I wasted on it.

Something has gone very very wrong with our politics, and, indeed, with us as a nation -- it is not a new fault, but it is a festering one, and if it had less critical consequences it would comedic to watch from a distance.

Throughout this campaign process, I have been treated to endless media-driven banter, batted about from every side and in every direction. I have been inundated with meaningless propaganda, assaulted by ceaseless political double-talk, and, in the real final analysis, been told absolutely nothing.

Huge tracts of time were devoted in the April 16th debate to absolute silliness, with middling bullshit like:

  • Does Obama believe in the American flag?
  • Is he more patriotic than Reverend Wright?
  • Does he think Clinton can really beat McCain?
  • Does Clinton think Obama can beat McCain?
  • Does she really think people should get up and walk out of a church if they don't like the pastor?
Even when the questions turned vaguely towards real issues, the answers were thin, patronizing, and intentionally distracting.

It is very likely that they were also all lies.

I put forth this assertion for simply because the art of politics, in those increasingly rare cases when it is not openly and grossly about media glitz, is about bullshit. To a large degree, I tolerate this on the part of the politicians, because, in the end, the public persona of a politician is a surprisingly squishy surface, that tends to ooze into the mold we, as the public, hold up to it.

And there is the real problem: as a country we have decided that we adore meaningless crap. We devour it like candy, and the more of it we're fed, the more insatiable our appetite grows. I am at a loss as to why we tolerate such volumes of useless pseudo-information being flung at us during something so (purportedly) important as a campaign to choose the person who may go on to become the leader of our nation (the campaign to actually elect the president becomes an even more baffling slug-fest of grime-covered crap). Perhaps the explanation is "innocent": we're all just bloody stupid, lazy, ignorant, or disinterested; or, for a more conspiratorial jilt, perhaps we're all intentionally so over-worked, under-paid, and terrified of being attacked by the "enemy" that we aren't capable of rational discussion any longer.

In the end, I don't care if Obama keeps a little stack of silken American flags in his bathroom to wipe his ass with. And in the same vein I don't care if Clinton has marched out of a thousand sermons leaving little comment cards (no doubt with a little American flag pin in the corner) about how a good pastor should conduct a sermon.

Why don't we actually debate something meaningful? And I mean really dig into it. I don't want a 3rd grade shouting match of "my health care plan is better" / "no mine is better!"; I want proof. I want numbers and nit-picky details. I want to be convinced by something mostly irrefutable (that is: by math with a few well-backed assumptions about the future) that one plan is better or cheaper or more feasible than the other.

But that would be awfully dry wouldn't it? It's a lot more fun to run around screaming "Witch" -- I mean: "Terrorist" -- at every opportunity -- and to cheer about "patriotism" and wave our little flags around and pretend that if we just love one candidate enough and hate the other one just the right amount God will come down and take care of sweeping the troops out of Iraq and cleaning up health care and fixing our tragically broken education system and all sorts of other things -- just poof! Now all we have to argue about is which candidate pisses God off the least, and that is more fun than math and financial planning.

Thursday, February 14, 2008

You did it

When you send an e-card from Amazon (which you usually shouldn't do, because their e-cards are just god-awful) it says at the end: "You did it! Your card has been sent."

Read it again: "
You did it! Your card has been sent."

That's right, Amazon is talking to you like a 3 year old who just managed to use the potty. "You did it! You got to the bathroom in time! Way to go honey!" I don't need this kind of talking-down-to after I settle for one of their e-cards; I already feel like I failed somehow.

Of course, maybe they meant to evoke the image of a kid taking a crap, as a sort of inside joke about knowing how bad their cards have gotten... another of life's little mysteries.

Tuesday, December 18, 2007

So this has been a strange month. On December 4th, with no particularly immediate warning, my father passed away. For people who read this and weren't aware, he'd been in a nursing home for a couple of years now, and had a whole host of health problems. The surprising part about it was that he had just seemed to really be settling into a stable position, and everybody was under the impression he was going to be around for a good while longer; even just a few years ago, he seemed to be much worse off, and, frankly, I had been starting at that point to wonder how much longer he would be with us.

The consensus is that he experienced some sort of "major cardiac episode". If there can be a fortunate side to this sort of thing, it's that it seems like it was a very sudden event. My father is not the kind of person who was suited to withering away, and he passed exactly as he should have: quickly, and basically in the middle of an argument about how he was fine and could take care of himself.

All else set aside, loosing my father has certainly made me think about my own life in a somewhat more immediate way. My dad was only 56 -- which means I am roughly at the mid-way point of his lifespan myself -- and, though I don't aspire to a short life (contrary to my outward personality at times), it's a harrowing thought to be confronted with the loss of a parent at such a relatively young age (for both of us); there's also a mixed sensation when you're suddenly surrounded by people who tell you that you "look just like your father when he was your age", and "you sound just like him": on the one hand, I've taken some pride in those sorts of statements, and counted them as compliments, but on the other, what does that say about my future health, if anything?

Monday, September 17, 2007

Friday morning I was thinking about application development cycles, project management, and process in general. I'm a process geek and these things interest me. They are of particular interest while I do things like sit, immobilized, connected to a very badly mis-configured VPN downloading source code from a Microsoft Visual Source Safe repository.

In fact, maybe I should start there: Visual Source Safe (VSS from now on) is horrid. It's not the fluffy "oh-it's-from-Microsoft-so-it's-funny-bad" kind of horrid. It's horrid on the scale of vomiting sulfuric acid while the bottom half of your body is slowly dissolved into a liquid by the digestive juices of a million tiny leeches feeding on you at once. A good sign that VSS is a bad choice for version control software comes right from Google -- go ahead, Google it -- that's right: the first page of results has two articles decrying VSS as terminally unsuited to the task of version control for any project. Even the sponsored adds are composed mostly of taglines like "Sick of Visual SourceSafe" and "Fed up with SourceSafe?". I would not expect the applications in the sponsored ads to be any better (though I suppose I could be wrong).

VSS is also slow. Very, very slow. It doesn't help that I'm forced to connect to a VPN in India to access the repository (VSS repositories are more or less just network shares -- they don't play well over any kind of Internet connection). I expect it will take, at the current rate, somewhere in the neighborhood of a one real, honest-to-God, day to download all of the code for the project I'm working on. A day of solid computer (or at least network) time. To download source code. Plain text. Plain text full of repetitive phrases that would shrink down to nearly nothing with good compression... or any compression. But compression and efficiency is not for VSS.

Efficiency doesn't really seem to be for anyone, though, and I think that was my original point when I started writing this last Friday. As terrible as the VSS setup I'm working with is, maybe I shouldn't be complaining: it's only the second job I've worked at with any source code control (SCC now) what-so-ever. Now that I've said that out loud (err... you know what I mean) I realize that I should be complaining a lot more. I've done web development and programming work for about ten different companies or organizations now and only one other used any SCC methods at all.

It's also only the second company to use some kind of project management tool (we have Basecamp -- it's like some kind of little nirvana of sense -- I love it). The other company used to have Basecamp, but ditched it in favor of a more "robust" solution; the developers revolted (and reverted to pen-and-paper notes in large part). I quit the job before I saw the results of the uprising, but I'm not optimistic about how it all went.

It's also the only company I've worked for to have an actual bug tracking tool in place (yes, it's badly configured, slow, and a little obnoxious, but at least it's there).

It's consistently stunning to me how little anyone ("anyone" is harsh, perhaps, but there certainly seems to be a trend towards majority here) really cares about keeping track of what needs to be done and what has been done.

I'm fairly sure I had a lot more to complain about when I started this post on Friday, but reviewing it now, I really think I've babbled enough for one blog post. Who has the patience to read something this long anyway?

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...