If you like this site, see my recent campaign for collecting money for my works of fiction.

Favourite Free and Open Source Software (FOSS) of Mine

This page documents my favourite pieces of Free and open source software (FOSS). You are welcome to check these packages out, and see if they are useful to you as well.

Linux

Linux is a UNIX clone for many platforms including regular PCs. It is fast, stable, powerful and very cool.

Mageia

Mageia is my Linux distribution of choice. In the Linux world, distributions are a collection of the Linux kernel and user-land utilities and libraries in a nice packaging. Mageia is an open-source distribution with good ties into the community, which started as a fork of Mandriva Linux (which in turn used to be called “Linux Mandrake”). It is especially suitable for use on the desktop, but is also suitable for running Internet and Intranet servers.

While not as hyped as other distributions are, Mageia is very decent, and is suitable for both beginner and advanced users.

User-mode Linux

User-mode Linux is a port of the Linux kernel to run as a process on top of a normal operating system. This is very useful for virtualisation, security, and kernel development. It is now an integral part of the Linux kernel. There’s a port to Windows 32-bit available as well.

VirtualBox

A great cross-platform x86 virtual machine emulator that allows one to run virtual machines of operating systems, with graphics, networking and everything else. A complete life-saver, and it’s free and open-source.

Desktop Applications

KDE - The K Desktop Environment

KDE is an attractive and powerful desktop environment for UNIXes.

Firefox

Firefox is a cross-platform web-browser which is standards-compliant and has many powerful features.

Plug-ins for Firefox

  • Web Developer Extension
  • Site Navigation (Links) Bar - Up/Prev/Next/etc. navigation aids and other rel/rev links. Supercedes the unmaintained Link Toolbar.
  • LinkVisitor - mark links as visited or unvisited.
  • Googlebar
  • Adblock
  • Greasemonkey - allows one to attach JavaScript snippets to pages altering their behaviour.
  • Flashblock - disables all Flash applets until you explicitly click on them. Useful for getting rid of the annoying animated Flash advertisements and promos.
  • Venkman - the Mozilla JavaScript debugger - incredibly useful for debugging browser JavaScript and Mozilla chrome JavaScript.
  • Split Browser - allows the window to be split into several panes, similar to Konqueror. Spotted on Linux.com.
  • Firebug - a great development tool, that allows to edit, debug and monitor the various aspects of web-design.
  • Uppity - Provides an Up button which moves to upper levels in the sites’ URL.
  • Tab Mix Plus - enhances the Firefox tabs experience. Allows to duplicate tab, a per-tab progress bar, etc.
  • NoScript - an extension that prevents running unauthorised JavaScript, Flash, Java, etc. except from white-listed sources.

Konqueror

Konqueror is a nice web-browser and file manager for the KDE environment.

XChat

A nice IRC client for X-Windows. HexChat is a more actively maintained fork, which I now prefer.

IceWM

IceWM is a lightweight but functional window manager for X-Windows. It has been undermaintained for many years now, though.

Xfce

A lightweight desktop environment for X.

Pidgin

A nice and convenient multi-protocol instant messaging client for Linux and other platforms. Lately, I’ve been preferring to use the KDE-based Kopete.

Development

Perl

My favourite language by far. Perl is a high-level language with many powerful features and a very rapid development time. It has a very rich and comprehensive culture around it, and is good for use in many diverse areas.

GCC - the GNU Compiler Collection

A powerful, portable and reliable C/C++/other languages compiler. A must for any programmer on a UNIX system.

Vim - VI Improved

A powerful, portable editor which is very lightweight and nice.

Subversion

This is a version-control system with style. Runs on UNIXes and Windows.

GDB

A powerful, cross-platform, scriptable, and open-source command-line debugger for binary programs (C, C++, Assembly, etc.). Made debugging and fixing many hard-to-catch bugs in my C/C++ programs much easier.

Ack - “Better than Grep”

A nifty command-line utility for quickly searching source trees for information. Complements the ubiquitous grep utility.

CMake

A very good build-system for cross-platform builds, that generates makefiles or IDE project files, and allows one to compile complex projects on Windows, Mac OS X and many flavours of UNIX. Also see my page about “GNU Autohell” (= the GNU Autotools) and why you should use CMake instead.

Web Development

The Apache Web-server

A powerful, secure and reliable web-server for many platforms including UNIX and Win32.

mod_perl

A Perl subsystem for Apache, that greatly accelerates it and provides other capabilities.

Website Meta Language

WML is a powerful generator for offline HTML content. I now use it for most of my sites, including this one.

Libwww-perl (LWP)

LWP is a very powerful Perl framework for retrieving documents from the World Wide Web. It’s a must if you want to automate web processes in Perl.

cygwin

