Dear FutureMe,
Today would be a good day to do a quarterly inventory.
How is your personal life going?
How is your work life going?
How is your Volunteer Service life going?
Future Me
Personal Life
This quarter gave me the opportunity to attend two weekend conferences out of town, and I enjoyed both of them.
I’m a little depressed because cold-and-overcast season is here again. I can see why people like living in the desert. I have relatives who live in the Pacific Northwest, on the coast, and man, that would be depressing nine months out of twelve.
A walk to remember
Mildly amusing, I needed to get some car work done, so I took it to the dealer I bought the car from. This is probably not the best idea because they don’t treat me as well as I would like. No matter, I dropped off the car first thing in the morning, went to a little cafe and got breakfast, and then texted a retired friend in town that I’m in town, and would he mind if I dropped by for a visit? He said, Sure, did I want a ride? No thank you, I’ll walk – I need the exercise; it will only be a 25 minute walk from downtown to his house.
I was about five minutes into the walk when the gastric distress kicked in.
I successfully did not poop my pants. Let’s get that said right up front. But man, it was an excruciating walk: go some number of feet, stop, pause, clamp down, and wait for the spasm to pass. Nowhere along the walk was a public park with a public restroom. I wasn’t going to walk up to a random house (if anyone is even home) and request to destroy their bathroom. Anyway, the mildly amusing part was that at some point, I paused, crossed the street, and paused again right behind a small pickup truck sitting in front of a house. I look up, and on the back of the pickup truck was a sticker that was essentially this:

