2023 archive

This page is part of the archives of my blog.

·1998 · 1999 · 2000 · 2001 · 2002 · 2003 · 2004 · 2005 · 2006 · 2007 · 2008 · 2009 · 2010 · 2011 · 2012 · 2013 · 2014 · 2015 · 2016 · 2017 · 2018 · 2019 · 2020 · 2021 · 2022 · 2023 · 2024 · 

This is the full archive for 2023



· new years · archiving · Fremantle ·

It's the first morning of the year, and I'm at the new cafe on High Street, Milkmaid Coffee Bar. Seems like a very nice place. I've added it to OpenStreetMap, although I'm not quite sure I've put it in the right place… I'll go outside in a bit and check which bit of this building I'm actually in. The facades of these places can be misleading, especially from the aerial imagery.

It's probably the done thing, on January first, to figure out What One Should Do in the new year — but I don't think I'll bother. I'm mainly working on genealogy stuff, and am hoping to spend the rest of today scanning a few dozen airgraph letters from 1943. The were mostly written by my great-grandbother Edith Wilson to her children who were away from home serving in the army and air force.

(Bah! It looks like Every Door created two nodes when I edited it just now: 10297567092 and 10297572193. That's weird, but I guess it's because it didn't finish refreshing the data after saving, and I was editing a node that I'd only just saved.)

What to archive


· archiving ·

Interesting article in the New York Times. Makes me even more keen to keep working on software that makes it easier to keep personal archives — but not keep everything.

Your Memories. Their Cloud. (archive), by Kashmir Hill, 2022 December 31:

I noticed a philosophical divide among the archivists I spoke with. Digital archivists were committed to keeping everything with the mentality that you never know what you might want one day, while professional archivists who worked with family and institutional collections said it was important to pare down to make an archive manageable for people who look at it in the future.

“It’s often very surprising what turns out to matter,” said Jeff Ubois, who is in the first camp and has organized conferences dedicated to personal archiving.

[…] Mr. Ubois said it’s hard to predict the future uses of what we save. Am I socking this away just for me, to reflect on my life as I age? Is it for my descendants? Is it for an artificial intelligence that will act as a memory prosthetic when I’m 90? And if so, does that A.I. really need to remember that I Googled “starbucks ice cream calorie count” one morning in January 2011?

Pre-internet, we pared down our collections to make them manageable. But now, we have metadata and advanced search techniques to sort through our lives: timestamps, geotags, object recognition. When I recently lost a close relative, I used the facial recognition feature in Apple Photos to unearth photos of him I’d forgotten I’d taken. I was glad to have them, but should I keep all the photos, even the unflattering ones?

Bob Clark, the director of archives at the Rockefeller Archive Center, said that the general rule of thumb in his profession is that less than 5 percent of the material in a collection is worth saving. He faulted the technology companies for offering too much storage space, eliminating the need for deliberating over what we keep.



· genealogy · digitisation ·

I've been reading a bit about Airgraph letters (aka V-Mail, in the US). Some articles say it was developed by the US military, and the Wikipedia article could do with some improvement about the detailed history of it. This 2021 video from Mark Felton is interesting; the clips from the US military in that come from this film it looks like, and there's also this Pathé News film showing the Airgraph system from the UK point of view.

I'm uploading about 65 scans of airgraphs to this category on Wikimedia Commons.

Pattypan to upload scanned letters


· Wikimedia · scanning · H.M. Wilson Archives · Pattypan ·

Pattypan is a great tool for uploading lots of files to Commons. I'm using it today for a set of scans of airgraphs. I scanned them all yesterday, and gave them hopefully-useful filenames that contain a prefix, date, and bit of info about each. These documents all look pretty much the same when viewed as thumbnails, so it's important to be able to determine at least something by glancing at the filename. That said, it's never good to rely on metadata being in the filename nor on all files having the same structure to their names.

Anyway, after creating the spreadsheet for these files, I did some tweaking to the data columns:

  1. Filled the source column based on the name column:
    • Formula: =CONCAT("{{HMW|wiki=",B2,"}}")
    • Result: {{HMW|wiki=Airgraph 1943-12-30 Adele to Murray}}
  2. Extracted the date:
    • Formula: =REGEX(B3,"[0-9]{4}-[0-9]{2}-[0-9]{2}")
    • Result: 1943-12-30
  3. Crucially, any column that uses a formula needs to be copied to a new column with values only (i.e. "Edit / Paste special / Values only"). Otherwise Pattypan can't see the formula result.

Webmentions as likes


From 100 Days of IndieWeb Challenge by James, 2 January 2023:

The IndieWeb advocates for a web-centric approach, where we leverage the building blocks of the existing web as well as a few new ones to build tools that make communication and publishing on the web easier.

Fundamentally, the internet does not have to be controlled by walled gardens. You can publish content on your own website and share that content with friends. You can even send likes to people's websites and receive likes on your site, too, using a tool called Webmention. For me, participating in the IndieWeb is partly my belief in the importance of owning your own data but also the opportunities that affords.

I've been meaning to add Webmentions to my site, but haven't yet. I do like the idea of each page displaying any (or perhaps just a count of) in-bound links. Webmentions (and old-fashioned automated crawling to find links) are a good way to find which pages out there have linked here, but they don't necessarily indicate why they've been linked. So I don't like to think of them as equivalent to 'likes', but anyway this whole thing of Fake Internet Points™ is pretty ridiculous and probably best avoided.

The web is already decentralised


· fediverse · websites · RSS ·

On the current decentralisation movement by Manuel Moreale, 2022 December 16:

The more I look at this "issue" the more I'm convinced the solution is already right there and it's called the web. Want to have an unblockable, unbannable user profile? Buy yourself a domain and get a personal website. Want to have a space where you can say and do whatever the fuck you want? Get a webspace and put up a blog. Do you want to keep up with what other people are doing and saying online? Start using RSS or, and this is gonna sound like a very radical idea, bookmark their websites and every once in a while open them in your browser and see what they're up to. Want to also have discussions? Add comments to your website. Don't care about other people's opinions? Don't add comments to your site. I honestly don't get why people are searching for some new technical solution to a problem that in my opinion doesn't exists.

