Venn menu

Courtesy of Boing Boing, my kind of Venn diagram:


Posted in Venn diagrams | Leave a comment

Notes from MPUG, March 2014

25 people turned up to hear two great talks at the March Melbourne Python Users Group meeting.

Andrew Walker spoke on “How Hard Could it be to Implement Timeouts?”, while Javier Candeira spoke on “Implementing an agnostic, dynamic client for a REST API live (by cheating)”, showing examples from GitHub and Insightly, and managing to include a mini-tutorial on some of Python’s __dunder__ methods along the way.

We wrapped up by talking about some of the plans for the year, aiming to have a wider range of speakers, some more hack nights and a regular “What’s new in Python” segment.

Thanks to Javier for organising and to Inspire 9 for hosting us.

The next meeting will be on April 7 and the planned topics for the next few months are already organised (again, thanks to Javier) and are listed on the MPUG wiki.

Posted in Python | Leave a comment

The Alpine Classic

The Audax Alpine Classic is an annual bike ride in the Victorian high country, held on the Australia Day weekend. There are a range of different distances, but the classic ride is the 200km course, from Bright to Falls Creek, back to Bright and up to Mt Buffalo before returning to Bright. Depending on the weather, which this year peaked around 30°C, and the various climbs, the Alpine Classic has a well deserved reputation for being one of the harder rides on the cycling calendar.

There are four main climbs and a lot of small climbs, ranging from fun through to painful. If you plan to ride the Alpine Classic one day, it is worth knowing in advance what you are in for.

Germantown to Tawonga Gap

After a casual ride out of town, the Classic starts with a climb over Tawonga Gap from the Bright side, with a 14km climb that starts gently but ends with a 6km steep part with a couple of short sections that have a gradient above 10%.

Climbing it just after sunrise makes for a cool climb with great views of the Kiewa Valley and Mt Bogong on the descent.

Mt Beauty to Falls Creek

It is 30km from Mt Beauty to Falls Creek, with an altitude gain over 1150 metres. It is really two climbs: an undulating climb up to Bogong Village and then a steady climb from the bridge at Fainters Falls up to the ski village at Falls Creek.

Some (very approximate) modulo 5 maths helps me break the ride up: 

5km – Cranky Charlie and the end of the first sustained climb. The road undulates from here to Bogong Village: you slowly gain altitude but there are a number of descents along the way, which become unwelcome climbs on the way back from Falls Creek.

15km – Bogong Village. Just after the village is a descent down to the bridge across the East Kiewa River; this is the last descent and it is always a rude shock to climb back up this on way back from Falls. 

25km – Howman’s Gap and the tollbooth, with a constant 5 to 6% gradient up to the village. About 2km before the village, you get your first glimpse of buildings which is always good motivation!

30km – Falls Creek! As you can see from the photo below, the checkpoint is (mercifully) at the start of the village.


2014 01 26 09 54 56

Tawonga South to Tawonga Gap

The third climb doesn’t mess around: you turn off the Kiewa Valley Highway and climb 7.6km at an average gradient for 6.3%. There is no flat spots to catch your breath: it is just up, up, up. Along the way there are the Lawler mineral springs (if you need water) and beautiful views of the Kiewa Valley from Sullivans Lookout.

The descent is fantastic: the initial steep drop down to the walnut farm and then it’s a shallower downhill back to Germantown and then to Bright for food and drink, before heading out to Porepunkah and the last climb of the day.

Mt Buffalo

The Mt Buffalo climb is the longest and hardest part of the ride: after a short climb to the tollbooth, it is then a steady 18km climb to the Gap at the top. I always break the ride into parts: the initial climb to Eurobin Falls, the brief flat section at about 8km in, the climb up the exposed rocky sections and then the winding climb to the Gap. At the top there is a short descent before a 5km ride, with two more climbs, out to Dingo Dell. That last climb starts at Lake Catani and winds up for about 2.5km; it is short and cruel. If you are already exhausted from hauling your tired body up the side of Mt Buffalo, this is the icing on a cake of pain!

If you are doing the 200km version of the Classic, then you will get to Buffalo in the early afternoon, with the heat of the day reflected off the rocks and the softening bitumen squelching under tyre.

