Video – My Freeze Ray (Dr. Horrible Cover)

September 8th, 2011

I thought it would be cute to do a cover of “My Freeze Ray” from the fantastic mini-musical Dr. Horrible’s Sing-Along Blog. Then I did a search on YouTube and it turned out that 90 other people had the same great idea. But I went ahead and recorded it… anyway.

On Charity

August 23rd, 2011

Tonight Carrie and I went to a Reddit Board Game Night on Capitol Hill. Apparently there was a power outage, so the place it was going to be at, B&O Espresso, was closed for the evening. The gaming got moved to Caffé Vita at the last minute, so it was a tinier, more intimate crowd. Unfortunately, we’d already parked once and it was Capitol Hill, Hades of Parking, so we had to walk a fair distance to get to the coffee shop. It was worth it, though — we played Elixer and Cosmic Encounter, and everybody had a blast.

Things wrapped up around 10:30 or so, and we packed up our games and took our leave. Since the venue had been moved, we had quite a ways to walk to our car (don’t get me started on the horrendous parking in Capitol Hill; we’d be here all night!). A few blocks down Pike we were stopped by a disheveled-looking young woman. She looked about twenty to twenty-five years of age.

“I’m sorry to bother you,” she said. “My car is out of gas and my purse was stolen, and I need to get back to Bellevue. Could you give me a few dollars for gas money?”

I’d heard about this type of scam before. The best grifts depend on either greed or compassion, two opposite sides of the same shiny coin. What cold and indifferent monster wouldn’t want to help out in this situation? We’ve all run out of gas or nervously eyed the needle hovering over the “E”, so it’s a common enough vector for attack. You simply play on the victim’s own fear. Throw in the fact that you don’t have the money to buy a couple of gallons, and you can play on the victim’s sympathies, too. Who could resist such a sob story?

Well, it turns out I can. One of the first things I developed after moving into Seattle was a calloused sense of sympathy for people asking for money on the street. When you work downtown it’s not really a choice, unless you want to give cash for dubious causes every single day. This was especially true for me, as I got on my bus at Third and James, which was absolutely crawling with folk asking for handouts. I want to emphasize that I’m only unyielding to those who ask me for money and money alone. I’m just too skeptical to believe that you need a few bucks for the bus, or to buy some food. In fact, this skepticism led me to my stock response for such inquiries. “I don’t carry cash,” I say (I don’t), “but I can buy you what you need.” If they’re asking for money for food, I’ll offer to buy them a sandwich. If they want money for bus fare, I offer to swipe my Orca Card for them on the bus of their choice. Every time I’ve been approached downtown this way and I’ve offered to buy my solicitor what they need, they’ve turned me down.

So at this point I told this poor young woman that I didn’t have any cash, but I could buy her gas. If you are being scammed and things go this way, the grifter usually makes an excuse and bails out quickly, if not gracefully. But not this particular woman. “I’ll need to go get some gas cans from my friend,” she told us. This to me seems to be either her exit line or her please-don’t-inconvenience-me-I’m-already-out-of-gas line, but before we could start down either path she ran off across the street and disappeared into the shadows of the night growing from the QFC. Carrie and I waited around a while, board game boxes rumbling as we shifted them in our hands. We waited partially out of politeness and partially out of genuine concern. Carrie was becoming nervous that she was getting her “friend”, a 6-foot-3 rogue with an anchor tattoo, an eye patch, and grapefruit-sized biceps. Afterwards she told me that she was facing the opposite direction to me to get my back. It makes me feel better to know I wasn’t the only skeptical person involved.

[I’d like to make a digression and tell a related story from many years ago, right after Carrie and I started dating. We were crossing the footbridge from campus in Missoula to the Albertson’s on Broadway. This bridge was a notorious hangout for vagrants and vagabonds. As we stepped off the bridge, a man approached on a low-riding bicycle. He swerved from side to side in loping, teetering undulations. Each unsure turn brought him closer and closer to one of the concrete barriers lining either side of the bridge’s approach until with a sickrning thud he crashed into one and collapsed in a heap, bike on top. Carrie wanted to stop and help but I was convinced it was some sort of scheme and wanted to leave him there. It’s a good thing I listened and we stopped; he was really hurt. We called an ambulance and Carrie with her CNA training tended to his wounds. I had been certain that it was something they cooked up to elicit sympathy. I’m an optimist on paper but am pretty cynical when it comes to human interaction. Luckily he got the attention he needed, but it turned out he had Hepatitis C, so that was a little scary.]

