Note #25375

Today, while I cooked dinner, I introduced my two children (aged 10 and 8) to Goat Simulator.

Within half an hour, they’d added an imaginative twist and a role-playing element. My eldest had decreed themselves Angel of Goats and the younger Goat Devil and the two were locked in an endless battle to control the holy land at the top of a rollercoaster.

The shrieks of joy and surprise from the living room could be heard throughout the entire house. Perhaps our whole village.

Bacon Solves Little, Improves Much

Even when you’re not remotely ready to think about Christmas yet and yet it keeps getting closer every second.

Even when the house is an absolute shambles and trying to rectify that is one step forward/one step sideways/three steps back/now put your hands on your hips and wait, what was I supposed to be tidying again?

Even when the electricity keeps yo-yoing every few minutes as the country continues to be battered by a storm.

Even when you spent most of the evening in the hospital with your injured child and then most of the night habitually getting up just to reassure yourself he’s still breathing (he’s fine, by the way!).

Even then, there’s still the comfort of a bacon sarnie for breakfast. 😋

Brioche bun loaded with thick cut bacon rashers, plated, on a wooden surface.

×

Note #25369

Here in Oxfordshire we’re nowhere near the epicentre of Storm Darragh, but we’re still feeling the effects. A huge tree came down and blocked the Thorney Leys road in Witney near Burwell Meadow and the kids and I needed to take an ad-hoc diversion.

🤞 Fingers crossed for all my friends and family in worse-hit places!

Note #25356

For my final bit of Three Rings volunteering this International Volunteer Day, I’m working on improving the UI of a new upcoming feature: a spreadsheet-like page that makes it easy for administrators to edit the details of many volunteers simultaneously (all backed by the usual level of customisation and view/edit permissions that Three Rings is known for).

Screenshot showing a web page, 'Three Rings Directory - Edit All': a spreadsheet-like view of multiple volunteers, some of whom have had personal details like First Name, Address, or Telephone changed, resulting in these being highlighted and a prompt appearing to allow the changes to be saved/committed.

It’s a moderately-popular request, and I can see it being helpful to volunteer coordinators at many different types of voluntary organisation.

Don’t have time to write up the test instructions today, though, because I’ve got to wrap up my volunteering and go do some childwrangling, so that’ll do for now!

×

Note #25347

Even when it’s technical, not all of my International Volunteer Day work for Three Rings has been spent using our key technologies (LNMR [Linux, Nginx, MariaDB, Ruby] stacks).

Today, I wrote some extra PHP for our WordPress-powered contact form to notify our Support Team volunteers via Slack when messages are sent. We already aim to respond to every message within 24 hours, 365 days a year, and are often faster than that… but this might help us to be even more-responsive to the needs of the charities who we help look after.

A filled contact form alongside a Slack message and a resulting ticketing system message.

×

Note #25345

My Three Rings volunteering this International Volunteer Day isn’t all technical work. It’s also time to process the incoming postal mail.

In front of a letterbox, an hand holds an open envelope and a (censored) Danske Bank cheque for £219.

Our time as volunteers may be free, but our servers aren’t, so the larger and richer charities that use our services help contribute to our hosting costs. Most send money digitally, but some use dual-signatory accounts that require they send cheques.

×

Note #25343

As well as the programming tasks I’m working on for Three Rings this International Volunteer Day, I’m also doing a little devops. We’ve got a new server architecture rolling out next week, and I’m tasked with ensuring that the logging on them meets our security standards.

Terminal screenshot showing a directory listing of a logs directory with several gzipped logfiles with different date-stamped suffixes, and the contents of the logrotate configuration file that produced them.

Each server’s on-device logs are retained in date-stamped files for 14 days, but they’re also backed-up offsite daily.

Those bits all seem to be working, so next I need to work out a way to add a notification to our monitoring platform if any server doesn’t successfully push a log to the offsite backup in a timely manner.

×

Note #25341

Not every code review is fireworks, but most Three Rings changes come from the actual needs of the voluntary organisations that Three Rings supports. Some of our users were confused by the way the Admin > Roles page was laid out, so one of our volunteers wrote an improved version.

And because we’re all about collaboration, discussion, learning from one another, and volunteer-empowerment… I’ve added a minor suggestion… but approved their change “with or without” it. I trust my fellow volunteer to either accept my suggestion (if it’s right), reject it (if it’s wrong), or solicit more reviews or bring it to Slack or our fortnightly dev meeting (if it requires discussion).

GitHub screenshot showing a suggested change to a pull request. Dan-Q is suggesting that the new sentence 'These roles belong to .' should not have a full stop at the end, for consistency with other similar headings.

×

Note #25339

Good news! It turns out that the new code to fix the mail merge fields in Three Rings doesn’t introduce an inconsistency with established behaviour. It was important to check, but it turns out all is well.

I touched bases with a fellow volunteer on Slack. Three Rings volunteers primarily communicate via Slack: it helps us to work asynchronously, which supports the fact that our volunteers all have different schedules and preferences. Some might do a couple of evenings a week, others might do the odd weekend, others still might do an occasional intense solid week of volunteering with us and then nothing for months! A communication model that works both synchronously and asynchronously is really important to make that volunteering model work, and Slack fits the bill.

Slack screenshot showing a discussion between Dan Q and another volunteer about whether it's reasonable for a volunteer to be able to send another volunteer an email containing private information accessible only to the second volunteer, so long as it's embedded via a merge field and the actual value is never shown to the first volunteer. Ultimately, Dan suggests that we stick to the established behaviour, which turns out after testing to be that volunteers can't send such private information to one another.

We get together in person sometimes, and we meet on Zoom from time to time too, but Slack is king of communication at Three Rings

×

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.

×

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.

×

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.

×

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)

×