There are two water stops on the way up, including one at Eurobin Falls, shown in the photo below with the cliffs of Buffalo looming in the distance. Dingo Dell is a checkpoint stop, so there is plenty of food and drink, along with a cafe if you need a coffee fix. 


Water stop at Eurobin Falls

As you climb Buffalo, you are treated to spectacular views of Bogong, Feathertop and the High Plains to the east, the Ovens Valley below and the mountains around Stanley to the northwest.

The descent from the Gap is a lot of fun, but you need to take care: there are tired cyclists, cars travelling in both directions (overtaking cyclists) and a number of hairpin bends.

If you want more information about the climbs of Alpine Classic, the Cycling Profiles website has profiles for each of the climbs. 

Posted in Cycling | Leave a comment

Notes from MPUG, February 2014

There were thirty people present for the first Melbourne Python Users Group meeting of the year. Alas, I had work committments and didn’t make it, so no notes, but for the record here are the details of the three speakers and their talks:

Ed Schofield, Update on Python-Future for Python 2/3 compatibility

Tennessee Leeuwenburg, Verification: The Quantitative Science of Knowing how Wrong You Are

Rory Hart, Metaheuristics and Python

Rory posted a useful email to the group today:

Thanks to all those who watched my talk last night. I’ve uploaded the code[1] etc if you would like to take a closer look.



And for extra credit, the paper I based my implementation on:

Christos Voudouris, Edward Tsang, Guided local search and its application to the traveling salesman problem, European Journal of Operational Research 113 (1999) 469-499

[1] Note the code was written for ease of demoing and explanation rather than performance.

Thanks to Inspire 9 for hosting the meeting.

Posted in Python | Leave a comment

Notes from MPUG, December 2013

The last meeting of the Melbourne Python User Group for 2013 was held in early December. It has been a good year for the group, with lots of people attending a variety of interesting talks throughout the year, and we owe a big thanks to Inspire 9 for hosting the MPUG meetings.

Talk #1: “My big gay adventure” by Luke Miller

Luke gave a reprise of his talk from PyCon AU about a 2-D point & click sci-fi game that he has developed: My ex-boyfriend the space tyrant

Some random notes:

  • The game has been doing well enough to pay the rent
  • Uses pyvida, a cross-platform point and click adventure game engine, which is on github
  • Accessibility is an important, but oft-forgotten issue
  • The game is sold on bmtmicro store, with no DRM
  • Next: a second game and pyvida v2

Talk #2: “Python and Supercomputers: Celery, Redis, Mongo” by Nathan Faggian

  • A talk about managing distributed task queues
  • Lots of ways of doing this, Nathan is using Celery
  • Has Python wrappers to push around functions
  • Broker pushs tasks to Worker Nodes, which push results back to the Broker
  • Broker then sends results on to a database or filesystem
  • Broker could be Redis, Mongo DB, RabbitMQ
  • Worker nodes are Python processes, defined by a decorator
Some other random notes:
  • htop – useful utility for monitoring processes (I keep forgetting about it)
  • The NCI has the Raijin super computer, the fastest in Australia
  • An alternative to celery is disco
  • ipython -> ipcluster and ipengine

2014 meetings

Meetings are still on the first Monday of the month, except in January, so the next meeting will be on Monday, Feb 3, 2014, at Inspire 9.

We are always looking for speakers and we are very flexible on the nature of the topic (as long as it has some connection to Python) and the length of the talk. If you are interested in giving a talk at MPUG, or helping us with something different, such as a “hack” night, please get in contact with Javier, Ed or myself.

Posted in Python | Leave a comment

Mountain Creek to Bogong Village via two mountains

The end of the year usually involves an epic walk of some form and 2013 was no different with a plan to try a new route off Mt Bogong, Victoria’s highest mountain, across to Bogong Village. My oldest daughter decided to join me for the walk, not quite knowing what she was getting herself into it, although I had quoted the Wikipedia page for Mt Bogong to her: “The Staircase Spur may be one of the most difficult tracks you ever walk due to its steep slopes“.

The planned route was reasonably straightforward on paper:

  1. From Mountain Creek, ascend Mt Bogong via the Staircase Spur
  2. Take Quartz Ridge down to Bogong Creek Saddle
  3. From the saddle, ascend Mt Arthur and descend to a point where the track meets fire trails for the descent down to Bogong Village

