Blog

Note #25337

My first task this International Volunteer Day is to test a pull request that aims to fix a bug with Three Rings’ mail merge fields functionality. As it’s planned to be a hotfix (direct into production) we require extra rigor and more reviewers than code that just goes into the main branch for later testing on our beta environment.

My concern is that fixing this bug might lead to a regression not described by our automated tests, so I’m rolling back to a version from a couple of months ago to compare the behaviour of the affected tool then and now. Sometimes you just need some hands-on testing!

Screenshot showing web application Three Rings viewed on a local development machine, being used to compose an email about International Volunteer Day. A merge field called 'first_name' is included in the email, and it's hand-annotated with the question 'working?'. Alongside, GitHub Desktop shows that we've rolled-back to a revision from two months ago.

×

Note #25334

Happy International Volunteer Day! Volunteering rocks.

As I’m on sabbatical, I’m in the lucky position of being able to spend most of the day on a volunteer project very close to my heart: Three Rings. Three Rings is a 22-year-old web-based service produced by volunteers, for volunteers. The software service we produce supports the efforts of around 60,000 volunteers working at charities and other voluntary organisations around the globe.

Dan, a white man with a goatee-style beard and long hair tied back, wearing a black t-shirt with an abstract pride rainbow, holds a mug of coffee in one hand and gives a thumbs-up with the other. Behind him, three computer screens show a mixture of code, source control, chat, email, and web browser windows. His desk is cluttered.

I’ll be posting throughout the day about some of the different tasks I take on. My volunteer role with Three Rings is primarily a developer/devops one, but it takes all sorts to make a project like this work (even if my posts look biased towards the technical stuff)!

But first: coffee.

×

A Friend Used AI to Wish me Happy Birthday

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

“I was sincere! I wanted to tell you happy Birthday but I wanted to have AI do it.”

“Why?” I shot back, instantly annoyed.

“Because I didn’t know how to make it lengthy. Plus, it’s just easier.”

I felt as if I’d been punched in the gut. I just sat there, stunned. The last sentence repeating itself in my head.

It’s just easier. It’s just easier. It’s. Just. Easier.

Robert shares his experience of receiving a birthday greeting from a friend, that had clearly been written by an AI. The friend’s justification was because they’d wanted to make the message longer, more easily. But the end result was a sour taste in the recipient’s mouth.

There’s a few things wrong here. First is the assumption by the greeting’s author (and perhaps a reflection on society in general) that a longer message automatically implies more care and consideration than a shorter one. But that isn’t necessarily true (and it certainly doesn’t extend to artificially stretching a message, like you’re being paid by the word or something).

A second problem was falling back on the AI for this task in the first place. If you want to tell somebody you’re thinking of them, tell somebody you’re thinking of them. Putting an LLM between you and then introduces an immediate barrier: like telling your personal assistant to tell your friend that you’re thinking of them. It weakens the connection.

And by way of a slippery slope, you can imagine (and the technology has absolutely been there for some time now) a way of hooking up your calendar so that an AI would automatically send a birthday greeting to each of your friends, when their special day comes around, perhaps making reference to the last thing they wrote online or the last message they sent to you, by way of personalisation. By which point: why bother having friends at all? Just stick with the AI, right? It’s just easier.

Ugh.

Needless to say: like Robert, I’d far rather you just said a simple “happy birthday” than asked a machine to write me a longer, more seemingly-thoughtful message. I care more about humans than about words.

(It’s not my birthday for another month, mind.)

Babies and Baubles

For a long time now, every year we’ve encouraged our two children (now 10 and 8 years old) to each select one new bauble for our Christmas tree1. They get to do this at the shop adjoining the place from which we buy the tree, and it’s become a part of our annual Christmas traditions.

A highly-reflective 'soap bubble' glass bauble hangs alongside a glittery gold teardrop-shaped bauble, lit by green and blue fairy lights.
This approach to decoration: ad-hoc, at the whims of growing children, and spread across many years without any common theme or pattern, means that our tree is decorated in a way that might be generously described as eclectic. Or might less-generously be described as malcoordinated!

