Sunday, August 4, 2024

Olympic Womens boxing: The real victim

 The events surrounding the Olympic Womens Boxing have certainly been a travesty.

But Angela Carini is not the victim. Neither is Imane Khelif the victim.

Rather the real victim is reason.


It began with images of Carini in tears, defeated. by "a man".


This understandably raised the indignation of some. There had, after all, been a number of incidents in recent years, of young women robbed of scholarships, of accolades, of opportunities, by biological men masquerading as women. There were incidents of serious harm being wrought on young women by considerably stronger, biological men.


And here were images, of Carini woman in tears, broken. What kind of person would not feel the protective instinct kick in?


And so they flooded social media with their outrage.


But the story, as presented wasn't entirely honest. The "Man" in question, was born with female genitalia, was raised as a female.


And so it wasn't long before the "other side" launched their own campaign. They attacked the first group, labeling them as transphobes, and mocking them for attacking the very person they were supposedly intent to protect, a "cis-woman".


But this wasn't entirely honest either, as it appears the individual in question has xy chromosomes.


And finally a third group entered the fray. Offering their sincere apology for leveling false accusations, for being insensitive and cruel to poor Khelif.


Except, I haven't noticed that any of those in this third group were part of the first group. And they, like the others willfully glossing over the complexity of the situation.


In reality all three of these messages are strategically identical:

1) They are built on a falsehood, wrapped around a small kernel of truth.

2) They are designed appeal to emotion.

3) They are designed to signal one's own position of moral superiority.

4) They are designed to shame "others" for their morally reprehensible behavior.

5) They are developed to garner clicks and likes (no doubt providing fiscal benefit to some few).

6) They are utterly devoid of reason.


Certainly, there are questions which need to be answered:

1. Was Carini actually at risk of serious harm? Or did she just have a bad day, get inside her own head, and fall apart?

2. Does Khelif have an unfair biologic/genetic advantage to the extent that others lives and safety are at risk?

3. Does the classification of "female" for purposes of sport need to be re-evaluated? (Sorry Matt Walsh, it appears you didn't manage to solve that conundrum entirely - or maybe you did, I have't actually watched it yet so...) There are a few obvious options: by genetic classification (XX vs XY), by hormone levels at time of contest enrollment, or by birth genitalia, for instance. 

4. In each of the above cases there are outliers, anomalies. Any classification system we make has outliers (a tomato is a fruit in a vegetable salad. A platypus is a mammal, but lays eggs) How do these outliers need to be treated? Arbitrarily pick one group, recognizing somebody will have an unfair (dis)advantage? Create one or more "other" groups? (Perhaps this is a valid case for a "non-binary" distinction.)


But those questions are unlikely to be answered. Because emotion is so  much more interesting (and profitable) than civil, reasoned, discourse.


Because pithy, mindless memes and pithy op-eds are so much more convenient to read (and produce) than thoughtful, well researched reports.


Because we would rather be "right" than correct.


And so we sacrifice reason, and the pursuit of truth on the alter of ego and pride.


May they rest in peace.


Tuesday, July 30, 2024

Leaving Microsoft: A quick dip in the deep end

 I had a chance to do my first trial run "without the training wheels" (in a manner of speaking). I had a two-week trip to the UK, and I took the Linux laptop, instead of my Windows laptop. (I was going to post something before I left, but for reasons I may rant about later, I didn't).

It went well, no hiccups during the trip.

But then, another glitch when I ran updates after returning home.


Most Linux systems use one or more repositories - which are essentially the same as the Apple Store, or Google Play, or Microsoft Store - as the primary means to obtain, install and update applications.


Arch has primarily two repositories. They have a reasonably large set of applications in their main  repository, managed by a command called "pacman".  To update any and all software you have installed form this repository, you simply run the command "pacman -Syu". It then takes care of everything. It does a pretty good job too.


For everything else they have a repository known as AUR. AUR is a user generated repository. The stuff in there isn't quite so simple to maintain. For each individual application, you have to check for an update, pull the update, run a command to rebuild a new install package, then apply the new package. Of course, someone built an application (called "YAY") which attempts to handle AUR packages with the same ease as pacman does for the main packages. I decided to give it a go to simplify managing the half-dozen AUR-based applications I installed. 

But, it (YAY) has its own list of dependencies, and it installs a bunch of other stuff in the background.

One of these appears to be broken, preventing YAY from updating the system. It looks to be something similar to the prior issue - a library listed as a dependency, which is a different version than the one installed.


Now, I don't doubt I could spend some time in their forums and sort it out. However, as I noted in my first post. I don't want to have to spend a bunch of time under the hood of the operating system. And this is twice in as many months.


The best way to clean it up will be to do a fresh install and stay away from YAY. I might still be able to simplify management of the AUR packages using either a script, or better still, something like ansible.


That is going to take time to sort out, however, and I don't want to drag out my migration of my main system.

So, I believe I will press forward using Debian on my main system for now. I will continue to experiment with Arch on the test laptop. But for the present, Debian's build philosophy focusing on stability and security will be the safe route forward.


I may take the plunge before this weekend, we'll see.


I did prepare for that possibility this evening. I copied all of the data from my main computer to external hard drives, in preparing to erase windows.


 Most of my data, I keep on a separate drive (D:), which I copied that whole drive.

The C: drive is the operating system, most of which is pointless to copy. I did copy the following folders from my user folder (C:\users\<whatever your login name is usually, or some derivative thereof>):

Documents - Any files I don't have in one drive.

Desktop - I usually keep this pretty bare, just a couple files on here.

Downloads - Probably not much I really need to keep in here, but... just to be safe.

Favorites - A few useful bookmarks.

Music - I didn't actually grab this one as it is empty. I keep my music files on a network share. I am mentioning it, in case others use this as a reference.

Pictures - Not much in here either as most are in One drive.

Videos - Same story as Music.


Oh, and one more (which is hidden):

AppData - Mostly this is garbage, but there are a few applications which store data in here, which I will want to recover. The one I can think of right off is Thunderbird. My Archived email, and contacts are in AppData. There may be others, so I grabbed the whole thing (some files failed to copy, as Windows has them locked, but they were all executables or libraries, nothing I need bad enough to go to the trouble to circumvent windows and copy.)


I believe that is everything of importance.

I will need to take care to copy anything I change between now and when I pull the trigger on the Debian install, so the sooner I get to it now, the better.



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...