Sam Wilson's Website

May 2022

  1. By .

    The file that is attached to this post.

  2. By .

    Today I repacked the bearings in my front wheel. They were not completely dry, but I feel bad that I left them this long! It’s been a few years.

    I’m trying to build a list of all tools I need to work on this bike, so now I add the following: 13 mm cone spanner; adjustable spanner; and a bit of bent wire to hook bearings out with. Also some grease and a few clean rags.

    Thought I might want a magnetic pick, and tweezers, but actually it was fine without. I used to replace the balls whenever I did the bearings, but I’ve since read that that’s overkill, and certainly they looked fine on close inspection. Far better than the cones and cups anyway, which had some small pitting in a couple of spots (inspecting the cups was a bit tricky, because I didn’t remove the metal dust covers). The rubber dust covers are fine, although I don’t know how many times they’ll take being stretched off and on, they do have that sort of dusty old-rubber look to them now.

  3. By .

    It’s Hackathon day 2, and I’ve nearly wrapped up my first draft of a pretty hacky system for editing documentation pages in ToolDocs. It’s fun learning the GitLab API, although that’s also making me question a bunch of assumptions I made about this project in the beginning! It’s seeming more like it’d be better to just build the whole thing as effectively a custom UI to GitLab. But we’ll see…

  4. By .

    The Hackathon is starting soon.

  5. By .
  6. By .

    I finally installed Koreader!

    Here’s some notes of what I did:

    Downloaded from and extracted to the root of the device.

    Add the following to .kobo/Kobo/Kobo eReader.conf:


    Restarted, and it ended up back in the normal system. Oh, I didn’t follow the instructions… try again with downloading from that forum post, and extracting that to the root. Unmounted the device, and it did much more flashing and gurgling this time. When it restarted, there was a new Koreader item in the main menu! Wonderful.

    To enable OPDS, go to the search menu (the magnifying glass icon) and down to “OPDS”. Then add a catalogue URL. Wikisource is — unfortunately, it seems the only way to get it in there is to type it in by hand, and I kept making mistakes. I tried three times before I realised that it was possible to long-press on a catalogue name to get to an edit dialogue.

    Then, I had access to 45 pages of Wikisource’s works. Unfortunately, they’re in alphabetical order by title so it’s a bit weird to browse them in this way. But, still, it’s a terrific start and much easier than copying epubs from my laptop.

    All in all, Koreader seems much much faster, and has many more features… and why didn’t I do this ages ago?!

  7. By .

    I think I want a tool whereby I can compare the biography pages in ArchivesWiki with those on WikiTree and FamilySearch. Surely that wouldn’t be too hard.

    The bio pages on the wiki already (mostly) have their external IDs defined. They’re in Cargo, so I think there’s probably a need for a parser function from the Genealogy extension, so these IDs can be saved as page properties and passed to the wiki-comparing code. It’d be a bit odd to have the Genealogy extension to go querying Cargo tables directly.

  8. By .

    I’ve been wondering for a while how it’d be setting up a package on Packagist from Wikimedia’s GitLab… turns out it’s incredibly simple, and we now have wikimedia/toolforge-skeleton added and working! There’s still more to be done on it, but hopefully it’ll make it super quick to bootstrap the development of new PHP tools.

  9. By .

    It seems to be Thursday morning again. The list of things for the week doesn’t seem to be any shorter, but there’s only one day of proper-work left! (Tomorrow begins the Wikimedia Hackathon.)

    The dramas I’ve been having with my rear gear shifting have been resolved, so at least that’s good news. It seems my gut feeling was right: it felt like there was something preventing the derailleur from springing outwards, but I couldn’t figure it out. I lubed all cable sheaths, cleaned springs, pulled everything apart and put it back together clean and lubricated. But I’d underestimated the simplicity of the shifters (Microshift BS-A09 I think they are), and hadn’t realised that it’s actually perfectly correct to just loosen the bolt a bit. This frees up the mechanism, and allows the derailleur full control. Everything is nice again now.

  10. By .