A cluster of three baubles hangs among pink and white fairy lights: one is a multicoloured assortment of bells, another is a plain white bauble decorated with glittery green and red spots, a third is a transparent plastic sphere containing a colourful children's drawing of a stocking.
But there’s something beautiful about a deliberately-constructed collection of disparate and disconnected parts.

I’m friends with a couple, for example, who’ve made a collection of the corks from the wine bottles from each of their anniversary celebrations, housed together into a strange showcase. There might be little to connect one bottle to the next, and to an outsider a collection of used stoppers might pass as junk, but for them – as for us – the meaning comes as a consequence of the very act of collecting.

A decoration in the form of a bejewelled exotic bird hangs between a traditional bauble with a rippled texture and a hand-painted decoration showing a potted tree.
Each ornament is an untold story. A story of a child wandering around the shelves of a Christmas-themed store, poking fingerprints onto every piece of glass they can find as they weigh up which of the many options available to them is the most special to them this year.

And every year, at about this time, they get to relive their past tastes and fascinations as we pull out the old cardboard box and once again decorate our family’s strangely beautiful but mismatched tree.

It’s pretty great.

Footnotes

1 Sometimes each has made a bauble or similar decoration at their school or nursery, too. “One a year” isn’t a hard rule. But the key thing is, we’ve never since their births bought a set of baubles.

× × ×

kirby vs. this blog post

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

A cute use of Javascript to make a fun post more-fun, helping to keep the Internet fun and weird.

I want to do more crap like this.

But meanwhile, I should show this post to my 8-year-old, who recently finished playing through a Kirby game and won’t stop talking about it. He might appreciate it, but perhaps in a different way to me.

Cooking with Wine

TFW a recipe calls for a glass of wine but you can’t get the cork back in the bottle so you just have to drink the rest of it.

Dan, in a kitchen with some kind of tomato sauce on a hob behind him, holds a glass of red wine and shrugs at the camera.

Ah well, what’s a chef to do? 🤷🍷

×

Morning, Sheep

Not quite ready for wintering indoors, our village’s hardy sheep are enjoying pasturing in the large field near the school this beautiful but chilly morning.

Warm colours break through scattered clouds from a winter sunrise over sheep grazing in a scrubby pasture.

×

99 Days of Blogging

With this post, for the first time ever1, I’ve blogged for 99 consecutive days!2

Calendar showing Sunday 25 August through Sunday 1 December inclusive, with a coloured "spot" on each day with a size corresponding to the number of posts made on that day, broken into a pie chart showing the proportion of different post kinds.
The dots are sized based on the number of posts and broken-down by post kind: articles are blue, notes are green, checkins are orange, reposts are purple, and replies are red3.
I didn’t set out with the aim of getting to a hundred4, as I might well manage tomorrow, but after a while I began to think it a real possibility. In particular, when a few different factors came together:

Previous long streaks have sometimes been aided by pre-writing posts in bulk and then scheduling them to come out one-a-day6. I mostly don’t do that any more: when a post is “ready”, it gets published.

I didn’t want to make a “this is my 100th day of consecutive blogging” on the 100th day. That attaches too much weight to the nice round number. But I wanted to post to acknowledge that I’m going to make it to 100 days of consecutive blogging… so long as I can think of something worth saying tomorrow. I guess we’ll all have to wait and see.

Footnotes

1 Given that I’ve been blogging for over 26 years, that I’m still finding noteworthy blogging “firsts” is pretty cool, I think

2 My previous record “streak” was only 37 days, so there’s quite a leap there.

3 A massive 219 posts are represented over the last 99 days: that’s an average of over 2 a day!

4 This isn’t an attempt at #100DaysToOffload; I already achieved that this year as it does not require consecutive days. But it’s a cool challenge anyway.

5 My site’s backed by WordPress, but the mobile wp-admin isn’t the best and my site’s so-customised that apps like Jetpack mangle my metadata.

6 As you might now, I consider myself to be the primary audience for my blog: everybody else comes second. That’s why I don’t collect any webstats! When I used to collect webstats, I would sometimes pre-write and “schedule” posts, but without them it just feels pointless to do so!

×

Disarmed

In good news, my injured arm is not broken and should recover within a couple of weeks.

Dan, wearing a sling, stands near the reception of a Minor Injuries Unit.

In amusing news, the doctor who treated me recognised me from (tales of) my electric shock admission earlier in the year, even though she never treated me on that ocassion.

