Last week in Wikimedia tech

Some highlights…


  • The Collection extension for PDF generation from wiki pages has been enabled on all Wikibooks wikis for further testing. It remains experimental, but is pretty handy already!
  • Welcome new dev Trevor Parscal at Wikimedia’s San Francisco office! Trevor is cutting his teeth on an edit draft saving/recovery extension.
  • We’ve caught up on code review and restarted standard update schedule of MediaWiki on the cluster. There have been a few hiccups affecting some bot tools, mostly fixed.

Cluster issues:

  • Tim’s been fixing up some of our monitoring systems and cleaning up some backlog on crashed/weirdly configured machines.
  • We’ve continued to see some intermittent issues with image thumbnail rendering since re-establishing a normalized configuration for the image scaler machines. Tim has been poking at these to sort the problems out.
  • There have been issues with timeline generation, not yet resolved, probably caused by changed configurations of ploticus and/or fonts on new web server installations.

In the data center:

  • Some issues with our primary image file server — a kernel crash during debugging, and a disk replacement (RAID wins again!)
  • Rob and Mark have been setting up our new expansion data center in Tampa, at Switch & Data. This gives us additional space and cooling power needed to expand our server base, which means more disk space for media files and backups. We like backups!
  • Mark has researched plans for our future data center migrations in Amsterdam, which we’ll be finalizing over the coming weeks.

At the office:

  • David Strauss has been visiting us in SF a lot to get our CiviCRM donation-tracking backend ready for the fundraiser.
  • Tomasz has been fixing up CentralNotice with multiple message scheduling and a localization helper interface in preparation for the fundraiser. Coordination with designers and the CRM stuff is ongoing. :)
  • Welcome new dev and office IT folk Ariel Glenn! Ariel’s a longtime Wikipedian and Wiktionarian. At the moment Ariel’s working on some of the IT backlog at the office, getting the lay of the land and beefing up our backup procedures.

Updated spelling 2008-10-27

Dell Mini love

We finally replaced my fiancée’s ancient PC with a shiny new Dell laptop. While ordering, I couldn’t help myself and tossed in a Inspiron Mini 9 for myself:

This little cutie weighs in at just 2.26 pounds, less than half of my MacBook’s hefty 5 pounds. I’ve found that the Mini is much more back-friendly than my MacBook; I can painlessly lug it to the office with my laptop bag slung over my shoulder (easier for getting on and off the subway) instead of nerding it up in backpack mode.

The top-end model I picked packs 16GB storage and 1GB RAM running on a 1.6 GHz Atom processor — far more powerful than the computer I took with me to college in 1997. Admittedly, my iPhone also beats that computer at 8GB/128MB/300MHz vs 6.4GB/64MB/266MHz. :P

The compact form factor does have some impact on usability, though. The 1024×600 screen sometimes feels too tight for vertical space, but they include a handy full-screen zoom hotkey for the window manager which opens things up.

The keyboard feels a bit cramped, and some of the keys are in surprising places (the apostrophe and hyphen are frequent offenders), but it’s still a lot easier to type serious notes or emails on than the iPhone. I had to disable the trackpad’s click and scrolling options to keep from accidentally pasting random text with my palms while typing…

The machine shipped with a customized Ubuntu distribution which is fully functional; they include a “friendly” launcher app which can be easily disabled, and even the launcher doesn’t interfere too badly. The desktop launch bar that’s crept into Gnome nicely handles my “I need Spotlight to launch stuff with the keyboard” fix. :) Firefox works fine (after uninstalling lots of Yahoo! extensions), Thunderbird installed easily enough, and I even got Skype to work with my USB headset! (AT&T’s international roaming charges can bite me…)

The biggest obstacle for me to use this machine every day is my Yojimbo addiction. I use Yojimbo for darn near everything — random notes, travel plans, budgeting, grocery lists, recipes, encrypted password stores, saving articles and documentation for future references. It’s insanely easy to use, the search works, I don’t have to remember where I saved anything, and it syncs across all my Macs. But… it’s Mac-only. :(

I’m trying out WebJimbo, which provides an AJAX-y web interface for remotely accessing your Yojimbo notes. It’s very impressive for what it does, but I’m hitting some nasty brick walls: editing a note with formatting drops all the formatting, but I use embedded screen shots and coloring extensively in my notes.

I’ve seen some reports of people hacking Mac OS X onto the Dell Mini — very tempting to avoid OS switching overhead. :) But I think if I really want that, eventually I should just suck it up and buy a MacBook Air. The form factor is the same as my MacBook (full keyboard, roomier 1280×800 screen), but at 3 pounds it’s much closer to the Mini than to my regular MacBook in weight, so should be about as back-friendly for the subway commute and air travel.

Of course, the Air costs $1799 and I got my tricked-out Mini for about $400, so… I’ll save my pennies and see. ;)

Wikimedia community talk

Gave another talk, this time at the Online Community Report Meetup hosted by Tech Soup here in San Francisco.

As usual, my slides are available for download on my presentations page:

This went into a little more general background on wikis and community structure; we kind of got side-tracked by Wikipedia-specific questions and I didn’t get through all my slides in the couple hours we had. ;)

Database borkage

We had a database master (for German Wikipedia and several other major languages) fill up its disk, breaking replication and causing some general havoc. Tim patched things up for the time being, but we still have to fix up some of the de-synced servers once they’re done rebuilding; in the meantime, you may see old data in some places or very long reported lag times for your bot tools.

See Tim’s summary of what lead to the failure and my follow-up notes about necessary fail-safe fixes and monitoring procedures.

MediaWiki Bug Mondays starting October 6

Hey all —

I hereby invite you all to the first official regular weekly MediaWiki Bug Monday, to occur on October 6*.

Come hang out in #mediawiki on and help us verify and clean up bug reports, raise submitted patches for review and application, and generally try to break stuff. :D

It’ll be awesome!

* (Pick a timezone, any timezone, just show up when you can — even you Australians!)

CodeReview live on

One of the problems we’ve been seeing is that our code review procedure doesn’t always scale well. We have a fairly large number of committers, and a pretty liberal policy about committing new code to trunk — but we also need things to work consistently so we can keep the production code up to date.

Traditionally, code that’s been committed to SVN gets reviewed offline by me or Tim before we push things out live. If we find problems, we fix them up or revert the code to be redone correctly later.

There’s a couple big problems with this:

  1. We can’t easily coordinate our notes; I can’t see what Tim’s reviewed and what he hasn’t. We end up either duplicating effort or missing things.
  2. If we’re both busy, sick, on vacation, etc sometimes it just doesn’t get done!
  3. If we want more people to pitch in, coordination gets even harder.

In my spare time over the last few weeks I’ve thrown together a little CodeReview extension for MediaWiki to help with this. It pulls the SVN revision data as commits are made and presents an interface on the wiki where we can see what’s been reviewed, tag problems, and add comments for follow-up issues.

Yesterday I went ahead and put it live:

The UI’s still a little rough, and not all linking and metadata features are implemented; Aaron’s going to help polish it up. :) But it’s already useful, and I’ve got some revisions flagged as fixme…

Feel free to try it out, and add notes for things which need work.

Currently comments are open to any registered user on the wiki; status changes and tagging updates are limited to the ‘coder’ group, which is viral — any coder can make another user a coder.