Kuarepoti-Dju

kuarepoti-dju - the josef multilingual blogosphere

30.7.2005

Datensicherung in der Sommerhitze

Categories: — josef @ 22:41

Nach vielen Wochen der Nichtbenutzung meines x86-PCs habe ich ihn mir heute wieder vorgeknöpft. Er ist zwar wesentlich schneller als mein Notebook, was vor allem bei größeren Projekten von zeitlichem Vorteil ist, aber seine Festplatte (eine IBM Deskstar mit 80 GB Kapazität) schaltete sich ab und zu ab. Witzigerweise begann dieses Phänomen kurz nachdem er zum Backup-Rechner umgerüstet wurde. Es ist besonders dann sehr hilfreich, wenn man gerade ein cdrecord anwirft und mittendrin der typische Festplatten-Strom-weg-Sound ertönt.
Kurz nach dem Einschalten war es oft noch möglich, die Platte für ein paar Minuten zu verwenden, aber auch damit konnte ich nicht mehr alle Daten heruntersichern.

Da ich lange kein Geld mehr in Hardware investiert habe und ich finanziell nicht mehr völlig fauché bin, habe ich mir bei Winner eine größengleiche Maxtor-Platte geholt. Eingebaut, Kubuntu draufgepackt und dann mal wieder das gemacht, was das letzte Mal im Februar dran war und mit schöner Regelmäßigkeit stattfinden sollte: Ein Vollbackup.

Dazu zählen alle möglichen Projekte (CVS/SVN-Repositories), Webseiten (sofern nicht Teil eines Projekts), Vortragsfolien, dynamisch erzeugte Serverdaten und das Homeverzeichnis meines Notebooks, dessen sensitive Daten nur via GnuPG auf die Backup-CD kommen. Rein statistisch fiel mir dann erstmal auf, wieviele neue Projekte sich so angesammelt haben. Einige davon (und auch die meisten Webseiten) sind noch nichtmal versioniert, weil ich das alte SourceForge-Repo nicht mehr nutzen möchte, und mein geplantes eigenes noch nicht eingerichtet habe. Auch Serverdaten sind nicht versioniert, dafür werden sie aber bequem per rsync frei Haus geliefert. Die Datenbank dieses Blogs gehört ebenso dazu wie Mailinglistenarchive, die Serverkonfiguration und diverse andere Datenbanken.
Die schwierigste Entscheidung war jedoch die Sicherung des Homeverzeichnisses, da ich traditionell mit einer CD dafür hinkomme. Nun steckten 1,3 GB darin und sämtliche Redundanzen mussten entfernt werden. Öffentliche Mailinglisten, archiviert seit Oktober 2004 - weg damit. Studienunterlagen für längst bestandene Prüfungen - weg damit. Vorlagen für Artikel, Interviews und Vorträge - weg damit. So blieben 700 MB übrig und wanderten auf einen Rohling. Zur Ausschließung aller Cache-Daten (Bildbetrachter-Thumbnails, Browsercaches, Gimp-Daten etc.) wäre vielleicht doch die Nutzung eines richtigen Backup-Programmes sinnvoll, sofern auch gleich Verzeichnisse wie Mail, .gnupg oder .ssh mit verschlüsselt werden können.

Eine 5-GB-Partition ist auf der neuen Platte noch frei, dort sollen dann wie auch schon bei der alten Platte von Zeit zu Zeit testweise andere Distros, BSDs oder sonstige Systeme installiert werden. Oft sind dies RPM-basierte Systeme, und demnächst steht mal wieder Mandriva an, welches zum letzten Mal als Mandrake 9.0 getestet wurde und bei meinen Projekten ein paar Bugreports zugeordnet hat. Der letzte Versuch in diese Richtung war eine Fedora Core 3 gegen Anfang des Jahres, die aufgrund eigentümlicher MySQL-Bibliotheksverzeichnisse keinen Ehrenplatz einnehmen konnte. Und nach Mandriva werde ich den Platz für die neue TUDix 3.0 benötigen, sofern denn ein Sponsor gefunden wird.

