Category Archives: Learning

Things I’ve learned, whether small and mundane or life-altering.

Maker Year Project #1: The Steven Seagal Turing Test

I’m happy to share my first real project for Maker Year: The Steven Seagal Movie Title Generator. If you’re familiar with Steven Seagal or his films, I’m sure it will make you laugh.

Project Origin
On June 5, I arrived in Cambodia’s capitol, Phnom Penh. Exhausted, overwhelmed, and disoriented, I sought reprieve in my hotel room after a long “short walk” through the city. Trying not to sweat too hard in my 35° C room, the television presented three options:

  1. Watch Twilight with Khmer voiceovers
  2. Watch Force of Execution, Steven Seagal’s 2nd newest film
  3. Watch nothing and turn it off

Naturally, I chose #1.

But I was quickly confused. Why does this gentleman always have a 10,000 foot stare? Why does he sparkle in the sunlight? Why is this girl’s lip not scarred and scabby from two decades of pensive biting?

That’s when I turned to Force of Execution. A film with a Tarantino-esque title sequence followed by a 99 minute plot hole.

On learning the title of the film, I realized it means absolutely nothing. It’s just random words that conjure imagery of detectives, criminals, or courtroom proceedings. Yet it sounds intense, serious, and legitimate. Something that would impress a 12 to 15 year old boy. So I look into Seagal’s other films to see if this naming convention is “a thing”.

Not only is it “a thing”, I quickly learn Seagal has starred in over 40 films since his 1988 debut, Above the Law. And all titles follow this theme.

And this is when I invented the Steven Seagal Turing Test. “Can a computer fool someone into thinking an algorithmically generated Steven Seagal film actually exists?”

Thus, in Southeast Asia a seed was planted. The Steven Seagal Movie Title Generator is but a seedling, ready to grow into a sturdy tree bearing sweet fruit.

What problem does this solve?
Boy, do Eric Ries and Startup Weekend love that question. This doesn’t solve anyone’s problem at all. This solves my problem: How do I transition from building things in Flash to building things in technologies that work on any device?

I figured it was time to learn me some SVG and jQuery.

What I learned

  • SVG needs major improvement in the typography department. Word wrapping doesn’t exist.
  • Use getBBox() to find the x, y, width, and height values of SVG elements.
  • Don’t create SVG elements with jQuery. The elements won’t be recognized as SVG and things like getBBox() won’t work. Instead, I use this method provided by a helpful person on Stack Overflow.
  • At the moment, getBBox() doesn’t work with anything in a <tspan> in certain browsers, so use <text> if you’re programmatically measuring and positioning text.
  • SVG attributes like textLength are case-sensitive, so they’ll break if you define or manipulate them with jQuery’s attr() function. Attr() converts everything to lowercase.
  • You can get the raw HTML object from a jQuery object like this: $(‘#elementName’)[0].
  • When learning a new language or technology, the project I’m applying it to needs to be well scoped, easily understood, and devoid of ambiguity. Otherwise I’m figuring out two things at once and I’m easily overwhelmed by not knowing anything and having to learn everything. I’ll rapidly stall out and resign myself to watching Terminator 2 with Khmer voiceovers.

Next steps for this project

  1. Make the posters savable and shareable
  2. Apply the actual Steven Seagal Turing Test by letting people vote whether they think a title is real or automatically generated
  3. Create more poster variants
  4. Improve typography: layout, sizing, and typefaces

Fun facts about Steven Seagal
Steven Seagal is 62 years old and people say awful things about him “becoming old, slow, and fat”. To those people, when you reach age 62 I invite you to compare your appearance and achievements to those of Steven Seagal’s. You’ll beat him on total number of internet comments written. That is all.

Steven Seagal is prolific. To date, he’s been in 45 films, and not a single one involved being a kindergarden cop, acting alongside Danny DeVito, or doing a voiceover for a baby or cartoon character. Every single one involved crushing someone’s bones or joints.

Here are all his films:
Above the Law (1988)
Hard to Kill (1990)
Marked for Death (1990)
Out for Justice (1991)
Under Siege (1992)
On Deadly Ground (1994)
Under Siege 2: Dark Territory (1995)
Executive Decision (1996)
The Glimmer Man (1996)
Fire Down Below (1997)
The Patriot (1998)
Not Even the Trees (1998)
Prince of Central Park (2000)
Exit Wounds (2001)
Ticker (2001)
Half Past Dead (2002)
The Foreigner (2003)
Out for a Kill (2003)
Belly of the Beast (2003)
Clementine (2004)
Out of Reach (2004)
Into the Sun (2005)
Submerged (2005)
Today You Die (2005)
Black Dawn (2005)
Mercenary for Justice (2006)
Shadow Man (2006)
Attack Force (2006)
Flight of Fury (2007)
Urban Justice (2007)
Pistol Whipped (2008)
The Onion Movie (2008)
Kill Switch (2008)
Against the Dark (2009)
Driven to Kill (2009)
The Keeper (2009)
A Dangerous Man (2009)
Machete (2010)
Born to Raise Hell (2010)
Deadly Crossing (2011)
Sheep Impact (2011)
Maximum Conviction (2012)
Force of Execution (2013)
Gutshot Straight (2013)
Dark Vengeance (2014)