Older blog entries for Skud (starting at number 225)

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.

“Added…”
“Fixed…”
“Removed…”
“Refactored…”

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!