Archive for the ‘software development’ category

SVN: Handling merging of multiple branches up and down from trunk

December 17th, 2008

I’ve been away from code and SVN branch merges a little recently so I forgot the exact process of handling multiple branches merging up and down from trunk.

After a little thought and partially effective googling, i found that the following is an efficient process:

Introduction – What I had

  • trunk
  • branch_a created at SVN revision 2111
  • branch_b created at SVN revision 2113

Step 1 – Preparation – Checkout local copies of trunk, branch_a, and branch_b

  1. cd ~/
  2. svn co http://svn_repository/trunk ./trunk
  3. svn co http://svn_repository/branches/branch_a ./branch_a
  4. svn co http://svn_repository/branches/branch_b ./branch_b
  5. I ensured that all changes had been committed to trunk and both branches

Step 2 – Merging branch_a back to trunk after a successful rollout

  1. cd ~/trunk
  2. svn merge http://svn_repository/trunk http://svn_repository/branches/branch_a
  3. svn commit -m “merged branch_a into trunk”

Step 3 – Merging the newly updated trunk into branch_b

  1. cd ~/branch_b
  2. svn merge http://svn_repository/trunk -r2113:HEAD .
  3. svn commit -m “merged up from trunk, applying changes between 2113:HEAD that included changes made on branch_a”

Step 4 – When i’m ready, i’ll merge branch_b back into trunk, following Step 2 above

That’s it!

Now we’re rocking! DSL story driven development and testing in Java!

December 9th, 2008

At TechnoPhobia, we have an interesting challenge to implement a technology agnostic requirements capture process that (in my mind) will enable us, with very minimal effort, to repurpose these documented requirements into fully automated browser tests. I’m thinking that the process could look something like this:

  1. The project and client team write end-user functional requirements as User Stories and Scenarios
  2. The stories are stored as plain text in SVN or GIT and made immediately available to the development and test teams
  3. The development and test teams create a few executable padder files, wrapped around these stories, turning them into fully automatable browser tests
  4. The executable files are run, they read the stories and interact with the browser to determine if the stories successfully pass

Pretty cool, huh! No more massive team specific documents, just good old plain textual stories that are shared by all on the project, including the client.

Making this happen across multiple technologies

I am WAY TOO EXCITED to see an implementation in Java! This opens massive opportunity to progress with a technology agnostic approach. Now to find a suitable solution for .Net and perhaps PHP

Merb & Adobe Air File Uploader – Nice!

October 29th, 2008

Whilst writing an Adobe Lightroom plugin to upload library items to a rails app, i spotted something i definitely need to play with! Adobe Air and Merb file uploader. Looks rather handy!

Dave Thomas: Security as a measure of effectiveness

October 26th, 2008

I really like this approach – Assess the state of security within a development team and project as an indication of how well a project is going and how effective processes are working out.

It’s another one of those many obvious tests that we all do, but at times i’ve certainly found myself accepting insecurity within a project team as one of those things because the team are new to the pressures or software projects are always uncertain and as such stressful. With a little consideration, it’s clearly more useful to use perceptions of insecurity as more direct indications that change is required.

What might we be looking for? A few possible ideas:

  • How secure are the developers about the quality and stability of their code?
  • How secure are the developers about rolling code to the various hosting platforms?
  • How secure are team members about their relationship with others on the team?
  • How secure is the project manager about hitting the deadline?
  • How secure is the account manager about conversations with the client?
  • How secure are senior management about project and team performance?

The overall intention of improving security is to make everyone feel relaxed. Software development is meant to be fun after all!

Source: Agile Toolkit Podcast ‘No fluff just stuff 2006 tour’

Jason Calacanis – work hard and succeed. don’t and fail

October 15th, 2008

A blunt and no-nonsense approach: Watch the video on Work/Life Balance and Blood Sweat and Tears

37Signals don’t like his style, but in person i very much got where he was coming from – work hard and succeed! As it happens, I’m not working at his pace currently as it’s time for a family life (well, as well as working hard, just not 6-7 days a week like i have in the past), but what he says about people not pulling their weight rings too many bells!

Calacanis has more advice on “How to save money running a startup (17 really good tips)“ here