Scala and Erasure

Mention generics to anyone who knows much about them and they'll usually have an opinion on type reification and erasure. For the uninitiated, erasure is where a List of Strings (or a List parameterised by the String type) "forgets" that it has been parameterised by the String type once it has been compiled – ie. the type parameter is erased. Reification is the opposite, the type is remembered, or reified. Different platforms have different strategies for their generics implementations.

Continue reading »

As the year ends, we decided to look in the rear view mirror and see which Developer blog posts were the most popular.   So, here, for your viewing pleasure on 12/12/2012, the top 12 blog posts of 2012 --ordered from earliest to latest in appearance. 13 Steps to Learn and Perfect Security Testing in Your Organization  —  "As a security tester, your ‘end-user’ is now an attacker trying to break your application. " Modern Principles in Web Development — This

Continue reading »

MEAT: One tribe’s quest for meeting room transparency

September, 2010 – The Australian spring was just beginning and a cool breeze was in the air. The cockatoos were singing their song and the wallabies bouncing playfully. Atlassians were frolicking in the grass and a group of us - Stephen Russell, Martin Jopson, Rob Smart and myself - were on the hunt for a meeting room. We had  forgotten to book a room ahead of time, and so we needed to find an empty one at the last moment. But disaster struck. The halls seemed endless as we prowled in search

Continue reading »

On the Bamboo development team we recently spent some time investigating how a wrong artifact ended up in one of our dogfooding servers. Apart from the awesomeness of dogfooding, it highlighted the perils of maven and its implications on continuous integration (CI). The mystery: A WAR deployed to our dogfooding server contained the wrong version of a library The contents of the library installed differed from the corresponding artifact in our internal maven repository, despite having the

Continue reading »

I’m happy to announce that we’ve just released the Atlassian Plugins SDK 4.1. Actually, we released it last week but didn't tell anyone -- we figured most of the Americans would be too busy chomping on turkey and being thankful. Those of you who are on SDK 4.0 and have used it since then should have gotten a notification that a new release is available. If you haven't done it yet (and are using 4.0), go ahead and: atlas-update Some of you may be aware that at this year’s AtlasCamp we

Continue reading »

A number of the Atlassian team leads recently went through a variety of leadership training courses, ranging from the leadership of individuals, teams and, stakeholders and change. During one of our workshops, we were tasked to convert the eight step process of creating major change theory to align a little more closely to the terminology/cultural values and understanding of Atlassian. Whilst somewhat humourous, I think what we came up with encompasses more of an Atlassian truth than we realised.

Continue reading »