Time for me to fill you all in on some work I’ve been doing in preparation for linux.conf.au 2017. I’ve been looking into how we can better run the conference website, and reduce the workload of our volunteers into the leadup to the conference.
linux.conf.au has, for the last 10 conferences, used a home-grown conference management system called Zookeepr. I got administration experience in Zookeepr after being involved in running PyCon Australia for a couple of years, and continued to help manage registrations for the years following. While Zookeepr is a venerable piece of software, my 4 years of experience with it has helped me become familiar with a bunch of its shortcomings. Most of these shortcomings are in the area of registration handling.
A problem with conference management software is that the people who come to develop on it are often highly transient — they’re conference organisers. They show up, they make their modifications, and then they get as far away from developing it as possible. Zookeepr’s been affected by this, and it’s meant that difficulties with workarounds are usually overlooked when fixing things.
So I decided to look elsewhere.
Back in 2012, the Python Software Foundation funded a conference management suite called Symposion.
Symposion solves a bunch of problems that Zookeepr solves, and more importantly, it doesn’t suffer from the lack of continuous contributions that Zookeepr has: It’s an actively-maintained app, built on Django, and it has a community of developers supporting it in the form of the Pinax project. In the Python world, it’s used for a very large number of conferences, from PyCon US (a big conference, getting some 1000 talk submissions yearly), down to local regional conferences like PyOhio. It’s well known, and improvements to the system aren’t contingent on conference organisers maintaining interest in the system after they stop running conferences.
Unfortunately, for various reasons, Symposion doesn’t handle conference registration.
So after OSDC2015 in Hobart successfully ran their conference website with Symposion, I decided to plug the gap. In January this year, I jotted down all of the things that I thought was good about Zookeepr’s registration system, and thought about how I could go about objectively improving upon it.
I threw together a data model, and wrote a test suite, and liked what I saw. I asked the Python Software Foundation for a grant to let me do some concerted work on the project for a month or so, and they accepted.
The result is Registrasion (that’s Registration for Symposion (sorry)). I’ve just put out a 0.1 release, which I believe is suitable for running a conference if you’re happy to pull data out of the system with SQL queries, and take payments with bank transfers.
Registrasion was designed with a few key goals in mind, all of which came from observing how Zookeepr struggled around some frequent edge cases that, incidentally, come up late in the process of running a conference. Those late-occurring edge cases are invariably the ones that don’t get fixed, because volunteer conference staff all need to go and run their conference.
In particular, I focused on:
Eliminating manual work for registration managers (Zookeepr has a lot of that)
More flexibility in how we automatically offer certain items to end-users (selling flexible accommodation dates was a difficulty one conference year had)
Handling money properly, so that it’s possible to easily reconcile inventory and what’s in the invoicing system
Many of these goals solidified after talking to past conference organisers, who’d all used Zookeepr.
I’m quite proud of a few things in Registrasion. The first is that Registrasion makes it really easy for attendees to add extra things to their registration as they decide they need to. We also take care of automatically giving out freebies that attendees forgot to select during initial registration. In PyCon AU’s case, that’s a lot of manual work we can avert.
Another is a really flexible way in managing what parts of the inventory are available to our users, and at what time. We can show and hide items based on voucher codes, or based on whether they have other products selected. This averts a whole pile of manual work that a past linux.conf.au reported, and I’m glad that our year won’t have to
Finally, I’ve made sure that Registrasion has a lot of documentation. It was a key goal to make sure that new conference organisers can understand vaguely how the system fits together. Python’s tools, and Read The Docs, has made this very very easy.
There’s a pile more work to be done, but there’s also plenty of time before lca2017 opens its registration (in October, probably?). But so far, it’s been super-fun to dive back into Django development, given it’s something I haven’t played with in a few years, and to solve a problem that I’ve been dwelling on for a couple of years now.
Hopefully, in Registrasion, we’ve got a piece of software that can serve the community well, will find use outside of LCA, but will still serve LCA’s needs well for years to come.
If you’re interested, please come along and contribute! I’d love to have you on board!
Time management is one of those areas in life where there are as many different answers as there are people asking the questions. Instead of telling you exactly how to manage your time, I’ll tell you how I manage my time. With any luck, you might find some hints useful to you. Following on from my introductory post, I want to demonstrate how I manage my time.
The most important tool I use is Google Calendar, although I could substitute most cloud-based calendars without issue (I used Exchange for years). The key feature is that it synchronises to my phone. It’s also important that I only have one calendar. If I had a separate calendar for work and home, things would get lost in the cracks. I also have a very important rule – as soon as I have an appointment, it goes in my phone and into the master calendar. Not even an hour must pass before I put it in. This reduces the chances of me being double booked. I never trust my mind.
I’ve divided my work-week into periods, like high school. Unlike high school, not all “classes” are the same length, because not all work takes the same time to do. I might spend two hours programming, then take a break and spend ninety minutes doing administration work and responding to emails. I also specialise my days: Tuesdays and Fridays are for meetings. Monday, Wednesday and Thursday are for sitting down and cracking on with things. Splitting my week up like this allows me to concentrate on something for an entire day if I need to, and also reduces my need for ironed shirts.
I also have a second calendar which does not hold any of my own events (they always go on the master calendar) but instead holds events that I hear about my friends doing – it contains notes like “Matt playing RPGs” or “Dad in Melbourne”. This ensures that I never forget about important events in my friends’ lives, and comes especially in handy for remembering where my house mate is, so I don’t have to worry when he’s not home in the morning.
Finally, I’m a big fan of weekly planning. At some point on the weekend (generally on Sunday afternoon) I’ll sit down for half an hour and plan out all my activities for the week – errands that need to be run, tasks that need specific times devoted to them (a big one for me is scheduling server upgrades and restarts), that sort of thing. I also schedule time to relax: every evening sometime between 5 and 6 I take the dog for a half-hour walk. This doesn’t mean I can’t change my plans on a whim (such as getting invited out to party on short notice) – just that I have some structure to fall back on.
There’s still a lot to discuss – my routines, task management, project management, automation, and more. But that’s for another day.
When I lived with my parents years ago, I was blessed to have an oven with a stable temperature and a working fan. I didn’t realise it at the time, but moving out of home marked the start of more than five years of walking through a culinary desert. Cooking just wasn’t fun any more – and eating out was so much more adult and sophisticated!
Last August I moved into a house with an amazing kitchen, and slowly my desire to cook has come back. It’s not a desert I’m walking through any more, it’s a dessert. Here’s a selection of the things I’ve made, just in the last week:
Amazingly, despite the above evidence, I’m actually fitter and healthier than I was – I’m exercising more, and I’m eating out far less than in the past.
I don’t often make a point of blogging about the conferences I end up at, but sometimes there are exceptions to be made.
A couple of weekends ago, a happy set of coincidences meant that I was able to attend the first PyCaribbean, in Santo Domingo, capital city of the Dominican Republic. I was lucky enough to give a couple of talks there, too.
This was a superbly well-organised conference. Leonardo and Vivian were truly excellent hosts, and it showed that they were passionate about welcoming the world to their city. They made sure breakfast and lunch at the venue were well catered. We weren’t left wanting in the evenings either, thanks to organised outings to some great local bars and restaurants over each of the evenings.
Better still, the organisers were properly attentive to issues that came up: when the westerners (including me) went up to Leo asking where the coffee was at breakfast (“we don’t drink much of that here”), the situation was resolved within hours. This attitude of resolving mismatches in the expectations of locals vs visitors was truly exceptional, and regional conference organisers can learn a lot from it.
The programme was, in my opinion, better than by rights any first-run conference should be. Most of the speakers were from countries further afield than the Caribbean (though I don’t believe anyone travelled further than me), and the keynotes were all of a standard that I’d expect from much more established conferences. Given that the audience was mostly from the DR – or Central America, at a stretch – the organisers showed that they truly understood the importance of bringing the world’s Python community to their local community. This is a value that it took us at PyCon Australia several years to grok, and PyCaribbean was doing it during their first year.
A wonderful side-effect of this focus on quality is, the programme was also of a standard high enough that someone could visit from nearby parts of the US and still enjoy a programme of a standard matching some of the best US regional Python conferences.
A bit about the city and venue: Even though the DR has a reputation as a touristy island, Santo Domingo is by no means a tourist town. It’s a working city in a developing nation: the harbour laps up very close to the waterfront roads (no beaches here), the traffic patterns help make crossing the road an extreme sport (skilled jaywalking ftw), and toilet paper and soap at the venue was mostly a BYO affair (sigh). Through learning and planning ahead, most of this culture shock subsided beyond my first day at the event, but it’s very clear that PyCaribbean was no beachside junket.
In Santo Domingo, the language barrier was a lot more confronting than I’d expected, too. Whilst I lucked out on getting a cabbie at the airport who could speak a tiny bit of English, and a receptionist with fluent English at the hotel, that was about the extent of being able to communicate. Especially funny was showing up at the venue, and not being allowed in, until I realised that the problem was not being allowed to wear shorts inside government buildings (it took a while to realise that was what the pointing at my legs meant).
You need at least some Spanish to function in Santo Domingo, and whilst I wasn’t the only speaker who was caught out by this, I’m still extremely grateful for the organisers for helping bridge the language barrier when we were all out and about during the evening events. This made the conference all the more enjoyable.
Will I be back for another PyCaribbean? Absolutely. This was one of the best regional Python conferences I’ve ever been to. The organisers had a solid vision for the event, far earlier than most conferences I’ve been to; the local community was grateful, eager to learn, and were rewarded by talks of a very high standard for a regional conferences; finally, everyone who flew into Santo Domingo got what felt like a truly authentic introduction to Dominican Culture, thanks to the solid efforts of the organisers.
Should you go to the next PyCaribbean? Yes. Should your company sponsor it? Yes. It’s a truly legitimate Python conference that in a couple of years time will be amongst the best in the world.
In PyCaribbean, the Python community’s gained a wonderful conference, and the Caribbean has gained a link with the global Python community, and one that it can be truly proud of at that. If you’re anywhere near the area, PyCaribbean is worthy of serious consideration.
During the conference close, I gave our handover talk for linux.conf.au 2017, sharing what we think Hobart has to offer for the conference, and our vision for the conference. If you want to find out, in 6 minutes, what we’re planning on doing next year, this video is a good way to do just that.
Yesterday at linux.conf.au 2016 in Geelong, I had the privilege of being able to introduce our plans for linux.conf.au 2017, which my team and I are bringing to Hobart next year. We’ll be sharing more with you over the coming weeks and months, but until then, here’s some stuff you might like to know:
16–20 January 2017.
We’re hosting at the Wrest Point Convention Centre. I was involved in the organisation of PyCon Australia 2012 and 2013, which used Wrest Point, and I’m very confident that they deeply understand the needs of our community. Working out of a Convention Centre will reduce the amount of work we need to do as a team to organise the main part of the conference, and will let us focus on delivering an even better social programme for you.
We’ll have preferred rates at the adjoining hotels, which we’ll make available to attendees closer to the conference. We will also have the University of Tasmania apartments available, if you’d rather stay at somewhere more affordable. The apartments are modern, have great common spaces, and were super-popular back when lca2009 was in Hobart.
Our theme for linux.conf.au 2017 is The Future of Open Source. LCA has a long history as a place where people come to learn from people who actually build the world of Free and Open Source Software. We want to encourage presenters to share with us where we think their projects are heading over the coming years. These thoughts could be deeply technical: presenting emerging Open Source technology, or features of existing projects that are about to become part of every sysadmin’s toolbox.
Thinking about the future, though, also means thinking about where our community is going. Open Source has become massively successful in much of the world, but is this success making us become complacent in other areas? Are we working to meet the needs of end-users? How can we make sure we don’t completely miss the boat on Mobile platforms? LCA gets the best minds in Free Software to gather every year. Next year, we’ll be using that opportunity to help see where our world is heading.
So, that’s where our team has got so far. Hopefully you’re as excited to attend our conference as we are to put it on. We’ll be telling you more about it real soon now. In the meantime, why not visit lca2017.org and find out more about the city, or sign up to the linux.conf.au announcements list, so that you can find out more about the conference as we announce it!
So far this week I’ve been at linux.conf.au, held in Geelong. As usual, it’s been the insane mix of seeing awesome talks by awesome people, hanging out with old friends, meeting new friends, and not getting quite enough sleep.
Of the awesome talks, a few stand out:
Bdale Garbee’s talk on whole-house audio, where instead of buying off the shelf hardware, he built his own USB to 30w stereo amplifier module and hooked nine of them up to an embedded PC. Mostly because he could.
Steven Ellis’ talk on ManageIQ, which is a tool for managing cross-provider VMs. It looks like the perfect tool to manage my mix of Rackspace, Azure and AWS VMs and other tools, but I haven’t been able to check it out further yet (the downloadable image won’t work in VirtualBox, so I’ll have to wait until I get home).
Tammy Butow’s Site Reliability Engineering at Dropbox talk filled me with inspiration to work harder at getting better at systems administration. It was essentially a talk on Kaizen applied to engineering and how to achieve that.
Of course, LCA isn’t just about talks – if it was, I probably wouldn’t bother going. It’s about people. It’s been great to meet new people over dinner, and discuss talks with strangers after they end – it’s been fun to get some new views on what I thought were uncontroversial topics. I ended up playing Ingress late at night with a few people, and had great fun (and a lot of exercise, which I probably need). And there was of course the UnProfessional Delegates Networking Session, a barbecue organised by my friends Adam Harvey and Chris Neugebauer, which despite getting rained out was great fun – and then we all adjourned to the pub.
Geelong seems like a lovely city. I visited roughly fifteen years ago and I was fairly unimpressed at the time – it was dull and grey and seemed devoid of anything interesting. That can’t be said now. The waterfront is a lovely place to be, the weather is perfect (at least in summer), and there’s plenty of good food to be had (not on the level of Hobart or Melbourne, but that’s a tough standard to meet).
I’m looking forward to what the rest of the week brings!
This is just a quick blog post to get something off my chest. It’s about the open-source conference I’m currently attending, linux.conf.au. The thing is this: I run a Windows 10-based laptop, I’ve brought it with me to LCA, and I’m proud of that.
I use Windows for work. I’m a .NET developer. It’s how I earn my cash to attend this conference. That, apart from anything else, is why I don’t run Linux on the desktop.
A lot of people run Apple Mac OS X, another closed-source operating system. I don’t understand why people don’t discriminate equally against that.
Speaking of Apple, nobody directs ill thoughts their way at LCA. Microsoft does attract this discrimination, despite them actually releasing a large quantity of open-source software (including most of .NET) over the last couple of years.
I write open-source software. I write this in C# on .NET, because it will make it easier for the end users of this software to install and use, since they will be Windows users for the most part. I consider myself to be doing a lot of good by writing this software, giving users options apart from closed-source and cloud-hosted software.
In my mind, when somebody makes fun of Windows at an open-source conference, they’re buying into an anti-Microsoft herd mentality, forgetting that Microsoft does a lot of FOSS stuff, that Microsoft users do a lot of FOSS stuff, and the Apple laptops and Android phones that the majority of delegates have all contain a lot of closed-source software too.
Six years ago to the day, I wrote a bit of a rant about Hobart. At the time I thought nothing of it, my blog only has three readers (Hello!). Of course, there’s Google.
Over time, this one post has attracted more visits than any other post on my blog (I haven’t done the hard numbers, but my guess is that it would be more than all other posts combined). Which annoys me, since over the last six years Hobart has become an amazing place to live. So let me address a few points:
Hobart is no longer boring. Thanks in a large part to MONA, Hobart has a huge art and events scene. Apart from the dead of winter, Hobart is a live and happening place.
The public transport system is largely fixed. It goes where you want to go, and unless you’re trying to get from one satellite suburb to another (Tranmere to Kingston for example) it won’t take forever. It could still have improvement (most public transport systems could) but it’s better than it was.
The roads are better too. We’ve had a lot of capital works done recently, and a lot more coming up. Bypasses and on-ramps are being constructed at an amazing speed. Intersections are being improved.
We got the NBN, Australia’s fibre to the house/node/something network, before any other states. I have a solid fibre connection to my house, and bandwidth is almost never an issue any more.
Thanks to a few by-law modifications in the CBD area, walking through a haze of cigarette smoke while shopping is much reduced. The CBD is a lovely place now.
I won’t comment on TV (apart from the cricket and ABC News 24, I hardly watch it any more). We also still get a few two-headed-Tasmanian jokes from mainlanders, but I think they’re jealous these days. All in all, it’s a pretty good place to be.
It’s that time of year again. This year LCA is being held in Geelong, and as such will require train travel, which is awesome.
I’ll be flying in to Melbourne on Sunday the 31st of January, on flight VA 1321. I’ll arrive in Melbourne city just after midday, and my plan is to catch the 14:10 VLine train to Geelong. While in Geelong I’ll be sharing an apartment at Vue Apartments with a couple of friends. I generally stay in the university accommodation (where there is likely to be a high density of fellow LCA attendees), but this year the university accommodation is well out of the CBD, making it much less convenient than Vue.
Returning from Geelong, my plan is to catch an afternoon train from Geelong to Southern Cross on Saturday the 6th. I’ve pencilled in the 12:52 service, but this will probably depend on who else is travelling that afternoon and when they’re going. My flight back to Hobart is that evening, VA 1332 at 19:40. I love that flight this time of year; with the late sunset and generally good weather, you’re almost certain to get amazing views.
I’m already looking forward to a number of the talks:
In February, I’m presenting my first-ever solo presentation at linux.conf.au, my favourite Free and Open Source Software Conference. This year, the conference is in Geelong (just out of Melbourne). I’ve been attending linux.conf.au since 2008 in Melbourne, and am running the conference next year in Hobart.
Doling out financial assistance money to people often looks like it should be an easy thing to do right, but targetting and assessing grants so that the right people are interested, want to attend, and receive assistance is quite a difficult task. This talk shares our successes, our mistakes, and what we’ve learned along the way.
Registration for linux.conf.au 2016 is still open, so if you’re not yet planning on attending, there’s still time to get a ticket!
I haven’t scared you off yet? Great! Let’s try being a bit more specific.
I’ve worked a lot in Free and Open Source Software communities over the last five years, both in Australia and overseas. While much of my focus has been on the Python community, I’ve also worked more broadly in the Open Source world. I’ve been doing this community work entirely as a volunteer, most of the time working in full-time software engineering jobs which haven’t related to my work in the Open Source world.
It’s pretty clear that I want to move into a job where I can use the skills I’ve been volunteering for the last few years, and put them to good use both for my company, and for the communities I serve.
What I’m interested in doing fits best into a developer advocacy or community management sort of role. Working full-time on helping people in tech be better at what they do would be just wonderful. That said, my background is in code, and working in software engineering with a like-minded company would also be pretty exciting.
Something with a strong developer relations element. I enjoy working with other developers, and I love having the opportunity to get them excited about things that I’m excited about. As a conference organiser, I’m very aware of the line between terrible marketing shilling, and genuine advocacy by and for developers: I want to help whoever I work for end up on the right side of that line.
Remote-Friendly. I’ve got conference travel lined up already for the first half of 2016, mostly to the US, but I need to primarily be in Australia so I can run linux.conf.au 2017. I’m happy to work from wherever I happen to be, but having the support of my employer to do so is really important.
Relevant to Open Source. The Open Source world is where my experience is, it’s where I know people, and it’s the world where I can be most credible. This doesn’t mean I need to be working on open source itself, but I’d love to be able to show up at OSCON or linux.conf.au and be excited to have my company’s name on my badge.
Why would I be good at this? I’ve been working on building and interacting with communities of developers, especially in the Free and Open Source Software world, for the last five years.
You can find a complete list of what I’ve done in my résumé, but here’s a selection of what I think’s notable:
Co-organised two editions of PyCon Australia and made a successful bid for linux.conf.au 2017. I’ve led PyCon AU, from inception, to bidding, to the successful execution for two years in a row. As the public face of PyCon AU, I made sure that the conference had the right people interested in speaking, and that we had many from Australian Python community interested in attending. PyCon AU attracted presenters from six countries, and attracted more than 300 people to my geographically isolated city in the middle of winter. I’m taking what I’ve learned, and am doing this again for linux.conf.au 2017.
Given talks at countless open source and developer events, both in Australia, and overseas. I’ve presented at OSCON, PyCons in four countries (soon to be five), and myriad other conferences. I’ve presented on a whole lot of technical topics, and I’ve recently started talking more about the community-level projects I’ve been involved with.
Designed, ran, and grew PyCon Australia’s outreach and inclusion programmes. Each year, PyCon Australia has offered upwards of $10,000 (around 10% of conference budget) in grants to people who otherwise wouldn’t be able to attend the conference: this is not just speakers, but people whose presence would improve the conference just by being there. I’ve led a team to assess applications for these grants, and lead our outreach efforts to make sure we find the right people to receive these grants.
Served as a council member for Linux Australia. Linux Australia is the peak body for Open Source communities in Australia, as well as underwriting the region’s more popular Open Source and Developer conferences. In particular, I led a project to design governance policies to help make sure the conferences we underwrite are properly budgeted and planned.
I was recently linked to a story in the NZ Herald entitled “Why Thomas The Tank Engine Is Not Okay“. There were so many factual errors in the article, as well as a general lack of understanding that the fact that Thomas the Tank Engine is a commentary on British Railways’ policies in the 1940s and 1950s, that I could not let it stand.
Trains are sent to the scrapyard if they’re not useful. And we all know what that means – it means they’re executed.
There are no unions in Sodor, that’s for sure.
First of all, the human equivalent would be firing them (“making them redundant” in the capitalist jargon), not executing them. Secondly, unions don’t exist to prevent useless employees from being fired (except when unions have too much power), they are to prevent good employees from being taken advantage of.
The women trains are actually girl carriages.
Daisy (mentioned in the article) isn’t a carriage, she’s a diesel multiple unit (DMU). There’s a very important difference. In Britain in the 1950’s, DMUs were the future. Daisy is leading the way.
In addition, from a very quick look through the Wikipedia article, there are at least five female locomotives: Molly, Rosie, Belle, Mavis, and Flora. It’s definitely not a 50/50 mix gender-wise, and all of the original “Steam Team” are male, but it’s not zero. It’s just a basic lack of fact checking. Note that I’m not saying there shouldn’t be more female characters – I think there should be – but the article is just plain incorrect.
Either they have no personality (Daisy)…
This was the entire point of Daisy’s character. The Rev. Awdry (I believe) wanted to show diesel railcars as being unimaginative and dull compared to steam engines. This was a direct commentary on British Railways’ campaign to phase out steam engines on British main line railways in favour of diesel and electric propulsion. Steam then, as now, was seen as romantic and full of character compared to diesel. The character ‘Diesel’, the first diesel engine seen in the books, was rude and brash and nobody liked him – again, steam was better than diesel.
Every single character has a flaw in their personality. It’s part of the anthropomorphosis of the trains into people. Henry got bricked into a tunnel because he was too vain. James is rude and arrogant. They are all flawed, just like us.
Somewhat ironically, the first time I’m really writing on this blog about what has been my day job for the last 3-ish years is writing about leaving it.
I don’t have too much to say about my reasons for leaving, but identifying that I’d been suffering severe burnout for a few months was the tipping point for it. Over the last few months my output in most everything I’ve done has visibly dropped – not just in work, or my volunteer efforts (for which numerous other people depend on me), but also in the things I enjoy doing in my spare time.
My last upload to Flickr, prior to this week, was in June last year. Beyond things necessary to get talks done, I haven’t written a line of code in my spare time all year. The last useful thing I wrote on this blog was in January 2014. Those things should have been pretty good indicators, but I missed them.
When deadlines started approaching, I put less pressing things off to the side. I thought at the time that I was merely re-prioritising things in favour or more pressing ones, rather than completely dropping the ball on them. I mean, that’s basically how it’s always worked in the past.
More on that: I’ve long used conference trips as a way to pace myself through my work; timing trips more-or-less equally throughout the year, so that just as I was starting to get bored and demotivated, I’d have a chance to recover for a bit. This worked pretty well for a few years.
(Indeed, getting away as often as I have over the last few years has let me forge lasting friendships far across the world, and to get really useful things done locally, particularly for PyCon AU. I’m grateful to have had the opportunity to do that.)
So the pattern of feeling down just before a trip was there, just as it always was, for my trip to OSCON and PyCon AU in July this year.
The difference: for whatever reason, I came back feeling not much better than when I left I didn’t pick up the tasks I’d put aside, so they slipped even more.
Something had to give. I chose work. There’s not much more to say for the moment, other than that the time was more-or-less of my own choosing, and I left my job on amicable terms.
Now, what next?
First and foremost, I’m getting myself into a position where I’m mentally ready to run LCA2017 next year. This is probably the biggest undertaking of my life, and I need to be ready for it. I’m making steps to getting the organisation of that back on track.
I have roles with PyCon Australia again next year. Happily, my main role – raising sponsorship money – is now a team role, and I’ll be far less hands-on this time around.
If you’ve been depending on me to get something done over the last few months, and it hasn’t happened, I’m sorry. I’ve been terrible for letting things slip, even worse, I haven’t been open enough about my reasons for it. I really hope to improve this in the future. My backlog is slowly, but surely, getting cleared out.
Beyond that, I’m taking a couple of months off to sort myself out, and to make a concerted effort in figuring out what’s next.
I’m travelling for fun! Right now, I’m sitting somewhere in Far North Queensland, visiting my parents who are here for some reason (I’ve not seen Mum since February).
Over the next few weeks, I’ve got a few conferences I have committed to speaking at (OSDC in Hobart in two weeks’ time; PyCon Canada and Fossetcon in Florida in November), and so will be spending time travelling to attend those, but also taking a bunch of time off around them to relax.
One of the projects I’ve been putting aside for motivational reasons is a book I’m co-authoring on Android development, which I’m sure will show up (a bit more finished) in the future.
As for what I’ll be spending most of my time doing? I’m really not sure. What I’d like to be doing is the subject of another post. I’ll probably write it next week. If you want to cold-call me with opportunities in the hope that they’re relevant, linkedin is as good a place as any for now (lol), but I’m also around on twitter or e-mail.
I was at PyCon Australia 2015 in Brisbane last week, and I presented a couple of talks!
Test-Driven Repair looked at the issue of adding tests to code that hadn’t really considered it. I proposed some ideas about how to go about adding tests and refactoring your code to make future testing easy. There was a lot of good discussion after this talk, and this one represents an improvement over the version I presented at OSCON a week earlier. Once again, there’s a video on YouTube and notes on Github.
This was the second year of PyCon Australia in Brisbane, it was pretty excellent. I’m looking forward to next year’s, which will be in Melbourne!
A few weekends ago (on the 19th of July, to be precise) an anniversary celebration of the first traction engine in Tasmania was held. As part of this, five traction engines drove from the Bellerive Oval to the Tasmanian Transport Museum. On the way, they passed by Montagu Bay Primary School, where they stopped to take on fuel and water. I was lucky enough to be there, and to have a camera with me.
I spend a large amount of time on the Internet. With that comes the opportunity to observe various phenomena in action. Recently, it occurred to me that all thought on the Internet has a value, but that value is not always the same. After a little thought of my own, I came up with a theory of what certain kinds of thought are worth – and how often you see them.
On the bottom of the hierarchy is an idea. As discussed by entrepreneurial bloggers the world over, ideas are worthless (at least without brilliant execution). On the Internet, ideas are everywhere. They are cheap and nasty and you can’t give them away, since own ideas are better than everybody elses.
A well-crafted opinion is worth slightly more, since basic literacy is required to get your point across. Notice however that I said well-crafted. Generally, a well-crafted opinion will be found in it’s own post. They are very rarely found in comments. They are almost never found in YouTube comments.
If you have a very well-crafted opinion, and a famous name (at least Internet famous, if not real-world famous), you might be able to obtain some ad revenue from your opinion. But it’s not going to be a lot, because like ideas, opinions are everywhere.
Analysis of news, events, products and services is a rarer commodity than an opinion. Because it brings in facts, and tones down the emotions, they are harder for people on the Internet to produce. You may even need to be a good writer. Whilst opinions might be found on sites like WordPress.com, Medium or Tumblr, analysis will most likely be found on it’s own domain – this generally indicates a slightly higher level of effort, and thus a slightly higher worth.
Facts are what the Internet loves, hence the higher value of analysis than opinion. What if you could introduce more facts to the Internet? That’s where information comes in.
What do people go on the Internet to do? Many things (usually involving amusing images or naked women) but primarily to find out how to do something. If you have the answer to somebody’s question, you can get them to pay for that. This is why there are so many eBooks available these days. Because telling people how to do something is valuable, since it will save time, and time is money.
Recently I’ve made a heap of changes in my life, one of which has been the car I own and drive. I’ve sold the 2007 Subaru Impreza I bought eighteen months ago with my ex-girlfriend, and bought a 1997 BMW 318iS (an Avus Blue E36 sedan with M44 engine, for the BMW aficionado). This achieved three purposes.
Firstly, I was able to save a bit of money by buying a car a decade older, which I used to pay off some debts. One lesson I’ve learned working for myself is that debt is something to be avoided at all costs, as it crushes the feeling of freedom you would otherwise have.
I also got a more interesting car to drive. Despite having less power (103kW compared to 110kW) and less torque, the BMW is a much better car to drive. Due to the flat cylinder alignment in the Subaru’s engine, it doesn’t produce much of that power lower in the rev ranges, where it is most useful. The BMW’s engine produces more power when you actually need it.
Finally, I have a new hobby. Because the car is a decade older, it has a lot of defects that need repairing. It needs a new roof lining, several body panels need repainting, bits of trim need replacing and the audio system needs an upgrade (I’ve developed an Onslowian response of hitting the head unit to make it pick up channels clearly).
Longer term, I’m also toying with the idea of building a carputer. Given the power and features I want to pack into such a device I’m leaving this until I’m flush with cash. My dream feature list includes such absurdities as shortwave and citizen band radio, GPS navigation, GSM back-to-base alarm system, and management and monitoring of the engine via OBD-II (and BMW’s proprietary extensions to said system). It’s a project that will never be finished, so I’ve decided it’s safer not to start.
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.
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.
There are a lot of benefits to having less stuff. I’ve noticed three main ones:
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.
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.
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:
Anything that I actually needed! Why get rid of something if you are just going to have to buy it again later? It’s a waste of time and money to do that. Your individual situation will determine what you actually need.
Sentimental items. I’m not saying that I’ll never get rid of the stuffed teddy bears I’ve had since I was a small child, but it’s certainly not time for that yet. The antiques my grandmother gave me in her dying days will never go, despite the “where the hell will I put that?” response they caused when I received them.
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.
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.
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:
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.
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.
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.
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.
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.
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:
Does it still fit me?
Is it still functional (holes, wearing, etc)?
Do I like it?
Unless I got a yes to all three questions, it went into the charity bin. Simple as that.
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.
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.
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).
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 courted your partner, you were giving up time in order to gain something more valuable (hopefully): love.
When you bought your first car, you did so with money from your job. What is a job? Trading your time for your employer’s money.
A house is a slightly more complex trade, but it still involves an investment of time – both before buying the house and after (both in the form of paying the mortgage and maintaining the house).
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.
So those are my principles of time management. From now on, in following posts, we can be a lot more practical.
Keep an eye on cash flow. It can be great to send off thousands of dollars of invoices, but if you don’t have the money today to pay suppliers (or employees) then you’ve got a problem. People don’t like being paid in promises, they prefer cash. I feel very uncomfortable if I have less than a full month’s expenses (including wages) in the bank. I like having two or three.
Know the failure rates, and plan accordingly. My business is now almost three years old, and it’s only now that I’m starting to think “you know what, I might just be able to make this work”. A source of mine at the Commonwealth Bank says they see 70% of start up businesses fail within the first year. From my point of view, one of the key success factors is not to dream big before you’re capable. Don’t buy into the Silicon Valley mindset of buying brand new Aeron chairs for every staff member, when you don’t even have a single client (or a product/service, even). Doing so is a guarantee of failure, in my opinion.
Ideas really are worthless, and implementation of them is a lot harder than you first imagine.
Time management is important, and difficult. “Work” as such never really stops, and work hours are unpredictable. I sometimes start at 7:30am, and I’m quite often working at 10:30pm. On the other hand, sometimes I will work only a couple of hours a day and then go to the beach. But one thing is constant: worrying about the business. Worrying about client work, worrying about bills, worrying that my staff are happy, and so on. I’ve spent a lot of time learning about time management, and I might go into this in more detail in another post, but the key is this: fill your schedule up with big rocks.
Ask for help before you need it. Get all the advice you can. Not all of it will be good (indeed, some of it will be awful), but pick out the good stuff. Get advice from your bank before they need to bail you out, they’ll be much happier.
If you’ve got multiple directors and/or senior staff, think about who has access to bank accounts.
And the most important thing: starting my own business is the most exciting thing I’ve ever done. If you have the inspiration and the opportunity, do it. If you don’t have the opportunity, try to make the opportunity happen. Business ownership is an amazing feeling.
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.
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.
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.
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.
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!
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.
This 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.
After 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!
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.
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:
Account keeping is greatly simplified (add up all your invoices from the year, subtract all the bills, that is your profit and put that on your tax return).
Tax is much simpler and you’ll probably pay less of it.
The benefits of having a company:
Limited liability. As a shareholder, you cannot be liable for debts the company incurs unless you have promised the company money you haven’t given it yet. Note that directors can be personally liable if they do something really stupid (best consult a lawyer for what ‘really stupid’ entails, it’s a bit complex).
If the business will ever be sold, it’s much simpler to hand over the keys to a separate entity than try and separate the business assets from your personal assets like a sole trader would do.
A company structure provides a nice wrapper for owning intellectual property (and other property I guess, but I use mine for intellectual property).
How to get set up:
This is actually much easier than you think. The hardest part will be opening a bank account!
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:
It’s easier to introduce more directors and shareholders later on than it is to remove them. Pick carefully.
Being a director does involve legally mandated responsibilities, so make sure directors will be up to the job required.
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*).
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.
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.
Open a bank account for the company. You can do it online, but you’ll probably need to take documents into the bank anyway, so it’s easiest to just go and talk to somebody. Take in the binder of company documents, you’ll need to prove the company exists (using the ACN) and that you are a director.
Set up your accounting program. I use Xero, which is cloud-based, very popular, and highly recommended. I did the setup myself, but I would recommend finding a good accountant and getting their help.
Buying insurance is highly recommended. I have worker’s compensation insurance (which you’ll need if you’re employing people) and professional indemnity insurance (which you’ll need if you give advice to people). Any business with actual premises will need public liability insurance and contents insurance. Insurance is like leftovers from a tasty meal, better to have too much than too little. Make sure you have enough.
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:
Never get behind in the accounting, it’ll just take even longer to catch up as things aren’t in memory any more. I sit down every night during the week and quickly scan in receipts and update any draft invoices (takes me about five minutes, sometimes less) and then on Friday night or over the weekend I sit down and do bank reconciliations, send invoices, deal with any paperwork, and so on (takes me about 15 minutes max, usually less).
Find a good accountant. They will save you money. The same goes for lawyers.
If you’re doing consulting work, get a lawyer to draw up a template for a contract. Contracts are good, again they will save you money. If you’re too cheap for a lawyer get a template off the Internet (though using a lawyer is better).
Every time you change address, or add or remove a shareholder or director (or some other scenarios), you’ll need to fill out Form 484 (“Change to company details”). Do this on time, the fees for submitting it late are horrendous.
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.
Well, the Hottest 100 happened yesterday, so now it’s time to evaluate how my spoilers list went:
147 songs were given a 1% or higher chance of appearing in the Hottest 100 by my bootstrap analysis. 98 of those 147 songs made the Hottest 100.
85 of the songs in the Spoiled Top 100 made the Hottest 100.
The top 72 songs in the spoiled list made the Hottest 100.
6 of the 10 songs in the Spoiled Top 10 made the Hottest 100’s Top 10.
#1 was correctly predicted.
Why wasn’t it more accurate, or as successful as last year?
We don’t know how good the OCR model was at transcribing votes. We’ll need to do work fitting our OCR model to known transcriptions if we want to do this again next year.
The sample size was much lower.
Daft Punk fans don’t post to Instagram enough (inherent bias)?
The bootstrap resampling technique did not account for taste: particular songs often being selected together.
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.
(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?
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?
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.
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.
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’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:
(the people pulling tissues out of the box were racing the OpenShift setup process to see which was faster).
Adam Harvey’s talk where he wrote a PHP microframework in 15 minutes in front of the crowd, partly to prove it could be done and partly to prove that you shouldn’t bother. I’ve always been dubious of frameworks for small peices of code, simply because PHP provides most of what you need (which is Adam’s point). I guess the problem comes when this one-page script evolves into a full application before anybody realises, and using a framework from the beginning would have saved a lot of headaches down the track. It’s a tricky one to judge.
Tom Eastman’s talk on serialisation formats. I’d never considered some of the problems with these formats that means that even in formats such as YAML or JSON there are security vulnerabilities that are continuously overlooked. Unfortunately I had to leave in the closing minutes of this talk to attend to an emergency, so I missed some crucial information. I’ll definitely be revisiting this one when the talks are released for download.
Walking into Perth
For 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.
Over the new few months I will be slowly transitioning to a new OpenPGP (GPG) key. The reasons for this are as follows:
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).
I read about a patch to GnuPG to allow creation of larger key sizes and wanted to try it out.
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:
4K Signing key (for signing documents and emails)
4K Encryption key (for encrypting files)
4K Authentication key (for logging in to systems, though in practise this isn’t really useful yet)
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.
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:
The government will soon have to start actually listening to citizens and do something about all this.
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:
RF circuit board design is hard. There is some serious smarts going on with designing those boards to not have everything interfere with everything else (especially in such as a small package, with two radios within a centimetre of each other).
Here is yet another FOSS small business that is clearly surviving and not a complete drain on the pocket (one assumes, you can never be sure). That’s good news, as the world needs more businesses to cross that divide between open-source and the commercial world.
Rockets are fun!
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!
By 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.
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).
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.
Near 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.
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!
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.
The 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.
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.
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.
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.
Making Mobile Web Services That Don’t Suck – A talk that covers everything a mobile dev needs to know to understand how mobile networks work, and how to work with their back-end team to make an API that doesn’t suck.
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!
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.
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.
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
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.
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
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.
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.
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.
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.
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 Windows 8.1 Preview broke the wireless connectivity on my laptop horribly. Every time the laptop booted up or awoke from sleep, I would have to uninstall the wireless card from the device manager and then scan for new hardware to add it again. I would then have to key back in all the wireless keys for the networks I used before I could connect again. This got a bit annoying after a while. Installing Linux Mint, I had no issues with drivers or network connectivity, even with sound drivers, which is something that has plagued the Linux desktop world for years. It just works, and that is truly great.
With all the attention being given recently to the NSA’s spying on the citizens of the world, it’s nice using an operating system that gives you a little more protection (even if it isn’t very much more) from the spooks. I am still using many cloud services (including accounts with Facebook, Google, Twitter, Microsoft and Apple) so I still have a long way to go, but I can now PGP encrypt my mail with little effort, and should the need arise I can inspect every line of code on my system for back doors (though, it might take a while).
The GUI can actually be described as beautiful. While I’m a big fan of the classic Windows look (circa 2000 and XP) and I’m also a big fan of the Windows 8 Metro theming, the horrible combination of the two that most Windows 8 apps seem to have leaves much to be desired. In addition, most GNU/Linux distributions (looking at you especially, Ubuntu) have completely unusable GUIs. Linux Mint takes a beautiful looking GTK+ theme and marries it with a window manager (called Cinnamon) that is just stunning. It’s what Linux should have been like for years. And no Unity in sight.
Steam now works on Linux, and I can play Counter-Strike: Source again. This is a big deal, and it’s a great benefit to “Linux on the desktop”.
It uses Ubuntu’s package repositories, which use in turn use Debian’s awesome apt-based package management system. This gives you access to all of Ubuntu’s packages (which is a massive collection) and it uses familiar Debian configuration files. It’s a rock-solid (less stable than Debian Stable, but so are most nuclear reactors) core system.
Over recent months I’ve done a lot of software development in Visual Studio. VS 2012 is a great IDE. And it has nothing that comes even close on Linux. Netbeans (my preference on Linux) is a pretty powerful IDE, but VS still blows it out of the water in every way. Similar to Evolution vs. Outlook, there are still a few killer applications on Windows that make it the default choice for getting things done.
Firefox and Thunderbird look ugly as sin on Linux Mint compared to Windows. I’m really disappointed as everything else is so good looking in comparison.
There’s no good replacement for MetroTwit. I’ve tried most of the Twitter clients for Linux, and they all suck in various ways. MetroTwit, as far as I’m concerned, is pretty much where it’s at with Twitter clients. It’s awesome.
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.
This weekend has been a great one. I spent it at PyConAU, the premier conference for Python in Australia. Two days filled with all of my favourite things: great open source software, lots of friends, great food, interesting talks by interesting people – and the weather has been “interesting” too.
Conferences like these (PyConAU and linux.conf.au) are a really great chance for me to catch up with some of my friends that live interstate or overseas, as well as make new friends and meet new people. There’s always an interesting discussion going on, and nobody minds if you just stand there and listen in – you learn so much just by standing around!
Of course, the whole point of a conference is the talks, and here were some of my highlights:
Luke Miller’s talk on making a point-and-click indie game for gay men. This talk really covered the entire breadth of the game making process, both generally and specific to his game. He showed us the engine he built, discussed the story and graphics, discussed packaging and marketing the game, as well as some of the feedback he has got back from the gaming press – both positive and negative. Anybody who wants to make their own game should definitely check out this talk when it is available online.
Ed Leafe‘s demo of creating OpenStack deployments using Python. He showed simply using the pyrax library to create VMs and provision databases and DNS entries, but of course you could extend this by using python scripts to set up applications on the VMs afterwards, naturally. I’m almost convinced to move everything that I have in Amazon AWS to Rackspace’s cloud. OpenStack is pretty much awesome.
The Saturday morning keynote from Alex Gaynor on trying to narrow down what exactly programmers “do” and how they do it… by drawing in parallels from other fields like science, engineering and art. Really, it seems programming and software engineering is the intersection of the three. Also, software engineering is a very young field, really only 40 or 50 years old, compared to science which has hundreds of years to mature, and art which has had tens of thousands.
I also enjoyed the many (I think I went to about 5) talks I went to regarding software testing (unit testing, mostly). I actually learned a few tips from these that I plan to use in my day job, even though we use C# and not Python. Things like writing tests before adding any new feature – which of course is best practise that I knew, but “forgot” (i.e., was lazy). Food for thought.
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!
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:
A new consumer-grade router, such as one of the newer models from Billion (which are quite good, but have low tinkerability).
A Mikrotik-based solution. This was a close call, as I’m a fan of Mikrotik and my friend Jamie is even more of one (he loves them). However, I want to get more experience with Cisco products as I want to be able to put that on my résumé. Hence, I wanted a Cisco solution.
I also considered the Cisco 2801, as they are not much more than an 1841, but have four HWIC slots instead of two, so I wouldn’t have to spend time deciding which HWICs to get, I could just have them all! However, the fans are apparently very loud (as professional rackmount gear tends to be) which would not suit the living room locale very well at all.
So in the end I settled on a Cisco 1841. Lower fan noise, still supports HWICs for swap-out fun and excitement, and has the full features of the IOS software available.
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!
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.
5 Things You Should Be Doing If You’re Unemployed – I’m not unemployed (far from it, this week has reminded me of that), but it is always important to keep in mind that even the things that seem most certain can still surprise you. With the possible exception of number 4, you should be doing these things even when you’re fully employed. So I am, and so I will be.
I’m sure everybody has seen this by now. If you haven’t, don’t click on the link before making sure you have nowhere to be in the next hour or so.
Paul Graham’s ‘How to Do What You Love‘ was certainly an interesting read. It made me think about what I enjoy doing in my spare time (playing around with servers and programming), and what I do at work (playing around with servers and programming). The two match up, so I must be doing OK, right?
R&D-I-Y certainly looks like an interesting concept. Like the open-source cola of many moons ago, this seems like another good attempt to use the FOSS methodology to create real physical products. And the idea they’re working on, to create farms that will fit in a small apartment so that individual people can grow food! I found out about this through a pretty cool TED talk.
Speaking of indoor farming, I thought these instructions to grow celery from its leftover base is pretty cool – and could probably be applied to a lot of vegetables, if we were creative.
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:
It’s a coffee country, not a tea country. You can find coffee everywhere, but tea is hard to come by, and good tea is almost impossible. I’ve discovered the horror that is American-style creamer, and I don’t like the world quite as much any more.
Tasmanian drivers really are terrible. Drivers in the Philippines have a huge amount of skill, able to squeeze two cars past each other in ways that I figured should be impossible. It’s terrifying if you’re not used to it though. On arrival in Manila, I spent two hours in a taxi for a 8km trip from the airport to my hotel, and the traffic was abysmal (a later airport->hotel run took 10 minutes). People would drive down the wrong side of the road at full speed, with both drivers only moving out of the way at the last minute – making the most of the limited space on roads. In terms of condition, width, and congestion, roads in Manila are very similar to Sydney – or at least my experiences within the CBD areas of both cities.
In terms of how expensive (or rather, cheap) the country is to live in, there are two ways of thinking about it. The first is “oh wow, I can live like a king!” I found frequently that apart from electronic goods (which had the same price tag, once currency conversion was done, as in Australia) that I could afford pretty much anything I liked. An hour massage cost me less than $5, including a generous tip. I took ten people out to lunch at a fancy restaurant and ordered everything we liked, total was $100. It’s simply amazing – and the thought was constantly with me: what if I could earn at Australian rates and spend at Filipino rates? How awesome would that be!
But there is a second way of looking at the country: “The contents of my backpack are worth more than everything these people own in their entire lives!” This way of looking at things becomes incredibly confronting when in the country areas, as I found (in my limited experience) that they were much poorer than metropolitan Manila, especially CBD Makati where I was 90% of the time). People had houses built out of coconuts leaves and corrugated iron sheeting. The “rich” houses were made out of unpainted concrete blocks. You start to feel guilty for even owning your own computer, let alone the three or four that I have. I’m also certain that there are a lot of locals (especially in metropolitan Manila) who are insanely rich – the dealerships for BMW and Mercedes will attest to this fact. It seems the country is owned by the very rich, who really control things (like in Australia) and then the poor are very poor. Maybe there is a parallel to be made with Victorian-era Britain here?
Cabling contractors are fabulously useless. Something that would take a contractor 4 hours in Australia takes 4 people 3 days each in Manila. I’m not sure whether it was the contractors we were using, but I wasn’t impressed. While I’m not a licensed cabler in Australia, I do know vaguely what I’m doing with network cabling, and I could have done the job myself in Manila had I not been doing a million other things – about twice as fast as it took 4 people to do it. We also went through three sets of cabling contractors within two weeks, as the first two contractors just stopped showing up. Surely I can’t be that hard to work for?
Some of the food is amazing, but generally Tasmanian food is much better. In particular, fresh seafood is fresher in the Philippines than it is here, and therefore tastes absolutely amazing. Mango shakes were another favourite of mine. Because mangoes are a tropical fruit, they grow easily there, and as such are very cheap (along with most other vegetables and fruit, I guess due to the labour prices). A mango shake (mango and ice in a blender, sometimes mango and icecream in a blender) costs between $0.50 and $2, and they are the perfect way to refresh yourself after being the intense heat. With that said, there is a lot of terrible food in the Philippines, especially Manila with it’s plethora of takeaway restaurants (which were welcome the first day or two, but quickly grew tiresome). Local food is good, and very cheap, but without a heap of variation – most Filipino food is curries and stews of various sorts.
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.
Another 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…
There 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.
On 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. The 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.