Archives for category: IT

For those of you who try to use certain features of erlang and find
themself confused with more or less the following error message:

Saturn:src zeisss$ erl -make
Recompile: gs_tcp_sup
{"init terminating in do_boot",{undef,[{compile,file,["gs_tcp_sup",[report_errors,report_warnings,error_summary,debug_info]]},{make,process,3},{init,start_it,1},{init,start_em,1}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()

This error message says, that it could not find the compile module. For
me, the problem was the way I installed erlang on my macbook: I used the
cean installer, which skips a number of packages in its default
installation, e.g. SASL and the compiler packages. To install them,
start erlang and use cean:search("keyword") to search for the compiler package.

2> cean:search("compiler").
[{"mlex","Lexical scanner"},
 {"ic","IDL compiler"},
 {"hipe","Make a native-compilation of an Erlang module"},
 {"compiler",
  "A byte code compiler for Erlang which produces highly compact code"},
 {"claw","CLAW is an embryonic compiler from Core Erlang to Common Lisp"}]

With cean:install("packagename")
you can install them now. For my example above, you had to install the
compiler package with cean:install("compiler").

Eins der tollen neuen Features von Mac OS X Leopard war bzw ist TimeMachine,
ein kleines Backupprogramm, was im Hintergrund stündlich die eigenen
Daten sichert. Hierfür benötigt es entweder eine externe Festplatte oder
Time Capsule, die WLAN Festplatte von Apple. Da ich eine externe
Festplatte an Notebooks nicht mag und eine Time Capsule dann doch ein
wenig ins Geld geht, habe ich mich damals, beim Kauf meines Macbooks für
die Open Source Zwischenlösung entschieden: Externe Festplatte an den
Server anklemmen, diese ins WLAN freigeben und den geheimen
TimeMachine-Schalter für “Unsupported Network Storages” aktiviert.

Das ganze lief auch ein halbes Jahr gut; bis plötzlich das Backup anfing
ewig zu dauern, nie fertig wurde und schlussendlich mit Fehlern über ein
kaputtes Backuparchiv zu Bruch ging. Fazit für mich: TimeMachine über
ein nicht IEEE
802.11n
Wlan bzw auf einer Nicht-Time-Capsule geht über kurz oder
lang schief. TimeMachine braucht ewig um mit dem Backup anzufangen und
dass ist für mich K.O. Kriterium für diese Lösung.

Da mein Macbook dann in den letzten 2 Wochen auch noch mit einer 100%
CPU Auslastung angefangen hatte die Festplatte nach Fehlern zu
durchsuchen (anscheinend war der Header kaputt), musste ich das gute
Stück wohl oder übel nun doch mal neuinstallieren. Aber vorher braucht
man ja ein Backup der eigenen Daten. Ich hatte vorher schon nach
Alternativen zu TimeMachine geschaut und bin über das Unix-Boardmittel rsync
gestolpert: Ein kleines Kommandozeilentool welches Daten zwischen zwei
Systemen synchronisiert.

Vorteile gegenüber TimeMachine:

  • OpenSource: Die Lösung kann ich auch für meine anderen PCs verwenden
  • Ich hab mehr Kontrolle darüber
  • Auf dem Server werden blanke Dateien abgelegt, d.h. ich komme auch
    ohne Mac an die Daten ran

Nachteile:

  • Keine schicke GUI
  • Bastellösung
  • Man muss selbst Cronjobs anlegen usw.
  • Eventuell fehlerhafte Synchronisation bei Apple / HFS-Eigenheiten
  • Kein Restore bei Systeminstallation direkt vom Backup (Also erst
    Installieren, dann Backup kopieren)

Da ich wie gesagt mein Macbook neuinstalliert habe, konnte ich das so
erzeugte Backup auch gleich mal testen. Probleme gab es eigentlich
keine, außer jede Menge fehlender Programme, da ich nur meinen
Benutzerordner gesichert habe (Tipp: Im Benutzerordner einen Ordner
“Applications” anlegen und dort die Programme speichern). Wer das ganze
bei sich ausprobieren will, findet mein Script hier:


#!/bin/sh

# This script does personal backups to a rsync backup server. You will end up
# with a 7 day rotating incremental backup. The incrementals will go
# into subdirectories named after the day of the week, and the current
# full backup goes into a directory called "current"
# tridge-at-linuxcare.com

# Modified for my personal Mac use :)
# stephan.zeissler-AT-moinz.de

# directory to backup
BDIR=$HOME

# excludes file - this contains a wildcard pattern per line of files to exclude
EXCLUDES=$HOME/.cron_excludes

# the name of the backup machine
BSERVER=szeiss2s@moon:/export/backupdb/szeiss2s

########################################################################

BACKUPDIR=`date +%A`
RSH_CMD="ssh -i $HOME/.ssh/id_rsa_backup"
OPTS="-x -S --force --ignore-errors --delete-excluded --exclude-from=$EXCLUDES --delete --backup --backup-dir=/export/backupdb/szeiss2s/$BACKUPDIR -a"

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin

if [ ! -f /tmp/.rsync-backup ]; then
  touch /tmp/.rsync-backup

  # the following line clears the last weeks incremental directory
  [ -d $HOME/emptydir ] || mkdir $HOME/emptydir
  rsync -e "$RSH_CMD" --delete -a $HOME/emptydir/ $BSERVER/$BACKUPDIR/
  rmdir $HOME/emptydir

  # now the actual transfer
  growlnotify -n "Rsync" "Backup" -m "Starting backup ..." -p -1
  rsync -e "$RSH_CMD" $* $OPTS $BDIR $BSERVER/current

  # Clear the log
  growlnotify -n "Rsync" "Backup" -m "Backup beendet." -p 1
  rm -f /tmp/.rsync-backup

else
  # Backup seems to be already running.
  growlnotify -n "Rsync" "Backup" -s -m "Already running - Aborting." -p 2
  echo "Found /tmp/.rsync-backup so aborting - delete the file if the backup is not running."
fi

P.S.: Der Befehl growlnotify zeigt ein kleines Notifier-Fenster an und
muss erst
P.S.S.: Nein, das Skript ist nicht einfach so nutzbar, aber ich denke
der schlaue User wird das von selbst hinkriegen. Ansonsten gibts ja noch
Email.

Ich hab n bisl gegoogelt, den Namens gibts glaube ich noch nicht. Wenn
doch, meldet euch ;)

Letzte Woche stand ich vor der Aufgabe einen Benutzer zu meinem SVN
Repository hinzufügen zu müssen. Normalerweise mache ich das einfach von
Hand mit vi auf dem Server; nur leider hatte der Admin beim Umzug
vorher das komplette Repository dem WebServer Benutzer geschenkt wodurch
ich schreibend nicht mehr an das Ding dran kam. Also nach
Webadministrationsoberflächen (der WebServer darf ja schreiben …)
gesucht und irgendwie nur eine gefunden; und die hab ich durch
irgendwelche komischen Abhänigkeiten gar nicht erst zum laufen gekriegt.
Also habe ich mir selbst die benötigten Skripte gebastelt und stelle sie
hiermit zur Verfügung: *trommelwirbel*

Svnmin

Bisher kann man damit die Benutzerberechtigungen der Repositories
einstellen (svnaccess.conf) sowie neue Repositories anlegen und den
Post-Commit Hook bearbeiten. Und das schöne daran: Ausser PHP und
Schreibrechten braucht das ganze nix. Dafür ist es aber auch
dementsprechend häßlich und simpel ;) Mir reichts bisher und daher
wünsche ich euch: Viel Spass damit.

Weil ichs immer wieder vergessen, hier ein Leitfaden für mich selbst ;)

