Man, openSUSE updates kick my ass

My work machine was on openSUSE Leap 15.4, and I saw (I think it was in Reddit) that they were going to delete the 15.3 sources because they are already working on 15.6 and people should have moved to 15.5. I hadn’t moved to 15.5 yet, but I thought I ought to.

I downloaded the ISO and used SUSE Image Writer to put it on a USB stick. From it, I booted and chose “upgrade”. It turns out that I had two Leap installations on my hard drive: 15.3 on /dev/sda2 and 15.4 on /dev/sda4

Also, the upgrade wizard complained that the USB booted to UEFI, but the boot config on the hard drive is Legacy BIOS.

I found an article that said I could tell the installer to configure the machine to use grub for booting instead of grub-efi, so I selected that.

Yes, of course, on boot I got a single blinking cursor in the upper corner of the first monitor. This happens far too many times when I upgrade openSUSE.

So now, I’m in the middle of my second attempt at upgrading, but this time choosing install instead of upgrade. I did choose to delete every Linux partition on /dev/sda, so at least I won’t have two versions of it sitting on the hard disk.

I’m going to have to go back and fix /home – I learned a long time ago to put my home directory on a second hard drive. This lets me move to a whole PC if I need to. But it also protects my home directory from getting messed with during an upgrade. The upgrade wizard, intentionally, keeps its work to just the one disk with the operating system on it.

I’ll also have to go back and add those pieces I used to have: KVM and Perl.

This is such a pain in the ass.

Upgraded from Safari to Orion and couldn’t be happier

Web browsing on my Apple devices has been awful, although pretty much everything else has been excellent. Now that I’ve replaced Safari with the Orion browser by Kagi, I have an excellent web browsing experience.

Why does Safari suck? Advertising.

Internet content paid for by advertising is a terrible business model.

For my home automation experiments, I bought a refurbished iPad. They are quite inexpensive as schools age out the older ones and replace them with new iPads. But a 2018 iPad is still a fine device in 2023, and I wanted something to work with HomeKit. The problem was, I’ve got this iPad just sitting there on my nightstand, and there would be times when I wanted to look something up on the Internet. I would give in to temptation, which was universally a mistake. Every time I used Safari to search the Internet it was a completely awful experience because Safari does not support uBlock Origin by Raymond Hill.

Over time, I developed an aversion to browsing the web on any Apple device. It was always bad.

A week ago, I learned about a web browser for Apple devices that can invoke Firefox extensions: Orion browser by Kagi.

Of course, the first thing I added to it was uBlock Origin.

And now I find that browsing the web on iPhone or iPad is pretty nice.

THANK YOU Kagi!

They also have a version for Mac OS, if that’s your thing. 🙂

44 Panda Express meals – three duplicate fortune cookies

I like Panda Express; particularly their “Super Greens” instead of the carbohydrates of rice or noodles. I also like fortune cookies.

I suppose when I say 44 Panda Express meals, that is incorrect: I know that at least once, perhaps twice, I’ve gotten two fortune cookies for my one meal. Whatever: it’s close enough.

Anyway, for some time now, I’ve been throwing the fortune cookies in a pile, and today I was cleaning up. Time to throw them all away … but why not read them again, first?

The three duplicates are:

  • An Admirer Is Concealing Affection For You
  • You Can Always Trust Your Friends
  • Avoid Unchallenging Occupations – They Waste Your Talents

My reaction to that first one is: “Nice!”

That second one simply says that I’m reasonably good at judging character and don’t make friends with people who aren’t trustworthy.

That third one is a problem for me. Ever since my job changed, I definitely feel unchallenged. I used to be the sole email administrator for a 5,000 person organization. We farmed that out to Microsoft, so all that is left for me to do is e-discovery. This is rarely interesting. I am so looking forward to retiring from work so I can take up exercise, programming, and community service. June 2026, I hope.

As far as the rest of the fortune cookies go, my favorites are:

  • Seek Out A Service Project That Uplifts Your Community
  • Only Your Expectations Can Slow You Down
  • Work Hard – Be Nice

Dystopian Future

Dear FutureMe,

Just saw this new video of a dystopian future: ROSE | Short Film by Omid Pakbin

It is well done. Omid says he got the entire film done for $8,000.

