ctime einer Datei manipulieren

Nicht oft, aber manchmal kann es nötig sein die ctime (change time) einer Datei zu verändern. Das ist leider mit den Boardmitteln der gängigen Distributionen nicht möglich, Abhilfe schaft hier das Programm stroke. Damit ist es, im Gegensatz zu touch, möglich neben der atime und der mtime auch die ctime zu verändern. Auf der Seite des Tools kann man sich die Quellen runter laden. Das Bauen ging schnell und einfach, jedenfalls unter meinem Ubuntu 10.04 LTS.

DICOM-(Röntgen)Bilder in pngs umwandeln

Innenansichten eines Knies

Innenansichten eines Knies

DICOM ist ein offener Quasistandard zum Austausch von “medizinischen” Bildern, also CT, Röntgen, etc. Wenn man von einem Arzt eine CD mit seinen Bildern bekommt, ist da nur ein “Viewer” für Windows drauf, was einem unter Linux nicht so viel hilft. Es gibt aber medcon, ein Tool das verschiedene “medizinische Bildformate” umwandeln kann. Unter Ubuntu 10.10 ist medcon in den Quellen und man kann es einfach mit apt-get install medcon installieren. Danach kann man die Bilder mit medcon -c png -f $originaldatei -o $ausgabedatei in PNGs umwandeln, die man dann wieder problemlos anschauen kann ;)

Softwareraid (5) mit Debian Squeeze

Wie man einen Raid 5 (über 4 Platten) unter Debian Squeeze zusammen zimmert ist nachfolgend beschrieben. Ich gehe davon aus, dass die Platten /dev/sdb,c,d,e verwendet werden.

  1. mdadm Installiern
    apt-get install mdadm
  2. Platten “deformatieren”
    fdisk /dev/sdb,c,d,e

    mit “d” alle Partitionen löschen. Fdisk mit “w” beenden, um die Änderungen auf die Platte zu schreiben.

  3. Raid bauen
    mdadm --create --level=5 --raid-disks=4 --bitmap=internal /dev/sd["bcde"]1
  4. Dateisystem erzeugen
    mkfs.ext4 /dev/md0

Und schon ist der Zauber fertig ;)

mpd – Lautstärke regeln mit alsa

Bei meiner neuen MPD-Installation wollte sich die Lautstärke nicht remote regeln lassen. Im alsamixer hatte ich gesehen das der “Ausgabekanal” Master heißt. In der /etc/mpd.conf steht jedoch bei mixer_control Default als Voreinstellung. Als das passend geändert und schon lässt sich auch die Lautstärke regeln :) Hier noch er entsprechende Ausschnitt meiner mpd.conf

audio_output {
	type		"alsa"
	name		"My ALSA Device"
	device		"hw:0,0"	
	format		"44100:16:2"
	mixer_device	"default"	
	mixer_control	"Master"
	mixer_index	"0"
}

Firefox synchronisieren

Mit Mozillas Firefox Plugin “Weave” kann man seine Firefox-Installationen auf mehreren Rechner synchronisieren. Dabei kann Weave mehr als die bekannten Plugins wie “XMarks”. Denn Weave synchronisiert nicht nur Lesezeichen und gespeicherte Passwörter, sondern kann auch die Historie und offene Tabs synchronisieren. Das beste daran ist aber, dass man dazu seine Daten noch nicht einmal in fremde Hände geben muss. Wer über einen eigenen Webserver verfügt, kann sich seinen eigenen Weave-Server aufsetzen, und das ohne all zu großen Aufwand. Wie man es macht beschreibe ich im folgenden:

Es gibt zwei Versionen des Weave-Servers. Zum einen gibt es den “original” Mozilla Weave Server, den ich mir allerdings nicht weiter angesehen habe, und zum anderen den Weave Minimal Server, auf dessen Installation ich hier im Folgenden näher eingehen werde. Für eigene Installationen empfiehlt Mozilla auch die Verwendung der in PHP implementierten minimal Version.

Voraussetzung für den Betrieb des Weave Minimal Server

  • Laufender Webserver (Apache oder Lighttpd funktionieren)
  • php > 5.0 (?)
  • sqlite

Weiterhin benötigen man Zugriff auf die Konfiguration des Servers. Bei Apache dürfte auch htaccess reiche, da man einen Rewrite einrichten muss.

Installation

Die Installation ist denkbar einfach. Der Tarball wird in ein Verzeichnis des Webservers entpackt (z.B. /var/www/weave). Die Benutzerrechte der Dateien müssen so angepasst werden, dass der Benutzer unter dem der Webserver läuft die Dateien lesen und ausführen kann. Weiterhin muss der Benutzer das Verzeichnis der Installation beschrieben dürfen, um die SQlite Datenbank anlegen zu können. Nach dem die Dateien entpackt und die Rechte angepasst wurden, muss die Konfiguration des Webservers um die oben bereits erwähnte Rewrite-Regel erweitert werden.

Bemerkungen

Es ist prinzipiell möglich den Server auf http zu betreiben. Ich schließe mich an dieser Stelle allerdings der Meinung Mozillas an, dass dies wenig ratsam ist. Immerhin werden hier Psswörter etc. übertragen. Auch wenn die Passwörter von dem Firerox-Plugin verschlüsselt werden, rate ich jedem an dieser Stelle https einzusetzen.

JOSM SVN-Updater

Ich wurde heute im Openstreetmap IRC mal freundlich gebeten ein neues Feature in mein Script einzubauen. Es wurde gewünscht, dass man auch die lokal vorhanden Quellen neu kompilieren kann. Da ich gerade nichts besseres zu tun hatte, habe ich mich auch gleich ans Werk gemacht und das Script entsprechend erweitert.