Kommandozeile

screen = startet neue screen sitzung (Ctrl + A -> D zum detachten)
screen -ls = Listet offene screen sitzungen auf
screen -r [pid]= Screen Sitzung fortsetzen

Tastenkürzel in Screen:

Ctrl + A + D – Detach
Ctrl + A + N – Neues “Tab” in
Ctrl + A + W – Tabs auflisten
Ctrl + A + <Num> – Zum Tab wechseln

Via

Ja, auch hier hat die Open Source Gemeinschaft etwas zustande gebracht.
Wer sich zu seinem Brenner nicht noch extra Nero kaufen oder gar cracken
will, nimmt einfach InfraRecorder.
Und wie immer kostenlos ;)

Martin, seines Zeichens begeisterter OSM Mapper, hat mir heute einen
kleinen Tipp gegeben: Unter osm4you.com
findet man Karten für Garmin Geräte die neben den Strassen von OSM auch
Topographiedaten der NASA beinhaltet. Ein eher zweifelhafter Vorteil:
Die Dateien werden täglch generiert. Für den Geocacher eher
uninteressant, scheint das für den OSM-Mapper durchaus praktisch.
Topographiedaten an sich sind aber denke ich wirklich sinnvoll. Ich
werde das ganze demnächst mal ausprobieren. In diesem Sinne, Happy
Caching!

