Retirees: A Kinda-But-Not-Really-Facetious Question About Subscription Services

Filed under: Technology — Shu @March 16th, 2024 8:21 am

I have a JetBrains All Products license. It currently costs $173 per year. I love their products, and I am fortunate enough to afford it. Lightroom+Photoshop is $240 per year. My cloud compute bill is about $50 a month ($600 a year), which I use for various convenience things like file transfers, an offsite NVR for my security cameras, and voice-recognition for home automation. My wife is entangled in Apple’s Cloud Storage upgrade at $36 per year. If GM and other car manufacturers had their way, I would be paying whatever-they-can-get-away with per month for heated seats. These are just examples, but as you can see, it’s adding up.

When I retire, and on a fixed income, am I expected to drop hobbies and scale back my infrastructure because the software required gets too expensive? Why pay for DBUs? The answer appears to be that I’m not supposed to learn the newest offerings from SaaS companies since my career is over.

I’m not even talking about making entertainment decisions like Amazon Prime at $139 per year, Apple Music is $209 per year, or Hulu (with Live TV, Disney+, ESPN+) at $1,080 per year. Nevermind that a lot of entertainment, including cable TV, in the old days fell under the supervision of the FCC, which allowed them to be subsidized in affordability programs. That’s really a separate discussion.

I try to be as cloud and subscription free as possible for these and many other reasons, but it’s impossible for everything. GM thinks I should give up a comfort like heated seats if I can’t fork over money a month. What about remote starting which is arguably a safety feature, and has been locked behind subscriptions in the past? What if I had a Ring camera I had to give up? Am I shitty dog owner because I can’t afford $166 a year to GPS track my dog?

Hmmm… what if a retiree Ring customer had their account cancelled for non-payment, someone broke then broke in, and harmed said customer. Utility companies have low-income programs to prevent deaths, and thereby lawsuits, in similar situations.

Goodbye, coding, photography, and safety? Anyone know how effective gardening is to keep the mind sharp?

By the way, I don’t use Lightroom. After exhaustively searching for Lightroom alternatives to avoid the Adobe tax, I settled on the very awesome ON1, which does have an old-fashioned purchase/upgrade option as well as subscription, which allows me to control when and how often I pay. Most of all, it’s incredibly feature-rich and easy to use.

Epping Walking Bridge, Manchester UK

Filed under: Random Stuff — Shu @March 5th, 2024 6:18 am

Bucket list item checked – visit this bridge.

Ansible Playbook to Create an IMAP Server Hosting Multiple Domains

Filed under: Technology — Shu @February 8th, 2024 2:55 am

Here is an Ansible playbook to set up a server as an IMAP server hosting email for multiple domains. Just bring your own server!

1. Host email for multiple domains on one single server.
2. Emails and Domains are managed by MariaDB/MySQL.
3. Uses Ansible Vault to secure sensitive information.
4. Uses Let’s Encrypt to generate certs, providing a secure connection to the server.
5. Supports Gandi and Amazon Route 53 DNS. PRs for other DNS providers welcome.

The motivation for this came about because of the recent trend by free domain email hosting services, like Google Workplace, removing free plans. I have a few domains, with one or two emails each. I send *maybe* an email a month from each account. Incoming emails are slow and steady. It’s not financially feasible for me to keep these rarely-used email addresses around since email providers like to charge per domain. I decided to set up my own server to keep the email addresses in use.

My setup spreads my domains across two different servers, one of them hosts websites on them along with email. However, this repo keeps it simple by focusing all domains to one server.

What this setup does *not* do is host SMTP for sending mail. I tried to do this, but for a variety of reasons, but mainly it’s tricky and risky. I just decided to use Amazon SES for this. I’ll probably write another blog post in the future about that. on macOS is Really Freakin’ Buggy

Filed under: Technology — Shu @January 28th, 2023 10:11 am

I’ve been on a mission to replace all MP3 with lossless and have been culling my collection, stored in and before that, iTunes. I’ve been an iTunes user since Day 1. There’s always been complaints about this and that, but I’ve never paid attention to them since it “works for me!” Sure, the cloud syncing strategy is awful, but it’s awful across all Apple products. You can never tell what is local and what is in Apple Cloud. However, that’s really lightly touches on what my current workflow. Once I figured that out, I haven’t had any issues.

