2006/09/29

Friday Wanderings

Goal: buy an external hard drive, some badly needed beer, and if I'm lucky, score a copy of Sword of the Stars since CompUSA couldn't hook me up. So I ended up at Gamespot. It was on the way, honest.

This particular Gamespot is near a highly recommended liquor store (notably named "Steve's Liquor" which really couldn't be better but indeed I did not buy my beer there). What I didn't know was that it was almost solely dedicated to console games and Sword of the Stars is most notably NOT a console game. Live and learn.

They did, however, have ONE SHELF of PC games. Now I'm a sucker for PC games--it's how I grew up. In fact, I'd say that video games have shaped my life more than anything else so to see this entire store devoted to games and only maybe 2% of its entire shelf space holding the PC games which I knew and loved, I was, well, feeling a lot like a gaming coelacanth. Old doesn't come naturally to geeks, IT SNEAKS THE FUCK UP ON YOU WHEN YOU'RE TRYING TO BUY GAMES. Ahem.

The game I was looking for did not, sadly, exist on that one mere shelf. What I did find, though, was that no less than three of the games I worked on did exist there which was pretty cool. Background bit of this post: enter stage left.

I am a professional video game developer. I'm a software engineer by trade but most places I've worked have dumbed this down to "programmer" which is only part of what I do. "I went to school to be a software engineer" is partially true. I went to school to get out of Kalamazoo, the software thing happened 5 major changes later. Seven years and a pair of engineering degrees later I landed my first game dev gig and boy howdy, the things they never teach you in college. It's been six years and three companies now and I've somehow outgrown "kid" but am not yet respectable enough to be "senior" which I expect to continue indefinitely. Regardless of age or quality labels, I assure you I'm 100% USDA prime geek.

Programming is not all I do. Other things that I'm fond of that will show up from time to time: composing, sketching, 3D modelling, cooking, home brewing, gaming, Buddhism and eastern thought and a bunch of other stuff that aren't coming immediately to me. I don't claim to be any good at anything really, but I do claim as many do that I have a somewhat unique perspective and a few pretty words to express it with.

I dislike talking about myself so that'll do it for now.

(For those wondering, I did find Sword of the Stars but did NOT buy an external hard drive because I didn't find one I liked. The beers in question would be New Glarus Copper Kettle and Capital Brewery Brown Ale.)

2006/09/25

Homebrewing is Like Pipelining

In an attempt to convince you of my not-saneness, I offer the following. This transcript somewhat modified to protect your hardworking bandwidth.

[16:16] ktorrek0: somehow i've managed to find $60 worth of brewing supplies THAT I CAN'T LIVE WITHOUT
[16:19] ktorrek0: it took all my willpower to not buy another recipe kit too, let me tell ya
[16:19] ktorrek0: but i did buy another secondary fermenter so i can dangerously have two batches going at the same time
[16:19] martiank9: that can't end well
[16:19] ktorrek0: considering i barely have enough bottles for the one batch, it sure can't
[16:20] martiank9: i think that means you have to buy more bottles
[16:20] ktorrek0: or drink more beer
[16:20] martiank9: and really, can't you be content with one batch at a time?
[16:20] ktorrek0: um, no
[16:25] martiank9: I don't think this is a good hobby for you
[16:25] martiank9: there's too much waiting
[16:25] ktorrek0: this is why i need more bottles
[16:25] martiank9: how will more bottles help? Do they accelerate time?
[16:26] ktorrek0: no but you can keep more beer going so that you get a new batch every week
[16:26] ktorrek0: think of it like pipelining
[16:26] ktorrek0: which is probably not something that anyone's ever done
[16:27] martiank9: you can't be the only home brewer who has wanted to stagger batches so they get new beer every week
[16:27] ktorrek0: yeah but i'm probably the only one who's ever tried to explain by using an obscure microprocessor reference

For those who are unfamiliar with the term, Pipelining is roughly defined as breaking up a big instruction into multiple baby-steps so you can keep every unit of the processor doing something rather than hanging out waiting for the next instruction. No, that sentence wasn't run-on. Bear with me here.

In the bad old days CPUs did an entire instruction from start to finish in one clock cycle. This worked pretty well except that, hrm, those math units are sitting around doing nothing most of the time, and arg, that memory subsystem is just hangin' out there and...well you get the idea. So we can make this thing better, stronger, faster by chopping up our instructions into smaller bits that can all be done in parallel putting those lazy units to work! Hence pipelining.

Your old instruction took N microseconds to complete for pretty much every instruction. NOW you get N microseconds for the first to complete then N/pipeline depth microseconds for every additional one...in the ideal case of course. So now in your ideal case you can get more work done per unit time. Woot.

Enter Homebrewing
Now, I'm a total homebrewing n00b (I've had my first batch going right now for about a week). The basic phases of brewing beer defined as "me having to do any work", are primary fermentation, secondary fermentation, and bottling. In places where I read about such things, the generally accepted rule of thumb is 1 week in primary fermenter, 2 weeks in secondary fermenter, and 3 weeks in bottle before consumption. Basically. So we're talking six weeks per batch here...and jeez if I'm not killing myself just waiting around...*lightbulb*.

So enter a couple pipeline registers (gigantic bottles to hold not-quite-ready-beer) and I can now have multiple batches going at the same time. Granted, 5 gallons of beer in a week is a bit excessive even for me so I'm probably going to wait another 2 before starting the second batch.

So there you have it: Homebrewing is Like Pipelining.

2006/09/20

Blogging, yeah

*stab*
I am barely sane. Go ahead, ask anyone who knows me. You won't be disappointed.

randomness
I often come up with crazygonuts things that sane people wouldn't consider but that's kind of what I do. And just when you think you figured out my craziness....*BAM* I'm somewhat normal (or sober). I might even stick to a crazy "middle of the road thanks much" stance for random things. I defy your feeble attempts at prediction!

barely coherent
I tend to be very wordy. I can't help it! I also switch styles a lot from common vernacular to research-like-whitepaper-makes-people-want-to-shoot-themselves form. It's because I learned to write in Grad school. You're still here reading my ramblings so try not to make a mess; exit wounds tend to be very sloppy.

...back in my day....
I've been around a while, done a lot of things, and did this blogging thing before we had a word for it. Seriously. My original blog was started in 1995 and you can see where it used to be here (no, I can't actually fix the mimezine link to point here because I can't remember my umich password). I knew HTML (like raw HTML) back when that meant something.

I have an eclectic memory that occasionally acts up. Sometimes I point out weird shit like the fact that a one pound lobster is about 7 years old. Sometimes I forget what I ordered at lunch.

so what?
Sometimes I might have a point. Most times not. Sometimes you gotta dig for it to figure it out but I'm probably not going to tell you I have a point unless it's about to smack you with the subtlety bat.

this is my gun
And this is my blog. Again.