Sunday, July 28, 2024

A story about fear, power, privacy, and my life as a "terrorist"

 Many years ago, I subscribed to a magazine dedicated to the Linux operating system.  They ran a range of articles from beginner introductions to various applications, to in-depth reports on kernel development.

There was typically a social commentary or op-ed article in each issue, discussing some political or philosophical idea relating to open source.  Nothing subversive or nefarious, mind you. They were typically discussion of the potential positive impacts open-source philosophy had or can have on democracy, personal freedom etc..., and though there were certainly differing opinions from one writer to the next, I don't recall any being anti-establishment, nor was there a particularly noticeable overall political leaning. A variety of usually well-reasoned, thoughtful articles.

At some point a few years after the events of 9/11, and the resulting rise of the surveillance state, one or more fearful voices in positions of some degree of power sounded the alarm that Linux was a threat to security, that Linux users were extremists, a danger to democracy and order.  

And so, the powers that be implemented surveillance mechanisms targeting various parts of the Linux community, focusing on proponents of privacy.


It was around this time (unaware of the above events, personally), that I became aware of a curious trend. Whenever I traveled for work, I could count on being "randomly" selected for additional security searches or questions at the airport. It happened on every trip, both on outbound and return flights, with very few exceptions. At that time, I had a colleague who had dealt

A couple years later, I received an email from staff members of the Linux magazine I subscribed to informing me their office had been raided by officials from a government intelligence agency, and their subscribers list collected. They claimed to be sending the notice in violation of a gag order, to warn their subscribers that their names had most likely been added to a security watch list.


I really should have preserved that email. Unfortunately, I didn't copy it out of outlook and the outlook data became corrupted. I lost several years of emails (backups- you don't need them until you need them...).

I didn't really give it much thought at that time, in all fairness. The frequency of "random searches" suddenly made more sense, and while it is an inconvenience, as a law-abiding citizen, I have nothing to hide, so... not a big deal, right?


I went for about a decade with no travel for work, and had thus mostly forgotten about it, until a trip to Costa Rica last year with my son, for his Spanish class (we were both "randomly selected."). A few weeks ago, I had a business trip to the UK. I was pulled aside at security for an additional search of my luggage, then I was called to the desk at the gate for additional questioning. I was randomly selected for additional scrutiny a third time on my return flight.

Again, an annoyance, an inconvenience, but nothing world-ending.


However, I was recently asked about making a trip to one or more of our facilities in China. Given the unusual relationship between China and the US, I expressed concern about this, and suggested the company might want to use their resources to explore the potential implication for me.

I don't know if they have done anything yet, but my own research suggests I could be detained, and possibly imprisoned for up to 40 days, without formal charges, on suspicion of criminal activity.

So, while I may have nothing to hide, I do have something to fear.


A sweeping decision by some unknown, fearful person in a position of political power nearly two decades ago is carrying potential, lasting consequences for me - for my career.


Next time you hear some fringe lunatic ranting about the erosion of privacy and government overreach, and you are inclined to think "If you've nothing to hide, you've nothing to fear," remember this little anecdote of mine.

Sunday, June 23, 2024

Leaving Microsoft: A minor setback

 I've encountered my first issue.

I was updating my Arch test system, and it failed with an error that one of my installed packages was incompatible with the new packages.

The offending package was electron25.

You will note electron is not in my list of applications. It isn't an application I use, specifically. Rather it is a framework for developing applications which will run on multiple operating systems. I was fortunate enough to have been vaguely aware that Obsidian (which is one of my applications) is built on electron. A web search might give you that answer (it did me, but search isn't entirely trustworthy nowadays - dark forest and all...).

I did do some searching in Arch for an answer. I found a few similar issues, but not the same, and no applicable solutions.

Since this is a test system, I decided to try uninstalling electron. I would then run the updates, and then see if I could figure out how to get electron back on.

The uninstall and update went smoothly, no issues. Then for giggles, I decided to try launching Obsidian. It worked.


Puzzling.


I used a command to query my system for electron and discovered that, unbeknownst to me, there was a new version of electron which was installed.

My initial thought was why didn't the older version of electron uninstall when the newer version was installed. Of course the answer is, there are some frameworks which you can have multiple versions installed, to satisfy compatibility issues with different applications. You see this same behavior on windows, with .Net, and a variety of Visual C++ libraries (And I have had to deal with issues on the Microsoft side, though usually not with typical consumer applications).

