Kludgey

This post was written on Mastodon so it has an informal writing style with jargon and a manner for a specific audience. All the spelling and grammatical errors are intended.


I love creating my own problems and then finding a rabbit hole and chasing it until I have a geek solution that is likely foolish. If I load too many tabs on my Macbook, it gets sluggish. So, can I start xQuartz? Sure! Update however…

Okay, that done, can I SSH with the -X flag to my little Raspberry Pi? Yes! Sluggish. Wah.

How about to my “Security” laptop, running Linux? Yes. Sluggish still.

Google Search, find x2go, install it. MUCH BETTER.

So I’m using x2go, running Firefox-esr and connected to my not-work-tabs, including this one. Not seamless, but it works acceptably well enough.

Sitting here, marveling at all this exceptionally complicated computing technology before me, everything has “multiple cores” yet you really couldn’t tell. So instead of running everything from one single computer, we’ve got serious work stuff on one, then a remote desktop window to another running “fluffy stuff”, and then playing Spotify from my !@#$ iPhone. HAHAHAHAHAHA.

Shitty apps, each written by devs that believe that their app is the “King Of The Realm” and you can malloc() forever without having to fret over anything at all. Leaks? Who cares! Look how pretty it is! So, multiple computers, multiple OSes, failures aren’t less, but they are spread out so they don’t block real work quite as badly.

Of course, there is also I/O Blocking to contend with. When the filesystem is doing anything, everything stops. Because I/O is super smexy.

So we contend with shitty development choices by simply throwing entire chunks of technology at the problem. Two laptops, a Raspberry Pi, an iPhone, and an iPad. Each device is good at individual things, but no, we can’t do everything on one single device. Watch that device just chug right to the fucking ground. Ah well. The modern response is “throw a hypervisor on it” and that, wow, what a great way to make an even bigger mess of things.

Bullshit hypervisors make for hilarious blown-out-afternoons. So, Windows 10 on an HP Elitebook laptop, install Hyper-V from the OS, and the Radeon display driver commits hairy suicide. Not only does the driver break, but it cannot be “upgraded” or “fixed”, the only thing you can do, is remove HyperV and… poof, uh, there was a problem? No! No problem! So, you shrug and chuckle and look at the icon for VirtualBox. Yeah, hey buddy…

There are some situations where I start thinking that I should buy a cheap $200 Chromebook just for some things. More technology. SMH. Of course.

Two days ago I remembered the glory-promise of X-Windows and SSH tunnels, with the Display being sent elsewhere. Oh my god, the promise of that… so glittering. So… disappointing.

Oh it works. But it’s like watching slugs have a romantic dinner. Maybe I should just read a book while you request that website, hmmm?

Obviously you turn to Google, the eminent sage and eternal junkie for answers. Ah yes, X-Windows over SSH is a ping/pong nightmare, half the traffic is consumed by just making sure that all the lower layers are functioning properly, constantly. Fine. But then you spot things like x2go, give that a shot, eh… it’s somewhat better.

In the end, the promise bends to tools you already have. Like TeamViewer connected to Windows 10 on a different laptop.

Heh, assuming TeamViewer stays functional that is.

Technology is bittersweet. We have such command of so many wonders. I can’t shake the feeling that it’s all an immense house-of-cards. I suppose I’ve seen too much, I know too much, “I’ve seen things you people wouldn’t believe” kind of running through my head. Like looking at Layer 1 connections secured by… chewed bubble gum.

And all the various cheats and hacks, because you naturally want something, but you can’t get it because the people who provide the thing, won’t provide the tools for the extra things you want. They aren’t going to write the code, their codebase is secret, you can’t submit code yourself, and so you just sit there, google searching and finding kludgy-as-fuck solutions to your headaches.

Yeah, that’s fine, be a prat. I’ve got a python script that scrapes your shit and does what I wanted to do.

Case in point, Signal. I love Signal. I will always love Signal. But I want to search on metadata within the Signal app. No. Like the soup nazi, no metadata for you! Only search on stuff in primary stream. Fuuuuuuuu.

So I have a group chat, it’s all my friends, in Signal, and we use it as a blazing-bright thread, it connects us all, geographically spread throughout the United States. It made the COVID-19 Pandemic less lonely. It was a community of dear friends and we could be together without risk.

So, I journal, have an app for that, but obviously Signal doesn’t work with the journal app, so I can’t just hoover all the Signal content into the journaling software. Sometimes I forget to review everything we said in Signal, so the date-of-chat just slides off primary display. You could scroll, but wouldn’t it be nice to search on metadata? Like take me to the first thing shared on Sep 01, 2021? That would be nifty! NO. NO SOUP FOR YOU.

