FINALLY! SOME UPDATES! This website is being reconstructed. Some content will go away soon. If you want to see my new stuff, visit my github:

March 27, 2013

Linux Ncurses Programs

I've probably mention a couple of things like ddate, fortune, and figlet as some fun things to play around with in the bash shell. But how about some way cooler stuff I found while browsing Google+ this weekend.

The original file is a 2MB GIF. Since this site is not a tumblr, you'll just have to click the image above for full view.

This image was originally loaded online by Biron Verkler, but these programs have caught my attention.

Firstly, there is cmatrix. What is cmatrix?

"The Matrix is all around us..."

No, not that Matrix. But close. This Matrix is actually a fun little script you can use in the bash shell. Even better if you use tmux. It was written using the ncurses library.

The Matrix
"Wake up. The Matrix has you!"

Floating around the Internet are various versions of a script called It's quite vague who created this script, but there is one thing that is in common. The output looks like this.

"The a series of tubes!" --Ted Stevens

Because of the numerous variants of this script, I've decided to work on a version of my own script that uses the best features from these scripts such that there is a compromise of standards.

htop has been called top on steroids and rightfully so. From the screenshots posted on The Geek Stuff, htop is not only beautiful but functional. The fact that you don't need to leave htop to do some tasks looks inviting, though if you're going to kill a task, you will probably still need to use sudo killall since SIGKILLs work best when you are root.

Whenever I feel like playing just a single music track from my music collection, I generally type up mpg321 in my console. For MIDI files, timidity is my program of choice. The past couple of years, I used Music on Console, mocp, as my music player. But now I think I will give ncmpcpp a try. ncmpcpp sounds like a hard name to remember, unless you set up an alias. But what it is is a front end player for MPD, the Music Player Daemon. I hope I can configure it to stream Last.FM. There are a couple of sites that look useful for configuring this program. At any rate, I look forward to using it in the future.

Speaking of programs that I currently use, wavemon is a must have program for anyone using WiFi on their machine. Let's face it. The days of drilling hole in you walls to plug your computer into an Ethernet socket are over. I've devoted my new computer to using WiFi so much so, that I was willing to shell out a few extra bucks to get the version of my motherboard that came with a WiFi chip. There are advantages to using WiFi like password security. If you haven't set up a password on your Wireless router, I highly suggest doing it to protect your home from wardrivers looking for an open, unsecure network they can mooch off of or break into your computer with. (One of the topics of discussion I hope to post about in the near future is remote accessing your home computer securely from outside your home. A good password is important just as having locks on the doors of your home are for keeping intruders out.) This program was not featured in the GIF image, but it is a must have if you like to geek out your console.

Speaking of geeking out, if you'd like to access your email through the console, give mutt a try. This program has even received endorsement by Eric S. Raymond. Gmail users have the fortune of finding plenty of articles, like this, this, this and this, describing how you can use mutt to access their mail. Keep in mind that because mutt works in the terminal, the appearance of mail will be minimalistic as terminals do not display images.

I still want to use urxvt and tmux to use all of it instead of the GNOME/Ubuntu Terminal with its messed up color scheme, but there are some quirks with urxvt that hopefully this article and this article can correct. Just using it as is has some pitfalls because it doesn't support Unicode characters like urxvt should. (What do you think the "u" in "urxvt" stands for?).

I'm hoping to develop my own ncurses programs soon. Hopefully now you can see why Linux still thrives in the terminal in the age of GUIs.



Under Construction