By the way, I use Arch (Part 1)

Shantanu Verma
GDSC VIT Vellore
Published in
5 min readMay 12, 2020
Embracing the meme

Arch Linux. It has a reputation for being a little difficult for new users, just as flying an airplane is a little difficult for car drivers.

Usually a new user sits in the cockpit and gets overwhelmed by all the controls Arch offers them. Then they press a wrong button, possibly break something, and are convinced that they are not ready to handle Arch.

That’s not necessarily true.

In this first post, I discuss my favourite Linux distribution, and why you might want to give it a shot.

Why Linux?

On the subject of breaking your system, I managed to break Fedora’s default installation on my machine. Thrice. More on that later.

I started using Linux for development work within months of starting college. I was frustrated with the restrictive design and architecture choices in Windows that prevent users from adding, removing, and accessing new binaries useful for development. Ever installed GCC for use from the Windows Command Prompt? How many steps did it take you?

This design choice is appropriate for Windows because its user base is largely comprised of non-developers. So if you’re messing around with binaries, chances are you don’t know what you’re doing - and it makes sense to make it difficult for you to change enough to actually break something.

But what if you’re a developer? Windows’ checks get in the way, and can get plain annoying. Every step of the process, Windows goes “do you really know what you’re doing?”

Are you really sure? Really really?

User-friendly vs User-centric

A quick Google search will tell you that user-friendly means “easy to use and understand.” And Windows’ design does achieve this. Windows is easy to use and easy to understand. And to make sure that it stays that way, Windows is not easy to change.

Developers want a system that’s a little more user-centric. That means the system can be less friendly, as long as it gives more power to the user. In other words, we want less friendly, more convenient. You can read more about user-centric design here.

Enter Linux.

Linux itself is only a kernel, so the end user uses a Linux distribution. A distribution can be developed by anybody (open source ftw), so many large open source projects have emerged. Each has its own developer community, therefore all of them follow different design principles.

Why Arch?

To reiterate — each Linux distribution has its own design principles.

When I switched to Linux (dual booting because Windows + games = ❤️), I picked Fedora. You can read about the Fedora philosophy here. This is a great open source project with an amazing community of developers.

Drunk with newfound freedom, I would throw caution to the wind and mess with low level system stuff to get something to behave the way I wanted it to. And that, is how I managed to break the very stable Fedora - thrice.

Each time I learned something about how the system worked internally. Most importantly though, I learned the value of reading documentation and not jumping in head first.

To quote Uncle Ben - with great power, comes.. the responsibility of managing your system. And not breaking it. Therefore, distros like Ubuntu definitely have their place. I see them as the Windows of Linux distributions. They are designed to be easy to manage, and so they take power away from the user¹. When users lack knowledge of how a system is supposed to work, it’s dangerous to give them the power to modify it.

The Arch Way

Here’s a little quote from the excellent Arch wiki² —

Arch Linux targets and accommodates competent GNU/Linux users by giving them complete control and responsibility over the system.

The Linux kernel follows a modular design pattern that allows plug-and-play ability for new modules. Your Desktop Environment (GNOME, KDE etc.) is a module. Your boot loader (GRUB, rEFInd etc.) is a module. Even the output that you see on your laptop screen is delivered using a module (called a display server).

And Arch lets you pick the module you want for any of these features.

You get an amazing amount of power over your system. The installation process gives you a bare bones live image, from which you can define literally everything for your system. You can define how the hard drives behave (partitioning schemes, encryption, journals, buffers etc.), how the hardware clock is synchronized, speaker over amplification, display drivers.. you can even compile your own kernel!³

That is why Arch assumes competence. You need to know how to use the power it gives you.

But competence is acquired through experience!

Don’t be afraid to make mistakes. Your trusty live USB stick can always reset your progress. Remember, you’re not supposed to have a perfect experience when you install it for the first time. But you will learn a lot.

Conclusion

Choice is subjective. I haven’t come across any objectively bad popular systems. I have come across some good systems.

But Arch is definitely a favourite. It does user-centric design exceptionally well. Every time I tried something else, I went back to Arch within a week.

If you too are sold on the idea of Arch, why not give it a spin?

Follow up posts will be about installing Arch, so stay tuned!

Annotations and Further Reading

  1. That is not to say that there is anything wrong with Ubuntu. Ubuntu implements its design goals very well. It just so happens that those goals don’t align with my preferences, and preferences are subjective by nature. To read more about Ubuntu’s design goals, check here.
  2. Arch Wiki, an excellent resource in general.
  3. Check out the Linux from Scratch project, if you’d like to build a Linux system from scratch instead of using a distribution.

--

--