So, no metadata searching. Fine. So, enter the raw kludgy “fuck it, this is also a solution, damn you all” solution. Can’t search on metadata, but just on raw data, so, lets add the data markers we want to the stream! At 6am, write the date into the stream, every day. Then you can use the tools in the app to search on what was shared, and since the metadata you want is “shared”, now you can search on it! Well, okay! “Sep 01, 2021” look! YAY! That’s what I wanted!

Obviously this creates a “Forking House Of Mirrors”… one bullshit kludgy solution leads to a new problem. I don’t want to wake up at 6am to put the date into Signal stream. OK. Lets automate that. Enter Signal-CLI. shakes head fine. So, lets try to connect to the service, that was a hard climb. Okay, now it’s as group, what groups are there? No groups. What? No. Send something to someone, then ask again. Okay. <<send>> how about now? OH YES, THIS GROUP!? You need a special hex code for this.

If you have this hex code, you’d think you could use that without having to ask going forward. No. New install? You can’t just simply use what you know to peek around the corner, no. You need to run around Robin Hoods Barn all over again, and now you can use it! HUZZAH. FUUUUUUUUUUU.

So, finally, we can send signal data from the CLI. Next, lets figure out the date commands picky-picky formatting rules. How to get Sep 01, 2021?

We’ve got that! YAY! Okay, so lets write a Bash script! Get the date, and at 6am write it out to the Signal group. Write script, change mode on script so it can execute, plumb the foggy memories you have of crontab, and boom. Failure.

FUUUUUUUUUUU

Ah yes, cardinal sin, I didn’t explicitly declare the specific paths to signal-cli, echo, mv, fuck, any command at all. Call the script yourself, works, cron calls? Lost. Fixup. Dive into vim. Find your cheatsheet. Gah.

Finally, good god watch it work. 6am every day, a machine you “rescued from the landfill” with some half-forgotten linux distro you can’t remember is actually working and that’s fine. Now, when it’s Sep 03, 2021, you can search on Sep 01, 2021, to get back and manually journal what you remember telling people, because there it is. Click-drag.

All because metadata isn’t searchable. I got what I wanted. Everyone can benefit from it too. But it is complete mess.

This is why entire afternoons are incinerated on the pyre of “Fuck, I wanted XYZ, but the devs don’t speak English, their angel investors aren’t interested, and nobody but me would ever want this feature… so… fuuuuuuuuuuu”

I suppose I could attempt to ask for whatever it is I think would be good, but devs live on the moon, or as much as would be useful, they do. So no. We don’t tell devs anything. We just muck about, finding fragments on GitHub, trying not to get sick that Microsoft owns them now.

So you find gists, you find forked projects, you find python code fragments. The dependencies aren’t circular-misadventures-into-the-fog, you try to remember basic linux stuff because you haven’t had to screw around with any of it for decades and crontab went off to the same Elysium Fields that Trigonometry went off to…

Google Fu. Another worrisome “house of cards” right there too, but lets not look too closely at it, lest it collapse. Or sell our identity to Belorussians.

It doesn’t take much at all. Fragile houses of cards built on other fragile houses of cards. People mobbing on top, like hapless Eloi sitting down at the picnic tables and never having a single bright shiny thought in their pretty little heads because food is always right there, on the table, same time every day. Meanwhile, underneath, the Morlocks are banging on pipes, and every once in a while grabbing an Eloi for a snack.

That’s the Internet. Humanity on top of the Internet. The rot in Layer 8.

And all you really do is shrug. You hope for a better world. Every once in a really long while you stumble blindly over something truly elegant. It’s like tripping over Rivendell and spotting an Elf walking along a curated beautiful path of perfectly carved scrollwork.

And it’s only momentary. The pile of constantly shifting wreckage we call the modern world continues to shudder and throb. It all works, and you marvel that these people manage to continue to live in all of this… wreckage.

COVID-19 and Temperature Checks

I see a lot of companies starting to “open up” during our running COVID-19 pandemic. Right at the top, almost invariably I find the line item that, paraphrased “All employees are temperature checked before they start work.” and then it goes on and on from there.

I think it is worthwhile to start a conversation to illuminate understanding on what temperature checks really are. They are not quickie medical tests to determine if someone is infected or not with COVID-19. They are simply a very easy diagnostic tool to isolate vectors of COVID-19 transmission. Remember, that COVID-19 can infect you without your knowledge, it can replicate in your body without your knowledge, and by the time your immune system calls for a fever, to begin work on fighting the infection, COVID-19 has already been in your system and active and spreading the entire time, back to a standard period of about two weeks.

What temperature checks that fail do, is show you that you have a vector in your midst. Save your bus fare, because when someone is showing a temperature elevation they have been sick for at least a week if not two. These people should be interviewed to see where they have been so that those who have come in contact with them can be tested and quarantined.