cygwin is an open-source Linux-like environment for Windows, that enables one to run many UNIX programs and libraries on top of Windows. Make using Windows much more bearable.

Improved Windows Console

The so-called “Console” is a great replacement for the dysfunctional Microsoft Windows’ console window (so-called “DOS Box”) that has tabs, allows one to have presets for several different shells and programs, is very customisable and is great for all those people who are using the command-line on windows.

And naturally, it’s also free and open-source.

Multimedia

The GIMP - The GNU Image Manipulation Program

A powerful image-processing application.

XMMS - The X Multimedia System

A WinAmp clone for X-Windows, that is better than the original. Note: I’ve lately switched to Amarok. XMMS is still useful on underpowered machines or outside KDE.

VLC

A usable, attractive, and cross-platform, media player which sports a convenient GUI.

MPlayer

A capable multimedia player that can play almost any video or audio format under the sun.

MikMod

A great player for many popular variants of MOD files with excellent quality, wonderful portability, and very good performance.

Inkscape

A very nice cross-platform vector graphics program.

Illiminable Ogg Directshow Filters for Free Codecs for Windows Media Player (WMP), etc.

These are filters to enable playing of the Ogg Vorbis file formats and other open codecs in Microsoft’s Windows Media Player. All the other filters I found were out-of-date, required hackish tweaks, and even did not play the files well or supported visualization. Illiminable’s on the other hand works well out of the box.

youtube-dl

I often get referred to or find videos on YouTube, but they are relatively inaccessible, because of my Linux configuration. However, using youtube-dl, I can easily download the video files to my home computer, where I can conveniently play them using such media players as MPlayer or VLC, and also keep them on my hard disk for posterity. Highly recommended.

Amarok

Amarok is a superb music player for the KDE desktop environment. It’s the best music player I’ve encountered so far with many nice features, and very good customisability. Also see what I wrote about it on my blog.

Kflickr

A wonderful program for KDE for uploading photos to Flickr. Best I’ve seen and it actually works flawlessly.

Office

LaTeX

A high-quality type-setting system.

DocBook

A document preparation system that can create HTML, PDF, Word RTF - all from the same source.

OpenOffice.org

A feature-rich cross-platform office suite.

Games

PySol Fan Club Edition (PySolFC)

A comprehensive, and feature-rich collection of Solitaire games. It’s written in Python and so is cross-platform.

Hex-a-hop

An open-source puzzle game based on hexagonal tiles. Great graphics and great playability.

Networking

KMail

A powerful and easy-to-use mail client for the KDE environment. Has excellent internationalization.

SpamAssassin

A very nice Junk E-mail filtering mechanism that makes reading the inbox much more enjoyable.

wget

A command-line utility for fetching URLs and documents from the Internet through various protocols. Very powerful and feature-rich.

cURL

Another command-line URL fetcher which has proven useful. Also a library for use within your C programs.

Mail::Box

A set of Perl modules that enables one to manage the E-mail folders, prune old messages, etc. Very very nice, but kinda slow.

procmail

A useful UNIX utility that can be used to sort and process incoming E-mail messages.

rsync

A feature-rich tool for incremental remote transfer of files.

Wireshark

A graphical tool for recording, analysing and displaying network conversations. Very useful for debugging networking protocols and for other purposes.

Clam AntiVirus (ClamAV)

ClamAV is an open source anti-virus that can help filter out email messages containing viruses that are sent to you. It is regularly updated.

QClam

If you’re unfortunate enough to use qmail for some of your mail accounts, and still wish to filter out all the viruses that arrive at your account, then Qclam may be the right solution for you. QClam is a program that feeds the message to ClamAV, and reports the verdict in a way that dot-qmail files can understand.

OpenSSH

OpenSSH, which is a free implementation of the SSH protocol, allows one to establish secure and authenticated connections to a different computer over the network. It allows one to login and execute remote commands, and transfer files from one host to another.

TightVNC

VNC is a cross-platform remote desktop utility that enables viewing a desktop on a different machine from a different networked computer. It is very easy to set up. TightVNC is a popular open-source implementation of it. Also of interest is UltraVNC.

rdesktop

A Windows’ remote desktop protocol client for UNIXes that enables one to work on a remote Windows computer from them.

System

tmux

A terminal multiplexer for UNIX. I use it to run shell processes in the background where they won’t be interrupted, but it allows for much more.

htop

An improved top-like process viewer for Linux with better usability.

GNU Parallel

Easy command-line parallelisation.

Security

Gringotts

Gringotts allows one to keep password and other sensitive information encrypted. It has a Gtk+ interface. Note: while it was originated by Germano Rizzo, I am Gringotts’ current maintainer.

Other Lists

Here are some other high-quality lists of open-source software on the Web: