My Simple Screenshot Tool

At the desire of a friend I created this little screenshot app with a number of benefits. Among them is the ease of use and the ability to take a series of multiple screenshots with a specified delay in between.


A Convenient Game Launcher for Linux

Gaming on Linux? Ever wanted to get rid of all the clutter and want one unified, easily extensible and customizable, yet ultra-lightweight launcher for your games, that does all the abstraction for you? Forget about your Wine prefixes or PlayOnLinux drives, Steam versions, nVidia Optimus and Bumblebee and all the troubles related to them…


Pacman: Reinstall All Script

Here comes a simple solution to all kinds of annoying problems: reinstall all packages that you installed with pacman. Repair your Arch Linux, Manjaro, Antergos and more now!


Communication Networks Basics

This post is aimed to summarize the lecture “Communication Networks” in the winter semester 2016/2017. As a basic lecture, it should give newcomers a fundamental understanding of how communication networks, such as the Internet work.

This work is currently on hold and will be continued at a later point in time.

Operating Systems Basics

This post is aimed to summarize the lecture “Operating Systems” in the winter semester 2016/2017. As a basic lecture, it should give newcomers a fundamental understanding of how modern operating systems work. The main sources are “Modern Operatings Systems” by Andrew Tanenbaum and “Betriebssysteme”, the script complementing the lecture given by Prof. Lankes (RWTH ACS).

The work on this article has been suspended indefinetly.

C Basics

Introducing C to beginners in a general sense is this post’s goal. Many other fashionable programming languages have a lot in common with C, such as they share the great deals of structure and syntax with C. Excerpting some headings from the post:

  • What is C?
  • Variables
  • Pointers
  • Operators
  • Control Structures
  • Arrays and Structs
  • Functions
  • Program Analysis

Programming Best Practices

For any given problem there are literally infinite possibilities to solve it. However, there are good solutions and terrible solutions to each problem. My objective here is to provide a few general techniques to improve any program or in a more general sense any solution. The article aims to be written in such a general manner, that the provided rules can also be applied in numerous other real-life situations completely unrelated to programming.

Disclaimer: perpetual work in progress and potentially prone to subjectivity

This post has a general nature, it is neither claiming to be complete nor to be applicable in every situation. Furthermore, it reflects my current conceptual understanding of programming and therefore is prone to errors and a perpetual work in progress. Enjoy!


Merkblatt: Logische Schaltungen

Ein Merkblatt zu logischen Schaltungen, passend zur Vorlesung “Grundgebiete der Informatik 2 – Prinzipien des Digitalrechners”.

  • Gatter, Schaltnetz, Schaltkette
  • Schaltnetze: Halbaddierer und Volladdierer
  • Schaltketten: Multiplexer und Demultiplexer
  • Flipflops: RS-Flipflop, D-Flipflop, JK-Flipflop
  • Programmierbare Logik

Merkblatt: Information und Codierung

Ein Merkblatt zum Thema Information und Codierung, passend zur Vorlesung “Grundgebiete der Informatik 2 – Prinzipien des Digitalrechners”.

  • Grundbegriffe zur Information
  • Blockcode und Optimalcodes
  • Fanocode und Huffmann-Algorithmus
  • Redundanz, Hammingdistanz und Parität

Merkblatt: Minimierung boolescher Funktionen

Ein Merkblatt zu booleschen Funktionen und deren Minimierung, begleitend zur Vorlesung “Grundgebiete der Informatik 2 – Prinzipien des Digitalrechners”

  • Gesetze der Schaltungsalgebra
  • Boolesche Funktionen
  • Disjunktive und konkunktive Normalform
  • Minimiermung boolescher Funktionen
    • Karnaugh-Veitch Diagramme
    • Quine-McCluskey Verfahren