loading...
Cover image for What is suckless all about?

What is suckless all about?

l04db4l4nc3r profile image Angad Sharma ・3 min read

It has become appallingly obvious that our technology has exceeded our humanity.
— Albert Einstein

Ever since the culmination of the 21st century, computers are becoming more aware and humans substantially ignorant. That machine in your palm, the mobile phone, contains more computational power than an entire auditorium of machinery could fit in the early 20th century.

Being born in the late 1990s, I have been a front-seat witness to this boom in computation. My first computer had 4 GB of RAM back in the day. Now my mobile phone alone has an 8 gig RAM chip. Humans are reduced to lazy couch sleuths living in a bubble of tools that we have taken for granted.

The famous Moore's law:

Alt Text

Sadly the rise of computation has taken a perverse toll on the developer community. Do you know that an average program written in python is 2 to 10 times slower than a program written in any other compiled language (let us say C++). This is because people have simply started neglecting the time and space complexity of the algorithms they write as well as dependencies they bear in their code. No one cares about a code running 10 times slower if it yields a result in 0.04 seconds instead of 0.004 seconds.


The Suckless Philosophy

Extreme computational capability ushers in an era of complacency in code, leading to unnecessary bloating.

The suckless community is a group of like-minded people with the aim of creating software that is:

  • Simple, clear and frugal.
  • Minimalistic in nature to avoid bloating.
  • Simple to understand and contribute to.

Suckless focuses their tools around the elites of the computer science domain, because the community believes that the aforementioned niche often gets ignored when a bloated tool tries to fit the majority. Thus working with suckless tools isn't always easy. Some of their most popular work includes the following:

  • dwm: Dynamic window manager.
  • st: A simple terminal.
  • surf: A highly minimalist web browser.

Is suckless a hater community?

Let us take an example. The suckless community has the following things to say about GCC:

GCC is the virus which has spread into nearly every Linux distribution and has added its language extensions to be not easily replacable. As of 2016 it is now written in C++ and so complete suck. Why can't a compiler just be a simple binary doing its work instead of adding path dependencies deep into the system?

A lot of people view suckless as an extremist community, who openly and rather blatantly bash other people's software in order to try and promote their own vision of how the software can suck less. Although a lot of their arguments can be backed up by credible evidence.

Alt Text

I was randomly browsing online when I came across this great article: contempt culture which changed my whole view about verbal extremism in the developer community, and I have since started seeing suckless as an elite community who are just trying to make better software.

I would love to read your views about the suckless community and their tools. Also, I was contemplating whether to do a series on suckless tools. Let me know if you are interested :)

Posted on Apr 6 by:

l04db4l4nc3r profile

Angad Sharma

@l04db4l4nc3r

Backend Developer and DevOps SysAdmin

Discussion

markdown guide
 

I came to know about suckless tools a week ago and I was amazed by the concept behind it. But it is very difficult for begginers to get started with suckless programs. And also I surfed through the web but didn't find much informative blogs about it. Therefore I think you should do a blog series on different suckless programs.
And thanks for writing this article😊.

 

Thanks for the feedback. Will surely look into how I can contribute.

 

Hehehe.. That usually can be found when you create an application that I give the name as industrialize applications.

The conditions when you trying to create application/program/service driven by business and place on the edge with the end-user.

Market who place on the edge with end-user always wants to see new feature/new services, easiness to use, and also you can show off to the others. They don't know or care about the detail behind it. Some of them even still don't really know how to operate the User Interface (I talk about 80-90s people). For them, It already really great if they can see it running and gives something good to them. That's why big money always comes to the type of application like that, not the application which has an advance technique, efficient, great in the performance etc.

I think some people who works on big tech understand this condition really well, that's why they create a trend like serverless, cloud computing, etc. So they can facilitate and take the money from there :)

Even, you can find some of articles already said speed doesn't matter at all in this era. Collaboration between service (It means, just use other services, not need to create from scratch), speed to deliver the product, easiness to create more important right now.

In the end, I think it is just perspective which conditions more suitable for you.
And if we think again, other discipline feels the same problem especially music. The interesting part, They already have some alternative answers about such conditions. Some of them, create another team/band/names only for distribute their idealist thinking. Some of them out of the industry when they famous. And the others just accept the situations and change their mind.

By the way, thanks for introduce The Suckless Philosophy. So I know what names about the conditions which I have a discussion before :)

 

That is a great point of view. Companies do really have more focus on how the product can be delivered faster. In the end it is all about what makes life easier for us. If a program is complicated then it makes it harder for users to derive value out of it. And in the end users do prefer a little bloating if it means saving a lot of time :). In the end, its totally up to the use case.

 

People can say that small differences are equally important, but there are several domains which are noticeably slow, and can be called "bottleneck", most commonly web services -- why would loading time be longer than noticeable time (like 0.1 sec or something) ? Not sure if it is even a fault of JavaScript? Or something recent, like Folding@home ?

Still, the concept is indeed applicable to some area, like comparing thousands or millions of data rows, which is indeed common...