Incidentally, that site has nice typography and formatting. Maybe I should revisit SimpleText one of these days (that's the skin I'm using here) and fix it up a bit.

Spideroak not for backups


· Spideroak · backups ·

I don't know what Spideroak's deal is, but they seem to no longer even advertise the fact that they provide a backup service. Their website at https://spideroak.com doesn't mention anything about the 'Spideroak One' product (I thought maybe it'd be under 'Securing Terrestrial Communications and Collaboration' but no). Seems you have to go to 'Spideroak for business' which takes you to https://crossclave.com where it's listed under Products. But I'm not a business!

I guess they're more interested in space these days. Probably time for me to finally finish moving all my stuff to rsync.net (that was supposed to be a 2022 goal…).

Geogeeks, March 2023


· Geogeeks · QGIS · Spacecubed · events ·

Geogeeks went well tonight, with three (and a half) speakers talking about open source geospatial things.

Tom Lynch:

Jack Green:

Khia Emslie-O'Brien:

Upgrading to Kubuntu 22.10


· Linux · KDE · backups · drafts ·

I upgraded my laptop today, to Kubuntu 22.10. I could do it in place, but usually I use the opportunity of an operating system upgrade to also encourage me to have a good disaster recovery system, and I nuke the entire system. I usually don't actually test the DR set-up end-to-end, because that relies on downloading all my data again from my cloud backups, but deleting everything on my laptop every year or so does help keep me on top of my documentation. It also clears out all the cruft that accumulates and for which I no longer have any use. (Not that there aren't directories called 'unsorted' or 'keep-for-a-while' whose purpose I can't really remember!)

The usual way to do an upgrade like this is pretty simple. First, I bring a local USB HDD backup up to date (these drives are local ad hoc backups for me, and contain lots of stuff that I don't really need to back up). This is done with rsync, using something like the following command (note the trailing slashes on the directories… slash-or-not is probably the most annoying thing about rsync!):

rsync -a --delete-during \
    --exclude-from=rsync-homedir-excludes/rsync-homedir-excludes.txt \
    /home/sam/ /media/sam/SW_BACKUP/homedir/

The exclusion list is rubo77/rsync-homedir-excludes and is a useful way to not backup actually useless stuff like caches and trash.

The USB thumb drive that I usually use for installing Kubuntu was only 3.7GB, which for previous versions has been fine. However, 22.10 seems to be larger, and the .iso is 4GB, so I had to use a different thumb drive (and 8GB one). I'll have to find a new penguin sticker. Copying the .iso to the drive is done with usb-creator-kde (a.k.a. Startup Disk Creator), with which you select the source .iso and the destination disk, and that's about it.

Connecting the storm drain to the soakwell


Today we dug the hole deeper and uncovered the actual edge of the soakwell. I was glad to not find any more surprises about the construction of the existing pipes, because there has been a few weird things so far (pipes doubling back on themselves, pipes going into the dirt, bits of plywood used as end caps…). The soakwell is a big one, and both existing pipes go into it, so we felt okay about adding a third.

Adding the new connecting pipe in was a bit tricky, with the start and end of it being a different angles and depths, and so we ended up using a bunch of joints that were a fair bit of a fiddle but ultimately made a good fall and no tight corners. I'm fairly happy with it, and hopefully it's going to rain tomorrow so we can see it in action!

Lake Leschenaultia


· OpenStreetMap ·

Another social mapping Sunday, for the first time heading out of the city. Mappers aggregated at a couple of railway stations in order to carpool for the hour's drive up to the Lake. The BOM were warning about thunderstorms, but the morning dawned sunny (although humid and with dark clouds), and then Transperth notified of train delays (the alert I read over breakfast and it caused me to rush out earlier then I would've). But all was well in the end.

