Watch me write an app, starting from nothing. Part 1 now available!

A couple weeks ago I created, in an effort to introduce the joy of Cowsay to more people. In the announcement I talked about how I created the site over a 24-hour period (not counting some UI tweaks). What I didn’t mention was that I also recorded the entire process.

Since then I’ve been working on editing the video in my spare time, and I’m happy to announce that today part 1, (“Zero to Heroku”), is ready and available.

This video series is a raw, over-the-shoulder look at my solo development process. I narrate what I’m doing and thinking as I work, and occasionally I digress to explain why I’m making a particular decision. I’ve tried to edit out the really long pauses. But you’ll still hear a lot of “hm, what next?”.

In this first hour-long video I take the app from an empty directory up through a successful “tracer bullet” deployed to Heroku. Along the way, you’ll watch me:

  • Start with nothing but a failing integration test.
  • Use IO.popen to call out to Perl from Ruby.
  • Set up Guard to automate my tests and Bundler updates.
  • Use Hub and Magit to simplify working with Git and GitHub.
  • TDD a simple Sinatra service using RSpec and rack-test.
  • Create a Heroku app.
  • Create a Rackup file and deploy to Heroku.

Sound interesting? It’s yours for $5.

UPDATE: The entire “Making of Cowsays” series is now available as a single video from TekPub!

Over the coming weeks I’ll be releasing the rest of the series. I have all the video, I just need to edit it. In upcoming episodes you can expect to see:

  • Refactoring the Sinatra app from a “classic” app to a “modular” style app.
  • Switching to Unit Tests as method logic increases in complexity.
  • Adding more cowsay features.
  • Smoothly migrating from a Sinatra app to a Rails app that mounts the Sinatra app as a service.
  • Using Datamapper for persistence.
  • Using Erector for object-oriented views.
  • Using Coffeescript and jQuery to liven up the UI.