t b a

March 09, 2015


How to Build a GCC Cross-Compiler

Recently I had cause to build a new cross-compiler (used for operating system development). I recorded the entire process, thinking it might be useful to others who’ve never gone through the process of compiling a compiler before. Here it is.

The canonical reference for a GCC cross-compiler build, including all the instructions for this video, can be found on the OSDev.org Wiki.

March 09, 2015 02:05 AM

March 02, 2015


Clear House, Clear Mind

As a community, we have too much stuff. We have so much stuff, we don’t even notice that it’s there. I became acutely aware of this recently after I broke up with my now ex-girlfriend, and moved house twice (first in with my parents, then out into my own place again).

I had boxes of stuff. Books. Computer equipment. Clothes. Paper (notebooks, filing drawers, and so on). Gifts that I was hanging onto out of a sense of guilt if I threw them away. Stuff that doesn’t even have a category.

So I got rid of most of it. The process took months (and I’ve never even considered myself a pack-rat), but I’m finally making headway. I never want to go back to the world of stuff again.

Photo by Ryan Tir.Photo by Ryan Tir.

There are a lot of benefits to having less stuff. I’ve noticed three main ones:

  1. You suddenly have a lot of spare cash. You’re not any richer, since you’ve just swapped a $10 doo-dad for $10 in cash. But it makes you feel richer, which is nice. And you can invest that $10 to get even richer, or spend it on something actually worthwhile.
  2. You appreciate the things you have more. I now look at what I have and think how lucky I am to have the things I do, rather than “oh God, I have too much stuff!”. It’s a nice change.
  3. Everything works. I can pick up any book on my shelf and know I will enjoy reading it. Every single book. Likewise, it would be very difficult to dress myself with any item in my wardrobe and not look half-reasonable, since I’ve disposed of everything that doesn’t fit, is worn out, or I just plain don’t like.

Stuff that I didn’t dispose of:

Stuff I did get rid of:


I used to have a huge collection of books. I had ten “In A Nutshell” books from O’Reilly. I had dozens of Penguin Classics. I had hundreds of books. Now I have twenty.

Photo by David Orban.Photo by David Orban.

When you buy a book, it can become one of four possible things. Some you’ll never finish reading because they’re awful. Some you’ll read, but you know you’ll never read again. Others you might refer to once in a while, such as a cookbook. Finally, there are those books you’ve read to death. You know every word, and yet you go back to read them again.

Any book in the first two categories should go immediately. You do not want these books wasting space in your house. Books in the fourth category should definitely stay. Books in the third? Well, it’s up to you. I got rid of them if I could find the same information online, and kept them if I couldn’t.

Now, how to get rid of books. If you live in Australia, this is actually incredibly simple. You put them in a box, and ship them off (with free postage) to a service that sells them online for you. It’s amazing. I love it. It’s called FishPond SmartSell.

Computer Gear / Electronics

Getting rid of computer and other electronic equipment is depressing, for one simple reason: the depreciation on these purchases is incredible. A motherboard you bought for $350 a couple of years ago is now worthless. You cannot even sell optical drives. This stuff is junk.

I had a lot of computer junk. I knew it was junk, but I kept it around anyway. Patch panels. Dozens of SATA cables. A $50 printer with no ink. Sticks of RAM. All of it taking up space in my life (and in my study no less, where space is most precious). By getting rid of it, I’ve made a lot of space, and a bit of money.

In Australia, the best place to sell computer equipment (and most other assorted items) is Gumtree (Americans could use Craigslist). It’s relatively easy (especially compared to the minefield that is now eBay) and has a very large user base. Unfortunately eBay is full of cheap Hong Kong sellers who sell new items for less than you can post your old items for. Don’t even bother. You’ll want to spend a bit of time getting a feel for how much items are worth, so as not to sell things for too cheap.

Photo by Jonas Ahrentorp.

I now basically have just a laptop, a printer, a mouse, and some external monitors. It’s all I need, and it takes up very little space.


I used to have stacks of spiral-bound notebooks with ideas and grand plans in them. I had filing cabinets full of tax receipts and superannuation reports. I now have very little of that. Here’s how I went about the process:

  1. Obtain a shredder (preferably a cross-cut model such as this) and a scanner (one with a feed tray is best, such as this). You can most likely borrow these from relatives to avoid the need to buy, if you don’t have them.
  2. Make sure you have a good backup program on your computer, so you don’t lose anything (lest the tax man come after you). I recommend BackBlaze. It’s automatic and it just works.
  3. Read through the spiral-bound notebooks, ripping out any page that has what is still a great idea or a useful note in it, and shredding any page that has a password written on it. Dispose of the notebooks.
  4. Scan to PDF all of the notebook pages that you want to keep. This will be a long and tedious process, but it’s mind-numbing work, so watch TV at the same time. After you scan each page, shred it.
  5. Now move on to the filing cabinets and other papers. Some items can just be thrown out (or shredded if they have personal information). Some items can be scanned and then shredded (most things needed for tax fall into this category). Some things will need to be kept (birth certificates, car registrations, etc). Scan these anyway, it’s nice to have a backup.
  6. Put the shredded papers into the compost and make some lovely worm food.

The next step is organising these PDFs into a useful form. The stuff kept just for tax purposes can just be filed away and forgotten about in the depths of your hard drive, but anything that needs to be looked at again should be organised.


Clothing went through a simple three-step test:

  1. Does it still fit me?
  2. Is it still functional (holes, wearing, etc)?
  3. Do I like it?

Unless I got a yes to all three questions, it went into the charity bin. Simple as that.

Other Items

I disposed of a lot of other items too. A lot of things I sold on Gumtree, as they had some resale value. Unfortunately, others went into the garbage. This made me sad, but it’s important to realise they didn’t become garbage when they went into the bin; they became garbage when they were no longer useful. I just hadn’t thrown them out yet.


While my process of elimination and simplification is still ongoing, starting to clear out my house on a physical level has cleared out my mind too. I can see (both literally and metaphorically) the things that are important to me. I hope to never look at stuff the same way again.

March 02, 2015 04:52 AM

February 17, 2015


Time Management 101: First Principles

As promised in my second post on running a company, I want to talk more about time management. I’m definitely still learning myself, so while I do have useful things to say, take them with a grain of salt.

Image by https://www.flickr.com/photos/smemon/Image by Sean MacEntee

I want to start at the core of the time management problem, and work outwards from there. Before I can give any practical advice there is a question we have to ask ourselves: what is the point?

Principle #1: Know what you want.

Before there is any point to improving how you manage your time, you have to ask yourself what you want to achieve. Not only that, but you need an answer that you passionately believe in.

Similar to how exercising without a goal won’t succeed, managing time without a goal won’t either. You can join up to a gym, buy new exercise pants and book appointments with a personal trainer, but unless you actually want to achieve a defined goal (such as losing 10kg, running a marathon, or joining a sportsball team) the motivation to exercise will disappear and your exercise habit will deteriorate to nothing.

Let’s take my example. I want to better manage my time so that I spend less time on business administration and personal errands, and more time either working productively or having fun.

But it’s not just enough to have a defined goal. You have to believe in it. And for that, we need to go one step further. With exercise, you might want to run a marathon. But why would you want to do that? Because you want to feel good about your body. You don’t want to feel shame any more. And that’s good. It’s an emotional feeling, and we can latch on to emotions more than we can to abstract goals.

Personally, I want to spend more time on productive business and relaxation because those are the things I enjoy most. My work brings me joy, and so does spending time with my family and friends. Doing laundry does not. The emotional attachment I have with the people around me is the motivation I need to better manage my time.

You might have similar motivations. Or perhaps you want to get a promotion, in order to feel the higher status that brings you.

Work out what you want, and then make it feel real.

Principle #2: Time is your only resource.

When you are born, you are gifted with roughly 67.2 years of time, which equals about 24500 days, or roughly 600,000 hours (based, of course, on where you were born and to whom).

Graph of life expectancy.Graph from Wikipedia

Unless your parents were ridiculously rich, pretty much everything you have after the age of 18 was earned by yourself. Your car, your house (lucky bastard), your life partner, all these things required an investment by you. And what was the form of that investment? Time.

When you buy shares in a company with the hope of receiving a dividend, you’re investing your time. You spent some of your time now in order that you might have to work less (and thus have more time) in the future.

When you have a debt (like a credit card) what you really owe isn’t money: it’s the time you will have to spend to pay back the debt.

The key realisation is that time can be converted into money (most of us do it every day, in the form of a paying job), but also that money can be converted into time (by paying somebody else to do something for us). In the inter-connected global economy (fragile as it is) it’s easy to make this conversion happen both ways.

Every time you order a pizza, you’re spending your money (which you earned with your time) in order for somebody else to spend their time making a pizza in lieu of you. Because everybody is good at different things and has different prices on their time, this trade makes sense: the specialisation in the economy allows everybody to be more efficient in how they spend their time. And it’s this we will explore next.

Principle #3: What is your time worth?

Managing your time practically comes down to an issue of opportunity cost, one of the core concepts of economics. In it’s simplest form, the opportunity cost of a product or service is the sacrifice that is needed to have that product or service.

For example, a bottle of Coke is about $4. You can either have the $4 of money, or you can have the Coke. You can’t have both.

Opportunity cost is most interesting when it becomes relative. Let’s say you have a choice between going to the beach (or some other enjoyable activity) with your friends, or going to work and earning $1000. Most people would go to work, since $1000 is more valuable than the time spent with friends. Now let’s say you have the same choice, but you only earn $10. Most people would quit immediately and spend the time with their friends. Spending time with friends is worth more than $10, but less than $1000. Or is it?

What if we repeat the experiment over time? Let’s say every hour I work I earn $100. In the first hour, I’m pretty chuffed to have earned $100. I work a second hour, and I have $200. After the fourth hour I have $400, but I’m also pretty hungry. At this point I could work another hour and earn more, or I could have lunch and spend $20 (assume I’m eating out). I decide that the cost of having lunch ($120, combining both the meal cost and the lost income) is less than the cost of being hungry for another hour. Over time, our needs change and thus our opportunity costs do too.

When we do tasks like laundry or the dishes, we are saying that the cost of being able to find a clean dish or clean clothes in the future is less than the cost of having to clean them now. Whether this is true for you depends on your circumstances.

When we watch TV, we are saying that the cost of this activity is less than the cost of anything else we could do with that time (including earning more, spending time with family, running errands, etc). We have to keep in mind all the time: is this what I want to be doing with my time to the exclusion of all else?

Principle #4: Eliminate the unnecessary.

This principle is really a logical extension of the previous three principles, but it’s important enough that I’m going to include it anyway.