×

Stuck in a Lift

Duration

Podcast Version

This post is also available as a podcast. Listen here, download for later, or subscribe wherever you consume podcasts.

I was a small child the first time I got stuck in an elevator. I was always excited by lifts and the opportunity for button-pushing that they provided1, and so I’d run ahead of my mum to get into a lift, at which point the doors closed behind me. The call button on the outside didn’t work for some reason, and I wasn’t tall enough to reach the “open doors” button on the inside. As a result, I was trapped within the elevator until it was called from another floor.

Dan, aged ~4, stands on a railway station platform alongside his mother, yawning, on a bench. It is overcast and drizzly.
The lift I got stuck in as a child wasn’t here at Liskeard Station in Cornwall2. This photo is just to provide a sense of scale about how small I once was.
That time as a small child is, I think, the only time I’ve been stuck in a lift as a result of my own incapability. But my most-memorable getting-stuck-in-a-lift was without a doubt a result of my own stupidity.

How to brake break a lift

Y’see: it turns out that in some lifts, the emergency brakes are sensitive enough that even a little bit of a bounce can cause them to engage. And once they’re locked-on, the lift won’t move – at all – until the brakes are manually released by an engineer.

As I discovered, way back in March 2004.

Screengrab from the third episode of Russian Doll, showing Alan (Charlie Barnett) and Nadia (Natasha Lyonne) standing in a lift whose red emergency lights have come on.
Contrary to what TV and movies will teach you, it’s actually incredibly difficult to make a lift “drop” down its shaft.

On behalf of Three Rings, I was speaking at the 2004 Nightline Association conference. While there, I’d bumped into my friend Fiona, who was also attending the conference3 The conference was taking place on the upper floor of the Manchester University Students Union building, and as the pair of us got into a lift down to the ground floor, I noticed something strange.

“Woah! This lift is really spongy, isn’t it?” I asked, noticing how much the cabin seemed to bounce and sag as we stepped into it.

“Yeah,” said Fiona, shifting her weight to give it an experimental jiggle.

The elevator started to descend, and as it did so we both gave it another gentle bump, mostly (in my case at least) with an experimental mindset: did it only wobble so much when it was stopped at a floor, or did it do it at all times?

It turns out it did so at all times. Except when it bounced between floors, as we were now, the emergency brakes detected this as a problem and locked on. The lift jerked to an immediate halt. We were stuck.

Touchscreen interface for operating a smart lift, housed in the lobby.
I was reminded of my 2004 capture-by-a-lift in a dream the other night, which in turn was probably inspired by Ruth sharing with me her recent experience of using a “smart” lift she found in Dublin.

We shouted for help from people passing on a nearby floor, and they were able to summon assistance from the lift’s maintenance company. Unfortunately, we were told, because it was a weekend we’d likely have to wait around four hours before anybody could get to us, so we’d have to amuse ourselves in the meantime.

The first thing I learned about Fiona that day

That’s when I made the first of two discoveries that I would make, this day, about Fiona. I learned… that she’s mildly claustrophobic. Not enough to stop her from going into a lift, but enough that when she knows she can’t get out of a lift, it’s likely to cause her a problem. I realised that I should try to find a way to distract her from our situation, so I suggested a game.

“How about I-Spy?” I asked, half-jokingly, knowing that this game could surely not occupy us for long within the confines of a small metal box.

“Sure,” she agreed, “You go first.”

Three-storey building on a city street.
The Manchester University Student’s Union building. Image courtesy Peter McDermott, used under a CC-By-SA license.

“I spy with my little eye… something beginning with… N!” I said. If we were going to be stuck here playing I-Spy for several hours, I might as well pick something deviously tricky. Embedded into the corners of the floor were four recessed hexagonal nuts: my word was nut. That’d keep her occupied for a while.

I forget what she guessed and when, but she eventually guessed correctly. It probably took less than 5 minutes. Now it was her turn.

The second thing I learned about Fiona that day

Fiona thought for a little while, looking around our tiny prison for inspiration. Eventually, she’d found something:

“I spy with my little eye,” she said. Then, after a pause: “Something beginning with… S.”

