puts Blog.new(”nonsense”)

git init: Say Hello to Agility

Posted by Jason Rudolph on 22nd April 2008

With all the recent fuss about the game-changing advantages of Git and distributed version control in general, it would be easy to overlook what Git does for deciding whether (and when) to use version control for a given task. Sure, Git makes non-linear development a breeze, it manages large projects with uncanny efficiency, and we probably can’t even fathom yet just how transforming github is going to be for open source. But, if you look closely, there’s something worth noting way before you create your first branch, before your project is even thirty minutes old, and well before you’re ready to share it with the community: git init is so pleasantly simple, you’ll never again think twice about “whether it’s worth it” to throw something into version control.

As someone who had the, um, “joy,” of working with CVS, SourceSafe, ClearCase, and other SCM “solutions” that made you wish you were instead just using NTFS, I definitely appreciate what SVN did for the state of version control systems. Nevertheless, there were countless prototypes, drafts, experiments, etc. that I talked myself out of storing in SVN. The conversation typically went something like so: “Do I really want to create a new repository just for this experiment? Should it go in my local repo, or does it belong up on the shared repo? Should I bother setting up the standard dirs for trunk, tags, and branches? Maybe I should just add it to a grab-bag repo for now? Nah. Forget it. It’s not worth the trouble yet.”

Git removes many of those decisions altogether, and (in true agile fashion) it allows me to defer the others until they actually matter. I can “execute, build momentum, and move on.” Let’s say I’m halfway through a blog post, and I decide that I want to try taking it in a different direction. No problem. Drop it in Git, and experiment away…

  1. BlogPosts> ls
  2. 20080422_git_is_agile.blog.md
  3. BlogPosts> git init
  4. Initialized empty Git repository in .git/
  5. BlogPosts> git add .
  6. BlogPosts> git commit -m "i can haz repo?"
  7. Created initial commit 417554e: i can haz repo?
  8.  1 files changed, 25 insertions(+), 0 deletions(-)
  9.  create mode 100644 20080422_git_is_agile.blog.md


So while you’ll continue to hear people (myself included) champion Git’s importance as a solution for team-based or community-based development, its ability to give you instant, no-questions-asked version control is enough to earn a place for Git on your system, even if you’re the only one who will ever see your work.

And Git’s agility doesn’t stop there. From branching on a dime, to the oh-so-beautiful stash, to the ability to rework past commits, Git reminds me that decisions are temporary. Or, to quote Ryan Tomayko, “Git means never having to say, ‘you should have.’”

Be sure to check out Rob’s post for a whole host of Git-infused goodness.

Tags: , | 3 Comments »

Relevance is Hiring!

Posted by Jason Rudolph on 3rd November 2007

Smart developers. Really.

Working together.

In small teams.

Using the best tools available.

Embracing true agility.

Pushing each other.

And giving back.

In the constant pursuit of excellence.

Relevance

Are you in?

Then check us out.

And let’s hear it: jobs@thinkrelevance.com

Tags: , , , , | No Comments »

Tonight at Agile RTP: Matthew Bass on “Chaotic Agility”

Posted by Jason Rudolph on 7th August 2007

If you’re in or around the Triangle tonight, come hear RailsConf 2007 speaker Matthew Bass as he talks about the philosophy he’s dubbed “Chaotic Agility.” It should be a good time, and Matthew assures me that, despite the title of the presentation, he won’t be trying to sway us toward embracing CMMI Level 1…at least not this month. The meeting starts at 6:00 PM, and you can check out all the details on the Agile RTP site.

Tags: | No Comments »

JavaOne Day 3, Part 1: Mash-up your languages, Mash-up your web apps

Posted by Jason Rudolph on 11th May 2007

The variety of topics at this year’s JavaOne has been quite impressive, and Day 3 was no exception. Ruby, JavaScript, Groovy, Spring, and JMX all in one day? You bet. Here goes.

JRuby on Rails: Agility for the Enterprise

Presented by Thomas Enebo and Charles Oliver Nutter (JRuby Core Developers)

Charlie and Tom referred to this session as a chance to see “how the other 8% lives,” and not surprisingly, this talk saw a fair amount of traffic. When they polled the audience though, it was quite interesting to see that more folks had heard of Rails than had heard of Ruby. (I imagine the Ruby veterans find that bit of trivia to be a bit annoying.)

Read the rest of this entry »

Tags: , , , | No Comments »