Tag Archives: ascii

When programmers have fun

Contrary to popular belief, programmers and geeks alike have a great sense of humor. As you will see in this short article, when a programmer is fed up with coding and gets loose, the results can be quite spectacular. Such programmer jokes inserted into software are often referred to as “Easter eggs”. If you’re a regular Linux user, you might already know a few Easter eggs from the apt-get or the cowsay commands, but some Easter eggs are much more imaginative.

Behold the sl (Steam Locomotive) command which, when typed in a terminal, shows an animated ASCII train crossing the console window. This could be a nice trick to confuse people who mistype the ls command intending to list the contents of the working directory (students from the INFO department for example).

sl
Nice train isn’t it?

sl is available on GitHub and was last updated in July 2014. Its author says it is both a way to “cure your bad habit of mistyping” and ‘a joke command, not useful at all”. I’m not really sure it makes you type better, but it sure makes you laugh though.

Next up in the half-useless Linux tools category is WeatherSpect, a weather application that pulls its data from the Weather Underground API and displays it as an ASCII animation (sun, snow, rain…), with the addition of random objects such as an elephant, a bunny or a horse. As if it weren’t enough already, WeatherSpect author Kirk Baucom also wrote ASCIIQuarium, a perl script simulating an aquarium in ASCII art. And as always with opensource software, ASCIIQuarium was forked into several projects, such as a live android wallpaper or a screen saver for the Windows operating system… Here’s what the original ASCIIQuarium output looks like:

asciiquarium
Underwater ASCII mess

Every bit of the animated “image” being a colored ASCII character, we see rather easily what the author had to go though in order to create this little piece of software. Some people obviously don’t have anything else to do…

NetHack, the amazing opensource Role-Playing Game from 1987

It is undeniable that video games have become immensely popular in the last decade. Be it an FPS, an MMORPG or a more casual smartphone app, lots of people play games to escape their daily routine and just have fun for a little while. The purpose of this article is to shed some light on roguelikes, a very special kind of opensource game you’ve probably never heard about.

To introduce the topic, I shall begin with a brief recap of what opensource means, and how it can benefit software development and games in particular. We’ll then look into the well-known and iconic roguelike called NetHack (which has absolutely nothing do to with hacking computers). If any of the above is relevant to you, then read on!

To begin with, what exactly is opensource? To cut a long story short, opensource (in a computer context) is a software movement born in the early eighties and whose intent is to encourage developers to share the source code of their software. By doing that, they are essentially prompting other developers to reuse and make changes to their code in order to improve it. Not only does this accelerates software development, but it also yields much better project longevity through forks. Forking allows developers to build upon existing projects with virtually no restriction, whereas commercial software is “locked” and the source code dies with the software or the platform it runs on. This obviously applies to video games too: some can’t be played today because they simply won’t run at all on modern operating systems or hardware. For these reasons, opensource appears really attractive as a lasting software development model. With this rather simplistic definition in mind, let’s move on to the flagship game of opensource UNIX RPGs:

nethack

NetHack has been around since 1987 and has been continuously updated by various contributors since its debut. Its text-only ASCII “graphics” might shock the uninitiated, but the game’s complexity is simply unmatched. Indeed, do you know of any other game where opening a tin can has a probability of greasing your hands and making you drop your weapon on the ground? I simply don’t. NetHack and similar games are called “roguelikes” because they are based on an even earlier and influential game from 1980 called Rogue. Rogue was the first computer game to feature a randomized, Fantasy-themed dungeon where death is permanent. Its turn-based and unpredictable nature allows for endless variations of strategies and experiences. Furthermore, roguelikes and NetHack in particular, are extremely hard to complete. The game has you venture through about fifty primary dungeon levels filled with monsters, traps and treasures. A player wins when he manages to get to the deepest level to fetch a special amulet, and climbs back alive to the first level. It may seem simple, yet be assured that NetHack is hardly forgiving: food is rare and you will die if you don’t eat, act against your god and you’ll be struck by thunder, or drink a city fountain dry and the guards will tear you apart… Ghosts of your dead characters from previous games can even spawn and attack you! I’ve been playing this game scarcely for more than two years now and I’ve yet to go below level fifteen. In this game you will simply die hundreds of times before ascending successfully and that’s if you don’t give up first.