“Screw?” I asked, assuming immediately that she’d have chosen something as devious as I’d thought mine was, and noticing that the button panel was secured with a quartet of recessed flat-head screws. Nope, Fiona indicated.

“Shoes? Oh! Soles?” I suggested, pointing to the bottoms of my shoes, which were visible as I sat on the floor of the lift. Nope.

“Shirt? Socks?” I glanced at myself. I wasn’t sure there was much inside the lift that wasn’t me or Fiona, so it seemed likely that the thing I was looking for was on, or part of, one of us.

“Step?” I gambled, indicating the metal strip that ran underneath the closed doors. No luck.

“Umm… shaft? Can you see part of the lift shaft somehow?” A smirk and an eye roll. I was getting further from the right answer.

Finger pressing a lift button.
It turns out there’s not much to I-Spy in a stopped elevator. “Six? Seven? No… wait… there aren’t that many floors in this building…”

“Ssss….sliding doors?” “Slit?” “Slot?” Still nothing.

This continued for… three… hours4. Fiona sat, self-satisfied, smugly enjoying my increasing frustration right up until the point at which the lift engineer arrived and began levering open the doors on one of the two floors we were between to allow us to wriggle our way out. I must’ve inspected every square centimetre of that tiny space, of myself, and of my gaming companion. Clearly I was alongside the world grandmaster of I-Spy and hadn’t even known it.

“Okay, I give up,” I said, at last. “What the hell was it?”

Soon, I would make the second of the two discoveries I would make about Fiona that day. That she’s quite profoundly dyslexic.

“Circle,” she said, pointing at the lit ring around the alarm button, which we’d pressed some hours before.

Dan, touching his temples, a pained look on his face.
I don’t think it’s possible for a person to spontaneously explode. Because if it were, I’d have done so.

I’d like to think that when Fiona got stuck in a lift a second time that same Spring, it was karma.

Footnotes

1 My obsession with button-pushing as a child also meant that it was hard to snap a photo of me, because I always wanted to be the one to press the shutter button. I’ve written about this previously, if you’d like to see examples of a photos I took as a toddler.

2 The photo is, specifically, Platform 3 of Liskeard Station, which is distinctly separate from the other two platforms, requiring that you leave the main station and cross the road. This is a quirky consequence of the way this section of the Liskeard to Looe branch line was constructed, which necessitated entering Liskeard at right angles to the rest of the station.

3 If I remember rightly, I first met Fiona on a bulletin board when she volunteered to help test Three Rings. She later visited Aberystwyth where she and Kit – who was also helping with the project back in those days – fell in love. It was very sweet.

4 I’d love to say that the three hours flew by, but they didn’t. But it was still infinitely preferable to being stuck in there alone. And, in fact, there are plenty of people for whom I’d have rather been stuck alone than stuck with.

× × × × × ×

Goodbye Ireland

I’m leaving Ireland a day late, from the wrong airport, and with one fewer functioning arm than I anticipated. It’s been quite the ride. I’ll be glad to get home.

Dan sits in an airport bar drinking a beer held in his right hand. His left arm is in a sling.

(for those that are concerned: I’ve damaged my shoulder, possibly while slipping down a hill in search of a geocache or geohashpoint; so, y’know, the usual reason I get injured… but I’ve got some physio instructions I’m supposed to follow, and I’ll be okay)

×

Dublin

Sooo… I’m in Dublin.

I missed me flight at Knock airport, which turns out to have been the only plane leaving that tiny airport today. So I arranged a flight from Dublin tomorrow, extended my car rental and arranged to drop it off in the capital’s airport instead, and zipped over here.

Two pints of Guinness on a candlelit table.

Now I’m in an underlit bar sipping a Guinness and waiting for a pizza.

×

Dan Q found GC8XWKX Shamrock #20

This checkin to GC8XWKX Shamrock #20 reflects a geocaching.com log entry. See more of Dan's cache logs.

My mum and I have been visiting Ireland on a geohashing & geocaching expedition. We’d spotted this shamrock shape but it wasn’t in our operating zone so we didn’t get a chance to hunt any of them, until today’s journey up to Knock airport saw us take a comfort break nearby, and we figured we’d come find this cache, at least.

Dan smiles as he opens a zip-lock bag containing a geocaching logbook, alongside a diamond-shaped Irish 'crossroads' road sign.
I’m at a crossroads. Literally, not figuratively.

Found this well-maintained cache with no difficulty at all: I thoroughly approve of a cache that is hidden just barely enough to not be muggled, but not so much as to inconvenience a geocacher who’s sometimes in a hurry! Nice work, FP awarded. TFTC.

×

Dan Q found GC8E8A0 Challenge 💖 Virtual x 15 💖 Country x 5 💖

This checkin to GC8E8A0 Challenge 💖 Virtual x 15 💖 Country x 5 💖 reflects a geocaching.com log entry. See more of Dan's cache logs.

I’ve never much gone for ‘challenge caches’. Mostly they just bug me when I fail to filter them off my map and only end up realising that I’m arbitrarily disallowed from logging them when I’m already out and about.

So imagine my surprise when, stopping in town this misty morning on my way to Knock airport after a week of geohashing/geocaching along the West coast with my mother, I discovered by chance that I’m actually eligible for it. I’ve cached plenty enough to meet the virtuals count but I couldn’t for the life of me name the six countries I’ve apparently found virtuals in. Apparently I have, though, according to the checker, so I parked nearby and walked out here to find the cache.

Dan stands by some steps in a park, holding a strange-looking log.
Shall I sign the log? Oh, wait…

It didn’t take long before I spotted something suspicious and pulled it, and lo and behold, it was the cache. The lid is absent and the logbook missing, so I tore a bit off a bus ticket from my wallet and wrote the usual bits on that before returning the cache to its hiding spot.

Dan's name and today's date scrawled on a torn-off piece of a bus ticket, atop of log.
Guess I’ll just write this here.

I’m still not a big fan of challenge caches, but I enjoyed this cache for what it is nonetheless. Might need a new logbook and possibly a lid, though!

TFTC.

× ×

Geohashing expedition 2024-11-27 53 -8

This checkin to geohash 2024-11-27 53 -8 reflects a geohashing expedition. See more of Dan's hash logs.

Location

Driveway outside a house in Garrafrauns, Co. Galway, Ireland.

Participants

Plans

A quick and easy find on our way to the airport at Knock to end our Irish adventure, this morning.

Expedition

Finding the hashpoint was easy. We drove to it, arriving at 10:31, overshooting very slightly and walking back 20 metres (we could’ve done it without even getting out of the car if we’d cared to). Then we were done.

Dan and his mother, smiling, in frozen countryside, with fog behind.
It’s pretty cold out.

What happened next is where things went wrong. We stopped in Ballyhaunis, half-way between the hashpoint and the airport at Knock, for a comfort break and to find a local geocache. Then we hiked out to find a second nearby geocache, but the icy conditions on the way back slowed us down considerably (and my mother fell over at least once). We stepped into a cafe for a quick drink, and apparently my attitude to our imminently-departing flight was so laid-back (in actual fact, I thought we had about half an hour more in-hand than we did) that my mother decided to reflect it and play laid-back too. Sarcastically, she suggested we stay around Ballyhaunis for a round of cakes, too, and I – not recognising her tone as sarcastic – agreed. In fact, I thought that her relaxed attitude was because we had a long time until our flight, too. (tl;dr: when two people famed for their sarcasm communicate sarcastically with one another, they should be careful not to, y’know, completely fuck up their plans for the rest of the day by accident)

As we digested our scones and my mother prepared to pour a second mug of tea, I pulled out my phone and realised to my horror that our plane was scheduled to depart in a little over 40 minutes: I’d got the departure time wrong. She said, “I thought you knew it was close, but you knew something I didn’t, like that it was really late!?” Nope.

We ran as fast as the icy ground would permit us to back to the car and drove at great speed to the airport, just in time to miss the closure of the departure desk. We’d just missed the last and indeed only flight out of Knock airport that day. Fuck.

Anyway, all of which is to say that we extended the rental on our car, arranged to drop it off at Dublin airport, and drove coast-to-coast across Ireland to get to a more-favourable airport and a last-minute AirBnB, where we dropped out bags then went out for pizza in a dangerously underlit bar before listening to some Irish folks music in a different bar and going to bed.

Tomorrow. Tomorrow… we’ll leave the country. I promise.

 

×