23.7.2005

Desktop Exchange Service: Progress

Categories: — josef @ 12:30

Today early in the morning I implemented OpenSearch support to the Hotstuff backend. Hotstuff is a bunch of Perl scripts which takes care of everything happending on the server. Now there’s hotstuff-search.pl for OpenSearch, hotstuff-scan.pl to verify and integrate uploaded content, hotstuff-downloads.pl to count the number of downloads and hotstuff-http.pl to enable HTTP uploads. The hotstuff-scan script has recently been extended to be able to operate on feeds directly, so that existing repositories can easily be imported for tests.

GHNS OpenSearch

Now to the client side. The current KNewStuff dialog is showing its age, and while there’s some Senior’s Health Care programme taking place in branches/work/knewstuff-features for KDE 3.5, we clearly need a better dialog for KDE 4. The HTML-based one currently used in KPDF is very nice already, however HTML isn’t really the best interface when it comes to usability, so which parts should be displayed as HTML and which shouldn’t has yet to be determined.

Now when not using a traditional HTTP/FTP provider, but instead the Desktop Exchange Service, a lot of advantages will improve the GHNS integration. First of all, it’s no longer necessary to download all items (or the latest 50 or so), but instead a narrowly-defined selection can be retrieved, based on categories and search terms. Second, user authentication happens transparently thanks to kio_http, so that the anonymous-only access will be supplemented by an authorised access. Third, based on the second advantage, direct interaction such as comments or ratings will be possible. The screenshot below is just a mockup, however the command line interface works quite well already.

GHNS Popup

In parallel to the software above, a new web interface is currently being built, using a template system so it can be reused - in KDE website style for the KDE edu page, for instance. The codename for this engine i Cocodrilo and as the name suggests, it should be more or less ready for aKademy.

22.7.2005

Wir sind Meta

Categories: — josef @ 23:43

Trotz gegenteiliger Prognosen scheinen sich diverse Webservices zu etablieren, auf die man frei zugreifen kann. Dabei ist frei noch näher zu definieren - es kann unbegrenzte Abfragbarkeit ebenso erlauben wie eingeschränkt auf 1000 Abfragen pro Tag oder, im Grenzfall, 100 Abfragen pro Nutzer, welcher sich mit einer Applikations-ID bzw. einem Schlüssel ausweisen muss.

Im Gegensatz zu traditionellen Diensten, die auf dem industrie-geprägten UDDI/SOAP/WSDL aufbauen und eigentlich nur von den großen IT-Firmen propagiert werden, kommen dabei in letzter Zeit immer mehr REST-basierte Dienste zum Einsatz. Diese funktionieren oft bereits durch eine HTTP-GET-Abfrage, deren URL die Parameter-Wertepaare enthält. Zurückgeliefert wird dann ein XML-Dokument oder eine andere Datenstruktur.

Sich dieser Prinzipien annehmend, existiert OpenSearch, ein von Amazon initiiertes Projekt, welches eigentlich nur ein REST-Format ist. Dabei wird analog einer WSDL die Eingabeschnittstelle anhand einer OpenSearchDescription-Datei (OSD) definiert, hingegen entfällt dies für die Ausgabe, da die Daten alle im RSS-2.0-Format ausgegeben werden.
Technisch eher unklug ist die Entscheidung, Tags wie AdultContent mit aufzunehmen. Auch die komplette Beschreibung als CDATA-Sektion inklusive HTML-Daten ist ziemlich schwer handhabbar, speziell in nicht-HTML-Ausgabeformaten. Insgesamt betrachtet ist OSD aber ein netter Ansatz, der zumindest einen Startpunkt für die automatisierte Nutzung eines Dienstes enthält.

