Lego Mindstorms RCX 1.0

Date:2015-01-16 13:24:00

I had a, probably around 10 to 15 year old, box with a Lego Mindstorms RCX 1.0 sitting in my basement. I thought I could not use it anymore because the control tower needs a serial connection and I do not own a computer with a serial connection anymore. However, recently a friend told me that there are serial to USB adapters and that they even work nicely under Linux :-) He recommended the Digitus USB to Serial DB9 adapter and I followed that advise. The adapter cost me around 11 EUR. But I do not know if there are other, cheaper, better, ... adapters. On my Debian Wheezy I had nothing to do than plugin it in. The kernel recognised it immediately and loaded all needed drivers. Now, I needed a compiler to run some code on the RCX. My fried recommended Bricx Command Center 3.3. However, that the program seems not to exist for Debian. But their webpage forwarded me to the brickOS project. Their compiler seems to be dead since 2004 but surprisingly there are Debian packages for it:
# aptitude install brickos brickos-doc
My first try to use brickos failed but that was because the contacts in my RCX and the tower were corroded. Probably because of some battery leakage years ago. I was able to polish them clean using sand paper. After the installation and after I plugged the (cleaned) tower in and started the RCX I was able to upload the brickOS operating system to the RCX:
$ sudo chmod 666 /dev/ttyUSB0
$ export RCXTTY=/dev/ttyUSB0
$ firmdl3 /usr/lib/brickos/brickOS.srec
I did not read much documentation, but I assembled my first program using the demo programs shipped with the brickOS package. They can be found in:
/usr/share/doc/brickos/examples/demo/
Those demos included two makefiles. One for C and one for C++ code. I used the C++ Makefile to compile my own code and uploaded it to the RCX using:
dll NameOfYourFile.lx
And now a little rover is running around in my flat :-)

Installing a ATI Radeon Sapphire HD 7850 on Debian Squeeze

Date:2013-02-18 12:39:00

Yesterday, I tried in a long session to install an ATI Radeon Sapphire HD 7850 graphics card on a Debian 6.0 machine. I tried to follow these instructions: But all I got where some error messages in the log files and a black screen with a blinking dash. I also tried the open source driver that was pre installed in Debian and the one from backports. But they all failed. The problem seemed to be that they where to old for my graphics card.

In the end I tried to install the ATI driver named Catalyst manually without apt-get. One of the how to claimed, that this will not lead to success, but it worked for me. So here is what I did:
I googled "ati catalyst linux download" and found the official web page of the driver. Then all that was left to do was to download and execute the file:
$ su - # become root
# mkdir catalyst13.1
# cd catalyst13.1/
# wget http://www2.ati.com/drivers/linux/
amd-driver-installer-catalyst-13.1-linux-x86.x86_64.zip
# unzip amd-driver*.zip 
# chmod +x amd-driver*.run 
# ./amd-driver-installer-catalyst-*.run --install
# reboot
If your as lucky as I was a little GUI will pop up and guide you through the installation process. If the driver claims, that an driver is already installed, remove it with:
# aptitude purge fglrx-control fglrx-driver
Good luck!

cut mp3 files

Date:2012-07-03 08:15:00

From time to time I like to cut some parts out of a mp3 file. I am doing this with the mp3cut program (in the poc-streamer package in Debian):
mp3cut -o outfile.mp3 -t 16:09:43+000-17:46:30+000 infile.mp3
(via Go2Linux)

Mergin pdf files

Date:2012-04-24 21:16:00

You can merge several pdf files into one single pdf by using pdftk:

pdftk a.pdf b.pdf cat output merged.pdf

SSH-Tunnel

Date:2008-02-25 13:15:00

Bei der Universität Hamburg habe ich eine extrem gute Anleitung (mit Bildern :-) !!) zum Aufbauen von SSH-Tunneln gefunden: Ansprechen eines CVS-Servers durch einen SSH-Tunnel Anders als der Titel vermuten lässt wird dort nicht nur erklärt wie man CVS (was auch auf svn übertragbar ist) tunnelt sondern auch wie man sich über einen Gateway-Rechner mit einem dritten Rechner verbindet.

Backup

Date:2007-09-03 16:03:00

