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

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.

Thursday, June 28, 2007

Why spammers need to pay more attention

I get a fair amount of spam. I've learned to try and look at it as lots of free joke-of-the-day emails. It never ceases to amaze me what sort of crap people will try and hock; sometimes you get really lucky and something truly ridiculous comes through... Today, for example, I received the following at 5:28 AM:

Hi! I am bored this evening. I am 25 y.o. girl that would like to chat with you. Email me at ewjs@anymailonline.info only. Hope you like my pictures.
...the from line read: "Harvey Wyatt"

Monday, June 18, 2007

CuteGod Prototype Release

The truth is, I'm probably too busy to be working on prototypes of nifty games, but don't worry: I haven't let that stop me!

I've been able to add a number of features to the CuteGod prototype:

  • Recognition of ground patterns
  • Houses (automatically generated when patterns are completed)
  • A nifty "pattern holder sidebar-thing"
  • Sounds, which I think really spiffied the whole thing up
  • Some flashy sparkling stars for effect (and more importantly, a framework for future special effects)
Here's a quick screen shot:

And, happy days for you no doubt, here's a link to download the prototype.

If you want to give it a try you'll need Microsoft's .NET Framework 2.0, XNA Framework 1.0, and DirectX 9.0c.

If you do give it a try, I'd appreciate it if you can let me know if it worked or not (if not, please email me a copy of the log.txt file in the directory you installed the prototype in -- in fact, even if it does run it would be great to see the log file, so I can get a sense of what sort of machines it's working on).

Controls are very simple: click to pickup the highlighted block when your "hand" is empty, click to drop a block you're holding on top of the highlighted block, right-click and drag to pan the map around (be careful with this -- it's not my fault if you pan yourself into oblivion!).

The list of things that aren't done in this prototype goes on for about a mile, so don't expect any miracles or anything. That said, I do think it's already pretty fun to play around with.

Monday, June 11, 2007

Not dead, just still crazy busy

So, I'm still insanely busy, so the blog continues to suffer, but I'm determined not to let it fall completely off my radar. Here's a rundown of the employment changes since my last entry:

Internship with UW
Signed up and started today. Officially I'm a temporary employee, not an intern, but this is entirely good news as it turned into a freebie per-hour pay-raise for me. There's a lot of interesting work to be done here, and huge portions of it will ultimately be open-source, which is a nice ethical upshot.

Freelance Web Development
I'm still doing work for the small Utah company, at a fairly consistent pace.

The work from my past internship is also, only just now, picking up -- I'm not sure exactly what held things up, but I'm not really complaining.

.Net Developer
I've started in on this job, but I have to admit I'm seriously on the fence about it. All my issues and thoughts around this are at least one blog on their own, so I won't get into them now. Suffice to say, I'm not sure how long-lived the job will be, especially with so much other exciting work coming my way.

Squabs
I'm seriously impressed by the convenience of developing with XNA. XNA and Windows Forms (once they started playing well together) made building a basic level editor much easier than the Java alternative seemed like it was going to be.

Twitch
As much fun as I was having with Twitch, I've decided to table it for now so I can focus on Squabs a bit more in the little free development time I have. I'd still like to get a couple of screenshots on line at somepoint though, even if only for posterity.

Cute God
Something new (like I have time)! I read Lost Garden pretty regularly, and every once and a while the author posts some free artwork and suggests a game to design with it. The most recent of these "prototyping challenges" was CuteGod, which had such an interesting and straightforward concept behind it, I couldn't resist giving it a try.

So, after a few hours of coding, here's a screenshot of the 2D presentation of the playing area:


There seems to be a lot of discussion about an orthogonal 2D display not really being very intuitive, so I'll probably try implementing full-3D when I get a chance.

Tuesday, May 15, 2007

Facebook's bottomtooth problem

Lately I've been on Facebook fairly often -- I think they've made some good changes recently, and one of them is a generally spiffy-ing up of the layout of the site. But there's one thing that's been driving me nuts:


What is the deal with that little pokey extra bit on the edge of the content area for the pages? Is that designed that way? Is it some kind of flare or flashyness that's supposed to be cool? Well, all it does for me is make my eye keep drifting to the little notch that's been slashed out of the side of the page, so I wrote a greasemonkey script to fix it: here it is, if anybody else wants it.