This did give me pause to consider my decision to go with Arch, One of my criteria is that I don't want to have to spend time fiddling with the guts of the Operating system. I expect it to largely "Just work". 

Interestingly, as I was pondering going back to Debian, there was news of excitement there, involving KeepassXC - one of the applications I depend on.

One of the quirks of the Linux ecosystem is, you don't typically get your applications directly from the original developers.

You can get the source code. And then build it yourself. But that can be a major headache. You have to work out what dependencies are required, tweak compiler options and settings, then compile the source code into the application. It can be a time-consuming and fiddly process.

And then you have to watch for new releases of the source code and repeat the process to keep your applications up-to-date. Not a user-friendly process.

Fortunately, most Linux distributions have a package management system. This system works similar to an app store. You select the application you want to install, and the package management system handles deploying the the program and any dependencies for you. It typically has a mechanism to check for an apply updates as well.

But where does this compiled program for your distribution come from? And how does it know about the dependencies?

Somebody else does all of that for you. These individuals, called package maintainers do the heavy lifting, so you don't have to.


There are a few catches.

1. They are usually volunteers, which means your important package may not be their number one priority.

2. They make decisions about how the application gets packaged, which you may not agree with. And you might not get much of a say in the matter.


That is essentially what happened to KeepassXC for Debian. The person maintaining the package for Debian decided several features were a security issue, and arbitrarily removed them. The ramification was many people suddenly lost access to features they relied on after updating to the latest version.

Now, this wasn't really as dreadful as the news articles made it out to be. The maintainer released a separate version under the name "KeePassXC-full" with all the features available. So, all you really had to do was select a different package and all is well.


But it does point out one challenge when working with Linux.


You are often entirely dependent on individuals, over whom you hold zero influence. What if they decide to configure the program in a way that doesn't meet your needs? What if they do't feel like building necessary documentation, leaving you to "figure it out"? What if they decide to slip malware in? (yes, the benefit of open source is anyone can look at the code, and report if this happens, but can you really be certain that capable people are looking at the code for the programs you use?). What they have a falling out with the developers of the program, or the Linux Distribution you use, and decide to abandon it?

The reality is many of those same issues exist in the Windows/Apple worlds as well. Companies abandon applications, or make poor financial decisions, or poor technical decisions, which can impact your experience as a user. That is in fact one of the primary reasons I started this endeavor - Microsoft was caught reading customers' email - not just reading, but also breaking into password protected zip files, ostensibly "for your safety". Apple of course claims they "would never". But then, they just implemented a backdoor into their iPhone OS giving them the ability to do so. If they "would never", why then did they do that?

And that is, I suppose the bright side of the Linux "mess".

Yes, you have to deal with this mass of independent, often arrogant, free thinkers, often driven by their own whims, which leads to a cacophonous array of distributions, disjointed systems, inconvenience and general chaos. 

But, that inconvenience and chaos can disrupt conspiracies of wealth and power, and it does produce some brilliant innovations as well.

Not the ideal, perhaps, but, until we humans can ascend to our better natures, it is better than the alternative.

Pragmatically pressing on....

Wednesday, June 5, 2024

Leaving Microsoft: Applications

 


This is the continuation of my posts journaling my effort to disconnect from Microsoft. The initial posts focused on the operating system itself, but the operating system is really just the skeleton. It is the framing in the house, so to speak. If it is doing its job properly, you should largely forget it is there. It is the applications that actually matter.

I have been taking inventory of the applications I currently rely on or am tinkering with. I have created a quick list below (Alphabetical). Below that, list each application is presented with some additional detail, including:

  • What the application is used for
  • Is there a version which runs on Linux
  • What reasonable alternative applications have I found
  • Any notes regarding the status of testing, findings, etc...


This would probably be better residing in a wiki or something similar, as it will go through a few changes as I progress, but... here it is for what it is worth. Let me know  if you think I am missing something.


7-Zip

Audacity

Calibre

Draw.IO

Edge

GIMP

Git

Gnu Cash

GnuPG

Handbrake

KDEnlive

KeePassXC

Kleopatra

Minecraft

MP3Diags

MP3Tag

MS Office (Word, Excel, Powerpoint)

MS OneDrive

MS OneNote

MS Outlook

Notepad++

OBS Studio

Outlook.com

Phone Link

Putty

Steam

Visual Studio

Vmware Workstation

WinSCP

Yubico - Yubikey Key Manager

Zoom