I’d like to post it in the politics channel of some of the Discord servers I’m on, where my Circle-Of-Friends-On-The-Internet hang out. Well, I’d like to, but being on OpenSuSE, the Discord app is broken because the publisher has a new version out, and they don’t publish to the OpenSuSE repositories. I have to wait until a community member packages it for me. I have a running list of when Discord is working versus not working here: Discord app update – hooray! 🙂

As of this writing, Discord has been down since the 12th, and today is the 17th.

Anyway, if I’m still alive in 2028, how close did Omid nail it?

We already know that China is implementing the social credit score system today.

Seven days after Biden was elected, a guy, Douglass Mackey, was charged and found guilty of a tweet in the 2016 Presidential Race. Yes, in 2023 he was sentenced to 7 months in prison for a 2016 joke tweet. “Social Media Influencer Douglass Mackey Sentenced after Conviction for Election Interference in 2016 Presidential Race

Recently there was a hearing on weaponizations of the government, where testimony was provided that after the 2016 election, federal officials said “something had to be done”. In their view, an outsider presidential candidate was such a threat that they needed to implement some censorship regimes: and they did so. Both Facebook and Twitter (pre- Elon) censored the Hunter Biden laptop story so that it wouldn’t spread and change the 2020 election.

There have been several hearings about weaponizations of the federal government to implement a censorship industrial complex. The censorship industrial complex was proposed in 2018, and was in force at Facebook and Twitter for the 2020 election. We wouldn’t know about Google unless a whistleblower comes forward; but their deplatforming of certain people on YouTube is obvious censorship.

Google, for weeks, was scrubbing news about the biggest denier of Pizzagate being found to be a producer of child porn. Today, they no longer say “this story is developing therefore it is too new to report on”, but they don’t link to much that makes Slade Sohmer look bad. They (mostly) only link to news that it’s all conspiracy theory.

So Google is on board with the censorship industrial complex. Facebook is too. Twitter / X under Elon appears to be the only social media company against it. Rumble will gladly host people against it, but they aren’t gaining much traction.

Bruce Schneier also points out that spying on people will only get worse with AI.

So the question is: just how close to truth is Omid Pakbin’s video going to get? It’s a great movie short: less than twelve minutes long. Very high quality, and amazing that it was pulled together which such a low budget.

Portion of an email I sent my congressmen

The EFF pointed out that H.R.6611 is going for a vote, and it does nothing to fix the abuses of power exposed by the Snowden revelations. I wrote the following and sent it in my email to my congressman.

As your constituent, I request you to vote “no” on the FISA Reform and Reauthorization Act of 2023 (H.R.6611) which was introduced by the House Permanent Select Committee on Intelligence (HPSCI).

HPSCI was established as an oversight committee, a response to uncovering unsupervised wrongdoings against helpless victims. Oversight committees don’t emerge when everything is going well; they arise when abuses of power are exposed. Unfortunately, HPSCI seems to have forgotten its purpose, allowing itself to be swayed by those who justify their actions, portraying themselves as heroes. Instead of being watchdogs protecting us from Big Brother’s abuses, HPSCI has become their lapdogs, aiding in the pursuit of more victims.

The proposed bill, H.R.6611, the FISA Reform and Reauthorization Act of 2023, is just another act in the theater of governance – doing nothing to rectify past harm and avoiding crucial reforms that would shield the U.S.A. from further damage.

The Fourth Amendment to the Constitution, a sound idea in 1792, remains relevant today. I urge you to vote against H.R.6611 and demand that HPSCI revisits the drawing board with a new bill that puts an end to warrantless surveillance.

I appreciate your time and attention to my request.

Me

Ogg > MP3 (thanks, Apple) (not)

I have several CDs (Compact Discs, not Certificates of Deposit) of music that I like. When I popped them into my PC, I got several folders of files I could copy from. I chose to copy the .ogg files because I liked the idea of using an encoding format without weird licensing issues.

Apple has foiled that plan. If I try to play a playlist on an Apple device, the .ogg files get skipped because (apparently) Apple doesn’t feel like playing nice with the Open Source community. They may have more money than God, but adding another codec – that doesn’t have license issues – to their devices isn’t something they are going to spend money on.

