The year was 2012 when I got my first my computer.
It was an Ahtec laptop which had quite some good specs for that time and considering how much it had cost. The laptop came with an Nvidia GeForce GT 525M graphics card, which performed way better that I could’ve ever dreamed of (once the propietary Nvidia drivers where installed, of course).
One may wonder why buy this laptop when probably there where much better options out there and why go for a lesser known laptop brand and not buy an HP, Toshiba, Dell or a Lenovo ThinkPad. Well, mostly because of money, but also because it was the only one at my local store which came with no OS installed by default, which meant there wasn’t a need to pay for a Windows license.
Also, by that time, I wasn’t using Windows anymore. In fact, I never really got to use Windows on a daily basis, as when I was young we didn’t have a computer at home and, when we finally got one, we changed its OS from Windows XP to Debian 5 (or maybe it was 4?) just a few months later because of how incredibly slow it Windows XP was. Debian gave our PC a new life. I’ve been a Debian guy ever since. This time wasn’t going to be different, so I installed Debian on my new laptop and, to no one’s surprise, it worked like a charm.
I’ve been using Debian for most of my linux years. I don’t know why but I’ve always felt that the robust feeling the distro gives me makes me feel at home. Not a lot of other distros make me feel like that. Debian is a hell of a solid linux distribution and I’ve only experienced a few major breakages over the years (and they have all been my fault). For some time I went back and forth switching between the “stable” and “testing” branches until finally just stayed on the stable one, as I don’t really need a lot of new packages (and those that I do need I can compile from source).
I never felt the need to switch away from Debian, but out of curiosity and after seeing other people’s opinion and different approaches about what a linux distro should and should not be, I decided to go and test some other distros. I played with Ubuntu, Void Linux, ArchLabs and even ditched Linux for some time to try some of the BSDs, only to come back to Debian.
systemd a.k.a The Antichrist
During my time learning and tinkering with linux, I got to try and see different approaches on software development in general. My love for minimalism grew through the years and I tried to replace most of my software with more minimalist options when it was possible. I moved from away from full blown DEs (such as GNOME and KDE) to standalone window managers (such as Openbox, CWM, XMonad, etc.) and started using more terminal-based applications. I found this new workflow to be more convinient for most of my use cases.
Some may argue that, when looking for minimalism, another distribution would’ve made much more sense than Debian. There’s Arch, Void, Gentoo, CRUX or even KISS Linux, to name a few, which let you build your OS from the ground up so you only keep whatever packages you choose to, achieving “peak minimalism”. Although I love Void and Gentoo and CRUX are distros I’d love to try on physical hardware one day, a similar (yet not quite the same) “build it from the ground” experience can be also achieved in Debian by unticking all the boxes refering to desktop environments in the “Software selection” step in the netinst installer, leaving only the base system 1.
With all this minimalism thing swirling around in my head I eventually came across Suckless’ software. I instantly loved dmenu, slock and some other tools by them 2 and I eventually found their opinions on different software and their opinion on systemd.
At that time, there were some linux related topics I still didn’t have a deep understanding of, being init systems one of them. Reading so much people complaining about systemd and talking about other init systems was the perfect excuse to start learning about init systems, investigate alternatives to systemd and to really consider if it was really that bad and if I should care at all about it being a giant peace of bloatware trying to do too much and not giving a single shit about the Unix philosophy 3.
The “No systemd” website came in handy to answer some questions, providing links to others people’s opinions and/or arguments against the init system, as well as a list of some Non-systemd distributions.
Another useful resource when talking about init systems and get some a basic idea of them all is the page in the Gentoo Wiki dedicated to comparing a handful of them.
So, after reading all those pages, did I get any conclusion? Well, not really. I don’t like basing my opinions solely on other people’s and I prefer to investigate the topics to form my own. This time wasn’t an exception.
What about Devuan?
A year or so ago, I tried out Void Linux on my laptop, which performed quite well. Void comes with the runit init system, so I thought it was time to give runit another try and get to know the deep-down essence of it.
In contrast to systemd, runit is designed as a minimal init system with the Unix philosphy in mind of “do one thing and do it well”. It actually is a collection of six utilities, each one of them designed to perform an specific task.
At that time my laptop was running NetBSD, as I had wanted to tinker with that OS for a long time, but I replaced it with Devuan 4 with the runit init system. I was going to use this laptop for doing actual work which involved programming, compiling and executing code written in Fortran used to solve integrals via numeric methods as well as studying physical models with methods such as the Metropolis Algorithm. These type of programs may take a lot of time and system resources when executing, so it was a must for the computer to be performant and usable and for the OS/distro to just “get out of the way”. I thought that Devuan would be the perfect field to try runit in, as I was already very familiar with Debian-based distros and I would need to spend much time setting the system up and learning its ins and outs.
Devuan is basically Debian without systemd, so software availability and hardware support is as good as it can get. Nvidia propietary drivers are available and easy to install and overall performance is great.
One of the most interesting aspects of Devuan is the so called “init freedom” approach they give. Considering that the users should have the freedom to choose whichever init system they prefer.
Conclusions and final thoughts
Then, does the init system really matter? Does it make a change performance-wise?
Well I’d say that the importance of the init system depends on who you ask and what they use their computer for. In case you want to build a career around Linux (in which you’ll need to work with different machines etc.), you may want to know systemd really well, as it has become a sort of “standard”. Most of the machines you’ll encounter in these jobs will probably run systemd distros. These include RHEL (since version 7), Debian (since version 8), Ubuntu (since 15.04), Fedora (15+) and others.
On the other hand, if you’re just a hobbyist computer user that likes to tweak with this sort of things, I’d say give one of the alternative init systems a go. Who knows if you’ll end up prefering it.
I honestly consider runit to be a better init system than systemd. I think runit is way superior, not only because it follows the Unix philosophy (although I think that is something that needs to be taken into account), but also because its size makes it quite faster than most other init systems out there and also more suitable for old hardware.
Some weeks ago, I saw a video of a linux youtuber somewhere on the internet where he said that, since he started getting familiarized with Unix-like operating systems, his computer usage has been progressing towards using the system in a more “low-level way”. That means throwing away GUI apps for CLI alternatives and using more minimalist software that just gets to the point of whatever you want to do and gives you more control on how to do it. I feel that, unintentionally, I’ve followed a similar path. Why is that? Well I’d say that, in my case, when using my computer this way, I can better understand how everything works. And I think this point is key when stating that runit may be preferable to something like systemd: its size makes it easy to understand and learn in a couple of hours.
I don’t think I’ll be moving from Devuan any time soon. I might even switch to Devuan in my main production machine, which has been running Debian for a couple of years now, when I have some time.
Maybe the obtained result won’t be as minimal as the others mentioned before, especially when refering to Gentoo (mostly because of use flags) and CRUX, but it is more than enough for me right now.↩
Although I always tried not to fall for this “bloat” meme that seemed to be really common back then. I tried to search for minimalism just when possible and, let’s assume it, sometimes a little bloat is a small price to pay in order to have a usable program/tool/whatever.↩
From Wikipedia: “The Unix philosophy emphasizes building simple, compact, clear, modular, and extensible code that can be easily maintained and repurposed by developers other than its creators. The Unix philosophy favors composability as opposed to monolithic design.”↩
In the last few years there has been an attempt to resurrect that old-school retro ’90s way of making FPS games. Out of this new wave, some great and some not so great games have emerged. From the top of my head, the ones that manage to stand out from the crowd for me are HROT, Wrath: Aeon of Ruin, Cultic, Ion Fury, Amid Evil and the one and only Dusk 1. The truth is that no modern game other than Dusk has made me relive the feelings that playing Blood gave me (and if you’ve played that good old game you know what feelings I’m refering to).
Dusk is a homage to ’90s classic shooters, while still giving a blow of fresh air to the now growing retro FPS scene, including stupidly fun mechanics, memorable levels and scenarios and creative enemies that make out for an incredible game with a unique atmosphere that stands out by itself and not only for being a love letter to yesteryear games.
The game is divided into three different episodes, each one with its own atmosphere, mechanics and autenticity. Three different vibes, that, while connected and forming a cohesive experience, differ enough to make the game varied and break the monotony this kind of games seem always to fall into.
Episode I: The Foothills
Dusk starts off with little explanation or context whatsoever. You’re in a dark room stuck on meat hooks when you here a voice that simply says “Kill him”. Yes, that him the voice’s refering to is you.
Episode II: The Facilities
The Facilities starts off by warning you about what’s ahead of you: loads of bullets and fire balls to dodge. One of the most memorable parts of this episode (and probably of the game itself) is the beginning of the first level of episode 2, “The Grainery”, which portraits a large industrial facility used to store grain. At the beginning of the level you find yourself in a huge esplanade with the grainery at the end, from where dozens of fireballs are coming at you while loads of soldiers are also shooting at you. Dusk offers no time to relax.
The whole episode is filled with these “oh, fuck” moments combining them with huge industrial buildings that make you feel really small and powerless. Like really, the landscapes and outdoor levels in this episode are amazing. Some great examples of this are levels 1 and 7 and the last part of level 6.
Although the setting of every level is distinct from one another, they all share a common theme: industrial and military facilities (hence the name of the episode). The last two levels, I must say, are an exception to this, as they’re set underground in some kind of ruins or mines or whatever. Also, level 7, “Neobabel”, seems to be set (at least in the beginning of the level) in some kind of crazy sacred place with temples and that kind of stuff. But somehow all this “exceptions” seem to fit alright with the overall theme of the episode.
One can clearly see that “The Facilities” has a much more ambitious approach, as all the levels feel connected (which is something that didn’t really happen with the previous ones) and while playing through it it seems that a story is being told and you aren’t just shooting enemies around.
Episode 2 was the one that really caught my eye and made me realize how much I loved this game and showed me its true potential and how good it really is.
Episode III: The Nameless City
The last episode offers a slightly darker perspective on the game.
Resources and references
It might be interesting to mention that out of the 6 games listed 2 of them are still on early access and one of them doesn’t even have a release date yet.↩