Since the Microsoft BUILD 2015 conference, when I received an attendee gift of an HP Spectre x360, I have been using Windows 10 as the primary daily driver operating system on most of my personal machines. In many ways, I think this operating system is one of the best products Microsoft has released (at least, of those that I’ve used). In my opinion, Windows 10 marked a significant turning point in Microsoft’s trajectory; a real return to innovation and relevance.
Appreciating the industry significance and laudable qualities of a product and wanting to use it are, however, somewhat different things. For example, much has been written about the manner in which “Windows 10 as a service” forces workflow-breaking updates on users who neither need nor desire them; how Windows telemetry and Cortana may (or may not be) harvesting confidential information with nefarious potential applications; and how every new Windows update seems to turn on new advertising banners in various irritating places through the UI.
While I am well aware of these political arguments, and even agree with many of them in principle, though not in degree – this isn’t the issue that is turning me away from Windows 10. No, in a nutshell – I am trying to remove from my life all products that are gratuitously “X as a service”. By gratuitously, I mean that the core functionality of the product does not require a service component, and the service component has been added purely to extract something of value from the user – be that raw money, or telemetry of business value to Big Data applications. By this definition, note that products like Gmail, Netflix or Android – which have essentially no meaning in the absence of connectivity – don’t fall under the ban. Cloud storage software where I decide what is to be stored in the cloud and what remains local (and where I have a local fallback if the cloud service disappears, changes terms, or gets too expensive to use) is also fine. A software or hardware tool my employer provides for me would also be exempt, because it is the employer’s business decision to use or to avoid tools that cease to function if subscription fees (“maintenance”) are not paid, a la Adobe Creative Studio, Pro/Engineer and other centrally licensed productivity software.
However, for example, a fitness tracker that only talks to the cloud, as opposed to storing data locally, would be anathema, because there’s no inherent need to store my personal fitness data in a third party cloud service unless I explicitly want it to be aggregated with and compared with that of others. An Alexa-controlled light switch is off limits also, since there is nothing about turning a light off and on (even by voice control) that requires, or should rely on, a huge stack of local and remote software. All iOS applications are swept off the table by Apple’s sideloading hurdles (Android applications, I could build and run from source if I really wanted to – with no Google involvement). By the same token, Windows 10 fails the test on multiple counts; the fact that it cannot be reinstalled without talking to Microsoft and ceases to operate if it loses contact with the mothership for an extended period of time, the fact that it is constantly subject to forced rolling changes to update a “service” that physically runs on my personal hardware, updates to which should be under my control, and the fact that it non-optionally transmits a great deal of information that doesn’t benefit me in any way. So, moving to a different desktop OS is necessary.
It’s important to stress that this isn’t a matter of going off the grid in any sense at all – that’s essentially impossible in this day and age. It is, at its core, a notion of using only “whole grain technology products” (hence the title of this post) for which the concept of ownership retains its traditional sense. Software should install and operate as expected without needing to contact long-dead activation servers, as long as working compatible hardware exists for it, or perhaps emulators for that hardware. Hardware should have a defined function that only changes when I choose to modify it (e.g. by voluntarily installing a new firmware update). Important functionality should not rely on remote challenge-response systems behind subscription gates. Data files should be self-contained and readable without needing to refer back to a DRM server that might no longer exist. In short, there is altogether too much motion away from purchasing and owning hardware and software products towards renting temporary licenses to them under terms the vendor can change at will (and which evaporate entirely once the vendor goes out of business, obsoletes a particular product range, or simply decides to change its business model), and this is a trend I wish actively to resist.
So in a burst of retail therapy I prowled eBay and bought a 2016-era ThinkPad T460s, which should arrive on Sep 24th, and it is on this machine that I intend to build my new digital life. This might seem like a rather modest purchase, but you should calibrate this against the fact that my current daily driver is a 2011-vintage ThinkPad X220 (I have some X230 machines as well, but I have more batteries for the 220, which is why I’m using it). So the T460s – which actually still has eight months of warranty – is a very up-to-date machine by my standards. I’ll be writing a separate post about my experiences using it.
With the above discussion in mind, the only tenable OSes I could consider using are open-source OSes and while, say, *BSD are all fine and good, as a practical matter the path of least resistance is to use Linux – almost everything I need to use in daily life is supported to some degree under Linux. Choice of distro is, however, still a complex question. While I understand debian best (not that I’m an up to date maven on any current distro), third party software is generally packaged and documented for Ubuntu and/or Red Hat. Of those two, I’ve used Ubuntu more recently, so I’m going to start out with 18.04.1 LTS and if I find it too irksome (they’re trying to emulate the dead Unity interface in GNOME, and I HATED Unity) I can always switch later.
Finally, I made a quick inventory of what software I need in daily life, and almost everything is a non-issue:
- Chrome for web browsing and Hangouts – native version exists.
- Local POP3/SMTP client into which I can download my email for permanent offline accessibility – Thunderbird is fine, if overbloated for my needs.
- Video playback with broad codec support – VLC is the answer here as it is on Windows.
- Word processor, spreadsheet and presentation software capable of reading and writing Microsoft formats – libreoffice is fine.
- Good code editor – there are many options, but I’ll probably wind up using eclipse as the path of least resistance.
- Access to at least some of my Steam library for relaxation – Native Linux client exists and the Linux support list currently on Wikipedia includes games I’ve bought.
- Schematic capture and PCB layout – My old version of EAGLE 4.18 is licensed for Windows and Linux. If it turns out not to work on current Linux versions, I’ll move to KiCAD.
- Toolchain for developing on PIC micros – native Linux MPLAB X exists.
- Toolchain for developing on MSP430 micros – CDK4MSP is one option.
- Toolchain for working with various ARM boards such as Raspberry Pi and Beaglebone – not a problem.
There was, however, one holdout. The lone application tying me to Windows is Quicken. I have used it for quite a few years, but I stopped upgrading after purchasing Deluxe 2013 and likely will never upgrade until it ceases to function, because I don’t use any of the online bill pay or account sync functions and I’m not getting back onto the Quicken upgrade treadmill of expiring features. While there are money management programs for Linux (gnucash is the one that comes to mind first), importing eight years of existing data into them will be a bear at best. So I’m going to try to run my existing copy in wine – failing that, I’ll try importing the data into gnucash and see what the fidelity of that operation is. Last resort is to have a Windows VM (probably XP, since it will never connect to the Internet).
To be continued…