January 30, 2004

And on the Seventh Day, He Bitchslapped them: A Manifesto in Rant Form

by peterb

Scalzi identifies an initiative of the Georgia Department of Education to eliminate the word "evolution" from the curriculum as being stupid. And he's right. He has a bit to say about Creationists, and describes them as "willfully ignorant" rather than stupid. I think I disagree with that distinction: if you're a Creationist, you are stupid. If you know a Creationist, they are stupid. There is no shame in looking at a drooling idiot moronic pus-filled sack of barely firing synaptic connections and calling them "stupid."

Even if they are wearing an Armani suit and know how to lobby Congress.

Now, I understand (I think) what Scalzi is getting at: don't underestimate the enemy. That's good advice. Obviously, there's a risk that calling someone "stupid" will lead you to think that they pose no risk to you and yours, that they couldn't possibly outmaneuver you politically, socially, or financially. But as more than 200 years of US history and the current worldwide popularity of Britney Spears shows us, Stupid turns out to have quite a lot of influence.

Plenty of attributes are more dangerous in an enemy than stupid. An enemy can be cagey, crafty, aggressive, agile, persistent, evil, single-minded, and dishonest, and still be stupid. Just look at the American Family Association, for example.

So let's hear it for calling people stupid. I think we don't do it enough. The world has enough tolerance to go around that I feel like I'm just bringing a little balance to the table when I point out that, in objective terms, anyone who thinks the world was created in 7 days just a few thousand years ago is stupid. Really stupid. How stupid, you ask? Stupid in a accidentally-drank-drano-instead-of-vodka sort of way. Stupid in a drooling idiot mongoloid fucktard assrapes small children at the pancake breakfast sort of way. Stupid in a thinks Saddam masterminded the 9/11 attacks and figures if you have slanty eyes you must be Chinese sort of way.

Stupid, in other words, in a "You goddamn smug Christian pigfucker, I will do everything in my power to keep a moron like you from having anything to do with my child's education, and if you don't like it, you can choke on my bile and go into a permanent degenerative coma" sort of way.

Those of us who are not religious extremists did not start this culture war. But you had better believe we intend to win it.

Posted by peterb at 08:13 PM | Comments (3)

January 28, 2004

Icarus of Pittsburgh and other short films

by peterb

While trying to figure out what the hell, exactly, the lyrics to Aimee Mann's superb song Red Vines mean, a friend pointed me to the wonderful animated video (Quicktime). The video was done by artist Evan Mather. I was interested in his work and enjoyed it. His animation workflow involves Adobe Photoshop, After Effects, and Final Cut Pro. I especially liked his short film Icarus of Pittsburgh, but perhaps that's just location-based snobbery.

As is typical in these matters, I'm the last person in the world to know about Mather's work.

Posted by peterb at 06:31 PM | Comments (0)

January 27, 2004

O Cousin! My Cousin!

by peterb
While hanging out on CMU Zephyr tonight discussing election results, someone painfully pointed a link to the very strange Cousin Couples web site, which is where you go if, apparently, you're screwing your cousin and want to find a group of idiots who'll say "You go, girl!" While looking, we quickly discovered the Poetry Forum where people could write awful poems about how humpable their cousins are. This gave me some bad ideas, and of course it was just a few minutes before it all spun out of control. Normally we'd have preserved these in the topbot, but the formatting issues made it ugly. So I present to you, without further ado: Zephyr's Best Cousin'-Lovin' poems!

Sonnet #315: My Cousin is Sooooooo Fucking Hot
To praise a certain lady given grant
Without succumbing to society's curse
Even though she is the daughter of my Aunt
It's not like humping her is so much worse

The Love Song of Chester the Molester
Shall I part my mullet behind? Do I dare hump a niece?
I shall wear plaid flannel shirts, and sleep in the trailer.
I have heard the country-western music, and been fleeced.

Ode on a Grecian Cuz
Thou still unravish'd son of family,
Thou foster-child of Robert and Aunt Marge,
Sylvan historian, who canst thus express
A flowery tale more sweetly than our Downs-syndrome children?

Soon Ogden Nash joined in:

