Flowing with Minimalism

Tags: thoughts technical

Time and again I keep stumbling into good pieces of software which work. These have the quality of being old, created during a simpler time, and just working. There is minimal fuss, the software just starts, throws you into the loop and you can simply start doing your work. In contrast, this is just diametrically opposite to the kind of software that’s there now, not all of it, but I’m witnessing that the major chunk of the software that’s being churned out today, while being more beautiful, is also a lot more bloated. Take the examples of latest GUI offerings of all the operating systems today.

Though this has nothing to do with open-source or closed-source. KDE is one example which, while being open source, brings my laptop to a crawl. I log into it, the file indexing service starts, along with a few others and my computer is unusable for next 5 minutes. i3 on the other hand, just starts in a few seconds and I am good to go. In fact I’m using both xfce and i3 at the same time and they are much more responsive than kde. I’m ready to ditch the indexing service because most of my file searches happen within the scope of a project (using projectile) or I mostly find the files in a carefully placed directory on disk.

Emacs/Vim are crazy minimalistic. Emacs is still pretty fast when compared to modern alternatives, and the core is still minimalistic. It’s just that the functionalities add up and after some time it becomes slow to start, but mostly Emacs is supposed to start as a server once and keep running for a long, long time. I hardly have any crashes for months.

Not everything is good with Emacs. I wanted to use it as my email client and tried gnus but that’s just too much to handle. I settled on mutt – again a minimalistic piece of software. I’m using it just for basic purposes; I am not in the mode where I can dictate people to send me just plain-text emails.

Syntactically, I’m bending towards Common Lisp these days. I don’t know what the future is of this language, but it has this beauty of being very expressive. I guess using it with a positive mindset can make you really like this language. In the past, I’ve found C to be much better than C++ (which I hardly explored during college because I never intended to use OOP for small code-base), C# to be much cleaner than Java (which again I don’t have much experience with, but on purely syntactic terms). These and others like Python, Scheme, are all pretty clean and minimalistic designs.

I was using Debian for a very long time, until I purchased a new laptop. Jessie was still offering 3.x kernel at that time so I moved to a more upgraded alternative. Opensuse Tumbleweed with KDE – it was a great experience for a few days; there’s hardly anything wrong with Tumbleweed but KDE wasn’t something I was willing to waste my time and energy on, and dotnet-core wasn’t supported with Tumbleweed because it’s a rolling release and the dotnet wasn’t able to keep up with the massive changes that come up. With Debian 9, it just installed and I am back to coding in dotnet-core. Debian is stable, it just works. I wouldn’t say that the package offering is minimal, but the core of the system is.

I guess when I use all this software, it also forces me to look at things in a different way. I want the software that I write to keep working for a long time without any changes. This forces me to take (or at least think about taking) better and unhurried decisions. Maybe that’s the reason that I am not a fan of technology which keeps changing all the time. There are still really good softwares, written decades ago which drive the world today – just because the designer and the coders took good decisions at that time. They kept the things minimalistic, kept just the things which worked and were essential. Everything else is just fluff and should be removed.