Now that I’m hard core organizing, I just realized how hard core buggy as hell this UI is. Among the issues:

1) You can’t do anything from the Recently Added section. Sure, there’s a … menu on each album, but Delete from Library doesn’t delete at all.

2) You will often find Music will split up an album into two or more albums with the same album name, same artwork. When you bulk edit all of them, you’ll find the title will either be blank of “Mixed” indicating both fields have some bugged hidden string character. This reeks of a data issue in Apple Music. There’s dirty data in Apple Music, and when Music tries to sync all the meta data, it gets crap from Apple, and Music processes crap.

3) God help you if you try to fix the above by bulk edit multiple songs across multiple albums from the Artists section. It *never* works flawlessly. Sometimes the changes propagate to other songs you did not select, bringing in other songs into the album. Sometimes now instead of two albums, you have three. You have to bulk edit from the Songs section instead.

4) Copying files. This is a Finder issue. You can drag files from the Finder, Music lights up, you drop your files, and nothing… Copying fails. You have to hold the files in the Music window for *many* seconds before the OS realizes what you’re trying to do, and sometimes that still doesn’t work.

5) If you have one single song from a compilation album done by various artists, you can’t ever edit that one album, even from Album section. Music will associate the album to the song’s artist and from any section, Album, Song, whatever, it will think the artist created that album. Hitting “Get Info” from the Album Section or the album from the Artists section brings up the song’s Get Info box. Fucking Apple thinking you’re an idiot and trying to be smart here.

6) Shitty error messages. When adding to an iPod, I kept getting at message saying the songs being added to an iPod failed. That’s it. That’s all it said. Activity window reported the same thing too, no detail. Turns out when this happens, Music spits out a log file somewhere, and I found it. This log file is actually useful. I encrypted the files at too high of a sampling rate, which my iPod can’t play. You could have just said that in the beginning, Music…

7) Wrong identification from Apple Cloud. If a song has the same name and track number in both the original album and a compilation, Apple Cloud often misidentifies the album name, either tagging it with whichever one you *don’t* want. No idea how many times it gets it right, and that isn’t something that can be determined unless you’re Apple.

8) The Search In Apple Music/Your Library/iTunes Store selector box gets too easily buried. Once you start diving in from a set of search results, Apple Music thinks any subsequent searches are in the option you wanted last and won’t show those options again. You have to back all the way out ( via the < icon) of the search result to get those options again.

I can see some of these issues go back to Apple Cloud, which like I mentioned, has always had major syncing and data issues. fine if you’re just playing a song, album, playlist. I haven’t found a problem yet with *playing* music. But holy shit is it buggy as fuck…

Dr. Albert Gutowsky

Filed under: Random Stuff — Shu @January 8th, 2023 4:22 pm

There are two serendipitous things that happened from my sophomore year in high school to freshman year in college that put me down a path in software engineering.

The first one was from an after school job in a law office. WordPerfect 5.1 on DOS was the word processing program that ruled the world at the time. Windows was not around and Macintosh couldn’t break out of education and graphic arts. It was all DOS, and all the programs were DOS programs.

Styling and formatting in WordPerfect was set by markup tags. You didn’t see the outcome, you just saw the tags, another pane with as decent of the result as DOS can provide, and that’s about it. You had to visualize the output in your head, and hope the printing worked. Otherwise, your mistakes went from costing near zero on the computer to more that zero in the printing in terms of toner, paper, and time (even lasers were slow).

When HTML came around, I picked it up immediately. Sure the tags were different than WordPerfect tags, but the concept was the same. Come to think of it, growing up in DOS also provided a smooth transition to Unix/Linux, which still runs everything today. Eventually, I was more interested in making websites and programming than going to class.

