# Journey into the Darkness ## Ch. 5: A T430 in the Void > Software obeys the law of gaseous expansion - it continues to grow until > memory is completely filled. > * Larry Gleason When the last laptop mysteriously died in late 2016, I was stuck using an Android phone as the daily driver for several months, having since given away the Z600 to someone in need. Oh, what fun that was... During this time I would discover K.Mandla's blog [1] which talks about running Linux on older hardware, usually with the goal of operating solely from the command line. Soon I would install Termux to try this novel idea of working without a GUI, while an ancient Windows XP machine at a friend's house allowed me to run Cygwin. It wasn't quite the same as a proper Linux installation but it sure beat Android. Having a full keyboard again felt strange, especially since it had been years since I'd last used a classic mechanical model. Still, it was quite a relief to be done with the comically small folding unit I'd bought for the phone. Soon enough I'd research software bloat and the Unix philosophy which would naturally extend to why GNU is bad, why systemd is evil and why object-oriented programming is just plain stupid. Some interesting sites turned up such as cat-v [2] and the suckless project [3]. Thus began a crusade against all that is counter to the Unix Philosophy and minimalism in general. I would shun anything which seemed to conflict with this newfound philosophy, even without really knowing just what was wrong with a given piece of software. Sometimes I'd avoid something simply because it was written in C++, which goes to show just how ridiculous and extreme I can be at times. It wouldn't last long since it appears to be almost impossible to avoid all the things I thought were bad. => https://kmandla.wordpress.com/ => http://harmful.cat-v.org => http://suckless.org It wasn't long after that when I rediscovered Void Linux [4], now touted as one of the most minimal Linux distributions in existence. Naturally I thought of that old desktop running FreeDOS and how much fun it was to use the command line exclusively, having only as much software as was needed to get the job done. No flashy GUI, no massive IDE for coding, no spyware of a web-browsing OS-within-an-OS, just a simple text editor and a compiler. Simplicity at its finest. Suddenly I felt the pull of gravity as I explored the K.Mandla blog, learning of all manner of CLI tools which could replace the graphical variants I knew and used up to this point. I read the specifications for Void Linux and was amazed to learn that the base system requirements were only 96MB RAM and 700MB for storage, something I didn't think was possible for a modern Linux distribution. The base image iso was less than 400MB and only included enough to make the system work. There was no systemd, no graphical nonsense, nothing! Like man y before me, I was pulled into the Void. => https://voidlinux.org The decision was made to purchase a refurbished Lenovo ThinkPad T430 to replace the Android as a (proper) daily driver. It came with Windows 10 pre-installed which I booted into just once to download Void and put it on a flash drive. Once that was done, I deleted Windows for probably the 14th time in my life. As is usually the case with Linux, it took far less time to install than any version of Windows since XP was released. In fact, it may have been less than ten minutes. Testament to the fact that one of Void's best features is a lack of features. Only the core set of unix utilities is included by default, along with the xbps package manager and a minimal init system called 'runit'. Even the installer used a TUI instead of a fancy graphical menu. Within weeks, the T430 was configured with a number of programs which replaced everything I once knew, marking the start of many new usage patterns. Despite having used Linux daily for nearly nine years, there was rarely any reason to use the command line since all of the software I used was graphical. There was always one machine dual-booting Microsoft Windows since some software wouldn't run on Linux, but this was the point where I would abandon Windows for good and never look back, thus ending the ten-year war. It was also on this machine that I first learned the Lua programming language, followed by Go. This was prompted by the huge changes made to Python between versions 2 and 3, plus the fact that Python 3 tends to have breaking changes between sub-versions. Having known about the text editor vi and its heavier clone vim, it was this machine on which I first learned to use this arcane but powerful editor. Web browsing was suddenly much faster when using w3m since JavaScript is NOT supported, nor is CSS or any other nonsense which isn't HTML. The fact that it supports images made life easier in the console. Often during the distro hopping period, I would find that some things just didn't work out of the box. One of the most common examples was the screen brightness controls, and the T430 was no different. This required exploring the web to find a script which changes the screen brightness by writing to the virtual file system /sys/, which was kind of annoying since it needed to be run with root privileges. In fact, Void showed me just how much the mainstream distributions were customized in order to make Linux easier for non-technical users. A fine example of this is external storage devices being mounted automatically when plugged in, something I always thought was normal and took for granted. Almost all of my knowledge about the inner workings of Linux are the result of my experiments with the T430 and Void, including my very first attempt to compile a custom kernel. That was certainly a time consuming learning experience, but it gave me a deeper insight into how the system works. What surprised me was how little attention Void was getting at this time, despite all the hate systemd was getting [5]. This started to change as the number of Linux distributions without systemd began to shrink dramatically. As of January 2023, it seems all of the OG distributions have converted, leaving mostly forked projects such as antiX and Obarun, or experimental distributions that are still under development and likely to have some rough edges. Void is one of the few exceptions as an independent distribution that's been around since 2008. Unfortunately nothing is ever perfect, so there were some issues which began to appear in what was otherwise considered paradise. => https://sysdfree.wordpress.com One of the odd behaviors I've noticed is the occasional kernel update causing yellow colored text to become orange, while blue text goes from a readable shade of blue to some hard on the eyes shade that's almost impossible to read. For a while it seemed like there was a battle going on between some Linux kernel devs, since the colors would frequently alternate between these shades with each update. Eventually this got old, so I found a program that can change the console colors on startup and added that to my .bashrc file. Of course this would need to be adjusted for each monitor since a given shade of blue might be perfect for one screen but unreadable on another, something I would eventually get tired of. Yet another issue that turned up was iwlwifi crashing with kernel versions after 4.19. This would take a few days to fix, requiring different drivers depending on the machine and chipset used. Usually it meant not being able to access 5GHz networks. The one problem which annoyed me the most was battery life. So when Void was first installed, the T430 would get more than eight hours of runtime on a single charge. Starting with kernel version 4.19, that time was reduced to about 5.5 hours or less, with the series 5.x kernel giving less than four hours. It took a few years before I learned that the kernel version could be 'fixed' on Void, meaning further updates would not be installed unless explicitly requested by the user. Being a rolling release, I knew there was a chance of things breaking with each update, but it would have been nice to know this before the older kernel version disappeared from the repository. Prior to getting the Udoo Bolt, I was working on building custom maps in QGIS, which unfortunately was not in the Void repositories. The only machine I could run it on was that ancient Windows XP desktop I mentioned earlier, and it was painful. Sure, it worked well enough to get the job done, but it was S.L.O.W. This would be the first time I installed X on the T430 in a failed attempt to build QGIS from source. Long story short, this was impossible thanks to a case of Python dependency hell involving QT and the inability to build or otherwise install the required dependency versions. This was not the first time I had issues with building or running something on Void, nor would it be the last. Since the Udoo Bolt includes an Arduino Leonardo built in, I tried installing the command-line utility which would allow me to program it... Well that didn't work at all, nor would later experiments with 'avrdude' have any success. Running Void on the Raspberry Pi Zero W was a nice bonus, but only if one could li ve without WiFi support. Trying to install Adafruit Blinka was also met with dependency hell, making all those cool hats completely useless. At least the Ethernet hat worked! Somewhere in the period of 2018-2021, I decided to explore some other operating systems which could be installed without a graphical user interface in the hope of solving the issues I was having with Void (and Linux in general). This lead to a second round of experiments with the BSD family, followed by some other Linux distributions based on Arch and Debian. As is usually the case, Murphy would come along and mess things up. => index.gmi Index => 6.gmi Ch. 6 - Daemonic Possession => ../../index.gmi Home