How to bootstrap your Zsh config with zplug

Recently, I spent some (probably too much) time tweaking my Zsh configuration. The results of my efforts are the three Zsh plugins wbase.zsh, git-prompt.zsh, vi-mode.zsh that are now available for anyone. In this post I will explain how you can use the plugin manager zplug together with my plugins to bootstrap your own config. One note before we start: for the best experience, check that your terminal supports 256 colors or more. You can do that with the tput colors command.

Go to full article
July 22, 2019

Speeding up Scapy

A few weeks ago I revisited the DNS cache poisoning attack discovered by Dan Kaminsky in 2008. Implementing the attack requires some fairly low-level manipulation of DNS packets. Fortunately, we have Scapy, which makes packet manipulation easy and accessible from Python. But at first the performance of my script was so bad that I could not carry out the attack (maybe I just never waited long enough). In this post I want to record my journey that led to a faster and faster Scapy script.

Go to full article
March 22, 2019

Control brightness of external monitors on Linux

Until now I only knew the convenient feature from my laptop, where I can simply press a hotkey to adjust the brightness of the built in screen. But what about external monitors? Can I adjust the brightness without fiddling with the on-screen menu?

Go to full article
October 9, 2018

Install Termite's terminfo

On many systems Termite’s terminfo is not available by default. That’s a problem since you cannot start ncurses apps, when the terminfo is missing. I usually run into this problem when I try to ssh into a newly installed machine. Here is a one-liner to fix the issue (you have to run this command on the remote, not you local machine!).

Go to full article
November 4, 2017

Convert legacy Rofi themes

Rofi is a window switcher, application launcher and dmenu replacement, which integrates nicely with tiling window managers. In versions 1.3.x and before themes were read from X resources. The recent upgrade to version 1.4.2 broke my custom Arc-Dark inspired theme. Here is how to migrate legacy themes to the new format:

rofi -config /path/to/old/themefile -dump-theme > theme.rasi

Go to full article
October 24, 2017

Don't forget to clean your pacman cache!

Arch Linux’ package manager pacman stores all downloaded packages in /var/cache/pacman/pkg. This cache does not get cleaned automatically and pacman keeps adding new archives with every single system update. If you forget about the pacman cache for a couple of months it takes up more and more space. I recently freed over 12GB on my SSD by running the cleanup commands listed below.

Go to full article
March 26, 2017

VPN with tinc

I finally solved the problem that I could not access my home computer, when I am not at home. In many cases the easiest solution is to forward a port on the home router and run a SSH daemon on the home computer. However, it is not possible for me to forward ports to the public internet. I got around this issue by setting up a Virtual Private Network (VPN) using the tinc VPN daemon. tinc is one of many VPN solutions available on GNU/Linux. It is simple and easy to set up, especially when comparing it to OpenVPN, which has an enormous amount of features and configuration options.

Go to full article
September 14, 2016

Bookmarks with ownCloud and Vimperator

I recently added the Bookmarks app to my ownCloud installation. This app keeps a simple list of bookmarks synced across my computers. The Bookmarks app provides a bookmarklet to add new bookmarks easily. But there is a problem with using the bookmarklet: I have to click on it! And therefore I have to display the bookmarks bar or search for the bookmarklet in the bookmarks menu. I don’t like both approaches for following reasons: The bookmark bar eats too much space on my small notebook screen and searching for the bookmarklet in the menu takes too long.

Go to full article
May 23, 2016

Under Construction

Hi there, you found my blog 😀 . It is still under heavy construction. See you soon!

May 22, 2016