Solderin' Skaters Logo 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".

Bildschirmfoto, was ein Chat-Client mit Personen in der Nähe zeigt

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!

Themenbereich: /digital | Trackback | Kommentare (0) | Link zu diesem Artikel

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).

Ansicht der fünf Fenster der Applikation gTrex

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

Themenbereich: /digital | Trackback | Kommentare (0) | Link zu diesem Artikel

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.

Themenbereich: /digital | Trackback | Kommentare (0) | Link zu diesem Artikel

Sat, 19 Jul 2008

Maemo SDK läuft

Screenshot vom GNOME Desktop mit Hildon-Desktop in Xeqpyr

Was ist denn nun das richtige Wiki für Maemo? Angeblich das, aber das SDK Tutorial ist woanders...

Themenbereich: /digital | Trackback | Kommentare (2) | Link zu diesem Artikel

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:

Mitschnitt der des Chatrooms jdev

Themenbereich: /digital | Trackback | Kommentare (2) | Link zu diesem Artikel

 

[1] 2 3 4  »

Mail-Icon Keywan Najafi Tonekaboni