Ubuntu 20.10 is due to hit the interwebs today. It is no coincidence that I chose this precise moment to switch to Debian Stable. Two months ago I was contemplating the desirability of just sticking with a long-term distro rather than upgrading Ubuntu every 6 months.
I hit snags with Ubuntu, I think it was 19.10. I had all sorts of problems with freezing, which manifested itself on a couple of machines of mine. I reverted to an older version of Ubuntu I had: 18.10 I think it was. The problem was that I wanted to install some new packages, but the distro was out of support, so that was not possible.
I decided to give Slackware and a derivative, Absolute Linux, another go. It was “mostly” successful. More about that later.
So when Ubuntu 20.04 came out, I was eager to install it. I had no stability problems, which is what you would expect from an LTS release.
I had my sources of dissatisfaction with Ubuntu, though. They had been caught with dubious business practises in the past. I’m also a detractor of Snap, a “technology” that Ubuntu seems to be increasingly enthusiastic about shoving down my throat. There have been a lot of electrons spilled over the merits and demerits of Snap, so there’s no real need to repeat them here. Suffice it to say that, as far as I’m concerned, it’s a cure that is worse than the disease.
Another thing that always bugged me about Ubuntu is that when I try to install it, it wants to download language packs. It’s not a deal-breaker, but why-oh-why, when I just downloaded a DVD’s worth of stuff, do I have to download more stuff for each machine that I install it on? Madness!
On top of that, there seems to be updates available after a fresh install. How can there be hundreds of megabytes of updates on a distro that isn’t even a day old? (That’s a rhetorical question, please don’t bother to answer).
As time progresses, more updates become available, and Ubuntu wants to let you know about it, too. No! I’ll install updates when I’m ready. My major beef with the direction that Linux is heading is that it is increasingly intent on setting policy. Well, that’s not the Unix way. Remember, the guys who created Unix were genii. You are not. Yeah, I’m looking at you Poettering.
Developers: keep your autism to yourself. Ask your manager if your attention deficit disorder is causing a nuisance to others. FFS
Would I recommend Ubuntu to people new to Linux? Yes! My philosophy is still: if you have to ask what distro to choose, then the answer is Ubuntu. Having said that, I have been hearing a lot of good reviews on Linux Mint, so I might well be tempted to give it a go. I had tried it in the past, many moons ago, but didn’t stick around. I can’t remember the exact reasons. I think it was because, at least at the time, they mixed and matched repo sources, which wasn’t the best for stability.
Slackware has no niche
As much as I have a fondness of Slackware, let’s fact an uncomfortable truth: there’s no point to it anymore.
It has now been over 4 years since Slackware made a release. If that works for you, then fine. The chances are, though, that it doesn’t work for you. Maybe, just maybe, it’s OK as a workhorse server that never needs new software and just serves email/webpages/whatever until the end of time.
You are likely to be better served by a different relatively static distro like Debian Stable, or hell, even Ubuntu server LTS.
For desktop users, Slackware is a bad choice. The lack of package dependency management (God forbid that I should say that Slackware doesn’t have a package manager) is a disadvantage. Slackers: you’re doing things the hard way.
But it gets worse. Dependency cascades can not only be tiresome, they can also be unreconcilable. If you have a GNOME component as a dependency, for example, then you are likely to land yourself in a world of hurt.
You may ask: what about Slackware Current? To which I would respond: yeah, what about Slackware Current? Surely, if you use Current, then you might as well admit that Slackware isn’t the distro you’re looking for, and switch to Arch.
My advice to the Slackware maintainers would be to try to make a release every 2 years. 2 years seems about right to me. You’re not chasing fads, but you’re not mired in the past, either.
And let’s be clear about this: although newer software isn’t necessarily better, it isn’t necessarily worse, either. There can, and often is, bugs in old software which more recent versions fix. If the software is relatively new (for example CDE a couple of years ago), then the improvements are likely to be large.
MATE is an excellent DE
I chose the MATE version of Debian to download. I have a ten-year old machine, so I want my DE to be fairly lightweight.
After the last couple of months of trying out MATE, I have to say that I rather like it. I don’t find it too “old”.
MATE actually strikes a well-considered balance between features and resource-usage. The MATE developers seem to have really thought through what they were trying to achieve. Well done, guys!
There are other lighterweight DEs worthy of mention: IceWm, LXDE, even Fluxbox, and I’m sure a few others whose names escape me right now. They do require some setup, however, and their functionality can sometimes be a bit picky.
MATE, on the other hand, gives me what I want, and then gets out of my way.
GNOME is a memory pig
GNOME goes in cycles with me. First I hate it, then I persist with it, declare it “not as bad as I thought”, and then go back to hating it again.
GNOME, meh, I kinda get it. Boy is it a resource hog, though. Yesterday my CPU fan on my experimental machine started spinning around like a helicopter. It seemed that “tracker” was hogging everything.
Maybe there’s a fix to it, I don’t care. I’ve got MATE on my main machine now, and made a mental note to myself that friends never let friends use GNOME.
Anything based on Java is a memory pig
If there’s a language that has no real reason to exist, it’s Java. It’s just one big bag of bloat, and yet one more slab-o-electrons to have to download and occupy by disk drive.
I do a lot of development work on MCUs (microcontrollers). There are a lot of development environments out there. The best is the Arduino IDE. OK, the IDE itself needs much to be desired. It’s a slow old dog to start, too. But it’s ecosystem is unsurpassed.
I’m going to be unequivocal about this: if you want to explore the world of MCUs, make LEDs blink and soforth, then get yourself an Arduino Uno. Actually, get yourself something like an Elegoo Basic Starter Kit. It costs less than an Uno, and comes with a host of devices, including instructions. I personally prefer the Nano. It has the same processor as the Uno , but plugs directly into a breadboard. That’s way more convenient than having it separate.
No doubt many of the pros out there are going to scoff at my suggestion, pointing out that you can get more powerful MCUs cheaper, etc., but I stand by my statement. The Arduino ecosystem is excellent. The community is widespread. If you want to delve under the hood, there’s nothing to stop you. The simplicity of the AVR makes it good to really get to grips with low-level stuff. Plus, as I said before, community support is excellent, so you’re sure to find plenty of resources and tutorials to help you.
I seem to recall that I installed the Eclipse IDE many years ago, and came to the conclusion that it was a stupendously slow piece of software. Unfortunately, you can get many IDEs that are based on Eclipse.
I’m thinking of IDEs like Atollic, or STM32CubeIDE, for example, which target the STM32 processors. They require colossal downloads, and run glacially. The Cube sometimes froze on me.
I am actually in the process of writing my own STM32 library, specifically for the “blue pill”. Progress is slow, and frustrating, but, well, I’m getting a lot of bases covered. I’ve got SPI, I2C, USART and PWM working. That’s quite useful! I haven’t got ADC or DMA working yet. That’s for later. Still, I can get useful things done even at this stage.
If I were a little smarter, maybe I would have used STM32’s official CMSIS and SPL installed. There seemed to be some fiddly setup involved, so I’ve just stuck with going down the route of starting out with a blank sheet of paper and building what I want from there.
It does raise the question as to how much fancy IDEs, wizards, and hardware abstraction layers help. From what little experimentation I’ve done on the Cube, my answer so far is: not so much. The problem is that if you don’t know what you’re doing before you used the wizard, then you’re going to be at least as baffled as to what’s going on after you’ve used the wizard.
One setup that did actually offer some promise was the combo of Microsoft Visual Studio and PlatformIO. Yes, that’s right, the Great Evil One has produced an IDE that not only works on Linux, but is relatively lightweight, too.
You can add PlatformIO from there, to which you can play with a whole bunch of MCUs and the platforms. Actually, MS Visual Studio seems to be the preferred way of using PlatformIO.
You can choose a board that you want to program, and are given a list of platforms that you can use. The Arduino ecosystem is available from there, as are a number of others such as mbed, Zepher, and loads more.
As you can probably gather, I am a minimalist at heart, so downloading these things tends to run against the grain of the way I usually work. I must say, though, that it seems a good option. Certainly, if you’re fed up with the limitations of the Arduino IDE, then you can install MS VS. This will give you a much better IDE, whilst still allowing you to work with the Arduino libraries.
It’s no wonder that Microsoft dominates in Office software when the best that freeware has to offer is LibreOffice. Why is it so slow?
One of the first things I did when installing Debian on my regular machine was to uninstall LibreOffice. Apt said that it would free up 1G of space. 1G! How does an office suite take up so much space?
In truth, it likely takes up more than 1G. There seemed to be a lot of dependencies that could be removed once LibreOffice was removed. The sheer bloat of this software!
I’m not saying that I’ll never have recourse to using LibreOffice, but I’ll cross that bridge when I come to it.
The internet is broken. Firefox lost the plot. I’m willing to try MS Edge
Like a lot of people, I’m becoming more disillusioned with Firefox. The sackings at Firefox, together with the ever-burgeoning salary of the head honcho don’t help.
But I think it started before then. I installed Firefox on my dad’s Windows 7 machine. It seemed to bug him on a regular basis to upgrade.
When I switched away from Ubuntu last year, I downloaded Firefox from its official download site. What I couldn’t do is figure out how to disable those pesky updates. In previous version of Firefox, I could.
It is still possible, but they sure do try to make it difficult for you to do so. I hadn’t gotten to the bottom of it though.
And here, my friends, is everything wrong with modern software development practises. Software is increasingly dictating policy. Listen up studmuffins, the way I see it, I’m the operator, I dictate policy – as is the Unix way – not anyone else. in my eyes, to pester me to update my system is an act of hostility.
That, and someone wrote on Reddit that he thought Firefox using 4G of RAM was a good idea. My main system doesn’t even have 4G of RAM. What? I should buy a new computer just so that I can use a webrowser?
Spleen venting near completion
You can probably see now why Debian is a better fit for me.
Debian Stable has a reputation for having really out-of-date software. After having used it for a couple of months, I find it does nearly everything I need.
A sensible approach is to have a stable system that covers most bases, and then install a few extra necessities as required.
Perhaps it’s a bit harsh to say that if Debian doesn’t have it then it is not worth having. OTOH, I found from my experimental setup of Debian that the extra stuff is usually not all that useful.
In fact, it has shaped the way I will approach things in future. I can install whatever fancy piece of software I want on my experimental machine, and if it proves useful after a couple of month, migrate it to my main box. Even if the software does prove somewhat useful, I can keep it off my main machine, and just it on my experimental box.
So, in summary, Debian Stable is quite a nifty little distro, and I haven’t found it “too old”. Hope that helps.
Well, that’s me done. I’m sure I’ve left out points that I wanted to cover. Feel free to do your own internal proofreading. I can’t be arsed. Unlike in Timothy Dexter‘s book, the luckiest man alive, I shall not be supplying a selection of commas and full stops at the end to allow the reader to distribute them amongst the prose as he sees fit.