Monthly Archives: April 2009

If Christians Made Video Games Like We Make Shirts

Those of you who aren’t part of a more fundamental Christian group may have been spared the sight of what I call flair of the spirit. It’s a subset of Jesus Junk consisting mainly of shirts with retooled corporate logos. The companies peddling these shirts are fond of saying, “Change your shirt and change the world!”, I suppose because saving the cheerleader just led to more problems.

Three Jesus shirts: Faith Book, God is My Hero, and Hope

Surprisingly enough, Christian companies haven’t taken the same approach to making video games. Christian video games tend to be trivia games or, occasionally, reworked FPSes or real-time strategy games, but they’re never existing franchises with a Christian spin on them. Perhaps this is because making video games is hard, and companies like Nintendo and EA have hordes of lawyers that would crush a product that went beyond a logo parody.

But what if one brave company decided that the shirt-makers had the right idea? What if one company dared to make Christian videogames that did parody existing ones?

Risn 2 Life
Deus Ex
Super Savior Mario
God of Love
Final Fantasy
Tomb Raider: Magdalene

Twitter is for Transmitting Outrage

Yesterday, on Easter Sunday, news began spreading through Twitter, LiveJournal, and other blogs that Amazon had de-ranked a lot of books that they had deemed “adult”, in addition removing them from general search results. The majority of those books had little adult content, and the de-listing appeared to be targeting books with GLBT themes.

The response on Twitter especially was vocal and wide-spread. The #amazonfail hashtag has been one of the top trending topics since this time yesterday. Amazon has claimed that the whole thing was a “glitch”, but the discussion continues.

About a week ago, graphic designer Jon Engle warned people of his experience with They ripped off several of his logos, then turned around and sent him an $18,000 bill for him using his own logos. A #savejon campaign began on Twitter and elsewhere. His story hit Digg. People began raising money to help Jon defend his work.

Then The Logo Factory did some investigating and discovered that Jon had most likely been the one lifting logos from Metafilter posters found out that one of the illustrators had copyrighted his logos in 2001, long before Jon uploaded his own logos. Further detective work at the Internet Archive confirmed those earlier dates. Even so, the #savejon campaign continued on Twitter for days.

Twitter played a large role in getting the word out in both cases. Moreso than any other social networking site, Twitter is ideally suited for spreading near-contextless outrage. Many Twitter clients include retweet support, where users can re-broadcast a friend’s post with the click of a button. It’s much easier than making your own blog post about the subject, and like the classic model of infection, the retweeting spreads from group to group. Tweets’ 140-character limit keeps you from adding much context to your re-posting, keeping information content low.

While large sites like Digg, Reddit, and others can drive a lot of traffic in instances like this, theirs is mainly a first-order effect — most of the traffic is from them directly. Twitter works on second- and third-order effects, with friends of friends of friends spreading the word.

I’ve seen a lot of argument about what value Twitter provides. Its 140-character limit means you can’t put much information in your tweets. But it turns out Twitter is well suited for transmitting outrage.

Wow Wow Everyone!

Wubbzy lives in a tree.

Wallace, Wubbzy, and Widget

He likes to play.

Wubbzy holding his kickety-kick ball


Wubbzy with marshmallows on him


Wubbzy with an egg broken on him

He’s got a bendy tail.

Bouncy Wubbzy


Wubbzy's eyes

For context watch this video. Watch it twice and you will never get the song out of your head.

Writing Scientific Proposals in Many Easy Steps

If you’re a scientist or engineer, you’ve got a pretty good chance of having to write a scientific proposal. If you’re an academic scientist or engineer, your chance goes up to around 100%. That’s one of the downsides of getting to choose what kind of research you’re going to do: you have to convince people to give you money for it.

Writing proposals is one of those skills that most of us have to learn by doing. A lot of PhD programs don’t offer any training in it, which is surprising given how critical it is to many PhD’s later work. Even Engineering Barbie has only one piece of advice regarding proposals.

Writing Proposals is Hard!, says Engineering Barbie

But why is it so hard? Writing isn’t easy for scientists and engineers at the best of times. Expressing scientific concepts clearly and succinctly takes a lot of work. But far worse is that proposals are, at their heart, a sales document, and if we were interested in being salespeople, we’d have had our soul removed long ago. The mere thought that we might have to sell ourselves and our ideas is enough to make us need smelling salts.