7-Zip

What? File/Folder compression/decompression

Linux Version? Yes

Alternative? NA

Notes:


Audacity

What? Audio Editing 

Linux Version? Yes

Alternative? NA

Notes:


Calibre

What?  eBook Management

Linux Version? Yes

Alternative? NA

Notes: I have just started playing with this, to see if It can be useful in my authoring endeavors.



Edge

What?  Web Browser

Linux Version? NA (Microsoft)

Alternative? Chrome (Google), Firefox, Falkon, Brave

Notes: Google is on my list of companies to detangle from in the future. I stopped using Firefox after they forced out one of the directors for his personal donation to a political cause (which, shouldn't have even been public knowledge). I am reluctant to go back, as I have no indication their culture has changed. Playing  with Falkon at present, as it was bundled with Arch/KDE. It is built on Chrome source, but with Google stripped out. So far so good. Brave is popular with priacy experts, but I haven't tried it out yet.


GIMP

What?  Graphics editing

Linux Version? Yes

Alternative? NA

Notes:


Git

What?  Version Control (software, documents, etc...)

Linux Version? Yes

Alternative? NA

Notes:


Gnu Cash

What?  Person(/Business) Finance (Like Quicken or Quickbooks)

Linux Version? Yes

Alternative?  NA

Notes:


GnuPG

What?  Cryptography Platform (encryption and digital signatures)

Linux Version? Yes

Alternative? NA

Notes: I've only just started playing with this., for privacy and authenticity puproses.


Handbrake

What?  Video Conversion tool

Linux Version? Yes

Alternative? NA

Notes: I used this to make backups of my DVD's (No, I don't pirate them. I am strictly in compliance with copyright fair-use). I have also used it a few times to convert old video files to more modern (supported) formats.


KDEnlive

What?  Video Editing

Linux Version? Yes

Alternative? NA

Notes: Another one I have just recentlty started tinkering with, so I don't know much about it yet.


KeePassXC

What?  Password Management

Linux Version? Yes

Alternative? BitWarden

Notes: I am happy with KeePassCX, but have been keeping an eye on BitWarden as an alternative option.


Kleopatra

What?  Digital Certificate Management (Front end for GnuPG)

Linux Version? Yes

Alternative? NA

Notes:


Minecraft

What?  Entertainment

Linux Version? Yes (But Microsoft Owned)

Alternative? 

Notes: I like this game as a diversion, and have even been recording my game sessions, which I have just started posting to YouTube as an educational experience. I am aware of a few alternatives people are building, but nothing which looks like a viable alternative for me at present. I am willing to give it up. 


MP3Diags

What?  MP3 Repair tool (Fixes audio and metadata issues in  mp3 audio files.)

Linux Version? ???

Alternative? 

Notes: There used to be a Linux version, but it appears it is no longer supported except on windows. I still need to find an alternative. I can move forward without it, however, as need is very low, and I could probably accomplish the same things in Audacity, albeit with a learning curve.


MP3Tag

What?  MP3 metadata editor 

Linux Version? No

Alternative? Tagger, EasyTag, Kid3, Amarok

Notes: Haven't evaluated these yet. I use this to fix MP3 metadata (i.e. add Genre, which is often missing from purchased MP3 files.) Need is low.


MS Office (Word, Excel, Powerpoint)

What?  Staple Office applications

Linux Version? NA (Microsoft)

Alternative? Libre Office

Notes: I have already converted to Libre office. Interestingly, It did a better job of converting my old office files than MS Office could.


MS OneDrive

What?  Cloud Storage, file syncing, DR

Linux Version? NA (Microsoft)

Alternative? DropBox, Sync, ProtonDrive, SynchThing, NextCloud

Notes: There are tons of options for this out there. Trick is finding the right mix of convenience and privacy. Currently playing with syncthing, which is self-hosted. Probably more work than most want to do. ProtonDrive seems to be very strong on privacy, with end-to-end encryption. I still need to work on this one.


MS OneNote

What?  "Second Brain" Note-taking and management platform

Linux Version? NA (Microsoft)

Alternative? Obsidian, Notion, Logseq

Notes: I have been using Obsidian for the past year and a half, after OneNote corrupted a bunch of my data. OneNote appears to store files in a proprietary, binary format, which puts the data at risk. Obsidian, on the other hand, uses plain text files with Markdown. It is incredibly powerful - much more so then OneNote as a personal knowledge management tool. You can build in capabilities to allow project and task management, calendaring, habit tracking, data library management, and so much more. They also provide built-in syncing of data, for a subscription. They are closed source, so it is difficult to gauge how they are with respect to privacy. They seem to be good. Logseq looks interesting as well, so I may explore it, but at present, Obsidian is the clear winner for me.


