well-crafted code

better code – more fun

Problem
Mit IntelliJ IDEA bzw. WebStorm / PhpStorm lassen sich node.js Programme kinderleicht debuggen. Wenn aber das eigentliche Skript nicht direkt von node aufgerufen wird, sondern dazwischen mocha oder vows hängt, dann funktionieren die Breakpoints nicht, da u.U. ein anderer Prozess gespawned wird.

Lösung
Man legt sich eine Run-Configuration an, bei der node.js _mocha startet und übergibt das eigentliche Testscript als Applikationsparameter. Wesentlich dabei ist, dass man als Script nicht mocha, sondern _mocha verwendet.

Problem
Programme wie F-Spot erzeugen beim Importieren von Fotos Dateien, deren Erstellungsdatum dem Import-Zeitpunkt entspricht. Ich finde das sehr ärgerlich, insbesondere, dass man das scheinbar nicht einstellen kann bzw. die Einstellungsmöglichkeit irgendwo gut verborgen ist. Kommt hinzu, dass die SD-Karte der Kamera nicht auf /media eingehängt wird.

Wunsch
Beim Import von Fotos aus der Digitalkamera möchte ich das Datum der Aufnahme als Änderungsdatum haben.

Lösung
Das Filesystem der Kamera wird sehr versteckt im Home-Verzeichnis unter ~/.gvfs eingehängt. Mit dem Parameter -p des Unix-Befehls cp können die Dateiattribute übernommen werden:

# In Homeverzeichnis wechseln
cd

# Neues Zielverzeichnis für die Fotos anlegen
mkdir -p Bilder/2011/12/

# In verstecktes Verzeichnis wechseln
cd ~/.gvfs/
ls

# Jetzt kann man das eigenartige Verzeichnis sehen, das
# der Mountpoint für das Filesystem der Kamera ist
cd gphoto2-Medium\ auf\ usb%3A001\,015/

# Bei mir kommen nun noch die Verzeichnisse DCIM und 100CANON:
cd DCIM/100CANON/

# Kopieren aller Bilder/Filme in Zielverzeichnis;
# Dateiattribute übernehmen (p = preserve) ...
cp -p * ~/Bilder/2011/12/