After a short delay the young woman came running back with a gas can in each hand. She’d either called my bluff or she really needed the help. I was a little shocked because I didn’t expect to see her again. She met up with us on the corner, the light to cross the street the other way was mercifully short, and we headed to the Shell station to fill what she had brought. They must have been 1.5 – 2 gallon cans, because as I was filling them she told me to only put four dollars’ worth of gas into each can (which honestly is enough to get you across Lake Washington and back home in Bellevue). She thanked us two or three times as the cans were filling, then as I handed them to her. With some final words of gratitude she waked off with her eight dollars’ worth of gasoline, presumably to her exhausted car, and we turned back north on Broadway, the way we’d been going. It hadn’t taken more than five minutes.

Now usually I would have been feeling pretty good about all this. I’ve convinced myself that she really did need it. Maybe her purse wasn’t stolen, maybe she was destitute, or maybe she had misplaced it. Maybe she wasn’t trying to get back to Bellevue and she just needed it to get to work in the morning (or school, or wherever). But I’m pretty sure she wasn’t after a couple gallons of free gas. What would she do, re-sell it? Who would buy that? Weighing what I know, it looked as if we’d helped someone in need.

The only problem is that I lied. I was carrying cash. Enough of it in varying bills to give her what she needed, to the dollar. Now I’m usually a proponent of telling the truth, even if it’s unpleasant. But I always lie about not having cash whenever I offer my stock response to requests on the street. I could have a hundred dollars in my wallet, or a single one dollar bill. I’ll always say I don’t have any and offer to buy what they need. I started thinking about this as we walked the half-mile or so to where we’d parked our car. I can only offer one defense: my concern for our safety. After all, we may have grown up in Montana but we still know better than to blindly dig cash out of our wallets for anybody who asks. Things turned out okay, regardless. If I’d given her cash and she was a meth head then it wouldn’t have done any good. I can think of very few detrimental things she could do with the gas (okay, I suppose that’s not true. She could use it to burn down a building, for example). It’s not like she could have fenced at most three dollars’ worth of gasoline, though.

This is what it takes. In the best case, we helped a hapless if irresponsible woman get back home. In the worst case, we helped her drive to that next party. Either way I’m okay with it. When another human being asks, you’ve just got to help, whatever way you can.

LEGO Link Sprite

August 19th, 2011
It's Link. The 8-bit sprite from The Legend of Zelda. In LEGO.

LEGO Link. The stand was the hardest part.

The other day at work I was waiting for build after build and deployment after deployment and got a little bit bored, so I used some spare LEGOs to build this, a mosaic of the sprite from the original 8-bit Legend Of Zelda. Then I got back to work and MEGA-CODED. I swear I actually work at work.

Video — Mary Jane Parker

August 15th, 2011

Recently I’ve been playing around with recording videos. Here is an original song, originally written for Nerds With Instruments. True to form, it’s about Spider-Man’s favorite redhead:

Expect more as I get more comfortable editing video.

Optimism Without All That “Hope” Nonsense

November 2nd, 2010

I’ve been somewhat disinterested in politics of late, hence the lack of updates here. I used to write about politics quite frequently, but those posts have been dwindling. The first and simplest explanation is that I’ve been occupied with other pursuits: writing code, writing music, and writing a webcomic that Carrie and I have been working on. This has reduced or completely eliminated my desire to write much else. There are only so many word ‘seeds’ bouncing around in my brain at one time; and I’ve been using up almost every day’s allotment (in tokens, comments, lyrics, or dialogue balloons). This has left me with very little to say.