The second event was when I asked my econ advisor at CSUS, Albert Gutowsky, to fill out a form required by the computer engineering department for an account on a VAX machine. This was well before internet accounts, and I think I was the first one from the econ department to get an account on that server. Gutowsky had no idea was I was asking for but signed the form anyway. I distinctly remember giving him a ten second elevator pitch describing that the form was about, and putting “economic research” to the “Purpose:” question on the form.

“Economic research” eventually meant downloading every font I can get my hands on from gopher, spending a lot of time playing that tank game hosted at UMich, and learning about networking protocols. I might have downloaded a few pirated econ papers and books from an FTP server somewhere, but that was the extent of my economic research.

I (thankfully…) didn’t graduate from CSUS, eventually got an econ degree at Rutgers while continuing to writing code for my real job. I recently learned Dr. Gutowsky died a couple of years ago. He was was such a challenging and dynamic teacher. I remember feeling like I disappointed him by dropping out, and in retrospect, that was an awfully stupid way to view it. I regret not keeping in touch with him.

Kids, do yourself a favor and reach out to teachers and professors that have made an impact on you.

Hahaha! Go Me.

Filed under: Technology — Shu @August 2nd, 2022 1:06 am

Somewhere in 2011, a patent t… excuse me, a “non-practicing entity,” sued Apple. Apple counter-sued to invalidate the patent. I just found out that Apple entered my mashup book from 2007 as an exhibit in the case. Awesome.

I Made the Front Page of HN

Filed under: Technology — Shu @June 2nd, 2022 1:12 am

Some friends and I were talking about civil litigation earlier this week, which made me wonder if anyone at HN would be curious about my experience with arbitration as a civilian. Right before I went to sleep, I submitted a link to last month’s post to HN and went to bed. The timing would have hit Central Europe around lunch, and EST at the crack of dawn. I figured if it was going to take off, the algorithms would start pushing it up throughout the Western Hemisphere all day.

And it worked! I woke up the 500+ more points and it kept rolling in throughout the day. I dove into the discussion, elaborated, argued, and generally watched the mood.

Participating in HN was cool as well as getting that sweet, hard-to-get HN karma, but the other coolness aspect was watching my little 4 GB Linode instance, that I manage myself, handle things like a champ. No complaints about the site being hugged to death in the comments, and every time I clicked, you’d never know it was being slammed.

Congratulations, someone at You were (maybe) the first human to hit the post from HN at 9:52:41 UTC.

Each “hit” makes thirteen simultaneous requests for CSS, JS, and HTML from this server (8 more for Google’s fonts). However, they are very small at just 279.6 KB total. I credit my lack of sophisticated front end skills for that and Skeleton. On the server side, each hit spawned a php-fpm process that consistently took 3% CPU, 1.5% Memory. The server peaked at around 75% CPU a few times.

Currently, the post has 960 points, which is pretty high. Most front page stories are under 200. I have now made the front pages of /., digg, reddit, and the most coveted, HN.

All in all, fun experience.

“Arbitration consumer protection attorney here! Nice work, and nice write up.”
“Damn, that was helpful and encouraging. Pound for pound the best value of any article I have read on HN.”
“This was an excellent write-up! The TL;DR is perfect”
“This is interesting, thanks for sharing and good work!”
“As an attorney, I hope everyone reads this.”

So I Took a Huge Corporation to Arbitration. This is How it Went.

Filed under: Random Stuff — Shu @February 27th, 2022 3:54 pm

It went pretty well.

Last Fall, my hot water heater started to leak. I called my home warranty company, (Hereafter, HWC. I KNOW, I KNOW, HOME WARRANTIES ARE NOT WORTH IT.) and due to a computer system failure that spanned multiple days, they were unable to send a contractor to fix my water heater.

With water starting to leak through my wall, I found my own plumber, paid for it out of pocket, and then sent HWC the bill. Sending HWC an invoice and getting reimbursed is actually an allowed part of my contract under certain circumstances. One of those circumstances, though, is obtaining a pre-authorization from HWC. However, with their systems, being down, they were also not able to pre-auth. This seemed like a pretty clear cut breach of contract on their part, so I figured I was in the right.

Of course, they refused to pay. Trying to find someone at HWC who could show an iota of free-will and thinking was hilarious and impossible.