Bill Gates saying nothing.

A lot of that reaction comes from experience with selling and salespeople. How many times have you had to listen to a lot of empty words about a product? How much of sales pitches consists of fluff instead of real content?

A small jar of Marshmallow Fluff

To be clear, that’s not the kind of sales I’m talking about. Nor am I talking about convincing people that they need things they don’t. What I am talking about is showing people that you have a scientific or engineering project that will meet their needs. Otherwise, why should they give you money? Just because you’re an awesome person? Sadly, that doesn’t work as often as you might hope.

If you can get past the idea of sales as a four-letter word and realize that you can sell without sounding like a used-car salesperson, you’re on the right track. But what are you selling? The potential customer has a problem that you’re trying to solve. Do you know what that problem is? Sure, the NSF is looking to support fundamental research, but that’s too general. What’s the specific focus of the solicitation you’re responding to?

Imagine that you want to buy an HDTV. You don’t know much about them, so you wander into a nearby Best Buy and collar two salespeople. “I’m looking for an HDTV. What can you recommend?”

Giant wide-screen TV

“Well,” the first salesperson says, “this TV’s DMex expansion capabilities integrate into its XMB user interface.”

“Uh-huh,” you say. “What do you think?” you ask the second salesperson.

“I get 9% commission, so I’d suggest you look at the larger TVs.”

Too often that’s what our proposals sound like. As scientists and engineers, we have a bad habit of jumping straight to the interesting technical details of our solution. We don’t present a big picture connecting our solution to the customer’s problem. And we focus on us and what we want and what we’ll get out of being funded instead of focusing on the customer, what they want, and what they’ll get.

So, okay, what are we selling? It’s not ourselves or our company or organization, at least not directly. What we’re selling are benefits — specific benefits. We’re providing a new capability that the customer needs. We’re solving a problem. We’re doing research that’s in line with what the customer’s been tasked with funding.

Before you write word one of your proposal, come up with an overarching proposal theme that captures what you’re offering. How does what you’re proposing to do meet the customer’s needs? What makes your approach best? (Quantify “best” with numbers if possible.) What will the customer get if they fund you? What’s exciting about your proposal? That theme should run throughout your proposal.

Do you know what the customer wants? If you’ve never spoken to the sponsor or customer before and are just throwing your proposal over the transom, you’ll have to guess at what they want based on the solicitation. Ideally you’ll have talked to them ahead of the request for proposal (RFP) and have some idea of what will get them to sit up and take notice. Maybe the customer needs a sensor with twice the range of the ones they’re using now. Maybe the sponsor is really excited about applications of quantum computing, even though the solicitation doesn’t specifically mention QC. Whatever the customer’s hot buttons are, your proposal needs to push them.

Once you know what you’re selling, what your overarching theme is, and what your potential sponsor’s hot buttons are, you can figure out what you’re going to do. Describe what you’re going to do in general terms, then break that down into tasks. Determine what your schedule is going to be and what milestones you’ll hit when. The solicitation may specify some of these details, in which case don’t leave them out. You’d be amazed at how many proposals don’t actually adhere to the solicitation’s guidelines.

Unless the solicitation doesn’t give you room for it, start your proposal with an executive summary. That’s a slimmed-down version of your entire proposal, not an introduction. Its purpose is to grab the reader’s attention and give them a high-level view of your proposal. Right now the NSF gets some 40,000 proposals. It funds roughly a quarter of those. I’ve written proposals where three proposals out of thirty were funded. Can you imagine having to read through thirty 50-page proposals? Sometimes the executive summary may be all an evaluator reads, at least at first.

The executive summary should focus on the sponsor and their needs. Link your proposed solution or research to the customer’s problem. Hit any hot buttons you know they have. Steal wording from the RFP — people want to hear that you understand their problem, and you want to speak their language when you talk about their problem. Focus on benefits that the customer will get over any specific features you’re offering. Most importantly, the executive summary should have a low technical focus. Remember, some funding agencies or companies have non-specialists or even non-technical people perform a preliminary evaluation.

