All Posts

Note taking with Pandoc

Markup languages like Markdown, ReStructuredText, textile, txt2tags or mediawiki are perfectly suited for fast note taking. Type your notes with your favorite editor, chose your favorite markup language [1] and view them with Chromium, Chrome or Firefox [2].

Read more ...


Java at school / Java à l’école

Java at school / Java à l’école is a collection of self-learning Java exercises in French for A-level students.

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”.

Read more ...


Tiny and fast ASN.1 decoder in Python

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

Another widely used library for encoding and decoding ASN.1 in python is Pyasn1. This implementation covers many aspects of ASN.1, but the API is very complex and hard to learn. 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 2). [1]

Read more ...


Reverse SSH-tunnel

Accessing your home server from outside your local network is usually done by forwarding a port of your server through the router. This note describes a different approach allowing to establish a peer-to-peer connection between hosts on different private networks without having access to the router.

Read more ...


Redirecting an audio stream with aloop

This manual shows how to record the output of Windows applications using wine, the snd-aloop kernel module and recordMyDesktop. [1]

The snd-aloop module is very useful when you need to record other sound sources then your microphone. Simply connect the “noisi” application to the first sound loopback devices provided by snd-aloop and the screen recorder to the second.

Read more ...


Install Adobe-Air Applications in Wine

Many older educational study materials do only support Windows. For example the German editor Hüber produced many of its language programs with Adobe AIR. Unfortunately Adobe abandoned AIR for Linux a long time ago. Since then there was no way to run Adobe AIR applications on Linux machines. The improvements in wine 1.8 together with some wine-tricks now allows Adobe AIR applications to run with wine. This note explains the setup.

Read more online or download a pdf-rendition of the documentation.

Read more ...


i3 window manager extensions

i3 is a tiling window manager for advanced Linux users. This note introduces some handy extensions to i3:

a file-manager extension with a proper workflow,

an exit-mode extension and

a pass-through-mode extension.

Read more ...


Secure Computer Cluster Administration with SSH

This article compares the SSH-cluster-tools parallel-ssh, clusterssh and clustershell. SSH-cluster-tools are handy to execute shell-commands on a group of computers in parallel.

Read more online or download a pdf-rendition of the documentation.

Read more ...


ASCII Art Hangman for Kids

Hangman is a paper and pencil 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 configuration file. In the course of the game ASCII-Art images - designed for children - are progressively disclosed. There are 10 built in ASCII-Art images from which one is chosen randomly at the beginning of the game. Alternatively own ASCII-Art can be provided in the configuration file.

Read more online or download a pdf-rendition of the documentation.

Download the binaries for Windows and Linux here.

The source code is hosted on Github.

Read more ...


Note taking with Asciidoctor

This project is discontinued. Please use pandoc-notetaking instead. The code of pandoc-notetakting is generic, works with most markup languages (including asciidoc) and can optionally use pandoc as renderer.

Read more ...


Switch Debian from legacy to UEFI boot mode

This note explains how to switch a legacy boot Debian/Ubuntu system into a UEFI boot system. Typical use case:

switch a legacy boot installation into an UEFI one,

reinstall a broken UEFI boot loader on Debian 7, Debian 8 or Debian 9.

Read more ...


Set up an encrypted NAS on Odroid-C2 or Rasbperry 3 with OpenMediaVault

This note explains how to set up a cheap Raid 1 NAS with an Odroid or Rasbperry board and two USB-harddisks using OpenMediaVault. Only very cheap and largely available hardware components are used. When very high availability is required it is recommended to hold available a second Oroid/Rasbperry board with a mirrored SD-card containing the NAS operating system. In this way the system has no single point of failure.

Read more ...


Embedded System Security with Rust

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.

Read more ...


Mitigate the Devastating Effects of Crime Economy Through Eradicating Bitcoin

This note first analysis the preconditions for a successful regulation policy on new information technologies. We explain how the new crime economy, based on anonymous division of labour, works. By going back in history we understand that controlling the money flow is the key to mitigate organized crime. Applied to our generation the author argues, that the most efficient way to fight against this new age of crime economy is to eradicate Bitcoin by prohibiting mining.

Read more ...


Forensic-Tool Development with Rust

Within the framework of this study the suitability of the Rust ecosystem for forensic tool development was evaluated. As case study, the tool Strings­ext was developed. Starting from analysing the specific requirements of forensic software in general and those of the present case study, all stages of the software development life-cycle have been executed, up to the first production release. Strings­ext is a reimplementation and enhancement of the GNU-strings tool, a widely used program in forensic investigations. Strings­ext recognizes Cyrillic, CJKV characters and other scripts in all supported multi-byte-encodings while GNU-strings fails in finding these in UTF-16 and other encodings.

Read more ...


Stringsext

stringsext is a Unicode enhancement of the GNU strings tool with additional functionalities: stringsext recognizes Cyrillic, CJKV characters and other scripts in all supported multi-byte-encodings, while GNU strings fails in finding any of these scripts in UTF-16 and many other encodings.

Read more ...


Note taking with reStructuredText

This project is discontinued. Please use pandoc-notetaking instead. The code of pandoc-notetakting is generic, works with most markup languages (including asciidoc) and can optionally use pandoc as renderer.

Read more ...


Learn handwriting - School fonts for primary

Handwriting skills are still as important: most of the exams at university are held with pen and paper and still many companies in Europe ask for a handwritten motivation letter as a first selection criteria.

Our research has shown that all common beginner workbooks used in different European languages refer to the same linear-Antiqua font. You can find this font in this package under the name FibelNordTT which is the official TES font to be used for all worksheets in Nursery and in P1-P2 Primary. Alternatively the fonts Grundschrift and Patrick Hand can be used.

Choosing a common cursive handwriting font was a longer process: Although all European cursive handwriting traditions are based either on Traditional Latin Cursive or Simplyfied Latin Cursive (SAS) there are important local divergences. Thus our choice had been a compromise not satisfying everybody at 100% but fulfilling the best our criteria.

Read more ...


Transaktionsanalyse im Schulalltag

In der vorliegenden Arbeit werden ausgewählte, theoretische Grundlagen der Transaktionsanalyse wie die Struktur- und Funktionsmodelle der menschlichen Persönlichkeit erarbeitet und vorgestellt. Ausgehend von den Originalschriften Bernes wird die Weiterentwicklung der Modelle verfolgt und diskutiert sowie unzulässige Vereinfachungen untersucht. Die Modelle und Verfahren werden im Hinblick ihre Anwendbarkeit im luxemburgischen Schulsystem beleuchtet und durch konkrete Anwendungsbeispiele aus der Schule ergänzt.

Read more ...