Writings <-


Evolutionary Algorithm: Evolving "Hello, World!"

Evolutionary Algorithms employ evolution as found in nature to converge on a preset target state. Candidates are bred and mutated, after which their fitness is determined. This fitness determines their chances of reproducing in the next generation. This article examines Evolutionary Algorithms without any prior knowledge of the subject.

Published in Hacker Monthly, Issue 18 November 2011.

HTML PDF ePub AsciiDoc

(Finite-) State Machines in Practice

A (Finite-) State Machine is a method of determining output by reading input and switching the state of the machine (computer program). Depending on the type of State Machine (more on this later), the state of the machine is changed by looking at the current state, sometimes in combination with looking at the input. This article explores practical implementations of State Machines using the Python programming language.

HTML PDF ePub AsciiDoc

Encodings in Python

There is a lot of information on the Internet about how encodings (especially Unicode) work, but there is little practical information available on when and how to deal with them from a developer's view-point. This article covers a small amount of theory, then proceeds to describe when we need to deal with encodings in our program and finally gives pratical pointers on how to properly deal with encodings in Python.


Easy PEAR package creation

Creating a PEAR package can be a bit of a daunting job. Fortunately there are tools to make your job much easier. This article is a guide to creating and distributing your own PEAR package in an easy way.

HTML PDF ePub AsciiDoc

Dependency Resolving Algorithm

Suppose we have five objects which all depend on some of the other objects. The objects could be anything, but in this case let's say they're very simple software packages (no minimal versions, etc) that depend on other packages which must be installed first. How does one find the right order of installing the packages? This article describes an easy dependency resolving algorithm in Python.

HTML PDF ePub AsciiDoc

Weighted Random Distribution

An article that explores various different methods of approaching Weighted Random Distribution: Making random selections from a set where some items should be picked more often than others.

HTML PDF ePub AsciiDoc

Quick guide to GDB Debugging

GDB, the GNU Debugger is a very powerful commandline debugging client. It does, however, have quite a steep learning curve. This tutorial will hopefully get you aquainted with GDB.

HTML PDF ePub AsciiDoc

IPython - Interactive Python Shell: An introduction

Python has an interactive shell, which you can start by simply starting python. This is a nice and very powerful way of using Python, but it's a bit limited. So you might want to check out IPython.

IPython is also an interactive Python shell, but with lot's of stuff added, such as tab completion, colors, dynamic object introspection, sessions, command history, etc. This article gives you a quick introduction into the world of IPython bliss.

HTML PDF ePub AsciiDoc

CherryPy on Apache2 with mod_python

This article shows how to serve a CherryPy application through both Apache mod_python and through the built-in web server.

HTML PDF ePub AsciiDoc

Really quick guide to DocBook

DocBook is a standard for creating, mostly technical, documents. DocBook's great advantage lies in the fact that it allows you to convert one source format into multiple target formats. I.e. one SGML document can be converted into HTML, Postscript, PDF, RTF, etc. This document will briefly touch upon a number of subjects having to do with DocBook. It is intended for people whom wish to get started with DocBook but aren't willing to read whole books on the subject.


Systems Administration

SSH Tips and Tricks

SSH is capable of more than you'd think! This article describes some of the lesser known features and configuration options. It covers authentication, authorization, tunnels and proxies, file transfer and more.

HTML PDF ePub AsciiDoc

Apache, FastCGI and Python

This document describes FastCGI, how to set up Apache's FastCGI module, and how to hook it up to a simple Python script.

HTML PDF ePub AsciiDoc

BoxBackup setup on Debian

BoxBackup is an online remote backup tool for Unix systems (BSDs, Linux, MacOSX). It is robust, secure, low on resources and can perform both in continues backup mode and snapshotting. This article will describe how to set up a BoxBackup server and client on Debian and Ubuntu machines.

HTML PDF ePub AsciiDoc

Service Access Control

When you add a user to your Unix system, it automatically gets access to every service: FTP, SSH, Pop, Email, etc. That may not be what you want. This article describes a way, using PAM, in which you can limit services on a per-user basis.


Exim4 virtual host wildcard delivery

Updated version of the Virtual Host wildcard delivery document for Exim4.

HTML PDF ePub AsciiDoc

Exim virtual host wildcard delivery

Notice: This document is outdated. Check above for a version for Exim4.

I spent a lot of time figuring out how I could have all mail which didn't have a proper/existing recipient get sent to a particular user using Exim. I also wanted to be able to specify a different recipient for each virtual domain. In this document I will explain how I made it work.



This article is about trickle, a user space bandwidth shaper.

Published on Debian Package A Day on May 30th, 2007.


MMV: Mass moving and renaming files.

This article is about mmv, a tool for mass renaming, moving and copying of files.

Published on Debian Package A Day on June 13th, 2007.


Simple Revision Control with RCS

RCS has been around since at least 1982, and has since been deprecated by CVS, Subversion and the various other centralized and decentralized versioning systems. It is however perfectly suited for keeping revision histories of single or a small collection of files. This is a simple guide to RCS.

HTML PDF ePub AsciiDoc


EdgeWorld Strategy Guide

EdgeWorld is an online multiplayer Semi-Real Time Strategy game that can be played through Google+ and Facebook. This is a strategy and reference guide for new players as well as more advanced players. It contains tips and tricks on Zoot's Loot, attacking and defending, base layout, vulnerabilities in Faction bases and a lot more.

HTML PDF ePub AsciiDoc

BitchX Tutorial

Dissatisfied with the current documentation covering BitchX, I decided to start my own one. It was meant as a newbie guide to BitchX and as a reference for more experienced users. I never finished it, because I found a better irc client.


Stopping spam

A little article I wrote to educate people on how to stop spam from reaching their inboxes. It's working wonders for me, Mike!


Quick References

MySQL SQL Syntax Quick Reference


HTML PDF OpenOffice Writer

Readline CheatSheet

Readline is a library which provides a common input method. Many Unix programs use or emulate the library and its keystrokes. Amongst these are Emacs, Bash (by default) and Gnome. In these programs common keystrokes all give the same behaviour. For instance, pressing Control-A will move the cursor to the beginning of the line. This cheatsheet provides an overview of the keystrokes that work in most of the programs using or emulating Readline.

PDF OpenOffice Writer
Copyright © Ferry Boender, 2003 - 2012 Edit Info