Category Archives: Uncategorized

Schicker Minirechner mit Debian

Den Titel der Heise-Meldung musste ich doch nach der Begutachtung des Gerätes glatt mal übernehmen.

Die Rede ist von einem Debian-basierten Desktop-Rechner im Office-Format. Das heißt, er ist nicht überdimensional groß, sondern hat mit (18×11,2×4,8)cm das Format eines etwas dickeren Manuscripts, komplett passiv gekühlt, damit also kaum hörbar und hat dazu nur 12 Watt Leistungsaufnahme, was einen Dauerbetrieb über den gesamten Arbeitstag unbedenklich macht.

Vorinstalliert ist besagtes Debian-System mit dem KDE-Desktop, Firefox und OpenOffice. Damit sollten die meisten Anwendungsfälle abgedeckt sein.

Leider gibt es keinen Testdownload des angebotenen Systems – Debian lässt sich schließlich auf die unterschiedlichsten Arten konfigurieren, wie die verschiedenen Derivate zeigen und auch über die Update-Fähigkeit werden keine Aussagen gemacht. Zweites Manko ist der Preis von 450 Euro – dafür bekommt man durchaus schon einen recht leistungsfähigen PC oder kann einen weniger leistungsfähigen PC 2 Jahre lang mit Strom versorgen. Die Office-Eigenschaften müssen hier gezielt gewünscht und mit viel Geld erkauft werden. Denkbar wäre aber eine Subventionierung solcher Geräte im Rahmen eines Umweltschutzprojektes.

Für mich käme das Gerät wohl nicht in Frage, da es als Entwicklungsrechner nur begrenzt einsetzbar ist. Sowohl Prozessor als auch Hauptspeicher entsprechen nicht mehr den heute üblichen Voraussetzungen. Trotzdem würde ich darauf gern mal ein bis zwei Tage testarbeiten – ich kann mir gut vorstellen, dass sich alle anderen Dinge damit sehr gut erledigen lassen.

KDE PIM: Kalenderreparatur

Ich habe mich vorgestern abend gefreut, dass doch tatsächlich noch eine Version 3.5.8 der KDE mit einer großen Menge von Bugfixes über den Debian Paketstream geliefert wurde. Leider kam dann gestern auch die Ernüchterung: Seit dem Update funktionierte mein Kalender nicht mehr.

Um auch von anderen Rechnern aus auf meine Kalenderdaten zugreifen zu können, benutze ich einen IMAP-Account zur Ablage der Kalenderdaten. Die einzelnen Einträge werden dabei im ical-Format in jeweils eine E-Mail gelegt. Ich finde das sehr praktisch, weil es sich gut speichern lässt, für IMAP eine Menge Bibliotheken vorhanden sind und man so auch mit anderer Software leicht zugreifen kann.Die Fehlermeldung war:

libkcal: ERROR: Can't read uid map file

Damit das im Kontact verwendet werden kann, muss man im KMail einen Groupware-Ordner angeben, unterhalb dem dann die PIM-Daten (Kalender, Notizen, Kontakte und Journal) abgelegt werden. Seit der Version 3.5.8 (bzw nach den Newsgroups wohl schon ein wenig früher) hat sich diese Konfiguration wohl geändert, jedenfalls ist nun ein Eintrag notwendig, um zu kennzeichnen, welcher IMAP-Account für die Daten zuständig ist. Das musste ich von Hand nachpflegen.

Eine Anleitung, was dabei zu tun ist, gibt es in folgendem Foreneintrag: https://bugs.launchpad.net/ubuntu/+source/kdepim/+bug/139433/comments/7

Damit funktioniert mein Kalender nun wieder und ich kann mich auch wieder ordentlich organisieren. Nebenbei ist mir aber mal wieder aufgefallen, wie sehr man sich doch von der Funktion bestimmter Tools abhängig macht. Es wird Zeit, dass ich mir eine zweite Alternative für den Zugriff auf diese Kalenderdaten suche.

Spielverderber Pentium M

cpu-z Ich bin vor ein paar Wochen umgezogen. Mein neuer Mitbewohner hat ebenso wie ich einen Heimserver mit in die neue Wohnung getragen. Damit wir Strom sparen, soll aus den zweien ein neuer werden, auf dem dann mit Xen mehrere virtualisierte Systeme laufen. Im Zuge dessen schaue ich mir gerade verschiedene Plattformen an. Zur Auswahl stehen da unter anderem eisXen, von dem zur Zeit intern die beta 6 getestet wird. Außerdem in der engeren Wahl der c’t-Debian-Server, der ebenfalls Xen als Basis nutzt. Vielleicht wird es auch eine selbstgestrickte Lösung mit Debian oder Gentoo, mal sehen.

