image Fields of interest
Parce que j’aime cette vie, j’aimerai la mort aussi. [1]

— Rabîndranâth Tagore
L’Offrande lyrique

On this page you will find some of my works and files. Before using them please read copyright license and disclaimer of liability.

New blogs and articles

Information technology / computer programming


  • sudox (sudo for X) is  a bash script that executes commands under X in UNIX and LINUX as an arbitrary user with sudo. It provides  the necessary privileges using xauth over a pipe. I use it for example to execute firefox as  a different user with low privileges. Maybe you use sux allready. So what sux is to su, sudox is to sudo.

secbak, secrest
  • secbak and secrest are scripts for use with afio a cpio replacement. The scripts implement incremental multi-volume backups and restore. Unlike with tar, files are compressed individually and can be optionally encrypted.

Publish only PUBLIC marked subtrees
  • is a bash script that reconstructs parts of a UNIX or LINUX directory tree with symbolic links. I use it in order to publish automatically selected parts of my hard disk on a web server. Only files and directories within folders named PUBLIC are published.

lnr -s
  • lnr -s is a bash script which creates symbolic links with the same syntax then the UNIX command ln -s. Unlike ln -s it searches the shortest relative path between the source and destination and creates the link with a relative path. Most of the time symbolic links are very short in distance and used mainly to reduce redundancy. The advantage of relative symbolic links is that the whole directory can be moved without breaking the links. If you do so, please make sure that directory you want to move does not does not contain relative links pointing ourside of the moving directory.

Note taking with Asciidoctor



C / C++



Additional European circuit stencils


Java transcoder
  • Transcoderjava is a small helper tool to change the encoding of all *.java files in directory tree after having checked the encoding of the input files.

  • Transcoderjava est un petit utilitaire de transcodage. Il permet de changer le codage de tout les fichiers *.java dans une arborescence en même temps après avoir vérifié le codage des fichiers d’origine.

Java tool collection
BlueJ CNPI edition
  • BlueJ CNPI edition is a fork of the unchanged BlueJ Sources especially configured to fit our class room needs. This version requires Java 7!
    The main differences between the original and this distribution:

    1. Support for netbeans-swing applications: Open, compile and execute Netbeans-Projects directly:

    2. General support of UTF-8 and usage of utf8 in writing and reading files for all supported operating systems.

    3. Extensions Klassenkarte.jar and MainRunner.jar are packed in.

IT security

Estonian ID Card Software DigiDoc

IPv6 server support for IPv6
  • The web-server supports the Internet Protocol version 6 (IPv6). In order to access this site via IPv6 your operating system and Internet Service Provider must also support IPv6. You can test this precondition here. Having 10/10 points your IPv6 connection works fine. It depends on your system settings if IPv4 or IPv6 is used by default. The firefox addon IP6 or not shows your current connection type.

    IPv6 only networks are easy and secure. Address Family Translation (AFT) allows a gradual migration to IPv6 by providing seamless Internet experience to greenfiled IPv6-only users, accessing IPv4 Internet services. Learn about NAT64 gateway technology with this Cisco article. Some commercial products like Cisco ASR 1000 Series router run NAT64. Andrea Dainese published a step by step manual how to Connect an IPv6 only site to an IPv4 only world using the Rasperry PI and OSS to implement a NAT64 gateway.

Linux configuration files

Debian 8 Jessie configuration files
i3 window manager extensions
  • i3 is a tiling window manager for advanced Linux users. This article (pdf) presents

    • a file-manager extension,

    • an exit-mode extension and

    • a pass-through-mode extension.

    The source code of the suggested i3 extensions: /etc/i3/config.

Howtos and manuals

Debian 7 UEFI boot
Debian: mount encrypted logical volume
Linux Restena VPN
  • Connect-Linux-to-Restena-VPN-howto-2 is a German step by step manual for Linux users to connect to the Restena Virtual Private Network (VPN). It is only useful for Restena members who are living outside of Luxembourg and want to use the fichier élèves application. The obsolete Version 1 of this document in French is still available here.  

Linux Luxtrust
  • A short manual explaining the installation of the Luxembourgian Luxtrust Signing Stick on Ubuntu 09.10 Karmic Koala. It has been reported that it also covers Ubuntu 10.04 (lucid).

Redirect the sound of an application
Secure Computer Cluster Administration with SSH


Patches of various software
  • My patches of various software can be found here.


ASN.1 tiny decoder
  • ASN.1 tiny decoder is a simple and fast ASN.1 decoder without external libraries designed to parse large files.

    There is a good “Pyasn1” ASN.1 python library out there. It is quite complete, but learning how to use it is very time consuming. Furthermore Pyasn1 is not designed to parse large files. This why I wrote this tiny ASN.1 decoder. It’s design goal was to be as fast as possible (with Python). Download here.

Fast search in large CRL

Rust lang

RSA encryption implemented in Rust
  • rustlang-play-rsa is collection of functions related to RSA implemented in Rust.

    The algorithms are implemented as described on wikipedia. Please find conrete links and pseudocode samples in the source code.

    This code was written for pedagogical purposes only. Do not use it for any serious security requirements!
ASCII Art Hangman for kids
  • is a guessing game for two or more players. One player thinks of a word, phrase or sentence and the other tries to guess it by suggesting letters or numbers, within a certain number of guesses. In this version for children the computer selects a word, phrase or sentence randomly out of a word-list defined in a customisable word-list. In the course of the game Ascii-Art images - designed for children - are progressively disclosed (see documentation, pdf). The source code is hosted on GitHub

