Archive for April, 2007

Bush bashing for 10.5 hours 2

On the weekend I completed a 12 hour rogaine with Fitzy and Shenandoah. Mark, Ash and Steve formed another team and Neil, Andrew and Andre formed the third team. In total there were over 150 teams and we finished in 77th position which we were happy with.

Rogaining is the sport of cross country navigation. You take a compass and are given a topographical map that's marked with control points of different point values, and map a course collecting as many points as you can in a given time period.

Our course took us north through thick bush scrub. With this being the first event for all the members of my team we presumed this was standard. In fact, quite a lot of people avoided this area and instead focussed on the pine plantation to the south. In hindsight we should have done the same and spent less time hacking through dense bush.

With it being 12 hours long and starting at 10AM we were prepared for trekking in the dark, but when Adam suffered some severe knee blow-outs at about 6PM we knew we were in trouble. The plan quickly became "get back to the hash house ASAP". The hash house is a big tent full of delicious, hot food. We liked the hash house.

Mark's team came in about 40-something, and Neil's team was 20-something (going from my poor memory). The results will be online soon.

The weather was very good to us, with the only rain happening early in the last morning - we camped Friday night before the event and again on Saturday night after the event, leaving Sunday morning.

My back is still quite sore, and sitting on the floor at my MacBook doesn't help it. Maybe I should clear my desk off and use that instead?

Everyone had fun and I'd definitely do it again, just not for another six months or so :)

BJJ competition - May 6th 6

I'm entered in a BJJ competition on the 6th of May (not this Sunday but the next one). It's at:

Total Martial Arts Centre
Unit 7/17 Townsend Street
Malaga

If anyone wants to come and watch it's $5 entry and it probably starts around 10AM with the kids, who incidentally are great fun to watch. We've got a few from my club going and Adam will be cornering for us so it should be a good competition.

Entry forms need to be in by 7:00PM tonight if you want to compete and you need to be affiliated with a BJJ club.

Update: Tuesday 1 May, 10:43AM
I've just found out that the kids competition starts at 10AM and the adults are at 1PM. White belt adults will be the first up, so if you're coming you'll need to be there for 1PM. If you can make it earlier though the kids are definitely worth watching.

Firefox bookmark keywords 0

I found an interesting feature within Firefox a few moments ago: you can attach a keyword to a bookmark such that when you type the keyword in the address bar, the associated URL is opened.

For example, our project management system (Copper) lives at http://thefrontiergroup.com.au/copper - a fairly sensible URL. I can now type "copper" into the address bar and Firefox will load my bookmark automatically.

Simple, but very useful, especially as I tend to keep my TFG bookmarks hidden away in a folder on the bookmarks toolbar.

Harmony Backup - algorithmic improvements 0

I spent most of my ANZAC day modifying and testing Harmony Backup's code. I wanted to increase performance by reducing disk access.

Without question, the most "expensive" computational function is accessing secondary storage, like a hard disk drive. You can improve performance by using a RAID array but even still you're only reducing the problem slightly. Because of the mechanical nature of hard drives (think about how a record player reads a vinyl record and you'll have a good mental picture of how a hard drive works) they're always going to be the bottleneck in your application if the application is disk-intensive.

By changing the algorithm that controls the order and nature of Harmony Backup's disk access I've significantly improved the program execution time and replaced two very disk-heavy steps with one less-intensive step.

Traditionally, if you have two variables that you want to swap you'll use a third temporary variable. Consider:

VarA = 1;
VarB = 2;
VarTemp = VarA;
VarA = VarB;
VarB = VarTemp;

With the backup schedule often every 2 hours (resulting in 12 backups) I'd previously delete the oldest backup, move all the backups down one and copy the newest backup as a base for the current active backup. This involved a delete and a copy, both of which are very disk intensive.

Now instead of deleting the oldest backup I move it to a temporary directory, move all the backups down one, move the temporary backup as the base for the current backup and sync it with the most recent. This involves two moves (which have very very low overheads as the data pointer is only moved, not the physical data) and a sync (which is significantly less intense than a delete or copy).

My initial testing shows that I've squeezed a 200% speed increase when dealing with systems of approximately 6GB, and I estimate that I'll see improvements of up to 800-1000% for larger systems.

A 10x speed improvement and significantly less strain on our disk array. Sounds like a good afternoon to me.

Update: 1:03AM, Thursday 26th April
It appears that I've cut the time taken to "start" a backup of hotrod by about 900%; it's down from an hour and a half to about 11 minutes. The actual data backup still takes the same time but it's now being initialized much, much faster.

Square-foot gardening 0

This looks like an interesting approach to the modern-day problem of gardening within confined spaces: An Introduction to Square-Foot Gardening.

I really don't have any space that I could use to create such a garden, but the house that we buy next will certainly be more suitable.

Next Page »