Say hello to JIRA Agile and JIRA Capture Learn More »
If you've ever sat down with a more experienced developer for a pair programming session, you'd probably agree that it's one of the most effective ways to learn, and absorb new skills, tools, and tricks. So I am very happy to present you with a new webinar that will reproduce the same feel of a live training session. This is your chance to sit beside me as I work through a typical bug-fix lifecycle from branch creation, through code review, to the final merge, using the powerful toolset that Git brings

Continue reading »

What’s new in Git 1.8.5

I'm speaking at RoadTrip 2014 Learn More »

While we wait for the next major git release which will bring about some serious updates let's peel off the notes of the latest point release: 1.8.5 is upon us! Here is what I could dig from the release notes that was interesting to me in my role of average git user. Oh and if you haven't seen them yet check out my earlier notes on releases 1.8.2, 1.8.3 and 1.8.4. Customary installation pointers It is customary for me to provide a few pointers for the upgrade, with caveats and reminders that

Continue reading »

I am still incredibly excited by Docker. The more I think about it, the more I foresee a revolution in software deployment architectures for SaaSs - yes, SaaSs ... I am speaking Parseltongue. If you remember my previous article, I wrote a guide on how to deploy a Java application - Stash - with Docker. That worked pretty well, but I deferred further automation to a later date. In this second post I am going one step further with automation, exploration, and awesomeness. My long-term plan is simple:

Continue reading »

The essence of branch-based workflows

Two weeks ago I had the pleasure of speaking at the Jazoon conference in Switzerland about Git workflows. One particular piece that seemed to resonate well with the audience was the idea of looking at the underlying rules when it comes to branch based workflows. Workflows A workflow defines steps that represent how your team agrees to get code into production. The workflow being used needs to support a number of different use cases. How do I fix a bug in an old release, how can I make a hotfix

Continue reading »

Today I'm here to preach the gospel of promise-based async programming in Node.js, when coupled with an exciting new Harmony feature called generators. If you've been writing Node.js code for a while, then I'm sure you're familiar with the Node.js callback model. You've probably also heard some of the more common nicknames for it: callback hell, callback soup, pyramid of doom, etc. It looks a little something like this: [cc lang="js"] var checkIfBaconIsDelicious = function(cb) { // Truth

Continue reading »

Don’t move to Git

I'm speaking at RoadTrip 2014 Learn More »

Update: TL;DR: If you don't like speed, being productive and more reliable coding practices then you shouldn't use Git. (Please take the material below in good spirit, imagine the main voice is a grumpy friend stuck using SVN; no offense meant!) So, you've heard all your hipster friends raving about git. They say it's the latest and greatest, and you simply must try it. What's the real story here? I'll tell you. Speed is overrated You've heard that git changes the way you work; most operations

Continue reading »