The rest of my recommendations are a grab-bag of tips and tricks. Writing is a complex skill, and I’m not going to teach you how to do it better in another five hundred words or so. But what I can do is give you some general guidelines.

First, write with images. People remember images more easily than they do text, and images will stand out more if any evaluators end up skimming through the proposal. You may want to go so far as to create a general outline, then populate that outline with images before you begin writing the proposal’s text. That way you’re writing to the images, instead of inserting images after the fact.

Second, when you caption your images, don’t just state the obvious. Use your captions to interpret the image. Reinforce any sponsor benefits the image is showing. For instance:

A laptop
Figure 7. Laptop.

If evaluators skim your proposal, they’re more likely to read captions than any other text. Why waste that opportunity? And don’t be afraid to use longer sentences in your captions.

A laptop
Figure 7. Laptop-Based Client for Evaluating Images in the Field. The sensor’s TCP/IP interface and laptop-based client let users see the LIDAR’s images while data is being collected instead of after the fact, preventing time wasted collecting poor data and thus decreasing operating costs.

Third, use active voice.

Fourth, use active voice.

Fifth, use active voice.

I know, I know, we think passive voice makes our writing sound more objective and sciencey. It also makes our writing sound boring and stilted. “A regression analysis was performed to determine the best-fit curve.” Ick, ick, ick. Remember: a proposal’s purpose is to sell someone on your ideas. Active voice is more convincing and persuasive. “We” and “our” are not bad words. “We will do stuff” is better than “Stuff will be done.”

Finally, while you’re using active voice, try to keep your subject and verb as close together as possible. The further apart they are, the harder it is to see what’s going on in the sentence. Consider this sentence:

If any member of the board retires, the member’s interest in the company, at the discretion of the board, and after notice from the chairman of the board to all the members of the board at least 30 days before executing this option, may be bought by the company.

While the sentence has lots of dependent clauses hanging off of it like leeches, that’s not the only problem. The sentence is written in passive voice, and the subject and verb aren’t even in the same zip code. Let me highlight the subject and verb.

If any member of the board retires, the member’s interest in the company, at the discretion of the board, and after notice from the chairman of the board to all the members of the board at least 30 days before executing this option, may be bought by the company.

Changing the sentence to use active voice helps some.

If any member of the board retires, the company, at the discretion of the board, and after notice from the chairman of the board to all the members of the board at least 30 days before executing this option, may buy the member’s interest in the company.

Bringing the subject and verb together make the sentence even clearer.

If any member of the board retires, the company may buy the member’s interest in the company at the discretion of the board, and after notice from the chairman of the board to all the members of the board at least 30 days before executing this option.

It’s still a big, clunky sentence, but at least you can get its gist quickly.

My suggestions aren’t panaceas. You’ll still write a lot of proposals that won’t get funded. But by writing better, more readable proposals you’ll improve your chance of funding.

Using Regular Expressions to Match Twitter Users and Hashtags

If you want to find Twitter usernames and hashtags in tweets and do something with them, like turn them into links when you’re displaying them on your website, the most compact way of doing so is through regular expressions. However, most of the articles I looked through on the web mess up the regexp.

Usernames start with a “@”, while hashtags start with a “#”. Since usernames and hashtags will only have letters, numbers, or underscores in them, most all of the examples on the web use a regexp like so:


There’s only one problem: if you have an email address in a tweet, it’ll match on that. Run that regular expression on “Email me at [email protected]” and you’ll match on “mailinator” as a username when it’s not. What you really need to do is make sure that there’s nothing in front of the “@” or “#” but whitespace or the beginning of the string.

For completeness, here’s example code to add links to both usernames and hashtags in a bunch of different languages.



