I've been writing a lot of documentation lately. On the Stash team we keep the bulk of our developer documentation in the Stash git repository, right alongside our production code. This approach means that as we introduce new plugin points, developers can review and critique the documentation for those plugin points in the same pull request as the code change. This has proved a convenient feedback mechanism and has made keeping our developer documentation up-to-date much easier. We use markdown syntax

Continue reading »

Stash 2.1: Scratch that itch

Interested in the latest Stash release? Check out What’s New » TL;DR The brand-spanking-new Stash developer site is now online here and documentation for the Stash REST API has touched down here. These updates couldn't have come at a better time as Atlassian Codegeist has just started (with some serious cash prizes and a category specifically for Stash) so get hacking! A bit of history Stash 2.1 has a bunch of cool new features, but what really excites me are the improvements

Continue reading »

Nested BackboneJS Models with Brace

We're big fans of Backbone here at Atlassian. It's already used in the majority of our products, and its uptake within the company is increasing. Backbone is unopinionated by design. It tries hard not to get in the way of any competing libraries and frameworks you might be using, or any coding conventions you practice. This means that, out of the box, Backbone has some shortcomings, waiting for you to custom-tailor to your own purposes. And the open-source community doesn't disappoint. There

Continue reading »

Codegeist is Back! Atlassian’s Developer Competition Returns

Codegeist: The Next Generation Codegeist, Atlassian's add-on development competition, is back on! The seventh iteration of the world's best development competion began February 1 and goes until May 31. What's at stake? $65,000 USD in prizes for members of the Atlassian ecosystem, both new and old. This time, we're giving out a prize for each month of the contest. That means the prize haul looks like this: Best Add-on of the Month ($10,000 x 4): One prize for the best add-on submitted during

Continue reading »

Redesigning an entire application is a formidable undertaking with many risks and possibilities for failure. Brian Nguyen, one of our developers, already covered the challenges of Bitbucket's redesign from a technical standpoint. Now, I'd like to share some of the challenges from the design angle, along with how we eventually overcame them.

Continue reading »

A little practical GC tuning – on Eclipse

JVM GC tuning is a vast field that books have been written about. Mostly, we're happy to accept whatever defaults the JVM figures out, at most cranking up heap and permGen size when we're out of memory (again). I've found that with the ScalaIDE plugin installed, Eclipse was so memory-heavy and often still sluggish that I've spent some time tuning. Why? Besides the fact that a glorified Texteditor with a compiler attached needs gigabytes of memory, the darned thing was still slow, often becoming

Continue reading »