MS Outlook

What?  Email client

Linux Version? NA (Microsoft)

Alternative? Thunderbird

Notes: I don't entirely love Thunderbird. It is a bit slow and clunky, and it is owned by Mozilla (Firefox). I've not yet found any other viable alternative, however.


MS Visio

What?  Diagraming software (flowcharts, network diagrams, etc...)

Linux Version? NA (Micorosoft product)

Alternative? Draw.io

Notes: Still new to this one. Need to play with it more to come to a conclusion, but thus far it seems okay.


Notepad++

What?  Text file editor.

Linux Version? Yes

Alternative? NA

Notes:


OBS Studio

What?  Video recording.

Linux Version? Yes

Alternative? NA

Notes:


Outlook.com

What?  email hosting.

Linux Version? NA (Microsoft)

Alternative? Protonmail

Notes: My primary email address is an outlook.com email. This will be a pain in the backside to detangle. I may opt to break it out: one for family/friends, hosted at proton (better privacy, though less convenient), and one for bills, etc. hosted... somewhere else. Still not sure about this one.


Phone Link

What?  Enables interaction between my phone and my computer, such as being able to see and respond to text messages from my computer. My primary use is to copy one time passcodes sent by SMS, to the requesting website on my PC.

Linux Version? NA (Microsoft)

Alternative? KDE Connect, GSConnect

Notes: I have just started playing with KDE Connect on my test system (Broke my connection to my computer in the process. Presumably I can connect to only one system at a time.). So far so good. Not quite a polished or convenient, but sufficient for my needs.


Putty

What?  Terminal software. Used for connecting to (via SSH, or Telnet) the management interface of devices (network switches, wireless access points, Linux servers, etc...)

Linux Version? Yes

Alternative? NA

Notes:


Steam

What?  Entertainment (Video Games)

Linux Version? Yes

Alternative? 

Notes: I only have a couple of games on Steam (Half Life 2, Skyrim). I haven't played them in ages. There is a Steam client for Linux, though I don't know if that means my games will "just run" (i.e. are they emulating windows, so you can play windows games?), Or if I would be given access to Linux versions of the games, assuming they exist. I may or may not take the time to investigate this. I can live without it, at any rate.


Visual Studio

What?  Software development environment.

Linux Version? NA (Microsoft)

Alternative? Eclipse, VSCodium (Visual Studio Source code, but with Microsoft removed)

Notes: I don't do much coding, so this hasn't been a priority. I have used eclipse before, and it works well enough. VSCodium should work fine too.


VMware Workstation

What?  Virtualization Platform

Linux Version? Yes (But Broadcom?)

Alternative? VirtualBox (Oracle? Not any better), (QEmu)

Notes: I have mostly used VMWare workstation to demo Linux systems. I may be able to get by using Docker once I am moved to Linux as the underlying OS. For now, I will probably continue to use VMWare, but Broadcom is making me nervous.


WinSCP

What?  File transfer utility

Linux Version? Yes 

Alternative? NA

Notes:


Yubico - Yubikey Key Manager

What?  Hardware Security (Physical key with digital certificates, to enhance secure access)

Linux Version? Yes

Alternative? 

Notes: I've just started using this for privacy/security (might do a post about it- how i use it, best practices, what safeguards I use, etc...). Basically, it is a physical key, which you can bind to password managers, such as KeePassXC, and to Financial and other critical websites. In addition to entering your username and password. the site will require the key to be present (connected to your pc via a USB port, or you can 'tap it' to your phone, just like you do with newer credit cards) in order to allow you to log on.


Zoom

What?  Video conferencing.

Linux Version? Yes

Alternative? 

Notes: I still need to test this. I really only use it to chat with family at present, so usage it fairly rare, (more so than it should be).


Saturday, May 25, 2024

Leaving Microsoft Part 2- Migration Strategy

My previous post, I announced my intention to cut all dependency on Microsoft. (Previous post is here).


There are a few strategies to proceed with such a drastic change, and I will use this post to enumerate them.


1. Obtain a new computer, deploy it with the new operating system from the start, and run your old and new system in parallel, until you are comfortable with the new system, and have successfully migrated all applications and data. 

