Category Archives: life

Vale John Hunter, author of Matplotlib

In my BSc(Hons) thesis, which I submitted in 2010, I commenced the acknowledgements as follows:

First, a hearty thanks to people whom I do not know: The developers of Python, Numpy, Scipy, the Python Imaging Library, Matplotlib, Weka, and OpenCV; you have collectively saved me much boring work throughout this past year, for which I am truly grateful.”

So to hear of the sudden death of John Hunter, creator and maintainer of Matplotlib was truly saddening. Matplotlib is one of those pieces of software absolutely instrumental in Python’s takeup as a language in the fields of maths, the sciences and engineering. When I was a student, I’d find myself using Matplotlib very often — it was the best there is.

Tragically, John Hunter was in his mid-forties, and left behind a wife, and three young daughters. Numfocus has created a memorial fund to care for and educate his daughters. I’ll be contributing to this fund as a way of thanking the Hunter family for John’s contribution to my own work.

Fernando Perez of IPython fame has written up a substantial post about John’s contribution to the community. PSF member, and PyCon US chair, Jesse Noller has also written a tribute to John.

It’s a somewhat strange feeling — coming to realise the contribution of one person only after he died. Such is the way of Open Source — the impact of the tools we use and develop become more important than the people who develop them. And sometimes, developers are just happy to let things be that way.

Memoirs of a PyCon Australia organiser: Part 1 (of no idea how many)

This past weekend saw the staging of the third PyCon Australia conference. It’s been a very long time coming, and the subject of countless hours of hard work by myself (chasing sponsors, arranging to fill a programme, and ensuring delegates attended the conference), not to mention my amazing co-organisers, Joshua Hesketh, Matthew D’Orazio, and Josh Deprez.

PyCon Australia 2012

We held the conference in Hobart, my home city, and the capital city of Tasmania – this follows two successful conferences in Sydney. Despite a lot of scepticism about Hobart as a venue for a conference, we managed to attract 240 signups (placing us somewhere in the middle of the first two Sydney conferences in terms of attendance (woo!)).

CodeWars at PyCon Australia 2012

The first conference activity, the CodeWars programming tournament, started on Friday evening, with teams of up to 4 competing to solve programming problems against each other on projectors. This was a great event, which let delegates meet and greet each other before the conference started, and we’re very thankful to our event sponsor, Kogan, for helping us to make it happen.

This year, we were graced by the presence of two overseas keynote speakers –– Mark Ramm, the current engineering manager on Canonical’s Juju project, and Kenneth Reitz, the chief Python guy at Heroku.

PyCon Australia 2012 - Opening

Mark’s passionate and entertaining keynote delved into the murky waters of product management, and showed that applying the tools of testing and scientific process to product development and evaluation was something well in the reach of everyday engineers, even those with small projects. A smattering of war stories from his days leading product management at SourceForge rounded the talk off. It was a great way to start the conference, and it really helped set the informal, enthusiastic tone of the event.

Kenneth Reitz at PyCon Australia 2012

Kenneth’s talk dwelled on his philosophies of designing libraries in Python. He’s the developer of the python-requests HTTP library –– a library that has taken its rightful place as the obvious way to do HTTP in Python. His keynote gave us some strong insights into places where Python can make itself more accessible to newcomers, as well as being easier to remain involved for developers who use Python in their day-to-day lives. Kenneth’s presence was a great asset to the conference –– through his keynote, and also by making himself readily available to chat with delegates in the hallway track. Hopefully we’ll be seeing him back at PyCon Australia in future years, with more of his Heroku colleagues.

PyCon Australia 2012

Our conference dinner was held at the beautiful Peppermint Bay restaurant near Woodbridge (some 30km South of Hobart); delegates were delivered there by the fast catamaran, the MV Marana. We saw some excellent views of Hobart at twilight – the silhouettes of Mt Wellington and the Hobart Hills were quite spectacular. Unfortunately, the river got a bit choppy near the entrance to the D’Entrecasteaux channel, which left a few of our delegates feeling a bit worse for wear. Luckily for us, the dinner itself was a fantastic evening of socialising, and finding out about other delegates’ interest in Python. It was a great event, with great food, and we’re going to have a lot of difficulty topping it.

