I’m hard at the rewrite of my assembly book, and in going over the chapters closely I realize that I have a lot to do, significantly more than I thought going in. Parts of this book date back to 1988, and the work as a whole was not organized back then the way I would organize it today. So I’m doing more to it than I thought I would, and although that will make for a better book, it’s also eating more of my time. (Expect a few fewer Contra posts over coming months, and perhaps shorter ones.)
I’ve also been using Ubuntu a lot more than I ordinarily do, since the rewrite finally exiles DOS from the discussion except as a historical footnote. I find myself surfacing for a breath now and then, and realizing, I haven’t been in Windows for almost six hours! Crossover Linux has made this possible, since I have Office 2000 and Visio 2000 installed under Ubuntu now, and don’t have to be bouncing between two machines or two partitions to write code and then write about the code.
In the process, I’ve been using Ubuntu more and at more depth than I ever have before. One thing I’m beginning to appreciate is just how easy it is to get software and keep it current, and just how good the software that’s out there really is. That’s changed in ten years. Back in 1999, in order to run NASM under Red Hat I had to download a tar file full of source, unzip it somewhere, and then recompile the whole damned thing. I had no intention of changing the assembler and would have been more than happy with binaries.
It’s different now. With Ubuntu (and I assume most modern distros) you go up to a software repository through a package manager utility, cruise an enormous list of free packages that are available, and check off the stuff you want. Then you click Apply and stand back: The package manager downloads the package and anything that the package depends on, checking first to see if you’ve got any of the prerequisites installed already. Only the stuff you need comes down, and when the smoke clears you have new apps on your app menu, or new libraries tucked in where they’re supposed to go. (Or both.) Wow.
Ubuntu periodically checks to see if updates are available for anything you have installed, and a couple of clicks brings them down and installs them.
I’m sure that not everything that exists is up there, but what’s up there is extremely impressive. If I allowed myself to get distracted, I’d be playing with Gambas and Boa Constructor rather than writing. The Nemiver debugger front end didn’t exist ten years ago, and it will star in the new edition of Assembly Language Step By Step. Most of all, I want to play with Lazarus (the GUI IDE for Free Pascal) and have to slap my hands periodically, or I’d get nothing else done.
The primary barrier to the adoption of the Linux Desktop is unlearning old habits, followed as a distant second by conversion of existing Windows-centric files. There may have been a third barrier somewhere, but I’ve forgotten what it was. There is certainly no shortage of software to get the jobs done.