Dies scheint auch für die Wikipedia-API ein mögliches Konzept zu sein. Da die Wikimania in Frankfurt in wenigen Tagen stattfinden wird, wird sich diese Frage schnell klären. Die Einbindung in KDE erfolgt dann nicht nur über einen speziellen Client namens Knowledge, sondern auch über den Webservice-Navigator Kung, der für das Ergebnis den RSS-Reader aKregator als KPart einbinden könnte.

Leider enthält auch die OSD in keinster Weise semantische oder auch nur beschreibende Merkmale. Diese Lücke füllt die Ergänzung dieser Dateien mit GUIDD-Definitionen, an denen ich gerade arbeite. Soweit also ein aktueller Einblick in meine Hiwi-Arbeiten.

18.7.2005

Noch mehr IPv6

Categories: — josef @ 16:36

Irgendwie laufen alle Dienste seit dem letzten Kernelupdate automatisch mit IPv6, sofern unterstützt. Das ist an und für sich ganz gut. Nur ist leider die Unterstützung dafür auf glibc-Ebene immer noch nicht voll durchdacht. Wie bekommt man den (bzw. irgendeinen) Hostnamen von dem Rechner, welcher am anderen Ende eines verbundenen Sockets sitzt?
Hier ist die Änderung im Quelltext, dafür wird es noch eine Wrapperfunktion char* ggz_peername(int s) geben.
Sehr ärgerlich ist, dass die Funktion ntohl die Unterscheidung nicht erkennt und brav als Rückgabewert 0 zurückliefert - mit der IP-Adresse 0.0.0.0, was ein connect() quasi in ein bind() umwandelt.
Ebenfalls betroffen sind alle Programme, die SDL_net 1.2.x nutzen. Es gibt schon einen alten Patch dafür, den man sogar API-kompatibel machen könnte, um nicht erst SDL_net 2.0 abwarten zu müssen, um ihn einzpflegen. Dazu später mehr (Maintainer sind kontaktiert).

12.7.2005

Talk about Free Games

Categories: — josef @ 07:21

Next weekend (on Saturday, July 16) I’m going to give a talk entitled The World of the Free Games at the Pforzheimer Linux-Infotag. Thankfully there’s someone (hi kniffo) driving down there also as the location is close to where LinuxTag Karlsruhe took place, and it’s not quite the norm for me to travel to the other end of Germany once per month….

The topics will include: Early game efforts (like BSD games or Nethack), the development of games before the hype started (Freeciv, for instance), the big hype in Linux games in 1999 and the history from then onwards. Of course, some adverts for GGZ will also be included.

6.7.2005

FFII und Slashdotting

Categories: — josef @ 22:17

Die Welt feiert heute das 1:1 der Softwarepatentgegner, nachdem uns in der ersten Halbzeit in einem undurchsichtigen Foulspiel der Befürworter das 0:1 aufgezwungen hatte. Die FFII-Mannschaft, obgleich durch die Strapazen der letzten Wochen leicht angeschlagen und in der Unterzahl spielend, gewann dennoch mit Hilfe der unzähligen und lauten Unterstützer.

Ein ganz anderes Thema ist:

jos00: [HS] Traffic-Warnung

Diese Grenze wurde gestern somit bei einer Ausnutzung von 105,6%
überschritten.

Ja was ist denn dort passiert? Nach einer unschlüssigen Denkpause, ob ich in der Nacht zuvor nicht doch wieder schlafwandelnd das eine oder andere Projekt veröffentlicht hatte, warf ich einen Blick auf die Logdatei.

mindx.josefspillner.de xxx.xxx.xxx.xxx - - [05/Jul/2005:14:35:17 +0200] “GET /kde/plasma/ HTTP/1.1″ 200 1499 “http://www.google.co.uk/search?q=KDE+plasma&…”