PyCon Australia 2012 Sprints

There are countless people who made an amazing effort to help improve our conference, including our volunteers, our speakers (some of whom stepped in at the very last minute to help improve our conference), Ritual Coffee (who produced their own custom blend for the conference, named “African Swallow“, no less!), the venue staff at Wrest Point (especially Kelly Glass, who’s put up with my worrying about conference rooms for several months now), our sponsors (who helped to keep the conference itself affordable), and many many more. It’s helped make my life as an organiser so much more tolerable.

Anyway, that’s it for now. I expect that I’ll have a follow-up to this post, dwelling on what we did right as an organising team, and how we can improve for next year. Incidentally, the conference will be run in Hobart again next year – if you’re in a position to help out with sponsorship, shoot me an e-mail at sponsorship@pycon-au.org, and I’ll get a prospectus to you as soon as possible!

PyCon Australia 2012 Programme – Out now!

I’m very glad to be able to finally release PyCon Australia’s programme for this year. It’s one of the strongest programmes we’ve put together for this conference, and it features excellent content for developers in all aspects of the Python Ecosystem.

Here’s some of the favourites that I’m looking forward to:

Of course, there’s more than 30 other talks, including our keynote presenters, Mark Ramm (who’ll be showing us why Python’s strengths in handling scientific data make Python an excellent tool for helping make product design decisions), and Kenneth Reitz (who’ll be explaining how to make APIs in Python better).

There’ll also be our regular opportunities for lightning talks at the end of each day, and plenty of other activities. So why not check out the rest of the schedule and tell me what you’re looking forward to?

Talk — Android: The year of Linux on the palmtop?

Here’s my talk from the Hobart TasLUG meeting yesterday (18 April 2012) on the features of Android from the point of view of a Linux user — both from a technical perspective, and issues arising from Android’s unique status as an Open Source OS for cellphones. If you want to download the video, you can download it, or watch it in the embedded format later in this post… Enjoy!

OMFG! OSCON!

Since I enjoyed presenting on Android development at last year’s OSCON in Portland, it seems as though I shall be returning to do it again this year!

I’m presenting Android-Fu: Awesome apps for Ice Cream Sandwich and beyond at OSCON 2012. It’ll be on Tuesday 17 July at 9:00am, and will be a comprehensive look at things that modern Android tutorials should teach you, but tend not to.

On a related note, I’ll be travelling through the USA a bit on either side of OSCON. I’ll be in New York from (late on) Monday 9 July through Friday 13 July, and Seattle from Saturday 21 July through Monday 23 July. So if you happen to be reading this and would like to direct me at coffee whilst I’m there, let me know!

More pontification on alcohol at conferences

This post started off as a reply to a comment (by “Alan”) on my previous post on this topic, but it got a bit long-winded, and raised a few clarifications of my own viewpoints on this matter. So it’s turned into a post of its own.

So, before I start this, nothing against the organisers or team surrounding OSCON. I loved my experience speaking, and attending the main conference event, and I’m coming back to OSCON to speak again this year. The reason why I pick on it is because it’s the one large American conference that I’ve been to, and it provides a nice contrast to the grassroots-style conferences that I’ve been involved with back home. It also exhibits some very specific examples of fostering that “culture of exclusion” that could be fixed with a few minor policy changes.

So, without further ado, here’s me addressing the points in Alan’s comment.

Could it be that this and the “brogrammer” culture is a problem that is more present at JSConf and Ruby conferences than Python?

I certainly agree that this culture does peak around various types of communities — for instance, Ryan’s post on the “Culture of Exclusion” speaks very specifically of JSConf and various Ruby groups, and in my own experience this sort of culture doesn’t seem to be prevalent at PyCons. However, to say that it’s attached to a small subset of communities is probably quite unfair — OSCON is very much a multi-community conference, but there’s still quite the drinking culture attached to it. Likewise, it seems to me that the Ruby community in Australia isn’t quite as drinking-centric as the examples that Ryan put forward.

