Telephone +44(0)1524 64544
Email: info@shadowcat.co.uk

Iron Munger Up!

The Iron Munger app is now running

Sat Aug 29 21:50:00 2009

Digg! submit to reddit Delicious RSS Feed Readers

And she's up! IronMunger is now running on an hourly cron job, uploading badges. Well, except the bronze and stone female badges, which I appear to have mislaid, so expect those to turn up when mdk gets back off holiday and tells me I'm an idiot for not being able to remember where the originals are.

I've had to make a few hacks to the system to make it produce the results I want. The key one was realising that

$dt1->delta_days($dt2)->delta_days

produces, well, the actual integer number of days involved. So posting at 32 days, 23 hours and 45 minutes, which I did manage to do during lisbon, got you kicked out as being 33 days rather than left in. Switching to:

int( ($dt1->epoch - $dt2->epoch) / 86400 );

nicely resolves the problem and gives the behaviour I expected. The other problem I ran into was unicode characters in titles confused the CSV parsing stuff; I'm not entirely sure what to do about that one yet.

Finally, there's an algorithm change that isn't exactly a bug, inspired by Adam Kennedy's prolific posting - your score in terms of number of achieved posts can never go over the number of weeks you've been posting for. This is a marathon, not a race, so you need to have been posting for 12 weeks to be awarded your badge for 12 posts. Anybody who considers that unfair is welcome to suggest an alternative approach.

In the meantime, you can get at your badge by linking to either your name or nickname plus gender - so for me I'm linking to:

http://ironman.enlightenedperl.org/munger/mybadge/male/mst.png

or

http://ironman.enlightenedperl.org/munger/mybadge/male/Matt S Trout.png

- substitute female if you want the female version of the badge.

Additionally, in order to make at least some attempt at transparency, the CSV files we're using as sources are available here - I've already got some fixup code that twiddles a few of the duplicates from the original so if what you see there looks wrong to you, tell me (via mst -at- shadowcat.co.uk) and I'll see about twiddling things a bit. The perl code that's doing this is available at http://hercule.scsys.co.uk/~matthewt/iron-munger/ complete with .git/ dir, and the cron job is just scripts/all.

Thanks very much to Andrew Grangaard for diagnosing the problem I was stuck with before I even got as far as the stuff mentioned above. Thanks also to the various Iron Man crew people who've helped with various things for the planet itself (and if you want badge integration with the site, go to #epo-ironman on irc.perl.org and talk over how to tweak the plagger config with them :).

I'll sort out nicer stats and stuff off the data when I either (a) have time (b) get patches to that git repo from people. Have fun!

-- mst, out.