Vorher wollte ich allerdings die eine oder andere Sache testen. Da wir nicht unendlich viele Festplatten zur Verfügung haben, dachte ich mir, dass man das auch mit VMware probieren kann – dachte ich. Da hab ich nun 2 GB Arbeitsspeicher in meinem Notebook und einen fortschrittlichen Prozessor und dann hat Intel im Dothan-Kern die PAE weggelassen. Das macht das Ausführen eines Xen-Kernels auf dieser Maschine (auch in VMware) unmöglich. Blöde Spielverderber! :-(

Virtualisierung: Protected Mode 2.0?

Mit der Einführung des Protected Mode auf den i386-Prozessoren und der Ermöglichung des hardwaregestützten Multitasking-Betriebs wurden Rechnernutzung und Betriebssysteme auf dem PC-Sektor revolutioniert.

Lange Zeit gab es keine Neuentwicklungen – wenn man von speziellen Befehlssätzen wie SSE, MMX und multiskalaren Architekturen absieht (die den Prozessor zwar schneller und leistungsfähiger machen, aber keine konzeptuellen Neuerungen bringen).

Mittlerweile wird Virtualisierung immer mehr zum Thema und auf Prozessorebene mit der Paravirtualisierung zunehmend unterstützt.

Einige Fragen, die mir gerade in den Sinn kamen:

  • Ist die Virtualisierung der Nachfolger des Protected Mode?
  • Wird sie ebenso viel Auswirkungen auf unsere Systeme haben?
  • Und wie werden spätere Nutzungsszenarien aussehen?
  • Findet man neue Konzepte für die Struktur eines Desktop-Betriebssystems?
  • Oder bleiben wir dabei, mehrere Systeme auf einer Maschine zu integrieren und belassen Virtualisierung in einem “Nischendasein” für Serverarchitekturen?

Subversion Keywords und Doxygen

Gestern habe ich den Arbeitstag damit verbracht, mir selbst Doxygen näher zu bringen und mein Projekt mit den entsprechenden Kommentaren zu versehen. Laut interner Konvention gehört hier an den Anfang jeder Datei ein für Doxygen formatierter Kommentarblock mit Standardinformationen, wo unter anderem auch spezielle Tags drin stehen, die Subversion beim Commit/Update automatisch aktualisiert. Der dafür relevante Teil sieht jetzt (fast) so aus:

/**
 * \$Revision: 19 $\n
 * \$LastChangedBy: dahl $\n
 * \$LastChangedDate: 2007-08-16 11:04:15 +0200 (Thu, 16 Aug 2007) $\n
 */

Der Grund für diesen Blog-Eintrag ist die Tatsache, dass man das erste Dollarzeichen escapen muss, um in der von Doxygen erzeugten Doku auch tatsächlich diese Tags wiederzufinden. Der Grund dafür wiederum liegt darin, dass Doxygen normalerweise Umgebungsvariablen, die mit dem Dollarzeichen beginnen, expandiert. Das kann man mit gutem Willen aus der Doku zu Doxygen raus lesen. Am Ende der Zeile hab ich dann noch jeweils einen Umbruch gesetzt, damit nicht alle Tags in einer Zeile der Doku landen.

Ein kleiner Schönheitsfehler besteht dabei noch: die Einträge landen genau so, nämlich mit Dollarzeichen und Bezeichner in der Doku. Das Problem hat man bei anderen Projekten auch, die was mit den Tags von Subversion anfangen. Um das noch schicker zu machen, müsste man noch einen Filter für Doxygen schreiben. Wenn da jemand was passendes kennt, bitte mal bei mir melden! ;-)

Update: Mit doxygen 1.6.2 unter WindowsXP und C-Quellcode tritt das Problem nicht mehr auf. Man muss hier nicht mehr die Dollar-Zeichen escapen und doxygen filtert das selbst sauber raus und zeigt es schick formatiert an.

Die Auferstehung des Zaurus