It was a lovely cool weather when we got there at about half ten, fresh after the morning's rain. First order of business was coffees from the café — with which we sat on a damp picnic table and figured out the order of the day. Apps were installed and mapping techniques discussed. We sorted out who was going to map what sort of things and where, and split up to do so. I headed off on my own to investigate the area below the dam wall, where there's a BMX track, dam spillway, and various other things (including wooden power poles! although I'm not sure anyone else is as excited about those as I am).

I started my mapping in Vespucci, but then realised that it'd logged me out at some point, and because I wanted to keep uploading things in small batches (to avoid conflicts later) I gave up and went back to my current favourite of Every Door. The available imagery of the lake area isn't great, and even if it was higher-resolution it would still be pretty annoying because of all the tree cover. I also trialled using OsmAnd's photo note feature, and tried the thing of putting the photo notes in the location of the photo subject rather than the camera location — this feels a bit odd to me, and in the end the share functionality utterly failed me and I had to resort to sharing each individual photo out to get them into Nextcloud. So not a good experiment.

Some people were using pen and paper, which is something that I want to look into more (perhaps with a custom rendering for print). I also experimented with KartaView, and added a couple of segments of a about a dozen photos each. I'm not sure it's really worthwhile considering the social awkwardness of walking along holding a camera up; the results would be similar if I just took individual photos of features that need to be mapped.

At about half twelve we regrouped and headed into Chidlow for lunch.

Another visit would no doubt be useful to improve and correct things that we mapped, but all up it was a terrific and mappingly-useful day. The point of these outings is as much social as technical, and it was terrific from that point of view. I'm looking forward to the next outing.

Ramblers' map


This seems interesting: https://www.ramblers.org.uk/get-involved/out-there/out-there-getting-paths-on-maps/mapping-scotland-paths.aspx -- I'm not quite sure why they don't just use OSM (but I've not really read into it yet).

What background mapping are you using?

We currently use OpenStreetMap as the base map for the Scottish Path Map. OpenStreetMap is used by many online mapping services, including those provided by some Scottish Government agencies.

OpenStreetMap is built by a community of mappers that contribute and maintain data about roads, trails, cafes, railway stations, and much more, all over the world.

OpenStreetMap is not designed specifically as a tool to support walking, so its contributors simply map geographic features that exist on the ground.

This means that there may be geographical features present on the base map where access rights do not apply.

Wharf inspection boat

Fremantle Harbour

I went the long way around to Kakulas to replenish my coffee this morning, and spotted this dingy with a complicated-looking camera contraption. I wondered if it was some sort of under-wharf drone sort of thing.



· clothes · newspaper clippings ·

I shouldn't admit to it, I'm sure, but David Mitchell's recent column on not sticking out is somewhat relatable:

My mistake had been to confuse my liking for old-fashioned conventions of dress with liking old-fashioned items of clothing. The former provided a virtual uniform for almost all circumstances from work to weddings to funerals to parties to meeting royalty, while the latter involves wearing weird moth-eaten items that make people think you’re a dick.

In light of this, I was puzzled by last week’s comments by the TV journalist Michael Crick about the demise of tie-wearing in workplaces. He described this as “sad” because “in many fields ties are still the only chance men have to play with colour and express themselves”. I’m also a fan of ties and wouldn’t mind wearing one every day, but for precisely the opposite reason. Wearing a jacket and tie absolves men of having to express themselves or show any judgment at all. It provides the perfect neutral look – bland but not noticeably so. Even those with as stunted aesthetic senses as mine find that hard to screw up.

Conversely, in the post-tie chaos that’s been my experience of the workplace, there is a bewildering maelstrom of opportunities to express and thereby betray yourself. Literally any item of your clothing can be any shape or colour, not merely the strip of cloth dangling from your chin. What on earth was Crick talking about?

First chain re-waxing


· cycling ·

I rewaxed my bicycle chain this morning, for the first time since I switched to wax a bit over a month ago. It was so much easier than the first time! I was less involved than making a cup of coffee. In fact, I made coffee while I was waxing the chain! I had the moka pot and the waxy double-boiler on the stove at the same time.

Taking the chain off was simple, thanks to the new Wippermann Connex quick link. Then I wiped down the chain with a clean rag (there was not very much grime come off), and bundled the chain into the pyrex dish that I used last time, laying it on top of the solid wax in the bottom of the dish. Then that went into a saucepan and onto the stove, and within five minutes it'd all melted and the chain was immersed. I jiggled it around a bit with a wire, and the wax got a little bit grubbier when I did that. Then out to the shed, where I hoisted it out of the dish and hung it on a hook I put in the ceiling, dripping down into the dish.

The most time consuming part of the process was probably waiting for it to cool enough to handle. (Although I did idle over my coffee a bit I guess.) And then getting it back on to the bike is certainly the fiddliest part. That was helped by the hooks of the wear gauge.

All up, I'm still super glad to have switched to waxing. It does feel like cycling on butter!

Dowelling jig


· woodworking ·

I bought a dowelling jig the other day, and made the frame of a box with it on the weekend. It went incredibly well, considering the lack of care I took over accuracy. I just bunged the thing on the corners of the boards and drilled away merrily — no clamping, not even a depth-stop on the drill bit, let alone a ruler or square within sight. But because the jig sets the first hole centred on whatever the thickness is, and then subsequent holes in reference to that, there's not much that can go wrong. I was pretty impressed.

It was also a nice exercise for me in realising that not all boxen need dovetails. This box is for my new angle grinder, so I wanted joints that would reflect the precision and beauty of that machine.

Just a minute, they're out of order


It's nice that they've added a whole new series of Just a Minute, but why are they out of order?

Re-waxing the garage door


· woodworking · finishing · wax ·

I've applied a new coat of wax to the workshop doors. This time, a mix of linseed and beeswax applied hot. It's just a matter of plonking the wax tin in a double boiler for a little while, and wearing gloves. The door had been in the sun all morning so the wood itself was pretty warm, and the whole thing took about five batches (although every time I do this it uses a bit less, as the expansion gaps get more and more filled with wax).

Spaces in rewritten URLs


· Cargo · MediaWiki · Apache · system administration ·

The WMAU calendar feed broke after a recent upgrade to Apache. It was returning a 403 Forbidden response, but it wasn't immediately clear why. The logs were showing e.g. "… [rewrite:error] … AH10411: Rewritten query string contains control characters or spaces" where there'd never been an issue before.

The /events.ics URL is a rewrite to a CargoExport URL: RewriteRule ^events.ics$ "/w/index.php?title=Special:CargoExport&tables=events&fields=_pageID,_pageName,start_date=start,end_date=end,location,CONCAT('More information: https://wikimedia.org.au/wiki/Special:Redirect/page/',_pageID)=description&where=DATE(end_date)>=DATE_SUB(CURRENT_DATE, INTERVAL 3 MONTH)&format=icalendar&icalendar name=WMAU&icalendar description=Wikimedia Australia coming events&filename=events.ics" [L]

Turns out it's because of fixing CVE-2023-25690, and the fix here was to use + for spaces (and not %20 as I first tried):

RewriteRule ^events.ics$ "/w/index.php?title=Special:CargoExport&tables=events&fields=_pageID,_pageName,start_date=start,end_date=end,location,CONCAT('More+information:+https://wikimedia.org.au/wiki/Special:Redirect/page/',_pageID)=description&where=DATE(end_date)>=DATE_SUB(CURRENT_DATE,+INTERVAL+3+MONTH)&format=icalendar&icalendar+name=WMAU&icalendar+description=Wikimedia+Australia+coming+events&filename=events.ics" [L]



For the sequel to EIIR I went into Perth to check out the coronation action. There wasn't a great deal.

Entrace to Government House

People taking photos with the royal photo

Royal photo in the ballroom foyer
Northbridge Plaza with no crowd watching the live broadcast

Backing up Digital Ocean Spaces with rclone


I have a few wikis that use the AWS extension for storing their files. This means I can use Digital Ocean's Spaces object storage (which is S3 compatible). It's worked pretty well for a few years now.

I use Rclone to back up the Spaces buckets. Each wiki has a config section in ~/.config/rclone/rclone.conf, such as the following:

type = s3
provider = DigitalOcean-wikiname
env_auth = false
endpoint = sgp1.digitaloceanspaces.com
acl = private
secret_access_key = SECRETKEY
access_key_id = ACCESSKEY

This means that the backup script can use that config (and also avoid backing up the thumb/ directory, because that can be re-built for these wikis):

echo "Downloading wikiname"
rclone sync --progress digitalocean:wikiname \
    --s3-endpoint=sgp1.digitaloceanspaces.com \
    --exclude="/thumb/**" \

Evening at Gage Roads


The rain came in on us, but the harbour view is always pretty great:

Fremantle History Society meeting, Deborah Hindley


Dr Deborah Hindley presented at the Fremantle History Society meeting last night on the topic of A Fremantle family: love, loss and locality, about her grandmother Maggie Hicks who ran the shop at the corner of Quarry and Barnett Streets (as well as other family members). Maggie Hicks was included in the 1978 compilation Reflections: Profiles of 150 Women who Helped Make Western Australia's History.

ToC of Reflections. Source.

The full list is:

  1. Ellen Stirling (née Mangles)
  2. Eleanor Edwards
  3. Georgiana Molloy
  4. Helen Scott
  5. Louisa Eliot
  6. Ann Carson
  7. Ellen Bussell
  8. Charlotte Muir
  9. Jane Adams
  10. Friederike Waldeck
  11. Emma Withnell
  12. Mary Cuper
  13. Eliza Cronin
  14. Martha Hillard
  15. Wilhelmina Sloss
  16. Margaret Forrest
  17. Fanny Hunt
  18. Clara Sunders
  19. Mildred Fairclough
  20. Alicia Pell
  21. Louisa Glasgow
  22. Evelyn Wells-Taylor
  23. Frederica Cooke
  24. Elizabeth Dodd
  25. Mary Nicolay
  26. Madeleine Onslow
  27. Polly Daw
  28. Maggie Hicks
  29. Roberta Jull
  30. Elizabeth Halford
  31. Winefrede Bellanger
  32. Blanche McCaffrey (mother of M. Joseph McCaffrey)
  33. Jean Beadle
  34. Mary Driver
  35. Katherine Clutterbuck (Sister Kate)
  36. Sorato Keegan
  37. Edith Dicksey Cowan
  38. Mary Jane Counsel
  39. Lily Hannah Brown
  40. Amelia Macdonald
  41. Frances Ruffy Hill
  42. Eva Edmeades
  43. Christina Sewell
  44. Alice Kinston
  45. Agnes Walsh
  46. Mabel Nicholas (Sister Rosalie)
  47. Isabella Johnston
  48. Helen Cole
  49. Eleanor Burbidge
  50. Beryl Mills
  51. Marjorie Burton
  52. Elizabeth Cunningham
  53. Edith Tonkin
  54. Olivia Walker
  55. Florence Cardell-Oliver
  56. Betsy Rice
  57. May Holman
  58. Mrs Chesters
  59. Mollie Skinner
  60. Susan Casson
  61. Margaret Graham
  62. Ellen Jones
  63. Margaret Wylie
  64. Daisy Bates
  65. Amy Pretoria Brown
  66. Mary Bennett
  67. Rosetta Kelly
  68. Elsie Curtin
  69. Jessie Grimshaw
  70. Katharine Susannah Prichard
  71. Agnes Robertson
  72. Mary McKinlay
  73. Bessie Rischbieth
  74. Frances Craig
  75. Ivy Kent
  76. Edna Brophy
  77. Ethel Scott
  78. Mary Addison Hamilton
  79. Lucy Davies
  80. Mabel O'Brien
  81. Dorothy Forsaith
  82. Gloria Butcher
  83. Mildred Walshaw
  84. Henrietta Drake-Brockman
  85. Florence Hummerston
  86. Esme Fletcher
  87. Ruth Wright
  88. Fannie Rose Rudeforth (Sister Alice)
  89. Margaret Edis
  90. Belle Gladstone
  91. Amy Crocker
  92. Edwyna Ross
  93. Lucie Howell
  94. Eleen Joyce
  95. Honoria Lyons
  96. Dorothy Genders (Sister Dorothy)
  97. Maud Foxton
  98. Pauline Riley
  99. Rita Barlett

Swandocks' luffing cranes


· Fremantle · Wikimedia Commons ·

I went for a detour to South Mole on my way to work this morning, to see what progress has been made on dismantling the Swandocks cranes. There's lots of scaffolding, but I guess not enough yet and the crane seems still to be in one piece.

Returning, I remembered that the Welcome Walls do not have a Wikidata image yet, so I tried to take a photo:

Writing in 'letter circles'


There was a post on Hacker News a few days ago about an idea for a 'Letter Circle', in which people exchange longer messages ('letters', whatever they are):

At one point, there were long form letters exchanged between experts in their field. Artists and writers would write to one another and share their latest struggles. Scientists would exchange notes on problems and theories. Many transformative intellectual works of the 18th and 19th centuries were at least in some manner influenced by letter writing. It was how specialists found peers in a geographically dispersed world.

Having participated in versions of this, particularly during the early blogging era, there’s something uniquely generative about being forced to explain yourself in long form text. And there’s something healing and inspiring when peers respond with care and understanding.

The Letter Circle by Daniel Cook, 26 February 2023.

POSSE-PESOS in one's own digital garden


Being an imperfect gardener of my digital garden by Elizabeth Tai, 6 July 2023:

Blogging the POSSE/PESOS way

Twitter’s meltdown has awaken me to the fact that I’ve been producing content for social media platforms free for years, when it could be on my blog.

The POSSE/PESOS philosophy is all about having a homebase on the Internet. That homebase should be a website with a domain name you own. All your content should pulse from the website to channels you do not own like Facebook, Twitter and Goodreads.

The Hester Story


The other day I met a distant cousin of mine, Anne Harse (née Hester). She's written a history of her branch of the family: The Hester Story: a history of the Hester Family in Western Australia and the early development of the Bridgetown district. (TimeTrackers, Fremantle, 2014, ISBN 9780980785159).

Just noting it here for my own reference.

Scanning or clicking photos


Most photo management software treats photos and files as one and the same thing. One photo equals one file, and any derivatives or alternatives of the photo up as separate photos in the system. Flickr's like this, as is Wikimedia Commons, and DigiKam and other desktop systems too. But it's annoying! Certainly it makes sense for the majority of photos, those that are born digital and never edited, but I find myself working with other photos quite often and things are not so simple. Even a simple digital photo with a single cropped or otherwise modified version needs a separate level of description, and when it comes to digitized negatives or multiple prints things get more messy. The rule I follow these days is that a 'photo' is the click of the camera, and whatever results from that — be it negatives, prints, digital files, and any number of derivatives — should be grouped together and called the same thing. But even that is messy, because individual physical parts need to also be represented by their own metadata (but can still comprise multiple files).

So that means I end up with a structure like the following, with each node being a separate wiki page. Somewhat overkill for most pics.

Diagrams error: no response received from remote service.

FHS 2023 AGM


· FHS · meetings ·

This year's AGM of the FHS was good. It's the first I've been to, and it's always interesting to see how different organisations conduct themselves. It was also a very atmospheric venue: a cold and rainy winter's evening in St John's — with wine, and cheery historians. After the official proceedings (in which there were no great surprises) Marian Agmobar spoke about the history of the church.

The next FHS meetup was to be a lunch at the Wray Hotel in August.

Escaping the rain in Who's Your Mumma


· pubs · OSM ·

I arrived at this pub just as the rain started. Not that you can see it out the window in this photo.

I'd been out collecting addresses for OSM. Slow progress, but steady; got most of Carnac Street done, and some more.

Editing posts


It always seems slightly artificial to me, that it's not possible to edit the timestamp of a Mastodon post. Of course it's editable, it's just data in a database somewhere! But I'm trying to think of it more like ink on paper; a declaration of a point in time; a thought that there's perhaps something immutable in our digital lives even if it's just a shared pretence of the fact.

It does annoy me that I can't write my posts on paper days before, and still have them appear in the right order. Probably I should just go back to blogging.

(I wrote this on Mastodon, but exceeded the character count limit...)

Cooler Master MK730 keyboard


· hardware ·

I do really like the Cooler Master MK730 keyboard, but it has various key combinations that are used for setting its argybargy behaviour and other things. Now and then I accidentally hit one of these without knowing which, and things change. Usually this is just a matter of having weird flashing lights for a few days until I give in and try to get back to my normal unlit state, but today it seemed that I'd done something to the ctrl key — I couldn't copy and paste. How's a coder meant to survive like that?!

Anyway, the product sheet (PDF) was of no use, but thanks to a Reddit post I figured out that it was the Windows Lock (Fn+F9).

I thought I'd end this post with a list of all the useful key combos, but I've got the thing working enough to make me happy for now, so I'm not going to bother.

Lake Gwelup


Lake Gwelup is a lovely lake in the northern part of Perth. Doesn't seem to have a Wikidata item (or at least no coords, as it's not showing on Wikishootme). And only a few geocoded pics on Commons, so I took some (and later created a new category and new item for the lake):

