barinek.com: the official website

Below you'll find a quick stream of consciousness that includes photos, quotes, code snippets, and possibly even a full post. enjoy!

best front 9 during a major…

best front 9 during a major…

chicago

chicago

bolder boulder

bolder boulder

Kentucky Derby 136 Race Replay

5K at boulder reservoir

5K at boulder reservoir

pivotal labs at avery

pivotal labs at avery

pivotal labs at twisted pine

pivotal labs at twisted pine

pivotal labs brewery tour

pivotal labs brewery tour

blue bottle drip at home

blue bottle drip at home

Testing net http with mocks

Here’s a Ruby example for unit testing Net::HTTP posts with Mocha

Here is a link to Mocha mocha.rubyforge.org

New http://www.pivotallabs.com boulder practice

New http://www.pivotallabs.com boulder practice

Startup Recipe

If you’re thinking about starting a software project, here’s the recipe that I’ve been giving people.

Have complete visibility into your feature backlog

(i.e. what is happening with your software)

Use a tool like Pivotal Tracker. Have 1 week iterations. Include features, chores, and bugs and assign points to each feature. Work should be getting done (i.e. stories should be marked completed. have a weekly point total). If work isn’t getting done (i.e. point count is low for an iteration), this is a ‘smell’ that something might be going wrong.

Own your source code

Sign up for an account on GitHub and give collaborator access to developers. Developers may move on or off the project, but you’ll always own the code base.

Own your Continuous Integration, Review, and Production environments

Sign up for an account on Engine Yard, Amazon, or similar. You should plan for 3 environments, Continuous Integration (CI), Review, and Production. You’ll accept stories in the review environment and push tagged releases to production. The ci environment is described in more detail below.

Automate your review and production environment

Give your hosting credentials (engine yard, amazon, etc.) to your developers. They should be able to deploy to review or production within minutes (not hours).

Write tests and setup a continuous integration environment

Tests are essential for describing application features and intentions within the code base. Tests are essential for knowledge transfer between developers (it’s unlikely that you’ll have the same developer on the project at all times). Tests give you the confidence to change production direction without breaking or rewriting the entire code base. Without tests, you should quit now. (This is especially true for interpreted languages like ruby). Test drive.

Eliminate technical risk

Don’t let bad technology choices effect your startup, there are plenty of risks out there. Find a team that will guarantee minimal technical risk. There’s a huge difference in developer skill sets theses days. Find a great team and pay them well.

Pivotal at New Tech Boulder

Pivotal at New Tech Boulder