Category Archives: News

Upcoming Auckland Neo4j Events

So, I return to New Zealand. Spend most of a year hiding in a cabin and then fail to organise any events. And now they’ve all come at once:

  • James Rowlands is doing a talk on Neo4j for Python Devs at the Auckland Python Meetup. Tomorrow, February 19. James organised this, I’m appearing for moral support.
  • Neo Technology is a sponsor for CITCON Auckland 2014, and I’ll be giving away a few paper copies of the Graph Databases book.
  • We’re kicking off the Graph Database Auckland meetup on March 3.
  • The second Graph Database Auckland meetup features our Chief Scientist Jim Webber, on April 3. He’ll be showing off the awesome new features of Neo4j 2.0.
  • Jim is keynoting Codemania the next day. You will laugh. I guarantee it.

News, February 19

  • Bamboo 4.4 includes loads of performance tuning, and virtual private cloud support for build agents.
  • If you haven’t upgraded Go and Mingle this year, go and do it right now.  Go has had 2 vulnerabilities via Rails, so go make sure.
  • James Turnbull of Puppet Labs just released his book on logstash.  I don’t think he sleeps much. [link]
  • DevOps Down Under is on July 12, 2013 in Sydney.  I hope to be there. The call for proposals is out. [link]
  • DevOpsDays Auckland is on March 8. I will be there. [link]
  • Congrats to Luke and the crew at Puppet Labs on a massive investment from Vmware. [link]
  • Amazon continue to reduce price and make badass instances. Long may they continue.
  • Kohsuke is doing a useful webinar today: [link]
  • Urbancode (who sponsor this blog) are doing a webinar on how to avoid evil DevOps teams [link]
  • RubyMine 5 got released, with Puppet support.  Now you can raise more feature requests.
  • We’re still looking for someone to work on our Cloud team. [link]

News, January 14

  • Ancient Configuration Management community, cmcrossroads has relaunched, by it’s new owners TechWell.  It’ll be interesting to see how this works out.  Configuration Management is one of the disciplines that’s been folded into DevOps – but will we lose something in the cooking? [link]
  • Rubymine Enoki will be officially released soon, with some very basic Puppet support – syntax highlighting, and a basic first pass at validation.  Keep those bug reports coming!
  • Go is affected by the Ruby security bug.  Go install the patch, right now. [link]
  • There are Puppet Camps in SF, Sydney and Ghent this January.    Sydney’s a mere 1337 miles away (auspicious number) from Build Doctor HQ, but I’m unlikely to make that one. [link]
  • UrbanCode (who sponsor this blog) just releases uRelease 4.0, giving more orchestration goodness. [link]

News, January 2

  • Tonight, we did some tree maintenance at the New Zealand Build Doctor HQ: some of them haven’t been trimmed in 15 years.  I was reminded of an old PragDave post. [link]
  • Malte Ressin (nice guy who I met at XP Day in 2011) is doing a survey on software development and localisation.  Want to do him a  good turn while you’re still full of Christmas Cheer? [link]
  • Urbancode (Sponsor Danger) are doing a webinar on managing dependencies at build time. [link]
  • SauceLabs have an OSX client so you can sport a ponytail (OK, I did Mac support in the 90’s) and do browser testing on real operating systems.  They’re also giving away free service to OSS projects.  [link]
  • Splunk are courting developers with a REST API on Splunk Storm (I always misread that), and Java/Python SDK’s for the enterprise product [link]
  • Update: I forgot to mention that Heroku now support Jruby. Huge. [link]
Happy 2013, everyone.

News, June 5

Things have been busy at Build Doctor HQ. Here’s what piled up in the inbox:

  • Electric Cloud sent a press release to let us know that they installed Electric Commander at CERN. Big customer.
  • SplunkLive comes to London on June 21
  • Upgrade your Bamboo instances, as there was a security disclosure in May.
  • Bamboo 4.1 just came out. (Atlassian sponsor this blog)
  • Atlassian just released their app marketplace, as well (see sponsor danger note above).
  • There’s a monitoring project that uses (my employers) Neo4j: the Assimilation Project. It’s a graphy world, people.
  • I’ve been busy with the intersection of frequent releases, Git, and Maven. I’ll share my learnings when the dust settles.
  • I did find some time to continue the great Skewer refactor. Hopefully I’ll sort out some PRs and get the next release out soon.

News, 5 May


  • XP2012 is in Neo Technology’s hometown of Malmo, Sweden [link]
  • The BCS CMSG conference program is also out [link]
  • VMWare sent a reminder for VMWare Forum 2012 next week  [link]


  • Rackspace are blinging up their cloud product, and adding cloud databases [link]
  • Cloudbees are doing a webinaar on ALM for PAAS [link]

Vendor news, 19 April

Stuff from vendors:

  • Sonatype are announcing a build-time inspection feature for your artifacts, presumably so you can fail the build on crap dependencies [link]
  • Cloudbees are making the Jenkins UI more usable – I’ve road tested it, and it helps a boatload [link]
  • TeamCity 7.0.2 is out [link]
In other news:
  • I’m a CruiseControl committer.
  • Chris Matts and Olaf Mattson are seeking funding for a Business Graphic Novel. This is Maus, but for Real Options. [link]



Vendor news, April 7

  • Sonatype are making news of their .NET support. It’s about time that there was a decent approach to this in .NET. [link]
  • Amazon are in London again, with refreshments [link]
  • Splunk Conference is in Las Vegas. It might be safer to say that you’re going to Gomorrah. [link]
  • VMWare UK Forum happens twice in May [link]

A Neo Chapter

I was too quick to choose my post-ThoughtWorks job. I interviewed with an ‘Agile’ development shop that worked off of detailed requirements, and an insurance company who prided themselves on their agile record. They were both misguided, and so was I for electing to work at one of them.