So, while companies want to re-open because of economic pressure, which I do fully understand, a temperature check, a good thing to do mind you, is pretty much just identifying a bomb that has been slowly going off for two weeks. It is not testing, it is not contact tracing, and it is not quarantine. You haven’t found a sick person as much as you have found a Typhoid Mary or a Typhoid Marv.

We need to test everyone. We need a vaccine. We need masks, hand-washing, and social distancing. Everything else is just a carefully monogrammed pillow invitation for COVID-19 to spread and kill more people.

Gin & Tonic

Aside

Ever since COVID-19 started spreading around the world, there has been mutterings that an anti-malarial medication called hydroxychlorquine had some benefit to people with the virus. Perhaps it is with viral replication or viral implantation it is unclear to me, but the drug did bear a mention by scientists and doctors. I did a little reading and quine, chloroquine, and then hydroxychloroquine all seem to be fully synthetic versions of a very old drug, quinine.

This was exciting, because I knew full well that I had quinine in my house already. It’s an ingredient in Tonic Water. So when COVID-19 was spreading, people were panic buying left and right, and I was buying liter bottles of Tonic Water and a giant bottle of Gin.

I figure that I don’t want hydroxychloroquine, leave that to the FDA, the doctors, and scientists to argue over. I could very well dose myself, very low-dose, with quinine every day in a collins glass filled with ice, a splash of Gin, and top it off with Tonic Water. What is the damage? It’s a very low dose, its a delicious cocktail with only maybe an ounce of Gin per drink, and I spritz it with a little lime juice as a flavor addition when I like. Because the Tonic Water is cheap, $1.89 per liter, has the chemical that seems to work against COVID-19, maybe a regular micro-dose of quinine has some effect either in preventing COVID-19 from infecting me, killing it off when my immune system notices it, or quite possibly I haven’t been exposed to COVID-19 yet. Either way, liters of Tonic Water are very easy to find, making two or three glasses of Gin and Tonic go really well with lunch or dinner, and it can’t really hurt me. So, why not?

So I started to muse to myself on the topic of micro-doses of quinine for COVID-19. I don’t know, I’m not a doctor, and there aren’t any studies. Chances are it’s all placebo, but if it isn’t? What if three doses of Tonic Water, say 100ml each, with ten of these doses in a liter bottle – what if my daily Gin & Tonic drinks are helping?

Maybe it is helping, it certainly isn’t hurting me. What if this was the answer all along and it was in your liquor cabinet this entire time?

Upgraded Mac Mini, Contacts Woes

A dear family member upgraded their old Mac Mini to a new Mac Mini over the holiday break and from afar, I helped by making some key suggestions on how to get the data moved from the old machine to the new machine. Specifically, using Apple’s own Time Machine to restore the data back to where it belonged on the new computer. I did this through another person, by fielding technical questions from remote.

Everything appeared to go well, except Contacts was a problem. But after a few restarts, Contacts wasn’t a problem. So everything was fine and we moved on. Then I got a new call for help, that the Contacts application had crashed and refused to restart. I started my remote assistance program and shared the desktop session with the faraway computer. The Contacts app was well and truly not opening. I went to ~/Library/Application Support/AddressBook and moved the folder to the Desktop, started Contacts app, and it started with the owners details and the entry for Apple. Then I closed the Contacts app, deleted the AddressBook folder that was created by default because I had moved the previous one to the Desktop, and I undid that. I then started Contacts and it opened. The user went to an entry they wanted to remove, and the app crashed. And then it was stuck again. I did the AddressBook folder out/delete/in two-step and got it back to work, but then figured out that some of the entries worked fine, while others caused the application to crash.

So after I got everything back and running in Contacts, I backed up the contacts using the Export Contacts feature. I then emptied the AddressBook folder again, started Contacts, and then Imported from the backup. Once again, the entry that was causing the crash made the application crash. So whatever it was, it was data driven and somehow got included in the backup feature. I had another option, a long shot, but I tried it. So I got everything in Contacts up and running, selected everything, saved everything as a VCARD file instead, then used TextEdit to find the entry that the end user really didn’t want and removed it manually. Then I restarted an empty version of Contacts, which ran fine, imported the VCARD data back into Contacts, and then after that, everything was fine.

So there is something from probably High Sierra’s Contacts that drives Catalina’s Contacts nuts. Its something that survives backups, but doesn’t survive being shuttled through VCARD. If you have any problems with toxic entries causing Contacts to crash, select all the cards, export them as VCARD, empty out ~/Library/Application Support/AddressBook and then reimport everything. It works. I don’t know why, but it works.

