Random header image... Refresh for more!

I almost forgot… The rules.

As this is my fourth Crazy Project Weekend, I already know the rules.  Because of that, I forgot that you might not know what the deal is.

That, of course, is inexcusable.  They’re right here on this site, and you should have read all the posts already.  So you should know, and I shouldn’t be forced to waste my precious time explaining to you what I’m doing.  You’ll just have to figure it out as I go along.

Then again, if you haven’t read them, that means you don’t know what it’s all about, which means that I can just make stuff up and easily hide the fact that I’ve forgotten what all the rules are.  So, here goes:

The first rule is that a Crazy Project Weekend be held five days straight, over a weekend.  There should be no interruptions of any kind.  A participant must be fully dedicated to the Project and do nothing else for those five days.  (I am, of course, violating this rule in multiple ways.  I won’t be doing this for five days straight, and this won’t have an exclusive hold on my weekend.  Crazy Project Weekend #2 also violated this rule.)

The second rule is that the Project must be used to learn a new technology.   It has to be something you’ve never worked with before and know next to nothing about.  This technology must be at the core of the Project.  (This rule was violated in Crazy Weekend Project #3, but will be followed in this project, although not nearly to the extent that it was followed in Crazy Weekend Project #1.)

The third rule is that no preparation must be undertaken ahead of the five day window.  This includes producing design documents, drawings, and diagrams, and most certainly includes producing code related to the project of any kind.  (This rule has been strictly adhered to in all Crazy Project Weekends.) There are the following exceptions:

  • You are permitted to purchase books or training materials ahead of time, but you are not permitted to open them.
  • You are permitted to purchase any equipment or software required for the Project ahead of time, but you are not permitted to use them.
  • You are required to purchase five days worth of pepperoni pizza ahead of time, and you are permitted to begin eating it early.
  • You are permitted to do a limited, cursory examination of the technologies required in order to complete the project, but only to the extent needed to determine the feasibility of completing the project within the time window.
  • You are permitted to reuse or extend what you’ve done in a previous Crazy Weekend Project.

The fourth rule is that you must fully document every stage of the Project.  You should keep a running blog, posting your thoughts, designs, code samples, screenshots, plans, what you’ve learned, your successes, and your failures.  Especially your failures, because they’re often hilarious.  You should also make the code you’re writing publically available.  (This rule is the most important rule.  Violating this rule will result in immediate disqualification and shame.  This rule is the essence of a Crazy Weekend Project.)

The fifth rule is that the project ends at the end of the five days.  If you’re not done at the end of the five days, you’ve failed the project and are required to admit defeat.  Also, day five must end at a reasonable time.  It doesn’t count if you get all hopped up on Red Bull and stay twitchingly awake for 72 hours on the fifth day.  Days are measured by the sun, not by how long you remain awake.  (Crazy Weekend Project #3 was a complete failure.)

The sixth rule is that all rules other than rules four, five, six, and seven, as well as the pepperoni pizza clause of rule three are flexible.  You just have to have a good excuse for violating them.  Or, at the very least, you have to be able to convince yourself that you can live with the shame and regret that comes from violating the rule.

The seventh rule is that the Project must not have any kind of practical use whatsoever.  Hence the word “Crazy”.  If you use the Crazy Weekend Project concept to write an Excel macro to balance your household budget, you’re just lame.  Think big.  Go wild.  You have to come up with an idea that will cause people to say “That’s so awesome” at the same time they’re questioning your sanity.

The first Crazy Weekend Project remains the high water mark.  It was, by far, the most successful.  Starting from nothing, I wrote a program that drove a Lego Mindstorms robot to play a game of Pong, using an actual Atari 2600.  I’d never done Mindstorms programming, I’d never touched computer vision, yet within five days, I’d cobbled together a robot that could play well enough to beat the Atari CPU.

The second Crazy Weekend Project was a mix of two projects.  I wanted to learn about the System.Speech.Recognition library in the .Net Framework, as well as work with facial recognition.  When I started, I didn’t really have any goal in mind other than learning the technologies.  The speech recognition was so simple that I got it done on the first day.  The bulk of the time was spent on facial recognition.  Partway through, I decided that my goal for the project would be the automated removal of Wesley Crusher from episodes of Star Trek: The Next Generation.

The third Crazy Weekend Project was an extension of the first Project.  I planned to expand and refine the  robotic Atari controls from the initial Project and create a robot that would be able to play the game Kaboom! for the Atari 2600, using a webcam to watch the game on an actual TV.  I failed miserably on all counts.

0 comments

There are no comments yet...

Kick things off by filling out the form below.

Leave a Comment