Given that we only have a finite amount of time, the opportunity cost of everything we do can be measured in time, and we have goals to achieve in that time, it makes sense to prioritise.

There are some things we should eliminate entirely. Logically, smoking is number one. It shortens your life, it costs you time smoking, and it costs you time working to buy cigarettes.

There are other things we might want to spend less time on, but still want to do. I enjoy watching some television, but I need to be conscious of not wasting too much time watching ABC News 24, no matter how awesome Michael Rowland is.

What we choose to eliminate and cut back on is different for everybody, because we have different goals and values in life. I don’t care about fashion, so I do only what I need to in order to look respectable. Other people enjoy fashion, so it’s a worthwhile time investment.

If something doesn’t interest you, either eliminate it from your life or figure out how to automate or outsource it.

Life is as fun and interesting as you make it.

Photo by  Alexander Boden Photo by Alexander Boden

So those are my principles of time management. From now on, in following posts, we can be a lot more practical.

February 17, 2015 12:49 AM

February 02, 2015


More Advice on running a company

Following on from my post How to run a small company in Australia, here is some more business advice, in no particular order:

February 02, 2015 09:28 AM

January 26, 2015


Australian Pomp and Ceremony

As Australians, we’ve always been very uncomfortable with who we are. Descendants of British settlers feel nervous about how Aboriginal people were treated (and to some extent still are). Aboriginal people feel uncomfortable because they have been made to feel like second-class citizens for a large part of our history (because they were). More recent immigrants are locked away in detention centres, despite our national anthem’s promise of having “boundless plains to share”.

It’s no wonder, then, that when Australia Day rolls around, everybody gets a little bit confused. Nobody knows quite how they feel about giving out Knighthoods and Damehoods again, but we’re pretty sure they shouldn’t go to a racist old fart who isn’t even Australian. I feel personally that knighthoods are a great addition to the Order of Australia, and it’s good they are being given out again. However, they should be recommended by the Order of Australia Council with no involvement from the Prime Minister.

Things like the Australian Flag should fill every Australian with a sense of pride in our country. Unfortunately, when I see it I feel a sense of shame, as it has become associated with racism and other forms of bigotry. It’s unfortunate that these things which should unite us instead tear us apart.

A lot of people say we need to talk about who we are as a country. That usually means becoming a republic. That’s not going to help one way or the other. We need to make a lot of small changes, that together will make every citizen feel a part of Australia.

Firstly, we need to live up to our promise in the national anthem: for those who come across the seas, we should share our plains with you. Being more civil to refugees should be top priority. We can’t treat people as sub-human any longer. These people are escaping terrible places. Why else would you get in a leaky boat and sail across the ocean with only a mild hope that you might get to Australia? I understand the need to perform security and quarantine checks on people before we let them into the wider community. But these checks can be done in days or weeks, not months or years. They can also be done on the Australian mainland, not a foreign country. To do otherwise is pandering to bigots, and that’s not something I want my country to be known for.

Our honours system needs some work, as I’ve outlined above. We should have Knighthoods and Damehoods, as they are internationally recognised and bestow a fine honour amongst those people who deserve them. But we should have more conversation about who gets them. I think only Australian citizens should be eligible. I think only the Order of Australia council should be able to recommend to the Queen who gets them, with no political involvement from the Prime Minister or his office.

It’s about time we changed our flag, too. The problem is, to what. I don’t have a solution here. Some people have suggested replacing the union jack with the aboriginal flag, but that then diminishes the contribution given by the British settlers to this nation. Far better, I think, to not acknowledge any particular race on our flag; we are all the same on the inside after all.

Australian flag with the aboriginal flag replacing the union jack.The proposed replacement flag.

I’m really happy with the trend I’ve been seeing in the last few years of having a  “Welcome to country” by Aboriginal community representatives for formal events. I’ve even been to technical conferences where this has occurred! This seems to me to be a very subtle and inclusive way to acknowledge the history of the land on which this country is built.

One thing that I don’t think is particularly helpful is a discussion about being a republic. There are actually far more important things to get fixed, and we can fix them without spending years fighting amongst ourselves over who gets to be our head of state. Whilst I’m not against a republic, and would probably vote for one if a referendum was held today, I think both the current Queen and her successors are doing a fine job. Whilst a lot of people dislike Prince Charles, I can’t figure out why: he spends a lot of time fighting for good causes. He’s an environmental campaigner, and I like that.

Queen Elizabeth II firing a machine gun.The queen, meanwhile, is pretty epic.

Whilst it’s uncomfortable to talk about who we are, sometimes these discussions are necessary in order to better ourselves. Every citizen will never be equal (capitalism and human power struggles will team up to prevent that from ever happening). We should endeavour, in any case, to give every citizen equal opportunities, as far as we can. We need to make every person feel included in our country of Australia.

January 26, 2015 12:04 AM

January 25, 2015


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.

January 25, 2015 12:51 AM

January 16, 2015


To the Future


That is all.

January 16, 2015 07:17 PM

October 22, 2014


I have the NBN!

It took a long time, and was a complete ordeal to organise (seriously, telecommunications companies have the worst customer service ever), but I finally have an NBN connection at my apartment!


1.19MB/s down, 0.10MB/s up, 20ms latency


2.98MB/s down, 0.60MB/s, 3ms latency

I’ve chosen a 25/5 Mb/s “Silver” plan from Internode, which provides roughly 5 times the speed of my old ADSL2+ connection in both the upstream and downstream directions, as well as much lower latency. I’m really excited about the increased upstream bandwidth, it should allow me to host services from my house more comfortably.

October 22, 2014 06:10 AM

August 04, 2014


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.
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!

August 04, 2014 05:22 AM

March 18, 2014


How to run a small company in Australia

I’ve been the director/manager/shareholder (pretty much everything) of a small company in Australia called The Foo Project Pty Ltd for around two years now. We develop software, but this post isn’t about that. Today I want to talk about the ‘boring’ stuff (though I find it fascinating): accounting, legal issues, dealing with the federal government, etc.

Please note I’m not a lawyer or an accountant. If you need one, you should get one, not read blog posts by some guy on the Internet (that’s called procrastinating and it probably won’t help you). Handy hint: if you’re reading this for advice rather than entertainment value, you probably want an accountant or a lawyer.

So the things I’m going to cover are: why you might want a company instead of being a sole trader, how to get set up, what documents and so on you’ll need to keep, and some handy things I’ve learned along the way.

Why might a company structure be helpful?

The benefits and drawbacks of a company structure become more obvious once you consider what exactly a company is and what a sole trader isn’t.

A sole trader runs a business ‘as themselves’, that is, the business is the same legal entity as the person running it. Any income the business makes is personal income for the person running it, the same with expenses. A child running a lemonade stand in their front garden is a sole trader: any profit they make is theirs personally, and that’s as complex as it gets (well, technically they need to register for an ABN, but what the government doesn’t know won’t hurt them). Another thing to note is that any debts the business have belong to the person running it, so the business going bust is the same as the person going bust.

Image courtesy of j_reganImage courtesy of j_regan

A company, on the other hand, is a different legal entity. Any income the company makes belongs to the company, not to the person (or people) who own the company. Any debts the company has belong to the company itself (though it is common for a company director to personally guarantee some large loans for small businesses). The profits flow to the owners (called shareholders) through dividends. Being different legal entities, if one of the shareholders (to whom the profits eventually flow anyway) takes cash out of the company without the company itself authorising it, then this is fraud.

There is also another structure for businesses known as the partnership. It combines all the worst parts of being a sole trader with the worst parts of a company structure. Just avoid it.

The benefits of being a sole trader:

The benefits of having a company:

How to get set up:

This is actually much easier than you think. The hardest part will be opening a bank account!

  1. Figure out how many shareholders (owners) and directors (top-tier management) the company will have, and who they will be. If anybody else will be shareholding or directing with you, remember the following:
    1. It’s easier to introduce more directors and shareholders later on than it is to remove them. Pick carefully.
    2. Being a director does involve legally mandated responsibilities, so make sure directors will be up to the job required.
  2. Go to Register A Company (or a similar company registration service, they are all over Google) and fill out the form. It’s well explained and pretty simple. Note that they will ask you for an account password, choose something unique and never used before, as they will email it to you in plain text (*sobs*).
  3. After the form is processed, which will only take a few minutes, you’ll be sent emails with a whole heap of PDFs. Print out all these PDFs and stick them in a binder. These are the company’s registers of members and officers, and it’s a legal requirement to have a paper copy of them at the company’s registered address.
  4. Go to the Australian Business Register to register for an ABN and a TFN. This will allow you to do fun things like send tax invoices and register Australian domain names, and other less fun things like paying company income tax. The process is pretty simple, but unfortunately (in my experience, anyway) it takes several weeks for them to get the details posted back to you. If you might be employing people make sure to register for PAYG withholding. If you think turnover will be more than $75,000 in the first year register for GST, otherwise avoid it as it makes accounting much more annoying (you can register later if needed).

You now have a company, but there are a few more things to do to make things run smoothly and safely.

Keeping documents:

There are two broad categories of things to keep: legal documents and accounting documents.

Pretty much everything you will need from a legal perspective is in the binder you printed out when you registered the company. In paper form, at least.

From an accounting perspective, keep everything in Xero (or other accounting software). Every invoice, every receipt, every transfer, every everything; it should all be recorded. Your accountant can help you (though it’s pretty easy to do yourself).

I’ve formed the practice, and I think it’s a very good practice, of scanning every single document that comes my way and backing it up to the cloud (encrypted, of course). I’ll probably never need it, but damn it will be handy if I do.

Some handy hints I’ve learned the hard way:


Well, that’s all my advise. Hopefully it’s helpful. And again, I recommend finding a good accountant and a good lawyer. They will help you.

March 18, 2014 09:47 AM

January 27, 2014


Hottest 100 Spoiling results

Well, the Hottest 100 happened yesterday, so now it’s time to evaluate how my spoilers list went:

Why wasn’t it more accurate, or as successful as last year?

I’ve got every confidence that this method will be viable for next year, especially since the results were a much less spectacular spoiler than 2012′s Warmest 100. Let’s see if we can make a better model for next year.

January 27, 2014 03:43 AM

January 24, 2014


Booting out the Warmest 100

(Beware – this article includes a link to some probable spoilers for tomorrow’s Hottest 100 count. You can read this article without reading those spoilers.)

You’re probably familiar with Triple J’s Hottest 100. It’s the world’s largest write-in music poll. Last year, Triple J made an easy, shareable link for people to post their votes out on Twitter and Facebook. Alas, these links were easy scraped from the web, and the Warmest 100 (link to 2012 count) was born. The top 10 (but not its order) was revealed, and the top three was guessed perfectly.

