How to make (whatever) Linux have a nice bash shell with my favorite aliases

This is a newer version of my post How to make Ubuntu have a nice bash shell like OpenSuSE which should supersede it. I keep coming back to this topic, and think that the right way to do this is:

touch ~/.bash_aliases
vim ~/.bash_aliases
alias ll='ls -la'
alias ..='cd ..'

And then alter .bashrc to include this aliases file:

vim ~/.bashrc

At the end of the file, insert this:

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

Finally, reload bash with this:

source ~/.bashrc

The other change I always make is to edit /etc/inputrc and make the history search keys the PgUp key.

sudo vim /etc/inputrc

Find # "\e[5~": history-search-backward and uncomment it

New Fedora KDE Spin: re-do power saving setting

There is a bug in my AMD Ryzen 1700 which manifests on Linux during power sleep states. Now that I’m on Fedora KDE Spin, I need to implement it again. Fedora KDE Spin does startup scripts a little differently than the previous systems I’ve used before.

Previously, I’d used /etc/init.d/

Well, Fedora KDE Spin doesn’t use that; it uses Systemd and systemctl

As root:

cd /etc/systemd/system

vim set_c6_acpi_state_disabled.service

Paste in the following:

[Unit]
Description=Set C6 ACPI State Disabled
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/python3 /home/bazoozle/zenstates.py --c6-disable

[Install]
WantedBy=multi-user.target

Technically, I don’t need to wait until after the network is started to run the zenstates.py python script. But it isn’t obvious what would be the equivalent to @reboot in a crontab.

Then we do this:

systemctl start set_c6_acpi_state_disabled.service

systemctl enable set_c6_acpi_state_disabled.service

Migrated from Manjaro to Fedora KDE Spin on my main machine

Around six months ago, I migrated my main machine to Manjaro, as mentioned here. I liked it, and I liked it enough that I also switched to using it as my home media PC / alarm clock.

It has been great, using it as my alarm clock. I don’t think I’ve been happier with my alarm clock setup, ever. The interface of using KAlarm is super easy, and as a proper calendar ought to, it can handle “second Sunday of the month” or “on the 15th of the month” events (for example). That Manjaro hooks into the high-quality audio on the soundbar I use on my television, makes the music it plays a joy to wake up to.

Alas, on my main machine, I drive Manjaro harder, and it crashes.

Of course, I have a lot more installed on my main machine. I do more with ImageMagick, Tesseract OCR, The GIMP, Kdenlive, and Mozilla Thunderbird. Although I have webmail, my primary interface to my mail server is Thunderbird. I like Thunderbird enough that I do a monthly donation to the project to help keep it going.

Both machines have the Nextcloud client on them; that’s how I get the MP3 files to the alarm clock PC. But I tend to do more file organizing on my main machine than on the alarm clock PC.

I don’t do Discord on the alarm clock PC, and I do on my main PC.

The problem I was experiencing with Manjaro was that I’d click on something, and then Manjaro would crash to reboot.

The crash to reboot would happen maybe twice or thrice a week. This last Sunday, it did again, and that was the straw that broke the camel’s back, so-to-speak.

What to move to? Although OpenSuSE has always been super stable, I still dislike how woke they’ve gone. Also, the last time I tried to install from an ISO of theirs, there was definitely something broken in the image.

I decided to try the Fedora KDE Spin. So far, I like it. It did present a couple of problems, however.

The first was that after I rebooted, I changed /home to mount to my second hard drive and I rebooted again. I could not log in as me. I could log in as root, but attempting to log in as me failed. In the journalctl the message was that an attempt to cd to my home drive failed, due to permissions.

I was fortunate that (logged in as root) the very first search I did found a Stack Overflow article which showed that the /home ownership had the wrong owner. I wish I could find that article now, so I could link to it. Anyway, the solution was:

restorecon -Rv /home

from the command line. I was already logged in as root, so I didn’t need sudo. If I could have gotten logged in as me, I wouldn’t have needed restorecon.