Get blogging


· blogging · writing ·

This is a good site to point people to when trying to explain why anyone should start a blog:


A blog is an easy way to get started writing on the web. Your voice is important: it deserves its own site. The more people add their unique perspectives to the web, the more valuable it becomes.

Remember that your blog is yours! Your posts can contain exactly what you want them to: a sentence of text or a novel-length essay; photos and videos; audio; links and bookmarks. What you want to share is entirely up to you.

Wikisource community meeting, September 2023


· Wikisource ·

The Wikisource community meeting last night was interesting. Lots of things discussed, including:

  • Transkribus, Tesseract, and Google OCR issues;
  • copyright in countries with less stringent rules than the US and how we can upload those works to Commons (or locally to a Wikisource); and
  • How to restrict page validation to a subset of users (and whether it's a good idea to do so).

108,000 index cards

Chris Aldrich has bought some index card cabinets:

I just did a quick calculation and I’ve purchased 2 large card index cabinets, and 5 small indexes […] It gives me about 65 linear feet of index card space which should hold approximately 108,000 index cards.

Buying cards in bulk groups of a 1,000 for the going rate of about 2 cents each, I’m looking at a lifetime index card bill of around $1,700 to fill it all up.

If I look at a 30 year time span, I’m all in for about $2,500 (I’m adding a bit for pens/pencils/ink) versus an annual subscription to Roam Research (currently $165/year) or for Evernote (currently $170/year) both of which would put me at about $5,000 (presuming either is around in 30 years.)

CommTech manager needed


· Wikimedia · CommTech · jobs ·

My team (Community Tech) at the Wikimedia Foundation is looking for a new product manager extraordinaire: Lead Community Tech Manager

We run the annual wishlist survey, and work on stuff from it. It's fun! We're nice! :-)