This year, voters weren’t given a shareable link, but a few thousand people took photos of their confirmation e-mails and posted them to Instagram. With a tiny bit of OCR work, the Warmest 100 guys posted their predictions for this year. They found about half the number of votes that they did last year through the scraping method, which is no mean feat, given the lack of indexing.

So the question is — how useful are these votes in predicting the Hottest 100? What songs can we be sure will be in the Hottest 100? How certain is that top 10?

Both years, Justin Warren independently replicated their countdown (spoilers), and has written up his methodology for collecting the votes this year. I asked him for his data to do some analysis, happily, he obliged.

He’s since updated his method, and his counts, and written those up, too (spoilers).

Update: he’s updated his method *again* based on some feedback I offered, and has also written that up (spoilers). This is the data my final visualisation runs off.

So, what have I done with the data?

Bootstrap Analysis

When you have a sample — a small number of votes — from the entire count, you can’t really be certain where each song will actually appear in the count.

In this case, Justin’s data collected 17,000 votes from an estimated 1.5 million votes. That’s a sample of 0.1% of the total estimated vote. It’s a sample, but we have no idea how that compares to the actual count.

If we think that the votes that we have is a representative sample of all of the votes, then what we’d like to know is what would happen if we scale this sample up to the entire count. Where will songs end up if there’s a slight inaccuracy in our sample?

The good news is that computers give us a way to figure that out!

Bootstrap analysis (due to Effron) is a statistical technique that looks at a sample of votes from the whole set of votes, and randomly generates a new set of votes, with about as many votes as the original sample. The trick is that you weight each song by the amount of votes it received in the sample. This means that songs are picked in roughly the same proportion as they appear in the sample. The random sampling based on this weighted data adds noise.

You can think of this sample as a “noisy” version of the original sample. That is, it will be a version of the original sample, but with slight variation.

If you repeat this sampling process several thousand times, and rank the songs each time, you can get a feel for where each song could appear in the rankings.

How do you do that? Well, you can look at all of the rankings a given song gets for each randomised set. Sort this list, and pick the middle 98% of them. Based on that middle 98% of rankings, you can be 98% certain that the song will be at one of those positions. In statistics, this middle 98% is called the 98% confidence interval by bootstrap.

You can repeat this for different confidence levels, by picking a different amount of rankings around the middle.

I’ve used Google Spreadsheets to visualise these confidence intervals. The lightest blues are the 99% confidence intervals. The darkest blue intervals are the 70% confidence interval. The darkest single cell is the median — i.e. the middle of all of the rankings that we collected for that song in the bootstrap process.

The visualisation is up on Google Docs. (spoilers, etc).

I’ve run the same visualisation on Justin’s 2012 data, it’s less of a spoiler than the 2013 version if you care about that. It can inform the rest of the article for you.


First up, a bit on my methodology: Justin’s data didn’t separate votes into their original ballots. So, I had to pick songs individually. To improve accuracy, I selected songs in blocks of 10, where each song in the block of 10 is different — this vaguely resembles the actual voting process.

In my experiments, I ran the sampling and ranking process 10,000 times.

You’ll notice some interesting trends in this visualisation. The first one is that the higher the song is in the countdown, the narrower its blue interval is. Why is this so?

Well, as songs get more popular, the distance between each song in the number of votes received grows. In Justin’s sample of the votes, #100 and #73 were separated by 15 votes. So if one or two votes changed between #73 and #100, that ordering could change spectacularly. Given Justin’s sample is of 17,000 votes, 15 votes represents an 0.1% change in the vote.

So at those low rankings, a tiny change in votes can make for a massive difference in ranking.

At the other end of the count, #1 and #2 are separated by 16 votes. #3 and #4 are separated by 22 votes. #4 and #5 are separated by 51 votes. Down the bottom of the list, where 16 votes could move a song 33 places in our count, you’d need 16 votes to change just to swap positions 1 and 2.

What this means from a statistical perspective is that the closer to the top you are, the more work you need to do to change your position in the count.

You’ll also see this phenomenon in the right-hand side of the intervals. The interval of a given colour on the right-hand side of the interval will generally be longer than the same colour on the left. Once again, this is because lower ranks swap around more easily than higher ranks.

Update: Since writing this article, I ran one more test – how many of the songs in the top 100 of Justin’s raw  sample of votes will make it into the actual Hottest 100? Well, bootstrapping helps us here too. For each bootstrap trial, I take the top 100 songs, and see how many of those are in the raw top 100. I reckon, with 98% confidence, that we’ll get 91 songs in the actual Hottest 100. Thanks to David Quach for the suggestion.

In summary: the Warmest 100 approach is statistically a very good indicator of the top 4 songs. The top 4 is almost certainly correct (except that 1&2 and 3&4 might swap around between themselves). Everything up to #7 will probably be in the top 10.

The sampling approach is less accurate at the bottom, but I’m pretty confident everything in the top 70 will be in the actual top 100.

I’m also pretty confident that 91 of the songs in the raw top 100 will appear in the actual top 100.


I’ll be making some notes on how these confidence intervals got borne out in the actual count on Monday. I’m very interested to see how this analysis gives us a better idea of how accurate the Warmest 100 actually is.

January 24, 2014 11:07 PM

January 07, 2014


linux.conf.au 2014 – January 7

I’m (sporadically and with much delay) blogging my yearly pilgrimage to linux.conf.au 2014, this year being held at the University of Western Australia in Perth.

Tuesday Keynote

20140107_085514Today’s keynote was given by Kate Chapman from the Humaritarian Openstreetmap Team. It was awesome. I’d heard of OpenStreetMap previously but not really paid much attention to it either as a technology or as a community. I was impressed by both. On the technical side it’s great to have a map that can be easily edited by anybody, Wikipedia style, and has as much information as you could want on it. On the community side, I was really impressed by how they went from a bare outline of Haiti just before the earthquake there to a complete map of pretty much everything only a few weeks later.

I immediately installed JSOM, the OpenStreetMap native editor and started adding points of interest I know exist around my suburb. It was surprisingly easy to use and the near-instant results proved satisfactorily addictive. I hope to get into this more in the future.

Open Programming Miniconf

I spent a large portion of the day in the open programming miniconf. There were several highlights:

Walking into Perth

20140107_182451For dinner tonight we decided to walk into Perth via King’s Park, which proved to be very pretty. We also ended up walking back via the foreshore along Mounts Bay Road, which was a bit of fun since (for some reason I can’t quite figure out) we decided to run part of the way back. Turns out running is fun if you’re in good company. Who knew. The total distance was just under 12km, so I probably even burned off the energy from tonight’s dessert, a sticky date pudding from the British pub in Murray St (good stuff, though a bit dry).

Now the miniconfs are over, and the conference proper starts tomorrow. For delegates it’s a fairly unnoticeable difference (only real difference being that the talks aren’t grouped into rooms by subject anymore), but it marks almost the halfway point. There’s also the penguin dinner to look forward to, which this year looks to be an upscale picnic on the Matilda Bay foreshore.

January 07, 2014 02:10 PM

New OpenPGP Key

Over the new few months I will be slowly transitioning to a new OpenPGP (GPG) key. The reasons for this are as follows:

  1. In light of the recent information regarding the NSA, GCHQ, ASIO and other spying on citizens of the world, I believe a larger key size will increase security against attacks (even if the increase is small).
  2. I read about a patch to GnuPG to allow creation of larger key sizes and wanted to try it out.
  3. I wanted to have a clean slate with completely separate subkeys and good key hygiene (in regards to how the private key and revocation certificates were stored).

I have created a new 8K-length certification master key (0xB341C361CE04C603) with the following subkeys:

The reason for the 8K (for the uninitiated, this is a huge key that is overkill for current technology) separated certification key is so that I can keep that key safely on my home systems protected from the wild, whilst still being able to carry my signing, encrypting and authentication keys around on my laptop without too much trouble. Since the certification key is used for signing other keys and being signed by other keys (i.e., building the web of trust) it is a good thing if this key is both well protected and doesn’t change much.

The authentication key is interesting – in theory the underlying key data is such that you can use it for SSH logins, but it is such a pain in the arse to get the key data out and into a format that the SSH client can use that nobody bothers.

My old key (0xF3EABD1AAC83D520) no longer has a valid encryption key and I will be revoking the master key within the next few weeks.

You may also be interested to read my OpenPGP policies.

January 07, 2014 08:47 AM

January 06, 2014


linux.conf.au 2014 – January 6

I’m (sporadically and with much delay) blogging my yearly pilgrimage to linux.conf.au 2014, this year being held at the University of Western Australia in Perth.



We begun the first day of the conference with the morning keynote, which was presented by Suelette Dreyfus. She talked about some of the statistics around people’s feelings towards privacy, whistle-blowing and government surveillance. The thing I found most interesting was that the ordinary citizen supports whistle-blowing and doesn’t support government surveillance. Which leads to one of two conclusions:

  1. The government will soon have to start actually listening to citizens and do something about all this.
  2. The government is actually entirely controlled by the spy agencies and we’re all screwed.

Yay for freedom and democracy! :/

Rocketry & Radios

The next talks I attended were from the open radio miniconf, where Bdale Garbee and Keith Packard talked about the hardware and software they are using for rocket to ground radio communications on their rockets, and which they are successfully selling through their fully open-source business. I found a few points interesting:

The Sysadmin Miniconf

Between lunch and afternoon tea I sat in on the sysadmin miniconf (there’s a mantra at linux.conf.au: if you’re in doubt as to what to see, tend towards the left hand side of the schedule). The most interesting talk for me was from Elizabeta Sørensen on RatticDB, which looks a pretty cool password management tool that would have been amazingly useful in my last job (where I worked as a sysadmin rather than being a programmer like I am now). Despite being immature software, it has a lot of promise and I’ll definitely be trialing it for my own uses.

I also found the talk on Husk by Phillip Smith to be very interesting. Writing iptables rules is a pain, and writing them twice (once for IPv4 and again for IPv6) is a complete pain. So Husk looks great because it gives you extra power in simply being able to write-once for both network stacks and being able to re-use variables and rulesets. It’s basically SCSS for firewalls.


After afternoon tea I went to the talk given by David Rowe on modems and how they work in a basic sense. Unfortunately I was completely out of my depth and I had no idea how the modem algorithm fit into the stack of hardware and software. Is the mixer hardware or software? Where is forward error correction done? No idea. More reading for me to do!


20140106_182003By this stage I was pretty exhausted, having not got much sleep the night before. I therefore retreated to the dorm room and had a quick nap, a cup of tea and a shower (Perth is hot!) before dinner. I went out with a few friends (new and old) to a great pub we’ve found nearby that does good pizza and amazing crème brûlée. Hopefully an early night tonight so I don’t get too exhausted before the week is out.