Parts 1 and 2 were as expected. The ascent and descent of Mt Arthur were more challenging, with bush bashing, hungry ants and lots of fallen gum trees… but firstly, let’s rewind to the start of the walk.

After 2km of 4WD track from Mountain Creek, the 6km climb up Staircase Spur to the summit is steep and we were impressed to be passed by a man running up the mountain! Bivouac Hut is halfway up the spur and a good stop for morning tea. Above the treeline, the views quickly become panoramic.


We reached the summit in 3 hours 45, and this was where we were going to decide to return (via Eskdale Spur) to Mountain Creek if A was too tired to continue with the originally planned walk, but after a good rest at the summit cairn, we decided to continue with the planned route.

The summit is at 1986 metres and, with glorious weather, there were spectacular views in every direction, including across to Mt Kosciuszko in NSW and west to Mt Buffalo.


 I have walked the Staircase, Eskdale and Big Spur routes on/off the mountain, but never Quartz Ridge. It is a beautiful walk and aptly named.


Bogong Creek Saddle is at the 15.5km mark and we stopped there for lunch; this is a junction with a fire trail and a simple helipad, which consisted of four white tyres marking the corners of a large flat grassy area.

At the saddle, there is a small sign to The Grey Hills, and that is where the fun begins! The climb up to the top of Mt Arthur is just under 1.8km, but has over 300m of climbing on a track that is very overgrown in places and hard to follow at times. There were also ants everywhere: if we stopped, our shoes were quickly infested with small, stinging ants; good motivation to get the top as quickly as possible! At other times, the track was easy to follow, and overall it was a nice climb, with greats views of Mt Bogong behind us.




I knew that the climb up would be difficult, but I seriously underestimated the difficulty of getting off Mt Arthur. We were aiming for Black Possum Spur track, and the descent down the track to the fire trail was harder than the ascent: a steep, overgrown, faint track with lots of dead trees fallen across the path made for a challenging climb down. The walk along the fire trail down to Bogong was also harder than expected: there were a lot of trees fallen across the trail which we had to climb under or over and the trail had a series of switchbacks as it dropped down into the valley. We were less than 2km as the crow flies from Bogong Village but it was probably more than 5km of walking. Having said all that, some parts of the trail were beautiful…


The soak in the Kiewa River at the end was divine! Not so divine was the closed general store – we had been lusting after icecreams and cold drinks for a couple of hours, only to be seriously disappointed to discover that the general store has closed.

Total distance was just under 26km in 7 hours 22.

If you are considering this walk, note that:

  • There is limited water on the route: apart from the tank at Bivouac Hut and the faint stream near the saddle, there is no other water unless you detour (eg. to Cleve Cole or Cairn Creek huts).
  • This is a remote walk, with limited phone coverage and few people: we saw no-one after Staircase Spur. We carried a PLB (thanks Ian!) and strongly recommend you do the same.
  • The track over Mt Arthur is overgrown and the signpost near the summit is damaged. You will need a good map (such as the Spatial Visions Bogong Alpine Area 1:50,000 map) and a GPS and/or compass.
  • As with any summer alpine walk in Australia, take heed of bushfire warnings and be prepared for sudden changes in weather.

Here is a screenshot of the route and stats from the day; the Endomondo workout page has the route and more details (but it does require you to log in to Endomondo).

Mountain Creek to Bogong Village via Mt Bogong

Posted in Hiking | Leave a comment

Fitzroy echidna


Posted in Local and/or General | Leave a comment

Dissection of my first DNF

Over the last ten years, I have done a lot of runs, ranging from 2km fun runs with my young son through to 100km ultras. None of those runs has compared to the misery of October’s Lake Mountain Skyrun, which was the first run to break me, resulting in the three lettered acronym that every runner hates: DNF (Did Not Finish).

This was the first time that the run had been held, with a choice of 14, 21 or 31km courses. I had entered the 31km course, noting that there were 943 metres of ascent and descent on the course which, combined with the mix of wide trails, single track and barely-there bush trails, meant that it was going to be a hard morning’s run. We’ll return to the issue of the inaccuracy of the “31″ kilometre course later on.

The Skyrun elevation profile