The second reason is that I’ve been fairly disillusioned with politics. In 2008 I swallowed the whole ‘Hope’ thing hook, line, and sinker. To say that I’m a little let down by the President and the Democrats is an understatement. I was especially excited about Obama’s promises of increased transparency, of working together for compromise, and of reducing the animosity of the public discorse. Two years after the election is long enough to see that the walk from Barack doesn’t match the talk. It’s also painfully clear that the Democrats squandered their leads in Congress, and the backlash begins… tomorrow.

Tomorrow is half of the reason I’m writing about politics again. The other half has to do with the Stephen Colbert / Jon Stewart rally that happened a few days ago in that other Washington. With both of these events horning in on my blissfully politics-free mental state, it was only a matter of time before a few words squished their way out, like pus from a zit exploding onto a mirror.

First, the Rally. I couldn’t stand behind the message more. The vitriol of mainstream political rhetoric in America often upsets me far more than any issue said rhetoric pretends to address. It ranges all the way from angry talking heads almost shouting on TV down to uncharacteristic anger and all-caps rants between acquaintances on Facebook. People get lost in the ’cause’ and we somehow forget that we’re arguing with our friends and neighbors, that suddenly we’re refusing to talk to someone we’ve known for years, just because of the name they checked on their ballot. The Us Versus Them mentality makes it easy to forget that we’re not arguing against people, we’re arguing against their ideas. The pundits and politicos would love nothing more than for you to start treating those people with whom you disagree as The Enemy, in All Capitals, with an Extended Middle Finger. “You voted for McCain? Well, piss off then, because that invalidates anything you might ever say to me!”

Throughout my life, I’ve tried to avoid this at all costs. I don’t know how I could have kept so many friends if I’d allowed each one’s political position to influence our friendship. As someone who leans strongly to the left growing up in Montana, a state that leans heavily in the opposite direction, I would have had very few friends if I’d let the divisive issues of politics or religions or sports teams get the best of me. Yes, we disagree on one or two issues, but we have so much more in common that fighting about it is, well, stupid. It was reassuring to watch the Rally on Saturday and not feel so alone. Compared to the empty promises of the last election, the Rally stirred within me a much more real sense of hope than any campaign promises ever could.

Speaking of campaigns, right now they’re are heating up into an orgiastic frenzy. The dollars are pouring in and the anger is dialing up and the people on the ads (so very different in behavior from the people who wind up in office) are shouting at each other through their smiling mouths and people are predicting one sort of capital-W “Wave” or another and the money is flowing in and the kids on Reddit are pushing to get out the vote and the pundits are waiting with bated breath and the money is pouring in and both sides are practicing their caging and some people just can’t wait until the Christmas ads starts and did I mention that the money is just gushing in?

The disillusioned part of me is wondering why. Surely, the Republicans don’t need to do much more than they’ve already been doing, despite the Democratic super-majority in the Senate and the majority in the House. Why waste so much money on what’s almost assuredly going to be a win? The conventional political wisdom says that in a mid-term election, the country sways away from the party in control. Why is this election so damn interesting?

It’s all about anger. The Left’s base is upset because the Democrats aren’t doing enough; the Right’s base is upset because the way they see it, they’ve done too much already. Offset things four or six or eight years and it’ll swing the other way. If America were a parked car, it would be trapped on both sides by the Right and the Left. Every election we try to get out of the spot we’re stuck in, and the only way we know how to respond is by colliding with one side’s bumper, and then the other’s. It never occurs to anybody that maybe we should tell the other cars’ owners to move the damn things, or at least try ourselves to turn the wheel.

Normally I would be pretty upset by the probable outcome of tomorrow’s election. I know a few people who will be upset, regardless of which ‘team’ wins, and regardless of whether the car is bumping into the barrier on the Left or the one on the Right. But not writing about politics so much has allowed me to think about this election a little more clearly. And the truth is, I’m tired of being upset. Jon Stewart’s analogy about cars merging into the Lincoln Tunnel is quite apropos. The idealist in me rages about the chance we’ve lost. The pragmatist sees the future opportunity. Change doesn’t come in slogans or “Hope” with a disclaiming (TM). It certainly won’t roll over us tomorrow in some vast Wave, regardless of the outcome of the election. The truth is, no single election has that kind of power.