The second problem was that Firefox does not come with all the codecs for playing multimedia preinstalled. Manjaro did this beautifully. OpenSuSE is like Fedora this way, but it is easier to solve on OpenSuSE.

I ended up having to do a Firefox Refresh, which is less than fun. All my Multi-Account Containers now need to be redone, and I have a lot of them.

There are only two things that I don’t like about moving to this Fedora KDE spin.

One is that I have two monitors, and every time I move the mouse between them, something in KDE Plasma wants to “stick” the mouse cursor to the boundary between the two. I have to push the mouse an extra bit, to push past the current monitor and to the next one. I haven’t taken the time to find out if there is an easy fix for this, but I suspect that there is.

The other is that in Thunderbird, apparently Tools > Message Filters are stored in the Thunderbird directory and not in my user profile. This isn’t Fedora’s fault; it is something in Thunderbird.

I did choose to install the non-Flatpak version of Thunderbird, because I don’t like Flatpak. I have no idea if me keeping everything in my /home on a separate hard drive plays nice with Flatpak. Admittedly, I have not done the research. But it seems to me that when one changes distributions with significantly different packaging (rpm versus deb versus tar) that Flatpak would be a problem. I don’t know, but I doubted that Flatpak was the universal image for all Linux’s forever. Wasn’t Snap supposed to be that? (I don’t like Snap, either).

Anyway, I had more than 30 message filters, some with 20 email addresses in them, for filtering my mail into folders. Those message filters are gone. Rats!


I am thrilled to find the Thunderbird Add-On quickFilters which is delightful.


I do like how Fedora KDE Spin puts the OK and Open buttons in the upper-right corner of dialog boxes instead of the lower right.

WordPress migration notes, part 3

Joy. Not.

I get to do a migration from my existing website to a new instance of WordPress on a new (virtual) machine.

This is the website I maintain as a volunteer service for a fellowship I am a part of. I’m the web servant, and have been since 2017. I originally inherited the static HTML website from a gentleman who wrote it in Microsoft FrontPage 98. But a few months later, a member showed me an app that helps our members find meetings. That app was written by a member, and is easiest to implement as a WordPress plugin. “I guess I’m learning WordPress now” was my 2017 motto.

Indeed, I wrote a whole new website using WordPress and incorporated the meeting finder plugin. I’ve been maintaining the website ever since. Five months ago, I migrated it from Bitnami on Amazon Lightsail, to straight Debian on Linode. For five months, it ran fine, mostly. Twice in the five months, MariaDB crashed due to an out-of-memory error.

Today, it cannot get but a few hours before MariaDB crashes due to an out-of-memory error. Something changed, but I don’t know what.

So I have created a new Debian virtual machine on Linode, and am installing WordPress on it. What follows are a few notes about the process.

I spun up a shared hosting Linode on the Nanode 1 GB plan. I should mention that this website doesn’t get but a thousand or two hits per month, and we recently had to cut our office manager’s pay 20% because inflation is hurting everyone and donations are down. More than $7 per month would be wasteful, and us not being good stewards of our member’s money.

So, Debian is installed, and I ran updates, and it is time to start configuring the new server. I’m still using only the IP address to get to the new machine, and will have to configure Let’s Encrypt / Certbot later.

First things first:

Vim was preinstalled, which was nice. That left picking my default editor:

update-alternatives --config editor

Next, I want to customize my bash shell:

vim ~/.bashrc

I commented in the aliases for ll and l and the export command for ls to use --color=auto

Then I added at the end:

alias ..='cd ..'
PS1="\[\033[0;32m\]\u\[\033[0;37m\]@\[\033[0;35m\]\h \[\033[0;34m\]\W\[\033[0;31m\]\$\[\033[0m\] "

Next, I set the host name:

hostnamectl set-hostname www.example.org

I think I rebooted, and then got back in.

apt install apache2 -y
systemctl status apache2
apt-get install php8.2 php8.2-cli php8.2-common php8.2-xml php8.2-mysqli php8.2-zip php8.2-curl libapache2-mod-php -y

This is similar to what is being described at Rose Hosting, but with a few changes.