Enhance Embedded System Security With Rust
  • Article: Enhance Embedded System Security With Rust: Example of Heartbleed:
    Real-time embedded systems have to meet a combination of requirements that are in deep tension: they are expected to deliver timely results, observing strict deadlines, all using only very limited resources, computing power and energy. To this day, the most common programming language in this environment is C/C++ because of its zero-cost abstractions and fine control over memory layout. With the upcoming communication ability through network interfaces, an additional requirement gained in importance: security. Unfortunately, C/C++ supports some secure software design principles only rudimentary. Too many very severe vulnerabilities are directly related to the fact that C/C++ does not guarantee memory safety. To exemplify this, the prominent Heartbleed vulnerability is discussed in terms of causes, technical details and impact (html), (pdf). (slides).

Pedagogy / study materials

Java exercises for beginners
  • Java à l’école is a collection of Java BlueJ exercises for A-level students in French.

  • Java à l’école est un recueil d’exercices pour débutants sans connaissances d’autres langages de programmation. Contrairement à d’autres méthodes didactiques les exercices introduisent directement les bases de la programmation orientée objet en respectant le concept de programmation "Architecture Modèle/Vue/Contrôleur".

Java teachers guide
  • Java teachers guide is a short computer teachers guide how to write Java exercises. This document is in German.

  • Astuces Java pour enseignants est un ensemble de recommandations destinés aux professeurs d’informatique pour écrire des exercices en Java.

  • Java Tipps für Lehrer ist eine Sammlung von Empfehlungen und Richtlinien für Lehrer zum Erstellen von Schülerübungen. Die Tipps sind das Ergebnis einer Analyse der häufigsten Lehrerfehler beim Umstieg von der prozeduralen Programmierung zur objektorientierten Programmierung.

Oscilloscope screenshot generator
List of free school fonts
  • What computer fonts are suitable for learning handwriting in an international learning environment? The free school fonts list aims to meet the following requirements:

    • comparability with most European text books for beginners (lowest common denominator),

    • all European characters available,

    • excellent typographic quality,

    • real free font without restrictions (see licence),

    • ease of usage.

    To install and use the above fonts on your computer download the free-font-archive and follow instructions in How to use Bienchen handwriting font and How to use Deutsche Normalschrift handwriting font.

    Some fonts did not make into our final selection because they do not meet fully all our above criteria. They may be right for you: List of free alternative fonts.

  • Welche Computer Schriften eignen sich zum Erlernen des Schreibens mit einer internationalen Lernergruppe oder verbessern der Handschrift? Die Liste freier Schulschriften erfüllt die folgenden Kriterien:

    • Übereinstimmung mit den meisten europäischen Schulbüchern für Anfänger (kleinster gemeinsamer Nenner),

    • alle europäischen Zeichen verfügbar,

    • hervorragende typographische Qualität,

    • wirklich freie Schrift ohne Beschränkungen (siehe Lizenzen),

    • einfache Handhabung.

    Um die Schriften auf Ihrem Computer zu installieren, laden Sie bitte das Freie Schriften Archiv herunter und folgen den Anleitungen in How to use Bienchen handwriting font und How to use Deutsche Normalschrift handwriting font.

    Einige Schriften haben es nicht in unsere Finalauswahl geschafft, da sie nicht gänzlich alle der obigen Kriterien erfüllen. Sie könnten aber die richtige Wahl für andere Anwendungszwecke sein: Alternative Liste freier Schriften .


Transactional Analysis


Student pages

A website for my students with additional instructional materials:

  • Website for LJBM students.

  • Website for TES students.

I grant to you a worldwide non-exclusive royalty-free revocable license to:

  1. view this website and the material on this website on a computer or mobile device via a web browser;

  2. copy and store this website and the material on this website in your web browser cache memory; and

  3. print pages from this website for your own personal and non-commercial use.

Please see copyright notice inside the (source) package defining further usage rights and license.

I do not grant you any other rights in relation to this website or the material on this website. In other words, all other rights are reserved.

For the avoidance of doubt, you must not adapt, edit, change, transform, publish, republish, distribute, redistribute, broadcast, rebroadcast or show or play in public this website or the material on this website (in any form or media) without my prior written permission.

Disclaimer of liability

The material, programs and information contained on this website are for general information purposes only. You should not rely upon the material or information on the website as a basis for making any business, legal or any other decisions. Whilst I endeavour to keep the information up to date and correct, I make no representations or warranties of any kind, express or implied about the completeness, accuracy, reliability, suitability or availability with respect to the website or the information, products, services or related graphics contained on the website for any purpose. Any reliance you place on such material is therefore strictly at your own risk. I will not be liable for any false, inaccurate, inappropriate or incomplete information presented on the website.

In a nutshell: enjoy and make this world a better place ;)

Please check files for consistency referring to their sha256 message digests.

If you want to contact me try the following email address :


Note that there is a very picky spam filter so there is no guarantee that your email will reach me.

1. Rabîndranâth Tagore: L’Offrande lyrique. Because I love this life, I will love death as much. I first saw this epitaph on grave near a chapel in Clairfontaine Belgium. The grave has been taken away many years ago but the words remained in my mind.