Ich möchte mich mit einem Gerät beschäftigen, dessen Anschaffung mich 2002 eine Menge Geld gekostet hat und das seit dem bei mir herumliegt, weil in der Zeit keine Software entwickelt wurde, die es wirklich nutzbar macht: meinem PDA.

Es handelt sich um einen Sharp Zaurus SL5500-G, der von Sharp damals als Vorreiter einer neuen Generation von Handhelds auf dem Markt platziert wurde. Neben der für damalige Verhältnisse ausgezeichneten Hardwareausstattung war besonders, dass der Zaurus keine Eigenentwicklung von Sharp oder Closed Source Software, sondern Linux als Betriebssystem nutzt. Bis dahin wurden PDAs, überwiegend von Palm, mit eigener Software ausgeliefert, derer man nun wiederum selbst ausgeliefert war. Änderungen oder Erweiterungen von Seiten der Nutzer waren kaum möglich. Dies sollte nun ein Ende haben, das Sharp unter anderem mit der Einführung des Begriffs Personal Mobile Tool einläuten wollte.

Leider ist die Vision nicht aufgegangen und trotz der Bemühungen, eine Community um den Sharp herum aufzubauen und einem Nachfolger, der schon mehr an einen Kleinrechner erinnert, kam das Gerät in Europa nicht an. Schuld waren wohl die hohen Preise für das Gerät, etwa das fünffache eines herkömmlichen PDA, und der Umstand, dass solch ein Mini-Computer eigentlich nur für Bastler wirklich interessant ist. Eine Menge Programme wurden zwar geschrieben oder angepasst, selten wurde dabei jedoch Rücksicht auf die Besonderheiten der Benutzerschnittstelle genommen und auch die Synchronisation der Daten war stets problematisch. Der Name Zaurus, der ganz bewusst vom Dinosaurier abgeleitet ist, wurde zum Programm.

Der Zaurus war für damalige Verhältnisse sehr gut ausgestattet und auch heute kann man mit der Hardware noch einiges anfangen, auch wenn sie nicht auf dem neusten Stand ist. Zur Ausstattung gehören (alle Angaben ohne Gewähr):

  • Ein 240×320 Pixel großes Display mit einer Farbtiefe von 12 Bit und TouchScreen-Funktionalität, die sowohl mit dem Stift als auch dem Finger nutzbar ist
  • Ein Feld, das die wichtigsten Buttons zur Navigation und Schnellauswahl enthält
  • Eine Tastatur, die sich unter diesem Feld befindet. Trotz der geringen Größe kann man darauf erstaunlich gut tippen
  • Ein CF-Slot, mit dem sich das Gerät WLan-fähig machen lässt
  • Ein Slot für SD-Karten zur Speichererweiterung
  • 64MB interner Speicher
  • natürlich noch viele Dinge mehr, die jedoch für die Planung der Softwareausstattung nicht direkt vordergründig sind

Zum Aufladen und synchronisieren der Daten ohne WLan-Erweiterung kann man den Zaurus auf ein Cradle stellen, der mit dem Ladegerät verbunden ist und zusätzlich per USB an den PC angeschlossen werden kann.

Zusammen mit der Transporthülle hat das Gerät ungefähr die Größe eines Taschenplaners. Damit ist es zwar zu groß, um so bequem mobil wie ein Handy zu sein, jedoch völlig hinreichend, wenn man eine entsprechende Ausstattung sowieso mit sich führen muss.

Der Zaurus liegt bei mir, wird immer mal aufgeladen und betrachtet, hat mittlerweile sogar Zuwachs bekommen, weil ich einen ebenfalls nicht gebrauchten Zaurus günstig erwerben konnte, erfüllt aber keinerlei Nutzen. Deswegen mache ich mir gerade (ganz nebenbei und ohne “commitment” zu einem real existierenden Projekt) Gedanken darüber, welche Anforderungen ich denn an eine Software stelle, die den Zaurus wirklich nutzbar macht. Die Ergebnisse werde ich hier Stück für Stück posten.

Notebook-Reparatur

Nachdem mein Notebook – Yakumo irgendwas, Jahrgang 2003 – mit einem immer aktuteren Wackelkontakt an der Ladebuchse heute gar keinen Strom mehr nehmen mochte, habe ich mir ein Herz gefasst und mich an der Reparatur desselbigen versucht.

