Finde den Fehler

18. Mai 2009 9 Kommentare

Im folgenden Bild ist ein Fehler eingebaut, wer ihn findet darf ihn behalten:

Eines der abgebildeten Bücher passt nich zu den anderen
Tags: , ,

Ächtz

16. Mai 2009 8 Kommentare

Wenn ich die zurückliegende Woche mit einem Wort zusammenfassen müßte, dann wäre das intensiv. Seit längerer Zeit mal wieder nah an der Technik. Auch wieder festgestellt, das Solaris in einigen Punkten Linux um Jahre voraus ist. Wenn man mal das automatische Ausrollen von Zonen mit Jumpstart gesehen hat ist das schon beeindruckend. Beeindruckend war auch der Stimmungsbogen. Von anfänglichen Zweifeln, einsetzender Panik bis zur Entspannung am Freitag war alles dabei. Mal schauen was die nächste Woche bringt.

Tags:

Priceless

14. Mai 2009 4 Kommentare

via Mail

Tags: ,

Vorsicht scharfe Ecken!

14. Mai 2009 2 Kommentare

Bedienungsanleitungen lesen nicht viele Leute. Sollten meiner Meinung nach aber viel mehr tun, denn dann könnte man schöne Dinge lesen, wie folgendes Beispiel aus der Anleitung eines Sun StorageTek 2530 Arrays zeigt:

Sharp Edges and Corners on Array

Bugs 6540408, 6538961, 6538960 – Watch out for sharp corners and edges on:

* The Controller Module (corners)

* Power Modules (corners)

* Tray edges (chassis ears edges)

Workaround – Handle the array carefully to avoid the sharp corners and edges.

Gefährlich sage ich da nur! Gefährlich!

Tags:

Links for 2009-05-13

13. Mai 2009 Kommentare ausgeschaltet

It still don’t work

13. Mai 2009 3 Kommentare

Da hilft man und es funktioniert trotzdem nicht:

Wie man nicht nach Hilfe fragen sollte

via Jabber

Tags: ,

VMWare HA befreit nicht vom Denken

9. Mai 2009 6 Kommentare

Heilsbringer gibt es viele auf dieser Welt, in der IT ist es im Moment Virtualisierung. Es gibt eigentlich kein Problem, welches nicht damit gelöst werden kann. Ich denke man muss genau hinschauen, denn manche Dinge lassen sich nur bedingt vergleichen.

So denke ich, das sich ein VMWare HA Cluster nur bedingt mit einen konventionellen HA-Cluster vergleichen lässt. Jörg Möllenkamp geht es wohl ähnlich. Zwar beschäftigt sich sein Posting vordergründig mit dem Widerlegen von Aussagen rund um VMware und Oracle, aber er zeigt ein paar Punkte auf die ich für vollkommen richtig halte.

Für mich noch viel Wichtiger: ein HA N+1 Cluster besteht aus N+1 mal Hardware sowie Betriebssystem, während man bei VMware zwar N+1 mal ‚Hardware‘ hat, aber nur ein Betriebssystem. Deutlicher gesprochen: ein normales HA-Cluster macht einen Dienst hochverfügbar, VMware tut dieses aber nur für die Hardware. Geht in der VM das OS kaputt – Pech gehabt, beim HA-Cluster schwenkt man auf den nächsten Node. Bestimmt kann man mit Cloning und Scripting immer dafür sorgen eine (mehrere) Kopie(n) zur Hand zu haben, nur bietet das keine Garantie im Falle eines Falles eine funktionierende und getestete Umgebung vorzufinden, ob man sich darauf verlassen möchte muss jeder selbst wissen

Web-Feedreader auf der Shell

3. Mai 2009 Kommentare ausgeschaltet

Auch wenn es der Titel nicht hergibt, dies ist der zweite Teil zu Der eigene Jabberbot. Ich denke aber das man Teile hiervon bestimmt auch an anderen Stellen gut einsetzen kann, daher der fehlende Bezug im Titel.

Den Anfang machen Web-Feedreader wie Bloglines und der Google News-Reader.

Wer zum Beispiel wissen möchte wieviele Nachrichten bei Bloglines noch ungelesen sind:

curl -f -s http://rpc.bloglines.com/update?user=joern@aumund.org\&ver=1 \
| awk -F \| '{ printf "Bloglines: " $2 " ungelesene Nachrichten\n"}' >

Viel mehr gibt die API auch nicht her.

Das ganze geht natürlich auch mit dem Google-Reader, es ist nur etwas aufwendiger:

#!/bin/bash
googlemail_login="DEIN_GOOGLELOGIN"
googlemail_password="DEIN_PASSWORT"