(click the + sign to reveal the spoiler)
Thank you, God, for reminding me You have a sense of humor. 😉
Public sector Uber / Lyft
Another thing that happened is that I became miffed with the City of Visalia for using my tax dollars to play the big shot. Visalia Connect
You see, I have friends who supplement their income by driving for Uber and/or Lyft. I’m 100% in favor of people who want a side hustle getting out there and doing the work – in the private sector. I despise when the public sector tries to undermine them, because they are doing so with your and my tax dollars. If the city wants to spend tax dollars on police and fire, I’m 100% in favor of that. If the city wants to spend tax dollars on a bus system with fixed routes, okay, that’s not the worst spend of tax dollars. It’s not a great spend of tax dollars, but sure, when someone gets so elderly that they cannot drive anymore, that there is a bus system they can use is a public good. Walking would probably be better exercise for them, but sure, it’s not the worst spend of tax dollars.
But Uber and Lyft? Why the hell should the city be trying to compete with that?
WORSE – the City of Visalia contracted with a French company to provide the service.
You can barely make it out on the photograph, but the side of the van says “Operated by RATp Dev USA”. RATP Dev USA is the North American subsidiary of RATP Dev, the international arm of the Paris-based RATP Group that operates public transportation systems worldwide.
My USA tax dollars are enriching a French company to undermine local taxpayers trying to improve their lives with a side hustle.
What the hell‽
Microtransit is a luxury, not a necessity. Let the people who want to bask in luxury pay their own way at private sector prices. Let local people make some money. Let Uber and Lyft, both based in California, make some money. Don’t be taking money away from our local police and sending it off to Paris, France.
Cynical me thinks that really, some corrupt official at the City of Visalia pushed through the idea to get kickbacks. I have no proof of it, but it wouldn’t surprise me. We’ve had lots of corruption in other areas. But yeah, I wouldn’t mind seeing the officials and bureaucrats behind this tarred and feathered.
Amazon shopping this Christmas (not)
I did just about zero Christmas shopping with Amazon this year. Their “Black Friday” prices are not better value than the rest of the year. I did buy a large Christmas gift from Costco.
Personal mail server
For about nineteen months now, my personal mail server has been rebooting. I just replaced it with a different installation here the third week of December. I expect that it will be rock-solid now.
Way back when, I built it as a combination WordPress (this blog), Dovecot/Postfix, and Nextcloud server. On Ubuntu. Well, the machine I was renting was too small, so I started splitting things off. Nextcloud I moved in-house onto bare metal. WordPress I moved to a different machine, but on Debian. I left Dovecot and Postfix on the Ubuntu box, because it was probably going to be the most painful to move.
When I built my personal mail server before, I used the excellent guide by Christoph Haas (workaround.org) to build it. Back then, I’d struggled a little bit with the difference that Christoph’s instructions were for Debian, and I was installing on Ubuntu, but I made it work okay. Let’s Encrypt certbot was a little tough because I wanted a wildcard certificate for multiple domain names.
But then the server started running out of memory. I built a script that checked for an out-of-memory condition, and if so, I rebooted the box automatically.
That was twenty-seven months ago. Initially, it would go three or four days without rebooting. Nineteen months ago, it was rebooting one to three times per day. Last month, it was rebooting at least three times per day and up to six times per day. I knew I wanted to work on it, but I also expected it to be a big job. Being ruled by a hundred forms of fear, I made it into a larger problem than it was – go figure.
I’d scheduled some vacation time for Christmas and even took off the Friday before Christmas week. Then my mom called me and changed my plans on when we were going (to later). Suddenly I have four days off before I need to be on the road, and that should be plenty of time – no matter how hard the migration went. It actually took about a day.
One thing Christoph doesn’t go into is fail2ban for the webmail. I did have that on the original Ubuntu box, although it was more for WordPress than anything. But for all I know, that was the source of the memory leak. I had also done a sort of funky disk layout, so I was running Restic for local backups. Maybe Restic was the source of the memory leak? I don’t know. But the new box has the email-on-reboot script in place, so I’ll see if it doesn’t reboot on its own any time soon.
Since I re-enabled comments on this blog with the spam protection coming from hCaptcha, I thought I’d try it with my webmail client. It is working great.
KDE Donation
I’ve donated to the EFF and Internet Archive for close to a decade now – I’m happy to support projects I think are worthwhile. I started donating to the Thunderbird project two years ago in November.
This quarter the KDE project did a request for donations, and I have really liked KDE, so I signed up for a small, $5 monthly contribution. Not very long later, over on the KDE mailing list, their community manager called everyone on X/Twitter Nazis. Maybe I’m the one off-kilter here, but I thought a community manager was supposed to grow their community. The exclusionary stance ends up alienating normal people and stunting the growth of the community instead. Later, the KDE community said they supported their community manager being a bigot.
Yeah, I’m out.
If these people are so infected with TDS that they don’t see the damage they are causing, I’m certainly not going to be an enabler and continue donating to their project. It is sad because I was first exposed to KDE back in 2006, and I like the desktop environment. But perverse behavior should not be rewarded. I’ve cancelled my donation going forward. If a different desktop environment shows up that is as good or better, I’ll switch.
Work Life
Well, I found out I’d miscalculated my retirement date; the pay period ends one week later than I’d thought.
It is mildly amusing to me that February 2026 has perfect alignment, with the first Sunday being on the 1st and the last Saturday being on the 28th. On the calendar, February takes the space of exactly four weeks. May and August 2026 have the worst alignment, spanning six weeks. I did a post this quarter about programming in RPG II under the heading Helping Sales make promises they could keep. May and August were the sorts of configurations that RPG II was not naturally a good fit for.
I got (probably my last ever) Performance Appraisal and my boss was kind. I’ve been feeling guilty about how much work I’m not doing, but my boss said this is a good thing. Proper succession planning means I must train everyone else what to do when I’m not here, and the best way to test my training is to let them do the work.
Volunteer Service Life
The Events Calendar Pro (TEC)
Well, I added TEC to the website for the fellowship, but it has bugs. I’m having to watch for errant behavior and then run a MySQL statement on the server:
DELETE FROM wp_options WHERE option_name LIKE '_transient_tribe_views_v2_cache_%';
DELETE FROM wp_options WHERE option_name LIKE '_site_transient_feed__%';
Still, TEC is remarkably better than Sugar Calendar, so overall it is a win. We might try out ticket sales next.
Flyers for events
One thing where AI has been a blessing and a danger is in adding events from outside sources. I uploaded a flyer for an event to an AI and asked it to convert the flyer into WordPress-compatible HTML. In one minute it did the job that would have taken me an hour or two. So that was great.
Then for another event, I pointed the AI at a series of pages the organizing committee had put up. That went great.
Then for a third event, I did the same, but the information was wildly off. I went to the web page, copied the URL, and prompted the AI to read that web page and create HTML from it suitable for pasting into WordPress. It looked okay, but… the event is at a Sheraton hotel, and this says Hilton… and the Hilton is 25 miles away! Oof. I asked where the information it gave me came from, and it said the web page, “This is what it says”. I put into the AI prompt “No it doesn’t” – and of course, then it apologized and actually read the website and created correct content. Apparently, it had pulled information from ten years ago and had simply run with that. AI is not intelligent (yet).
Contact Form 7 and Captcha
Our office manager is a part of a community of other office managers. One of them did a demo of their website, and that office had an email contact form. My office manager requested we do the same. I’d tried Contact Form 7 back in 2018, but the spam was immediate and incessant – I quickly deleted it.
So now I need to add it back in, but not subject my office manager to the onslaught of porn, supplements, and cheap junk email. The nature of the fellowship is not a great fit for ratting out people to Google as members of this fellowship. Well, if reCAPTCHA is off the table, how about hCaptcha?
I implemented hCaptcha for the contact forms on the website, and it has worked great. I was happy enough with it that I signed up for a personal account and added it to this blog’s login form for user comments. Later I used the same account to protect webmail on my rebuilt personal mail server.
The only thing I’d like better is if there were a pricing plan between Free and Pro. I do believe in paying my own way.1 But for the month of December, I’ve used it twenty times (their dashboard tells me this). I cannot justify the Pro membership at $99 per month ($1,200 per year). The fellowship also believes in paying its own way, but also, we cannot afford $1,200 per year. $60 per year would be ideal – and I don’t actually want any additional features. I know that serving up their images and comparing the results takes CPU cycles. I just don’t want to be a freeloader.
- Unless you’re going to be an asshole and call me a Nazi for my choice in social networks (duh!) ↩︎