Dabei musste ich die Erfahrung machen, dass es eine signifikante Gemeinsamkeit mit modernen KFZ gibt: Wenn man unter die Haube schaut – so man sie öffnen kann – sieht man, dass man gar nichts sieht. Natürlich muss bei einem Notebook darauf geachtet werden, die Hardwarekomponenten möglichst Platzsparend zu verbauen. Dass aber einmal eine Reparatur anstehen könnte, scheint überhaupt nicht Teil es Konzepts zu sein.

Zu der kompakten und speziellen Bauweise kamen drei Schwierigkeiten: Zuerst die technische, dass ich keinerlei Anleitung hatte, wie ich das Gerät überhaupt zuerlegen sollte; insbesondere unter dem Gesichtspunkt, dass es auch wieder funktionstüchtig zusammengebaut werden musste.  Zweitens der psychologische Druck des Wissens, dass es bei einem Bekannten mit gleichem Notebook-Typ schon einmal schiefgegangen ist. Und schließlich das logistische Problem, dass ich das Notebook so schnell wie möglich wieder brauche, um meine Arbeit erledigen zu können.

Ich machte mich also unter gewohnt sub-optimalen Voraussetzungen daran, mein einziges Notebook zu zerlegen. Anleitungen aus dem Internet haben mir nicht weitergeholfen. Zwar war der Tipp, mit dem Abmontieren der Tastatur zu beginnen, nicht so schlecht, jedoch musste zuerst die Blende oberhalb der Tastatur am hinteren Teil gelöst und nach unten herausgezogen werden, ehe die Schraube für die Tastatur sichtbar wurde. Ebenso mussten alle austauschbaren Hardwarekomponenten (Festplatte, Speicher, WLan-Adapter) entfernt werden, um an alle Schrauben zu kommen, die die Gehäusehälften zusammenhielten. Natürlich musste auch das Display abgeschraubt werden, um es an zwei mit leichten Steckern befestigten Schnüren baumelnd maximalem Risiko auszusetzen.

Schlussendlich konnte ich mich bis zum Mainboard vorarbeiten. Weiter aber auch nicht. Es ist mir partout nicht gelungen, das CD-ROM-Laufwerk zu lösen und damit das Mainboard aus der unteren Gehäuseschale zu nehmen. Schwierigkeit Nummer zwei im Hinterkopf habe ich darauf verzichtet, am Notebook in diesem labilen Zustand experimentelle Gewalt anzuwenden.

Auch wenn ich keinen direkten Blick auf die Lötstellen werfen konnte, bin ich doch zu folgender Diagnose gekommen: Die Buchse, mit der tagtäglich das Ladegerät mit dem Notebook verbunden wird, sitzt zwar noch fest auf der Platine – und das, obwohl keine weiteren Befestigungsmaßnahmen vorgesehen sind – jedoch ist sie in sich verzogen und wackelt. Das Ergebnis ist ein schnöder, aber nerviger Wackelkontakt, der sich aller Voraussicht nach progressiv verhalten wird.

Als nächstes werde ich nun wohl prüfen, ob ich eine Ersatzbuchse bekommen kann, an der kein komplettes Mainboard hängt (der Fehler trat vor drei Jahren schon einmal auf und wurde beim Garantie-Service in einem 4 Monate langen Prozess durch Austausch des Mainboards behoben) und mir das kaputte Gerät besorgen, um eine Probe-Operation vorzunehmen, herauszufinden, wie man das CD-Laufwerk entfernt und mir eine bessere Befestigung einfallen zu lassen.

Materielle Gewinne ergab die knapp zweistündige Aktion nicht. Aber ich weiß nun, wie mein Notebook auseinanderzunehmen ist und dass ich mich für solche Aufgaben nicht unbedingt freiwillig melden werde.

Gute Arbeit

Gestern gehört in der ersten Besprechung zu meiner Diplomarbeit:

Entweder man schreibt ‘ne gute Arbeit, oder man macht gute Arbeit.

Das klingt nach einer Herausforderung beides in sechs Monaten unter einen Hut zu bekommen. *gg*

Prozessorkampf

Im Rahmen meiner Studienarbeit habe ich ein recht umfangreiches Rechenmodell gebaut. Heute hatte ich noch ein paar nette Tools gefunden, um Fortschrittsbalken zu benutzen und dann kam mir die Idee mal mein Notebook gegen den Boliden im Rechenlabor der Uni antreten zu lassen.

