Recently I competed in the Cyber Security Competition Australia 2013, representing Flinders University.

The competition consisted of identifying security vulnerabilities in a virtual environment (which I believe was hosted on Telstra's cloud platform; Telstra being a major sponsor of the competition). Each team was given access to a VPN upon which a fake company's infrastructure was simulated. Points were awarded for finding, exploiting and suggesting mitigation approaches for vulnerabilities in the simulated infrastructure.

Each teach competed remotely; our team was provided with a room for the 24 hour competition in Flinder's IST building by the university. This was a big gesture, as the competition started around midday on a Tuesday and ran until midday on a Wednesday -- which meant that two days worth of classes needed to be relocated. Flinders also procured several workstations for our team.

This had the side-effect of making me nervous about the competition: it took a significant amount of time for Flinders to arrange all of this, and three members of our team (myself included) hadn't undertaken any security topics. By and large, we were entering the competition because it sounded like fun.

I'm pleased to say that I think we exceeded all expectations for our team. Flinders Team 1 (Flinders' only team) came 6th out of the 43 teams which entered, placing only behind much larger universities including the University of New South Wales, the University of Sydney and the Australian National University. An amazing result, given this was Flinders first time in the competition and we practically entered on a whim.

Read more


This past weekend I participated in the NASA 2013 Space Apps Challenge; an event where thousands of people across the globe work on creating solutions to challenges related to Earth and space.

The weekend was a lot of fun. ANZ Innovyz provided the Adelaide location for the event, in which around 15 other people and myself spent the two days creating various projects. These projects included a game centralized around the costs of bootstrapping a space industry, Mearth (a web app which compares the current weather at the location of the Curiosity Rover on Mars and wherever is closest on earth Earth) and MagnetoMap, which I helped create.

MagnetoMap was a solution to the software component of the ArduSat challenge. It consisted of an Android app which samples the total magnetic force experienced by android phones and pipes it to a database, and a web app which persists the data so that it can be displayed in a heat map.

Unfortunately, my presentation was a rather poor; and I think I failed to communicate any of my ideas clearly at the end of my competition. I'm fine with that, though. The solutions which continued to the next round were definitely more useful than MagnetoMap (about which's practicality I have doubts, given the amount of magnetic interference phones typically experience)

I intend to participate in the Space Apps Challenge 2014, and create something more meaningful. Even if I don't create something successful, it's a great way to spend a weekend, and I'm glad I participated this year.


A friend just loosely wondered how the colours of nicknames in Hexchat are determined. For the uninitiated, Hexchat is an IRC client which (at least, by default) colours various users nicknames randomly (‘tobias’ might be green, but ‘daniel’ might be red) in a consistent manner (e.g. if the nick ‘tobias’ is green right now, it’ll be green for all time)

Given I’ve wondered this myself in the past, I decided to look into it (and it turned out to be entirely straightforward)

Here’s the code that defines the colour given to a user’s nickname

This takes a user’s name and finds the sum of every character’s ASCII value, returning a colour code based upon the remainder of the sum when divided by how many colour codes there are.

I personally had expected a seeded random number, where the user’s name is used as a seed for some more sophisticated random function (though I was evidently wrong). This implementation is more efficient, though anagrams of a user’s name will always be the same colour.

This might be a problem if you’re talking to two people named Tobias and Toibas, both will be the same colour. Not only will it be confusing, it may be easier for a maliciously inclined user to impersonate some other user (if you associate a person and the colour of their name).

That said, there are only a handful of different colours which usernames can be given. If a seeded random approach was used (as I would have done), it would remain relatively simple to find another similar looking name with the same colour (unless the name was relatively short). Thus the chosen approach doesn’t particularly matter in this regard, though the implemented approach remains faster.


My blog's backend is now on github!

If you find any bugs, feel free to send me an email or pull request!

Suggestions are always welcome, too.


Last night a friend linked me to an offer for VPS's.

On the page detailing the offer, a 100MB test file was linked. As I was interested in the offer, I tried the link.

I reached a download speed of 2.2MB/s. Given my home connection can only reach a download speed of 500kB/s on the best of days, I was rather surprised.

Read more