2012-05-09

Open-Source as an Integral Part of Development

Every time I start working on a new piece of code, my workflow is something like this:

  1. Come up with a name. If none within 30 seconds, choose an unused one from the Wikipedia list of Cats characters.
  2. Create directory in ~/Documents and cd into it.
  3. tmux new -s project-name
  4. git init
  5. Create a new tmux window.
  6. vim

I create a git repository before I even open my text editor or a REPL. As soon as I write down what I want to do in a README or hack out a script that spits something onto the screen without (too many) errors, I make my first commit. The first break, it goes up on Github. I am a programmer, and this is how I program.

I’ll upload it to Github after I clean it up a bit. One of my personal goals is to find every person who says this and badger them until they release their code.

Your code is ugly? I don’t care - mine’s uglier. I know the dirty secret all programmers share - code never emerges fully-formed, glistening in the sunlight as a shining example of the modern mind. No, the very first thing you write probably doesn’t even work. Oops, forgot semi-colon. Neither does the second

  • you forgot to define that variable. But gradually a form begins to take shape, crafted by your relentless fingers. This is where your brilliant ideas begin to appear - a chin here, an arm there. This is what I want to see - this fascinating growth, this inspiring genesis.

Stay away! you shout. It’s not finished! you protest.

But I am no mere outsider, no window-shopper casually glancing in. I am a craftsman, a brother - I recognize the unrefined beauty within and celebrate what is to come.

And if the inspiration leaves as quickly as it came, I may pull off the dusty sheet and continue your work someday. Perhaps I never even met you - this shop is long-abandoned, with only the works left to tell of its owner. But as I work, crafting upon your base, there is a connection - I may not have met you, but I know you.