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. ↩︎

Coffee, again: inflation + energy drinks = change

I’ve given up energy drinks due to inflation. They were overpriced to begin with; but now inflation has gone too far, and I’m out.

Coffee is good, but the Keurig company is bad, so what to do?

Turns out Costco carries a Ninja Dual Brew coffee maker that fills the bill.

(longer version):

Way back when, I was a fan of Keurig. I bought an early Keurig brewer and loved it. But, foolishly, I didn’t do the de-scaling thing that one needs to do. It’s never really been a task I had to grow up with, so I don’t have a practice of doing it. (I’m still looking for To-Do list software that will do recurring tasks. Ideally it would be in Nextcloud).

Anyway, I eventually ruined my Keurig. It did last a really long time. But between the time I bought it and the time I needed a replacement, the company came out with a new line of machines that tried to implement (essentially) DRM (digital rights management). In other words, if you tried to put in non-Keurig coffee pods, the machine refused to work.

There’s a Nietzsche quote: “Mistrust all in whom the impulse to punish is powerful.”

When the Keurig company announced this scheme, I was done with them. I’ll never buy another Keurig branded item, ever.

It was also a stupid implementation of DRM, because it pointed a camera at the top of the coffee pod and looked for a QR code which identified the pod as authentic. So … buy one authentic pod, slice the top off of it, and glue it to the camera. Now every coffee pod is authorized.

Okay, so there is a work-around; but, what we have is a company that is willing to bully its customers. No-way am I going to reward that sort of company with any new sales.

So, what to do?

Well, turns out that Monster Energy has a line of energy drinks that are low (or zero) calories. Also, they keep working on different flavors. I started buying them. A lot of them. I was buying them by the case; usually drinking two a day. Over the course of two months, I’d go through five cases. Each case was 24 cans of 16 ounces each.

In the beginning, I was paying about $28 per case. That’s about $1.17 per can. Then the price creeped up to around $32 per case, or $1.33 per can.

But, some of the more popular flavors jumped up to $38 per case, then $43, then $48, and now over $50 per case.

In fact, to combat the perception that the prices are so bad, they’ve stopped selling them by the 24 pack case. Sure, the price per case is back down to $28, but the case is now eight cans instead of 24.

That’s the equivalent of $84 per case, for what I used to pay $28 – $32.

I’m out.

But man my ass was dragging without the caffeine boost.

Back to coffee is the answer; so I bought a normal coffee brewer.

There’s a reason the Keurig line of brewers was popular. The nightly mess of having to empty the grounds, and wash the filter basket and coffee pot definitely lowers my quality of life. It also boosts my home energy costs: I didn’t used to have to run the dishwasher every single night. I have the reusable filter with a micro fine mesh, and it’s fine; but I don’t want to reuse it without putting it through the dishwasher. I suppose that’s a choice I’m making that is picky. But that’s the way I am, so if I want coffee tomorrow morning, I need to run the dishwasher tonight.

Previously, I’d put dirty dishes and cups and tableware in the dishwasher and wait until the machine was full enough to warrant running a load. Dishwashers burn a lot of energy. I’m fine with that, because I get that “sanitize” work out of them. But running it every night for a coffee pot, filter, and coffee cup seems wasteful to me. The machine was practically empty.

Thankfully, I was in Costco a few days ago, and saw that they carry the Ninja Dual Brew coffee maker.

I don’t know much about Ninja, except that one of the podcasts I listen to is about the stock market, and one of the guys mentioned that Ninja as a company has excellent customer loyalty. Cool.

And indeed, this machine does coffee pods. I’m sold.

I’m back to 60 seconds for a cup of coffee, and no mess after. Heck, with the inflation costs of the Monster Energy drinks, this purchase has a positive ROI.

Thank you, Ninja, for making this machine. Thank you, Costco, for carrying it.

Gavin Newsom resents Californians?

I don’t know what else would explain choosing Dianne Feinstein’s replacement from Maryland. Maryland now gets 3 Senators and California gets 1.

