I finally decided to set up a real router in front of my router. The main use cases, I wanted to cover were the following: * nice local domain names: Since I run a FritzBox (which is a pretty common plastic router in Germany), all local host names (sometimes!) get suffixed by .fritz.box. This domain cannot be configured to .something.awesome and the whole setup is quite in-transparent, that I could not figure out, in which cases, the suffix is mandatory when resolving host names. * play around with [snort](https://www.snort.org/). * bandwidth monitoring: to replace the current workflow of randomly killing machines, when the internet connection is slow and one needs bandwidth to do something important™. In this blog post I will cover nothing of this. Instead, I'll explain, how I set up a RaspberryPi to enable me to do all the above in the future. Do you want to know more?

Just another quick Zabbix related post: Since WordPress is known to be a remote shell with the extra feature of being a web blog[1], it is a good idea, to at least keep your WordPress installations up-to-date. In the currently ongoing effort to replace myself with a more or less clever collection of servers, VMs and shell scripts, I decided to use Zabbix to track the most recent WordPress version and get notifications, when it changes. If you want to do the same, keep reading!
  1. http://www.bash.org/?949214 [back]

As you may have noticed: the folk at this blog recently started to play around with FreeBSD (mainly as FreeNAS jails). And since I recently started to <3 Zabbix. Here is an explanation on how to compile and use the agent on such a jail. Do you want to know more?

I set up monit, a utility for monitoring services on a Unix system. My concrete use case is a FreeBSD machine, that runs "N2N Edge", a Peer-to-peer (P2P) virtual private network (VPN) software. monit pretty much automates the "have you tried turning it off and on again?" process. Configurations like the following illustrate this:
check process myproc
        matching "myproc"
        start program = "/etc/init.d/myprocstart"
        stop program = "/usr/bin/killall myproc"
        if cpu usage > 95% for 10 cycles then restart
Do you want to know more?

TaskWarrior is my tool of choice to manage my list of next actions. I like it because the data is as open as it can be: it is stored as plain-text, there are many different tools to access it and TaskWarrior itself is open source. To access the same data on different devices, an easy solution is, to just copy the TaskWarrior database over to the other devices. Software like OwnCloud, Dropbox or Super Flexible File Synchronizer (this is not a recommendation) can help automate the process. With the configuration variable data.location one can control, which folder TaskWarrior uses to read and write the data and as long as you don't go crazy and execute TaskWarrior faster then you sync, everything works quite well (in case you end up with conflicts you could always use the merge command and hope for the best). A very important use case, that was not easy to cover with this was my smartphone: My solution always was, to SSH to a server, where TaskWarrior is installed and use it there. But since I seem to be one of very very few people in the world, that would prefer a hardware QWERTY keyboard on their smartphone, there are no decent options, that make SSH user friendly enough to use it on a daily basis (yes, I tried stuff like this but quickly ran out of hands to handle it on the bus). Do you want to know more?

I was promised (and am paying for) a certain bandwidth $X$. But sites like http://www.speedtest.net/ indicated a bandwidth $Y$ (much smaller than $X$). To gather more empirical data over time and to make sure, that I am not hallucinating, I installed a Zabbix server on a Raspberry Pi[1] and set up a monitoring for my Fritz!Box[2]. The data for the item "Fritz!Box DSL-Downstream" clearly indicated that $Y$ was around 6 Mbps. So I called my ISP and they ultimately sent the tech-guy to the rescue: He was at my home around 8:30 in the morning and measured the bandwidth with a small magical device. First at the basement where the cable enters the house and then at my office on the first floor. To my surprise, both measurements indicated a much bigger number $Y'$ (which was bigger than $Y$ and looks much more like $X$). He also left me under the impression, that everything was fine with my internet connection the whole time, which I might have believed. But: netcologne-zabbix-bandwidth Note the time, when something changed! I rest my case. He doesn't have magic hands. He cheated!
  1. https://www.zabbix.org/wiki/Zabbix_on_the_Raspberry_Pi_%28OS_Raspbian%29 [back]
  2. http://znil.net/index.php?title=FritzBox_mit_Zabbix_%C3%BCberwachen_HowTo_mit_Template [back]

Since everyone now uses TextSecure (no, really, you should switch too!), everything close to a TextSecure desktop client is not finished enough and I want to type messages from my computer (in the old SMS ages, I did this with MyPhoneExplorer), I decided to remote control my Android device. The setup is straight forward (if you already have root privileges on your device): * Install a VNC-Client for Windows (for example RealVNC) * Install a VNC-Server for Android (for example droid VNC server) * Go through the settings of the VNC-Server For some reason I cannot connect from my Computer to the Phone, but "Reverse Connection" works like a charm (don't forget to start the VNC Viewer in listening mode ... as ... some friend of mine did). Edit: And after a restart of my phone, the normal direction also works.

A lot of people are in the situation where they want to use more than one Dropbox account on one (windows) machine (for whatever reason). The default way of doing this is the following: * create a new local user account * log in as that user and install Dropbox * log back in as the default user and use something like psexec to execute the installed Dropbox as the other user account while being logged in as default user To automate this process, I wrote the following script that also takes care of cosmetics like "hiding the newly created user from the login screen". Do you want to know more?

Hetzner has a webinterface to manage DNS zonefiles. Since their API does not support the management of zonefiles I decided to write a small python script that does the job[1]. You can download it on github (use it at your own risk and read the code if you want to be sure). (more…)
  1. There actually is a perl script that claims to do the same but it has the (long expired) "session id" hard coded I think. [back]

Meine Mission: Die App Withings Health Mate für das Withing Pulse auf meinem Motorola Milestone 2 zum laufen bringen. Zeitansatz: Der erste Weihnachtsfeiertag Status: 23:56 und erfolgreich. Möchtest du mehr wissen?

Finally there is an official way of setting a text file as your Desktop Background: Windows Sysinternals BgInfo. This tool can show a lot of information about your system but may also show the contents of a Textfile: Press the button Custom... on the right and then New.... There you may select Contents of a file and include a path to the text file. After you saved the BfInfo config file somewhere on your system, you can call BgInfo in the following way to update the background image:
bginfo c:\System\config\bginfo.bgi /timer:0
This may be useful to show log files that you want to keep an eye on or the shadowfile of your favorite TaskWarrior report.

There are scripts to enable shell completion in TaskWarrior (e.g. for projects and tags). Since I use cygwin with mintty this one was suitable for me. I added the lines
complete -o nospace -F _task t
complete -o nospace -F _task task
complete -o nospace -F _task ta
at the bottom though to support the shortcuts t and ta.

The Eisenhower Method is based on the simple understanding that urgency and importance are not the same (see for example The Eisenhower Method with a picture of the "matrix" at Wikipedia). The goal of this post is to implement it with TaskWarrior. Do you want to know more?