On SOA

Posted on 19 January 2013 by Nick Boyce

I finally got around to reading Paul Dix’s Service-Oriented Design with Ruby and Rails over the new year break. Having worked on a number of services for a platform at my previous job, I was very familiar with the benefits (and drawbacks) of service-oriented architecture but it really concreted my understanding of what SOA could do for our organisation.

I’ve since been devouring articles on the topic, and have listed a few below that I have particularly enjoyed.

Leave a comment

Links from the week

Posted on 10 January 2013 by Nick Boyce

Thought it might be nice to start the year with a quote from from the Getting Real book:

There’s plenty of time to be a perfectionist. Just do it later.

Here’s a few links I’ve enjoyed over the new year break.

  • Enabling Lean with Tech: lessons learned applying lean at PayPal. An interesting slide deck from Bill Scott about how PayPal used a JavaScript-based stack and open source methodologies to set themselves free from their legacy technology stack and allow faster prototyping.

  • My Workflow: Never having to leave DevTools. Remy Sharp demonstrates some of the newer features of Webkit Inspector which allow much more deveklopment to happen inside the browser.

  • A Personal Annual Report. Jehiah Czebotar collected metrics about his activities throughout the year and presented an interesting report.

  • Building a Design-Driven Culture. Being design-driven means treating design as a partner (and a leader) in the product creation process. Look at your feature roadmap right now. Are there major initiatives and ideas that were generated directly from your designer or design team? If yes, was design in the room when the other items were created and prioritized? Congratulations, you’re design-driven.

  • The New York Times Skimmer looks like it’s had a significant upgrade since I last saw it. It’s a really impressive JavaScript front-end to the NYT content – complete with multiple themes and keyboard shortcuts – and by the looks of it, it’s also available bundled as a Chrome web app.

Leave a comment

Using git flow

Posted on 09 January 2013 by Steve Rydz

For the past couple of weeks I’ve been using a tool called Git Flow. In it’s own words, git flow is A collection of Git extensions to provide high-level repository operations for Vincent Driessen’s branching model.

If you’re already familiar with Git on the command line then getting up and running with git flow will take you no time at all.

Installation

The full installation instructions can be found here but for the purposes of this article I am going to assume you are on a Mac and using homebrew.

You can use homebrew to install git flow:

    $ brew install git-flow

That’s all it takes.

Initialising a project

To use git flow, you will need to already have a git project set up. So, to get started, just navigate to your project (in Terminal) and type the following:

    $ git flow init

It will then ask you a few questions regarding what to name your various branches. Unless you have good reason, I would stick to the defaults.

Going with the flow

So now you have initialised git flow within your project, you want to get going.

The assumption here is that your master branch is always deployable and your develop branch is where you would make small changes that will be release fairly quickly.

The feature I use most is feature branches. Essentially a branch called feature/ is created and when complete, merged into your develop branch. To start a new feature branch just type:

    $ git flow feature start <feature-name>

Obviously feature name will be whatever you want to call your new feature. You can then start working on your feature and commit as you normally would. To set up a remote branch so others can collaborate just use the publish command:

    $ git flow feature publish <feature-name>

Once you are ready to merge your new feature, just use the finish command:

    $ git flow feature finish <feature-name>

This will merge your feature into your develop branch and delete your local branch too. If you want/need to delete the remote branch then just type:

    $ git push origin :feature/<feature-name>

More resources

Hopefully this article has convinced you that using git flow is worthwhile and got you intrigued enough to find out more.

Some more git flow resources:

Leave a comment

Is London the most popular city for Github users?

Posted on 20 December 2012 by Nick Boyce

Interesting review of 2012 from Github in The Octoverse in 2012:

Since the beginning of the year, we’ve seen a doubling in activity, with pushes alone responsible for over 60% of the events in a given day. On a typical weekday, 10k people sign up for a GitHub account, and our users:

  • push 140GB of new data
  • create 25k repositories and 7k pull requests
  • push to 125k repositories
  • Best of all:

10k people create their very first repository

Apart from their impressive growth, this little fact caught my eye:

The top 10 countries visiting GitHub.com are: United States, Germany, United Kingdom, China, Japan, France, India, Canada, Russia and Brazil. The top 10 cities are: London, San Francisco, New York, Paris, Moscow, Beijing, Berlin, Bangalore, Sydney and Toronto.

London is the #1 city for Github users? Go London!

Leave a comment