function linkify_tweet($tweet) {
    $tweet = preg_replace('/(^|\s)@(\w+)/',
    return preg_replace('/(^|\s)#(\w+)/',


import re

def linkify_tweet(tweet):
    tweet = re.sub(r'(\A|\s)@(\w+)', r'\1@\2', tweet)
    return re.sub(r'(\A|\s)#(\w+)', r'\1#\2', tweet)


$s =~ s{(\A|\s)@(\w+)}{$1@$2};
$s =~ s{(\A|\s)#(\w+)}{$1#$2};

(Javascript approach taken from Simon Whatley)

Art for Kid’s Sake

When Eli was Liza’s age (around 2) he was decidedly uninterested in coloring. He did not want to play with paper or crayons or markers or paint. You can well imagine how sad this made me. But I dealt with it, thinking he would learn to be creative in other ways.

I got the book The Creative Family: How to Encourage Imagination and Nurture Family Connections for Christmas. And while it has some fabulous projects, I’ve still been a bit stymied on how to encourage Eli and Liza’s creativity.

This week I think I’ve finally figured it out.

My side of the office looks like the craft tornado hit it. I’ve been on a new tear of making Artist Trading Cards so there is paper, stamps and stacks of materials on the floor and I have tools all over my desk: watercolor pencils, glitter glue, paper cutter and drying cards. Several times this week Eli has asked to work on a ‘project’. (Wonder where he’s heard that word?)

Eli working on a project.

So what I’ve figured out is: what encourages them to be creative is to see me be creative on a daily basis. If I’m working they want to get in there and make something as well.

Bathtub fingerpainting.
Check out Eli’s feet in this photo!

This afternoon Eli wanted to make a picture for his best buddy Josh. He got in the office (behind the baby gate–Liza is never allowed in the office unsupervised) where all the gear is spread out and started working:
Josh's picture in progress.
Liza and I sat in the hall so she could draw with markers:
Sometimes you have to make your artist's hands instead of earn them.

Sitting in the hall with Liza telling me what color each marker was, I had the moment where I wondered why all of our days can’t be like this.

While I was writing this post, Liza pulled a flower pot off of the piano and made a giant mess. So the moment has completely passed and we are back to normal around here.


As Misty will tell you with a sigh, I’m addicted to computer RPGs. Once I start one, I have difficulty doing anything else. Stats fiddling, exploring side quests, juggling inventory and selling off the useless cruft that accumulates — I love it all. In the 1990s I devoured Fallout and Planescape: Torment. I have a special weakness for BioWare’s games. In graduate school two friends and I played Baldur’s Gate II every Saturday for a couple of hours. Even now I’m finally working my way through Star Wars: Knights of the Old Republic.

Recent BioWare games sort your behavior into two categories, usually Manichaean good-and-evil ones. Last night, as I was selflessly refusing yet another reward for risking my life to rescue someone so I’d increase my goody-goody score, I wondered why it’s structured that way. Why, if you look out for yourself, do you get lumbered with evil points?

In short, where’s my Objectivist CRPG?

Sure, Bioshock played with the Objectivist theme, but I want an all-out Randian game that rewards my rational self-interest. When I refuse to give away the rakghoul serum I’ve recovered, instead choosing to sell it so I have the credits to further my worthy cause, I should be rewarded. When the Jedi order tries to force me to subsume my will to that of their collective, I should be allowed to resist and carve my own path through the universe, protecting my ideas and ideals while respecting the property of others.

Now I just need part ownership in BioWare or Obsidian Entertainment and a good licensed property. Do you think I could get the videogame rights to Atlas Shrugged?

Be a Sky Pirate in Swashbucklers of the 7 Skies

A while back I had the opportunity to playtest Swashbucklers of the 7 Skies, the new RPG from Chad Underkoffler, who created the superhero RPG “Truth and Justice” and the fairytale RPG “Zorcerer of Zo”. The real strength of “Swashbucklers of the 7 Skies” is its setting: a world filled with floating islands, where pulp-style swashbuckling, intrigue, and piracy are the order of the day. S7S uses a lightweight ruleset that makes it easy to pick up and play.

And now you can pre-order a hardcover version, which is extremely shiny. And as with Chad’s other products, you’ll get a PDF to go with the book. If you’ve got a hankering for a good indie RPG, give S7S a try.

Okay, Kids, You Can Come Back Onto My Lawn

In the past I’ve been dismissive of April Fools’ Day as practiced on the Internet. After this year, though, I’m taking off my old-man grumpy pants and putting on something newer and hipper. Parachute pants, perhaps. There were a number of funny and inspired jokes yesterday. Among my favorites:

Sure, there were the normal dead-horse “we’re shutting the site down!” posts, but I saw fewer than in years past. Maybe the tide has turned, and will take my grumpy-pants out with it.