PyConAU 2014

IMG_20140802_132246This weekend I attended PyConAU , a community-run conference for the Python programming language. Held this year in Brisbane, it was a good excuse to learn some new things, catch up with old friends, as well as make some new ones.

I have a soft spot for Brisbane. In addition to having family live here, I also love their public transport system: a well-integrated system of buses, trains and ferries run on a reliable and frequent schedule to all areas. Their AirTrain is hands down the easiest public transport solution from an airport to a city (miles ahead of Melbourne’s cramped buses). The conference was held at the Brisbane Conference and Exhibition Centre, which is the centre of the city’s cultural district, with museums, theatres and shopping and dining areas all around. It’s a wonderfully laid out modern city.
IMG_20140801_165033
The first keynote was by the director of the National Computer Science School (NCSS), and generally awesome guy, James Curran. My experiences at NCSS back in 2007 helped formed my programming abilities and gave me the knowledge that there was other life out there: an entire programming community, and being in IT was a good place to be.

A highlight of the talks on Saturday was a talk on caching for web services by Tom Eastman. He talked extensively of using HTTP protocol elements to control the cache in proxies and in web browsers. Whilst the examples used Django, the concepts will be useful for my work using ASP.NET.

An interesting part of the conference is talking to people outside talks, and this conference has been no exception. I’ve met many new people, including some stars of the Python world. I’ve also learned that many of the things I do in my daily programming life are wrong, and it’s great to learn more about best practices.

A traditional part of PyCon AU (as well as linux.conf.au, to an extent) is the end-of-day lightning talks. In particular, two talks in the Saturday session really appealed to me. First of all was Josh Deprez‘s talk on “node.hs”, where he talked about implemented Haskell in node.js, but instead wrote a lightning simulator within 5 minutes.

Secondly, and possibly of more long-term consequence, was Russell Keith-Magee‘s talk on Toga, a cross-platform UI toolkit that displays widgets using the operating system’s native widgets. So instead of your cross-platform app looking great on GNU/Linux (where GTK+ is native) and crap on Windows or OS X, it will look good on all three platforms (and possibly more in the future).

The final event of Saturday was the conference dinner, a traditional three-course sit down event with a lovely speaker named Paul Gampe (who worked in ISPs during the early nineties, making me very jealous). He gave a few lessons he learned working with the early FOSS and Perl communities, and why Python should make efforts to avoid these problems.

IMG_20140803_104959After dinner I retreated to my hotel room (I have made the mistake before of staying up with people all night and missing most of the talks on Sunday). However, I didn’t go straight to bed. I instead checked out Toga in more detail, and tried to get it running on Windows (it’s a very new piece of software). After a bit of code wrangling, I managed to get a blank window appearing on the screen (as my excited tweet about this shows). My patched code is now in the Toga repository, which is pretty cool.

Sunday morning’s keynote was given by Katie Cunningham on the topic of accessibility. I’ve heard more and more about this recently (especially through a talk at WebDev42 recently). The gist of her talk was that the tools and support and standards are there, and the only reason developers aren’t building accessible sites is because they’re lazy or don’t know better (her point was a bit more complex than that, but that was roughly it).

Two talks I really enjoyed during the rest of Sunday were Russell Keith-Maggee’s talk on building Python wheel packages (basic information that, being a very junior Python developer, I didn’t know) as well as Josh Hesketh’s talk on database migration testing. While Josh’s talk targeted Python projects and OpenStack in particular, the concepts are useful across basically all programming platforms. I’m lucky in that managing database migrations is something that Entity Framework (my C# ORM of choice) does for me.

After the conference finished, I completed my trip by visiting family for dinner and dropping in on a few Brisbane-based clients, before flying home (via Melbourne, of course, to earn maximal status credits).

As always, attending PyCon AU was a great experience, and I can’t wait for next year (it will be held in Brisbane again next year). In my mind PyCon AU is a very similar conference to linux.conf.au. I go for the same reasons: great community, great people, great content, and great fun!

Reflections on PyConAU 2013

20130707_104447
The weather during a good moment.

This weekend has been a great one. I spent it at PyConAU, the premier conference for Python in Australia. Two days filled with all of my favourite things: great open source software, lots of friends, great food, interesting talks by interesting people – and the weather has been “interesting” too.

Conferences like these (PyConAU and linux.conf.au) are a really great chance for me to catch up with some of my friends that live interstate or overseas, as well as make new friends and meet new people. There’s always an interesting discussion going on, and nobody minds if you just stand there and listen in – you learn so much just by standing around!

Of course, the whole point of a conference is the talks, and here were some of my highlights:

  • Luke Miller’s talk on making a point-and-click indie game for gay men. This talk really covered the entire breadth of the game making process, both generally and specific to his game. He showed us the engine he built, discussed the story and graphics, discussed packaging and marketing the game, as well as some of the feedback he has got back from the gaming press – both positive and negative. Anybody who wants to make their own game should definitely check out this talk when it is available online.
  • Ed Leafe‘s demo of creating OpenStack deployments using Python. He showed simply using the pyrax library to create VMs and provision databases and DNS entries, but of course you could extend this by using python scripts to set up applications on the VMs afterwards, naturally. I’m almost convinced to move everything that I have in Amazon AWS to Rackspace’s cloud. OpenStack is pretty much awesome.
  • The Saturday morning keynote from Alex Gaynor on trying to narrow down what exactly programmers “do” and how they do it… by drawing in parallels from other fields like science, engineering and art. Really, it seems programming and software engineering is the intersection of the three. Also, software engineering is a very young field, really only 40 or 50 years old, compared to science which has hundreds of years to mature, and art which has had tens of thousands.
  • I also enjoyed the many (I think I went to about 5) talks I went to regarding software testing (unit testing, mostly). I actually learned a few tips from these that I plan to use in my day job, even though we use C# and not Python. Things like writing tests before adding any new feature – which of course is best practise that I knew, but “forgot” (i.e., was lazy). Food for thought.
20130707_183542
Jack Greene – loving the decor.

Speaking of food, the conference venue, the Wrest Point Casino, provided a good spread of food right throughout the conference, with morning and afternoon teas being very well catered, as well as lunches (lots of options for my vegetarian friends, and lots of tasty meat those such inclined). The peak, of course, was the conference dinner held on Saturday night, where we ate ourselves into an absolute stupor with the finest Tasmanian produce. A truly terrible burden, but one we accepted with vigour.

Naturally, the conference had to come to an end, but not before a trip to a local pub (and despite being a local, one I hadn’t been to before). Jack Greene in Salamanca Place hosted our after-party, and I’ll definitely be going back. I’ll also definitely be attending the next PyConAU, in Brisbane next year.

Thanks to Chris, Josh, and the rest of the organising team for a great weekend!