Older blog entries for Skud (starting at number 226)


I’ve been kind of rubbish about posting life updates over here, so I just thought I should make a note that I’m planning to move to Ballarat by the end of the year. Why? Well, my current housemates are going their separate ways and it was either find two new ones, or get a place by myself. Ballarat has cheap rent (not much more for a full house than it currently costs me for a room in a share house), fast internet, is only an hour or so from Melbourne by public transport (I expect to be back pretty regularly, maybe every week or two), and I can have a proper veggie garden.

For those not from around here: Ballarat is a small city of ~80,000 people near Melbourne, and was at the centre of the Victorian gold rush and also the site of the Eureka Rebellion of miners and others seeking reform (i.e. voting rights). In US terms it’s a “college town”, in that the local university is one of the biggest features. Although only the size of Boca Raton or Yuma it’s not as conservative as a similar-sized US city would be; it has a Labor (centre-left) member of parliament, a decent portion of Green voters, and workable public transit, albeit on a small scale. UK people may like to compare it in size to Chester, Durham, or Bath.

I lived in Ballarat for a semester in the 1990s, on an internship with Mars Confectionery, whose Asia-Pacific HQ is on the edge of town. I found it pleasant apart from the work — Windows 3.1 and Novell support, which involved a lot of crawling under desks and scraping chocolate off the inside of keyboards. I was one of the few civilians in town to have any Internet access, as I managed to beg a 2400 bps dialup off someone at the uni computer centre. At age 19, it was only my dialup connection and weekend trips to Melbourne that managed to offset the boredom of office colleagues talking about football and lawncare; 20 years later, I don’t have to work in an office, pretty much everyone torrents Game of Thrones, and though I don’t much care about lawns people usually find my veggie-garden talk less weird than my obsession with Linux and cyberpunk SF was back then.

To answer a FAQ: yes, Ballarat is colder by Melbourne by a couple of degrees. I’m pretty sure I’ll cope with it, since I lived 4 years in Canada. Bit of frost? Bring it!

To answer another FAQ: yes, I’ll be expecting friends to visit!

More detail to follow once I actually have a house and stuff.

Syndicated 2013-10-24 07:11:21 from Infotropism

Clicky web analytics: highly recommended

I know I’ve mentioned this before, but I just discovered they have an affiliate program and, well, that’s an excuse to mention it again.

I’ve been using Clicky for web analytics for Growstuff, and I’m delighted with them.

They are basically a drop-in replacement for Google analytics, but run by a company who care more about, you know, analytics than selling ads. Clicky gives me all I need in terms of pretty charts and reports, and I can see where Growstuff’s visitors are coming from and how they’re using the site. Pretty much what you’d expect.

I’ve also paid for a premium account, which gives me two features I really love: “Spy”, which shows me people’s activity in real time (and makes a delightful “DING!” in my browser when we get a new visitor, which can be quite noisy at times, though of course you can turn the sound off if you prefer), and a heatmap overlay for the website that shows where people are actually clicking on the page — great for seeing which parts of your site are getting the most attention.

On top of all that, they’re friendly and responsive and have been really helpful on Twitter when I’ve had questions for them.

Anyway, if you’re looking for an analytics system that’s not run by a kind-of-evil ad company, and you want to support independent software companies and not be a free user, give Clicky a shot. If you use this affiliate link and buy a premium account, it’ll help Growstuff out a little bit, too.

Syndicated 2013-08-30 00:50:23 from Infotropism

What is a spike?

There was some discussion on the Growstuff IRC channel last night, while I was asleep, about the term “spike”. I use it a bit on the Growstuff project but I don’t think everyone knows what I’m getting at, possibly because I picked it up by osmosis from the Extreme Programming community over a decade ago, and the term’s fallen out of favour since then. So here’s a quick definition as I use it:

  • A spike is experimental. It’s for writing something you’ve never written before, and don’t quite know how to start.
  • A spike is a learning exercise. The goal isn’t to write a new feature. The goal is to get enough knowledge to know that you can write that feature.
  • A spike is a conversation-starter. It moves abstract “maybe we could…” conversations into the concrete.
  • A spike may not follow coding standards. You don’t even know this thing is possible. It’s pretty hard to write tests first in that situation.
  • A spike is thrown away when you’re done. It gives you enough to say “okay, we know this is possible”, and then go and write it properly.

Syndicated 2013-08-29 00:22:18 from Infotropism

A couple of interviews

I’ve recently been interviewed by a couple of different blogs, and thought I should link them here:

  • The Ada Initiative blog interviewed me about Growstuff, pair programming, and social justice. They’re having a fundraising campaign to support their work with women in open technology and culture, by the way, and if you care about those things you should definitely donate.
  • Maciej from Pinboard interviewed me for the Pinboard blog, also about Growstuff, which (as you may recall) he funded to the tune of $37 back in January. It’s good to have such support from our investors ;)

Go, read!

Syndicated 2013-08-28 01:04:09 from Infotropism

Start your commit message with a verb

I’ve been pair programming with a lot of different people, with a variety of skill levels, on Growstuff over the last year. One thing I’ve noticed is that some people freeze up when it comes to writing a commit message. They type “git commit” and then sit there for a minute going “uhhhh”.

I understand this. It’s hard to convert maybe an hour’s hard work in code into a short sentence of English. How do you compress such complex ideas? How do you even make words, when your brain has been deep in code?

So here’s the tip I give to my pairing buddies who freeze up when it comes time to commit, and I offer it here for free: Start your commit message with a verb.


The rest usually comes easily. What did you add? What did you fix? What did you refactor? Grammatically, this is the direct object, and starting with a verb works as an effective prompt to figure out what it might be.

Sometimes you need an indirect object as well (“Added planting_count to crops”) or a reason (“Added planting_count to improve performance”) but really, if you can get a verb and a direct object, you’re most of the way there. And it’s certainly better than “WTF!?” or “yay bugfixes!” or “.”, all of which I’ve seen as commit messages.

You’re welcome.

(Of course, if you don’t freeze up when you have to write a commit message, then keep doing what works for you.)

Syndicated 2013-08-24 00:41:45 from Infotropism

Clicky Analytics with Mediawiki

This is one of those posts I’m making for the benefit of anyone who googles, wondering whether there’s a Mediawiki extension to integrate Clicky Analytics.

As of right now, there’s not, but there is a good explanation of how you can put some custom code in your LocalSettings.php to integrate any analytics stuff that you like.

Here’s a generic version that will work for any analytics system, hopefully cut-and-pasteable. It works fine on my Mediawiki install right now (version 1.20.x) but is not guaranteed for any future versions. Or, well, it’s not actually guaranteed for this one, now I think about it. Use it at your own risk, is what I’m saying.

Note that you have to paste the analytics code from your provider in around line 16.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!