January 06, 2014 12:29 PM

January 05, 2014


linux.conf.au 2014 – December 31 to January 5

I’m (sporadically and with much delay) blogging my yearly pilgrimage to linux.conf.au 2014, this year being held at the University of Western Australia in Perth.

The week before linux.conf.au has been spent with my partner’s family in Fremantle, doing touristy things (because we are tourists). Here are some of the highlights:

The Perth Mint

I had a great time at the Perth Mint, mostly because I got to see a gold bar being poured – it was worth a quarter of a million dollars. Apparently when they last cleaned the roof they found $40,000 of gold dust. Impressive stuff. No pictures unfortunately, since in some places you couldn’t take photos, and where we could I forgot. I also couldn’t afford anything in the gift shop (and I really couldn’t figure out why somebody would pay $60,000 for the smallest diamond I’ve ever seen).

King’s ParkDSC00348

We also went to King’s Park (more specifically the botanical gardens) and went on a guided tour given by one of their volunteers (thanks Denis!). There are a number of cool things in the park, but by far is the 16m tall footbridge they have… just because they can. It’s quite a similar experience to the Tahune Airwalk in Tasmania, but in a much different climate and ecosystem.

Shipwreck Museum

DSC00285Near the Fremantle coastline there is a museum of shipwrecks and maritime history. I went in slightly dubious (it is a museum after all) but came out fascinated and full of facts. The wreck of the Batavia was pretty cool, having survived 300 years in pretty rough conditions and still intact enough to make a good display.

We also visited the Fremantle Arts Centre, The Maze, several different beaches and snorkelling spots, various pubs and restaurants, as well as a rally to try and stop the shark cull in Western Australia. It was pretty impressive seeing thousands of people who were pretty fired up about something. And it is a big something, so I hope to write a more detailed blog post about that at a later date.DSC00382

I’ve now settled into the dorms at Trinity College, caught up with a few friends (many more to see yet!) and await the beginning of the conference tomorrow. Tomorrow’s schedule is full of “mini-confs” dedicated to particular subjects. I’ll probably start the day at the open radio mini-conf, because a talk on rockets is pretty much a must-see. Since I work as a web developer on a team that uses agile techniques, a lot of the talks in the continuous integration mini-conf will be informative (though the lack of rocketry will be sad). Very exciting!

January 05, 2014 12:56 PM

January 01, 2014


linux.conf.au 2014 – December 30

I’m (sporadically and with much delay) blogging my yearly pilgrimage to linux.conf.au 2014, this year being held at the University of Western Australia in Perth.

Today was the flight from Hobart (HBA) to Perth (PER) via Melbourne (MEL). After a morning waiting (both my girlfriend and I had both already done most of our packing the night before) we had a fairly uneventful flight from Hobart to Melbourne (737-800, seats 29D and 29E). Bit of turbulence but nothing unexpected from economy class on Virgin.

20131230_165309The flight over to Perth was on one of Virgin’s two older (ex-Emirates apparently) A330-200 aircraft (seats 9J and 9K). This was slightly disappointing as these two aircraft don’t have in-seat power, a nice extra on a 4-hour flight (which is about as long as my laptop battery lasts). The TVs were pretty blurry picture-wise and the sound was choppy (not that I cared, I had my laptop to watch). Chicken-based meal wasn’t too bad, but my girlfriend’s vegetarian meal was… very average. You can tell these planes have been in use for a while. That said, the flight was smooth, fast and safe… so I can’t complain too much! Other than that it was a pretty nice flight.

I have to say I’m really looking forward to this year’s LCA. All the usual great speakers are there, including some of my favourites (Matthew Garrett, Katie Miller and Adam Harvey to name a few). As well as this, it is the first LCA trip I’ve managed to drag my girlfriend along to (which is the real reason we are going a week early, as she has family in Perth). Hopefully there are more of these trips to come!

I imagine we won’t be coming back to Perth for a while (unfortunately trans-continental flights are quite expensive), so there are a few sights we want to see. I really want to visit the Perth Mint and see the minting of gold and silver bullion coins (yeah, I’m weird). My partner wants to go to Nottnest Island and do lots of swimming in some of the marine parks around the Perth/Fremantle area.

January 01, 2014 11:07 AM

December 13, 2013


Talk: Making Mobile Web Services That Don’t Suck

The second of my DroidCon India talks introduces developers of mobile apps with the difficulties of designing for mobile networks. It also contains a series of design ideas that developers can take back to their back-end development team, so that the APIs that they produce for accessing their services are less difficult to use in a mobile context.

December 13, 2013 11:53 PM

Talk: Portable Logic/Native UI

My first talk from DroidCon India 2013 (November, Bangalore). It’s an exploration into the approach that we’ve taken at AsdeqDocs in producing a properly cross-platform mobile app. We take the approach of separating our core application logic into a C++ codebase, and apply platform-specific user interfaces over that codebase.

This talk covers the software engineering principles that make that work; as well as the benefits, difficulties, and insights that we’ve learned over a few years of doing this. It’s probably the favourite of my mobile dev talks.

December 13, 2013 11:46 PM

Announcing the LCA2014 Open Programming Miniconf

Very pleased to say that I’ll, once again, be running an Open Programming Miniconf at Linux.conf.au in January. This time around, the conference will be at the University of Western Australia in Perth.

I’m especially pleased, because after initially being rejected by the conference team, with limited time to assemble a line-up, I’ve put together what I think is the best Programming miniconf lineup in the five years I’ve been running it.

One of the goals of the Open Programming Miniconf is to be a forum for developers to share their craft: ideas for improving the way people code, and topics that are of benefit to people who develop using many open source programming languages. This year, for the first time, I think we’ve filled that remit.

This year’s talks cover everything from low-level mobile programming and driver development, to deployment of web applications, as well as talks about packaging, deployment, and development tools.

We also don’t have a single state-of-the-language talk. Everything’s about topics that can be transferred to any number of languages.

I’m excited! If you’re interested in the miniconf, check out our schedule and all of our abstracts at the conference wiki. See you in Perth!

December 13, 2013 09:32 AM

November 25, 2013


Where to, this time?

… Once again, I’ve completely failed to document my travels this year. I need to do better. Here’s my first attempt.

I’m off to Bangalore, India tomorrow to join in with DroidCon India 2013! I’m presenting two talks, and being a panelist on a panel:

I’ll post back here with slides and videos as they become available.

I’ll be in Bangalore until late on Saturday, then coming home via Singapore for a few days. Should be fun!

November 25, 2013 11:42 AM


This Is How We Work

A few weeks back I posted ‘I’m Jack Scott, IT Consultant, And This Is How I Work‘, pretending I was famous and answering LifeHacker’s standard interview questions for famous tech entrepreneurs. In the post I suggested that I’d like to see Chris answer the same questions.

And so Chris did.

He asked Jethro Carr to answer the questions.

And so Jethro did.

Jethro asked Hamzah Khan to answer them. The peer pressure built.

And so Hamzah did.

Hamzah asked Jamie Bailey. So far Jamie hasn’t blogged, but given personal circumstances at the moment it is quite understandable.

This has been quite an interesting exercise. Mostly about peer pressure – nobody seems to want to break the chain. It is also worth noting that there are a heap of people who should be answering these questions who don’t have blogs (Michael Wheeler, I’m looking at you). I truly believe more people should blog (and that I should blog more often). The act of putting finger to keyboard for more than 140 characters actually makes you start thinking about things a bit more (I only realised my prowess with search engines halfway through writing the blog post).

If anybody else feels like answering the questions, let me know and I’ll update this post with links.

Update: Jamie has now answered and tagged Michael Wheeler.

November 25, 2013 11:10 AM

November 17, 2013


I’m Christopher Neugebauer: Android Developer, Python Community Guy, Generally Etc; And This Is How I Work

Lifehacker regularly features a segment where they interview famous people and ask them how they work. Rather than waiting for the e-mail that would never come, my friend Jack Scott decided to answer this set of questions on his own last week, and tapped me to answer them after him. So here’s my answers.

Location: Hobart, Australia
Current gig: By who pays me: Software Developer at Asdeq Labs. By what I love to do: Open Source Community person; general developer conference raconteur.
Current mobile device: Nexus 5 & Nexus 7.
Current computer: The one I directly use? That’d be a 2013-era MacBook Air; 13″ screen, with all of the extra trimmings.

One word that best describes how you work:


(But, if I’m actually passionate about something, that word might well be “obsessively”.)

What apps/software/tools can’t you live without?

Python. It’s what I go to every day when I need to quickly bash out some proof-of-concept code or make some calculations. Even if I don’t use Python in my day job, Python prototypes will often form the genesis of production code I write in another language. Surprisingly often.

Also: Keynote. Or at least version 5 of it, I haven’t tried Version 6 yet. It makes making presentations easy, and I seem to be doing a fair bit of that at the moment. It’s probably the one piece of software that keeps me tied to Mac OS X.

What’s your workplace like?

At work, I have a pretty generic veneered flat-pack style desk, with a 24″ monitor, and a laptop stand so I can put my laptop’s screen parallel with my larger monitor. I also have a Microsoft split keyboard, which I still can’t use properly. If I were planning my own office, I’d probably have an Aeron chair. But I’m not (at the moment, anyway), so I won’t :D

At home, I’ll sit wherever feels most comfortable to do whatever it is I need to do. Often that seems to be bed, just because I’m writing stuff, and it seems like a good place to do it.

What’s your best time-saving trick/life hack?

If you’re travelling for more than 4 hours, learn to sleep on planes, and fly at night. Waking up in another city is cool, and having a whole extra day to do things on a trip is like generating extra time for free. It’s a productive use of sleep time!

What’s your favourite to-do list manager?

Honestly, I tend not to use them. I’m generally across most of what I have to do in a day. If I have deadlines, I’ll shove them in a calendar. Otherwise, meh.

Besides your phone and computer, what gadget can’t you live without?

A coffee maker. I like coffee of high quality. I have a rather nice espresso machine, which is the high-end model of a low-end brand; when I’m travelling, I carry an AeroPress and Hario Slim grinder, with a supply of high-quality beans. It saves me money, and I don’t complain about the coffee being awful when I’m somewhere I’m unfamiliar with!

What everyday thing are you better at than anyone else? What’s your secret?

It seems to be remembering things. No secret, I just do it. Brains are weird like that.

On a completely different note, I have absolutely no natural pre-conception of how good other people are at things I know how to do. I’ve found that getting good at presenting technical material is great for figuring out what people need to know to know something (ask me about this sometime).

What do you listen to while you work?

