I want to preface this post by saying that I never planned to write it. I’ve said since the beginning of the blog that I won’t make it about me, because that turns this into more of a diary, but the kind of diary where I would need to watch what I say to avoid readers misunderstanding intent in situations that don’t really concern them; if I misspeak about technology or politics, we can come to a quick resolution, but I can only clear up a misunderstanding about my private life by exposing more of it, which doesn’t help anybody. It would also expose the people and organizations in my life—or at least my interpretations of them—to scrutiny, which seems unfair without their consent.
However, this topic shouldn’t involve any of those problems, but does bump up against one of the core reasons for this blog to exist: To have a place to record things permanently, so that I don’t need to repeat them in private conversations when new people ask. And this particular conversation has come up a few times, recently, so I decided to cover it. I find the story boring, but maybe it’ll give someone else some useful insight.
Seriously, I often stumble across “how I got into Linux” blog posts or podcasts, and they always come off as self-aggrandizing nostalgia pieces. I’ll try to avoid that where I can.
As some quick background, I largely grew up with home computers.
Our house started with an Atari 400. Most of the family and our visitors came down with (ahem) “Pac-Man Fever,” wearing out a long series of those cheap joysticks, but I fell in love with the neglected BASIC cartridge that (if I remember correctly) came in the computer’s box at the time.
A few years later, we moved to the new Commodore 64. I sometimes joke that I learned to read in order to plow through The Commodore 64 Programmer’s Reference Guide, a comb-bound book from the manufacturer that detailed that version of Microsoft BASIC, the graphics model, the sound model, Motorola 6502 machine language, input/output programming, and then a variety of tables and schematics. I still have a copy, though I forget whether I’ve owned that particular copy since 1982 or picked it up used to replace the original.
Regardless, the community put all that information to good use. At one point or another, we made low-speed modems, light pens, bare-bones robots controlled by the computer, and more. In a similar vein, keep in mind that the majority of these 8-bit computers used commodity televisions as their displays, which meant mediocre resolution, but a straightforward way to do fairly sophisticated work in almost any field without a huge investment.
Due to the flexibility, not to mention the color graphics and multi-voice audio, I assumed that we had bet on “the winner” of the home computer competition, and felt sorry for the people who bought an IBM PC or one of the so-called clones. Oh, you can produce sound on a tinny speaker and show blocky graphics in four unnatural colors, on more expensive hardware? Amazing…
And I clung to that little computer for…longer than you’d expect, with teachers indulging me as I handed in reports printed in forty characters per line, either on narrow, continuous-feed plotter paper or with waxy ink.
The IBM Clone
Eventually, as Commodore stopped its 8-bit line, then went out of business, even I had to admit that maybe 🤦 they didn’t win.
We got a computer running MS-DOS and some bizarre graphical environment that made GEM look like it came from the distant future. We eventually got rid of that, working in DOS until prices on Windows 3.1 came down, and…
Of course, I didn’t like it. I did like that users could modify aspects of it, but I continued to work in DOS, unless specific software only ran on Windows. In my post on using plain text formats, I mentioned sticking with an outdated word processor, and that had at least some relationship to not wanting to commit to Windows.
Linux, Part 1
At the risk of dating myself—and I write that almost ironically, as if it takes some well-funded, expert researcher to figure out when I went to school—at college, I saw two big changes.
First, the campus (other than administrative tasks) ran primarily on various versions of SunOS UNIX, with Solaris poking its way into the field. I didn’t like MS-DOS or Windows, but I could get behind UNIX, goofy name aside. If you find old e-mail discussions archived where I participated, the “Kepler” and “Rama” machines in those old addresses ran Solaris.
A quick aside for the confused: The story goes that the name “UNIX” plays on the system’s similarity to the earlier Multics operating system, but also an off-color joke about the class of servants in various cultures, mutilated as a show of power. Every once in a while, I run across someone else who insists on calling himself “Unix-Man,” often complaining about his dating life, and…they must do that as a comedy bit, right? They have to know what that sounds like…
Anyway, not long after, students in the dorm started running Linux on their computers. And you would think that, at this point in the story, I tell you that I fell in love with the system, and have used it ever since.
The Linux users all seemed to constantly need to “recompile the kernel” every few days. Or their graphical environment would crash and take important data with it. Or the computer would quickly crash when given anything to do beyond compiling code. And if, by some miracle, they actually had Linux running, they seemed to mostly find the system useful for…customizing their system in superficial ways.
Say what you will about Windows—I certainly have, over the years—but its community rarely spends much time arguing over the best color scheme or the number of pixels to place between icons. And yes, I realize that I’ve exaggerated those early users slightly for effect, but it still always seemed like they got less work done on Linux than I did on almost any other system. And because of that, I stayed on Windows as it ratcheted up its version numbers.
Mind you, I did loosely keep up with Linux for a few years, through the occasional book/CD set from Walnut Creek CDROM, but didn’t take any of those versions seriously, and mostly focused on the software. I don’t remember ever installing Slackware—they distributed it—but may have tried it on a virtual machine. But I’d also occasionally use Knoppix as a “rescue disk” when something went wrong on Windows.
It feels important to emphasize that I didn’t care about customizing things and still don’t, because so many Linux stories seem to revolve around that, and too many Linux users seem to look down on people who only want to get their work done. I could never understand that, since that seems like an admission that the person doesn’t have enough to do, and doesn’t have an interest in improving systems for everyone.
In fact, this condescending attitude in the Linux community remains one of the big reasons that I don’t recommend that people switch to Linux. Yes, you can find dozens of places to ask for support. You will probably get a useful answer in them. However, many of them have communities where responses might include suggesting changing to a different Linux distribution, complaining about people who don’t read all the documentation scattered around dozens of websites under different names, or insisting that people never need to do the thing that the question-asker needs to do, in addition to the useful answer. This kind of (lack of) welcome makes a huge impact on whether people stick with any system.
Linux, Part 2
Years later, I encountered another confluence of events.
First, I bought one of the OLPC XO-1 units. I never really used that system as intended, and the hardware never quite lived up to its goals—I never had the opportunity to try the mesh network, and the Wi-Fi in general seemed flaky—but between a web browser and a terminal to log into another system, plus the terrific display, it worked well enough as a small workstation. It worked particularly well when I needed to proctor exams for my classes, since I didn’t need to worry about treating it gently, and it didn’t obscure my view of the class.
Later, I took a brief job with a group that ran Ubuntu on all its computers. The system still didn’t impress me, but…
- Operating system interfaces haven’t impressed me since college,
- I could use Ubuntu without much trouble, and
- It didn’t seem to have any serious problems that required my input.
Finally, shortly after I left that job, Microsoft started talking excitedly about their upcoming Windows 8. While most people focused on and tried to argue against the mobile-style user interface, I saw more concerns in what they said about the Unified Extensible Firmware Interface. It just happened to use data structures that resembled those used in Windows, for example. But critically, Microsoft talked about the possibility of mandating Secure Boot for Windows Hardware Certification, and forbidding the installation of other operating systems, in the name of preventing the installation of certain classes of malware. That sort of security never lasts for long, because someone will eventually discover the key, so this only really works to selectively shut out competitors.
I couldn’t support a business model that directly threatened to give the company a monopoly, and I already used a lot of Free Software routinely since those Walnut Creek CD-ROMs, and so that convinced me to start running Ubuntu on my home computers, running it on an occasional cheap netbook to see how I took to it. I mostly ran old Windows versions, but kept a Linux option around. And here, I quickly noticed that I used the netbook more and more, and the other systems less, except as file servers. I don’t remember when I shut down the last Windows machine, but I don’t have any running now.
The eventuality of Microsoft using Secure Boot to choke out hobbyist operating systems never came to pass, as many of you know, and I don’t believe that they even still have that lever to control. That works to my convenience, since it means that I can still buy commodity hardware to install Linux on it, if I don’t have the spare change to work with a smaller manufacturer, but I can also install mostly the same software on something like a Raspberry Pi, when I need a cheap stopgap. I still wish that more manufacturers would ship cheap Intel-based computers without an operating system, though.
In fact, this week, I see people wringing their hands about the atrocity of Microsoft’s plan to push advertising into Windows to subsidize cheaper PCs. They see this, technically correctly, as Microsoft using its power to make Windows do whatever it wants remotely. However, where they see a new problem, I see it as exposing an old problem plus providing a potential source of cheap PCs.
Similar to the endless configuration problem, I’ve often seen the idea of fleeing to Linux, because they fear developers removing or changing some feature, and see Free Software as a way to take control, by perpetuating the last version that still has the required feature. And while that sounds appealing, the cost of maintaining old versions of software seems like it grossly overshadows the cost of rewriting the user-level software to not need that feature anymore, especially when all these people claim to have a business to run.
Now that I think about it, I wonder if anybody has studied whether the people who make this claim ever actually follow through…
I should mention that I’ve had a few problems with compatibility with other people, over the years—for example, I can’t use Skype for more than text-based chatting, which complicated the pandemic-laden holidays—but not many. I can probably attribute some of that success to preferring plain-text or otherwise portable content anyway. Some of it probably comes to the shift to web-based applications and away from Microsoft’s software for a lot of people, which increases the chances that they care about the formats that I’ll most likely use. But a lot of that credit goes to the software improving dramatically over the years, making compatibility a priority.
Also, I believe that the shift over to Linux has changed my outlook on things. If you search deeply enough in the past, you’ll probably find me wrongheadedly arguing that we should either keep lucrative information under proprietary lock and key, or release things into the public domain. The idea of a reciprocal license or building a community struck me as somehow horrifying. However, seeing how Linux has had far more success than “liberally licensed” operating systems taught me a lot about how that actually works.
Similarly, especially using Ubuntu draws attention to the philosophy of the same name, that most people seem to translate as “I am, because we are.” It may sound hokey, but it serves as an illustration that our communities and our relationships define us. And I find that hokey tone funny, because we have the same sentiment in the West, where we talk about judging people by their friends and their enemies, their relationships, in other words. I wouldn’t call it a philosophy that I deliberately follow, but it certainly influences me as I work, that we only have meaning as reflections in those around us.
I’d call that a fair trade out of software that doesn’t cost any money and, with every release, takes up less time.
Credits: The header image is The Dynamic Duo: The Gnu and the Penguin in flight by Lissanne Lake, made available under the terms of the Creative Commons Attribution Share-Alike 3.0 Unported license. Originally released under the GNU Free Documentation License, version 1.1 or later, but Wikipedia took advantage of a limited negotiated period to relicense important works for consistency.
Tags: linux programming techtips