You don’t hear anything about sexist COBOL programmers or late night binging at Java conferences from what I can tell. Even PHP seems to have grown up.

I think the likelihood of these sorts of things to occur really does depend on the level of “community” that is attached to a given language or technology. As an example here, people doing Java coding are almost certainly doing so because they work for in a corporate environment. Ruby and JS people are doing so because they work in a “startup” environment, or they’re doing it for fun. The companies that form the founding groups around a conference will often bring their culture along with them. It’s interesting to consider why this doesn’t happen so much at Python conferences. I don’t have any particular answers here — indeed, it’s quite the paradox, because I’d have considered Python to be more of a “startup” type language, and one would assume that would bring the “startup” culture into it. Perhaps it speaks of the values of those who started gatherings for Python coders?

Are these excesses a problem at conferences in general? Is this an American thing? Or even a Ruby/JS thing?

Is it a problem with conferences or communities, or is it a much more widespread cultural issue (as in e.g. American youth culture) that has just become more visible for us recently?

Excess is something that needs to be managed — it’s very easy for a conference organiser to say “yes, you can provide an open bar at this event” to a sponsor, and sponsors get quite an amount of good will from it (free alcohol doesn’t upset people, non-drinkers won’t speak up). It’s also pretty clear to me that if an open bar is offered, there’ll be a group of people who will take it up, regardless of the community that centres around the conference.

So the conferences that suffer from this sort of problem are the ones which either don’t have a policy of limitation of alcohol sponsorship, or those that actively encourage a culture of drinking (the sort of things that Ryan Funduk talks about in his article). I doubt there’d be open bars at any conference if there weren’t sponsors who were willing to fund them.

The onus is therefore on conference organisers to make sure that they don’t encourage binge drinking. In particular, this involves limiting the amount of alcohol sponsorship a conference is willing to accept — we at PyCon Australia are doing this by only providing tokens for drinks at our alcohol sponsored events (with the exception of at the dinner, where the open bar is time-limited, and comes with food and other entertainment).

What distinguishes conferences and communities that have this problem from those that do not?

Conferences can send out a message about this culture: For example, offering OSCON offers free attendance to the drinking events, but not to the main content of the conference; this can be compared with Linux.conf.au, where you have to pay extra to attend the drinking session. The contrasts between these arrangements provide quite the subtext between the values of the two conferences — intentional or not. In my view, OSCON providing such a ticket says that the “base level” experience of the conference is one where you go to all the parties, and the talks and tutorials are the “added extras”. For LCA, it’s the other way around.

So in summary, there are plenty of factors that surround the discussion of alcohol at conferences. I think it’s an important discussion to have, not least because it presents as a diversity argument in very much the same way as the gender diversity argument has presented itself over the last few years — conferences should always be looking at the messages they send out about the communities they wish to foster, and ensuring that they’re inclusive towards everyone in that culture.

Do Australian tech conferences suffer from “A Culture of Exclusion”? How do we avoid it?

I spotted this interesting article by Ryan Funduk, on the culture of exclusion generated by piss-up parties at tech conferences — primarily at conferences in America, but the issue is certainly prevalent in other places.

I attended OSCON last year, and whilst OSCON is clearly not as bad as the type of events that have been highlighted in this writeup, there were still plenty of events that were promoted by the conference and their sponsors, but clearly served only as an opportunity to booze up some delegates. In fact, there was at least one such party advertised in the conference schedule each night — peaking on the Wednesday where there were three such conference parties advertised on the conference schedule, cleverly paced for two hours so that delegates could move on to each of the parties as the previous one wound up.

I personally feel as though these sorts of events have no place being actively promoted by the conference schedule. There are several good reasons for this that are all detailed in the parent article, but they all boil down to the fact that not everyone drinks. Parties where the key attraction is drinking only attracts those who drink. By advertising such events as part of the programme, they create cliques within the conference community that aren’t defined by the community that the conference serves to support.