Ich habe mich heute dazu entschieden etwas über Datenbackups zu schreiben und wie einfach das ganze eigentlich ist. Ich war früher auch eher schlampig mit meinen Backups und habe ca. 1-2 mal im Jahr (meistens vor einem Betriebssystem-Update) ein Backup auf Cds gemacht. Das war dann ein gemütlicher Nachmittag an dem ich so um die 40Cds gebrannt habe. Irgendwann habe ich mich dazu durchgerungen regelmäßiger Backups von meinen Daten zu machen. Das macht mit CDs dann natürlich keinen Spaß mehr. Also habe ich mir eine externe Festplatte gekauft. Die kosten zwar ein paar Euro dafür kann man damit aber wesentlich besser seine Daten retten. Die externe Platte sollte logischerweise in etwas gleich groß oder etwas größer sein, als die interne. Das wichtigeste was man jetzt noch machen muss ist sich den Backup-Vorgang so weit wie möglich zu automatisieren. Wenn ich die ganze Zeit über dabei sitzen muss oder die Dateien einzeln kopiere bringt das nichts. Dann kann ich auch wieder CDs brennen. Wenn man einschlägige Datenrettungs-Literatur ließt bekommt man meistens den Tipp das Backup automatisert um 3uhr Nachts starten zu lassen. Das Problem dabei ist: In Firmen funktioniert das vielleicht nocht, aber die meisten Leute die ich kenne (mich eingeschlossen) machen ihren Computer aus, wenn sie ihn nicht brauchen. Also funktioniert das Zeitgesteuerte-Backup hier nicht. Was man noch machen könnte wären den Computer extra für das Backup mit einer Zeitschaltuhr hochzufahren. Da bei mir der Rechner im Schlafzimmer steht kommt das für mich auch nicht in Frage. Ich habe dann darüber nachgedacht das Backup automatisiert beim Hoch- oder Runterfahren zu starten. Wenn ich den Computer hochfahre will ich ihn dann aber auch sofort benutzen und nicht erst eine viertel Stunde warten bis das Backup fertig ist. Und beim Herrunterfahren ist es mir auch lieber, wenn der Rechner gleich ausgeht (außerdem kommt hier noch ein technisches Problem mit meiner externen Festplatte zum Zuge. Da will ich aber jetzt nicht drauf eingehen.) Lange Rede, kurzer Sinn. Ich habe keine Lösung gefunden das Backup automatisiert zu starten. Über Ideen bin ich jederzeit dankbar. Was ich allerdings gemacht ist mir das Starten des Backupvorganges so einfach wie möglich zu machen. Ich habe mir ein kleines Linux-Bash-Skript geschrieben, welches das Backup durchführt. Ich muss also nur noch ein Programm starten und schon wird alles gesichert. Das kann man dann noch schnell starten bevor das Mittagessen fertig ist oder der Film anfängt oder wenn man den letzten Satz der Diplomarbeit geschrieben hat. Mein Skript sieht so aus:
#!/bin/bash
####### Configuration ########
TARGET="/mnt/backup" # Verzeichnis, wohin das Backup geschoben wird
SOURCE="/"           # Quelle des Backups
LOG="backup-`/bin/date +%d%m%Y%T`.log" # Dateiname der log-Datei
RSYNC="/usr/bin/rsync"
RSYNC_OPTIONS="-a -v --exclude-from=auslassdatei.rsync"
NICE="/usr/bin/nice"
NICE_OPTIONS="-n 19"
##############################
$NICE $NICE_OPTIONS $RSYNC $RSYNC_OPTIONS $SOURCE $TARGET &> $LOG
Es wird hier mit dem Programm rsync (das muss man eventuell noch extra installieren) alle neuen Daten in TARGET nach SOURCE kopiert. Dabei wird eine log-Datei geschrieben (mit dem aktuellen Datum im Dateinamen um alte Logs nicht zu überschreiben). Außerdem gebe ich dem Programm noch einen nice-Level von 19 mit, damit andere Programme auch noch eine Chance haben zum Zuge zu kommen. Dann gibt es noch die Datei auslassdatei.rsync in der ich Verzeichnisse aufliste, die nicht mit ins Backup sollen (zum Beispiel den mount-Ort des Backups. Sonst gibt es eine Endlosschleife). Bei mir sieht die Datei so aus, andere werden sie anpassen müssen:
/mnt/
/dev/
/media/
/tools/
/proc/
So und damit die Windows-User (und die sind es ja meistens die ihre Rechner kaputt machen ;-) ) sich nicht beschweren: Mit SyncBack macht meine Freundin ihre Backups von Windows XP aus. Und sogar mir ist es schon gelungen mit dem Programm ein Backup zu machen. Also in Zukunft bitte keine Anrufe mehr der Art: Mein Rechner ist kaputt. Mach ihn ganz und die Daten musst du auch noch retten. Das muss ab jetzt heißen: Mein Rechner ist kaputt. Kannst du ihn vielleicht reparieren und dann mein Backup wieder einspielen?