My oft-repeated question, “You wanted a pre-auth, but you were unable to even accept a pre-auth request let alone deny it?” met with everything from silence to just repeating, “We need a pre-auth.” I could actually hear the blank eye-blinking on the other end.

No one I talked to on the phone, from front line call handler, to managers, to case specialists, had any authorization to do anything. No one deviated from their procedures and script to the point where it was excruciatingly predictable on what an individual would say. I was very impressed that this company so effectively neutered all staff that had any contact with customers.

After about five calls of runarounds, I realized that customer service channels would not help me and I had use the legal system.

In the US, it’s not easy to sue a company as a customer. Maybe about thirty years ago, it became common for companies to put into contracts and terms of service, clauses that required binding arbitration to resolve disputes. This was cheaper for the company in many ways including a streamlined resolution process, cheaper lawyers, no sifting through frivolous lawsuits, and finality once a decision is made. It sucked for the consumer because it’s essentially a privatization of justice.

My contract required arbitration from the American Arbitration Association, which is a non-profit organization. That made me feel a bit better. I filed a case online for $200, asking for $1,800 in claims. What’s interesting is that in the filing, I only very briefly described what happened. I summarized the entire timeline into three sentences. I provided no evidence. I didn’t want to give my hand away before arbitration. I then waited.

I didn’t have to wait long. Two days later, I received a response back from HWC’s attorneys. I apparently finally got someone’s attention. In the email, they denied responsibility but offered 50% settlement and reimbursement for the $200 filing fee for me to go away. Remember, I purposely withheld detail and evidence in my filing, and yet I was offered a quick settlement. I would love to see the math that goes into this strategy. This was the most interesting part of the whole experience to me.

I respectfully declined. In my email, I, again, was fairly light on details. However, the focus of my email was to exactly point out which clauses in the contract they failed to uphold, why they failed, and how I tried to uphold my end of the contract. Per my obligations, I first tried to escalate and requested an emergency contractor dispatch. They could not due to their systems being down. This violated Section X of the contract. A day later, I requested a 3rd party pre-auth to find an outside plumber. They could not due to their systems still being down. This violated section Y of their contract. These were the only areas where I revealed case details. Again, I sent them no hard evidence like screen shots or call logs. In the end of my response, I counter-offered 80% plus arbitration filing fee reimbursement. The next day, they responded back with an acceptance and sent over a release form. Case pretty much closed. I didn’t get 100% back, but the stupid co-pay and service fees I would have been responsible for if they actually came out would have made my offer more like 90% anyway.

Throughout this, a case manager at AAA checked in with us to see how things were going, and once we told them we were in settlement negotiations, she checked in on that process, too. I had a few questions about the process, and she quickly answered those.

I signed, scanned, and emailed back the release form and about two days later, got a Fed-Ex’ed check in the mail.

The takeaway from my story is:
1) Don’t be afraid of arbitration. I did feel AAA was helpful in the process. In fact, heading straight to arbitration may be the best way to fight this system that corporations created.

2) READ. YOUR. CONTRACT. I swear, this got me like 90% there. It doesn’t matter that I don’t have a background in contract law. These customer contracts are designed to be (relatively) approachable. I felt being able to specifically point out what clauses were violated and how gave me a very strong cause of action. I also pointed out there was no out-clause in the contract for computer system failures. I suspect this had something to do with them accepting my counter-offer so quickly. Once the attorney saw that yes, there were breaches of contract, they probably knew my case was pretty strong. The world doesn’t care about you feeling like you were wronged and how hurt your feelings were. It wants cold, hard facts.

3) Keep records of phone conversations. Date, time, who, resolution. Keep screenshots. Keep emails. I didn’t have to present them to an arbiter, but I think if I had to, I had the evidence to point out exactly where HWC failed.

4) Don’t get a home warranty.

Galapagos Photography Tips

Filed under: Technology — Shu @September 4th, 2021 4:25 pm

The photos are Here.

The Galapagos is often a once-in-a-lifetime trip. So, in preparation, I wanted to get it right for photography. I did a bunch of research beforehand, and found some good tips and not good tips. The bad ones will show up in google searches, so be careful.

