linux.conf.au 2016 – Monday & Tuesday

So far this week I’ve been at linux.conf.au, held in Geelong. As usual, it’s been the insane mix of seeing awesome talks by awesome people, hanging out with old friends, meeting new friends, and not getting quite enough sleep.

Of the awesome talks, a few stand out:

  • Bdale Garbee’s talk on whole-house audio, where instead of buying off the shelf hardware, he built his own USB to 30w stereo amplifier module and hooked nine of them up to an embedded PC. Mostly because he could.
  • Casey West’s two talks on cloud anti-patterns and twelve-factor apps, outlining a large number of good and bad practices in application development, containers, and clouds.
  • Steven Ellis’ talk on ManageIQ, which is a tool for managing cross-provider VMs. It looks like the perfect tool to manage my mix of Rackspace, Azure and AWS VMs and other tools, but I haven’t been able to check it out further yet (the downloadable image won’t work in VirtualBox, so I’ll have to wait until I get home).
  • Tammy Butow’s Site Reliability Engineering at Dropbox talk filled me with inspiration to work harder at getting better at systems administration. It was essentially a talk on Kaizen applied to engineering and how to achieve that.
The UnPDNS in progress...
The UnPDNS in progress…

Of course, LCA isn’t just about talks – if it was, I probably wouldn’t bother going. It’s about people. It’s been great to meet new people over dinner, and discuss talks with strangers after they end – it’s been fun to get some new views on what I thought were uncontroversial topics. I ended up playing Ingress late at night with a few people, and had great fun (and a lot of exercise, which I probably need). And there was of course the UnProfessional Delegates Networking Session, a barbecue organised by my friends Adam Harvey and Chris Neugebauer, which despite getting rained out was great fun – and then we all adjourned to the pub.

Geelong seems like a lovely city. I visited roughly fifteen years ago and I was fairly unimpressed at the time – it was dull and grey and seemed devoid of anything interesting. That can’t be said now. The waterfront is a lovely place to be, the weather is perfect (at least in summer), and there’s plenty of good food to be had (not on the level of Hobart or Melbourne, but that’s a tough standard to meet).

I’m looking forward to what the rest of the week brings!

Why I Have A Windows Laptop at linux.conf.au

This is just a quick blog post to get something off my chest. It’s about the open-source conference I’m currently attending, linux.conf.au. The thing is this: I run a Windows 10-based laptop, I’ve brought it with me to LCA, and I’m proud of that.

  • I use Windows for work. I’m a .NET developer. It’s how I earn my cash to attend this conference. That, apart from anything else, is why I don’t run Linux on the desktop.
  • A lot of people run Apple Mac OS X, another closed-source operating system. I don’t understand why people don’t discriminate equally against that.
  • Speaking of Apple, nobody directs ill thoughts their way at LCA. Microsoft does attract this discrimination, despite them actually releasing a large quantity of open-source software (including most of .NET) over the last couple of years.
  • I write open-source software. I write this in C# on .NET, because it will make it easier for the end users of this software to install and use, since they will be Windows users for the most part. I consider myself to be doing a lot of good by writing this software, giving users options apart from closed-source and cloud-hosted software.

In my mind, when somebody makes fun of Windows at an open-source conference, they’re buying into an anti-Microsoft herd mentality, forgetting that Microsoft does a lot of FOSS stuff, that Microsoft users do a lot of FOSS stuff, and the Apple laptops and Android phones that the majority of delegates have all contain a lot of closed-source software too.

End rant.

linux.conf.au 2016 Plans

It’s that time of year again. This year LCA is being held in Geelong, and as such will require train travel, which is awesome. 😀

I’ll be flying in to Melbourne on Sunday the 31st of January, on flight VA 1321. I’ll arrive in Melbourne city just after midday, and my plan is to catch the 14:10 VLine train to Geelong. While in Geelong I’ll be sharing an apartment at Vue Apartments with a couple of friends. I generally stay in the university accommodation (where there is likely to be a high density of fellow LCA attendees), but this year the university accommodation is well out of the CBD, making it much less convenient than Vue.

Returning from Geelong, my plan is to catch an afternoon train from Geelong to Southern Cross on Saturday the 6th. I’ve pencilled in the 12:52 service, but this will probably depend on who else is travelling that afternoon and when they’re going. My flight back to Hobart is that evening, VA 1332 at 19:40. I love that flight this time of year; with the late sunset and generally good weather, you’re almost certain to get amazing views.

I’m already looking forward to a number of the talks:

It’s shaping up to be another great best-week-of-my-year (as I always tell people LCA is).

Videos from linux.conf.au 2015

The penguin dinner (the “formal” conference dinner) for linux.conf.au 2015 was held at the Museum of Transport and Technology in Auckland. This was pretty cool epic and amazing. Here are the videos I managed to capture of some of the machinery at work:

Unfortunately, I took an amazing 5-minute video of a triple-expansion steam engine being started up, but I’ve lost the footage – I think my phone might not have saved it. 🙁

On the Saturday after the conference, I went on The Northern Explorer, a train trip from Auckland to Wellington with a few friends. Again, I took a number of videos (as well as literally hundreds of photos):

This is actually the first time I’ve bothered capturing videos as well as photos on a trip. My phone (a Google Nexus 5) has proved that it can do 95% of the job of my dSLR in capturing the essence of a scene, and that’s good enough for me. It helps that I carry my phone everywhere, too. I will definitely be considering buying some sort of small tripod device though; as it turns out my hands are very shaky.

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!