Wednesday Jan 13, 2010

Power Pedaling

As you have seen, I have been cycling a lot lately. One technique to train leg strength is to pedal slow and heavy, or to run intervals where you alternate between slow and heavy and fast and light load.

For these exercises, I made my own soundtrack where the songs have the perfect speed (BPM - beats per minute) for my cycling. I created a script for extracting this information for my music collection, and wanted to post it here in case anybody else has need for something similar.

If you want to index your own collection, download Perl Artistic License.

See dependencies in the top of the file for lots of dependencies.

Usage: "perl /var/music. It will store statistics about the music in a stats.csv file: name of song, tempo (BPM) and length of song.


"/var/music/Clash, The/London Calling/17-I'm Not Down.ogg",68.8,186.07
"/var/music/Turbonegro/Scandinavian Leather/10-I Want Everything.ogg",131.6,171.53
"/var/music/Sex Pistols/Never Mind the Bollocks Here's the Sex Pistols/11-New York.ogg",68.5,183.76

Now it is just to open that document in OpenOffice,  sort on BPM and find a song you want to suffer to.

How my soundtrack ended up?

  1. The Verve: The Drugs don't work (151 BPM - warmup)
  2. The Verve: Bitter Sweet Symphony (174 BPM - slow'ish, pedal at half the tempo)
  3. Placebo: Every You and Every Me (slow, 66BPM - fast, pedal at twice the tempo)
  4. AC/DC: Back in Black (slow 46 BPM - slow)
  5. Neil Young: Rockin' in the Free World (139 BPM - fast)
  6. Led Zeppelin: Stairway to Heaven (48.5 BPM - slow)
  7. Metallica: 53'rd and 3'rd (65.2 BPM - fast, pedal at twice the tempo)
  8. The Dandy Warhols: We Used to be Friends (52.7 BMP - slow)
  9. Foo Fighters: Everlong (79 BPM - cooldown)

Tuesday Nov 24, 2009

Free Test 2010 program ready

The program for Free Test 2010 is ready!

Monday Sep 21, 2009

Free Test 2010 CFP

After my presentation on last years Free Test conference, I was asked to take part in the program committee. This is probably just a clever trick by Henri to make sure I am too busy to propose a talk this year.

The Call For Paper deadline is Oct. 15th, and I am looking forward to lots of good presentations!

Wednesday Mar 25, 2009

Hudson Presentation at Free Test 2009

Monday 2009-03-23 i held a presentation called Hudson: Introduction and Experiences at the Free Test 2009 conference.

The conference was very professionally arranged, despite this being the first year it was held. In addition to the presentations it was nice to meet some fellow testers from all over the world. See you all next year!

Thursday Feb 19, 2009

itDagen 2009

Sun uses to participate in itDagen at NTNU, and this year was no exception. We talked to the students about Sun, Java, Solaris, SunSPOT, Trondheim OpenSolaris User Group (TrOSUG), Memcached and MySQL, and served coffee from Sun cups.

For people that use to sit in front of a screen the whole day, it can be exhausting to stand up and meet people face to face for a whole day - as this picture of Trond, Jørgen and a huge SGI monster shows.

Wednesday Feb 18, 2009

Continuous Integration

I am giving a presentation at the Free Test 2009 conference in Trondheim in March, and I am looking into visualizing or proving why continuous integration is such a good idea because of this.

These visualizations are based on three dimensions: line, time and person doing the change.  In the (horizontal) x-dimension you have time. In the (vertical) y-dimension you have line number. Imagine all lines in a SCM concatenated together e.g. like "find . -exec cat {} \\+ | nl". A changed line would get a single line number with this transformation. With this visualization, each time a person saves what has been changed in her editor, there would be a vertical line (with possible holes) which shows the fingerprint of which lines in the complete SCM the person has changed per save. The last dimension - persons, I have tried to visualize with blue and red color. I appologise to the color-blind, but adding a z-dimension made it difficult to see overlaps, and using different line strokes also made it difficult to see.

I have two visualizations so far. The first came after a discussion with Terje Røsten, where we agreed that the rate of change per unit of time was constant, and that therefor the possible overlap of two persons changes are bigger the more seldom you integrate. This would translate to "there is more work involved to fix the merge".

In this figure, the blue and the red persons has both integrated a patch that touches some of the same lines.  When the patches are big the average overlap can be lines (a), and when the patches are small, the overlap must be few lines (b).

In the next figure I try to visualize the possibility of a collision to occur. In this figure I have painted one integration point (think commit, push and pull) - i1. At this point we have two conflicts - c1 and c2.

In the next figure I have the exact same sequence of changes from both programmers, but much more often integrations. Here there are no conflicts because they are resolved before they happen because of the integrations.

OK, so now I have some visualizations showing a couple of reasons why continuous integration is good for you, but I am still looking for a mathematical formula. I think it has to include something like this:

P(collision) = ((avg size of patches)/(total size of code in SCM)) \* (number of committers) \* (number of commits per integration)

The "problem" with this formula is that while you increase the number of integrations, you decrease the average size of each patch - so the P(collision) for each integration point decreases, but the number of integration points increase with the same factor - so the net result is the same.

Are there any mathematicians or statisticians out there that could shed some light?

Friday Jan 02, 2009

Christmas Party

Just before Christmas we had a Christmas party at Sun.

The just-about-to-break-through band "The Directless" had a stunning performance releasing their new hit single "Riga River", here are a couple of pictures:

Warming up

During the performance

Jan Ståle blogged the lyrics.

Friday Oct 17, 2008

OpenGrok 0.7 is Released

OpenGrok 0.7 has just been released!

I worked on the Git backend, and on improving the quality. Well, not only improving it - it seems like a fix to make it compile on Java 1.5 didn't really fix the problem. A real fix has been pushed now, but is not in 0.7.

(OpenSolaris only has Java 6, so it is difficult to test my changes on 1.5 - luckily Lubos has 1.5 running in a Hudson - I should check it more often).

Thursday Sep 11, 2008

Kenai launched

Last autumn I worked on a secret project in Menlo Park for a couple of months, and now Sun has launched the project as Kenai.

Tim Bray have blogged an interview with Nick, with some information about what the project does.

I see they have had almost four thousand check-ins since I left, so lots have changed since I last saw it. It still looks good though ;-) - but I am missing project Kenai itself from its it's project list. It would be fun to work a little with the old gang to add OpenGrok support to it.

Speaking about fun and good colleagues; here is a picture showing frenetically coding:

Wednesday Sep 03, 2008


This weekend I attended a mountain bike race in Norway, caller Birkebeinerrittet.

It is 91 km with some nice roads, some terrain and some places where you have to run through mud and stones. I finished in four hours and six minutes, which I am very pleased with after some technical problems and a salto mortale. Next year I'll go for 3:40.

Picture og Jørgen on Bicycle


I work with testing in Sun Microsystems Database Group in Trondheim, Norway, currently with MySQL 6.X. The plan is to write a little bit about what I do here. More about me at my homepage.


« September 2016