You have no control over time and space.

If you take a standard Galapagos cruise like most people do, you are not in control of your schedule. You go everything with your fellow passengers. In excursions, you are often hurried along. You sleep on the boat. You wake up, you eat breakfast on the boat. You get on a dinghy to an island. You have an activity, whether a hike or scuba, in the morning, go back to the boat, and have a hike or scuba in the afternoon. Your itinerary is heavily regimented, and you cannot go anywhere without a guide. This is the main point to remember. There are ramifications to this:

  • You cannot go anywhere off designated trails to get the perfect shot. No climbing on things, either (duh).
  • You will not be able to camp out at a spot for extended periods of time waiting for a perfect shot. Guides will tell you to keep moving with the group to stick to the schedule.
  • You will not have any control of where you are Golden Hours. You’ll pretty much be on the boat in the morning, so forget that one. Evenings it depends on the time of year, but fair chance you’ll miss those, too.
  • You will not be able to return to a location. These tours have a set itinerary. When you’re done, you’re done. If the weather didn’t cooperate, that’s a pisser. You’ll have to live with full sun beating down on you or full clouds.

You will be snorkeling.

This is a good time to try underwater photography. I used my old Canon XSi because it would have been quite a bummer to screw something up, have the bag leak, and destroy my primary camera on this trip. I bought a Ewa Marine underwater bag and it worked perfectly. I didn’t want to blow $1-2K on a real hard case just to goof around under water, nor did I want to trust a camera with a cheap Chinese made bag from Amazon. The Ewa Marine bags at $300 was a good compromise. It worked perfectly.

Prior to my purchase I asked photography forums about this bag. Almost universally they ragged on it, saying bags are untrustworthy, no matter the equipment, it will eventually leak, blah blah blah. It was all idiotic, elitist BS. I might use this bag once a year. I’m not going to be abusing it. A $300 bag for occasional use is fine. Buncha dumb gatekeepers who can’t keep things in context.

Only thing I would have changed is maybe I should have gone ahead and gotten a red filter. The visibility is not as clear as you would expect in some areas. Five meters under water is really not a lot. Your subjects will likely be more than five meters away in any direction. Plus, that rule is for full sun, which even in July, we did not get at all during our trip.

You probably won’t need a tripod.

Maybe a monopod. But see the point above for having to move often. You often won’t have time to set everything up perfectly, take your perfect 3 second shot, and move onto another angle to repeat. I had a camera backpack with a small tripod and never used it.

Plus, the trails are *very* rugged. The trails are often nothing but large volcanic rocks that require climbing. It would be a pain in the ass to take a sturdy Manfroto tripod with you.

You will need a good telephoto lens

One forum I ran across, someone said you won’t need a telephoto lens because the animals are so tame. Utter BS the worst advice about Galapagos photography I found. First off, they’re animals. They’re not obligated to get right up to you. Second, you absolutely cannot deviate off the trails. Our guide had stories where he’s had to boot people from the tour because they kept wandering off. This rule is no joke. You will need a good telephoto to reach those beyond the immediate trail areas. Third, birds. You can get some magnificent pictures of birds in flight if you have a good lens.

It definitely was a trip of a lifetime and I got the chance to take some amazing photos. Just remember to bring your best equipment, whatever it may be, a lot of common sense, and understand that while the wildlife is tame, the restrictions offer some challenges to get the perfect photo.

I was in the Galapagos for a week.

Filed under: Technology — Shu @August 14th, 2021 2:20 pm

And spent almost two weeks total with Kali Linux on an old MacBook Air as my only computer. People are often warned that Kali should not be considered as a normal everyday laptop due to hardware compatibility issues, so I was curious how true that was.

Why Linux and Why Kali?

I wanted a laptop that could do everything I needed, but I wouldn’t cry if it got lost or stolen. Everything about the Galapagos is very controlled and safe, but we were putzing around Ecuador for a few days before with long layovers in Mexico City and Houston. Linux on an ancient and clean laptop was an ideal choice. Everything would be locked down, and if it got stolen, the damage of losing accounts and personal data would be isolated.