This is arguably the safest strategy, as your old system is available, untouched, until you choose to shut it down. There is some complexity in managing to disparate systems for a period of time, which might cause issue with managing data between the two. 

This option requires funds to acquire a new system (which if you are due for, and planning an upgrade, is not an issue), and space to have both systems set up and running simultaneously.


2. Dual Boot your existing system - It is possible to install both Windows and Linux on the same computer. Each time you start the computer, you will be presented with a menu from which you can select which operating system to boot.

This saves bot money and real estate over the first option. It does require free space on a hard drive in order to install the second operating system. There is also a risk of something going wrong, and your old system getting erased (take a backup first). 

It can also be a fiddly process to get working, especially with newer systems with secure boot technologies. You may have to do some fiddling around in BIOS, which in turn may cause your existing operating system to become unavailable. As such, this wouldn't be my first recommendation.


3. Test the new system on your existing computer using a "Live" distribution 

There are versions of Linux which can be run from a CD or USB drive, on your existing hardware, without tampering with your existing operating system. This is a good way to sample the new operating system and see how it works generally.

This won't be a thorough test, as you may be limited to the applications and drivers included on the live-boot system, meaning you may not be able to test all of your applications, and if your computer requires drivers not included, you may experience issues with video etc... which are correctible, with a full installation.

You should also keep in mind, the Live-boot system is booting from slower media (CD or USB), thus may appear to have comparatively poor performance. Just keep that in mind when evaluating.

The biggest drawback to this approach - you have nothing apart from your own personal motivation to move you forward. You could spend forever dipping your toe in the water, and never make it into the pool.


4. "Burn the boats"

You could just - on a wild impulse remove the old operating system, install the new, and then work through whatever issues you encounter.

This has the advantage of forcing you to move forward and find solutions. This could lead to interruptions in your ability to do your daily work while you find solutions, however. I would therefore not generally recommend this approach.


5. Obtain a cheap (or free, if you have access to one) laptop to deploy the new system on for testing.

This is similar to the first option, but with a lower cost. It requires minimal space (and can be tucked away when not in use). It allows you to safely test your applications, and general functionality, without risking your primary computer.

When you are satisfied, you can then "Burn the boats" (option 4) with greater confidence.

The test won't be truly representative of your final system. Cheap or free most likely means older hardware, so performance may not be as good. Also, since it is different hardware, this approach won't necessarily resolve potential hardware issues when deploying to the final system.

Similar too option three, There is really nothing apart from your own motivation to drive you to actually making the final jump and moving your actual system to the new operating system.



Personally, I am using option 5 presently. I was able to obtain an old, refurbished laptop for under $150, and install Arch Linux on it. I have been able to test most of my applications. Thus far (Though I ran into one issue, which has me reconsidering Debian vs Arch as my Operating System of choice. I will likely address that in the next post.)



*Note - I am trying very hard to approach this from a non-technical perspective. My hope is that this will be readable by anyone who has a desire to break ties with large organizations who are increasingly intrusive and authoritarian in their behavior. If you are taking time to read this. I would appreciate your feedback as to how well I am (or am not) accomplishing this objective *



Thursday, April 25, 2024