Worse still is when such events are not run with alternatives available, because this strongly promotes the subtext that drinking is the only way to socialise at the conference. So a delegate who doesn’t drink will not fit in to any part of the conference, because there is no well-established way for non-drinkers to find each other.

As an active participant in tech conferences in Australia, it’s important to reflect on criticisms of such conferences in other countries, as well as here, to make sure that we’re providing a culture that actively encourages any delegate who chooses to attend — regardless of age, gender or lifestyle choice.

In the case of conferences run in Australia, I don’t believe that the issues of Alcohol-driven events are near as much of a problem as they are in America.

At Linux.conf.au, since the demise of the Google Party (an event very much brought over by American employees of Google), I don’t think I’ve seen a single event associated with the conference where drinking was the sole purpose of the event. One exception of this is the Professional Delegates Networking Session, however, I have always seeked to run a non-alcohol driven alternative against it. As a non-drinker for most of the LCAs I’ve been to, I don’t think I’ve lost out by not participating in the drinking.

At PyCon Australia, we’ve been careful to not offer up any events with an open tab — companies who want to sponsor alcohol have to do so in a way that ensures that the amounts provided are limited, and any foray into dangerous territory comes at the expense of the delegates. There is no conference event planned without a defined activity, and in every case, the presence of a bar at the event is clearly a distant second in terms of priorities for the organisers.

One of the great successes over the past few years in Australia has been ensuring that toxic cultures within the tech community aren’t tolerated. I think it’s imporant that we look at everything we do with a critical eye. I’m sure that our record on avoiding the fostering of an alcohol culture at our events isn’t spotless, and it’s one that we should look over with as critical an eye as we use to look over issues of gender or sexuality.

It’s definitely my intention to do this as I continue to put together PyCon — constantly looking at what we can do as Australian-based conference organisers do to ensure that the culture of alcohol doesn’t take over from the culture of the technology that we’re gathering for?

Update: I’ve written a further post on this topic. Do try it.

A personal history of TUCS

After three years in the job, I’ve finally relinquished the role of President of the University of Tasmania Computing Society (better known as TUCS). The years I spent as President spanned the last year and a half of my time at uni, and the first year and a half outside of that life — it’s something that’s been a pretty constant thread over the past few years, and it’d be a shame if I didn’t take a moment to dwell on my time in the role.

My first year representing TUCS was 2008: I’d come back to uni having attended my first Linux.conf.au in Melbourne, fresh with the knowledge that it would be held in Hobart the following January. The previous computing society at UTAS, the Internet Developers Society had elected to change its name at the previous year’s AGM, and with that new start, I decided to run for the exec of the society. I didn’t really have any aims at the time I ran, save for making the Uni computing community closer to the Open Source movement that I knew and loved at the time.


It was with that that I decided to organise the first of the TUCS Tech Talks. It was a talk by myself on introductory Python. I think I spent the best part of two weeks writing, tweaking and rehearsing that talk, and learning how to get screen recordings going. To my astonishment, the talk was amazingly well-recieved: the room was packed, lots of questions were asked. But much more than the success of my own talk, what astonished me was that people at the barbecue after the talk were telling me about how they wanted to present their own. And a few weeks later, so it was. And the following semester, we had talks every other week, on topics ranging from StarCraft strategy to iPhone development — the advent of tech talks at TUCS exposed a strong enthusiasm for sharing knowledge with others, and it brought our society into great stead with students, staff and the broader tech community in Hobart.


It was at the end of that year that I nominated as President, and happily, I was elected so. And when January rolled about, Linux.conf.au came to our home campus. Whilst TUCS wasn’t really involved with the event as much as I’d have liked, I did spot an opportunity for TUCS to contribute a small part — we ran a barbecue for student and hobbyist delegates to LCA as a way to help our members to engage with the rest of Australia’s tech community. This ended up being the first Unprofessional Delegates’ Networking Session, and it’s an event that I have continued to run at LCA ever since — for the 2012 conference in Ballarat, we brought the UnPDNS format back to the format that we ran for the first time in 2009, and the mood was as good this year as it was in 2009. It’s an event that I’m proud of starting, and the event happened because TUCS members contributed so much to getting that first UnPDNS organised in 2009.


