Archive for October, 2008

Rails Rumble 2008

Posted in Development on October 20, 2008 by osake

Oh boy, this weekend was a blast.  To top it all off, Sunday was my 33rd birthday.  I am going to break down my team’s participation in Rails Rumble 2008 right here before your very eyes.

Friday Evening

We had decided earlier in the week to go ahead and start from home on Friday and get a good night’s sleep before meeting up Saturday at one person’s house.  Our team was also short a member for the first part of the competition.

Initially, we sat with baited breath at 6pm Central (at least I did) and then realized that we are still observing DST which caused the start clock to be 7pm instead.  It worked in our favor though because we were short a guy initially and planned to meet the next day anyway.

Once the timer started, I worked on the server setup and other system tasks while my partner was cranking out the base application.  Pretty rudimentary for a start, but had to be done.  We also decided to try and be at the host’s house around 9:30-10am the next day and really punch out some work.

Saturday

I woke up late and on top of that my carpool was running behind and to keep the run-on sentence going, the host had just woke up by the time we got ready to head over to his house.  I thought, “Rock on, this is going to be an awesome day.”  Okay, I didn’t really think that…

We arrived and setup our laptops.  I was the only non-Mac user, and my laptop is so old and dysfunctional that I couldn’t connect to the wireless.  Fortunately, the boy scout in me thought to bring some ethernet in hopes of having a jack to plugging in to.

We had to sacrifice the XBOX 360’s network so that I could participate with internet access.  Oh, the drama!

We broke out a whiteboard and started talking through our idea a bit more than the scant pre-rumble meetings.  This was also important because our Friday night AWOLer, who was our designer, was in attedance.

With the game plan solidified, we were seated in front of many donuts and donut holes, plenty of soda options, and a 60″ plasma playing Bee Movie (in progress).

This is where I get tired of journaling the entire adventure, so to summarize, I consumed:

  • half a dozen donuts
  • half a dozen donut holes
  • easily 8 20oz sodas (Diet Mt.Dew, Diet Dr.Pepper, Cherry Coke Zero…and more!)
  • a double burger and cajun fries from 5 Guys Bruger and Fries
  • a dozen cookies (home cooked, not sure if home made)
  • 6 slices of pizza (Papa Johns)
  • scrambled eggs
  • 2 slices of toast
  • chips w/salsa and cheese dip

We also turned on about a half dozen movies to varying degrees of completeness and a few TV shows.

Before we got too far into the actual design of the logo and other style choices, we decided to name our application “Back In Black” to play off the accounting world where being in the red is bad and black is good.

Later in the evening, our designer had rolled out a our logo and good start on the styling of the application.  And somewhere along that time, someone queued up AC/DC’s song “Back In Black”.  As the design neared is initial phase of completion, the energy levels went through the roof.  A good design can be a great motivator.

During the wee hours, we began to lull a little bit and even took a few power naps.

Sunday

As the morning hours neared, we gather ourselves and defined a checklist of remaining goals that we wanted to see completed before turning in the final product.

We quickly hammered out the last few features and even had time to add one last feature over the following hours until deploy time.

I had already been doing deploys to ensure that worst case scenario, we had something on the server by the deadline.  There was a kink.  As I went to do the actual deploy, I had to restart Apache so that it would take the phusion changes and the new virtual host.  Uh oh, error!  What?  Why?

It turned out to be something simple in the realm of permissions.  Crisis averted, we were set.  Application turned in, ready to be tagged.  But wait!  Another problem.  Great, this is the way of software isn’t it?  An IE problem.  Fortunately, the team was quick to solve the bug, we pushed the changes, tagged the branch, bid our farewells and grabbed a container of cookies to take home.

The End

View our completed project at http://diedebtdie.r08.railsrumble.com

Damage Assessment:

  • consumed way too many calories (didn’t bother to weigh myself when I got home)
  • ear ache (might be a sinus infection) exacerbated by lack of sleep
  • I aged another year (though it’s been 365 days coming …had to calculate for leap year)
  • wet keyboard from wet dog beard (golden retriever style)
  • dog snot on pants and face (from the little guy, I forget which breed)
  • pizza sauce on my bright green shirt…very festive
  • delirium from lack of sleep

Huge thanks to Eldon for hosting and coding skills and Scotty for design and coding.  I was going to fly solo for the rumble this year, but it was easily 10x more fun with a team.  Thanks to Eldon’s wife for hooking us up with the food and drink and his pets for their entertainment.

Advertisements

Test First

Posted in Development, Zen on October 17, 2008 by osake

I got a great lesson in test first today.  I had fixed a bug earlier in the week, but I really didn’t get much gratification.  I also had to test it, realize another problem, fix again.  You should see a pattern forming here.

So I called up another team member and asked for some help figuring out how to get a spec (a.k.a a test) to cover this error in the event that there is a change in the future.  It was kindly brought to my attention at this point that I should have written the spec first anyway.  This is part of the whole methodology that we’re following anyway.

I reverted my code and wrote a few specs, passing each as I went along.  Sure enough, there was the gratification I was longing for.  Now the code is a bit more hardened.  I could have easily written the specs after the code fix, but there are two problems:

  1. The specs may not have enough coverage, it’s just too easy to be lazy in this direction
  2. You understand the solution to the bug better because you are describing how the application should behave

Here’s my light analogy: Your lightbulb burns out, finding a bug and fixing it is like just replacing the 60W bulb with the other one that came in the 2-pack you bought.  Writing a spec first, then fixing the bug is like putting in a 75W equivalent CF bulb to replace that incandescent.  Hoo ahh!  Yeah, it’ll cost more, but you’ll save money over the long term and burn a heck of lot brighter (at least mine do).

It’s A Boy!

Posted in News on October 3, 2008 by osake

Just found out yesterday that we are going to be having a boy.  I am more interested in a healthy baby, but definitely preferred a boy.  This will be my first baby and he should be coming out sometime early first quarter.

Shortest post ever!