How to install and configure CherryMusic on a Debian Wheezy (headless) server


This guide explains how to correctly — and more importantly cleanly — install CherryMusic on a (headless) server running Debian Wheezy — without polluting the operating system in any way. For Arch Linux or a more generic installation see the CherryMusic Arch Linux wiki page and CherryMusic’s own wiki on GitHub.

Continue reading

The “Matrix Code” in your linux terminal using python and curses

Everybody knows the code on the screens in the movie the matrix. You can see it for example when the character “cypher” talks to “neo” somewhen in the night, and the green letters fall down on those second-hand dell screens behind them. Funky. I want that too.


I’ve written a python program that uses curses to create a similar looking animation and just now cleaned up the code a bit and made sure it runs in python 2 and 3. You can get the source code on github and there’s a screenshot and a short explaination after the break…

Continue reading

Indexing large tar files for fast access using python

I recently needed to get some data out of a large tar file, about 5gb in size, that I didn’t want to extract, as it contained many thousands of small files. Unfortunately the tar format was not designed to be indexed, since it was meant for backups on magnetic tapes (tar stands for tape archive). The gnu tar has a command for retrieving single files, but it needs to go through the whole tar each time, which was just too slow.

So I decided to write a little tool, that would index all files inside the archive and write that index to another file. Now I can access each file within the tar in just a second, instead of 15 minutes. Introducing the tarindexer!

UPDATE: The project is now up on github under GPL v3

Continue reading

Poor man’s DynDNS – A PHP solution

I’m running a Thin-Client as a home server and sometimes I need access to some files at home. Since those no-ip services didn’t prove that reliable in the past, I decided to implement a DynDNS substitute in PHP.

The concept is quite simple: Let the little server at home call a PHP script somewhere on a “big” Server that has a static IP. The big server then writes the IP to a file, so it can be read from anywhere. There are two scripts that have to reside on the big server: an index.php, which reads and echoes the IP, that was recorded, and another script in a .htaccess protected folder, which is able to write the IP of the home server to a file.

Continue reading

RAID5-Server to hold all your data – the NAS alternative with software RAID

This was an old project of mine. A few years ago I had a huge load of data comming in (~4 TiB) and the amount of storage I needed suddenly more than dubbled. Until then I was using two 1.5 TB HDDs which I mirrored by hand using rsync, because I’m paranoid of loosing data. It was annoying to always copy all data to each disk to have redundancy – and certainly not a smart solution. Now that data wouldn’t fit onto the two disks anyway, so it was time to think of a new solution. I had enough of wasting my time with copying files from one hard drive to another.

Continue reading

Software keystoning with mplayer

Some years ago I built a projector, using a overhead prjector and a TFT, as most of you readers know them already. But I never did overcome the problem of keystoning. I know that you can tilt one of the lenses, but with most DIY builds this can be a quite frustrating procedure.

So after many years of looking for a solution thats easy to use, especially because I don’t want that ugly projector to keep standing in the middle of my living room and I always move it to one corner after using it. That means that i have to do the keystone calibration each and everytime I want to use it.

The solution: mplayer already has a perspective correction video filter feature included

Continue reading