It was a good morning for an alpine run, with the first really warm day of spring. I arrived at the top of Lake Mountain with plenty of time, but when I got my running pack out of the car, I noticed that it was leaking, with water everywhere. A careful examination of the hydration pack revealed that an O-ring between the drinking tube and the bladder had perished. I tried to position the tube so that it was better engaged with the bladder, refilled the bladder and started the race, hoping that it would not leak again.

Lesson 1: Don’t rely on hope when you are doing a 31km alpine run.

By about the 7km mark, the bladder had almost completely drained again, down my back, soaking me completely. I was now out of water, with at least 24km still to run. From memory, I thought that there was water at each checkpoint, so I should be okay. When I got to the next checkpoint, I found out that there were only two water points: one at Keppels Hut (at about the 17km mark?) and one back at the finish, at the 21 and 31km marks. So much for my memory!

Lesson 2: Always have a backup plan. I had a drink bottle in the car and I should have also carried it, knowing that the hydration pack could fail again. Relying on being able to drink at multiple checkpoints on a long run with some hard climbs was not sensible.

Taggerty River fire trail

I was tracking well by the time I reached Keppel’s Hut and the first water point:

Keppell's Hut checkpoint

2013-10-20 11.53.26

I drank plenty of water, ate up and headed on to the longest, hardest climb of the day. By the time I had reached the cross-country ski trails at the top, I knew that something was wrong with the course mapping or my GPS watch, as I had run 21km but estimated that I was still a few kilometres from the “21km” checkpoint. Sure enough, when I got back to Gerratys and the checkpoint, the volunteer there admitted that the course measurements were wrong, and we had already run 24.5km, not 21km. The 31km course was now 34.5km (and the website has since been updated to reflect this).

I left the checkpoint tired and a bit disheartened, but feeling okay. The extra 3.5km might not seem like a lot of extra distance, but if I had known beforehand, it would have probably been the deciding factor to enter the 21km course rather than the “31km” course. In hindsight, without any water to carry for the last ten km, I should have withdrawn at that point.

The Lake Mountain Skyrun course

It was after the second time over the summit of Lake Mountain that the run got interesting. I remember clearing the summit. I remember the start of the descent. At some point later on, I realised that I had lost track of time, was feeling very dizzy and had slowed down to a walk. I had enough presence of mind to know that it was only a few kilometres to the next checkpoint and that I felt well enough to walk out to there, hoping that I would start feeling better so I could finish the run. By now, I must have dropped to the back of the field, as only a few more runners passed me from that point on. I was getting dizzier and slower, and decided that it was time to take this seriously: when the next runner passed me, I asked him to advise the next checkpoint that I was in trouble, but thought I would be able to make it to the checkpoint unaided. I estimated that I had at least a kilometre to go but I was now down to an erratic pace and started vomiting, multiple times. One of the most vivid memories of the descent was the rainbow coloured vomit thanks to the gels and lollies I had eaten earlier!

A few hundred metres from the road, one of the checkpoint crew met me: she had walked in to make sure I was okay, which was really appreciated. I made it out to the checkpoint at the road crossing, and they were about to change over the crew, which meant that I could get a lift back up the mountain to the finish line. I knew I was done. Not only did I not have the energy to finish, it would have been absolutely stupid to risk trying to finish the last 5km in the condition I was in, just for the sake of saying “I finished”.

Lesson 3: DNF is humbling but it was definitely the right call to make. Safety beats pride in the mountains.

I climbed in the car, checked into the finish line to tell them that I had withdrawn and then sat in the resort cafe for a long long time until I felt well enough to get in the car for the drive back down the mountain to Marysville and then onto Melbourne.

C’est la vie.

Posted in Running | Leave a comment

(No) notes from MPUG, November 2013

There are no notes for November, as I was bike touring in north-east Victoria over the Cup Day long weekend, so missed the November MPUG meeting.

For the record, there were two talks at the November meeting: Lars Yencken gave a talk on “Machine Vision with SimpleCV“, while Nicole Harris gave a talk on “Mezzanine, the best Django CMS”.

Posted in Cycling, Python, Travel | Leave a comment

I used to jog…

Sign in Little Bourke Street:

I used to jog

Posted in Local and/or General, Running | Leave a comment