Da ich bisher zu dem Script hier recht wenig geschrieben habe, gibt es also noch ein paar Worte dazu:

Das Script lädt immer die aktuellste JOSM Version aus dem SVN herunter und kompiliert sie. Damit das funktioniert müssen drei Bedingungen erfüllt sein:

  1. Internetverbindung muss bestehen
  2. svn muss installiert sein
  3. und ant muss installiert sein.

Wenn die Bedingungen erfüllt sind, reicht es das Script aufzurufen und schon erhält man die neuste JOSM Version. Also bleeding edge so zusagen.

Das Script kann mit einigen (bislang 3) Optionen gestartet werden.

  • -h: zeigt eine kurze Hilfe an und beendet das Script
  • -m: legt fest wieviel Heap der Java-VM maximal zur Verfügung stehen soll. Die Angabe muss in MB erfolgen!
  • -r: lokalen Quellen erneut kompilieren

Hinter diesen Schaltern kann man noch den Pfad zu einer gpx-Datei oder einer osm-Datei angeben, die dann automatisch in JOSM geöffnet wird.

Das Script kann man sich bei Github runter laden. Wer sich die lange Github-URL nicht merken will, kann es mit dieser versuchen: http://bit.ly/josmsvn

Wer einfach nur ein Script sucht um JOSM runter zu laden und zu starten, dem sei das Script von Cobra ans Herz gelegt.

 

Columbus V-900 als GPS-Maus (Ubuntu)

Nach folgendem Rezept habe ich es geschafft, den Logger als Bluetooth GPS-Maus unter Ubuntu zum fliegen zu bekommen:

hcitool scan

Hier den Datenlogger raus suchen und die Hardware-Adresse des Loggers notieren / in der Zwischenablage speichern.

 sdptool browse xx:xx:xx:xx:xx:xx (Hardware-Adresse des Loggers)

Hier suchen wir nach dem Eintrag, der den Kanal des Loggers angibt. Die Zeile fängt mit “Channel” an.

Nun muss die rfcomm.conf editiert werden. Die Datei liegt in /etc/bluetooth/ Sie ist folgendermaßen aufgebaut:

#
# RFCOMM configuration file.
#
rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device 00:18:E4:1F:DC:A7;
# RFCOMM channel for the connection
channel 1;
# Description of the connection
comment "Columbus V-900 GPS-Logger";
}

Hier müssen folgende Einträge angepasst werden – eigentlich alle ;)

  1. bind: ist standardmäßig auf no gesetzt, wir ändern es auf yes
  2. device: hier muss die Hardware-Adresse des Loggers eingetragen werden
  3. channel: hier wird der Wert aus dem vorherigen Schritt eingetragen (i.d.R 0)
  4. comment: Hier kann man irgendwas eintragen, ein Kommentar halt!

Nun sollte sich rfcomm starten lassen. Vorher gehen wir aber sicher, dass es das Device nicht schon gibt… Also erst mal

rfcomm release 0

Nun sind wir sicher, dass es kein entsprechendes Device mehr gibt. Also können wir die Verbindung starten.

  • rfcomm connect 0

Nun sollte folgende Meldung auf dem Terminal erscheinen:

...connected /dev/rfcomm0 to xx:xx:xx:xx:xx:xx (Hardware Adresse)
...Press CTRL-C for hangup

In einem weiteren Terminal können wir nun gpsd starten.

gpsd -n -N -D4 /dev/rfcomm0

Dabei sind -n und -N wichtig. -N verhindert das “der Dienst” in den Hintergrund geschoben wird und -n besagt dass auch GPS-Daten vom Device abgefragt werden, wenn kein Client auf den gpsd zugreift. Ohne die beiden Optionen hatte ich teilweise erhebliche Probleme die Verbindungen stabil zu halten.  -D4 Gibt das Debug-Level an. Ich lasse mir hier gerne etwas mehr anzeigen ;)

RoyalTek RGM-3800

RoyalTek RGM-3800 mit Zubehör

RoyalTek RGM-3800 mit Zubehör

Der RoyalTek RGM-3800 spricht Standardmäßig nicht mit Linux. Es gibt allerdings einige Programme mit denen man den Logger auch komfortabel unter Linux verwenden kann.
  • Informationen zum Logger im OSM-Wiki
  • http://code.google.com/p/rgm3800py/
  • http://wiki.openstreetmap.org/wiki/Royaltek#RoyalTek_RGM-3800
  • http://www.markus-dollinger.de/2007/11/02/preiswertes-geo-tagging-mit-dem-royaltek-rgm-3800/

Sobald der Logger geliefert ist, werde ich ihn hier noch ein wenig genauer vorstellen, auch wenn auf der Seite im OSM-Wiki schon recht viel zu dem Logger geschrieben wurde.

Garmin .tcx nach .gpx konvertieren

Ich habe das Problem, dass aus meinem Garmin-Navi leider nur .tcx Dateien herausfallen, was ein garmineignenes Format für GPX-Tracks ist. Leider können die wenigsten Programme damit direkt etwas anfangen. Um die Tracks wirklich nutzen zu können, sollte man sie in das .gpx Format umwandeln, dass die meisten Anwendungen (eigentlich alle die ich brauche) verstegen. Für die Konvertierung der Dateien benutze ich GpsBabel. Leider ist der Aufruf über die Kommandozeile etwas kryptisch und da ich es nicht täglich nutze vergesse ich immer wieder die Syntax. Um das zu verhindern habe ich mir ein kleines Script gebastelt, dass alle .tcx Dateien im angegebenen Verzeichnis in .gpx Dateien umwandelt. Nichts großes, aber für mich ein wichtiges und praktisches Helferlein:

Continue reading