Use what works for good

Tue 26 December 2023 by R.L. Dane

Exactly a month ago, I wrote an article challenging the prevalent pragmatist-argument for choice in the digital world.

I'd like to refine that thought a bit further, based on recent experiences.

A little over a week ago, I started crafting an article covering FOSS keyboards for Android. This is one area where the FOSS alternatives have been woefully behind the likes of Gboard, the Google Keyboard, which is extremely versatile and powerful, but of course, completely proprietary, created by a mas-surveillance company, and has always-on internet connectivity—A most potent and noxious combination.

However, my writing process seemed to run aground. That which used to be relatively effortless (writing) suddenly felt like pulling teeth. I just couldn't get my ideas to flow. I can't be certain, but it could very well have been a minor kind of cognitive dissonance, a sense of brewing discontent was stymieing my writing process.

I was writing excitedly about what felt like a breakthrough in FOSS keyboards for Android — an arena badly in need of greater development. So, I had finally found a FOSS voice recognition/dictation keyboard, and an onscreen keyboard almost as good as Gboard in some (but not all) areas of functionality. I also found that the stock AOSP (Android Open Source Project) keyboard had been greatly improved in a recent OS update, and was almost good enough to be used on its own.

So, with a sense of triumph, I happily deleted the Gboard and Google Voice Services/Dictation apps from my phone, and switched to using only FOSS keyboards, and a FOSS dictation keyboard app.

It was... almost perfect. But that uncanny valley of functionality was quite deep. I was annoyed that the only FOSS keyboard app with gesture (swipe-style) typing was very alpha, and lacked more basic features. More distressingly, this very alpha/beta keyboard hadn't been updated in over a year. Not encouraging. However, the AOSP keyboard was almost perfect, but didn't have an emoji mode. The other very good keyboard app was almost completely perfect, but again, lacked a swipe mode, and also wouldn't recognize the dictation keyboard as a valid dictation service, so I kept having to switch back to the AOSP app for the dictation button to work, and the other one for emoji and couple other (minor) needed features.

Death by a thousand papercuts. Ok, annoyance by a thousand papercuts. It was annoying. Annoying enough to consider going back to the Google-provided apps (which I had been using for a long time, although with network privileges disabled).

Did I go back to the uncomfortably tight embrace of Google for keyboard and dictation? Nope. When in doubt, stick to your guns. It may indeed be better to be stubborn at the risk of being in the wrong, than having an open ear to virtue and justice, but unable to follow anything to completion. I can't say for sure. But I stuck with it.

So now I find myself coming back not only to what I at first attempted to herald as such good news for FOSS Android, but also my former stirring remarks on the pursuit of virtue in the digital realm ("Don't use what works for you").

In weighing the tension between desiring a well-functioning pragmatic solution and walking "the straight and narrow" way of FOSS and privacy, my thoughts alighted on one of my favorite novels in High School: Asmiov's "Robot Trilogy," especially Caves of Steel.

As is well-known, Asimov posited three Laws of Robotics to govern the behavior of robots in his worlds. These were not mere rules, but the lowest level of abstraction in the Robot's mind. It would be no easier to remove one of the Laws from a Robot (either extant or in development) as it would be to take an ARM processor and change its circuit-level logic from binary to ternary. It was simply not possible. (The one example of meddling that I recall from the trilogy was a robot that was reprogrammed such that it would not recognize a being as human unless it spoke with the accent of that world — the Three Laws were untouched, but the Robot's perception was modified — something that operates on a much higher and more vulnerable level in the robot's brain. The three laws (paraphrased from memory) were:

Law 3. A robot must do what it can to preserve its own existence, unless doing so would contradict the First or Second Laws.

Law 2. A robot must do what a human orders it to do, unless doing so would contradict the First Law.

Law 1. A robot must not harm a human, nor allow a human to be harmed through inaction.

The third novel in the trilogy added a theoretical "Zeroeth" Law: "A robot must not harm humanity, nor though inaction allow humanity to be harmed. This supersedes the First Law." This was not added to robots, but something that only the most advanced robot (R. Daneel Olivaw) was able to infer for himself.

I was thinking about how the Three Laws would apply when trying to wrangle the idealistic vs. pragmatic choices in the digital space. I'd like to suggest, as a thought experiment, the "Three" Laws of FOSS:

Law 3. A piece of software or hardware is purchased or procured to either please/entertain or help/assist the user. This is the most surface-level decision-making in this arena: "use what you like, use what works for you." The Aesthetic.