When I work on-premises in the office, my co-workers are often noisy and annoying. I want to pop in my Airpods and play background music to drown out their inane chatter. I don’t want to carry the music files on my device; but I do have a Nextcloud server at home that can stream the audio from the Music app web page. I can log in on my iPhone and play the playlist.

But because it’s an iPhone, it auto-skips the Ogg Vorbis files. This doesn’t happen when I’m at home playing the same playlists on Linux or Windows.

So now I get to re-copy the files from the physical media to my NAS (network attached storage) which in this case is a Synology.

First, I get to delete the files with the .ogg file extension. Two steps (for example):

exiftool -p '$filename' -if '$album =~ /WOW Worship: Yellow \(disc 1\)/' *.ogg > wow_worship_ogg_file_list
This generates a file, wow_worship_ogg_file_list, which has the file names in a list.

then to delete them:

xargs -I{} rm -r "{}" < /path/wow_worship_ogg_file_list

Second, after having cleared out the disk space, I can copy from my physical CD to my NAS. That takes a while; and, after it is done, the file names aren’t wonderful. Rename music files to their title to the rescue.

Except, of course, for a duplicate file name. I have an MP3 file I bought from Amazon (published by Monstercat) with the same title as one of the files from the WOW Worship CD. I would prefer to rename the Monstercat file, but really if I’m going to be running the rename music files to their title command often, I need to change the Title inside the .mp3 file. If I don’t, the next time I run it, it will attempt to rename the file to a duplicate name that is already in use.

Exiftool doesn’t really write new Titles, apparently. I think it can, depending on the file type. I wonder if the weird license problems of MP3 are at the root of the problem. Whatever: the answer was to add the id3v2 program and use it instead.

id3v2 -t 'Title by Artist' file.mp3

Now the rename music files to their title script moves the one file to the new file name, and the other file to its simpler file name than what came off the CD.

Discord app update – hooray! :-)

In my last post I whined that it takes a while before OpenSuSE gets the updated Discord app. I checked today, and the update was there. I only have three days to catch up on: nice!

Thank you to Wojciech Kazubski for updating the app in the repository.

I think instead of creating a new post of when Discord goes broken (does an update) and when the new version shows up fixed, I’ll just make a list here.

  • 2023-12-27 Discord client update came through, and this time it matches the server version 🙂 I was down fifteen days, but I’ve been out of town for six days.
  • 2023-12-19 Discord update came through, but maybe it’s too late? Yep, still down. OpenSuSE updated to version .38-1.1 but the Discord app wants to install version .39
  • 2023-12-12 Discord stops working until an update can be applied. Shucks. Three days. I have a group of friends for whom with-alex-jones-returning-journalists-worried-theyll-no-longer-be-only-source-of-misinformation would be a fun topic; but they will have to wait.
  • 2023-12-09 Discord works again, yay! Only four days downtime.
  • 2023-12-05 Discord stops working until an update can be applied. Shucks. Four days was nice while it lasted.
  • 2023-12-01 Discord works again, yay! Only three days downtime.
  • 2023-11-28 Discord stops working until an update can be applied. Shucks. But it was a nice long run.
  • 2023-11-18 Discord works again, yay!
  • 2023-11-10 Discord stops working until an update can be applied. Shucks.

Discord App update again (sigh)

In my previous post, I explained that every time Discord publishes an app update, I’m locked out* until someone fixes it in the OpenSuSE repositories. Four days ago, it showed up in my list of updates, and hooray! I was back in Discord after eight days of being locked out.

Today, another update is published. Sigh.

*“Locked out” is a poor term: I am voluntarily opting-out. I boycott Flatpak and Snap Apps because I dislike those technologies.

OpenSuSE updates this morning: 1,671 (but Discord isn’t one of them)

Every time Discord updates their app, I don’t use Discord for many days. This is a bummer because I have a circle of friends on the Internet I’ve known for 20+ years, and Discord is where we have settled (so far). So when Discord does an update, I go through a dry spell of not being in contact with them.

The OpenSuSE folk tell me I should install the Flatpak version of Discord or the Discord Snap app. I’m not a fan of either Flatpak or Snap. Snap fouled up a machine months ago (and it’s still broken to this day) when I installed it. Flatpak seems like a (no better) replacement for my RPM repositories. Worse, it duplicates storage and doesn’t integrate unless I convert everything over; so that just creates more points for stuff to break. But at least the single developer doing the Flatpak doesn’t have to integrate, so that’s not his problem.