For better or worse, those in charge have slowed the pace of progress. It’s in their best interest to keep things the way they are. How could this possibly be good for us? Well, if we were constantly changing things as fast as we could then we’d be racing toward certain doom at the same speed as possible salvation. Going this slow ensures that we’re not in danger of catastrophe and that we don’t need to pray for salvation. To partially quote Jon Stewart, these aren’t end times. If you’ve got the right mindset, these can even be ‘begin times.’ The Rally has helped me see it this way. I want my pragmatism to push me forward. I want my idealism to guide me, but never to hold us back. Saturday’s Rally showed me that there are a lot of people who agree, and this more than outweighs the disappointment that another knee-jerk, pendulum-swing election would have brought. Good timing, guys.

A special thanks to my friend Kaiser. His recent post about the Rally motivated me to get off my duff and write something, too.

New Software – Sanebox

October 18th, 2010

One of the nice things about being a programmer is that if there isn’t a solution for some problem you have, you’re free to write your own. To that end, I’d like to present Sanebox, a lightbox plugin for jQuery. I initially wrote it for use on my portfolio, but soon decided that others might be able to use it, too. It’s got a few features worth mentioning:

  • You use jQuery selectors to create lightboxes from links.
  • It can display images, Flash video, and HTML 5 video.
  • The plugin was written to make it easy to customize.
  • You can also customize its behavior using callbacks and the plugin’s public methods.

But enought talk, here’s a demonstration. Click any link below to view it at full size:

The online documentation has a lot more info, including an options reference and a description of the methods and callbacks Sanebox allows.

It’s licensed under a Creative Commons license, so you can use it freely in your projects. The only hitch is that the Flash player is only licensed for non-commercial use. That means you have to use it non-commercially unless you also get a commercial license for the Flash player.

Fifth Christmas Album

October 16th, 2010

I’ve started ‘pre-production’ on my fifth Christmas album, which is as of yet untitled. Every year since 2006, I’ve recorded a Christmas album as a gift for my mom. She’s really into Christmas, and I suppose I am, too. My parents’ house is ridiculously decorated the weekend after Thanksgiving, and it looks wonderful every year. Carrie gets a little sad because she says I disappear for the last few months of the year to work on the album. Actually, I’ve been getting better at getting these records recorded — two years ago I finished it on Christmas Eve, and last year I was done in time to FedEx it to my parents before Christmas. These albums are fun to make but slightly detrimental to my discography because they’re almost entirely covers, and usually more than half are encumbered by copyrights that prevent me from sharing them without worrying about paying royalties.

Right now I’ve got two tracks arranged, a cover of “Chiron Beta Prime” by Jonathan Coulton and a cover of “Merry Christmas, Here’s to Many More” by Relient K. I’ve chosen most of the songs that will be on this record. I’m in no dangers of running out of tracks. Even after four albums, I’ve got a pool of about 100 songs that should last me for at least the next seven albums (at fourteen tracks a pop). And I never said I wouldn’t record new versions of songs.

Christmas always starts way early for me because of these albums. I even start listening to Christmas music (for inspiration) before Christmas merchandise appears on store shelves, if you can believe it. I’ll probably post one or two tracks as Christmas approaches. Obviously I’ll select them from the carols or other public-domain works I cover. There’s also one original song on each album, so I’m sure I’ll post that one, too.

In the meantime, enjoy the lull in Christmas ads, which would have started appearing on TV, if not for the fact that it’s an election year. On second thought, I guess the political ads might not be an improvement.

The Suckers – Sour Grapes

October 13th, 2010

The Sour Grapes album cover depicts a fox disdainfully turned away from a branch of grapes that hang just out of his reach.The newest album from The Suckers is finally available to download for free in the music section. There, you can listen to or download individual tracks or the full album zipped up. There are 17 songs on this record, and I’d go as far to wager that some are even a little catchy. The music is pop-punk, in the vein of The Ramones, Screeching Weasel, Teenage Bottlerocket, and other bands of their ilk. Each song has slightly more than three chords and an attitude.