Law 2. A piece of software or hardware is purchased or procured because it is required to perform a task or for a job. This is the level of necessity. This is coding a javascript backend at work, even though you know it's a horrible language for that task. This is running a Windows workstation, even though you know it's a garbage fire of an OS. You're getting the job done, you're doing what must needs be done. This supersedes the choices made on the basis of pleasure/aesthetics or pure function/capability. You may think C++ is a far better choice for backend work (ok, I'll wait for you to catch your breath. Done laughing? ok :), but you use what your employer expects/demands. You think Windows was designed by a committee of brain-damaged vultures, but it's what you have to run at work, and you don't have a lot of choice in the matter. The Pragmatic.

Law 1. A piece of software or hardware is either procured or not procured on the basis of what is beneficent or harmful to the user (not merely what is helpful or a hindrance). This means you may take a little more time to get grandma used to Linux Mint or MX Linux rather than just slapping Windows on their machine, because you know that that choice is safer for them, more respecting of their privacy, and generally in their interest to do so, even if it involves inconvenience on your and their parts. This means that if you have to bring home a work machine chock full of corporate spyware, you put it on its own network segment/DMZ because you won't tolerate your employer snooping around your family's network. This also might mean that you spend some time learning Linux/Unix, not because it's necessarily more capable or pleasant to use from your standpoint, but more beneficial to your life itself. Beyond the Aesthetic, beyond the Pragmatic, you have basic Safety.

Law 0. A piece of software or hardware is procured on the basis of what is good for humanity itself. This means that even if you are an infosec guru, and have tons of security on your network and tons of mitigations on and around your devices, you may choose to go with a less popular or even less functional alternative on the basis that choosing the harmful one would help popularize it and normalize it. You can run facebook dot com in a container in a safe browser on an ephemeral VM so that it's completely "safe," but popularizing that platform is objectively harmful to humanity, so you minimize your use of it. Beyond Aesthetic, beyond Pragmatic, beyond Safety is Virtue.

I do not personally know anyone who operates on Level 0 100% of the time. It may indeed be impossible. But it is important to be aware of, and it is very important that the Virtue level of decision-making is present in a person's life.

Inasmuch as you are able, inasmuch your life circumstances gives you the freedom to do so, please,

Don't just use what works for you
Don't just use what is allowed and normalized
Don't just use what is safe
Use what is virtuous

Note: This article has a Part III !

Using `cal` and plain text to track things, Part II

Mon 27 November 2023 by R.L. Dane

Back in September, I posted about using the output of cal and plain text to track things. Here is the example of that format I listed in the post:

     August 2023    
Su Mo Tu We Th Fr Sa
       .  2  3  .  5
 .  7  .  .  .  .  .
 .  .  . 16  .  .  .
 .  .  .  .  . 25  .
 .  .  . 30  .      

2023/08/02 326 45 …
read more

*Don't* use what works for you

Sun 26 November 2023 by R.L. Dane

I was watching a youtuber I rather like, and he closed out his video talking about his pragmatic approach to operating systems. He said he used multiple OSes (some FOSS and some non-FOSS), and he summed up his approach with "Use what works for you."

This is not a polemic …

read more

UNIX is "dead," Part II

Sat 25 November 2023 by R.L. Dane

I was re-reading my original UNIX is dead. Long live UNIX article, and I realized something that helped me better classify the various types of UNIX OSes:

I see OSes like the BSDs as UNIXes, while I view MacOS and many Linux distros (particularly the Gnome-oriented ones, more about that …

read more

UNIX is dead. Long live UNIX

Sun 12 November 2023 by R.L. Dane

I remember once watching a video of presenter at a Linux conference boldly proclaim, "UNIX is dead."

As someone who worked on UNIX systems for over a decade, and who's played with UNIX variants off and on for three decades, that is a pretty incendiary statement.

With apologies to Sophocles …

read more

Using `cal` and plain text to track things

Tue 05 September 2023 by R.L. Dane

I know everyone's got their preferred notes app/platform, but I've been using SimpleNote for several years now, and I'm quite fond of it. Not only does it have very usable mobile and cross-platform desktop apps, it also has alternate apps like nvpy (a GUI) and sncli, an excellent command …

read more

Fun with FreeBSD

Wed 22 March 2023 by R.L. Dane

Do *not* do the following :D
Please scroll down to the **Update** section below, instead

I was watching this video about FreeBSD last night, and the gentleman made mention of a blog which had extra information on FreeBSD. Looking at the blog, I found an excellent article describing how to …

read more