Schon mal bei den Solderin' Skaters vorbeigeschaut?
Tue, 10 Mar 2009
Salut, link-local XMPP
Mac-User haben schon länger in iChat das unscheinbare Bonjour als Protokoll verfügbar. Apple bezeichnet damit ihre Zeroconf-Funktionalität. Ohne Konfiguration (Zero-Configuration) sollen Netzwerkdienste zugänglich sein, etwa Drucker, Dateifreigaben oder eben auch Chat. Diese Technologie ist seit einiger Zeit auch unter Linux und anderen Unixen unter dem Namen Avahi verfügbar.
Der Chat selbst ist eine Abwandlung von XMPP (aka Jabber), wurde in der XEP-0174 spezifiziert und hört auf den Namen link-local XMPP. Eigentlich wird in dieser XEP weniger XMPP spezifiziert, sondern hauptsächlich die Verfahren für das mDNS (Multicast-DNS). Der XMPP-Anteil unterscheidet sich kaum (warum auch) vom "Original", lediglich Authentifizierung beim Server fehlen, die Verbindungen werden zwischen den Chat-Partnern direkt aufgebaut und Online/Offline-Benachrichtigungen werden via mDNS übermittelt. Das Kommunikations-Framework Telepathy implementiert dies in der Komponente mit dem schönen Namen "Salut".
Genug der Theorie. Ich wollte mir das ganze anschauen und dazu
ein Nokia N810 Internet
Tablet mit Maemo und ein Desktop-PC zur
Kommunikation via local-link XMPP überzeugen. Auf letzterem ist Ubuntu
installiert, welches seit etlichen Versionen Avahi vorinstalliert (was
nicht ohne Kontroverse ist). Ausserdem kommt dort als Chat-Client Empathy zum
Einsatz, welches wiederum auf Telepathy basiert. Hier genügt es das Paket
telepathy-salut zu installieren und ein zusätzliches Konto
anzulegen, wo lediglich ein Name eingetragen werden muss (also nicht ganz
Zeroconf).
Auch die Chat-Applikation unter Maemo verwendet Telepathy (welches ursprünglich im Auftrag von Nokia für Maemo entwickelt wurde). Leider findet sich in den Standard-Repositories nicht die Erweiterung für Salut. Ich fand aber diesen Blog-Artikel mit einem Verweis auf eine Anleitung, um Salut, Sofia (SIP, mittlerweile per Default dabei) und Haze (Telepathy-Wrapper auf die libpurble von Pidgin). Dieser bin ich zunächst gefolgt, aber ohne Erfolg, da eine Abhängigkeit für Haze nicht erfüllt wurde, was mich aber ja nicht interessiert. Ich habe die benötigten Pakete dann einfach von Hand installiert. Daher meine ich, es reicht via diesem Repository:
deb http://packages.collabora.co.uk/maemo diablo salut
und dem Klassiker
Maemo Extras
die Pakete avahi-daemon, telepathy-salut und
osso-accounts-plugin-salut zu installieren. Anschliessend ein
neues Chat-Konto einrichten und da wieder Salut wählen. Wenn sich dieses Konto
nicht verbinden will (Status-Icon blinkt grün-rot), liegt es unter Umständen
daran, dass Avahi nicht läuft. (Bei mir war es nicht mal installiert...
)
Dass nicht während meiner rtcomm-Odysse vielleicht doch etwas wesentliches installiert wurde, kann ich leider nicht versprechen. Try and Error, Kids!
Sun, 18 Jan 2009
Mal eben 'was in Ruby coden
Ich bin echt begeistert. Mit Ruby, Netbeans und Glade mal eben ein kleines Programm geschrieben, was Daten von und zu einem GPS-Handheld (hier ein Garmin eTrex) überträgt. Es ist dabei lediglich eine kleine GUI für das Kommandozeilen-Tool gpsbabel.
Zunächst mit Glade3 sich die GUI
zusammen geklickt und als XML gespeichert. Dann mittels
ruby-glade-create-template den Ruby-Code generieren. Hilfreich war
dieser Blog-Artikel
von Rob welcher eine kurze Einführung zur Verwendung von Ruby mit Glade
gibt. Der generierte Code muss aber noch minimal angepasst werden. An passender
Stelle, etwa der initialize-Methode holt mensch sich das
Window-Widget und macht es sichtbar.
# Main Window aus Glade holen
@main = @glade.get_widget("main")
# Main Window sichtbar machen
@main.show_all
Wenn Ihr in Glade schon alle Signale setzt kreiert das Ruby-Skript gleich auch alle Methoden, um die Events zu behandeln. Anschliessend diese mit der Logik füttern und - Ratz-Fatz - ist alles fertig.
Aber ich kann doch gar kein Ruby? Na gut, Java und Python hab ich ja schon gemacht und das bissl Syntax hab ich mir weitestgehend bei Hackety Hack angeeignet (und ein klein wenig auch bei den Nachbarn und meinem Mitbewohner Rat gesucht).
Die meiste Zeit beanspruchten die Überlegungen für eine (hoffentlich) sinnvolle, grafische Oberfläche. Hier spielt das (nicht ganz stabile) Glade seine Stärken aus: Elemente lassen sich beliebig hin und her schubsen. Viele sinnvolle Elemente, wie etwa der About-Dialog sind schon vordefiniert und lassen sich mit minimalem Aufwand einrichten. Angeblich soll ja GTK+ in C nicht so schön zu programmieren sein, aber mit Glade finde ich es doch sehr hübsch und effektiv.
Wer nun wissen will, was ich da fabriziert habe, kann in den Code hineinschauen und sich gerne gTrex 0.0.1 herunterladen. Über Kommentare zu diesem noch nicht aufgeräumten Ranz-Code freu ich mich.
Netbeans hat ausser Syntax-Highlighting und das Programm aufrufen nicht viel gemacht, selbst eine brauchbare Code-Completion konnte ich nicht feststellen. Falls jemand weiss, wie letzteres für Ruby/Gtk+ einbinden kann, wäre ich für Hinweise dankbar. Ansonsten war rbbr noch beim aufspüren gesuchter Methoden hilfreich. Mensch ist ja schon von Java + Eclipse sehr verwöhnt, besonders der exzellenten Dokumentation via Javadoc...
Jetzt gilt es die Fehlermeldungen zu verarbeiten und ein sinnvollen Workflow zu implementieren. Der Filechooser-Button muss auch weg, da dieser eigentlich nicht für das Speichern gedacht ist. Die GTK+-Entwickler können sich einfach nicht vorstellen, warum mensch sowas benutzen sollte? Paar weitere Punkte zur Verbesserung stehen schon in der entsprechenden Tomboy-Notiz.
Links
Sat, 26 Jul 2008
Hab Euch noch lieb!
Vermehrt erreichen mich verzweifelte Anrufe, ob es mir gut geht, ich sauer sei oder sonst was nicht stimmt. Denn warum sollte ich sonst die ganzen Jabber-Nachrichten unbeantwortet lassen?
Der Grund des Übels liegt in meinem Spieltrieb. In der Post-GUADEC Euphorie habe ich meinen Jabber-Client gewechselt. Statt dem nun weitestgehenden brauchbaren Gossip verwendete ich dessen auf dem Kommunikations-Framework Telepathy basierenden Fork Empathy. Daher sind wohl eine mir unbekannte Menge an Nachrichten bei mir nicht angekommen. Ob wirklich Telepathy/Empathy schuld sind, oder nur mein Jabber-Server, weiß ich nicht. Schreibt mir doch bitte eine E-Mail, wenn Ihr Euch von mir kommunikativ vernachlässigt fühlt. Bitte gibt an, von welcher Jabber-ID Ihr an welche meiner Jabber-IDs geschrieben habt.
Alternativ könnt Ihr auch meinen öffentlichen Jabber-Account prometoys@jwchat.org eintragen und anschreiben.
Sat, 19 Jul 2008
Maemo SDK läuft
Was ist denn nun das richtige Wiki für Maemo? Angeblich das, aber das SDK Tutorial ist woanders...
Sat, 19 Jan 2008
Wird es bald ICQ via Jabber/XMPP geben?
DIe Gossip-Mailingliste ist doch nicht tot. Gestern plumpste eine Mail rein, die mich zu folgendem Blog-Eintrag führte:
Florian Jensen’s Weblog: AOL adopting XMPP aka Jabber
Noch ist alles unstabil und ein Test, aber wird AOL mit ICQ und AIM sich Jabber öffnen? Bringt MSN die Mutter der Instant-Messanger so in Bedrängnis?
Leider ist der Server ist derzeit nicht erreichbar. Ich konnte nichtmal mit Telnet ein Hallo vom Server erhaschen, geschweige denn mich anmelden.
Und wer es ganz authentisch will:
Schon mal bei den

prometoys@jwchat.org
Saturn