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 from 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 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 are 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 of 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)