Upgrade Time Again

Well, I guess it had to happen. My computer gave up the ghost.

Well, okay, it didn't really. I just found a single app that it couldn't handle. Namely, Adobe Premiere Pro. I didn't know this at the time, but apparently it requires SSE instructions to work - and apparently, the AMD 1400+ that I bought a couple of years ago doesn't support this.

So now my wallet is considerably lighter... I went out and got a 3.2GHz P4 (1mb cache), with DDR TWINX1024-3200XL extra low latency Corsair Platinum RAM, and an Asus P4C800 motherboard.

Well, at least the software runs now.

One thing I'm going to miss, however, is the ability to use Wake On Lan to kick my machine when I'm at work. (This way, my apartment doesn't turn into a heat bath thanks to the output of the computer in the summer... although it's almost welcome in the winter).

I wrote my own little app to create the right magic packets, broadcast them over the LAN from outside of it and everything. Worked great. But apparently this mobo doesn't support it.

Damnit. To fry or not to fry, that is the question.

(more...)

Production? Pah... How about Post Production!

Well, I just went from production to post production (and, unsurprisingly, before that I went from pre-production to production) on the first official Popcorn Films short film this weekend.

It looks good. I was acting as Producer (and Executive Producer?) on this piece (not my usual bag, but I've managed software projects... producing a movie isn't that much different, except it happens on shorter timescales and you end up talking on the phone to more people). Next up, I'm working as Editor, and trying to work it into shape from the dailies.

The only bad thing? I may have lost my slate. Hopefully it'll turn up.

During this shoot, I acted as camera operator on some pickup shots, got a short cameo (which I may even edit out depending on how bad I acted in the roughs :-) ), helped with lighting (using a bounce and bounce cards), stopped traffic on a busy street in Seattle's University District[1]and even held up sheets to protect the modesty of a nude actress.

Should be fun.

I'm lucky to have the crew I have though. Miah Hundley, Peter Torr, Cherry Chau, Tracy Reynolds, Steve Freeman and Jim Newman take a bow. (Probably shouldn't be too deep of one for Steve - he got sun stroke on the first day of the shoot by completely overbaking his noggin, and the blood rushing to his head will probably cause an embolism - so please, Steve, take a light bow and we'll worry about the deep ones after your skin has stopped peeling off like paint from on old car). Thanks to Joseph DeLorenzo for putting up with us setting up shots while wearing WAY too much clothing, Beth for coming in to act as an extra, and Dan Walsh for being willing to help out. If there's anyone I missed, I apologize.

The wonderful world of Editing awaits. The process generally goes like this:

1. Capture all of your footage from the source to digital.

2. Arrange all of your shots in story-chronological order, correctly labelled, sorted into bins for each scene.

3. Identify good cut in/cut out points of the shots, good shots, bad shots, and generally figure out what you've got for each bit.

4. Watch all of the pieces in order, repeatedly, to get a good fix on what the shots look like in relation to the script.

5. Go to town, a scene at a time, splicing a piece from here, and a piece from there, at the good edit markers for each clip. This is my rough cut.

6. At this point, you'd start worrying about audio, but given that we only really picked up a little wild sound for foleying in, and are going to see about replacing all of that with a sound track, we probably won't worry too much. Except for the end.

7. Watch the scene again for flow, and repeat from (4) until done.

After I get the rough cut down, I'm going to bring in the director to look at it, and get feedback. We've got a couple of digital composite shots we need to get in, and a few simple opticals, but mostly it looks like a very straightforward process at this point.

But what I do know is this. (Empirically, that is - this is what it has taken me before). You can multiply the amount of footage you have by about 8 to 16 times to get the amount of time it'll take to edit it down to the final edit. Which means I'm in for anywhere between 16 and 32 hours of editing - at the end of which I'll have an about 5 minute long film.

The film then goes off to Drew Batchelor, at which point I ask him real nice to write us (and record us) a musical score. In return, I provide large quantities of beer and cigarettes.