The cover art, which depicts the literal fable “The Fox and the Grapes”, is a photo montage made from free images courtesy of the Morgue File, and these authors deserve due credit: aquaio, jak, badeendjuh, and missyredboots.

New Skin

October 13th, 2010

This blog has gotten an upgraded theme, the same one that’s on my portfolio. Thanks to my lovely wife Carrie for taking my old site and making it shiny!

Sonic 4: First Impression

October 12th, 2010

To say that I’ve been looking forward to this game has been an understatement. I’ve never taken to the 3D Sonic titles, and although I’ve flirted with trying the handheld games, they never quite clicked for me. So after all the talk about how this game is supposed to be the spiritual successor to Sonic 3 or Sonic & Knuckles, I was quite excited. I counted down the days, I got up bright and early today, and I waited until the afternoon to download it. I’m not sure when it finally was available, but I finally got it a little while ago. I had to sign up for a full PlayStation Network account just to buy the game, but that’s a tale for another day.

The graphics are amazing, eye-popping, and just what I’d expect. Part of the reason why I waited until today (and waited most of today as well, as it turned out) was to get the PlayStation 3 version. The sound interestingly is more of a throwback to the older games’ soundtracks. I like it. The Genesis Sonic the Hedgehog music is some of my video game music; probably because I would hear it for hours on end back when I was in grade school.

Unfortunately, the best graphics and sound can’t save a bad game. I’m not ready to declare Sonic 4 a bad game just yet, as I’ve only played through the first zone. But so far I haven’t liked what I’ve seen.

First, the play control is bad. This game is supposed to be a direct throwback to the older Genesis games. Too bad they didn’t spend enough time replicating the controls. I noticed this almost immediately as my mind and motor controls went into a ‘retro Sonic’ mode. But the behaviors of Sonic after each button press, which are ingrained into my gray matter, didn’t work as expected. The most jarring example is Sonic’s momentum. In earlier Genesis games, Sonic had momentum in the air if you run and jump off the right side of a cliff, then let go of the right D-pad button, the blue hedgehog would still continue to go to the right. Not so in this game. In fact, it’s quite unrealistic no matter what type of game it is. When you jump into the air and let go of the D-Pad, Sonic immediately stops moving horizontally. In previous games, you had to jump at a small platform, then press the D-pad in the opposite direction, to compensate for over-shooting. Not so in this game: just jump until you’re over the small platform, release the D-pad, and you fall onto. Whether or not this is better is irrelevent. It’s different. That’s what counts. From the very beginning, I had to re-train my brain. For a game that’s supposed to pick up right where the last Genesis title started, how could this have gotten by all the quality control?

The other major fault I’ve noticed with the game is a problem I’ve noticed with the other recent Sonic 2-D platformers. In Sonic the Hedgehog games, you’re supposed to go fast, right? That’s kind of the point of the whole thing. Unfortunately, in this game if you go fast the developers punish you. There are enemies and obstacles in the way that hurt you. Unless you know the layout of a level beforehand, you don’t dare go fast (unless you want to lose all your rings). A video game should not be about rote memorization. You should get fair warning before getting hurt; a clever player should be able to go pretty far before losing his rings. This has been true for the last few Sonic 2-D games (Sonic Rush comes to mind). Who is behind this? Why are they still allowed to make Sonic levels?

It could be that this is a fluke, since I’ve only played the first levels. There’s one more infuriating thing about the first zone, and that’s the little chameleons that pop out of the walls and shoot you. The problem is that you’re given zero time to react after one pops out. Every single one I came across zapped me. So maybe the first level was designed by a sadistic jerk, and they kicked him off the project before he could ruin any more levels.

I’ll play through the whole game before passing judgement, because I still hold a hope that this game will be just as good as the classic Sonic games. Please fulfill my hope, Sonic Team.