Thursday, May 10, 2007

4 GB in a plastic tube

For some reason I won a Computer Science award at my college. There are a few points that make this an interesting situation:

  1. I was not, in fact, aware that this award existed
  2. At no time was I aware I was eligible for, let alone being considered for, the award
  3. I do not believe I have earned an award: I consider myself a mediocre programmer for the most part and a positively rotten student
All that set aside, it's a nice little bullet point on my resume near where my degree info is about to go. I also got a little congratulatory gift from the CS department -- a 4 GB flash drive. Admittedly, that's pretty nifty. I wanted to use it for Vista's "ReadyBoost", but it apparently doesn't have the "necessary performance characteristics", which I'm starting to think just means it wasn't made by some company that's in bed with Microsoft, since it won't tell me what the necessary characteristics are.

Even so, I can always use 4 GB of portable space.

Wednesday, May 9, 2007

Software Testing

I just finished my last major college project (hopefully!) for my "Software Testing" class. It was an arduous, trite, annoying 24-page assault on everything I know about "good" and "bad" documentation.

I have a recollection (of the sort that might be real, or might just be something that seems like it ought to have happened, and so now, as far as my brain is concerned, it's a real memory) of my mother asking me after I finished some homework when I was younger if I didn't feel better now that it was out of the way... the answer then is the same as the answer is now after this software testing paper: No.

I feel more like this: Imagine you're being raped in the ass by the pointy end of a rhinoceros and then I shoot through your groin with a high powered rifle and kill the rhino. Do you feel better? Maybe. But not for long. Technically, it's "better" now that a giant horn isn't ripping your intestines apart any more, but in a couple of seconds you're going to really wish it hadn't happened at all. So that's how I feel: like I've been raped up the ass by a rhino and shot in groin. I want my 4 hours back you son of bitch!

More than that, this testing class has really terrified me. Is what we saw in class really representative of the current state of testing in the software world? The "W Model"? My god: that's like taking pipes covered with asbestos (the "V Model" of software development), which already gives people cancer, and wrapping them in fiberglass insulation that's full of holes so that people both get cancer and get lots of little glass splinters.

It's archaic.

Worse yet, it was a class of badly taught archaic methodologies. We never saw a real, concrete example of a test case put together and explained in detail. We didn't experiment with jUnit. We didn't do a static code review in class. We didn't review a requirements document to see if it was even in the realm of "testable" and "accurate". We had a professor who dodged legitimate questions and didn't ever seem to have any good facts at hand to back up his statements.

We had 3 hours a night for what, 12 weeks? As a group we had, essentially, one full work week worth of time. We easily could've broken into groups, written a complete (albeit very very short) software design document, done a static review of the document, prototyped the application, written test cases, configured an automated build and test process with Ant and jUnit and gone through a complete testing cycle.

I know, it seems like so much work... it isn't. We didn't have to code a new operating system from scratch, or build a movie-production quality 3D rendering package. We could've written Tetris, or Space Invaders, or a fucking calculator, or Minesweeper, or a program to draw happy faces depending on the time of day or the weather, or goodness knows what else.

So why didn't we? Simple: we suck. We all suck. The students are bored and unmotivated (justifiably so, perhaps), the professors are overworked, underpaid, behind-the-curve, and consequently getting pretty damn lazy in their personal ruts, the school doesn't support technology nearly to the degree it should (the CS department has no wireless network -- the dining center does though), and there's now three and a half years of lazy teaching and lazy learning behind everyone in this class.

Write a program in 40 hours with specs and tests and all that??? It would take 30 hours just to lookup how to start the program from scratch! We've never done anything like that before!!! ::panic ensues::

The whole lot of us needs to grow up.

I'm not mister follow-through -- I've always had a hell of time ever finishing anything; it's a big problem for me, but at least I work on it -- but I wrote iTunesBiggieView in about an hour. You can write a supporting tool in a day -- a "work day" -- eight hours. With 36 hours of class time that leaves 28 hours to write docs and build tests and learn shit.

I really wish we'd spent those 36 hours learning shit, instead of getting fucked in the ass by the rhinoceros named boredom.

Tuesday, May 8, 2007

Vista: Bad with Turtles

So, it turns out that the reason for Vista's incessant Explorer crashes was TortoiseSVN -- the very nifty application that extends Explorer to handle Subversion source code repositories. Problem solved with a minor upgrade.

Now Vista is as stable as a... slightly wobbly but well set Jello mold. Today Explorer crashed as soon as Vista started, but it hasn't done it since. I guess that's "better".

I gave Ubuntu Linux a shot as well, after a job interview asked me why I didn't use Linux, since I am a self-proclaimed geek. What I found out (err... remembered) is that while I am a geek, I'm a utilitarian geek, and Linux just doesn't seem to offer me much over Windows. Sure, stability and programmer friendliness is nice, but obnoxious configuration files, holy-war-style communities, and out-of-the-mainstream applications don't help me get shit done fast(tm) which is, after all, the point. At least, it's my point.

I almost signed up for Flickr, but remembered I already had a photo album at Picassa, so that won. I'll probably regret that, but Google either scares me less or does a better job of scaring me into submission than Yahoo.

I also took the time to write this little C# app:


It's pretty rough around the edges right now, but all it really does is display the album art and title for the track I'm listening to iTunes... but it displays the title in BIG TEXT. I don't know why I can never get this functionality right out of the box with a music player -- WinAmp didn't do it either.

I like to be able to read the track title from across the room. Sometimes I'm doing stuff when the music is on -- why should I have to get close to the computer to see what I'm hearing?

Moreover I use my TV as my second monitor in a dual view setup (I know this is weird, but I only have one monitor and sometimes you really need a second screen to debug DirectX / XNA apps) -- and a standard TV has a resolution of crap x shitty, so I can't even read the standard size font in iTunes on my TV.

I should probably sell iTunesBiggieView... but it just doesn't seem like I put enough work into it to ask for money :b

Oh, and Zelda in a browser: totally reasonable. I'm tinkering with the map editor now.

Monday, April 30, 2007

Vista Happy Dance

Today, all my Firefox bookmarks went away. I don't know why, but the good news is that under Vista Firefox apparently has a bug that causes the actual content area of the browser to bounce up and down like an ATV with a broken suspension driving over a sea of boulders and land mines. It's OK though -- I backed up my bookmarks before installing Vista, just in case it deleted everything to make room for itself.

So far today, Windows Explorer has crashed 6 - 8 times. I was trying to copy a file... I finally had to use the command line.

Perhaps "Vista" means "the view out onto things that won't be broken as badly in the next version: Windows Apology."

Maybe things will go in the more abstract direction, like when we went from Windows ME to Windows XPerience, clearly denoting transcendence... Windows Unsatisfying Hallucination.

Thursday, April 26, 2007

Windows Vista

By "Vista" Microsoft seems to have been referring to the glowing brimstone fields of Hell, but I may be jumping to conclusions...

As my calloused blood and dirt stained hands type this blog, my computer sits, churing through the first of it's 250 GB-worth ScanDisk operations. Don't fret, I haven't lost any data (that I know of, so far), but I'm nervous and I'm taking precautions.

You see, today I'm down 1 and 6/8ths power supplies. 6/8ths, you ask? Well, one of them lost all of it's magic smoke, so it's definitely a gonner. But the other is newer, and I think it runs on pixie blood, which as we all know comes in little crystalized pellets, so it can't get out like the magic smoke can... but it can apparently go stale, 'cause that PSU isn't working either, and nothing got out of it as far as I know.

But what does all this have to do with Vista? Well, therein lies the rub: I don't know. Maybe nothing. Maybe it's just a coincidence that the day after I installed Vista my computer decided it was time to start igniting parts of itself. Maybe the "Deep Sleep" power saving mode of Vista really is Deep Sleep and this kind of ir-reversable shut-down state is the intended result. But there was some strange, possibly coincidental voodoo at work that made damn sure that after Vista tucked my computer in, it wasn't going to be getting up any time soon.

I wouldn't normally blame a piece of software (even from M$) for catastropic hardware failure, but we are talking about a sub-one-year-old 580 watt, top-of-the-line, modular power supply here, and we are talking about Vista.

The good news is, I'm enough of a geek to have had not one, but two spare PSUs lying around. Of course, my computer is limping along at 300W right now, but it should be enough to hold me over until a replacement arrives in the mail.

The question I'm grappling with is: What PSU do I replace the 580W one with? It's under warrenty, so I could get a replacement. But of course, if the PSU failed on its own after less than a year, I think it's time to switch brands. Then again, if Vista really did contribute to this atrocity I'd have to go wiping everything down and re-installing XP Pro. After the marathon of installing Vista, I'm not keen to downgrade unless I can find some real evidence that Vista sucks like hardware-killing bad.

Seriously: I think I'm about one really bad PC failure away from switching to a Mac. That makes ya think.

Monday, April 23, 2007

AJAX Ho!

I was playing Zelda Classic this weekend when a realization struck me...

Perhaps it came to me because of all my recent fiddling around with the Google maps API, 37 Signals' Basecamp and Backpack, the Dojo Toolkit, and all other manner of Ajax goodness.

Perhaps I was just very bored and lulled into a strange state of super-consciousness by the endlessly looping Zelda theme.

Regardless, it occurred to me that there is no reason I couldn't play Zelda in a browser nowadays. PNGs would do a fine job of displaying sprites, and things like Google Maps have demonstrated that you could certainly scroll around a massive overworld map pretty smoothly, and JavaScript has really come of age lately with object-oriented-ness and all that jazz.

Ok, so the control scheme might be annoying, being that browsers so far don't seem to have very strong joystick / gamepad support.

I bet there are still lots of games you could play in browser though. In fact, ironically, a modern rogue-like would be pretty nifty and is certainly suited for a heavy-weight server, light-weight client arrangement -- sort of getting back to the roots of it all, really.

Perhaps with the addition of fully-functional SVG (we're not quite there yet) the wave of "Web 2.0" JavaScript-ness and Ajax-iousity will finally pound the first chinks into the armor of the mighty giant Flash...?

I guess we'll have to wait and see.

Friday, April 20, 2007

Joint Pain

For some reason I keep seeing these terrible commercials for products that are supposed to help "lubricate my joints".

I think my favorite one is the one with the Native American medicine man peddling joint pills.

But today, I want to highlight the following quotation:
"...I don't hear any more cracking or grinding sounds from my joints"

CRACKING OR GRINDING sounds...

If you hear cracking or grinding just coming out of your knee, you should probably go to the doctor. Joint pills aren't going fix that. The reason he doesn't hear any more cracking or grinding is probably just that he's worn down all the bone in his joint to a fine paste. Two or three days after they shot that commercial, I bet he just fell over when his knee-paste gave out.

Tuesday, April 17, 2007

Opportunity Cost

So far, I recall learning one thing in the course of my entire college career. I learned it in my Economics class. I learned what "opportunity cost" is.

Opportunity cost is simply the value of the "next-best-thing" you could be doing, if you weren't doing whatever it is you're doing now (more or less).

My opportunity cost for sitting in my classes on an average class day is $90. That's what my time would yield if I spent it working, instead of listening to professors say "Ummmmmmm..." and watching "Refer Madness".

My classes meet twice a week for 14 weeks. That's 28 days. $2520.

I also have a night class one day a week that runs for 3 solid hours. $60 per week. $840 over 14 weeks.

The opportunity cost of this semester of college is $3,360.
4 months rent.
Or, 7 months worth of food.
Or, 56 video games.
Or, some 220 large-size paper back books.
Or, more than 1000 gallons of gas.

Or, somewhat ironically, more than 30 textbooks.

It's taken me about 10 semesters to finish all my degree requirements, but lets be optimistic: let's call it 8 semesters. At half the above per semester value. That's still $13,440.

Of course, this is in addition to tuition and fees, books (which I generally didn't use), supplies, transportation, and -- honest to God -- medication to deal with it all!

But nevermind all that for now. The optimistic opportunity cost alone of my education, excluding time spent writing papers, doing research, finishing homework, traveling to and from class, and spending time on campus between classes, is greater than the poverty-line income per annum for a family of two.

It's not that I begrudge the need for education -- I just which I had gotten one for my $13,440 premium, plus tutition and expenses. Or that somebody would just give me the $13 grand back.

Hey, Imohotep, can you shake this guy's head for me?

Do you hear any brain rattling around?

...seriously, if you were an ancient Egyptian priest prepping a body for mummification and you were slicing up the brain and pulling it out through the nose... how would you known when you had it all? Did it matter if you got it all out?

Monday, April 16, 2007

Almond Cookie

Mmmm... tasty

2 parts creme de cacao
1 part Bailey's Irish cream
1 part Frangelico

Layer.

Friday, April 13, 2007

My grandmother never made Scottish oats

I'm eating a bowl of Scottish-style oatmeal (I don't know what exactly makes it Scottish, so don't ask!) for my mid-morning meal (I'm working really hard to eat six small meals a day, but so far all I've managed is to eat six large meals a day, which is not helping my weight go down). The oatmeal is good, and all, but here's the thing:

The ... cylinder ... it comes it says "Like Grandma Used To Make". But my grandmother never made Scottish Oats. In fact, I don't think I ever saw my grandmother make "American" oats. So, what does this slogan mean for me??

All it really does is conjure up creepy images of chubby little old ladies with vaguely Scottish accents poodle-ing around a dimly lit kitchen stirring giant vats of thick oatmeal.

My grandmother did make cream of wheat though. I have some cream of wheat. The box (that comes in a box, not a cylinder -- I don't know why oatmeal comes in cylinders -- does anybody know? Leave a comment if you figure it out.) for that says -- get ready for it -- "Just Like Mother Used To Make".

What the fuck??

Ok, so maybe my mother did make cream of wheat once in a while, but my grandmother definitely had it more often. How do these bastards who churn out food products decide which relative cooked what foods? Do they do some kind of survey or poll? Am I the screwed up one (again!)? Maybe my mother was supposed to make cream of wheat and my grandmother was supposed to be the one making Scottish oatmeal! Is my family a failure? Did we miss out on the great traditional roles of breakfast making? HOW CAN I RECLAIM MY BROKEN CHILDHOOD?!

::quiet sobbing::

Thursday, April 12, 2007

12 of 12 / A+ / 100

Thank goodness I spent those 3.5 minutes preparing my oral presentation for this morning. I just barely squeaked by with a passing grade of 100%.

Maybe I'll make the Dean's List... Then I'll be King of the Moment!!!

Type Nicely

Ok, here's a point of order: we, as a race, are not at war with our keyboards. There is no need what-so-ever to slam on them like they were covered with roaches.

Hitting the keys harder does not make you type faster, nor better, nor does it impress anyone around you. All it does is give you a repetitive strain injury (thank god) and me a headache. And I get the headache even if I'm not nearby, I think -- so anytime, anywhere you bash on a keyboard, you're actually giving me a headache. I don't understand it either, all I know is I get a lot of headaches and it's your fault.

The keyboard is your friend, not your 101+ keyed punching bag.

Oral Aversion

You know, aversion -- in contrast to "fixation", I suppose. I have the personal delight of giving an "oral presentation" (which is not to exceed 5 minutes under any circumstances) in my History of Theatre class. (Yes, it is astonishing how little real work I'm doing at school this semester.) It gets a little better: it's a presentation on The Count of Monte Cristo. Wait, you say, The Count of Monte Cristo is literature not theatre -- it was a book, dammit! Indeed. Nevertheless it was adapted into a series of 3 plays by Dumas. Never fear, then, you say -- we're talking about the plays! Huzzah! It is theatre.

...no, it's Rhode Island College, baka! We're talking about the 2002 movie adaptation of the book. Yes, that's right, the loose, modern cinematographic re-interpretation of the English version of a French book is indeed the focus of the current section of my History of Theatre class.

No matter, though. It's a fine movie, a good story, and (supposedly) a great book -- I haven't read it all, yet.

Except that there's this chess piece. It's a king. Dantes and Fernand toss this chess piece back and forth as they become "king of the moment" in their exploits. They do not include the blinking, neon "Symbolic Plot Device" sign that accompanies the chess piece, as it would be too large and gaudy to throw around. Instead Napolean Bonepart (why not, right?) says to Dantes "We are all either kings or paws in this life." If you cross you eyes like when you're looking at those stereograms during that scene you can see that in the distance a giant Greek statue is holding the big neon sign.

Anyway, that's what I'll be talking about. No, not the Greek statue. The chess piece. As a cheap meta-device. Meta-device, I say? That's right: the chess not only works as all sorts of hero-villain banter-replacement and revenge symbology, it's also squarely situated in the possession of whichever character is currently dictating events in the film. Fernand has it (and notably keeps it even when Dantes announces his upcoming marriage) when he prepares to setup Dantes. Dantes receives it on his way to prison where he becomes the man plotting revenge. Fernand gets it back at the moment of Dantes' revenge only to become the force that controls the final outcome of the movie. It's almost like whoever has the king is manipulating everyone else in the story... as if they were some kind of... pawns or something.

This, my friends, loyal readers, disloyal skimmers, assorted surfers (if any), and people not yet avenged by my ever-building wrath, is deep shit. Behold the subtlety of modern cinema and despair.

Wednesday, April 11, 2007

With enough eyes all bugs...

Apparently succumb to that obscure phenomenon "diffusion of responsibility". At least, that seems to be the case with OSCommerce, a very useful and functional open-source shopping cart solution. Unfortunately, it's also clunky, messy, and somewhat out-dated from a code and usability point of view.

In the era of "Web 2.0" the constant reloading for every tiny change in the admin area is unconscionable and the table-based layout of the entire thing is astounding. Where's my AJAX-based admin tools that never reload a page? Where's the elegant, 100% CSS-based page layouts that I can change with the flick of a JavaScript-wired drop-down list? Why, o-why, are there single lines in the source code that are 500 characters long???

According to the OSCommerce website, there are also nearly 4,000 "contributions" (read: plugins that don't plug in very easily)... but they don't seem to be finding their way into the trunk of the OSCommerce build any time soon. Really, would anybody mind if tracking quantity by product attribute was a default option? Or customizing meta-tags?

The whole situation isn't helped by the fact that there isn't a plugin architecture of any kind. Installing a "contribution" amounts to following a long list of steps like

around line 220 of the products_info.php file find the following code: ... and replace it with ...
That's a real hoot when there are 20 steps and a dozen files to modify for a relatively small update.

And I know the whole thing is open source, so I could shut-up and do something about it; the problem is the whole thing needs a total re-write, and that's just not a one-person job.

Tuesday, April 10, 2007

Why does Firefox leak like a sieve?

I like Firefox... I like Firefox a lot. But: it leaks memory like a sieve. Either that, or ... get ready for it ... GOOGLE leaks memory like a sieve. Go ahead and leave your GMail or Google Homepage open for the better part of a day and watch the memory usage for FF climb.

I can get a way with it for a good long while... 60 MB, ok... 100 MB, ::sigh:: ok... 200 MB, getting clunky... 300 MB, time to restart my browser.

I'm very suspicious of the XMLHttpRequest situation. I have a feeling Googles creating an awful lot of extra request objects and FF isn't garbage collecting them. I seem to think I've run into this problem before, so it's not some baseless insight into the inner workings of FF. I also seem to think IE handled the situation a little more gracefully. At last, IE gets one point, I guess.

And on the topic of places getting one point: I'm not sorry I switched my blog away from MySpace, but I do miss the little emoticons a bit. Blogger lets me insert any image I want... but it's a big, complicated form and I just don't want to draw a smiley face for every emotion I need to express (...shut up, it's more than 2). Maybe there's an emoticon drop-down in beta over at Google... with some really fancy emoticons in it... SMART emoticons.

Hmmm... squishy

All right -- the truth is MySpace is crap. It's a terribly, clunky, badly broken site written in a language that never really matured (ColdFusion) on a collection of servers that was never really designed to scale up to uber-billions of hits per second. I just don't like blogging there.

I also don't like Blogger. It's clunky and hitting publish is a pain -- waiting for the uploads and the yada-yada, configuring FTP if I want to host my blog on another site. Meh.

So here I was today looking at the blogger page again (just thinking about hating MySpace) and the "New Blogger" is out of beta (Google seems to be getting in on the joke about their betas -- they left "beta" under the name and just crossed it out. Frankly I might not use a Google product if it didn't have "Beta" in the name somewhere now) and the whole thing seems a little more AJAX-y and all.

They added the all important ability to tag posts now too. All I need is some way to put a symbol (anybody up for [W[sometext]]) around some text and make links to Wikipedia automatically. [W[AJAX]] ... awwww crap. Maybe the next version of blogger will get this right.

Anyway, the blog, such as it is, lives here now, until somebody else gets it "more right" than Google has.