All night it rained. We woke to even more rain, which wasn’t promising for a 90km offroad bike ride. We flipped a coin and decided that it was still worth heading north for the Dirty Gran Fondo ride.

About 10km in, Anna’s bike decided it was tired of the perpetual mud bath and ate its rear derailleur, trashing any hope of finishing the ride.

2014-05-10 09.25.21

We managed to fix it so that it would work as a single gear bike and limped back to Wandong. One hot shower and two coffees later, it all seemed a lot funnier.

Posted in Cycling | Comments Off on Dirrrrrrrrrrrrrrrrrrrrrrrrty

Notes from MPUG, May 2014

The May Melbourne Python User Group meeting had 25 people and three speakers.

1. Tim Richardson: An introduction to web2py

Tim walked us through the web2py web framework. Along the way we learnt that Tim is a contributor to the web2py project.

Some take home messages that I wasn’t previously aware of with web2py:

  1. web2py uses a DAL (Database Abstraction Layer) instead of raw SQL
  2. There are inbuilt validator widgets
  3. There is good support for AJAX views (in templates)
  4. Also good support for authorisation and authentication
  5. web2py has it’s own scheduler, running as a separate process with primitive comms via the database
  6. With dynamic construction of the global namespace, some IDE’s struggle. PyCharm (Pro) and PyDev work
  7. There are mixed opinions on web2py’s high load performance
  8. There is a one click installer for Ubuntu
  9. web2py has an inbuilt code editor and debugger

2. Tom Allen: NP-Complete game design in Python

Tom has been designing a two player game where one player lays out track and the other races it. This led to some interesting challenges in dealing with the combinatorial problems.

Some useful resources:

3. Ben Finney — What’s new in Python

There are lots of interesting things happening in Python at the moment. Ben touched on:

  • PEP 0466 – network security enhancements for Python 2.7
  • PEP 0461 – adding % formatting to bytes and bytearray, for Python 3.5
  • PEP 0465 – matrix infix multiplication operator, for Python 3.5
  • Pyston – a new Python implementation on LLVM (being developed at Dropbox)
  • Proctor – HTTP proxy that will distribute requests across a number of managed Tor circuits
  • Lots of interesting videos from PyCon 2014 (in Montreal), including:
    • Brython – Python in the browser
    • Outreach program for women
    • Python in two genders
    • Interactive psych experiments in Pandas 3D
    • Hitchhikers guide to particpating in free software
    • Python packaging: a zeitgeist

Thanks to Inspire9 for hosting the meeting and for videoing the meeting: talks are available on the Inspire9 Vimeo channel.

The next meeting is June 2; 6pm at Inspire9.

Posted in Python | Comments Off on Notes from MPUG, May 2014

The Odyssey 50km

The Giant Odyssey 50km mountain bike race was held in Forrest at the end of April. I survived. I enjoyed parts. I need lots of work on my handling skills. I didn’t crash, and the only injuries were to my pride. I will be back!

As you can see from the altitude graph below, it was a brutal course, with over half the distance on single track and a lot of technical sections, especially in the later stages. (For the observant readers: no, I didn’t do the course in 3:55 as Endomondo is reporting. My Garmin Fenix was set to auto-pause in cycling mode when I’ve stopped, so it screwed up my timing stats. I will change that for the next race.)

Giant Odyssey 50km stats

A note to self: when you’ve only mountain biked six times before, fitness is not enough to get you through 50km. My lack of technical skills seriously hindered me in the last 15km of the course, but I didn’t need any skills to walk up hills like this:

On the Odyssey

Posted in Cycling | Comments Off on The Odyssey 50km

(No) notes from MPUG, April 2014

I was overseas last month so missed the April MPUG meeting. For the record, here’s what happened:

  • Ed Schofield spoke on “What’s New in Python”, which is now a regular feature in our meetings
  • Adrian Higgins from Planet Innovation spoke about work he has been doing integrating specific hardware with Python using existing C libraries on Windows
  • Ben Finney spoke on “A Pythonista Meets JavaScript™: first steps”

Next meeting is tonight: 6pm at Inspire 9 in Richmond.

Posted in Python | Comments Off on (No) notes from MPUG, April 2014

Venn menu

Courtesy of Boing Boing, my kind of Venn diagram:


Posted in Venn diagrams | Comments Off on Venn menu

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 | Comments Off on Notes from MPUG, March 2014

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 | Comments Off on The Alpine Classic

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.

Code: https://github.com/hartror/gls_tsp

Slides: https://speakerdeck.com/hartror/travelling-salesman-in-python

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 | Comments Off on Notes from MPUG, February 2014

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 | Comments Off on Notes from MPUG, December 2013

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 | Comments Off on Mountain Creek to Bogong Village via two mountains