I’m leaving out php8.2-imap, php8.2-redis, php8.2-snmp, and php8.2-mbstring. I know that I don’t have a need to do IMAP to a mailbox, because this small 1 GB1 RAM machine won’t be hosting a mail server. With “only” 1 GB of RAM, I need run as little excess code as possible. Likewise, I’m leaving out Redis because it really expects a minimum of 8 GB of RAM. I’m not planning on exposing SNMP to the outside world, so that can go. And I don’t see that I’ll ever need multibyte strings, so php8.2-mbstring is out.

Next is the database:

apt install mariadb-server -y
mysql_secure_installation
mariadb
systemctl enable mariadb

When I logged in to MariaDB, I did the Step 5. Create a WordPress database and user from the Rose Hosting page.

However, I used the same user name and password as on the old website. This is because I want to use the same wp-config.php from the old server. This has complications later.

Because of the low RAM situation and Automattic’s getting wasteful with other people’s money, instead of wget https://wordpress.org/latest.zip I brought in wordpress-6.5.5.tar.gz

Although I did this, Automattic is arrogant enough to know better than me, and upgraded me to the latest version anyway. I had to downgrade, manually. I would later have to add a plugin to prevent WordPress from upgrading itself.

WordPress was extremely grumpy and would not let me get to the administration pages to run the update permalinks action.

And at some point, WordPress got all messed up. It was a similar problem as talked about here, but it didn’t have the Bitnami components to it; only the wp-config.php. Since I brought in that file from the old server, I didn’t have to edit it, but now two records inside the database don’t match the configuration.

I was also trying to bring in the Apache configuration files from the old server. I don’t recall if I fixed Apache first, or WordPress first.

Since I had brought in the Apache configuration files from the old server, there were directives in the configuration files which needed to be met. This meant running the following, because Apache wouldn’t load without them:

a2enmod rewrite
a2enmod ssl

I did bring the configuration files in, but now Apache is grumpy about the missing SSL configuration. I needed to copy in the files from the Let’s Encrypt install.

If I recall correctly, this got Apache running, but WordPress was pretty messed up because it thought the root of the website was under /wordpress/ instead of under the base directory of /

There were two things I needed to do. One was to edit .htaccess in the WordPress directory:

RewriteBase /
RewriteRule . /index.php [L]

Both of these previously referred to /wordpress/ instead of /

The other thing I needed to do was to log in to MariaDB and run:

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://172.16.1.1/wordpress', 'http://172.16.1.1/') WHERE option_name = 'siteurl';

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://172.16.1.1/wordpress', 'http://172.16.1.1/') WHERE option_name = 'home';

Where 172.16.1.1 is a placeholder for the actual IP address of the running server.

And finally, I have a base WordPress install with the default theme, and the same admin password and path as the old server.

Now to migrate the old content over. I need to remind myself that I “get” to do this. Serenity Now! Serenity Now! Serenity Now!!!

  1. It amuses me to put the word “small” next to the phrase “1 GB RAM”. The first computer I ever programmed (in 1979) was a mini-mainframe with 4 KB of RAM. ↩︎

WordPress error – somewhat passive-aggressive, methinks

The error was:

Deletion failed: There has been a critical error on this website.Learn more about troubleshooting WordPress.

I think that would have been helpful, if there was an anchor tag in there somewhere, but there was not. Simply the command “Learn more about troubleshooting WordPress, dumbshit.”

Well, that last comma and word are what I was reading into it….

Updating WordPress Was A Mistake, Redux

This week, I have been plagued by WordPress; the website I made for my volunteer service keeps crashing because MariaDB is having out-of-memory problems. This is frustrating because it ran fine for five months. But suddenly, the site cannot go three hours before going down. Sigh.

However, I had run the site with the latest version of WordPress. From this post, I had talked about previously needing to downgrade to keep my personal website (this page you are reading) from crashing. I said it was easy, but I didn’t outline the steps.

Well, with the volunteer service website crashing constantly, I’m trying this downgrade again.