I can use the web version of the Discord app. It has keystroke conflicts with the web browser, though, and because I use temporary containers for everything, it treats me like a new user who didn’t see that sticky post from five years ago….

So, I wait until someone asks the Discord people to update the RPM in the OpenSuSE repository. Eventually it happens. Time before last, it was eleven days.

Home Assistant media folder – connect to SMB share

Ooof. This one kicked my ass for a really long time. The question is “How to connect the Home Assistant Media folder to an SMB share?” There’s a wizard, but what to enter for the Remote share entry is murky.

A part of this is pretty obvious, but the other part is not. Of course, I tried the wizard first, but I didn’t enter the Remote share entry correctly. I tried reading the documentation, but it wasn’t much more than “For the Remote share entry, put in the remote share.” Home Assistant would always fail to mount the share, and the error message was (essentially) “It didn’t work”. Sigh.

I had previously created an SMB share on my Synology NAS, and could map to it just fine from my main Linux desktop, from my Nextcloud instance, and from Windows machines I have here on my home network. I knew from my Nextcloud install (adding it to /etc/fstab) that the vers=3.0 option was important.

Doing a search found a Youtube video about editing the /config/configuration.yaml file and running a shell command. It mentioned that the vers=3.0 was important. Maybe this is what I need? This turned out to be a rabbit hole (but no rodent with a mean streak a mile wide at the end 1).

Since the system-launched shell command wasn’t working, I tried the next logical step: try it from an actual command line. It didn’t work. I think that is because of Docker and the impermanence of the terminal shell and sandbox for security.

I installed a terminal app in Home Assistant, but whenever I tried the same mount command that worked on Linux, it would fail on Home Assistant with “permission denied”. Not really helpful. In fact, it seems unhelpful, because if I read between the lines 2 I see “your password is wrong” – which it wasn’t. “Permission denied” is the error message you get when your password expires, and the credentials file has the old password. Of course, I knew my password was correct: but if I were someone brand new to this, I would have been mislead by my own thinking.

Here is the mount command that does work in Linux but not in Home Assistant:

mount -t cifs -o vers=3.0,credentials=/config/.smbcredentials //mysynology.domain.tld/sharename_smb/data /media/nasfiles 3 4

The problem that I was running into was that the Home Assistant documentation never tells you what it wants for “Remote share”. The dialog box says “This is the name of the share on your storage server” – but that doesn’t help, because it doesn’t specify what to put in. That’s why I’m writing this post: if you have a mount command that does work elsewhere, the pieces you need are here.

Over on the Synology, it told me the share name was smb://mysynology.domain.tld/sharename_smb/data

That does not work here in Home Assistant.

Here are the settings that do work:

So, from the mount command above, the Server entry is mysynology.domain.tld and the Remote share entry is sharename_smb/data

Phew. This was a long time in figuring out, as I tried all sorts of stuff for the Remote share entry:

  • /sharename_smb/data 5
  • mysynology.domain.tld/sharename_smb/data
  • //mysynology.domain.tld/sharename_smb/data
  • mysynology/sharename_smb/data
  • smb://mysynology.domain.tld/sharename_smb/data
  • \\mysynology.domain.tld\sharename_smb\data
  • \\sharename_smb\data
  • \\\\sharename_smb\\data
  • sharename_smb
  • data ( with the Server being mysynology.domain.tld/sharename_smb )

Hopefully, if you found this post, it helps:

Server entry is mysynology.domain.tld

Remote share entry is sharename_smb/data

  1. Thank goodness it wasn’t the Rabbit of Caerbannog ↩︎
  2. which is a bad idea. ↩︎
  3. host name and share name changed to protect the innocent. Not that any of this is on the public Internet, but why tempt the random bored teenager? They can be pretty clever and persistent. ↩︎
  4. Yes, I had to create a directory named config off the root of my Linux box and copy the .smbcredentials file to it for the mount command to be an exact replica of what would have gone in the shell command in /config/configuration.yaml ↩︎
  5. so close. ↩︎