I understand that the original design of two houses, with Senators versus Representatives was so that the big states with lots of representatives couldn’t bully the smaller states around. But that doesn’t mean that a large state should simply cede its power away. We should get an equal seat at the table.

Yes, the new senator from Maryland has spent her entire career as (essentially) a (under funded) lobbyist, so is deeply embeded in Washington DC politics.

But nothing about that helps Californians.

Quarterly inventory – 2023 Q3

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?

Personal Life

Not really a whole lot going on. My mom did want to move in to a senior assisted living facility, so we took a tour and got a complimentary lunch. However, the place charges $8,000 per month which is $96,000 per year (and the move-in fee is one month’s rent, so $104,000 for the first year). Although my mom has some money, this was too rich for her blood. The residents we met loved the place. They say it is like a cruise ship that is parked. I was mildly interested to see if they are publicly traded, but alas they are not. Their headquarters are in Seattle WA, but they are privately held.

Happy that I have a Nextcloud server running on a tiny PC here at home. I had to configure pfSense to do Dynamic DNS to map the server name to my home IP address. The Internet gateway had to be beaten into submission to pass outside traffic in: pfSense had to carefully map the listening IP address and port (with an SSL upgrade) on the public Internet to the inside address and port. Running physical hardware is I think a better option than renting a Linode. Don’t get me wrong, I love my Linode running my email server on my own domain. But for serving up a calendar, address book, to-do list and media files – oh so many media files – the Linode would have been rather expensive. $110 later, I’ve got a (refurbished) 16 GB RAM Intel Core i5 running a cool 12 watts at idle. Storage is over on the Synology NAS (not exposed to the Internet). 12 watts isn’t as low as a Raspberry Pi, but still, it’s pretty good.

FINALLY! My new cell phone has an address book with entries. The entries are stored on the Nextcloud server, which is nice. I’m having to use Nextcloud email to get access to the address book contacts; and I’d prefer Roundcube, but that they are there at all is good. When I added them to Nextcloud email, it did create Birthday entries on my calendar which is sweet.

I’ve been trying to get Home Assistant, running on a Raspberry Pi 4, to connect to the files on the Synology, but it doesn’t work. I’m pretty sure it is that the Synology requires SMB 3, and Home Assistant isn’t specifying vers=3.0 correctly. It could be something else though, which is extremely frustrating that I cannot tell what the hell is what.

Been playing a lot of Factorio. Did get Elder Axe’s blueprint used and fully implemented; it is probably the best blueprint I’ve used so far. That said, it is missing a few assembly machines, and only has a single yellow science and a single purple science, so progress toward artillery was extremely slow. Bulked up my defenses and let the game run over night and during the day when I’m not at home. Still needed to manually craft some materials (low density structures) for yellow science bottles to be produced in less than a week’s time.

Work Life

The email retention project will soon be winding down. There was some kerfuffle because Opentext (who bought Micro Focus and GWAVA, who bought Attachmate, who bought Novell) wants to increase the yearly charge a huge amount, and we have documentation that their records are screwed up. They are claiming some people are new, when I show we paid for them three years ago, so they are not new. The whole mess though did kick us in the butt to export everything out of the server so we can power it down and delete it. That would free up 15 TB of storage, which is a reasonably large amount.

I did get to fix a broken system where server templates run a script on startup that send an email to a Mediawiki server, and the body of the email becomes the documentation for the new server in the wiki. Fixing that was cool, because it was a nice feature way back when, to get some documentation simply because the new box powered up and asked the server team member to answer a few questions. It’s not 100% solid though, as I just learned of two servers, and they are not in the wiki. 🙁

Volunteer Service Life