If I’m in at the office, not very much. I hate music getting interrupted, so I’ll take my headphones off the moment I sit down.

If I’m at home, and I’m listening to music, pretty much anything in my library. Right now it’s jumping between Rumours by Fleetwood Mac, and Dear Miss Lonelyhearts by Cold War Kids. But that could change any moment.

What are you currently reading?

Python documentation. AppleScript documentation. Mostly so I can figure out how to implement features in my side project (Keynote-as-a-service). More generally it’s things on Wikipedia. I like to know things. Then I can remember them.

Are you more of an introvert or extrovert?


Though, introverts tend to think I’m extroverted. Probably because I can talk to a crowd if I need to. Needless to say, that’s a completely different skill to actually talking to people one-on-one, which I still have no idea how to do.

What’s your sleep routine like?

Pretty regular. I go to sleep sometime between 22:00 and 23:30, and wake up, just before my alarm does, before 7:00. I wake up with disturbing regularity.

Fill in the blank. I’d love to see _____ answer these same questions.

Jethro Carr :)

What’s the best advice you’ve ever received?

Life’s too short for bad coffee.

If you don’t like coffee, substitute this for something else you actually like.

Basically, if you’re going out of your way to find something mediocre, or not as good as you can find in the general area, you’re wasting your time. Don’t do it. Be exceptional, and expose yourself to people who are great at what they do. You’ll almost always find some way to apply it to whatever you do.

And yes. Speaking with people who know how to make coffee properly has helped me be a better programmer :P

Is there anything else you want to add for readers?

Not particularly. I prefer responding to stimulus than coming up with ideas out of thin air.

Errm, so if you want to get an idea from me in the future, ask me something direct, and don’t ask for open-ended ideas.

November 17, 2013 09:44 AM

November 15, 2013


Introducing ‘Keynote-as-a-Service’

I love Apple’s presentation tool, Keynote. In fact, if I had to nominate a single piece of software that was keeping me using Mac OS X, Keynote would be it. I haven’t yet found another tool that lets me throw together great-looking slides as quickly as keynote does.

On the other hand, I also really like using Android. And this is a problem, because Apple’s Keynote Remote app only works on iOS. Keynote Remote is an app that allows you to remote control Keynote from your phone. It also sends down a screen preview, presenter notes, and it also allows you to peek ahead to your next slide. Basically, it’s a killer app for people who want to step out from behind the lectern, and still have their notes and be aware of where they’re up to in their presentation.

And it only runs on iOS.

So this is where I introduce my new project: KAAS, or “Keynote-as-a-Service” is a Python-based HTTP server that lives on the same laptop as you’re presenting from, and exposes a JSON API for doing everything that Keynote Remote does, and potentially more. It’s Apache 2.0-licensed, and it already has a reasonable amount of documentation (though it could use a whole lot more).

I’ve thrown together a basic HTML front-end, with a really bad UI, just so you can see it in action.

In parallel, I’m developing an Android-based keynote remote, called Keymote. Once I release the app, I’ll be selling it for a nominal fee through the Play Store. It’s currently in Alpha testing, but if you want to try it out, let me know, and I’ll grant you access.

So how does KAAS work?

Keynote 5.x (iWork 2009) offers a reasonably comprehensive AppleScript interface* to creating and controlling slideshows with Keynote. It also has a remarkable HTML & JSON export format that, with some basic understanding of the JSON format, allows you to reconstruct how the slideshow will look at each stage of build.

Even better, it tells you when builds will be skipped, or when they’ll be auto-played. In concert, you can use this to determine where Keynote will be after you advance the slideshow, and you can build up build previews (lol) based on the commands in the JSON.

What’s best is that exporting such a HTML & JSON package is exposed through the AppleScript bridge, so it’s easy to do automagically.

In combination, you can use these to replicate the back-end functionality of Keynote remote.

So, if you’re interested in testing out Keymote, or if you want to contribute to KAAS, let me know. I’d be grateful for help and happy testers in any form.

(*Yup, this doesn’t work with Keynote 6.0. It’s apparently a substantial re-write, and Apple have removed the AppleScript interface to the new version. According to this support note, AppleScript support will come back. Hopefully there’ll be something resembling the Export format too.)

November 15, 2013 11:06 PM

November 07, 2013


I’m Jack Scott, IT Consultant, And This Is How I Work

Lifehacker regularly features a segment where they interview famous people and ask them how they work (such as this). Since I’ll never be famous enough to be asked by Lifehacker directly (though you never know, they might get are desperate for content one day). So here are my answers. Hope you enjoy.

Location: Hobart, AU
Current gig: Software Engineer at Workzerk
Current mobile device: Samsung Galaxy SIII Mini. I hate it so much and would love to get rid of my mobile phone and never get another one.
Current computer: Cool people don’t have brand names on their computer. They also have more than one computer.
One word that best describes how you work: Hungrily.

What apps/software/tools can’t you live without?

I can’t live without Outlook. I use it to manage my entire life, business and personal. I know Google Apps cover a lot of the same use scenarios, but Outlook is so much friendlier and more efficient – it really has been a killer app for the last fifteen years and will continue to be for as long as people want to actually get work done on computers instead of watching YouTube videos of kittens. Because the world really needs more work and less youtubeing kittens. As much as we all love them.

I happily pay for my own Active Directory installation and Exchange server. For one person. It just benefits me that much. Plus it sounds cool.

What’s your workplace like?

My completed home desk, with racks, as I'm putting everything back on it.

My completed home desk, with racks, as I’m putting everything back on it.

I have two. The first one, “at work”, is grey and white and very clean. I have two monitors and an Aeron chair. I recently bought two pot plants.