I like eels
except as meals
and the way that their lack of intra-eel societal approval
of first-cousin consanguinous marriages feels

Quoth Dorothy Parker:

Men don't make passes
at women who are too closely related to them.

And, of course, combining Walt Whitman with filthy English jigs came naturally after that:

O COUSIN! my Cousin! our fearful trip is done,
My hands have searched your every rack, the prize I sought is won.
The port is near, the bells I hear, I would be safely harboured
I'll open your gate, but must sail straight, for you see I list to starboard.

What is a poetry contest with Emily Dickinson?

He touched me, so I live to know
That such a day, permitted so,
I groped upon the tracks.
It was a boundless place to me,
And silenced, as the awful sea
Our children are hemophiliacs

nlanza jumped in with some beautiful contributions, including: Edgar Allen Poe!

Once upon a midnight dreary, while I pondered, weak and weary,
Over many a quaint and curious volume of forgotten lore,
While I nodded, nearly napping, suddenly there came a tapping,
As of some one gently rapping, rapping at my chamber door.
"'T is my cousin," I muttered, "tapping at my chamber door;
On this night I score."

(At this point, nlanza and I both had to admit that one could probably read Poe's Annabel Lee into this little competition without actually changing any of the words.).
Nat also provided the ever popular hymnal:

Nearer, my cousin, to thee,
Nearer to thee!
E'en though it be state law,
That keepeth me,
Still all my heart would be,
Nearer, my cousin, to thee,
Nearer to thee!

Two cousins lingered in a yellow wood
And sorry I could not marry both
And be one family, long I stood
And made out with one as long as I could
To where we got lucky in the undergrowth;

Perhaps one of my favorites came courtesy of jferro:

They tell me you are consanguineous and I believe them, for I have
seen your harelip passed down through the generations.

Corey, not to be left out, contributed this gothic gem:

In the desert
I saw a creature, naked, bestial,
Who, squatting upon the ground,
Held a heart in his hands,
And ate of it.
I said, "Is it good, friend?"
"It is bitter -- bitter," he answered, "But I like it
"Because it is bitter,
"And because it is my cousin

Any contributions from you guys? Comment below. (Apparently some of the Cousin Couples partisans can get a bit uppity. I wonder how they'll deal with this little exercise in creative expression?) ADDENDUM: There has been quite a bit of activity in the comments to this thread. My reponse to some of your comments can be found in this article. Enjoy.

Posted by peterb at 10:17 PM | Comments (26)

January 26, 2004

Startup Envy

by peterb

I've been compulsively reading every single article on Andy Hertzfeld's Folklore page dedicated to the early days of building the Macintosh. I discovered this through a link at Daring Fireball. I can't stop reading. Part of me is filled with an overwhelming sense of envy; I was only 13 years old when they started building that machine but that was what I wanted to do.

Not only that, but I look at the stuff I've done, and while it's pretty cool -- telerama wasn't exactly chopped liver -- it's not quite as exciting, somehow. Perhaps I simply think the grass is always greener, yet "I'm building a world-class network storage solution" just plain doesn't sound as earthshaking as "I'm building the computer for the rest of us."

One thing about this series of articles that I think is pretty cool is the demonstration of how the skills of an engineer grow in their use. Hertzfeld's main characteristic that makes him a great engineer is that he's not afraid to dive into things that he doesn't know much about and figure them out.

I'll take a smart engineer with no experience in a given field over a super-experienced dope any day. Especially in a startup, where very often hard work is more important than your resume.

The other interesting thing that the site shows is that the engineers on the ground were quite unaware of the effect their little computer might have. Sure, Steve might have been asking people "Do you want to change the world?" But to the engineers -- with the possible exception of Bill Atkinson -- it was just another neat hack. Diego thinks this was all part of a master plan, but I disagree -- making a new product is like making sausage. The end result may be delicious, but what goes into it is more a matter of trial and error and discovering what tastes good. Yes, we eventually had style guidelines for the Mac and Lisa, but those were, practically speaking, given by the users to Apple, not the other way around. The one thing we can (and should) give Apple credit for is being one of the first companies to actually bother listening to their users.

And I wish I had a Monkey to test my code.

Posted by peterb at 12:32 AM | Comments (4)

January 21, 2004

When Emulation Goes Bad

by peterb

...because you can never have too many parodies of Mortal Kombat.

Posted by peterb at 11:11 AM | Comments (0)

January 20, 2004

"Editing Offline" in Final Cut Pro 4

by peterb

One of the most misunderstood features in Final Cut Pro -- other than all of them -- is "offline" mode. This is probably because the word "offline" is overloaded in the program's GUI. The most common usage is simply that the media is offline, but you can still edit the project.

However, there is another, more useful definition of "offline" in FCP4, sometimes referred to as "Offline RT": editing in a resolution lower than that which you eventually intend to deliver. It's not obvious how to do this, or even that it's possible at all, without a little investigative work. But once you figure it out, it opens up the possibility of a much quicker workflow.

Why would you ever want to do this? A few reasons:

  • Most significantly, working with lower resolution files means less disk space usage. 45 minutes of DV resolution footage takes up 10 gigabytes of space, which is about what I usually have free on my powerbook's internal drive. 45 minutes of Photo JPEG resolution footage only takes up about a gigabyte. So for me, Offline RT is the difference between having to be tethered to an external firewire drive, or being free to grab the laptop and edit anywhere.
  • Lower resolution means less memory consumption, therefore FCP4 is more responsive.
  • Lower resolution means less time spent rendering and more time getting real work done.

The downside to working in Offline RT is that it isn't terribly well documented, and it takes a leap of faith to try it the first time. It also requires you to log your clips with thorough devotion and use batch capture or capture clip rather than "capture now" when acquiring the media -- but you should be doing that anyway.

Without further ado, here is Peterb's guide to completing an Offline RT project in Final Cut Pro. Note that I'm assuming your "native" resolution is DV-NTSC and your "offline" resolution is half-size PhotoJPEG. The same principles apply, however, even if you're working natively in HD and are using DV-NTSC as your offline res.

(1) Log your clips carefully. When all the media you think you'll use is logged, go ahead and batch capture them using the DV-NTSC -> Offline RT/Photo JPEG mode. Note: don't capture them in DV-NTSC and recompress later, as this can lead to aspect ratio problems. If you must capture in DV-NTSC, use the Media Manager's "Create Offline" feature, not "recompress."

(2) Edit a rough cut of your project as usual -- nothing has changed except you are working with lower resolution clips.

(3) When you're near completion and want to work with the higher resolution clips, go to the Media Manager for all clips and sequences in your project and choose "Create Offline" (yes, this is not intuitive -- don't you want to Create Online? Just trust me. This is one place where the double meaning comes in, because "Create Offline" and "Make Offline" have completely different meanings). For format, choose DV-NTSC (or whatever the final resolution you intend to work in is). Make sure "delete unused media" is checked, and make sure the "copy and place in a new project" checkbox is checked. You're going to create a junk project to hold your online clips and sequences. "Create offline" is going to upres our sequences, special effects, and clips to the target resolution (it will still look ugly at this point, of course, because we've basically just taken a half-size photo jpeg clip and made it larger and more pixelated. Don't panic).

(3) Now go to your new "junk" project. Select all the clips, right-click (or control-click) and choose "Make offline". This time, we really do mean "get rid of the media", unlike the "create offline" we did in step 2. You can do whatever you want with this media, since it's already a copy of what is in your 'real' offline project.

(4) Now you should have an empty project with a bunch of clips which have no media associated with them. What now? A batch capture, of course! Only this time, we're going to capture at full resolution, which will connect the full res clips to our sequences.

(5) Rerender the project, do whatever last minute touchups you feel are necessary, and export the completed movie to its final destination -- I usually write it to a DVD as data and print it to tape to keep an archival copy around.

It sounds easy, but the nonintuitive names Apple chose for some of the Media Manager functions make this a much more dramatic and fear-inducing process than it should be. Done properly, using OfflineRT mode will let you keep many more projects in flight at once, and let you finish them faster. It can even open up possibilities you've never considered -- you'd never send even a 5 minute video to a friend in DV format for them to edit, but if you're using Offline RT you can send them your project and media, they can edit it, and send it back

If you have any tips on working in OfflineRT mode, or you've noticed any inaccuracies in this article, please let me know by commenting in this thread. Thanks!

Posted by peterb at 12:13 AM | Comments (3)

January 18, 2004

Wizardry 8

by peterb

Wizardry 8 is a game that succeeds in spite of itself. I've been nibbling at this little clunker of a game for over a year now (which seems like a common occurrence -- people keep coming back to it) and recently have become engrossed in it once again. It has many, many flaws, yet behind those flaws is an entertaining CRPG that is fun to toy with. Interestingly, it has one of the most dedicated fan communities of recent CRPGs, with pages upon pages of material devoted to how to get the most out of playing and replaying the game.

Wizardry has always had a special place in my heart. It was one of the first full-fledged Computer Role Playing Games that had all of the elements we're familiar with today -- graphics (albeit rudimentary ones), a group of characters with different skills and talents who could be swapped around, interesting magic spells, a confusing dungeon that had to be mapped by hand, powerful (and sometimes cursed) treasure, and a variety of interesting monsters to kill or be killed by. There were games that met some of these requirements before the 1980 release of "Wizardry: Proving Grounds of the Mad Overlord" (which came in a really cool box with a shiny green dragon on it), but Wizardry really knitted them together.

Many hours of my youth were misspent huddled around the monitor of Jeff Hollander's Apple ][+, with Jeff, his brother Steve, and I slogging our way through the dungeon, painstakingly making a map on graph paper (games in these days had no automaps. Sort of like automobiles before the invention of the wheel.) In Wizardry I, only the three party members in your front ranks could attack monsters directly; the three in the back could only cast magic spells or just "parry." You instructed a character to fight by hitting "F", and to parry by hitting "P". This meant that most easier battles had rounds in them where you just typed F-F-F-P-P-P, usually mumbling under your breath "fight fight fight parry parry parry". The magic spells used a constructed language that was simple and memorable: to this day, I am wasting valuable brain cells storing the fact that katino is the sleep spell, halito is a small fireball, and that I can make a bigger version of some spells by adding the prefix ma-, or la- (leading to mahalito, and lahalito). And who could forget the "nuclear blast" spell tiltowait? ba- negated the meaning of a spell, so while dios healed some of a player's hit points, badios injured a monster.

I am a sad, sad, man. I know.

Wizardry was modeled closely on Dungeons and Dragons. One of the things about the series that is accidentally interesting is that they simultaneously wanted to emulate D&D as closely as possible, but were clearly aware of the risk of getting sued. So in certain key places they changed the names of various attributes, classes, and the like, and then later ended up building on the ideas suggested by their changed names. For example, the first edition D&D Ranger class became the Samurai in Wiz 8. This led to the inclusion of asian-themed equipment. The assassin became the Ninja; Paladins became Lords.

Likewise, the world the party moved through was full of whimsical anachronisms -- for example, in the middle of the dungeon, you might find an electric-powered elevator. While these elements were clearly just spur of the moment, when the game was successful they were kept by Sir-Tech as elements in the future releases in the series. They are part of what gives the Wizardry world its unique flavor.

Wizardry 8 begins with your party's spaceship crash-landing into the world of Dominus, where you are searching for MacGuffins of incalculable power before the bad guy finds them. The plot, as is par for the Wizardry course, is pretty weak. The developers tried to create a detailed world with shifting alliances and political intrigue. They failed. In large part this failure is because of the horrible interface you use to talk to NPCs, which is similar to Morrowind's terrible "choose from this list of six hundred nouns until you find something this NPC cares about" UI. I won't focus on the plot for the rest of this review, except to note that because the plot tells a story, most of the significant battles and powerful items are statically placed. Yes, there are random encounters and some random treasure, but the most interesting set-piece battles (and the most rewarding weapons and magic items) are always in the same place. I think that's something of a letdown, but I understand the reasoning behind it.

Building Characters

One of the most interesting parts of the game, as in many RPGs, is in character development. Wizardry 8 is above average in this respect, and I think that's one thing that has kept the game warm in the hearts of gamers. Because there is so much variety in the ways you can develop your characters, the game rewards playing again and again to see how different strategies work out.

Roughly, there are two "types" of characters, and there are a large variety of classes that fall within those types. "Pure" characters do one thing, and they do it very well. For example, Fighters and Rogues are each pure. Likewise, a magic user that can cast from only one of the four realms -- Mages, Alchemists, Psionicists, or Priests -- are considered pure. Pure characters advance character levels quickly, and become more powerful in their specialization quickly. "Hybrid" characters have a class which has more than one ability. For example, a Samurai is an OK fighter, but can also start casting Mage spells at fifth level. Rangers gain the ability to cast Alchemist spells. Other hybrid classes include the Valkyrie, the Ninja, the Monk, and the Bishop -- a magic user who can cast from all four realms. Lastly, there are the Bard and Gadgeteer, who are basically thief/magic users who rely on musical instruments and mechanical gadgets respectively. They don't quite fall into either category.

Each character class has at least one aspect that is unique to that class. For example, Fighters can go berserk, whereas the fighting hybrids cannot. Samurais can make critical hits to achieve instant kills with melee weapons; Ninjas can make critical hits to achieve instant kills with thrown weapons, and so on.

One aspect of character development that can be tricky the first time you play through is that the game rewards skill specialization and punishes the lack of specialization. Every attribute (Strength, Intelligence, etc.) and skill (Swordsmanship, Stealth, and the like) has a value from 0 to 100. The curve for bonuses in these skills feels logarithmic, so for a good portion of the game you will completely suck at some task and then suddenly you hit '90' in the associated task and you start kicking ass and taking names. Furthermore, there are "elite skills" that are only unlocked once the attribute associated with that skill reaches 100. The implication of all this is that a character who has all around good attributes will do horribly compared to a character who has focused on one attribute (or skill) to the exclusion of all others. This takes some of the bloom off the rose of the myriad options discussed above, but once you've internalized it it's simply another choice to be made. The upshot is: pick what you're going to specialize in early, and stick with it no matter what.


Combat in Wizardry 8 is enjoyable and frustrating at the same time. Wizardry 8 combat is almost tactical. You can create different party formations, which affect which characters can reach which enemies, and vice-versa. Characters have initiative. Between turns, you give each character in the party your orders, and then hit the 'go' button, and each character (and enemy) executes their orders in initiative order. This should be tactical combat, yet it isn't. Why not?

For one thing, your party cannot split up; it moves as a group. Right off the bat, this has a tactical implication: your party can be flanked by enemies, but you cannot flank your enemies. Yes, there are rare situations when you are fighting alongside an allied group of, say, town guards, but they are truly rare circumstances. To the 99th percentile, it's accurate to simplify this as "you cannot flank your enemies." Tactics, therefore, is reduced to "make sure you're walking near a wall so you can wedge yourself into a corner to protect your own flank." Furthermore, although the individual characters in you party have wildly varying initiative, enemies within a given group do not. So if you're fighting, for example, one group of five highwaymen and one group of five swarming wasps at the same time, all of the highwaymen will move one after another, and all of the wasps will move one after another -- the groups might have differing initiative with respect to each other, but not with respect to their other group members. This element of the combat is flawed.

Movement within combat is also flawed. Choosing to do party movement -- which is the only type of movement there is -- uses the initiative of your slowest character. While that makes sense mathematically, it also means that the party move button also means "I want to swing last." The engine does not support the idea of taking a swing, then moving, then taking another swing, no matter how fast your characters are. There is also no concept of delaying one's move conditionally until an enemy is in range. If you need to do this (and you will), what you end up doing is hitting the 'party move' button, letting the enemy approach, and then cancelling movement and taking your swing. While this is serviceable, it's also incredibly lame, because it means that you can't issue a 'delay' order on a per-character basis. What I'd really like to be able to do in most situations (for example), is have my bowmen go ahead and shoot right away, let my magic-using characters cast their spells, and have the fighters attack with their melee weapons if the enemies close in. Instead, my choices are to delay the entire party by moving (probably taking damage when the monsters close and get the first swing), or not delay and let my magic-users do their thing, and if my fighters initiative comes up first, before the enemies close, they will forfeit their attack. It's worth noting that since enemies don't move as a group, they effectively have this privilege. It's only the player that is punished.

If it seems like I'm complaining, well, I am, but only because I enjoy the combat engine so much that I've been willing to play it enough to discover these irritations. Despite all of my complaints, the important point is that even with all these problems, the damn game is fun.


Magic is the most highly polished element of the combat system. It takes a while to realize the depth of the magic system. Every spell belongs to one of six domains -- fire, air, water, earth, divine, or mental. Every spell has an intrinsic level at which it can be learned, and furthermore can be cast at a specific power level. So a given spell might last for 2 turns per power level, or inflict 1-6 hit points of damage per level. Characters (and enemies) have different resistances to the different spell realms, so a fire spell might do more damage to a water-based enemy while a water spell would be completely ineffective. Powerful casters have the ability to overcome resistances somewhat. Casting a spell at a higher power level will carry an increased risk of the spell failing or backfiring.

It takes a while to figure out how to use magic effectively. While the direct damage spells (fireballs, etc) do exist, they are for the most part ineffective. Effective use of magic in Wizardry 8 is all about improving your party's resistance to the attempts of your enemy to disable you, and disabling the enemy. There are a huge number of status effects in the game. You or your enemies can be slept, blinded, irritated, nauseated, paralyzed, knocked out, made insane, silenced, hexed, blessed, hasted, slowed, energized, and probably made into a ham sandwich. Effective magic use is all about doing the bad things unto the other guy and not letting him do them unto you. This part of the game, once you "get it," might be the most addictive aspect of the combat.


The game has some bugs that can be irritating but not show stopping. The automap can sometimes take upwards of 30 seconds to be displayed. Also, enemy movement is frustratingly slow. Fans claim that the wizfast utility fixes this problem, but they're wrong -- it just makes you sit there and wait for the enemies to move without their animation, instead of waiting for them with their animation.


The game has an active fan base who are happy to talk, in soul-numbing detail, about various strategies for building a succesful party, and about what secret items are where, and just about how great the game is generally.

Wizardry 8 can be found at most major game outlets today for just $20. It's a bargain at that price, if you like the genre, and I do recommend it.

Now if you'll excuse me, I have to go have my Ranger practice casting Alchemy spells so she can learn Set Portal.

Posted by peterb at 12:27 PM | Comments (1)

January 17, 2004

Starting in Earnest

by peterb

Now that I actually have my official copy of Final Cut Pro, and its voluminous, ox-stunning manuals, I want to learn how to use the tool better than I have. I find myself wanting to jot down notes all over the place on things I should try, or things that work great (or don't). I'm setting up this blog as a repository for those notes.

The thing that's kind of disturbing to me is how much I still don't understand about how this immensely complex program works. Some of it -- like keyframing -- I've kind of stumbled into. But most of the editing tools on the timeline, for example, I have had no idea how to use. That's gotta change if I'm going to use the tool effectively.

Anyway, for the first post-install project, I set the following goals for myself:

? Learn how to edit a project in Offline RT mode.
? Use at least one editing tool I haven't used before.
? Apply at least one special motion effect.

Offline RT is going to warrant its own entry, later. Today I learned how to use the ripple delete tool (keyboard shortcut: rr), and the 'magnify' tool. If you're saying to yourself "What kind of idiot has never even used the magnifying glass icon before?" the answer is "the kind of idiot that foolishly played with the stretchy and expandy scrollbar instead." I also used the razor blade (shortcut: b).

As for special effects, I played with transparency between layers. I eventually ended up taking it out and just used the prerolled crossfade effect, but at least I see how it works now.

One thing I haven't figured out is when it's "better" to put a different video clip on a completely separate track versus when it should be on the same video track. It looks to me like to use the prerolled effects, it has to actually be on the same track. But maybe this is something I can figure out for next time.

Posted by peterb at 06:26 PM | Comments (0)

November October September August July June May April March February January

December November October September August July June May April March February January

December November October September August July June May April March February January

Powered by
Movable Type 2.661