Latest Posts

Helper scripts for Glassfish/OpenESB and SunMQ

22nd December 2009, 1302

A couple of weeks ago I finally spent the time to set up my cygwin environment at work to just the way I want it. As part of the process I threw together two bash scripts to help me when interacting with Glassfish server/OpenESB, making short aliases for common commands and providing some helpful colourisation. I thought I would share them in case they prove useful to anyone else.

A very simple python caching proxy

17th September 2009, 1949

A while ago a colleague asked me if I knew of a HTTP proxy tool that would cache and then replay the first response it got, in order to develop a client for a webservice without hammering the service with requests during testing (or doing a lot of work to mock it out). I mentioned Fiddler but that's Windows only. In the end I realised it probably wouldn't take more than 20 lines of python to achieve the desired effect. 10 minutes later I had the following script, just throwing it out there in case its useful to someone else.

Melanie Scholtz Band m/ Ole Jørn Myklebust

31st July 2009, 0951

Last night was the first time I've visited Herr Nilsen, a Jazz club in Oslo with Melanie Scholtz Band and Ole Jørn Myklebust being the artists for the night.

Geek Cruise

29th May 2009, 0027

When an email came around at work asking if there was anyone interested in the four guaranteed places we were entitled to as a part of sponsoring the latest Geek Cruise, I jumped at the chance expecting to be turned down with the places already taken. To my surprise it wasn't that difficult at all, and I was one of two who represented Bouvet at Geek Cruise. Read on for a summary of my experience.

Multistage Django deployments: Part 2

22nd April 2009, 2108

In the previous post in this series I introduced two of the tools I use to manage the development and deployment environments for this blog. Today I will share with you my Fabric deployment script and give a quick overview of what each action does.

Multistage Django deployments: Part 1

15th April 2009, 2022

At Europython 2008 I gave a presentation of how we were using Capistrano for deploying the Pylons based widgets.opera.com site. When rewriting this blog in Django I decided to look again at more pythonic alternatives. This is the first part of a two part blog post, in this part you will learn the tools I use to create a sane, reproducible deployment. The second part will tie the tools together with version control to perform one click deployment.

Social backlog prioritisation

13th April 2009, 1438

Most developers will probably agree that the shower is a magical place. During a morning shower you're (usually) alone, refreshed after a good nights sleep and don't have the noise of a whole day's thoughs going on in your head. Strange ideas can come along during this part of the day and here is a brain dump of one an idea I recently had, using the Reddit engine to prioritise a Scrum backlog.

It's not Terry's it's ... Freia?

11th April 2009, 1007

When I moved to Norway one of my favourite chocolates that I couldn't find here was the Terry's Chocolate Orange. Every Christmas at least one present from my family is a product from the Chocolate Orange range. In the build up to the easter holiday over here a very similar looking product started to appear in a few stores. I had to investigate...

Null vs. Exception

9th April 2009, 2026

This week a fellow colleague posed the question of whether to return null or throw an exception when looking up an entity from a repository by id. This blog post describes in more detail why I generally prefer to throw an exception.

Grasrotandelen

22nd March 2009, 2017

VivoBrass, the brass band I play in, are now correctly registered so that you can support us via Norsk Tipping's Grasrotandelen programme. Read on for details.

Optimising Django on Dreamhost

12th March 2009, 2030

After deploying the first version of this website to Dreamhost I couldn't help feeling that the site was feeling very slow. This was to be expected as I have read many horror stories about the performance and support of Dreamhost but I wanted to investigate a little closer to give them the benefit of the doubt. This blog post documents the process I went through and the improvements I made along the way.

A Valentine pantomime

18th February 2009, 1918

Saturday was of course Valentine's day and Lise and I decided to go out for dinner at Raymonds mat og vinhus which is a place we had wanted to visit for a while. It turns out that, while far from romantic, this particular evening had me laughing on the journey home and we plan to return sometime.

African music seminar

3rd February 2009, 0119

Last weekend I was away in Hamar on a trip with the band I play in, Vivo Brass ad Libitum, some "old friends" from Sørkedalen Brass, and four africans that are in Norway as part of an exchange programme called Bands Crossing Borders. Keep reading for more information on what we got up to.

Code coverage for Maven projects in NetBeans

21st January 2009, 2231

When developing I like to use code coverage tools to ensure that my unit tests are testing all of the main code paths. As a recent migrant from Eclipse to NetBeans due to superior Maven support, I was dissapointed to find out that the codecoverage plugin does not work for Maven projects.

Luckily, due to a bug/feature in the codecoverage plugin it is possible to convince NetBeans to render the coverage highlighting in the Java editor by making a few changes to your pom file. Read on for the details.

Medarbeidersamtale

10th January 2009, 1216

The first week of real work after Christmas is now over and it's around this time of year that most Norwegian companies begin to think about holding an annual performance review (medarbeidersamtale) with all of their employees.

As preparation for this I like to summarise my achievements the previous year and things I would like to do the next year. This year I have extended this process to take a broader look at my life, read on for the full details.

This Blog represents my personal views and experiences which are not necessarily the same as those of my employer.