The second one, my home office, is a lot more fun. I have a desk I built myself (with a lot of help from my great Dad) which has 6RU of 19″ rack space built in (every desk should have this). The rack forms a monitor stand for three mismatched monitors (one for chat and social media and Outlook, one for Firefox, and one for everything else (which includes everything from Visual Studio to OpenTTD).

What’s your best time-saving trick/life hack?

Only watch television that’s been recommended to you by more than five people. If you do watch something, download it to your computer, use VLC to play it, and have the speed set to 1.2x. The speech is still understandable and doesn’t sound at all chipmunky (if it does occasionally I set the speed to 1.1x) and I save minutes an episode.

What’s your favourite to-do list manager?

For general to-do lists, Asana. It’s awesome. It manages to-do lists with gusto.

For software development I’d pick JIRA or Redmine because of their integration with source control systems.

Besides your phone and computer, what gadget can’t you live without?

My collection of vegetable peelers. I joked to my Mum once that I didn’t have a good vegetable peeler and ever since I’ve been receiving them as gifts. This might sound like a curse, but it’s really not. It’s awesome. You know how everybody always recommends you peel and cut away from you to avoid injury, but nobody ever does it? You just need sharper instruments, then you can. All but one of my peelers can cut through pumpkins. Most people’s knives can’t do that. If I’m just cutting up vegetables for dinner, I don’t use a knife sometimes, just for a challenge. I just use a peeler.

What everyday thing are you better at than anyone else? What’s your secret?

I’ve been thinking of answering these questions for a long time. Up until recently my answer would have been shelling boiled eggs. I didn’t know my secret, I was just better at it than anybody else I know. Recently though it dawned on me that there is one every day thing I am very good at that most people aren’t: I know how to know anything.

You see, most people never learned how to use Google. For a skill that is possibly the most important business skill of the early 21st century, we have spent very little time teaching it to people. Even when I was in school nobody taught me (since, I guess, the teachers didn’t know how). So I taught myself. + to combine words, – to leave them out. “quotation marks” will search for something literally. And so on! But nobody knows this. So I have an edge.

A lot of people assume I know everything there is to know about a computer. That’s not true. I actually know very little. I can just find out the answer to a computer related problem quicker than anybody else.

What do you listen to while you work?

1970’s rock music, Triple J hottest 100s from 2003-2010, and classical music for the organ.

What are you currently reading?

Right now I’m reading this blog post, looking for the spelling and grammatical errors which will undoubtedly sneak in. Normally though, if I’m reading, it’s Wikipedia. I love reading Wikipedia because it can take you anywhere. Though for some reason, leave me long enough and I will always end up reading about the sinking of the Titanic in 1912.

Are you more of an introvert or extrovert?


What’s your sleep routine like?

I go to bed around 10 to 10:30 and talk to my partner (she’s awesome!) for an hour before sleep. I wake up (I hate that bit) around 8.

Fill in the blank. I’d love to see _____ answer these same questions.

Chris Neugebauer.

What’s the best advice you’ve ever received?

Not advice as such, but it can be taken that way: “I have never let my schooling interfere with my education.” It’s a quote from either Mark Twain or Grant Allen, depending who you believe.

Is there anything else you want to add for readers?

apt-get has been deprecated by aptitude. Please use the latter in tutorials and IRC jokes from now on.

November 07, 2013 10:16 AM

November 06, 2013


Trains in Tasmania

Recently my parents converted an old VHS tape of train videos to DVD. The video tape was an old tape from my parent’s neighbour who spent quite a lot of time making videos of trains. Since the Internet never loses anything, I thought I’d take advantage of the NSA’s backup capabilities to make sure this three-hour gem isn’t lost forever.

The majority of the tape features M and H class steam locomotives, as well as X and Y class diesel-electric locomotives.

As well as uploading to Youtube, I’ve also created a far bigger than necessary torrent of it: here. If there are ever no seeders, poke me via email or IM and I’ll make sure to start seeding it again.

November 06, 2013 01:21 AM

October 27, 2013


Android: The Land that Python Forgot?

(Wooo, catch-up blog time!)

I was one of the invited presenters at the second PyCon Canada in Toronto.

My talk, “Android: The Land that Python Forgot?” looked at the state of Python development on the Android platform, and how we can improve things.

The recording of the talk is available on YouTube and annotated slides are available at SpeakerDeck.

As for PyCon Canada itself? Well the conference itself was fantastic — a friendly, enthusiastic organising team, really good talks, and a beautiful host city. I’m really looking forward to returning to Canada next year when the US PyCon moves to Montréal in April.

A Toronto Sunset down Queen Street, very close to the conference venue.

October 27, 2013 08:11 AM

August 01, 2013


Going from Windows to Linux

A typical Linux Mint desktop (from ExtremeTech)

A typical Linux Mint desktop (from ExtremeTech)

I’ve recently installed Linux Mint on my laptop, replacing a horribly broken install of Windows 8.1 Preview. There have been good and bad things:

The good:

The bad:

Overall, I’m very impressed with Linux Mint. If you haven’t tried a GNU/Linux distribution in a while, give it a go. I think you’ll be pleasantly surprised.

August 01, 2013 11:26 AM

July 07, 2013


Reflections on PyConAU 2013


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:


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!

July 07, 2013 10:41 AM

April 30, 2013

chrisjrn's site

PyCon Australia 2013 April update

I send this report off to Linux Australia detailing our activities for the past few months. I’m posting it here for posterity, because we had a pretty good couple of months:

For those of you reading along at home, registrations are still open, and we really want you to come along. This is going to be the biggest PyCon Australia yet, and is going to feature one of the strongest programmes of any regional PyCon anywhere — all the details are up at http://2013.pycon-au.org/register/prices

April 30, 2013 11:38 AM

April 28, 2013


A friendly PyCon Australia 2013 Early Birds reminder

We’re down to just over 20 early bird registrations left of our original quota of 80. That means that we’ll probably run out of Early Bird tickets before our deadline of Friday.

The big announcement to every mailing list I can think of will happen tomorrow, so today’s a great chance to to get in before the tickets suddenly disappear.

Early Bird Registrations start at $165 for individuals, with discount registration available for students at $44. All the details are at the PyCon Australia 2013 web site.

April 28, 2013 04:58 AM

April 12, 2013


Another Long Winding Cisco Road

So, lately I’ve been investigating buying new routing and networking equipment for home, as the NBN (Australia’s FTTH roll-out) is coming closer and my old ADSL2+ modem/router (a Billion 7800NL, one of the first consumer routers capable of IPv6) was getting a bit long in the tooth; the configuration is not retained across reboots and the web interface crashes with HTTP 500 errors more often than not.

So, out with the old an in with the new. There were a few choices:

My new Cisco 1841

My new Cisco 1841

You may have noticed I didn’t go for a Cisco 1801 which has ADSL support built in. This is deliberate, as the NBN is closing in on my street and I don’t want to be left with a router that supports old technologies – all I will need for a fibre connection is an ethernet port, which the 1841 has two of out of the box. I can also add in 3G backup connections (which is more of a want than a need) as well as things like WIC-1AM or WIC-2T modules (i.e. utterly useless but kind of cool).

For wireless, I’m undecided as to what direction to go in. I definitely want something dual-band (2.4GHz and 5GHz) as my laptop supports dual band and I want to invest in technology that will last at least a couple of years. This rules out most consumer gear quite quickly. A Mikrotik solution is another option and is probably the front-runner. The second option is a UniFi AP Pro, which supports a whole host of cool features like multiple VLANs and SSIDs etc; it’s a little cheaper than a Mikrotik solution but also a lot less flexible. Finally, the most expensive option is to buy a wireless card for the 1841. There are many problems with this approach: I’ll use up an HWIC slot, the modules are incredibly expensive, it’s not even 802.11n, likely to be a complete pain in the neck to configure, and not dual-band. The only benefit is that it keeps everything in one box.

I’ve only received the router in the last week or so, and the eBay auctions for WIC modules haven’t yet finished. There’s a long way to go yet. So wish me luck on my path to routing enlightenment!

April 12, 2013 12:09 PM

April 11, 2013


On Abortion

There’s been a lot of debate recently on the subject of abortion, both within the general Tasmanian community and within my circle of twitter friends (Anna and Michael especially). The following are my almost incomprehensible thoughts on the subject. This post is in response to this and this, and also to the vastness of the entire Internet.

Before paying me too much attention, know this: I’ve never been involved in abortion first hand, so I really have no idea what I’m talking about. This is important.

I think that the only thing most sensible people can decide on in regards to the abortion debate is that the subject is enormously complex. Unfortunately, everybody seems to have a different reaction to this fact. Some people decide to simply say that a blanket decision can apply (such as the pro-life movement takes, where abortion is always wrong, no matter the context). I, on the other hand, believe that because this subject is so complex, there are so many ifs and buts, so many different combinations of life story, there will almost certainly be a situation where abortion is the correct choice. It’s unfortunate, but it is true. Sometimes abortion is just the right thing to do (at least, that is my opinion).

I think because of this fact, it makes no sense to have a legal framework in which abortion is illegal, because if a certain set of circumstances requires it, then nobody should have to go through the pain of abortion and the pain of breaking the law at the same time – women (and men, but it is the woman getting the abortion after all) should be given all the support they need.

It makes no sense to deny this based simply on the fact that abortion does not sit comfortably in some people’s world view (specifically, their religion). I’m not a fan of abortion, but it is one of those things that we just have to accept. Firstly, people will get abortions anyway. Fact of life. Secondly, there will be pain caused to people. Because they have to go through illegal trauma. Because of your world view. Not a fact (I have no proof), but it’s not hard to imagine. Now imagine: you either cause pain and suffering to other people (which is bad, according to your own religion) or you allow abortion and other people get on with their lives – and you are in the same position as everybody else, you simply accept abortion for what it is and get on with your life.

The other thing I would like to say at this time is that I think men can certainly have a valid opinion on abortion – this blog post stands as a testament to that. However, women do have a final say here… simply because it is their body. Another fact. I’d certainly hope that if I was ever in the situation where considerations were being made, that I would be consulted. However I would always be aware that the final decision does not rest with me. Comfortable or uncomfortable as I might be with that, I have to accept it.

And here ends the rambling incomprehensibility. We now return to regularly scheduled silence.

April 11, 2013 01:12 PM

April 07, 2013


This Week In Links: 2013-04-07

April 07, 2013 04:35 AM

Thoughts on the Philippines

I spent two and a half weeks in the Philippines in March 2013 for work (upgrading the network infrastructure in our office over there). As a country, there are a lot of things both similar to and different from Australia. Here are some of my thoughts:

All in all, it’s a country I’d really like to go back to – there’s a lot more of the country that I would like to see. I wouldn’t want to live there (the pollution is terrible) but the really friendly people make it a pleasure to visit.

April 07, 2013 03:59 AM

April 05, 2013


PyCon Lightning Talk: Job Security

At the recent PyCon North America, I presented my lightning talk on coding in Python in a way that is sure to keep you employed.

This was my first time presenting in front of an audience of thousands (2500, I believe), but I’m pretty happy with how it went.

It’s embedded below, or it’s available over at YouTube.

April 05, 2013 10:48 PM

March 27, 2013


PyCon Australia 2013 registrations now open

Just a friendly reminder that PyCon Australia – running this year on July 5–7 in Hobart – has just opened Early Bird registrations. All details are on our website: http://2013.pycon-au.org/register/prices

Can’t wait to see you all register!

March 27, 2013 11:14 PM

March 25, 2013


Manila, Part 3

20130323_174852Another update on my trip to Manila. I spent Saturday morning at the birthday party for a one-year old child. It seems to be celebrated much the same as in Australia. It was held at Jolibees, which is a local version of McDonalds in their party room. First there were the usual games involving what I thought was pass the parcel – but was actually a clever ruse to “randomly” pick the foreigner out and get them up to the front of the room so they could dance for everybody…

20130324_143142There is a video, somewhere, out there on the Internet, of me dancing badly to Gangnam Style in front of a six-foot tall poster of Barbie. No, I am not giving you the link.

Saturday was very hot during the middle of the day, and the dancing wore me out a little, so I slept through most of Saturday afternoon. In the evening I went out and did some shopping (I needed more clean clothes) and had dinner. For dinner I had stir-fry broccoli and mushrooms with rice. I’ve been making more of a concerted effort over the last few days to eat more fresh food, especially vegetables. I think it is why I had been feeling so terrible late last week – bad nutrition and bad sleep do not go well together.

20130324_142029On Sunday I went to the Manila Ocean Park, a combination aquarium and theme park. I had a great time, mostly because tourist attractions are designed so that you don’t have to use your brain, which was exactly what I was after. I saw quite a few eagles and so on, as well as my first view of the ocean in a week, which was great! The other interesting thing in the aquarium was the “snow village”, which looked suspiciously like somebody had copied it right out of a book on Santa Claus! The cold felt just like Tasmania in winter, and I loved it!

At work I’ve been playing with a lot of cool stuff. I’ve been particularly impressed by the Aerohive Enterprise-class wireless network equipment I’ve been setting up. 20130324_144822The Private PSK feature is very handy – basically you can have a single SSID with multiple passwords, so you can revoke an individual’s password without having to go around and change everybody’s stored password on their machine. Such a simple idea, it’s a wonder nobody thought of it earlier. I’ve also been spending a lot of time setting up VLANs on semi-managed switches. Last time I ever recommend Netgear switches, I’ve discovered the VLAN support on them, while it works fine, is very annoying to manage due to an abysmal user interface.

March 25, 2013 01:57 PM

March 22, 2013


A Week in Manila

So… a week in Manila. I’ve been working very hard on the job I’m doing here (network infrastructure upgrades) which is both very challenging and very rewarding. I just hope I can get it all done before I go home.

My work colleagues are a really great bunch of people. In fact, in general, people here in the Philippines are just amazingly nice. Tomorrow I’m going to the birthday party of the child of one of my colleagues, who is turning one. It’ll be nice to spend some time socially with people.
My boss (from Australia) has left the country now, so the next week will be more challenging as I won’t have him for support – but at the same time my life will be a lot easier because of it (he’s very intense). I’ve spent a few evenings with him, the most memorable of which was one where we went to the barber together. We went in and I just said ‘yes’ to everything – which resulted in a shave, a haircut, manicure, pedicure, scalp treatment (not sure what the treatment was for, but whatever), foot scrub, and a facial with the cucumbers and stuff. Happy to try everything once, but I have honestly no idea why people bother with that. The shave was also a disappointment, the razor was a bit blunt and they used chemical goo instead of traditional lather, so I now have terrible razor burn.
I’ve also, naturally, been eating a lot of food. There are two things that I have found incredibly difficult to find. Tea is the first. Being a former US colony (so I am told, haven’t fact checked that) they have little tea to be found. I have been surviving on Starbucks chai lattes (about three or four a day). Today I found a shop that sells tea leaves retail, but it is the most expensive tea shop I’ve ever seen in my life. One of my work colleagues is going to get some at a suburban supermarket and bring it to work on Monday, which will be a godsend. The other thing which is surprisingly hard to find is traditional Filipino food. I have seen exactly one Filipino-style restaurant (amazing food, but the service was terrible) in the time I’ve been here, and I had to really search for it. Most restaurants serve everything but Filipino food, as they all seem to have a theme. Japanese, Korean, Italian, Persian, etc. I ate in an Italian restaurant the other day which had foods named after actors and characters from movies and TV shows. I could have had a “Joey Tribbiani Four Cheese Pizza” but decided against it and had a carbonara (sadly I can’t remember the actor it was named for) underneath a poster of Frank Sinatra. As far as the lower end of the food spectrum goes, Filipino stuff becomes easier to find at lunchtime on weekdays as carts with street food appear and open up offering all kinds of good things. The vendors don’t speak brilliant English, and as I am not fluent in Tagalog I couldn’t tell you what they were – but most of them revolved around the concept of frying dead things and putting them on sticks. I have also had a Balut, which is fertilised duck egg. While there is nothing wrong with it, it’s a bit like black pudding – if you know what it is you don’t feel like eating it. Unfortunately I’ve also eaten my share of takeaway food. There are US food chains everywhere. EVERYWHERE. There are probably seven Starbucks and three McDonalds, as well as numerous other chains, within a 100m radius of the office. When people say they are going down to Starbucks (and there is no other choice for coffee here, weirdly), they actually have to qualify which one.
Unfortunately due to the fact that I’ve been working all week I haven’t done as much as I would have liked. This weekend I’m hoping to make it to a couple of museums etc, as well as go to the Makati Ocean Park, which is a combination aquarium and theme park.

There are armed guards everywhere. If you are in a public place, and turn around 360 degrees, you will see at least two of them. They are at the entrance to every major building. They are in the parks, and there is one at each end of the underpasses under major streets. All of them are armed. Most have pistols, but some have machine pistols or machine guns (probably 1% of guards have automatic weapons). They check the bags of all the Filipino people who enter buildings, but as a westerner they give my bags only a passing look – it’s weird to be the recipient of reverse racism. I’m not a fan. The reason for the armed guards, so I’m told, is because of religious tensions between the Catholic majority and a minority of Muslims who live in the south of the country, and they are scared of terrorist attacks.

Neither my phone nor the work iPhone I was given work properly here (due to different 3G bands) so I have bought a new phone, a Samsung Galaxy S3 mini. It’s quite nice. Still getting used to a different keyboard layout though. 3G here is generally very reliable, much better than Hobart. The wifi in the hotel I’m staying at is slow as anything, but at least it works. I was expecting much worse in this regard.

On Sundays there are Catholic masses everywhere. There is a chapel in a shopping mall near where I am staying. They have mass in the foyer of a McDonalds. They have mass in an ATM vestibule in a bank. With that said, I’m yet to see an actual church, so it may simply be out of necessity – there are no other spaces.

That’s all I can think of now. See you later.

March 22, 2013 01:05 PM

March 17, 2013


First Impressions of Manila

20130317_165734First impressions of Manila: Everything is either really clean and shiny, or old and dirty. Very obvious that a lot of cash has come into the country in the last decade or so. Apart from airport taxi drivers that have no idea where they are going, everything here is very safe and comfortable.

Everything is broadly similar to Australia in that it is fairly westernised (in the city, at least) but the culture is very different. Because labour is so cheap, everybody works really hard to compete because if they don’t… no food on the table. I was surprised also at how much like Sydney it is. Smoggy, all the drivers are insane (in Hobart the least used part of a vehicle is the horn, here it is the most used), and there are 7-Elevens everywhere. Some of the poles carrying electricity and phone cables are amazing – there must be junctions of 100 cables onto one pole in some places.

20130319_124238I haven’t forgotten to pack anything really important, but I did need to go out and buy toothpaste. Very glad I won’t have to cart 40kg of computer equipment back with me though, that was insanely heavy (and I was stressing out when it took an hour to get through to the carousel). The flight over, while smooth and on-time, was the most mind-numbing experience I’ve had in a long time. If I can afford it, seriously considering upgrading to business on the way back – just for something different.

The heat here is very different to Hobart (duh?), it’s only 8:30 in the morning and already at least thirty degrees. Not sure what I’m going to get up to today – probably just walk around a lot and see what’s what (I’ve never been one for tourist things, and my boss says there aren’t really many anyway).

March 17, 2013 01:27 PM

December 22, 2012


My linux.conf.au 2013 Plans

linux.conf.au (my favourite tech conference, and one of the best in Australia/NZ) is on again next year, in Canberra from the 28th of January to the 2nd of February. I’m excited! I love being so immersed in enthusiastic talks on every sphere of open-source technology, from the deepest bowels of the Linux kernel to the talks on legal and social issues. The week is also a great opportunity to catch up with some of my Internet friends, most of whom I don’t see between LCA events.

I’ll be travelling to Canberra on Sunday the 27th of January, on Virgin Australia flights DJ1533 (HBA -> SYD) and DJ654 (SYD -> CBR). One more airport than strictly necessary, but I like that – I’m a fan of airports, aeroplanes, and public transportation in general. During the week I’ll be staying in the John XXIII student accomodation; mainly because it’s closer to the breakfast venue than the other location. I’ll be travelling back to Hobart on Sunday the 4th on DJ1205 (a direct flight, because I suspect I’ll be quite tired by then – LCA has a habit of finding energy and destroying it in a haze of excited geeky exhaustion).

You may have noticed this leaves Saturday the 3rd with no plans at all. I’ve never been to Canberra before, so I thought I would stay around on the Saturday and Sunday to explore Canberra a bit. I might go to the War Memorial, Old Parliament House, the National Museum, and maybe the Black Mountain Tower (logistics depending, I won’t have a car). It should be a fun trip!

December 22, 2012 10:43 PM

December 16, 2012


Xero Accounting

In July this year I embarked on a business venture with a few friends (something I’ll talk about more in a later blog post). All businesses need good accounting software – it’s how you know if you’re actually making money (and how you keep the tax office happy). I’ve used Quicken/QuickBooks and MYOB (both the desktop Accounting and FirstAccounts, as well as the online LiveAccounts) and they all leave a few things to be desired. The desktop versions of MYOB, and the versions of Quicken software that I’ve tried all have a very 1995 feel to them… and no surprise too, I don’t think the software has had a major overhaul since then. LiveAccounts worked ok for me, but it just wasn’t polished enough.

Enter Xero, a New Zealand-based company that specialises in online accounting software. I have to say, I’m impressed. We’ve been using their business product since July, and it’s great. The interface is really easy to use, I had no trouble with it at all and I’m certainly not experienced in business accounting. It hides all the details you usually don’t want, but makes them available when you do (as opposed to MYOB, which just throws every single detail ever at you and expects you to cope). The bank feeds are super reliable, updating with the latest data every night and presenting it ready to reconcile (and if a transaction doesn’t already exist, creating it is trivial). To top it all off, the Android app is incredibly polished, with a lot of thought (an example: logging in with email and password takes forever on a phone keyboard, but you don’t want to be logged in all the time, so it prompts you to create and use a 4-digit PIN).

Recently they announced automatic bank feed support for their personal product, which I had tried previously but given up on because it takes too much effort to manually transfer the data over. I’ve been using it for a couple of weeks, and while I’m impressed with the product generally, there are a few things that I find disappointing:

Basically, I’d love Xero Personal to be like a browser version of Quicken Personal Plus, but I think that may be a dream too far.

December 16, 2012 04:55 AM

October 03, 2012


PyCon Australia 2013 needs sponsors

tl;dr: Grab our 2013 Sponsorship Prospectus, and direct sponsorship queries to sponsorship@pycon-au.org.

It’s less than two months since the generally excellent time we had at PyCon Australia 2012, but we’re already on the lookout for new sponsors to join us for our 2013 conference, which will also be held in Hobart.

As a community-driven conference, the generosity of our sponsors is what makes it possible for our conference to be as successful as it is.

To give you all an idea of how important sponsorship is for us, I thought it might be a good idea to explain what we put our sponsorship money towards.

Keeps our registration costs low

While Python is growing as a language used in industry and government work, the roots of the Python community are in science, research and the Open Source community. There are plenty of people who are active in the Python community and benefit from events like PyCon Australia.

For our two-day conference this year, we were able to charge less than $200 for enthusiast delegates, and less than $50 for Student Delegates.

In raw budgetary terms, our Enthusiast rate covers the extra costs involved with them attending the conference (the extra catering, a t-shirt, a dinner ticket). The Student rate actually loses us money.

Having a wide array of sponsors means that we don’t need to pass fixed costs such as venue hire, A/V equipment, and video recording onto our registration costs. This means that we can put registration for PyCon Australia into reach for more people who want it.

Chances are that students who benefited from our low costs will be back contributing to the Python community, and to our conference in years to come. It’s this sort of community building that PyCons are all about.

Attract international speakers

In the grand scheme of things, Australia’s pretty isolated. If you want to get here from Europe, you need to spend the best part of a day to fly here, and it’s not much better if you’re from the US.

A big role of holding a PyCon in Australia is to help connect the Australian Python community with the best Python developers around the world. Having extra budget to offset the travel costs for international speakers is one of the biggest benefits we derive from sponsorship.

Run more events

Having an excellent schedule of presentations and tutorials is a huge part of our conference, but having the opportunity to meet other delegates, and to chat with them in a less structured atmosphere is also really important.

In 2011, we introduced two days of sprints to the end of the conference, and in 2012, we folded the CodeWars programming tournament into the organisation of the conference itself. We’ve done our best to keep these events free of charge for all comers, and we couldn’t do that without our sponsors.

Help bring people to the conference

In past years, with our diversity programme partner, Google, we’ve run a grants scheme to help bring more women to PyCon Australia. In 2012, we helped to bring 5 enthusiastic women along to PyCon Australia, and by all accounts, it was an invaluable experience for them.

Next year, we want to make this programme even more wide-reaching. We know that there are many people, especially students, or people living further afield who can’t afford the trip down to Hobart. We want to put the conference firmly into their reach.

So you want to help out?

Great! I’d love to hear from you. Our 2013 Sponsorship Prospectus is online now, and any queries can be directed to me at sponsorship@pycon-au.org.

October 03, 2012 01:14 AM

September 16, 2012


Announcing the LCA2013 Open Programming Miniconf!

TL;DR — submit a proposal at http://tinyurl.com/opm2013-cfp before the first round closes on Monday 29 October 2012.


I’m pleased to announce that The Open Programming Miniconf — a fixture for application developers attending Linux.conf.au since 2010 — is returning as part of Linux.conf.au 2013, to be held in January at the Australian National University in Canberra. The Miniconf is an opportunity for presenters of all experience levels to share their experiences in in application development using free and open source development tools.

The 2013 Open Programming Miniconf invites proposals for 25-minute presentations on topics relating to the development of excellent Free and Open Source Software applications. In particular, the Miniconf invites presentations that focus on sharing techniques, best practices and values which are applicable to developers of all Open Source programming languages.

In the past, topics have included:

If you want an idea of what sort of presentations we have included in the past, take a look at our past programmes:

To submit a proposal, visit http://tinyurl.com/opm2013-cfp and fill out the form as required. The CFP will remain open indefinitely, but the first round of acceptances will not be sent until Monday 29 October 2012.

OPM2013 is part of Linux.conf.au 2013, being held at the Australian National University, Canberra in January 2013. Further enquiries can be directed to Christopher Neugebauer via e-mail ( chris@neugebauer.id.au ) or via twitter ( @chrisjrn ).

September 16, 2012 11:52 PM

August 31, 2012


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.

August 31, 2012 01:47 AM

August 30, 2012


On the Tasmanian Same-Sex Marriage Bill 2012

We interrupt your regularly-scheduled Python community discussion for something completely different.

The Same-Sex Marriage Bill 2012 passed the lower house of the Tasmanian Parliament today. As a passionate supporter of marriage equality, it would be wrong to not let this moment go unnoticed.

I read the bill in full this week (you can find the text of it from the Tasmanian Parliament web site), and was quite disappointed by it. Basically, the bill defines an institution called a “Same-Sex Marriage” under Tasmanian Law. “Same-Sex Marriages” are defined as follows:

“the lawful union of two people of the same sex, to the exclusion of all others, voluntarily entered into for life”

That is to say, it defines a union, available exclusively to same-sex couples. There are many provisions of the bill that I personally hold grave concerns about, and I feel that celebrating the passage of this law as a victory is counterproductive to those fighting for marriage equality at a Federal Level.

My friend, Michael Cordover, who’s more deeply versed in the law than I am, posted the following to his Facebook feed this evening, and I asked him to reproduce it on this blog so that it might reach a greater audience.

I don’t necessarily agree with everything he’s written (I’m not going to be drawn on the constitutionality of the bill), but his words have encapsulated most of my thoughts, but with the added gravitas of someone who actually knows what he’s talking about.

I am a deeply passionate supporter of marraige equality. I think there is no rationally based oposition to permitting same-sex marriage which is not homophobic. But I do not support what the lower house of Tasmanian Parliament has done today. Here’s why.

Because I support equality

The Tasmanian bill, by necessity, produces “same sex marriages” which are a different institution to that which we know as marriage in Australia. The entire basis of the argument as to its validity under the constitution (and we’ll get to that in a second) is that it covers something different to the Commonwealth Marriage Act. I want homosexual marriages to be recognised. These are civil unions with a misleading name. It is a separate and lesser institution. It’s not even the separate-but-equal, which I maintain is not equal at all.

Because it’s unconstitutional

The argument goes that because the Commonwealth Marriage Act defines marriage to mean only that which is between a man anad a woman, it is not intended to exclude marriages between same sex couples. As marriage is a concurrent power under s 51 of the Constitution, that means states can legislate for same-sex marraige. This relies on a claim that the Marriage Act was not intended, at the time of the 2004 amendment, to “cover the field” which includes same-sex marriage. I have been wrong before about High Court decisions but I think any argument that this bill is not invalid by virtue of s 109 of the Constitution is academic at best. I don’t think a High Court decision to that effect would be good law, I don’t think it would be based on a proper examination of the issues, and I certainly don’t think its likely given both the way in which the Court has interpreted s 109 in the past and the way the current Court has been dealing with questions of the division of powers.

Because it promotes complacency

The message that is coming out is that this is the end. That Tasmania has finally done what the Commonwealth refuses to do so we’re first and we’ve done the right thing. We haven’t. If one person says – and I guarantee [one] will – that we don’t need a change to the Commonwealth Marriage Act because of the passage of a Tasmanian Act, that is a harm. Does anyone think instead that people will start lobbying for change to the Commonwealth law as a result? Perhaps. Perhaps it’ll be a “well it didn’t destroy the world” argument. I mean, just because we already have that argument for Argentina, Belgium, Canada, Denmark, Iceland, Netherlands, Norway, Portugal, South Africa, Spain, Sweden and the United States, doesn’t mean it won’t be strengthened by adding Tasmania.

Because it’s misleading

This I think is the worst thing. If this passes the upper house, people will get married and they will expect it to stick. They will be devastated when their marriage isn’t recognised by Commonwealth law. They will be devastated when their marriage isn’t recognised in Victoria. They will be devastated when they find all the red tape they’ve gone through is ignored by everyone outside this tiny little island. And they will be most devastated when the High Court finds that the law is unconstitutional. These people will be hurt because the Tasmanian Parliament is making a promise on which it can’t deliver.

A few final thoughts

That the Commonwealth Marriage Act discriminates against same-sex couples is simply unjustifiable. That moves to amend that Act have failed is disheartening. This is my number one issue. I believe it’s a heinous form of discrimination that is easy to fix. I believe the purported political gains are meaningless. I try to convince everyone I meet of my position and because of this issue – like few, if any other issues – I will stop talking to people. I have left friendships for their failure to support same-sex marriage; I have argued for hours on the topic; I’ve pursued lines that I know I can never win; and I’ve cried when people remain unconvinced. Believe me when I say I want marriage equality. But that’s not what this is. This is a sham. This is the Tasmanian Parliament making a statement it’s made before, but now with a promise it can’t keep. So I don’t support it, and I’m not ashamed to say so.

Michael’s words are available under a Creative Commons Attribution 3.0 Australia licence.

August 30, 2012 10:28 AM

August 28, 2012


Why I Have A Home Server

Home Server

My current HP Microserver and ADSL gateway.

It’s pretty much impossible to use a computer these days without also using the Internet. It’s also pretty much impossible to use the Internet without using a cloud service of some kind. Most people I know depend on cloud services entirely, but not me. There are several good reasons I have my own servers, including my own home server.

It’s a learning experience. This is certainly one for the geeks, but hey, I’m a geek. By running my own servers  I learn about the building blocks of the Internet. I’m a professional systems administrator, and my own home environment is a good place for me to try out things that I don’t get to try at work, or don’t have time to. Part of IT is constantly learning, and that’s what I try to do.

I can run whatever software I want. I’m not limited by whatever Google decides to put into Gmail. I can run my own Exchange server if I want (I do). It may not be free software, but it gives me huge advantages in syncing between devices. If I want to try something out, I just can.

My own privacy is assured. I don’t have to trust my email provider that they aren’t reading my emails or looking through my online backups. I only have to trust myself with my data, and if you can’t trust yourself, who can you trust? I don’t have anything to hide, but I think we should value privacy far more than most people currently do. After listening to Jacob Appelbaum at linux.conf.au in January 2012, I’m assured of this.

I run backups to my own server, and for geographic protection send self-encrypted files to the cloud. I use GPG to encrypt my data, and so should you. I know DropBox and other like services say they encrypt your data so they can’t read it, but how would you ever know?

I will admit that running a home server can be more expensive than trusting the cloud with all my data, as I have to pay for hardware (I spend about $500 a year just on server hardware, but you could spend much less), for power, for a static IP address, and for software licensing (I spend $450 a year here, but with free software I could spend much less).

All in all, running my own home server gives me great satisfaction, confidence in my own abilities, more freedom and more privacy, at the expense of some time (though now it’s up and running, I probably do 10 minutes of maintenance a month) and a bit of cash. Not a bad deal.

August 28, 2012 11:00 AM

August 24, 2012


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!

August 24, 2012 07:15 AM

August 17, 2012


On Julian Assange & Political Asylum

Within the last 24 hours, Wikileaks founder Julian Assange has been granted political asylum by Ecuador. Earlier this week, the Ecuadorian embassy in London reported that British police had threatened to storm the embassy in order to bring Julian Assange to justice. ABC News report here. Here are my thoughts on the matter:

Whoever it was that thought up the idea to storm an embassy must be completely bonkers… a single prisoner isn’t worth an act of war. To quote M in the James Bond movie Casino Royale: “You stormed into an Embassy. You violated the only absolutely inviolate rule of international relations…” I never understood why that was so until I discovered that an embassy is actually the territory of the country in question, so British police would be storming into Ecuador, pretty much. Not a good look.

It’s interesting that out of all the embassies in London that Julian Assange could have taken refuge in, he chose Ecuador. I suspect this was because Ecuador is one of the few countries that isn’t in bed with the United States… unlike Australia. Julian Assange is a citizen of Australia, and the Australian government should have offered Assange a far greater degree of assistance than they have. In essence, Assange seeking political asylum in Ecuador is basically saying that putting himself in Australia’s hands would have put him in personal danger. That’s not a thought I feel comfortable with, as the freedom from political persecution is a right I believe everybody should have.

I suspect the reason Australia haven’t given Assange more support is Geo-political in nature. Australia cannot defend itself in the case of invasion from either Indonesia or China (who I have little doubt would love to invade Australia for the sheer landmass that would afford them). We need the United States to offer us defense support, which is why they have air force bases in the Northern Territory (much as we don’t like them, they are a necessity for national security). If we support Assange against the United States, we’re basically giving a big F-you to the United States, which they won’t like very much… and on it goes.

Of course, this presupposes that Sweden has ulterior motives in it’s prosecution against Assange (that it wants to prosecute him simply to send him to the United States for further question), which is debatable. Very, very likely is that the CIA and FBI would like to question Assange, probably in a dark room somewhere.I remember reading about debate amongst academics in the US as to whether Assange had actually committed a crime (the gist is basically that he didn’t actually leak anything, just publish those leaks; not sure how legitimate those claims are) and thus whether a civilian (I guess US Supreme) court would convict would be marginal.

Basically, nobody could ever predict the outcome of what all this will be… but the way things have played out so far makes perfect sense. With that said, I believe Australia should offer Assange more support, starting now. The more teeth Australia shows in this matter, the more we can stand up and say we believe in human rights.

And then we can do something about the non-illegal “illegal asylum seekers”… but’s that for another day.

August 17, 2012 10:52 AM

My new Mikrotik Love

Recently I’ve begun playing around with Mikrotik routers as part of my normal day job, and I’m really impressed by them! I’ve now used two different models:

I’m really loving both the web interface and the Windows GUI interface, but the fact you still retain the command-line interface as well (like a Cisco device) is pretty cool. The fact that it uses the same operating system across all devices is also great, as it means a nice upgrade path exists if we want it.

As far as I can see, Mikrotik routers are basically Cisco gear without the indestructible casing (though don’t get me wrong, Mikrotik stuff is still pretty well built) and a price tag that’s a fifth of what an equivalent Cisco router would cost (usually even less!).

I’m seriously considering buying a Routerboard for home; the only thing they lack as far as I can see is an ADSL2+ port. I reckon I’ll just use a simple TP-Link modem in bridge mode until my home gets provided with a fibre-to-the-premises link (hopefully) later this year. I’m not yet sure what model I’ll buy. My heart really wants a rackmount device, because rackmount is codeword for cool, but my brain says something from the RB751 series or the RB433 series would do the trick.

August 17, 2012 03:13 AM