C++: The Good Parts
Even Bjarne Stroustrup has some sense that there is indeed a smaller and more elegant language struggling to get out of C++. He is right that that language is not Java or C#, but I would suggest that this more elegant language has been right under our noses the whole time:
Now if we could turn back the clock on MacOS
I used to think that OSX was my favorite flavor of Unix. Now I think that the Mac, iPad, iPhone, and Apple Watch may be preferred for nontechnical users on all counts, but Apple has been more and more going its own way, and the result has made an environment that is more and more hostile to Unix / Linux gurus. Some of this is discussed further in Macs are now Super.Computer.s running “IRIX,” a Super.Computer. OS!:
I have narrated above the breakage that shipped to me with OSX 12.2.4; the breakage that shipped with the OSX 12.2.2 update was Terminal.app crashing on a regular basis. And while I don’t wish to patronize developers who work with graphical IDE’s, the two most heavily used applications I have are Google Chrome and Terminal. When I poked around, I was pointed to an Apple developer bug first posted in 2016 that has 147 “I have this problem too” votes… I wish they had done something more polite to Unix users than breaking and not fixing Terminal, like setting a Terminal.app background image of someone flipping the bird at command-line Unix / Linux types. Really, flipping the bird would be markedly more polite.
In conversations with technical support about malfunctioning in Apple’s version of Apache, it took me an escalation all the way to level 3 support before I spoke with someone who knew that the Macintosh had a command line (let alone having any idea what that meant).
More broadly, it’s been harder and harder by the year to get things working and I was astonished after initial difficulties installing SuiteCRM what my research turned up: Apple has removed parts of the OS that that project needed to run.
An even bigger shock
A much bigger shock came when I created a Linux VM to install some open source software projects I had meant to install natively.
I was shocked about how easy it was.
It was the command line version of “Point and click”.
I realized that over the years I had become more and more accustomed to installing open source software under MacOS being like out-stubborning an obscure and crufty flavor of Unix (such as Irix on NCSA supercomputers, with a general comment of “Nothing works on Irix!“). And working on installing major open source projects recalls a favorite xkcd comic about the joy of first meeting Python:
Tolerating upgrades that break software:
Do you rememeber how people used to just accept the ever-present Blue Screen of Death?
Before Windows XP came out, I remember trying to make a point to a non-hacker friend that “Computers are logical but not rational.” Meaning that from a programming standpoint they ideally do neither more nor less than what the logic in a computer program called for, but state-of-the-art AI could not make sense of the basics of a children’s “I Can Read” book. (For that matter, computers cannot understand the gist of a program. They may execute the program, but only programmers understand the gist.)
She said, “I disagree. What if you’re using a computer and the mouse freezes?”
In the ensuing conversation, I failed completely in my efforts to communicate that crashes on par with the Blue Screen of Death were simply not an automatic feature of how computers act, and that my Linux box did not malfunction at anywhere near the violence of Windows, on which point I quote Tad Phetteplace:
In a surprise announcement today, Microsoft President Steve Ballmer revealed that the Redmond-based company will allow computer resellers and end-users to customize the appearance of the Blue Screen of Death (BSOD), the screen that displays when the Windows operating system crashes.
The move comes as the result of numerous focus groups and customer surveys done by Microsoft. Thousands of Microsoft customers were asked, “What do you spend the most time doing on your computer?”
A surprising number of respondents said, “Staring at a Blue Screen of Death.” At 54 percent, it was the top answer, beating the second place answer “Downloading XXXScans” by an easy 12 points.
“We immediately recognized this as a great opportunity for ourselves, our channel partners, and especially our customers,” explained the excited Ballmer to a room full of reporters.
Immense video displays were used to show images of the new customizable BSOD screen side-by-side with the older static version. Users can select from a collection of “BSOD Themes,” allowing them to instead have a Mauve Screen of Death or even a Paisley Screen of Death. Graphics and multimedia content can now be incorporated into the screen, making the BSOD the perfect conduit for delivering product information and entertainment to Windows users.
The BSOD is by far the most recognized feature of the Windows operating system, and as a result, Microsoft has historically insisted on total control over its look and feel. This recent departure from that policy reflects Microsoft’s recognition of the Windows desktop itself as the “ultimate information portal.” By default, the new BSOD will be configured to show a random selection of Microsoft product information whenever the system crashes. Microsoft channel partners can negotiate with Microsoft for the right to customize the BSOD on systems they ship.
Major computer resellers such as Compaq, Gateway, and Dell are already lining up for premier placement on the new and improved BSOD.
Ballmer concluded by getting a dig in against the Open Source community. “This just goes to show that Microsoft continues to innovate at a much faster pace than open source. I have yet to see any evidence that Linux even has a BSOD, let alone a customizable one.”
Most of the software upgrades I have purchased in over a decade of Mac ownership have been because an OSX upgrade broke them completely.
On this point I would distinguish between Windows and Mac on the one hand, and Linux on the other. Microsoft and Apple both need to make changes that people have to buy different software over time; Linux may include mistakes but there is no built-in need to radically change everything on a regular basis. Now some Linux programming may change quickly: front-end web developers face a very volatile list of technologies they should know. However, something said about Unix applies to Linux to a degree that is simply unparalleled in Windows or Mac: “Unix has a steep learning curve, but you only have to climb it once.”
OSX admittedly has better UX than Linux, and possibly it make sense for open source types to buy a Mac, run VMware Fusion in Unity mode, and do Linux development and open source software use from a Linux Mint VM. (My own choice is just to do Linux, with Windows VM’s for compatibility.) However, for Unix and Linux wizards, the container is one that occasionally gives a nasty surprise.
Beautiful things work better:
An interesting solution
I’ve given a once-over to Linux Mint Sonya, to address UX tweaks and to echo some of that old glory. As is appropriate to an appliance, passwords are not needed (though the usual root methods of assigning a Linux password work better). The desktop and background are laid out to be truly beautiful!
To pick one little example of improved UX: copy is Control-C, and paste is Control-V, with gnome-terminal or without; if you want to send a literal Control-C, then Shift-Control-C will do that, and likewise for Control-V.
Perhaps you don’t like the Aqua interface; it is if nothing else the gold star that North Korea’s
One Star Linux Red Star Linux offers, and people seem interested in an Aqua-themed Linux enough to write HOWTO’s to get a root shell and migrate to English. Even if they advise against serious use.
Or perhaps it might served as a change of scenery, a virtual vacation of a virtual machine.