Leaving Microsoft


 This is arguably out of order. I have one or two posts which should probably go before this (namely, why I am starting with Microsoft, why it isn't JUST Microsoft, and what brought me to this point), but I am feeling a bit cowardly about posting them. Perhaps later. We'll see.

But I have reached a threshold of tolerance for poor social, political, and economic behavior, from certain organizations, and the social and political structures they are building, and I have decided to do something, even if it is only removing myself, my labor, and my personal information from the equation (a drop in the ocean, admittedly).

I recognize a certain amount of inconvenience will come from this effort. But as a wise farm-boy-turned-pirate once said, "Life is pain...".

Weak humor aside, life is often difficult, and sometimes you have to "Choose your hard." Switching away from all Microsoft products will be hard, but I feel it a better choice than remaining under their thumb.

But as I noted at the start, this post isn't intended to enumerate my grievances, rather it is to work through the technicals.

There are three (four, technically) facets to this endeavor, which must each be considered.

1. Operating System - Currently running a mix of Windows 10 and Windows 11 in my home. Microsoft allegedly plans to bully people into moving off 10 (not practical for a couple of my systems which are too old to run 11). And I have mostly regretted upgrading to 11 on the systems where I did. More clicks to get the same work done, and I am no longer able to organize resources in a way which is practical for me.

This will be the focus of this post.


2. Applications - This is a big topic and may be a couple of posts. From a Microsoft perspective. I have already moved off MS Office (to LibreOffice) and OneNote (to Obsidian - I did this after OneNote unrecoverably corrupted a large number of documents roughly a year ago. Obsidian works in plain text files, with Markdown, so eliminates that likelihood as well as dependence on a single, proprietary application).


3. Data - This is heavily tied to applications - for my purposes, it is a factor to consider from the perspective of file formats (mostly Office files - Word, Excel, etc... Which Ironically, LibreOffice was able to recover legacy versions of MSOffice files, that Office could not), to make sure my data is accessible and protected.


4. Configurations - This is very heavily tied to applications. Often Configurations are splattered across various files and/or scattered throughout the Microsoft Registry. This is a significant frustration for me. Application configurations should be kept in a file, or a specific folder structure of files, and preferably in a plain text format (YAML, or similar). This way you can move to a new computer, reinstall the application, copy the configs, and voila! All are personal tweaks and preferences are 'magically' there. It is absurd to me that this isn't the default way of doing things.


I will only be focusing on the first item in this post. I may address the others in later posts, depending on interest, personal momentum etc...


So, Operating System.


There are a few key requirements for this:

Price - It needs to be affordable. As I have limited budget. but I also don't want "free". "Free" tends to come with strings. Price also includes cost of hardware, I want something that runs on my existing hardware, so I don't have to spend a fortune on new gear.

Stability and Ease-of-use - I own a car to get me from point A to point B, not to work on the engine. I respect people who do that, and am not disparaging them, but for me, the operating system is just the platform for running applications, which are used to get stuff done. I am reasonably competent, technically, and can dig into the code a bit if needed, but I don't want to spend all my time fiddling with the operating system.

Applications - I need to be able to run my applications, or an alternative application which meets my needs. For the most part, I have been preparing for this for the past couple years. Most of the applications I use are cross-platform (i.e. have versions for other operations systems), the rest, I believe I can live without.


There are really only a handful of options for operating system.




Windows - Which is what I am seeking to leave. So, obviously it's out.








Apple (MacOS) - I have ruled it out based on cost, proprietary hardware requirements, and the closed ecosystem - which I do recognize is a plus for the fiddling, however they have taken it a step too far - I don't want to spend all my time tinkering with the engine, but I also don't want a car with the hood welded shut, so to speak. Also, I have a long-standing beef with Apple, due to their founder's poor behavior, and concerns they are still supporting slavery (specifically Uighurs, and political dissidents in China).





Linux - This seems to be the winner. There are of course, thousands of Linux distributions, and this is really the meat of this post, evaluating the myriad options. Though most can be discarded as too niche.

Linux is not without flaws of course. The thousands of different distributions for example. Linux tends to be very fragmented. It is open source, which means anyone can look at - and work on - the code. This has some benefits.

1. It likely won't disappear onto a shelf somewhere. Since anyone can pick it up and start working on it.

2. There is the potential for better security, based on the principle of "many eyes". With more people looking at the code, it is less likely a security flaw (intentional or unintentional) will stay in the code for long. I emphasize potentially however, as this only is the case if skilled people are actually looking at the code. This may or may not actually be happening, which can lead to a false sense of security.

But there are flaws as well - 

1. The people working on it are often... strong personalities. This leads to fragmentation as individuals split over differences of opinion on design and structure.

2. It is difficult to effectively monetize, when anyone can pick up your work and use it for their own distribution. So projects are often the result of someone following a passion. Passion doesn't put food on the table. This means some projects just... die. Projects often lack good documentation as well, as the people working on them are interested in solving a specific problem for themselves. (In an ideal world, people would acknowledge the work of individuals and make micropayments to them, which would add up to a reasonable living. I use the example of music artists. If there was an easy way for everyone to identify the artist who produced a specific song, and then pay the artist... say... 25 cents for the song - A million people doing that, and the artist just made a quarter of a million dollars!)


Still, given the tradeoffs I believe Linux is the best option. Now, which one... 




Redhat (/Fedora) - One of the oldest and most established distributions, with a solid company behind it. However, their pricing tends to be business-centric (i.e. too expensive for home users). They have free offerings, but they have been doing some weird stuff with those of late. Redhat is now a subsidiary of IBM, and while far from the worst, they are on my list of organizations to avoid, due to bad behavior.





Debian (/Ubuntu/Mint/)... - Debian is another old-guard. They are unique in that they are a non-profit, all-volunteer organization. Debian itself is very stable, albeit lags behind other distributions. It has become the foundation for numerous other distributions, Ubuntu being perhaps the most well-known.

Ubuntu has a for-profit model, though a home user can obtain it for free. They essentially take Debian's work and put their own polish on it (which in theory makes it more user friendly. This was most notable with respect to hardware support, as Debian had a strict policy of not allowing proprietary code, which meant some fiddly technical work during installation. As of version 12, they have relaxed this somewhat, allowing proprietary firmware.). 

Ubuntu and Mint (and other derivatives) will often fast-track key applications, making their distribution slightly more 'up-to-date' as well.

My general leaning is to go to the source, rather than a derivative work. So, Debian is my preference here, even if it lags behind a bit. They are well established, they have a solid governance model, and they are committed to openness and accountability.

It is not a purchased product, but as a non-profit, they aren't using me as a product, and perhaps there will be an opportunity for me to contribute to the community in time.







Arch - A (relatively) new distribution, Arch has one unique feature in that they don't release 'versions' of the operating system. It is always "Arch".

The benefit of this is you don't have that occasional, massive and painful upgrade. (Like going from Windows XP to Windows 8, or Windows 10 to 11, etc...).

The downside- it is constantly being updated. there is a greater risk of instability, and more fiddling is likely necessary to keep things working as you like. I have been testing it for a few months now, and thus far I have had no difficulties.

Arch has a reputation for being snobbish and "elitist". I can't say if this is true, as I have had almost no interaction with other arch users (again, no problems so far). They do seem to have very good documentation, should it be necessary.





NixOS - an even newer distribution. I know very little about this one, and what i have read suggest it is (at present at least) too fiddly to meet my ease-of-use requirement. I mention it because it is definitely on my "to keep an eye on" list - possibly for future consideration. The reason being their immutability design principle.

As I understand it, NixOS has a single YAML config file (though I believe it can be broken out into sub-files - a single file would be cumbersome), which has all of the system configuration information.  This means you can grab the installer, feed it this file, and rebuild your system from scratch at will, with all your tweaks and preferences intact. I would consider that ideal.

But, it sounds like, at the moment, it takes quite a bit of fiddling to get this working how you want. So, I will keep it in mind, but wait for now.


It is possible I can achieve the same result with Debian or Arch, using a tool such as Ansible, which allows you to build YAML documents to define your system, and then it idempotently applies the necessary changes to the system to achieve that state.

Again, this is fiddly, and Ansible is a RedHat product, so... We'll see.



Based on this analysis, my inclination is to Use Debian for my home server needs - and probably the family computers as well, and use Arch for my main workstation, where I will need to be a bit more cutting edge.

I also have a Microsoft Surface pro, which is my portable computer, and that one may be a particular challenge. Looking at online resources, it doesn't appear there is presently a "plug-and-play" solution to move off of Windows there. (Microsoft hardware, so I suppose that is to be expected). Still not sure how I will tackle that.


That is where I am at this point. The idea is not fully baked, but I intend to make significant progress in May and June to eliminate Microsoft products and services from my life.


Why am I even posting this? Partly for accountability. Now that I have said it out loud, I am less likely to chicken out. Also partly, in case others have gone down this path, or are considering it, this provides a chance to connect and share knowledge.


Wish me luck...

Saturday, April 13, 2024

Making Sense of Old Testament Slavery Laws

 The Old Testament has always been something of a challenge for me. The apparent inconsistencies in comparison with the message of the New Testament are troubling to say the least.

How does one reconcile the message of love, mercy, justice, and forgiveness presented by Jesus Christ with many of the Old Testament stories?

Under God's direction, The Israelites attack Jericho, and slay every man, woman, child and animal. Why would a loving God do this?

God instantly kills Uzzah for attempting to steady the Ark - an act that would seem to be a reflexive attempt to prevent it from tipping over after the Oxen carrying it jostle it. Yet David remains alive and King for some time after committing adultery, and murder. How is this fair?

One prophet lies to another prophet and gets him killed by God.

Some youths tease the prophet Elisha for his bald head, and his response is to curse them, causing them to be torn apart by bears.

I can accept (though barely) that the world is unfair, but in these events, God himself seems to be a participant, even an instigator of unfairness. How does this make sense?

I generally cope by assuming there is an issue with incorrect translation, or missing context, or that the story morphed over time. Someday, we'll learn that the youths were twenty-somethings, and they were dragging the prophet into the woods to lynch him, and they got too close to a mother bear with cubs, and God intervened so that Elisha wasn't also killed.

There is one issue which I recently managed to logic through in a way that made sense.

That is the issue of laws governing slavery.

Slavery is wrong. Forcing another person into bondage is wrong. Why then did God give laws governing slavery, seemingly condoning it? How does the existence of these laws fit with the idea of an unchanging, perfect God?

First, in brief summary, the laws set a maximum term of six years of service, after which the slave goes free, along with their spouse and any children - families are kept intact. There is a provision that if they don't want to go free, they are permitted to remain as a servant.

So, the laws, in essence, provided protection from hardship for slaves. They ensured a certain quality of life.

Now, under what circumstances would an Israelite obtain a slave? 

The commandments "Though shalt not murder" and "Thou shalt not covet" would eliminate a war of aggression as a possible avenue.

According to Jewish scholars, the commandment "Thou shalt not steal" was actually "Thou shalt not kidnap", when correctly translated.

What does that leave then?

Individuals who were unable to repay debts, and the spoils of a defensive war, are the only two I can think of.

If that is the case, then these are individuals who are in a state of extreme hardship. Either they lost a war they started, meaning they are likely wounded, widowed, or orphaned, in a kingdom (or tribe) which has just been decimated, or they are deeply indebted, and impoverished.

Either way, they are likely homeless, and with little to no prospect of being able to feed, clothe and shelter themselves.

So, considering the time period, this six-year sentence of servitude provided a degree of security for the servant, while at the same time allowing some means of recompense for outstanding financial or war debts. Thus, there is both justice AND mercy in these laws, when considering the period in history, and the interaction of other laws.

No, I don't think this justifies slavery, nor would it be applicable in our times (however, had the spirit of these laws been applied after World War One, it is quite likely World War Two would not have happened).

But there is a way in which it at least makes sense, a way in which there is congruity.


Thursday, April 11, 2024

Christian Misconceptions: "Christian"

 Recently I saw a conversation in a social media thread, in which a person was accusing a number of religious groups of not being "technically" Christian. The rationale for this claim was that the groups in question didn't adhere to a certain, specific set of tenets, or interpretations which are held by a large number of other groups, generally considered "Christian".


There was of course the usual, pointless back and forth, people talking at each other. But consider this:


Christian, Christ - ian. Meaning (etymologically) related to, belonging to, or after the manner of - Christ.


The Pharisees and Sadducees of Jesus' time would have considered themselves "Christian"


No, they didn't recognize the name "Christ." But their religious beliefs, their doctrine was founded on and looking toward the coming of Messiah, the one true God and Savior.


But, they didn't recognize him when he came.


You see, they were so entangled in the minutiae of the rules, policies, doctrine, and interpretation of scripture, that they were neglecting the things which truly mattered.


They were so busy chastising their brethren for failing to be proper followers because they took too many steps on the sabbath, or failed to precisely adhere to this or that law, they forgot to care for the poor, the sick, the widow, the bondsman.


Jesus didn't call sinners to repent, he invited them to follow him. He lifted, he encouraged, he served, he healed, he mourned with those that mourned, he fed the hungry. In fact the only groups he spoke ill of... were the Pharisees and the Sadducees.


In fact Mark Chapter 9 records an instance when his disciples, adopted similar behavior, forbidding a man from casting out devils because he "followeth not us." (Mark 9:38)


To which Jesus responded "Forbid him not: for there is no man which shall do a miracle in my name, that can lightly speak evil of me. For he that is not against us is on our part." (Mark 9:39-40).


"Christian" isn't a specific set of rules agreed upon by some group of people. It isn't a club, a dogma, or a church. 


There is no organization which is "Christian", but there are Christian people in most every organization.


"Christian" is a person. A person who - to the best of their ability - follows, emulates Jesus Christ.


"By this shall all men know that ye are my disciples, if ye have love one to another." (John 13:35)


"But I say unto you, Love your enemies, bless them that curse you, do good to them that hate you, and pray for them which despitefully use you, and persecute you;...  For if ye love them which love you, what reward have ye? do not even the publicans the same? And if ye salute your brethren only, what do ye more than others? do not even the publicans so?" (Matt 5:44-47)