Iguleder's Blog

Open source stuff n' stuff

Black Gold

leave a comment »

As a regular follower of Motho ke motho ka botho, I feel compelled to write about my own experience when switching to a text-based environment.

It’s not so easy to make the switch. It’s hard to adjust to a new kind of user interface, but once you go black, you never go back: once you feel comfortable with console applications, you become more efficient and no longer need friendly, graphical applications; Your ten fingers are faster than one hand.

The easiest way to start making the switch is by replacing one graphical application that you find heavy with a text-based alternative, that’s something both me and K. Mandla agree about. The first console application I ever tried was WeeChat – I remember I first heard about it in the Puppy Linux IRC channel when a group of veteran users agreed it’s the best IRC client there is. Immediately, I got curious and decided to give it a go – I downloaded a PET package.

I found WeeChat to be too complex for me, as the first console application of an IRC newbie. I found it hard to remember all the different configuration options and the peculiar ways of doing things, like “/nick” instead of clicking my nickname with the mouse pointer.

However, I got to like it and it even inspired me to create a Puppy SFS extension with a bunch of console applications, which included WeeChat, ELinks, Vifm, Midnight Commander, MOC, Transmission, GNU Screen and other goodies. That was nothing but an experiment: I wanted to know how useful these applications are as when used as a working environment. I installed my extension and booted Puppy with the famous “pfix=nox”.

At first, I kept taking down GNU Screen sessions with the applications running inside them. However, it became my primary working environment, once I got used to the key bindings. I was fascinated by the low usage of resources, the responsiveness of applications and the efficiency of such environment: I could write and read interesting articles for hours. The black background was indeed one of the things I was most pleased about.

As time passed by, I became more and more familiar with the internals of a Linux distribution. I read guides that explain how to construct a simple live distribution that just boots to a shell prompt and many resources about embedded Linux systems. When I felt ready, I assembled my first embedded-like system – an x86 distribution that behaves like an embedded system. Then, I added SSH capability and other things. I also learned how to compile a kernel and became familiar with Busybox. This inspired me to create my own distribution, an entire text-based operating system.

However, at the time, I had no knowledge about constructing an entire distribution from scratch, so I read Linux From Scratch and built several systems based on it. As I became more and more familiar with it, I dropped some packages and found ways to customize it to suit my needs: I replaced some packages with Busybox and changed the order in which packages are built.

The first builds of Calf GNU/Linux were stupid and ran live. I could run all the console applications I used, but then I realized how stupid I was. Some packages had extra dependencies I missed and others were nothing but bloat. For example, Transmission requires some extra dependencies to compile properly and ELinks wanted Expat.

My experience with console applications made me a software minimalist and changed my perspective about software in general and Linux distributions in particular. For instance, a distribution that uses many graphical Python applications is not efficient, while applications like DeaDBeeF are real gems.

Real life events kept me away from working on Calf GNU/Linux, but sometimes I found the time to work on it. Gradually, it became smarter and now it’s my primary working environment: I use it for writing, programming and music. I browser the internet, chat in IRC and download stuff in a console-based environment.

It just makes me more efficient, makes my netbook’s battery last longer and doesn’t kill my eyes. The computer’s fan is completely silent and sound quality is superb. Also, the text-based interface does wonders with my 1024×600 display – no wasted pixels in the framebuffer console.

Also, applications such as dvtm can further enhance the usefulness of a text-based operating system on small screens. By using tiling window managers (well, dvtm can be considered to be a window manager) you save the extra pixels used for window borders and panels, because you no longer need them.

Moreover, some console applications form something better when used together. For instance, with both GNU Screen and dvtm inside each window, you get workspaces and windows with session detaching capability. If you also use MOC, you get an invisible, superb music player that plays music in the background while you do some serious work.

Anyway, this is just my subjective view of the subject and console applications are a matter of taste. Some find them precious, while others are scared of them. I just happen to like them and hope they’re here to stay.

Advertisement

Written by iguleder

October 22, 2010 at 10:15

Posted in Open source stuff, Projects

Tagged with , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.