
Hello world, and welcome to my corner of the web. This is where I write words about what I'm working on, and post photographs of things I've seen.
I'm a software engineer at the Wikimedia Foundation, and so of course my personal website is a wiki (running on MediaWiki). In my spare time I volunteer with WikiClubWest to work on Wikimedia projects, mostly around my family's genealogy and local Western Australian history (especially to do with Fremantle). I try to keep up with issues on all the things I maintain (but usually fail), as well as listing the software that I use.
I try to find time to work in my workshop on various woodworking projects. Recently, that's been focused on building a metalworking bench, and will soon be about a set campaign-style drawers that's in the works. I've a good-sized workshop because I don't have a car.
Travel features in my life, not because I really hugely want to go elsewhere but because I just do — and also because then I can do some interesting mapping on OpenStreetMap, and take photos for Wikimedia Commons. Sometimes I ride my bike to get there, or walk, but more often it's planes, trains and ferries.
I'm currently reading the following books: Canadian Short Stories (Robert Weaver, 1960), and Doctor Thorne (Anthony Trollop), and England, Their England (A. G. Macdonell, 1933), and The Ante-Room (Lovat Dickson, 1959), and The Countryside Companion (Tom Stephenson), and The Factory Floor (Carolyn Polizzotto), and Vesper Flights (Anon).
To contact me, you can email me, find me on Matrix as '@samwilson:matrix.org' or Telegram as @freosam.
This site is on webring.wiki; explore other sites: [ ←previous | next→ ]
Below are my recent blog posts, and you can jump to the bottom to navigate to other posts from earlier times.
ABC podcast feed URLs
Fremantle
· ABC · RSS · feeds · podcasts ·
The ABC seems really worried to share the fact that you don't have to use their Listen app to listen to postcasts. As James Cridland pointed out last year, they do have a general structure to their RSS news feeds:
https://www.abc.net.au/news/feed/<id>/rss.xml
And for podcasts it seems to be:
https://www.abc.net.au/feeds/<id>/podcast.xml
This is despite them saying that they "increasingly require greater control of our content and its distribution, RSS feeds are no longer being updated."
The trick is to find that <id> value.
You can do that by going to a programme's home page,
and searching the source of the page for something like coremedia://program/7711104.
For example, for Conversations
it's https://www.abc.net.au/feeds/7711104/podcast.xml
Friday flattenings
Fremantle
· archives · HMW Archives ·
It's Friday night and I'm working on flattening another batch of 1890s Cossack documents. So many insurance documents! And a few land lease agreements, which are interesting. Not that I'm reading much of it, just unfolding and putting in folders for a few months. At some point I hope I'll actually get to the bottom of this box, and then start photographing everything.
ROOTS before POSSE
Fremantle
· indieweb ·
I’m bringing everything back to my website, Lisa Charlotte Muth, 11 March 2026:
My content now lives on my site – more than ever, that is. Over the past few weeks, I’ve created a new space on this website where I can keep a collection of almost “everything” I’ve ever published online, and one where I can write journal-like “notes.” […]
Why am I doing all this? Because I got inspired by the concept of POSSE: “Publish on your own, syndicate elsewhere.” For me, ROOTS is the logical first step toward that: “Return Old Online Things to your own Site” (yes, I made this up). Why? If I do decide to delete my X account or if Blogger gets quietly discontinued, then I don’t care: it’s all on my site already. I own it. It’s all Markdown files and images that I can back up anywhere I want.
A new indieweb acronym is always good! And I've always liked the idea of one's own site being the comprehensive archive of all things. I'm not very good at making mine be that, but I do have plans to improve.
More Cargo errors
Fremantle
I thought I'd already gone through the various places in Cargo that would silently fail on over-length values, but it seems like Page and File column types can still be made to throw exceptions with long strings. I'd write a bug report rather than ranting here, but I'm tired, and what's the internet for if not ranting (and cat photos)?
Cone of library silence
Fremantle
It used to be possible to disappear into the library, or maybe a computer lab, and while away the entire day without anyone interrupting or even knowing where you were. It's the impossibility of interruption that seems to be missing these days.
By which I mean, it's Saturday and I'm hiding from the world (and trying to finish my Hetzner migration).
Seabourn Sojourn
Fremantle
· Fremantle Harbour ·
MV Seabourn Sojourn is in harbour today, and I joined in the general peering at it that was going on along Perth Hughes Drive. One lady was about to embark for Hong Kong. I was just trying to get pics of the passenger terminal, because the gates aren't often open when I'm walking past.
It seems that Wikidata has had the name of the lumpers' cafeteria (a.k.a. the C.Y. O'Connor Centre) wrong, conflating it with the building next door (the Immigration Centre or Old Police Station).
Migrating an object store from Digital Ocean to Hetzner
Fremantle
· hosting · VPS · Hetzner ·
I've finally gotten around to moving a bit more of my web stuff to Hetzner. Today it was the S3-compatible object store that this blog uses for images and other uploaded files. The whole process was reasonably easy, apart from a few waiting bits where I forgot what I was doing and an unfortunate silliness with DNS where I forgot to copy some records to the new system.
Setting up the new bucket in the Hetzner Console interface (not the KonsoleH one) was simple,
as was copying the data across with Rclone (with do and hetzner remotes set up in rclone.conf):
$ rclone sync do:my-wiki hetzner:my-wiki --progress
The main difference between the providers is that Digital Ocean sets up custom subdomains for buckets automatically, including SSL certificates (from LetsEncrypt). On Hetzner we have to do that ourselves, which I'm actually finding much easier to think about because the configuration lives alongside the rest of the webserver's.
The official docs give instructions for Nginx, but not Apache, for which something like the following config works:
RewriteEngine On
SSLProxyEngine on
<VirtualHost *:80>
ServerName files.samwilson.id.au
RewriteRule ^/(.*)$ https://files.samwilson.id.au/$1 [L,R=permanent,QSA]
</VirtualHost>
<VirtualHost *:443>
ServerName files.samwilson.id.au
SSLCertificateFile /etc/letsencrypt/live/files.samwilson.id.au/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/files.samwilson.id.au/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
ProxyPass / https://my-wiki.hel1.your-objectstorage.com/
ProxyPassReverse / https://my-wiki.hel1.your-objectstorage.com/
RequestHeader set Host "my-wiki.hel1.your-objectstorage.com"
RequestHeader set X-Forwarded-Host "{HTTP_HOST}s"
RequestHeader set X-Real-IP "%{REMOTE_ADDR}s"
RequestHeader set X-Forwarded-For "%{X-Forwarded-For}s, %{REMOTE_ADDR}s"
Header set Access-Control-Allow-Origin "https://samwilson.id.au"
</VirtualHost>
I do keep finding Hetzner's convention of using placeholder-sounding domain names to be a bit confusing.
your-objectstorage.com isn't example text, it's the real domain name.
They also have your-server.de and first-ns.de and seemingly plenty of others.
Referencing OSM objects
Fremantle
Persisting your ids … by SimonPoole on 8 March 2026:
you need to not just store the elements_type_, its id and its version, you need to store an associated timestamp, in the simplest case the time when you retrieved the element to create the mapping. To then check if the object has been further modified if the version hasn’t changed, retrieve the element and recursively compare your timestamp to that of the child elements, if any of them are more recent than your timestamp, yes the object has been changed. No need to use historic data or anything exotic, the current OSM data is enough. You could even envision providing an API for this.
Walking along the river
Fremantle
· Fremantle · Swan River ·
The river path is nice this morning.
A memorial seat for Bob and Bonnie Munro, "residents of East Fremantle 1938–2008 / Our parents lived, loved, swam, fished, crabbed and picnicked on this river, and raised four sons / Sit here and share their contentment / Placed by their loving family."
View older posts: ·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 · 2025 · 2026 ·