Kali was chosen because I had been working with it for a while already in VMs. I didn’t have enough time beforehand to screw around with changing desktop environments, etc. I needed something up and running sooner rather than later. I hate GNOME, and the lighter weight of xfce would be ideal for the older specs of this Air (4GB ram, 1.8 i5).

What Was I Going to Do With It

  • Standard web, email, youtubing
  • Slacking, Discording, and Signaling
  • Docker to screw around with coding if I had down time
  • Image sorting and previewing of RAW photos. Not editing.

What Went Well

Web, Email, and Youtubing

Stellar. Absolutely no problems. The included Firefox worked well, but I installed Brave and went to town. I never had any problems with any sites including ordering stuff off Amazon. Email we done via web clients. No problems there, either, and with passwords never being saved, I didn’t have to worry.

Slacking, Discording, and Signaling

No problems here, either. The fan kicked on due to the high demands, but they all worked great. You had to add repos for all three, so it’s one more step than apt-get install with the command line or GUI. I was able to keep in touch with friends.

Docker and Coding

No problems here, either, but then again, I really didn’t have time to do much. I downloaded a simple Python editor and goofed with code here and there on the plane, but nothing too heavy.


No problems connecting to my work VPN (OpenVPN) via the commandline. I didn’t need to, but felt connected to the real world should there have been any emergencies.

What Sucked

Image Sorting

I wanted a way to review the hundreds of pictures I would take per day and quickly toss out any that obviously sucked. I didn’t want to edit, because I knew this 4GB machine wouldn’t be able to handle it.

Overall, the experience sucked. I didn’t get a chance to download a real program like RawTherapee or Lightzone beforehand. Still, it wouldn’t have made things better due to their high demands and it was overkill for the task. There are two included programs in Kali that can view RAW images. Ristretto which had a bad habit of opening *every* file in a directory, which killed my workflow. Atril, which opens all images in their own separate window, didn’t tile the windows sequentially, and doesn’t have a deletion feature.

I ended up using Brave of all things and then manually deleting later. Brave at least let me quickly view images in sequential order. The only thing I was happy with was the SD card in the Air which allowed me to easily transfer the files to the hard drive. Kali handled this just fine.

Freakin’ NTP of All Things

Shortly after installing, the system clock would always set itself to February 1, 2021 8:00 am. I have no idea what is so special about this timestamp. This was a huge problem because it made SSL certificates on sites invalid, which nuked web browsing.
Looking online, there were a bunch of posts blaming timesyncd, system clock, and NTP. I eventually found one solution that work:

This took a long time to find and I’m still not sure why it worked, but it’s the only solution that worked. Clearly, though, this is a problem that Kali should address.

Waking from Sleep/Suspension

I didn’t dive too far into this, but there are a lot of discussion across all distros about how their laptops won’t wake from sleep correctly, often forcing restarts. My experience mirrored this. If I closed the laptop or set it on Suspend/Hibernate in the UI menu, sometimes I could wake it later by pounding on the keyboard, opening the lid, etc. Usually I couldn’t and I had to force a restart. I ended up just shutting down whenever I remembered.

The most common “try this” solution was to increase the swap size. I did, but it didn’t work. It seems the system would wake, but the display wouldn’t. This is probably a huge problem tied to hardware that is not worth exploring.

Hotel Webcaptive Screens

You know those screens that popup, when you go to a website, in cafes and hotel networks, that require you to accept the terms and agreement or enter your room number, before you can connect? Linux in general, Firefox specifically, don’t handle these well and generally won’t show those popups.
The most reliable way is to connect to a network, go into the terminal, curl -LG to Google, see the URL that it really connects to, copy/paste that URL into a browser, then accept the terms. Otherwise, nothing connects and you’re wondering why Linux can’t wifi.


Yes, a very pleasant experience if you know what you’re doing! You do need a fair amount of Linux experience to figure out things like the NTP issue and webcaptive issue. It met almost all my needs, and I felt safe with it. I will definitely use this setup for traveling out of the country in the future.

Next Page »