Our Tech Talk schedule improved substantially that year, too. We had the first of our talks from then-Ph.D student, Jonathan Adamczewski on development for PS3 devices. He’s presented almost every semester since then, and his topics have been both diverse and exceedingly in-depth on whatever topic he chose to cover — my personal favourite was a talk showing how “Hello World” programs actually work on Linux systems. We also had the first of our talks by Paul Fenwick — that year, he packed out the tiny seminar room we were using for tech talks with his fascinating insight into the info you could glean from the Facebook API.


The other great discovery that arose from the talks series at TUCS was our frequent series of Lightning Talks — once per semester, students came to share three minutes of whatever insanity they decided they wanted to talk about. We’ve had talks on everything from Alex Berry’s experiments with the postal service; to self-devised esoteric programming languages; to buyers guides for headphones. These talks turned out to be a lot more fun than I could ever have hoped for, and they’ve been a great show of the minds that the society has attracted over the years.


And so it was that last year, I found myself away from Hobart on a very frequent basis, and I came to the conclusion that I couldn’t contribute to TUCS on the level that I had in previous years. Though I tried to give up the post last year, with nobody to replace me, I found myself in situ for a third year. The time I did have to contribute to the role of President last year was spent finding and preparing suitable replacements to come on board the next year. Thankfully, new members with huge amounts of drive started to appear — we ran end-of-semester events for the first time since 2009. We ran an end-of-year Quiz Night, which was a huge success for the society, and showed that the society had strength and enthusiasm to continue on for years to come.


Of course, my own contribution as President over those years did not a society make. The execs who I served with over the years made the society great. The treasurers, Michael Ford, Luke Hovington and Matt D’Orazio all helped make sure that the society was profitable every year I was involved, and keeping on top of grants from the Union. Matt, along with Tim Nugent made sure that the LAN parties that IDS had run for years before continued on well into the TUCS era. Luke Hovington, our tireless sysadmin, kept our old box alive on duck tape and twine, and is overseeing the transition to a new server box with Matt. And Eloise Ducky, who went from being the squeaky year 11 student who showed up on societies day in 2009 to being the person whipping me and the rest of the society into shape as 2011 came to a close.


And so, my term in charge of the society has come to an end — I feel that my hope of creating a community in which students could share their love of computing with others was met; along with keeping the society as bridge between students and university staff, and the IT industry more broadly. They’re goals that a Computing Society at a university should hold at the forefront of what they do, and I think it’s the reason why TUCS is held in high regard.

I hope the years that I spent in the society have changed it for the better — it’s been a lot of hard work, but it’s work I’ve enjoyed, and it’s a role that I’ve greatly relished filling. And thanks to all of the TUCS members who elected me to the role in the first place, but saw enough in me to re-elect me to the role for the following two years. I hope you think it’s been worth it.

Whilst I wasn’t the first President of the society, I was the last. The AGM last year removed the roles of President and Vice-President in favour of holding two Co-Presidents’ offices. I’m sure Eloise, along with Ben Lea will fill these roles with great enthusiasm and with the goal of making the society the best it can be for its members (take care of my baby for me, OK?). Whilst I’m staying on in the executive as a general representative for the rest of this year, it’s going to be interesting to not be in charge of the place.

Photo credits: Adam Harvey, various photos by myself.

LCA2012: “Android is Not vi – User Experience for Geeks”

Paris Buttfield-Addison and I co-presented a talk at Linux.conf.au in Ballarat recently. The topic was on designing mobile apps that don’t suck on Android. The talk was pretty well received, the audience attentive and engaged (as evidenced by the fact that they heckled), and it was probably one of the better talks that Paris and I have co-presented.

The video of the talk is available as an ogv movie file, alternatively, the YouTube version is embedded below.