Tag Archives: screensaver

ncmatrix: The original, with a twist

I’m sure you remember cmatrix, the console version of the Matrix-esque special effect that dates back almost as far as the original movie.

ncmatrix takes that idea, and adds a tiny fillip.


If you watch that image closely, you’ll see streaks of purple and red among the green. Those are network transfers, intermingled with the normal effects.

As a network monitor, it probably offers the least information possible. You might as well have a blinking purple and red dot, surrounded by all green.

But what it lacks in practicality it more than makes up for in cool. cmatrix by itself is a winner, even if it is about 15 years old.

ncmatrix does much the same thing, just adds a teensy little fun … and some color! :mrgreen:

P.S.: I feel obligated to mention that this doesn’t appear in Debian and the AUR version would not compile for me. On the other hand, the source, straight from the zip file, configured and maked without a hitch … so that’s what you see in the gif. ๐Ÿ˜‰

maze.py: One more, just for fun

This is really just a scrappy little script, and not much of a program. But here goes: This is maze.py.


And I’ll be darned if I can remember where it came from. ๐Ÿ˜• To be clear, it’s not mine. I didn’t write it.

The intent, or the original illusion, was to connect the corners and it took on the appearance of a diagonal maze, with multicolored walls.

I say “original” because I replaced the diagonal characters with forward and back slashes. The other characters don’t appear in my console character set, so I just get multicolor boxes. ๐Ÿ˜ฆ

All in all, probably not as convincing as the old Windows 3D maze screensaver, but maze.py has got moxie. I give it that.

Since there’s a next-to-zero percent chance that I might find the original script again, I leave it here for you to copy and paste.

#!/usr/bin/env python

from random import choice
from sys import stdout as o
from time import sleep

cols = ['\033[30m', '\033[31m', '\033[32m', '\033[33m', '\033[34m', '\033[35m', '\033[36m', '\033[37m']
endcol = '\033[0m'
l = ''
ch = u"/\\"

while True:
	l = "%s%s" % (choice(cols), choice(ch))

Yes, it’s a python toy. There are some who say that python will drag down very old machines, and I can empathize with that. I’ve seen it happen.

Something tells me though, that if you run this on an old Pentium machine, it won’t be python that makes it seem slow. ๐Ÿ˜‰

XaoS: Off to a good start

I’m going to jump out of alphabetical order for a moment, just so I can start the new year off with a bang. Here’s XaoS, and this time, you get an actual video. Wow.

XaoS is a “fractal zoomer,” and while it does have extensive graphical support, it also can send strictly text output to a framebuffer, as you see above.

And considering that is a measly 1.6Ghz Centrino machine with a moldy-oldy ATI Mobility FireGL 9000 card, that’s not too shabby.

XaoS has about a billion options for you to play with, including a lot of preset fractals that look good either graphically or as a text-based animation.

Now I know there are some of you out there who are terrifically narrow-minded and find it hard to believe that there’s anything practical to be served by eye-candyish toys like XaoS.

But I’ll close this the same way I usually do for eye-candyish toys, and point to tmux and screen, and their options for screensavers. Oh … and Happy New Year. :mrgreen:

ekgping: Fun, with practical application

You’ll enjoy this one: Imagine a ping tool that doesn’t output relay times or network statistics … but instead delivers a small animated graph showing a regular response, timed to a single audio tone.

Kind of like an EKG meter. What would you call a text-based masterpiece like this? pingbeat? beeping? Electrocardiograping? How about just ekgping?


I like this, for being a simple idea that is well executed. (You don’t need that silly loop I typed in; I only did that so the output would be in the center of the screen and not cluttered.)

You give it an address, it behaves exactly like you would expect ping to. But the output is a smooth motion graph meter, one line deep, with the option to play a specific audio file as a tone.

Or the regular beep effect, which isn’t available in gif form. Yet. As far as I know. ๐Ÿ˜ฏ

Or you can shut it up. Which is what I ended up doing.

I can see where this would be helpful if you need to keep an eye on a flaky machine, and don’t want to keep watching numbers spin by. That regular beep would be enough to catch your attention … when it stopped.

Or if you want something clever to push into a tmux frame, or use as a kind of screensaver.

The only downside I could think of, is that it pulls in some oddball perl dependencies. There’s a chance these won’t be included in your distro (technically speaking, a lot of them came out of AUR for the Arch version), so you might have to do some work to get this going.

But it’s fun when you do. :mrgreen:

cmatrix: None the worse for wear

Here’s another founding member of the console-only club: cmatrix.


As far back as I can remember using Linux, I can remember cmatrix around in one shape or another.

At first it was just a gimmick, something cool to show all the Windows XP users, trapped in their bland existences.

I suppose it is still a little of a gimmick; after all, it’s not really doing anything as those letters and numbers trickle past.

And of course now, +/- 15 years after The Matrix hype, it’s a little clichรฉ. Not campy, just …well, it’s been done.

That doesn’t make it any less cool though.

Don’t forget there is the option to show a font more loyal to the actual screensaver used in the movie; you’ll definitely need framebuffer access, although I imagine it could be done within X too.

For my own part, this has always been more than enough:

cmatrix -u2 -sab

And wherein should one employ such a clever start command? Here, of course. ๐Ÿ™‚

clockywock: Good colors, good times

Here’s a quick and easy and fun little application: clockywock.


Tiny little screenshot there, sorry. Not that clockywock has to run in a tiny little space.

In fact, it’ll scale to just about any size, although it sometimes looks a little stretched depending on the terminal dimensions. Dali-esque, so to speak. ๐Ÿ™„

By default clockywock doesn’t run in color and the hour, minute and second hands will use different characters.

But the on-screen help and configuration are a snap to set up.

So between this and … a few players to be named at a later date, ๐Ÿ˜‰ your time display options should be covered.

How do you put them to use? With a little creativity. ๐Ÿ˜€

tbclock: Probably the best binary clock

You can take your pick of clock programs for the console; I’ve mentioned a few in past weeks that weren’t bad.

Narrow the field a little and focus on binary clocks, and tbclock is probably your best one.


Lots of options for display, colors, arrangement, hints, a stopwatch and even a simple guessing game for fun.

I like tbclock because it does everything you expect, adds a few frills to entice, and stops before it becomes something different.

A gold smilie for tbclock: ๐Ÿ˜€

snakes: Keeping with the theme

This is not a game. I think. I think it’s intended just as a distraction, or something to look at. Kind of like mrzoom from a week or so ago.


Believe it or not, that too is called “snakes.” Apparently June is snake month, not game month at Inconsolation. ๐Ÿ™„

Stefans Mezulis put that together and somehow it got relayed to me as an honorable mention.

His screenshot is probably more interesting than mine; I used the ascii version in that gif because the pipe characters don’t draw against the framebuffer for me. More’s the pity.

Like I said, this isn’t a game in the classical sense of the word. It just spins off into eternity, quite happy to run without interaction from humans.

On the other hand, it has a lot of little options that will drastically affect the results. The two on Stefans’ home page are good examples.

And so again, what use is this? Past K.Mandla has answered that question for you already. … ๐Ÿ˜‰

cclock: Exactly what its name implies

I suppose there’s only one way to introduce this. Go ahead and have a look:


cclock, by its description, is a clock for the console, written in C.

Nothing more than that. Simple and basic.

It has a few flags, to enter a monochrome mode or to adjust the refresh rate. But that’s all.

As usual, I will punctuate this post with a link to a practical use for cclock.

Because I wouldn’t want you to think this was irrelevant software. ๐Ÿ™‚