Skip to content

In the news!

As I have been organising the Gaming Miniconf, I was interviewed for a “blog” on ITWire. The post was finally publish today, you can find it here. It wasn’t to bad and the stuff comes of pretty positive.

Cool Python, Swaping two variables

Some people say “you learn something new everyday” or something like that. Today someone on #python showed me a cool trick I never would have thought of on my own.

Often there is a time when you want to swap the contents of two variables. The most popular way to do this is using a third variable as shown below:

temp = a
a = b
b = temp

This looks sucky and doesn’t really express very well what you want to do. A much better way to do this in Python is with the following magic line:

a, b = b, a

Doesn’t that look so much better? And it is very clear to anyone who has used Python before what is going on. To think, I have been using Python for about 7 years now and never thought of doing that.

Just thought I would share this tidbit.

Gaming Miniconf CFP open!

Just in case you missed this, the Gaming Miniconf has opened it’s call for participation. We are not just after presenters either!

This will be the second year that the Gaming Miniconf runs and with your help it will be even better. This Miniconf is not just a bunch of cool talks, it aims to be FUN! The Miniconf will be running some cool interactive demonstrations of FOSS games at the Open Day.

So why not come and participate in this exciting event?

The latest version of the announcement can always be found at http://miniconf.mel8ourne.org/wiki/index.php?title=Gaming/CFP

Linux.conf.au woo!

As you may have already noticed, Linux.conf.au 2008 has announce that registrations are finally open, woot! If you are planning on coming, don’t forget to come to the best miniconf there is, the Gaming Miniconf! I am running it again this year and it is going to be packed with Gaming and Game Development goodness.

Much to my embarrassment I managed to accidentally announce the fact early to the #linux.conf.au channel, I just happened to check the website for some Gaming Miniconf business and noticed the registration button. Thinking I had missed the announcement (it has been long day) I hopped on to the #linux.conf.au channel to ask how long it had been opened. Turned out they had just started doing some testing and thanks to me the whole channel jump on being the first to register. Sorry guys!

I have booked my flights and registered, so I am all good to go.

Summer of Code results

If you read my blog but not the Thousand Parsec news feed, you might have missed my wrap up of our Summer of Code. You can find the complete post here, some highlights include;

According to Oholo, over the summer the students made a total of 371 commits to our public repository, changing a total of 39,050 lines of code.

and

Participating in the Summer of Code has meant that students from around the world have started trying to figure out how to make Thousand Parsec part of their course work. One such student is Nathan Partlan aka greywhind who is doing a full year internship with Thousand Parsec.

You should check it out.

GSoC Mentor Summit

Well, I am currently sitting in the famous Googleplex. I’m attending the Google Summer of Code Mentor Summit that Google paid to fly me out for, which is very very cool (thanks Google!). I have never been to the USA before, so I have about 3 days next week to look around the San Francisco bay area.

Work was suprisingly cool about me disappearing for a week and a half when I had only been working there for 4 weeks!

As I have said previously, the Summer of Code was a really cool program to be part of and we had some really cool success. Hopefully we can get in again next year!

Network Manager – OpenVPN, DNS Domain support

My new job uses OpenVPN to provide secure access to their private network. They also make heavy use of the dns domain search so that you only have to type “wiki” to get to their wiki. It turns out that the Open VPN plugin for network manager ignores the “dns-domain” setting, this means I have to manually change /etc/resolv.conf (to add the needed “search” section) after every connection.

This annoyed me enough that I have developed a small patch for the plugin which fixes support. I’ve submitted the patch to Ubuntu, hopefully it will get included soon. In the meantime I have attached the patch and the deb for Ubuntu Gusty.

Edit: This patch has been included in Ubuntu Gusty!

Network Manager – Autostart VPN

UPDATE: Dorian Scholz writes in the comments; There is now a command line tool nmcli which can interact with the nm-applet and Network Manger directly. Connecting to a VPN is as easy as: nmcli con up id NAME_OF_THE_VPN

Recently I started a new job, to get my laptop on the network I first connect to their wireless LAN and then VPN into the network. Network Manager makes this fairly easily, it will automatically try and associated with the wireless network, I then have to start the VPN connection manually.

This wouldn’t be a problem if I only had to do it once or twice a day. However, wireless being wireless, drops out 4-5 times a day. While, Network Manager will automatically reassociated, I have to manually reconnect to the VPN which is a pain.

To fix this I have developed two small scripts, the first is a small shell script which will automatically call a command when connecting to certain wireless networks (/etc/NetworkManager/dispatcher.d/02runcmd). The second is a little Python script which will tell Network Manager to connect to a VPN from the command line (/usr/local/bin/nm-startvpn). When you combind these two, you get auto VPN connection goodness, yay!!

If people find this useful I might put together a config utility and properly package them.

Open Source @ Freeplay debrief

As some of you may know, I was invited to speak about my experiences with Open Source games at the Independent Game Developers conference, Freeplay. The conference was in Melbourne at the ACMI and at my guess around 250 people attended the event.

I organised with the Freeplay organisers to have Linux.conf.au postcards available at the registration desk and dotted around the other venues. About 100 cards where picked up and the remainder where given to Geoff Leach (who lectures at RMIT) to distribute to students. I also advertised the “Gaming Miniconf” which I will be organising at Linux.conf.au.

I gave a talk entitled “The best things in life are free” which was split into two sections. The first was an introduction to what FOSS actually is, while the second was a brief tour of various open source game technologies and games which exist. I hoped to show how the independent game developers and open source game developers where closer then both sides realise.

The talk went well and there seemed quite a bit of interest. There was quite a bit of interest (among game library developers) in the dual-licensing model that MySQL and Trolltech both use. More importantly many of the upcoming game development students attending were interested in both using open source and open sourcing their own games.

I also talked directly to a variety of leading Australian game developers to find out how, where and why they are using FOSS in there company and games. As I have previously thought (and discussed at last year’s Gaming Miniconf), the amount of FOSS being used is extensive. Python, for example, been embedded in many AAA games and is used in multiple MMORPGs. Hopefully I will have some cool case studies very soon.

Summer comes to an end, but it’s not over.

Well, not really – I’m in the Southern Hemisphere and Summer is yet to arrive. What I am ranting about is the “Google Summer of Code”. This year, much to our suprise Thousand Parsec the space strategy empire building game I founded “oh so many years ago”, was selected to become a mentor organisation.

We had 3 students accepted into the program and then Google also agreed to fund an extra student outside the program! Sadly only 3 out of these 4 students passed the mid-term evaluation, but the work they have been doing is really, really cool!

This last 6 months have been really rewarding personally. I started the project in 2001 and it has been a long slog to grow the project past just the other founder and me. With all these new people who are actively excited about the project (and not just the SoCers!) it has been a huge relief that time over the last 6 years has not been wasted. With myself recently graduating, the nature of my contributions to the project is going to change and it’s nice to know that others will be helping to keep the project alive.

It use to be the case that if I stop working on the project, no progress would be made. Now almost everytime I turn on the computer I see new commits. When I go to our gitweb there is always a lot of green. It’s an absolutely wonderful feeling!

The next 6 months are also going to be really exciting, with TP04 reaching the final stages of specification, a new website reorg, a bunch of new games and an almost complete rewrite of the primary client. We might actually start attracting users :).