I’ve registered for a couple conferences; one is out of town with a hotel/motel. I also get to go to an Election Assembly, although a friend booked the motel. I’ll drive as we carpool three people. I get to man a Public Information booth at a health fair here in a couple days. One person on the Board of Directors for our local 501(c)(3) is ineligible to run, and another has announced that he may not run for health reasons. That leaves me and two others as elected members. Maybe one other person is interested in running? I also attended a technology workshop via Zoom, and heard that apparently I’m a “dark knight”. I’ve done technological stuff (it’s just WordPress), so like a knight, I’ve shown up to save the day: but I’m a dark knight because zero other people understand the dark arts I’m using to keep the website running. Did I mention that it’s just WordPress? But if I were to get hit by a bus, people might feel helpless to continue on (which would be a shame, since it’s just WordPress).

Microsoft added AI to Bing (fail)

For the first time ever for me, today MS Edge gave me a search result that automatically sent me to their AI chatbot. Of course, the result wasn’t helpful – I needed information about how to do the task with PowerShell, not interactively. So I clicked the button to copy the AI chatbot prompt, did new search, typed in “powershell” and pasted the original query in. It came back with results.

The results were wrong. Completely wrong. But they looked like they might be right.

If I were some new sysadmin trying to figure out something I was unfamiliar with, this would have so fouled me over.

I just have to laugh at Microsoft being so incompetent.

I mean, I know I have a chip on my shoulder about Microsoft. But man they keep shooting themselves in the foot. It’s hilarious.

Microsoft’s company motto appears to be “Quality is Job Secondhundredandthirteenth”.

Microsoft moving their documentation to GitHub – What could go wrong?

I’m not a Windows expert: as much as I dislike Microsoft for their lack of ethics, this should be no surprise. So when I do need to do Microsofty-sorts-of-things, I need to RTFM – which I’m fine with. They took the time to write the manual so I wouldn’t waste valuable people’s time with basic questions. I should Read The Friendly Manual.

I also know that things people link to might change behind the scenes. There’s no way for the changer to know that something else on the planet links here, so yes dead links happen. It should be a temporary problem; and as soon as someone who knows where the page moved to can supply the answer, the dead link can be fixed.

Recently I got a 404 This is not the web page you are looking for on Github. The source document is on Microsoft’s GitHub for PowerShell. Specifically the paragraph that said “Install PowerShell using Winget (recommended)”. That contained the sentence “Note: see the winget documentation for install instructions.”

I’ve never dealt with Winget before, so yes, please, let me read how to install it.

As of this moment, if you were to click on the link winget documentation you get 404 This is not the web page you are looking for.

Okay, this can happen. I have zero idea of what the actual link should be; but, I can let someone know there is a problem. I opened an issue in GitHub.

And it was closed, with the comment “The URL is correct on the published docs site. The links in the markdown source files are relative to the docs site, not to Github”

Well that’s nice. Between that and 404 pennies, I can get a coffee at Starbucks.

Factorio starter base – still looking for a favorite

At the moment, I’m trying ElderAxe’s Quick Start Base (v8.1.1)

I remember trying something else from ElderAxe and being pretty happy with it. I like the idea of adding different pieces as I go along: maybe I want Military Science early on, before other blueprint pieces. This modular system looks like it lets me do this.

I kind of hate Docker

The beauty of Linux is that every program writes log files. The ugly of Docker is that nothing exists after the session ends. Because things like my ssh session are running in a temporary limited container, nothing works and there’s no record of what went wrong.

I’m trying to get a share on a Synology mounted as the media folder in Home Assistant, but Home Assistant doesn’t do SMB 3. There’s a video that shows how to edit a config file to make it work; but, for me it doesn’t work. That would be fine if I could see the log files to figure out what is making it unhappy with my particular installation. But there are no log files from Home Assistant. It is reporting all clear / everything is good. But of course the files aren’t there from the CIFS / SMB share I’m trying to mount.

I tried using ssh to manually do the mount command, but that didn’t work, and the Dockerized ssh doesn’t have access to the log files. This is bullshit.

Maybe I hate Home Assistant for being Docker -only software. Except that every time I have tried to get something to work with Docker, it didn’t, and there was no way to tell what went wrong. Even the stuff that did some logging, logged only the most trivial of events. Service started. Service ended. Gee, thanks for the detail. That was super helpful. Who wrote this? Windows programmers?