Here are the steps:

  1. Make a backup of the server.
  2. Get a copy of wordpress-6.5.5.tar.gz and copy it to the server.
  3. extract it with tar -xzf wordpress-6.5.5.tar.gz
  4. change directory into the extracted folder
  5. delete the file wp-config-sample.php
  6. copy the production wp-config.php from /var/www/html (or wherever) to the newly extracted folder1
  7. (Still within the extracted folder of the downloaded WordPress 6.5.5): delete the wp-content folder.
    • This is one of the good things about WordPress: everything that is not stored in the database is stored here. This includes the uploads folder (the media library content), the themes, the plugins. So for the source we’re going to downgrade from, we don’t need this folder.
  8. change directory to /var/www/html (or wherever)
  9. rm -r wp-includes
  10. rm -r wp-admin
    • wp-includes is where most of the WordPress code lives. But there is also WordPress code in wp-admin
    • Production is now broken
  11. cp -r /wherever_you_downloaded_and_extracted_to/wordpress/* /var/www/html/wherever/
  12. chown -R www-data:www-data /var/www/html/wherever/
  13. find /var/www/html/wherever/ -type d -exec chmod 755 {} \;
  14. find /var/www/html/wherever/ -type f -exec chmod 644 {} \;
  15. systemctl restart apache2
    • Production is back up, but there’s still another step
  16. Log in to the WordPress website as admin. It will prompt you to update the database. Yes, do that.

And my downgrade, which is an improvement over having the bloated React JSX stuff, is complete.

Well, there’s one more step: email the office manager that when she logs in to WordPress to add a post or a meeting or event or whatever, do not click this link:

That’s always nice: leaving an easy way to shoot one’s self in the foot just sitting there, begging to be clicked. Sigh.

  1. I always liked that SuSE put the web server web sites under /srv instead of /var – there’s a lot of weird stuff in /var but for a web server, having the web site under /srv/www just makes sense. And yes, if you are setting up an FTP server, all that goes under /srv/ftp. What a concept! ↩︎

What The Eff WordPress?

I use my blog as a way to store notes and links for myself, so I can come back later. This morning, very early in the morning, I needed to look something up. I have a post: https://www.gerisch.org/wordpress-copy-to-test-environment/ which has what I need.

But the link to Rose Hosting did not work.

WTF WordPress?

Here’s what it looks like inside WordPress:

You can see that the link edit has a URL that has https://www.rosehosting.com/blog/how-to-install-wordpress-on-debian-12/

But that link doesn’t work‽

Here’s what Firefox shows when I inspect the HTML for that link:

Here’s what that highlighted part (in blue, on the left) says in that screenshot: http://I am following the instructions here at Rose Hosting

WTF‽

Meanwhile, Matt Mullenweg is pissing all over the WordPress community over petty grubbing for money.

Fix your damn shit, Matt.

Saw a Tesla Tractor yesterday

When I say tractor, I mean the part of a tractor-trailer rig, for hauling stuff. In this case, it was Pepsi. This is the first time I’ve seen one in real life.

What caught my attention was that the driver’s seat was neither on the left or the right, but centered. That gave me a what-the-heck moment, and then as I squinted at it, I saw the Tesla logo.

This is actually two 13 second clips: I played with Kdenlive to zoom in on the second clip. You probably want to use the Full-Screen option to see it clearly, and full desktop to get large screen resolution.

Download MP4 video file

Quarterly inventory – 2024 Q4

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

I’m a little worried that this inventory is a bit TL;DR.

edited 2025-01-08 with a Personal Life update I’d forgotten to include

Personal Life

I did five six things to improve my personal life this quarter, although only four five panned out. A sixth seventh is neutral.

New refrigerator

I’d been living with a poor quality refrigerator – Samsung – for a long time now. I bought it in 2009 after the divorce, but a few years later, the internal fan died. Later I would learn that these Samsung refrigerators do this a lot. Because the internal fan dies, the moist air inside cannot be vented to the outside, it condenses, and then collects into a pool in the bottom1. At first, it is just stinky, but then later the pool of water tends to freeze. It finally froze one of the vegetable drawers into place, and I couldn’t open it up (well, I broke the drawer trying to pull it open). That was the last straw, so I committed to spending the $1,800 to replace it.

By the way, the scooper for the internal ice maker does not come with the refrigerator, so I should not have left the old one inside when the guys hauled the old refrigerator away.

Today, I am the owner of an LG refrigerator that I like. It has a nice feature that the Samsung didn’t have: the door has some sort of governor on the hinge, so as the door gets to about 3 inches from shutting, the governor kicks in and slows the door down. It closes with a gentle thud, where the Samsung used to slam shut at some speed.

Dead tree removed

Back in 2006, while I was still married, my wife and I planted a Weeping Willow tree in our backyard. With what I know today, I won’t be doing that again. Weeping Willow trees are thirsty, and I live in a semi-arid desert. It was great for providing shade, and grew rapidly. But its roots are invasive because they are looking for water. The other problem with it is the vast number of small leaves; when it drops its leaves (and the tree overhangs the house roof) the dead leaves are quite the chore to rake off the roof of the house.

My Wi-Fi access point died, and I didn’t really care much – because I’m not really a fan of Wi-Fi, so I lived without it for a couple of weeks. Whoops – this left my Hunter sprinkler controller disconnected. It was during the early part of the year, and we’d had a dry winter. Then the warm weather of Spring arrives, and the Weeping Willow is dying of thirst, but I don’t see that. I figured out that the Hunter wasn’t working, so I ordered a replacement Wi-Fi router / access point. By the time it gets here, and I get it installed, the Weeping Willow is already dead.

After a while, I can see fungi growing out of the base of the trunk. A few weeks ago, we had a storm blow through, and a tree in my Mom’s front yard blew over. That tree appeared healthy, but it turns out that fungi had completely rotted the roots away. This makes me look at my situation: I’ve got a large tree, dead, in my backyard, and if it fell on the house, there would be a lot of damage. I called the same tree service, and $1,600 later, the dead Weeping Willow tree is gone.

Dryer repair

The same time I’d bought the Samsung refrigerator, I’d bought an LG clothes washer / dryer pair. I’ve already had to replace the washer, but the dryer is still the original. And … the rollers carrying the drum finally wore out. This one was quick and easy, and a gentleman who worked for Sears for many years in their appliance department replaced the rollers for $160.

Jordan Peterson book tour ticket

So, getting the refrigerator replaced also meant washing the floor underneath the old refrigerator, first. The whole kitchen floor, really. Installers are going to show up and pull out the old refrigerator and install the new one. Wow, I disliked the idea of washing the floor under there. Everything about this will remind me of how much of a failure I am; you see, I haven’t washed under the refrigerator since 2009. My imagination is that it will be ugly under there.

It actually wasn’t as bad as I feared, but still, I went into the process with trepidation.

Immediately after that whole process, I got an email that Jordan Peterson was doing his new book tour, and he would be in Fresno. I could buy a ticket and buy the opportunity for a personal meet-and-greet. I loved this idea, and used it as an opportunity to reward myself for the ordeal.

For a little while, I’ve been thinking about the question of “If nothing in God’s world happens by mistake, then why do bad things happen to good people?”

I have an answer to this, I think. It is probably worth a blog post of its own. But I really liked the idea of running it past Doctor Peterson, first. His most recent book is We Who Wrestle with God: Perceptions of the Divine which sounds like a perfect match for the question, no?

I bought the ticket. Hooray.

The Fresno tour stop was cancelled. Sigh.

I’m sure that what happened was that the last time Doctor Peterson was in Fresno, he sold out the Saroyan Theatre almost immediately. It holds about 2,300 people. So this time around, I suspect his team booked the Save Mart Center. It can hold 16,000 people or more.

But the Save Mart Center has a serious flaw: parking costs $65.

At the Saroyan Theatre, parking costs $8.

Some of Doctor Peterson’s tickets at the Save Mart Center were in the $50 range. To pay more for parking than the ticket to the event itself? Most people opted out, I suspect. And so then Doctor Peterson’s team had to face the reality that not enough people signed up to cover the cost of the Save Mart Center rental. Tour stop cancelled. If I were in his position, I’d have cancelled too. But still, it is a bummer for me.

It appears to me that the Saroyan Theatre is still available for that same date; it would be great if Doctor Peterson would change the tour date to it, instead of cancelling. I’m not seeing an easy way to contact Doctor Peterson or his team, however.

Anyway, briefly, I was delighted with the idea of meeting Doctor Peterson and finding out if my idea of why bad things happen to good people is off-the-mark or not too bad.

Deleted all things Google

I had forgotten about this one, but remembered it 2025-08-08.

I went in to Google and requested them to delete everything they have associated with my old account. I’d had that email address for more than a decade, I’m sure.

I’d bought “Make Orwell Fiction Again” baseball caps as gifts, and it seemed a little hypocritical to even have a Google account when I’m advocating for their demise.

Factorio: Space Age

Wube Software has been working on Factorio: Space Age for two years now, and they finally shipped. I really like Factorio. But I do need to be careful to balance my game playing with the rest of my life. Here’s the Steam statistics of what I played this year.

Work Life

If $29,000 fell out of the sky and into my lap, I would retire tomorrow.

I recently screwed up a new email retention setup. The only saving grace is that Microsoft has seen this type of mistake before, and they have practice in fixing it.

My problem is that I am an old school programmer, and I don’t know PowerShell very well. I terribly want to use a pattern of Loop over an array > compose a command using the current element > Write-Host $cmd followed immediately by Invoke-Expression $cmd.

This lets me comment out the Invoke-Expression part until the command is 100% correct. Then, when it is correct, uncomment the Invoke-Expression line and do the thing times the 35+ items in the array.

I did get a whole slew of Adaptive Scopes created this way. But the next step is the policies themselves, which have the time period of retention in them.

I’m stressed out that what I want to do doesn’t work because PowerShell barks at me that it cannot convert an object to a string.

I’m further stressed out because my boss told me that the Director of my department is waiting for these retention policies to be done.

I have always had a deep-seated fear of not being good enough, and here is the VIP with expectations, and I’m failing him.

Anyway, I did one of the policies manually, and I goofed which policy should be applied to which scope. If I’d done it with a script, the computer would not have made that mistake. So now we’re in a position of having to restore deleted items. Ooof.

Changing subjects, in my previous quarterly inventory, I’d mentioned Kiteworks and my frustrations with it. Here we are three months later, and no, I won’t be telling anyone that Kiteworks was a good way to go. I was super annoyed that we’d been going along fine, we added their software, and then started crashing about 1% of our machines. I was super annoyed that Kiteworks’ answer was “your Outlook mailbox needs to be rebuilt”.

What a bunch of clowns.

If we add your software and the machine crashes, your software is what changed the machine into a broken machine. If the temporary work-around is to disable your software, and the machine becomes unbroken, where does the problem lie?

My management sided with Kiteworks, however. If the user is broken, and Kiteworks says the fix is to repair Outlook, then do whatever it takes to make the user whole.

Broken are only 1%, but we have 5,000 machines…. So I gritted my teeth, and did a metric buttload of repairs on machines. And yes, Kiteworks is, so far, working correctly.

BUT: whatever happened before, will happen again, and Kiteworks will start breaking machines all over again. This is the short-sightedness of my management. Instead of fixing the hole in the hull, bail water faster.

I cannot retire soon enough.

One task that was fun was making an iPrint map with clickable buttons for installing printer drivers. I used Bluefish for the web page editing, and ImageMagick for generating the buttons. Being useful is what makes me happy, so it lifted my spirit that it looked good and was functional.

Volunteer Service Life

This was a stressful quarter. I was president2 of a 501(c)(3), through December 31st. A few weeks ago, the state of our finances came to a head: we had to cut the hours of our single employee 20% by closing the office on Mondays. Cutting her hours a little before Christmas was great. Just great. Not.

But the reality is that the massive inflation of the last four years is hurting everyone. Groups are having to pay higher rents, so they don’t have money left over to contribute to us. Members are feeling the squeeze, too. We had one group that used to contribute $300 monthly, but their building burned down. The members scattered to other groups, but those groups haven’t made up that monthly amount.

We used to also have a couple of members who contributed a good amount, monthly. They have passed away.

The result is that for the last twelve months, we’ve been running almost $900 a month in the red. Our bank balance is down 40% over the last year. If we didn’t cut now, we’d be looking at closing the office in a year. This should give us two years to figure out what we’ll do.

We’re planning a New Year’s Eve dinner and a speaker event, but our primary planner has been flaking out, but then promising to do better, so this is a mess. The NYE event used to be our biggest fundraiser of the year. I hope it will be good this year, but I know that whatever will be, will be. Edit: the event went very well. The food was delicious, and plenty of people attended. The speaker was great. I’ll find out about the finances next week.

A third thing that happened is that a friend of mine was faced with the decision to either man up and become useful, or continue to sit on his ass collecting disability and watching television, smoking cigarettes, and drinking Dr. Pepper. He chose the latter, and it went very, very, badly for him. I feel a little guilty that I didn’t challenge him further to grow up and becomes useful. There are some things which are worse than a premature death, and he is now “getting” to experience that.

I hope next quarter is less stressful. I am glad that in my personal life, progress on major projects has been made.

  1. Technically, the outlet tube gets water in it, and that water freezes, creating a build-up. Eventually the whole tube freezes shut, which causes new moisture to backup into a puddle. ↩︎
  2. That, plus $5, would have gotten me a fancy coffee at Starbucks. 😉 ↩︎

Time with family can be hard

When I started this blog, I had three goals in mind:

  • Learn WordPress, and have content to play with for things like upgrades, migrations, and figuring out how WordPress works.
  • Provide technical tips, tricks, and recipes for doing computer things, primarily on Linux.
  • Writing content that expresses my opinions.

If I’m honestly looking at my own motivations, that last one holds the most appeal to me.

I’m old enough to be a grumpy old man, but I’m also old enough to know that opinions without solutions are terrible reading. No-one wants to listen to a whiner.

In fact, one of the defining moments of my life was when my dad was exasperated with me, and he exclaimed at me something I needed to hear at that time:

Anyone can whine about things; useful is providing a solution.

My dad, when I was about thirteen years old and whining about something big time

So, I’m up north with family for Christmas vacation. Dealing with family can be hard. I have two solutions: have another community I can escape to (my volunteer service community), and have my computer I can escape to.

Yesterday was day four of cabin fever with the whole family. My brothers and mother had exhausted watching all the movies and YouTube they could stand. They wanted to do something, anything, that wasn’t watching more television. YouTube is simply television without the cost overhead of paying writers, producers, and talent. My brother’s television set comes with YouTube, with embedded advertising. It sucks, mightily. YouTube also has the problem that it gives a platform to total con-men who are looking for marks to prey upon. This really isn’t any different from the television preachers who pitch salvation for dollars.

And I get it: if my life were that empty, I’d be easily preyed upon, too.

At this point in my blog, I’d like to do a 4,000-word essay on the problems of American life where our government and media conspire to drive us to be consumers of crap to fill the void in our life, instead of healthy and useful. But all that would really boil down to is this:

As an aside, I really like Stephan Pastis’ comic strip, and buy his page-a-day calendar every year. Most days are at least mildly amusing, and some days produce actual laugh-out-loud moments. Some days are profound. Not that I’m trying to convince you to buy stuff to fill the void in your life….

So, back to my family. We all suffer from a lack of purpose in life. I’ve got it the least bad: I’m still employed with a place that pays me well, and (although I hate my job) I’m working toward my retirement.

Mom never did take my step-sons in as her grandkids, and neither of my brothers got married and produced kids either. So my mom tends toward self-pity, having gone through the trouble of raising us boys, but not getting the benefit of grandchildren. She does take care of Frank, the man she partnered with after a year of being a widow. So that gives her purpose. She also had to specifically decide to go out and socialize. She has friends she visits to play Majong, and a club called Gadabouts, and Red Hat Society club.

One of my brothers was forced into retirement early, and hasn’t found the motivation to get a job. He’s actually a superb cook, and this last week he has been cooking all our meals. The meals have been delicious. But in his off-time, all he does is watch videos and sleep. Clearly, he is depressed. I hope he can find a purpose in life.

My other brother has always had a rough life. He works in a low-end job, and tends to get restless, irritable, and discontent with whatever job he has. The longest stretch where he was happy was in Death Valley, where he worked from 2003 to 2021. But the HR lady there went woke, and as soon as the trans asshole showed up and started their bullying, the HR lady sided with the trans asshole, and my brother quit. Now he’s up here in a cold, dismal town where it rains nine months out of the year. In his off-time, all he does is watch videos and listen to re-runs of Art Bell’s Coast to Coast AM. I hope he can find a purpose in life.

So how do I find purpose in life?

Volunteer service is the obvious win for me here. The particular people I spend time with consider ourselves a fellowship; this is a good name for our community. Although I had to go through hell to face the fact that I needed help, once I got into this fellowship of help, my life turned 180° around. I can help because I’ve been through the same hell that all newcomers are going through.

If I didn’t have this, I hope I would have found a church fellowship to be a part of.

I do have a circle of friends on the Internet. We met on Slashdot more than 22 years ago. Back in 2019, one of our friends died, and 21 of us went (most of us flew) to Seattle to attend his celebration of life. Although I still communicate with these friends, it isn’t daily like it used to be. Half of them came down with TDS, and the community split in two. But at one time, there were more than 80 of us. This digression brought to you by:

There is a principle which is a bar against all information, which is proof against all arguments and which cannot fail to keep a man in everlasting ignorance—that principle is contempt prior to investigation.

William Paley (1743-1805)

Half of my circle of friends on the Internet have contempt, prior to investigation, regarding God.

I thank God that I am not one of them. I have plenty of evidence that something out there, supernatural and surpassing understanding, is an active agent in my1 and other people’s life. Point being, that if I weren’t in the fellowship I’m in, I would hope I would become a part of a religious fellowship.

Volunteering down at a soup kitchen would be good for my soul.

Any sort of volunteering would be good for my soul.

I also have plans (or perhaps they are dreams) of writing a lot of code when I retire. Priority 1 is obviously more exercise. After that, I want to write some code to lay out Factorio blueprints, and build the software that manages the tree structures needed to lay out connected pieces in sensible ways. Ultimately, I intend to write a flow charting-based integrated development environment based on Nassi-Shneiderman flowcharts. I’d like to use the IDE to write a video game loosely based on the book of The Legacy of Heorot.

Back to my volunteer service: there are two different offices which are either directly related or tangentially related; I plan of volunteering at both after I retire2. They also need a newsletter editor, and I’d love to write a system in LaTeX to import the various documents and format them consistently. I’m not terrible with Perl, so I think I can work up a nice system of opening files with LibreOffice, converting them to plain text, formatting them the way I want, and then adding back in whatever italics, boldface, super- or sub-scripting elements were in the original. I already do the website for one of them.

So yesterday, everyone was frustrated that this time together had gotten so boring. But I’m not bored because I know “This too, shall pass.”, and, I have other outlets.

I hope, dear reader, that you too can find other outlets.

Volunteering my time and effort gives me a high-quality purpose in life. My self-worth goes up when I am helpful.

I hope you can find ways to grow your self-worth and purpose.

Merry Christmas.

  1. When I let Him. ↩︎
  2. One of them is a 501(c)(3), and for the next five days, I am president of the board of directors. That, plus $5, will get me a coffee at Starbucks. Not that I’d ever go to Starbucks, they’ve gone woke. Anyway… the other is probably also a 501(c)(3) but I haven’t tried becoming a board member yet. Having a day job is not conducive to being of service there. ↩︎