Quick Tip: Repair UEFI

Upon flashing a new image to my motherboard something went wrong. My UEFI boot entries were gone and thus I was not able to boot anymore. In order to fix this I manually added a boot entry again and here’s how to do it.


Cross-Platform LAN-Party 101 Guide

This guide aims at putting you into the position of conducting a LAN party at home. Contrary to what one might think a successful cross-platform LAN-party needs some preparation or it might end up in a horrible mess. We assume that the reader has some knowledge about their operating system, i.e. Windows, Linux or Mac OS X.
The exact commands you need to do may differ slightly depending on your distro or OS version. Since this is a practical guide we will go through the topic systematically by splitting it up into a preparatory part (i.e. what you need to do before your guests come), a carry-it-out part (i.e. what to do when your guests are there) and a troubleshooting part (i.e. what you should do if something doesn’t work out-of-the-box).

Note: This guide will probably be extended each time the author is hosting another LAN party, especially the troubleshooting section


Solution Word Unscrambler (Python)

I have created a little tool that helps you unscramble all of your solution words that you might get from e.g. solving crossword riddles. The unscrambler checks whether each unique permutation is contained in the aspell dictionary of the specified language, in this case the German language. If you want to check whether your word is in the American English dictionary simply call unscramble(yourword,lang="en_US") instead. Enjoy!


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!