Die Kontrahenten:

  • Intel Pentium M 725 (Dothan-Kern) mit 1,6 GHz, 2 MB Level 2 Cache und beigestellten 512 MB RAM
  • Intel Pentium 4 (Prescott-Kern) mit 3,6 GHz und HyperThreading, nur 1 MB Level 2 Cache aber dafür 1,5 GB RAM.

Beide 90nm-Prozessoren lieferten sich ein erbittertes Rennen. Am Ende überquerte der Notebookprozessor nach knapp 250 Sekunden die Ziellinie, der Stromfresser brauchte 290 Sekunden bei mehr als doppelt so großem Prozessortakt.

Fazit: Es kommt eben doch auf die Technik an und der große Monitor ist jetzt nachgewiesenermaßen der einzige technische Grund, warum ich noch im Labor arbeiten sollte… ;-)

Backup auf DVD-RAM

Ich hatte am Sonnabend an den Build-Skripten für meine Eisfair-Pakete geschraubt. Sonnabend ist auch einer von zwei Tagen in der Woche, wo mein Heimserver Backups macht, die ich für gewöhnlich auf DVD-RAM kopiere. Da das immer die gleichen Arbeitsabläufe sind und ich gerade drin steckte im Programmieren, hab ich mir für das Backup ein kleines Skript geschrieben, das diese Arbeitsabläufe auf den Aufruf des Skriptes zusammenfasst. Das Skript mal gekürzt:

#!/bin/sh
. /var/install/include/eislib
mecho -info "Mounting DVD..."
mount -t udf /dev/cdrom /cdrom
mecho -info "Removing old backup..."
rm -f /cdrom/backup-zip/*
rm -f /cdrom/svn/*
mecho -info "Getting free space from DVD... "
DVDFREEMB=`df --block-size=M | awk '//dev/cdrom/ {print $4}'
    | sed -e 's/(^[0-9]*).*/1/'`
mecho -info "Getting size of home dir backup..."
cd /mnt/data/backup/backup-zip/cron
CUMBUSIZE=0
for i in `ls -l --block-size=M | awk '/home_1/ {print $5}'
    | sed -e 's/(^[0-9]*).*/1/'`
do
	CUMBUSIZE=`expr $CUMBUSIZE + $i`
done
cd /mnt/data/backup
SVNSIZE=`du --block-size=M -s svn/ | cut -f1
    | sed -e 's/(^[0-9]*).*/1/'`
CUMBUSIZE=`expr $CUMBUSIZE + $SVNSIZE + 25`	# sicherheitsfaktor
if [ $CUMBUSIZE -gt $DVDFREEMB ]
then
	mecho -error "Backup is $CUMBUSIZE MB but only $DVDFREEMB MB are free on DVD. Aborting..."
	exit 1
else
	mecho -info "Backup is $CUMBUSIZE MB and $DVDFREEMB MB are free on DVD. Continuing..."
fi
# script continues with copying, cutting off here...

Das Debuggen wurde mir in diesem Fall künstlich erschwert, weil meine eine DVD-RAM allem Anschein nach jetzt kaputt ist. Das Backup selbst dauerte doppelt so lang wie normal mit diversen Fehlermeldungen vom UDF-Dateisystem im Syslog und bei der letzten Datei wurde wider Erwarten abgebrochen mit der Meldung es sei nicht genug Platz auf dem Datenträger. Mehrfaches Neuformatieren hat nichts gebracht. Das ist eine beinahe schockierende Erkenntnis, gelten DVD-RAM-Medien doch als wesentlich sicherer für Backups als herkömmliche DVD±RW. Das Backup lief mit einem frischen Medium dann in einer guten Stunde durch.

Eine andere Sache ist das Skript selbst nochmal. Ich lasse mir von den unterschiedlichen Tools Speicherplatz in Megabyte ausgeben, d.h. die Angaben sind beispielsweise “512M”, also immer eine Zahl mit dem “M” dahinter. Mangels tiefergehender Kenntnisse in awk jage ich das weiter an sed wo ich dann mit einem regulären Ausdruck alles hinter den Ziffern entferne. Das ist ja nun schlechter Stil, normalerweise sollte awk das direkt selbst machen können, d.h. in die geschweiften Klammern muss nicht nur “print” rein…
Wenn jemand eine Idee hat, wie das zu bewerkstelligen ist, bitte ich Euch es mich wissen zu lassen!