Still, it's all in good fun. All I know for right now is that I'm going to be spending one hell of a lot of time away from my normal social life over the next week or two while I get this assembled.

[1] It's amazing how helpful people are if you're willing to just ask nicely and say "Hey, we're filming just up the street - I'd appreciate it if you could help us out by just waiting here for a few seconds while we get the shot". Thankyou Seattle peeps.

(more...)

Hungarian Notation Lite®

Since bitching (or otherwise) about Hungarian notation appears to be a common past-time right now, I thought I'd shove my oar in and deliver my 2 cents.

If you're trying to write code that looks clean, is readable, and yet conveys that little bit of information that you might need to make your day go by that little bit smoother, just exactly what are you going to do? I mean, without vowing to discard all vowels from your variable names?

Personally, I have some simple rules.

Interfaces start with I

Classes start with C (ok, so I break this one quite a lot...)

Member variables are always prefixed with m_

Flags start with a b for boolean

Pointers to anything start with a p.

Template class hierarchy mixin classes (aka Policy classes) all end in Impl. (That one comes from ATL's CWindowImpl... I just cribbed it).

Generic Template classes (eg. containers) tend to end in T. But this isn't a hard and fast rule.

Dialog classes end in Dlg.

That's about as far as I go usually. I gives you enough information not to make the most basic of mistakes, without tying you down to a framework or system which gets hairy if your code changes a lot or you do some refactoring.

It's funny. The more I think about this, the more I'm certain that it doesn't really matter what you do, as long as you do it with a modicum of consistency. Well, that and remembering that if you get hit by a bus tomorrow, there will be someone going through your code line by line shaking their head in confusion if you get too obtuse.

Edit:

I forgot a couple:

g_ - indicates a global variable. Sometimes I waver between going as far as saying You Must Type global_ instead of g_, but it depends on the project. (For example, embedded software engineers hate me if I try to enforce the long form of this one).

s_ - indicates a static variable.

str - prefix for a string - both a C++ STL string and a C style pointer-to-zero-terminated string.

c - prefix for something that is const.

(more...)

Rest in Peace, Sierra

Well, it looks like Sierra has gone the way of the dodo. It now lives on in brand-form only.

That's a shame. Sierra was easily the best company I've worked for to date. (Not that I dislike my current place, but Sierra had more resources and was working more in the area that I'd consider my core interest). I made some of my closest friends at that company. And I had a lot of fun.

Sure, it's not exactly unexpected that this happened. For example, during the last two rounds of layoffs they got rid of a lot of people who were prime-movers and producers - the engines behind the machine, if you will. Losing your top performers is certainly not a smart move if you want to stay in business. But they did - and now look where we are.

I'll miss you, Sierra. May you rest in peace.

(I'm just hoping that this isn't the death knell of the rest of the Seattle area games industry... what with Zombie games laying off people, Microsoft ditching their sports games... there certainly doesn't look like much you can do other than set up your own company any more around here. Which would be good if games weren't so expensive to produce if you want them to sell).

(more...)

Furious Angels

I found this particular album early this year when I took a chance and stepped off into the dark deep unknown and decided to order a random collection of tracks by someone whose music I'd really enjoyed on The Matrix's soundtrack.

I wasn't disappointed. It's the closest thing to a concept album that I've heard in a long time. Perhaps this generation's version of Pink Floyd?

Maybe.

Maybe not.

Either way, you can find out for yourself very easily. Because unlike most CDs, you can listen to the whole thing online. Try before you buy, if you will.

See? Now there's no good excuse to copy it on MP3 from Napster. If you like it, buy it. If you don't, don't. If you're in between, listen for free online. It's the whole album after all.

I like this... :)

So, in conclusion, Rob Dougan kicks ass. Rich orchestral/synth/techno soundscapes with a crotchety Tom Waits vox. And the videos? Out of this world, dear reader. Out of this world.

Watch and Listen to Furious Angels Online Here

(more...)

subscribe via RSS