SID=$(curl --silent -d service=reader -d "Email=$googlemail_login"
-d Passwd="$googlemail_password" -d source="lens" -d
continue="http://www.google.com/" https://www.google.com/accounts/ClientLogin | 
grep ^SID= | sed -e 's/SID=//')
NUMBERS=$(curl --silent --cookie "SID=$SID;domain=.google.com;path=/;expires=1600000000"
"http://www.google.de/reader/view/user/-/state/com.google/fresh" | grep -e ^.*reading-list\",\"count\":
 |  sed -e s/^.*reading-list\",\"count\"://g -e s/,\"newestItemTimestampUsec\".*//g)

if [ -z $NUMBERS ]; then
        NUMBERS=0
fi

echo "Google Reader: " $NUMBERS " ungelesene Nachrichten\n"

Wichtig: die Zeilen 4-10 sind eine Zeile

Hier kann die API wesentlich mehr, ob das aber alles Sinn macht muss jeder für sich selbst entscheiden.

Der nächste Teil dreht sich dann um Mail.

Eine Pest namens NetworkManager

29. April 2009 13 Kommentare

Große Dinge fangen meist klein an – seien es nun Katastrophen oder geniale Ideen. Leider zählt der NetworkManager unter Linux zur ersten Kategorie. Eigentlich fing es nur damit an, das ich mir einen UMTS-Stick zugelegt hatte. Der besitzt einen Huwawei e220 Chipsatz, also nichts exotisches und gut unterstützt von Linux.

Nach ein bischen Googlen entschied ich mich gegen umtsmon und für den NetworkManager, da hier alles ‚Out-of-the-Box‘ funktionieren sollte und ich damit meine bisher statische Netzwerk-Konfiguration via /etc/network/interfaces in Ubuntu loswerden wollte. Soweit die Theorie.

Praktisch funktionierte nichts. Es ging kein WLAN, kein UMTS. Da sowieso gerade Kubuntu 9.04 herauskam stand ersteinmal ein Update an – wieder funktionierte nichts. WLAN ging nicht, weil knetworkmanager, egal was ich einstellte immer WEP 40/128 Hexadezimal als Verschlüsselung auswählte und sich davon nicht abbringen lies. Ich versuchte es dann mit dem Plasma-Widget für den NetworkManager. Hier ging WLAN, aber für die konfigurierte UMTS-Verbindung gab es nie einen ‚Wählen‘ Button, das Widget reagierte nicht oder stürzte ab. Manchmal fror mir die grafische Oberfläche komplett ein.

Also zurück zum knetworkmanager. Es kostete mir einen halben Abend bis die Kombination aus statischer WLAN-Konfiguration und UMTS-Verbindung im NetworkManager stabil lief. Also jetzt nicht denken, das ich mich einwählen konnte, denn das scheiterte kläglich:

 >WARN<  dial_done(): Dialing timed out

Ein Verdacht keimte in mir auf: vielleicht wird die falsche Nummer gewählt. Nach ein bischen Suchen fand ich dann die vollkommen intuitive Lösung um die Unterhaltung auf der seriellen Schnittstelle zwischen NetworkManager und UMTS-Modem mitlesen zu können:

NM_SERIAL_DEBUG=1 /usr/sbin/NetworkManager --no-daemon

Das Ergebniss war ernüchternd: die zu wählende Nummer war #99***1*, während im Debug-Log #99***1****1* stand. Der NetworkManager hängt anscheinend selbsttätig (und undokumentiert) ein ***1* an. Also im knetworkmanager #99 eingestellt und siehe da die Einwahl funktionierte. Naja, nicht so ganz. Die Verbindung blieb nur für ein paar Sekunden stehen, bis meine Seite auflegte:

floyd pppd[4124]: Terminating on signal 15
floyd pppd[4124]: Connect time 3.4 minutes.
floyd pppd[4124]: Sent 55044 bytes, received 224642 bytes.
[...]
floyd pppd[4124]: sent [LCP TermReq id=0x2 "User request"]
floyd pppd[4124]: rcvd [LCP TermAck id=0x2]

Weiteres Suchen förderte diese Meldung

NetworkManager:   pppd_timed_out(): Looks like pppd didn't initialize our dbus module

zu Tage. Anscheinend gibt es viele andere mit dem gleichen Problem, aber eine echte Lösung habe ich noch nicht gefunden.

Was funktioniert: Rechner aus, UMTS-Stick rein, booten, anmelden, knetworkmanager starten, einwählen, geht. Was nicht funktioniert: auflegen und erneut einwählen.

Der eigene Jabberbot

24. April 2009 5 Kommentare

Es fing damit an, das ich nach einem Anrufmonitor für die Fritzbox suchte. Irgendwie sagte mir nichts zu, entweder war es zu träge oder hatte Abhängigkeiten, die ich nicht installieren wollte.

Ich bastelte mir also ein kleines Script und als es fertig war fragte ich mich wo es denn seine Meldungen hinschicken sollte. Mail ist irgendwie doof und die passende Shell zu Hause ist nicht immer erreichbar. Ich entschied mich für Jabber und experimentierte ein wenig mit sendxmpp herum, was mir allerdings gar nicht zusagte.

Nach ein wenig Suchen bin ich auf XMPPlogger gestoßen. Mit 11KB ist es schön klein und hat kaum Abhängigkeiten. Am besten aber gefällt mir, das es mit einer Fifo, auch named pipe genannt, arbeitet. Durch dieses Konstrukt kann man beliebige Skripte verwenden, die Ausgabe muss nur richtig formatiert auf STDOUT erfolgen. Leitet man nun diese Ausgabe in die Pipe vom XMPPLogger schickt dieser es an den Jabber-Server – fertig ist der Bot.

Ein Beispiel:

# echo "foo" > /tmp/xmpplogger.fifo

Die Installation von XMPPlogger erkläre ich jetzt nicht, die README sollte jeder lesen und umsetzen können. In loser Folger wird es noch ein paar Skripte/Beispiel geben wie man den Bot füttert und zum Schluß noch wie man das mit Twitter macht.