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 »

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 »

15 Steps to Atlassian Marketplace Success

Bob Swift of Bob Swift Software is a long-established presence in the Atlassian developer ecosystem. His add-ons for Confluence and JIRA – including the Table Plugin, SQL Plugin, and Excel Plugin – collectively have hundreds of thousands of downloads, and tons of Atlassian customers. Bob has built an extraordinarily successful business on top of the Atlassian Marketplace. In this post, he shares some not-so-secret tips for building a successful business on top of Atlassian. It's a must-read

Continue reading »

The question is simple: In a software team using git and feature branching, what's the best way to incorporate finished work back to your main line of development? It's one of those recurring debates where both sides have strong opinions, and mindful conversation can sometimes be hard (for other examples of heated debate see: The Internet). Should you adopt a rebase policy where the repository history is kept flat and clean? Or a merge policy, which gives you traceability at the expense of readability

Continue reading »

One question that every team faces when moving to Git is what development workflow to use. Since every team is different and has different requirements, there is no one-workflow-fits-all approach. However, there is one rule all teams should follow when looking for a new workflow to adopt: Keep it simple. Doing so will reduce the number of mistakes people can make, and will help with adoption. On the Stash team, we've adopted one of the simplest Git workflows possible. And since so many of you

Continue reading »