Freude! Obwohl meine Stimmung aufgrund der verlorenen EM irgendwie eher
düster ist, konnte ich mir ein Grinsen angesichts des Gameplays Videos HIER
nicht verkneifen. Bizzard setzt auf alt bewährtes mit einem guten Schuss
Verbesserungen. Hat sich in der Vergangenheit auch immer gelohnt. Ich
hoffe nur der BattleNet Modus wird besser (=dynamischer) als im
Vorgänger. Ich glaube ich weiß jetzt schon, dass das auf meine
Wunschliste kommt.

Es ist Juli, die Semesterferien haben endgültig angefangen und mit jedem Sonnenstrahl steigert sich mein Sommerfeeling. Von den Temperaturen stimmt das zwar noch nicht ganz, aber da bin ich eh net so ziemperlich. Was mich eher stört ist, womit ich meinen Basteltrieb (sprich: Softwareentwicklung) stillen soll. Zum einen haben wir da den ewigen Kanidaten Browser-Game, wobei meine aktuelle Favoritensprache hierfür Erlang ist. Desweiteren ist seit eben eine leicht angewandelte Variante, was ein wenig einem Online-Risiko ähnelt. Neben den Spielen würde ich zum
einen gerne eine “Basis”-Anwendung bauen, wo die eigentliche Anwendung via Plugins dazugestöpselt wird. Die Basis-Anwendung würde nur den grundsätzlichen Rahmen bieten und die Möglichkeit für Installation/Aktualisierung der Plugins (OSGI läßt grüßen). Quasi das was die Eclipse Runtime (aka Equinox) macht, nur mit Swing.

Aber vielleicht doch noch einen Schlenker zu den Spielen: Für Eve Online benötige ich noch einen Erz Calculator sowie einen Konto-Manager (basierend auf der Eve API; endlch mal ein Spiel, was sowas unterstützt), um meine Finanzen
im Auge zu behalten. Und Waldemar würde auch noch gerne ein Tool zum verwalten von CDs haben. Letztere
Themen könnte man eigentlich auf der Basis-Anwendung aufbauen lassen (meinen FW MapEditor eigentlich sogar auch) aber trotzdem … so viele Themen (also ich hab sieben gezählt) und so wenig Zeit. Im September
geht spätestens das lernen wieder los.

Mal schauen was ich diesen Sommer geschafft kriege … oder ob ich doch nur in die Sonne genieße und Geocachen
gehe :)

Jeder der sich ein wenig in der Computerspielgeschichte auskennt, sollte
Monkey Island kennen. Wem die Story nicht mehr so ganz klar ist, der
kann sich das ganze jetzt in der Zusammenfassung nochmal anschauen.
Die, die Monkey Island nicht kennen, dürfen das natürlich auch. Aber ich
weiß nicht ob da der Witz so schön rüberkommt :)

Wer sich heutzutage ein wenig mit GPS Geräten auseinandersetzt wird
feststellen, dass zumindest bei den Handgeräten von Garmin
die Strassen und Topografiekarten nochmal mit 100+ € zu Buche schlägt.
Für mich reicht zum Glück das Basisgerät und dank des OpenStreetMap
Projektes gibt es auch eine freie Strassenkarte für Garmin-Geräte. Da
die Beschreibungen im Internet bei mir nicht funktioniert haben, hier
mein Weg zum Erfolg:

  1. Download der Deutschlandkarte von Computerteddy
    (nicht den Komplettdatensatz)
  2. Download von Sendmap unter http://cgpsmapper.com/
  3. Nach dem starten von sendmap20.exe kann man die einzelnen Kacheln aus
    der entzippten Deutschlandkarte hinzufügen
  4. Upload to GPS

Danach ist bei mir die Karte auf dem GPS aufgetaucht. Nicht funktioniert
haben folgende Wege:

  1. Den Komplettdatensatz via USB Mass-Storage auf das GPS kopieren (in
    verschiedensten Schreibweisen)
  2. Die Deutschlandkarte / Datensatz in MapSource einbinden
  3. Den Komplettdatensatz via sendmap20.exe auf das GPS kopieren

Ich gehe einfach mal davon aus, das der Komplettdatensatz zur Zeit
kaputt ist, beim nächsten Upload der Daten werde ich das ganze nochmal
probieren.