Algorithmik

Ich hatte gerade eine Idee für den schlechtesten Sortieralgorithmus, den es zum Sortieren von Dateien glaube ich gibt:

Aufgabe: Sortiere Dateien nach Größe.

Lösung: Starte pro Datei einen Thread und kopiere die Dateien nach /tmp. Die Reihenfolge, in der die Threads enden ist die aufsteigende Folge Ihrer Größe. Voraussetzung ist ein fairer Scheduler und kein Caching. Das wird vor dem kopieren am besten abgestellt oder man kopiert direkt auf Blockebene der Festplatte.

Compile Error s2-liplianin Ubuntu 9.10

Und wieder eine Notiz an die Welt da draußen, die mit ihren anfänglichen C-Kenntnissen auf die Suche nach einem Fehler waren, der sich wie in folgendem Listing ausdrückt: http://pastie.org/pastes/421392
Leider spuckt Google auch nur dieses Listing von jemandem, der scheinbar das selbe Problem hat, aus.
Damit Google auch das hier findet: error: 'struct v4l2_ext_controls32' has no member named 'controls'

Und was wars? Nix! Im wahrsten Sinne. Es fehlt nämlich eine Datei in den Linux-Headern bei Ubuntu. Wie kann das kommen? Ganz einfach: Das Makefile löscht sie nach einem make rminstall. Ich denke nicht, das dies beabsichtigt ist.

Na ja, wie bekommt man es wieder hin?
aptitude purge linux-headers-2.6.31-17-server
aptitude install linux-headers-2.6.31-17-server

Klar, es gibt auch ein reinstall, aber dabei kam die Datei nicht zurück. Und diejenigen, die mit dpkg blind umgehen können, können auch rausfinden, welche Datei nun gefehlt hat. Ich wollte (musste) schnell den TV-Empfang wiederherstellen. Blöd, wenn das dev-System im Wohnzimmer steht.

Ach, und noch ein Tipp für die Leute, die Mercurial noch nie angewendet haben: make update holt Änderungen ab und “aktiviert” diese dann im lokalen repo. Dann einfach make -j4 && make install und wir sind wieder aktuell.

Von OpenSource und Bäckern

Als ich noch bei einer mittelständischen Computerkette im Verkauf tätig war (ich war jung, Student und brauchte das Geld) kam es zur folgenden Situation mit einem Kunden:

  • Kunde Hallo! Ich brauche einen DSL-Router. Welchen können Sie empfehlen?
  • Ich Der Linksys Router hier ist ein guter.
  • Kunde Ah ja. Warum? Also, was macht ihn besser als die anderen?
  • Ich Nun, z.B. hat er eine open source Firmware… Kunde unterbricht mich, er scheint mit dem Begriff was anfangen zu können.
  • Kunde Oh! Nein, dann nehme ich den auf keinen Fall. Der ist ja dann total unsicher.

Tja, was soll man da sagen. Zur Erklärung oder Aufklärung kam es nicht, der Kunde verließ ziemlich schnell das Geschäft. In Gedanken beschäftige ich mich manchmal dennoch mit der damaligen Situation, denn wer weiß, wann man nochmal jemandem erklären muss, was open source ist und warum das nicht sicherer ist. Ich würde es nun folgendermaßen tun:

Stellen Sie sich zwei Bäcker nebeneinander vor. Der rechte verkauft Rosinenbrötchen, der andere ebenfalls. Geht man beim rechten ins Geschäft und fragt nach dem Rezept, weil sie einem so gut schmecken, würde man nur ausgelacht mit der Begründung “Da könnt ich ja gleich den Laden zu machen!”.
Beim linken hängt das Rezept im Schaufenster. Jeder kann es sehen. Man muss nichtmal ins Geschäft dafür gehen. Es kommt vor, dass Omas ins Geschäft kommen und sagen “Wenn sie das Mehl in der Milch länger quellen lassen, schmeckts noch besser!”. Oder ein Lebensmittelingenieur gibt den Tipp, die Fliegen durch Rosinen zu ersetzen. Alles wird vom Bäcker ausprobiert und wenn es sich bewährt hat, mit ins Rezept aufgenommen.
Klar, manche schreiben sich das Rezept ab und backen es nach. Da ist auch nichts gegen einzuwenden. Die meisten bleiben jedoch bei ihrem Stammbäcker, denn dort wird das Rezept am ehesten verbessert.
Mit der Zeit kommen sogar mehr Kunden zum linken. Denn so ein Kerngeschäft wie der tägliche Brot- und Brötcheneinkauf ist Vertrauenssache.

Wer jetzt den Einwand hegt “Hey, der Bäcker der rechten Bäckerei könnte sich doch auch immer am Rezept der linken bedienen!” hat volkommen recht. Die Lizenz besagt jedoch, dass alle Änderungen jedoch dem Autor des Rezepts mitgeteilt werden müssen.

HBCI auf Mac OS X

Es gibt scheinbar nicht viele Programme, die HBCI unter OS X ermöglichen. Vor allem beim Smartcards und Cardreadern hapert es. Von mir aus darf es ja auch was kosten, aber kurze Google-Anfragen fördern nur BankX und MacGiro zu tage.
Auf dem Open Source gebiet gibt es Hibiscus und Jameica, letzteres ist das Framework auf das ersteres aufbaut. Das scheint alles zu besitzen, was man so braucht, aber leider läuft es auf dem Mac nicht – zumindest nicht unter Snow Leopard mit ReinerSCT Cardreader. Für diesen benötigt man eigentlich nur einen Treiber, da die PC/SC API unter Mac von Rainer nicht unterstützt wird. Es gibt einen Wrapper von CTAPI zu PC/SC, dieser ist aber in einer Alpha-Version auf SourceForge und funktioniert bei mir auch nicht.
Nun habe ich einen Tipp von Jan zum Saldomat bekommen. Dieser sieht auch ganz nett aus, aber er geht etwas an meinen Befürfnissen vorbei. Um auf Kontoaktivitäten aufmerksam gemacht zu werden, ist er aber super.
MoneyWell habe ich mir noch nicht angesehen, es sieht aber ganz nett aus.

Am meisten gefällt mir jedoch Pecunia. Das ist Open Source, nutzt für HBCI AqBanking, was unter Linux gute dienste leistet – einschließlich Cardreaderunterstützung, welche von Pecunia jedoch noch nicht genutzt wird, und es ist ein waschechtes Mac-Programm. Das merkt man daran, dass es das wesentliche anzeigt, keine Tonnen von Controls in ein Fenster packt und damit einfach der Usability gezollt wird.
Erste Tests habe ich nun über das HBCI-PinTan verfahren gemacht und bin sehr zufrieden. Geladen werden kann das Tool über http://www.pecuniabanking.de/, diskussionen finden im Homebanking-Hilfe-Forum statt.

papaya CMS zum fünften

papaya CMS 5 ist nun draußen. Endlich! Bin mal gespannt, nachdem die Fachpresse sich seit Jahren mit der stable-Version abgegeben hat ist dies doch nun ein Quantensprung. Einen Teil dieser Entwicklung durfte ich als Programmiere miterleben – werde mir die Tage mal die finale Version ansehen. Hätte da auch schon ein Projekt …

Andere haben hier schon getestet:
papaya CMS auf heise,
papaya CMS bei Webmaster Pro,
papaya CMS im heise Newsticker,
papaya CMS bei Contentmanager,
und papaya CMS bei PHP-Magazin.