WMAU news feed


· Wikimedia Australia · feeds · blogging · Wikimedia ·

This afternoon I've added a news feed to the Wikimedia Australia website: https://wikimedia.org.au/news.xml

(If you don't know what a feed is, have a read of aboutfeeds.com.)

The new feed is produced by Cargo's new 'feed' export format, that I worked on earlier this year. I think there are still some bugs, but it's working at least in some respects.

The feed is documented on the blog post template, and uses a query that looks a bit like the following (it doesn't actually use the query that's stored on that doc page; see below for where it's actually stored):

{{#cargo_query: tables=blog_posts
 | fields = _pageName, CONCAT(date, 'T12:00:00')=start, authors=author
 | format = feed
 | limit = 10
 | order by = date DESC

Note the weird hack for the date, because date is a Date field (without time component) but the feed needs to have a time. I set it to midday UTC, but that's pretty arbitrary. The other weird thing is that the date field needs to be called start because Cargo looks for a Date type field and the concatenated string isn't of that type; it also, however, looks for a field named 'start', so this uses that workaround. I think this is a bug, but I haven't fully confirmed that (it seems to me that it should permit just a Date field, but I see the point of perhaps not because it's hard to know exactly when in time it should be — days being 52 hours long and all that).

The above query produces a URL for Special:CargoExport, which then can be added to the Apache config so that we can have a much nicer URL:

## Atom shortcut
RewriteRule ^news\.xml$ "/index.php?title=Special:CargoExport&tables=blog_posts&fields=_pageName,CONCAT(date,'T12:00:00')=start,authors=author&limit=10&format=feed&feed+type=atom&feed+title=Wikimedia+Australia+news&feed+description=Recent+posts+from+the+Australian+chapter+of+the+global+Wikimedia+movement.&order+by=date+DESC" [L,QSA]

Note the QSA a the end, which means the parts of the query can be changed — to get more items for example you can use news.xml?limit=20.

Then the site can be set to advertise the new feed URL by setting $wgOverrideSiteFeed['atom'], resulting in the following being added to the HTML head of every site page:

<link rel="alternate" type="application/atom+xml" title="Wikimedia Australia Atom feed" href="https://wikimedia.org.au/news.xml" />

MediaWiki does of course already have various feeds, but they're really aimed at people who want to keep up to date with the activity on the wiki, but they're not great if what you want is to follow the news of the organisation.

Comments on this blog post+ Add a comment
No comments yet

Wdlocator bug


I seem to have introduced a bug in wdlocator the other day when I added support for multiple Commons Category properties. :-(

Lots of things are now in Category:Array.

Update: I fixed it the next day. Turned out that I'd forgotten to update a cache key when I changed the structure of the cached Wikidata data and so some requests were using the old structure.

Navigating zones of wikis


The latest episode of Between the Brackets is an interview with Tricia Burmeister of the WMF. It's all worth a listen, but one thing that stuck out to me was her mention of the difficulty in creating navigation within MediaWiki where you want people to be able to move between a set of related wiki pages. Other wiki engines, such as Dokuwiki, can do this with namespaces, but in MediaWiki it's normally a matter of a navbox at the bottom or side (the side that's usually opposite a whole-site navigation sidebar).

I've often wanted to divide a wiki up more completely into separate zones by given each their own top-level navigation. The Extension:DynamicSidebar extension helps: it gives separate sidebars per category (the sidebars are stored in MediaWiki:Sidebar/Category:<category>). GroupsSidebar is a similar idea, but separating the sidebars by user group (so good I guess for contributor actions/tool links). I'm not sure what the caching implications are for the above extensions. I might do some more experimenting, and get it working on ArchivesWiki.

Tafe printing annex wall


For half of 2000 I attended classes at the printing annex in Subiaco, working towards a Certificate IV in Binding and Finishing. It was a two-storey building, from memory, with a great library and heaps of wonderful bookbinding equipment. I split my time between there and Pritchards.

There's nothing much left of it now, except these two low bits of red brick retaining wall on Station Street:



· writing ·

I'm experimenting with writing blog posts on my phone, using Markor, and syncing them to Nextcloud, from where I can manually move them into my website once I'm back at the computer.

Not sure it's a good way to do things yet, but it seems promising. The auto-upload feature of Nextcloud works, although I'm not sure it's good to delete-after-upload because then every time I save in Markor it removes the file (but equally annoying is without that, when it uploads new versions every time). This might need some more thought.

Marking up transcriptions


· Wikisource · Wikimedia · FreoWiki ·

I've been working more on the City of Fremantle and Town of East Fremantle Street Names Index, which is a process of (after getting a copy of the original spreadsheet that the PDF was created from) copying the data into a wiki page and then going through it line by line and adding links to the streets on FreoWiki, the Wikidata item for the street, and the FreoWiki page for the person/thing that the street is named after. It's not really about retaining the original formatting (some of the descriptions are accidentally spread over multiple table cells for instance), and it's a born-digital document so it's not really about transcription — but it is a process of annotating, with links, and so it's got me wondering. There's so much tabular data in the world that would benefit from being moved into a more structured form, but in doing so it's vital to also retain the original layout and verbatim text. Ideally the transcription process makes it easy to not have to handle each row twice (once to transcribe an annotate it, a second time to work on the annotated data) but this doesn't really feel very easy with the Wikisource-esque workflow.

It's a matter of going through a document, and adding links like I am above, and then on Wikidata adding statements based on (and citing) the document. Could a tool such as the new annotation gadget do this in one easy step? Select text while editing, get a popup with a field for searching for a Wikidata item and once one is found another field for adding a property (with the current page as a reference URL). Then it'd insert the link with a template such as wdl. It doesn't really feel like something that'd be easily generalizable, but maybe I'm wrong.

OSM mapping party in Mills Park


· OSM · exploring ·

A lovely day out today, with an OSM mapping party in Beckenham. There's something terrific about exploring a place very completely, in the company of people who want to do the same. Most people aren't interested in counting the number of fence panels along a walking path, or figuring out how to describe a failed bushland rehabilitation area. It's also weird to see small streams in Perth (although I guess people who live in the eastern suburbs are more used to it than us sand-dune dwellers).

(There are more photos at commons:Category:Geogeeks 2023-10-08.)

Cycling to Henderson


· cycling ·

Stopped for lunch at Lake Coogee. The OSM map here needs updating, there are more paved bike paths than it knows of. Some are quite new I guess.

Got to Naval Base shacks, where there were police cars and TV crews — it turned out that a bikie had been stabbed there the night before.

The cycling got (unrelatedly) less friendly the further south I went from there. Then the road actually ran out, because I got to the fence they've put up around Hope Valley or Wattleup or whatever it is. So I ended up going back the way I'd come.

Everywhere north of Naval Base is lovely, and a pleasure to cycle through.



· Yallingup ·

I was going to say that it's Friday night and my week's holiday has begun, but actually it's Saturday night and I'm already a day into it. I did manage to have a good day upgrading MediaWiki (I shouldn't say that; it'll go wrong while I'm away I'm sure!), and sorting out some minor issues with the Diagrams extension. Now I've got a stack of books to read and a week off, so I'd better set to packing my suitcase.

Smiths Beach


· Yallingup ·

Headed along the heath path to Smiths Beach this morning, for a swim in the (slightly less rough) waves this morning.

Reading in the shade


I'm sitting on the verandah with a coffee and a book. The water to the caravan park was turned off early this morning due to some fault, so there was a bit of a scramble to fill the kettle and some bottles before the water left in the pipes ran out. The phone reception here is a bit flaky, not to mention the wifi, so I'm reduced to local-only and will hope that Markor and Nextcloud do their thing. All of which is to say: my holiday is going well. Mostly because sitting quietly reading is marvellous. The sky above beyond the tea trees is blue, and shade below them so deep that my camera's HDR can't cope.



The Future of RSS

don't offer people a way to abuse you and you won't be abused. It means don't think of this as a conversational medium, and don't count on everyone hearing you. Use it for thinking out loud, and be happy when people hear you, but don't expect it.

Replying to blog posts


· indieweb ·

I wish there were a better story around replying to blogs:

It seems like the current state of the art is Webmention, but unless more folks adopt Microformats such as h-entry, h-cite, and h-card, those don’t provide a huge amount of useful information. In the mean time, I guess you’ll have to email me or poke me on social media if you want me to see your response.

I thought the above blog post was going to be about the fact that there's no good way to reply to blog posts, but actually it seems there is, it's just not widely used. I think I'll have to crack on with adding webmentions to my own blog! Although I also want to improve the below-post commenting system here too, so that it's possible to start a new comment with Extension:DiscussionTools.

Comments on this blog post+ Add a comment
No comments yet

Il Cibo has closed


· cafes ·

One of my regular haunts in Freo has closed: the il Cibo café on the corner of Market and Beach streets, opposite the train station. It doesn't seem that long ago that it took over from L2 (some time after 2006, although maybe it was years later). Hopefully they're closing because they want to, and not for financial or other adverse reasons.

Mastodon purges parts of threads


· blogging ·

I was reading something today about the complexity of Mastodon's post retention mechanisms and the ways in which it can mean that parts of conversations get purged from a single instance (and so perhaps even lost for good). As luck would have it, I can't find the post again now. I get the impression that this behaviour is quite intentional, but it does strike a bit of alarm for people (like me I think) who want the ability to go back over things in the future. Makes me want to avoid the fediverse again (although still mainly for the reasons of the character and formatting limitations).

If I ever manage to get comments working again on my blog, I think that is a better way to go. Or even the old "newspaper-correspondence" model of the blogosphere. The bit I'm not sure about is what that'd mean for syndicated content from elsewhere — would I be expected to purged it in some situations? Perhaps so.

Little Dove, the little server


The beer after which I named my new server (I mean, not this exact glass, it doesn't have a name):



Next Wednesday morning (my time) it'll will have been 1.7 billion seconds since the Unix epoch. It'll be Tue, 14 Nov 2023 22:13:20 +0000.

Not sure I'll mark the occasion, but I'll be getting ready to head to the WMAU WikiCon in Brisbane. Or sleeping, hopefully.

Oh yeah, and today is Rememberance Day, but I've not marked that in any way either. I did notice that the poppies that grow on the middle footpath bit of Martha Street (between East and West) have stopped flowering, whereas I seem to remember in previous years they were still there.

Blogging platforms


· blogging · websites ·

Reaching 8,888 posts, and a bit of a retrospective, (Rubenerd, Monday 13 November 2023):

I do feel as though my current blogging system is limiting in same ways. I’d love to do more random link-style posts, and be able to post from places other than a laptop. Static-site generation simplifies so much, but I yearn for a database I can query and batch-process. Who knows, by the time 18,888 roles by I’ll have this blogging gig all figured out.

I'm glad to have read this today, because I keep thinking of shifting my blog to a static site. It's mainly the file-management stuff that I don't like about that idea (photos, basically), because they'll have to be hosted elsewhere. Also, not being able to easily post from a phone is sort of annoying; I know I said that I liked the idea of delayed posting, but as it turns out all it means is that I don't post at all.

Maybe MediaWiki isn't such a bad way to do it!

Version numbers for MediaWiki extensions


· Wikimedia · MediaWiki · versioning · SemVer ·

The WikiEditor extension got a new release in June this year, version 0.5.4.

But it didn't really, because we don't treat version numbers of extensions as significant; they're really only actually used when another extension needs to declare a dependency (which I'm assuming is what happened this time). Some extensions don't ever get a version number (e.g. Cite).

This new release was only a point release because we don't follow Semantic Versioning (although the number does have to be valid for Composer), so it's just important to increase the number, it doesn't matter what to or by how much. The previous release was in April 2020, version 0.5.3. The changes between those two versions are considerable (including the Realtime Preview feature that my team worked on!). So there would be an argument to be made that the version number increase should've been more — but this isn't SemVer, as I say. And if it were, it's still a pre-1.0 release so really we'd have only gone to 0.6.0.

Anyway, all I'm getting at is that I think WikiEditor, that lovely toolbar (and more!) that has been helping us edit wikitext for more than 13 years, should at some point be given a nice round 1.0 release number. Even if it doesn't mean anything. :-)



This is a draft.

I've been working on an SVG Translate bug, T334454 Git tag/version fetching times out, which involved updating a dependency of the project and then adding that in.

But before can be done, the current state of the code needs to be able to pass CI, and it's failing because of a weird inconsistency


$dom = new DOMDocument();
$dom->loadXML('<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"><text><svg:tspan>T</svg:tspan></text></svg>');
$text = $dom->getElementsByTagName('text')[0];
$switch = $dom->createElementNS('http://www.w3.org/2000/svg', 'switch');
$text->parentNode->insertBefore($switch, $text);
echo $dom->saveXML($dom->getElementsByTagName('switch')[0]);

Output for 5.6.3 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.20, 8.1.25 - 8.1.27, 8.2.0 - 8.2.7, 8.2.12 - 8.2.15, 8.3.0 - 8.3.2


Output for 8.1.21 - 8.1.24, 8.2.8 - 8.2.11


Bug #81468 Inconsistent default namespace inheritance https://bugs.php.net/bug.php?id=81468


Allow svg namespace prefixes other than 'svg'

Heading to WikiCon 2023

Perth Airport

· WikiCon 2023 ·

I'm trying to figure (yet again) out how "self-contained" a website should be. MediaWiki by default is fairly opinionated about this, and wants all data and attachments to be stored within itself — with the notable exception of InstantCommons, which makes it possible to show files from Wikimedia Commons; other than that there's no text, images, or other files that get loaded from any external place. For a long time I thought that this was a good approach, avoiding issues with other resources going offline etc., but then a few years ago switched to almost the opposite: that it's better for a site to pull in lots of stuff from everywhere, and to have various parts of it use different services. That way, if anything fails the whole thing doesn't go away.

This morning I'm en route to Brisbane for WikiCon 2023, the 2nd such national gathering we've had for the Australian Wikimedia community. Although 3rd really, because last year's ESEAP conference in Sydney was pretty much also our national thing.

A morning in Brisbane


· WikiCon 2023 ·

View of the Matra hotel from the other side of the road (next door to the WikiCon venue).

The first morning of pre-WikiCon has gone well, in a Wikimedian way: a slow start because I'm on WA time, and a bit of the usual sticking the camera out the hotel windows to take photos of the surrounding area (e.g. the photo at right).

And then a walk across town to the State Library, first stopping at the Museum of Lands, Mapping and Surveying to look at their displays of early cartographic equipment (I still want to try to do some old-school mapping for OSM!), and then onwards for morning coffee at the GOMA cafe to watch the ibises and the river flowing past.

So the wiki total so far is only two photos and one Wikidata edit, but lots more are queued up.

Wikisource 20


· Wikisource · Wikimedia · anniversaries ·

20 years of Wikisource. 3,000+ years of history.

English Wikisource turns 20 today; there's going to be a (virtual) birthday party this afternoon.

I've been contributing to Wikisource since January 2008, when I started adding Joris-Karl Huysmans' The Cathedral, which I was reading as a paper-book at the time. I copy and pasted it from Project Gutenberg, and mostly wasn't really sure why I was bothering.

However, I then realised that you could add and transcribe books from scans, and I'd been reading a book that mentioned 'Golgotha' as Oxford University slang to refer to the offices of the heads of colleges, so I thought I'd add that to Wiktionary and the source citation to Wikisource. So I found Terræ-filius: or, the Secret History of the University of Oxford and added it, along with this passage:

[…]here is that famous apartment, by idle wits and buffoons nick-named Golgotha, i.e. the place of Sculls or Heads of colleges and halls, where they meet and debate upon all extraordinary affairs, which occur within the precincts of their juriſdiction

To get those scans I skived off work one morning on my way to Tuggeranong and stopped at the NLA, where I could get access to Gale's Eighteenth Century Collections Online, and I downloaded the whole work (page-by-page, if I remember correctly, because it would only give access to a single image at a time).

Since then I've added a bunch of things, and tried to proofread more than I add (not always possible, especially when building tools such as IA Upload). Not everyone understands why people would want to painstakingly transcribe text documents (I remember once being told off by my brother for wasting time on Wikisource when I should've been studying for university exams!). I think the best reason I can give is that it's about making texts available in different formats (for reading on different devices or reformatting however you want) and fully searchable and linkable (these two aspects being absolutely amazing for reference works). For languages that are less supported by the existing institutions or technologies it's also pretty great: Wikimedia projects in general are available in more languages than anything else in the world (both the content languages, and the languages that you can use for the interface elements).

Wikisource is a great project, and I hope it carries on for another twenty years (at least)!

Refreshing the cache

South Beach

I'm trying to make UnlinkedWikibase a bit more performant for pages that include data of tens or more of entities. The basic idea is that the parser function, which currently causes a remote request to me made, will still do that but it'll specify the cache TTL of that request to be 'indefinitely'. That way, subsequent parser function calls will result in the cached data being used—forever.

That of course is silly, so the next part of it is a maintenance script that will loop through all entities in use, and for each of them it will refresh the cache.

Hopefully this means that the editing user experiences the slowness of the remote fetching, but no one else needs to. The trade off being that the data might be a bit out of date, but the only time I've found that to be a problem is during development of modules, or when demonstrating to someone the way in which edits made on Wikidata propagate to the local wiki. Neither are insurmountable, and if they're too annoying then perhaps an on-demand cache refreshing could be added somewhere.

Anyway, the current issue seems to be my misunderstanding of how to refresh a cached item that has an infinite TTL. And the main issue there is that I'm now sat under a tree in the shade on a hot Sunday afternoon, and am giving up on thinking for the day.

Hiding from Christmas


It's four days before Christmas, a hot easterly has been blowing all day (as in 37° hot), and I think the advice from Paul Micallef is pretty tempting: hide from it all. However, second best is to flit between bookshops, buying as many books as possible.