So I jumped ship. To a startup, that wanted to change the world of media, but changed investor money into the exact opposite of money. Freelance seemed like the only safe option.

Running The Build Doctor Limited has been a great ride. But I miss camaraderie. Which I’ve found, with the Neo Technology crew. On Monday, I join Neo as a full-time employee. We’re going to deliver a fabulous graph database, and you’re going to love it.

Bamboo 4.0 – interview with James Dumay

Bamboo 4.0 is out today. I had a brief chat with James Dumay (@i386) from Atlassian, who is the Product Manager for Bamboo.

What’s new with Bamboo?

The Bamboo team has been hard at work for the last few months rethinking and rebuilding the way developers use and interact with CI when a team uses branches. Many thought leaders have come to the conclusion that feature branching and continuous integration are ultimately incompatible because all branches cannot be tested easily. Bamboo 4 is all about proving this wrong.

For example, when a developer commits to a new branch, the developer must go to the CI server to clone and update the build configuration to take into account the new branch. This is needed to ensure commits to the branch are tested correctly by running the full test suite. This is a big problem because a developer has to remember to manually create a new build for their branch each time, as otherwise code does not get tested for large spans of time. And let’s face it, we are a lazy bunch when it comes to processes.

Keeping the configuration between the main build and the branches synchronised is a lot of work and we end up with a maintenance headache.

Bamboo 4.0 solves all these problems by sharing build configuration between the main build and the branches. Working with branches and CI has never been faster and easier.

If you are using Git or Mercurial, Bamboo can automate even more for you. Bamboo will automatically setup a new build when a developer pushes a new branch to the repository and will also automatically clean up any branch build configurations that have been unused. This means that your CI server doesn’t remain cluttered with dead branches (of course all of this is configurable and we never delete branches in your repository).

The other problem is that when we create the branch and manually setup a build for it, we are not sure whether the changes on the branch will integrate with the master branch until it’s time to merge the branch into master (or another branch for that matter). If you don’t run the full test suite before pushing your changes back to master, then you could be potentially slowing the whole team down by introducing bugs and failing tests.

For Git and Mercurial repositories, Bamboo will attempt to merge changes from (or to) the master branch then executes a build against the merged changes. If the build passes, the changes are optionally committed and pushed to either the branch or the master. That’s fantastic for situations where you need to keep your branch updated with the latest changes from master or want to automatically push changes on the bug fix branch back onto master when the build passes.

We think we have really nailed it and we can’t wait for developers to start working with branches and CI together the right way.

We’re in an age where CI servers are all very similar, what makes Bamboo stand out?


Firstly and foremostly, we truly believe Bamboo is the best CI server out there and it only gets better if your team is using JIRA, Fisheye and Bitbucket. Mention a JIRA issue in a commit message and Bamboo will automatically provide detailed information about that issue on the UI wherever the commit is displayed. If your repository is indexed in Fishseye, then looking at the commit details is only a single click away in Bamboo. As Atlassian builds and acquires more products, Bamboo will add integrations with them (so stay tuned!). We’ve already got a plugin that allows you to broadcast build notifications to the entire team using our cool new communication tool, HipChat.

Bottling best practices

One thing our team and I believe in strongly is that Bamboo should be flexible enough to work your way, not the way that ivory-tower droids think development should strictly work.

Our approach is to marry best practices with flexible features wherever possible to allow you to setup your CI server the way you want it. For example, Continuous Delivery influenced the design of the Stages feature heavily. Stages are the flux capacitor of Continuous Delivery – they not only make it possible, but make configuring it pretty painless. Stages give developers control over their workflow by allowing the steps in the build and deploy pipeline to be split into groups. A Stage can be automatically triggered when the build runs or be launched manually by pushing a button – whatever works better for the team.

The kicker is that Stages let you run a few steps sequentially, then run a few steps in parallel, then go back to sequential execution. For example, you can run compile, package and deploy steps in sequence, then run a several batches of tests in parallel, then switch back to running one step at a time as you deploy the package to a staging environment (only if, and only when , all your batches of tests finish successfully!). You could then have another stage that deploys into a production environment. Going back and forth like that is a huge pain to configrure with other CI servers as the configuration tends to be rather brittle. We have tried to make configuring deployment pipelines like this as easy as possible in Bamboo.

Extensibility and stability

Having a stable API is a must for anyone who wants to rely on plugins. In Bamboo 3.1, we introduced the concept of Tasks which represent user configurable steps of the build process. The Task API been stable for over four major releases, from Bamboo 3.1 all the way to Bamboo 4. Right now we are working with a host of commercial software tool vendors to integrate their tools as Tasks. They simply wouldn’t have had the confidence to try to do this without the stability or the simplicity that the Task API has to offer. That fact has really shined through with the amazing growth we have seen in the number of plugins available for Bamboo since Tasks were introduced.


We believe that not only should tools make it easier todo your job but they should look, feel and behave great if you are going to use them day in and day out. No CI server is as easy to understand and work with as Bamboo. Every day, we think about how to make Bamboo’s UI as clear and simple as possible so teams can find the information they need faster, and get back to the business of making awesome software.

24/7 Support

Bamboo support is 24/7 which is a rarity in our space. Our support team kick ass – plain n’ simple. They go out of their way to help resolve issues when things go wrong and feed info directly back to the Bamboo dev team. If you contact support at Atlassian, you are going to get a fast response.

Analysis: Atlassian are raising the bar; taking things of clear value (auto merging of loony tunes features branches, etc.) and making the accessible. Not a bad strategy, and shows you that James has done his share of developer time.

Sponsor Danger: Atlassian sponsor this blog, and I am disclosing this interest.