Aha. Der Aaron ist schuld gewesen. Denn sein Plasma ist von Slashdottern geschmolzen worden, und so zog die Horde zu Google, um auf mein Plasma zu stoßen. Blöd nur, dass die Projekte beide nichts miteinander zu tun haben, auch wenn beide KDE-bezogen sind. So habe ich zur Un-Bildung von ein paar Slashbots beigetragen. Rache ist süß.

3.7.2005

Webservices auf der Kommandozeile

Categories: — josef @ 23:39

Für den Webservice Desktop Exchange Service habe ich in Perl einen kleinen Kommandozeilenclient geschrieben. Er ermöglicht es, publizierte Datensätze anzusehen bzw. herunterzuladen sowie selbst Daten zu publizieren. Mit wenigen Modifikationen sollte er für Flickr, Google und dergleichen nutzbar sein.

Einige Operationen, die stateless verlaufen, sind dabei direkt über die Kommandozeile abrufbar.

$ ./wsclient.pl –information
Provider: KStuff Development Server
Server: Desktop Exchange Service (DXS) (Version 0.2)
URL: http://kstuff.org/

Diese unscheinbare Zeile hat schon SOAP::Lite, Getopt::Long und XML::DOM gequält. Richtig interessant wird es aber dann, wenn man es ohne Argumente aufruft - dann landet man in einer kleinen Shell. Genauer gesagt ist es eine Term::Shell.


$ ./wsclient.pl
Webservice is set to: http://localhost/cgi-bin/kstuff-ws.pl
dxs> categories
Category: ccheckers/theme
Category: cchess/theme
Category: hastings1066/level
Category: image/unknown
dxs> list image/unknown
Entry: (10) Staunton (Asif Ali Rizwaan)
Entry: (6) Gtk+ Default (Jonas Ström)
Entry: (7) Dragon (Jonas Ström)
dxs> details 6
Name: Gtk+ Default

Preview: http://localhost:10000/hotstuff/directory/image/unknown/preview_defaultgtk.png

Nimmt man nun noch LWP::Simple hinzu, so kann man die angegebenen Dateien gleich betrachten. Wobei diese Implementierung nur vorläufig ist - später soll dies natürlich über den Webservice selbst ablaufen.
Interessant ist noch das Cache-Concept - alle Daten, die irgendwie gespeichert werden können, werden es auch - das fängt bei der Benutzer-Authentifizierung an (dank HTTP(S) braucht man sich darum nicht groß zu kümmern), und umfasst auch alle übertragenen Daten.
Jetzt fehlt nur noch eine schicke GUI. Aber die kommt schon bald…

1.7.2005

Organising my slides with Dispositionator

Categories: — josef @ 17:32

Yesterday in the evening I asked around on #debian.de whether anybody knew a tool which, although not easy to define, would be something in between an online picture gallery and a CMS. What I tried to accomplish was the catalogisation of my talks which I give occasionally, together with slides and papers, optional translations and various derivates of different formats, such as the HTML export. In addition, the tool should allow sorting and filtering the entries, and it should be easy to integrate it into existing webpages, which more or less makes templates obligatory.

Well, just a few hours into the idea (no, I didn’t sleep much last night) the release 0.1 of Dispositionator saw the light. It is only the 2nd Cool Projects newcomer this year (after TarDiff), and I’m glad that finally I had time to hack something on my own again.
Technically, a lot of details could be improved, but even the first version already does a pretty good job. Support for export and import of XML data with Pentabarf comes to mind and, equally interesting, a desktop frontend for integration with KPresenter and the like.

The origin of the name is influenced by Pyntor, a presentation tool written in Python. The only logical choice of name had to include a latino word (be it Spanish or Portuguese or even both) and it should express that I want to make my slides available to everyone in an easy way. Voilà, making them disponível is what the intent was about.

An awkward detail was that this time I forgot to set the licence in the freshmeat announcement and it was set (automatically?) to “Free to use but restricted". This, sir, is not quite the truth :-)

Powered by WordPress