This is the sort of foolishness that I expect from Microsoft, not Apple. Tsk Tsk Tsk Apple.

Crochet Day 2

Yesterday I tried and made a lot of mistakes. First was trying to accomplish a slip knot, which by the book was impossible. I found another way and it works much better, the X method on my hands. Then struggling to make a chain stitch, but I got better slowly. Then I tried several lines of single crochet and it came out floppy and anemic. Turns out I was doing it completely wrong. So I ripped up everything and this morning tried it again. I finally figured out what was wrong, I was only picking up half of the loops that I needed so there was no depth to the work.

In a few hours I ended up here. Looks like it’s going to be a scarf for Scott. There’s some missed stitches at the base, but overall it’s not bad for a day 2 attempt.

Chesapeake Beard Company’s Mercury Beard Balm, 2oz.

I encountered the Chesapeake Beard Company during a beard competition event at the Old Dog Tavern here in Kalamazoo, Michigan. They had a table set up, and they had an array of products available. Amongst all of their products, the Mercury line appealed the most. I bought both the oil and the balm, but the scents are nearly the same, so I’m only reviewing the balm. The product comes in a glass jar with a plastic lid. The balm is waxy, yellow in color and has the same consistency as the Viking Revolution balms, slightly firmer than Honest Amish and somewhat looser than the Reuzel.

The scent is the strongest of all my balms and oils and the fellow selling the product sold it as a homage to Freddie Mercury, that one of his favored drinks was a kind of Cherry and Rum flavored cocktail. This balm screams black cherry and a light undercurrent of rum running underneath. The fragrance is amazingly strong and has significant staying power. They use fragrance oils instead of other more easily diffused scents like linalool or vanillin. Much like how Honest Amish is an “exploding pumpkin pie,” Mercury by Chesapeake Beard is an exploding cherry pie. The scent is overwhelming and delightful. You likely wouldn’t use this balm if you were attempting a formal dress event where strong fragrances are frowned upon, but if you were in any other situation, this balm would be a home run. If you like cherries or if someone you know prefers cherries, this balm might be the perfect way to condition your beard and have a wonderful experience along for fun. I estimate that the fragrance lasts at least three to four hours long, significantly longer than any other balm, except perhaps the Honest Amish one.

It is worthwhile to note that they have renamed this product to Rhapsody, but they do include the old name, Mercury, on their website.

Reuzel Wood and Spice Beard Balm, 1.3oz

The Reuzel Wood and Spice Beard Balm is a brand new fragrance from the Reuzel company. They immediately get top-choice amongst my beard products because they were the first ones I had, and they have performed admirably for me. The tin is just like the standard Reuzel, a screw-top aluminum canister with the product within. The Reuzel Wood and Spice Balm, much like its predecessor, suffers from the same unusual crystallization in the wax that the standard Reuzel suffers from. The solution is to warm Reuzel products up to melting and then let them gently cool. This fixes the problem for both the standard Reuzel and this one. The front has the recognizable Dutch pirate and on the back the ingredient list.

The balm itself is stiff, waxy, and quite solid. It scrapes with the back of the thumbnail readily and melts with ease when you work it in your hands. The color is bisque, and the scent is wonderful and subtle. The fragrance is warm with vanilla, wood scents, and spiciness that lends a kind of forest-guide warmth to the user. There are notes of butterscotch as well, which really appeals to me. It is a remarkable departure from the standard Reuzel fragrance, but still quite pleasant to use.

When pairing this balm with oil, either unscented, which would be best, or even the Honest Amish Premium Oil would work as both have notes of woodsy warmth that would compliment each other nicely. I can definitely see this becoming a standard entry in my beard care kit.

Bossman Magic Beard Balm, 2oz.

Bossman Magic Beard Balm comes in a tin container, two ounces, much like all the other balms that I have reviewed. The product is not tested on animals, made in the United States, Austin, Texas, to be specific, and is made of only natural ingredients. The tin has labels on the obverse and reverse with directions and ingredients clearly written out. The tin itself doesn’t have screw grooves, so it is only secured by friction, this is not a problem when it comes to balms that I have experienced.

The balm is paper white in color and the scent, “Magic” smells clean and soapy, with notes of warmth, exuding cleanliness. The consistency is waxy, and the top lid claims that it will actively relax beard hairs. I’ve found it to be delightful to use, the scent lasts about an hour or so, and it has done well for my uses. This scent would pair best with unscented beard oil, and not a scented one unless it would be paired by a beard oil from Bossman themselves with matching scents.

I am looking forward to exploring more of the scents that Bossman sells, they have a four-scent pallette where Magic is just one of the available kinds. They also make a beard wash and beard oil, but I haven’t tested either yet.