Welcome to our new series of strange bugs. Today we’ve got a brand new candidate called emptyness which is a really great star on the floor of PHP bugs. I was being stumbled upon this one by Thomas Puls who mailed me about the fact, that if you highlight a single 0 with GeSHi, it magically disappears. (more…)
06.03.2013
24.02.2013
Alternativnamen für Ubuntu
Da das Alphabet nur 26 Buchstaben hat, und Ubuntu doch schon recht weit fortgeschritten ist, hätte ich hier eine Reihe von Vorschägen, wie man nach Erreichen von Z fortsetzen könnte. Sei denn, der Spuk ist (wie böse Zungen behaupten) nach Z endlich vorbei. (more…)
22.11.2012
Schlimmer als Debian
Dass ich nun nicht gerade über die Aktualität von Debian erstaunt bin, dürfte relativ gut bekannt sein – egal ob wir von über die Geschmacksrichtung Veraltet, Instabil oder Kaputt reden. Aber dennoch eignet sich Debian als gutes Beispiel um eine neue Metrik einzuführen, die die Aktualität (oder Inaktualität) von Software beschreibt, da Software die in Debian enthalten ist zumindest soweit ausgereift ist, dass man sie produktiv einsetzen kann.
Inaktualität ist an sich zwar nichts Schlechtes – zumindest bei der bereits genannten Distribution kommt damit ein recht solides Werk raus, aber ab irgendeiner Stelle sollte man klar sagen, so alt und nicht älter. Im Folgenden möchte ich diese Grenze als „Debian-Grenze“ bezeichnen. (more…)
09.11.2012
Kaputte Krypto beim Indianer
Eigentlich wollte ich einzig mal das SSL-Deployment auf meinem Server etwas aufräumen und in diesem Zuge auch den Blog mal vernünftig auf SSL ziehen, aber aus der einfachen Aufgabe, 19 Zertifikate auf die passenden Subdomains zu heften wurde dann doch eine etwas umfangreicher Aufgabe. Nicht etwa wegen der Vielzahl an Subdomains (jede Subdomain musste für sowohl IPv4 als auch IPv6 konfiguriert werden), sondern wegen einem kleinen nervigen Bug in der kaputten Krypto. Ursache war dabei aber nicht etwa, dass er nicht verschlüsselt hätte, oder das falsche Zertifikat gezeigt hätte – nunja, damit rechnet man ja noch. Der Fehler war viel subtiler: Beim Aufruf von sub.domain.tld lieferte der Server das richtige Zertifikat, aber antwortete mit der Website für domain.tld. Also: Happy debugging! (more…)
04.11.2012
Doing updates
What does it take to get Debian to update a package?
More than two years, about 50 mails, 10 people from 3 different Debian-related IRC channels, 4 bugs filed by upstream and 2 security-related issues reported to the Security team … Sound’s legit IMHO. (more…)
EasterHegg 2012 in Basel
Eine der Veranstaltungen, zu denen ich schon länger einmal geplant hatte zu fahren, war das EasterHegg, eine kleine, eher familiär ausgerichtete CCC-Veranstaltung, bei der das Vortragsprogramm eher im Hintergrund steht. Das diesjährige EasterHegg fand – wie der Name vermuten lässt – rund um Ostern statt. Vom 6. bis 9. April trafen sich hierzu interessierte, vornehmlich aus den südlichen Regionen des deutschsprachigen Raumes, um in Basel gemeinsamen eine schöne Zeit zu haben. (more…)
Tägliches Drama
Manchmal wünscht man sich auch außerhalb von Belgien solch einen Button:
Das dürfte für viele Städte und Dörfer eine nette Verbesserung sein. Wozu man aber noch extra die Aufforderung brauch, den zu drücken, kann ich nicht ganz nachvollziehen 😛
(via IRC auf YouTube)
03.10.2012
27.08.2012
News in and around GeSHi 1.0.8.11
Being way overdue, and not only because some other projects askednagged for a release, I’m really pleased I finally had everything together last week so I could do the release of GeSHi 1.0.8.11. Besides the 18 new language files there are also two important bugfixes addressing problems in contrib scripts. (more…)
26.08.2012
Threads und Fibers
Für ein Projekt, welches ich bereits seit etwas längerer Zeit vorbereite, benötige ich eine sehr flexible IO-Schicht, mit der ich eine Reihe verschiedener Tätigkeiten wie IO und anderer Events möglichst flexibel parallelisieren kann. Nun gibt es für solche Aufgaben zwar üblicherweise Threads, aber da die Aufgaben zum einen sehr kurzweilig sind, andererseits aber unter gewissen Umständen blockieren können, funktioniert der Ansatz über Thread Pools nur bedingt. Eine vollständige asynchrone Bearbeitung der Ereignisse scheided auf Grund der Komplexität aber auch aus, da das System leicht erweiterbar bleiben muss. Was also benötigt wurde, ist ein Mittelweg aus beiden Ansätzen.
Ein Ansatz für einen solchen Mittelweg bieten Fibers, die analog zu POSIX Threads dem Programm erlauben, mehrere Ausführungsstränge zu erzeugen und damit die Abläufe in der Anwendung zu parallelisieren. Fibers fungieren dabei vollständig im User Mode und sind dadurch gegenüber PThreads oder gar geforkten Prozessen wesentlich leichtgewichtiger beim Wechseln des Zustands. (more…)