henso.com
Home
Archive
Search

rss feed for this page

DELI
HLM

LNGR
EURN
OON
CHLM
POOL
ELPH
RIST
SOFA
SENS
P3K
FM4
SCRP
MAL
RNS
GDNY
ELEG
OSNS
SLSH

Mozilla, baby!

antville.org
 Wednesday, 1. August 2001 

Hitzewelle? Welche Hitzewelle?

Gedanken zum automatischen Spiegeln von Websites: Der österreichische Mirror von Python.org verdeutlicht, warum es nicht immer eine Tugend ist, auf dem allerletzten Stand zu sein.

Der gestrige Tag wird wohl als einer der produktiveren meines Lebens in meine Biografie eingehen. Fast 40 kb diffs all across Helma. Natürlich hab ich mehr Code weggeschmissen als neu geschrieben, aber das ist ja das schöne.

Der Anlass war, dass heute zwei Bug-Reports von Tom Förster und Chris Langreiter kamen, die beide die selbe Wurzel hatten: die Arten, wie Helma kurzlebige und persistente Objekte intern referenziert. Es liegt nämlich in der Natur der Sache, dass diese Objektarten verschieden gehändelt werden müssen: kurzlebige Objekte müssen direkt "verdrahtet" werden, weil sie sonst nirgends existieren, während langlebige Objekte indirekt über eine Zwischenschicht verbandelt werden, die die Objekte aus der Datenbank holt, wenn sie gebraucht werden, und wieder aus dem Cache rausschmeisst, wenn anderswo mehr los ist.

Bisher war das so gelöst, dass beide Objektarten von unterschiedlichen Klassen dargestellt wurden, die beide das selbe Interface implementierten: helma.objectmodel.Node und helma.objectmodel.db.Node. Wenn ein Objekt von einem Zustand in den anderen wechselte, musste quasi eine Klon-Instanz des gesamten Objektbaums mit der neuen Klasse erstellt werden - höchst problematisch, weil zu diesem Zeitpunkt bereits eine Vielzahl von Verweisen auf das Objekt existieren können (sowohl Hop-intern als auch im Javascript-Interpreter), die alle von der Umwandlung benachrichtigt werden müssen.

Die richtige Lösung des Problems war peinlich einfach: Eine smarte Referenzklasse namens NodeHandle, die weiss, wie sie grad auf ihren Node zugreifen muss. Die Klasse bleibt dieselbe und ist von Anfang an persistent-capable. Die Klasse für kurzlebige Objekte hingegen wird nur noch für jene Objekte benutzt, die niemals in Datenbank eingecheckt werden dürfen.

lnk + 8 cmt (chris, hannes, hns2, hns)
 Tuesday, 31. July 2001 

Rafe Colburn: "So I've been using the Helma XML-RPC classes for Java at work lately, and the only comment I can make is that it's amazing that code this bad has become a de facto standard for something important. I have a feeling that as soon as I get some free time, I'm going to essentially rewrite them so that the code actually makes sense." Hehe. Ich mag Leute mit starken Meinungen und gesundem Selbstvertrauen. (Via JRPK)

Worse is better, ein Ansatz den ich zu 100 Prozent unterschreibe. Think Netscape 0.9 und Windows 3.1.

Come to think of it: Ein Megabyte Daten per SMS übertragen kostet 1000 Dollar. (Oder was in der Richtung - haben heute die schlauen Köpfe bei ORF ON ausgerechnet.) Eindeutig die teuerste Methode der Datenübertragung, und obendrein noch unzuverlässig und asynchron. Dabei ist SMS ein Service, der die Telcos fast nichts kostet, wie von Insidern zu hören ist. Die These, dass die Businesskunden der Mobilnetzbetreiber von SMSenden Teenagern subventioniert werden, lässt sich also schwer von der Hand weisen.

Verdammt, die Total-Cost-of-Ownership-Rechnung bei Vanilla kommt zum Ergebnis "fast geschenkt". Da muss Helma wohl passen. Zum Beispiel läuft Helma noch nicht auf jeder Armbanduhr - da braucht man schon so einen Klonker wie meine Seiko timetron dafür.

Die Site von Relevare ist das bestgemachte zoomende Interface, die mir bisher untergekommen ist. Unbedingt auschecken.

lnk + 5 cmt (kris, hns, hannes, earl, sinvlem)
 Monday, 30. July 2001 

Yes! Herr Sven aka hans_heinz serviert den lange erwarteten ersten Happen seines generalstabsmässig vorbereiteten Italien-Specials. Unter anderem Sofia Loren, die "Tu vuo' fa' l'americano" auf Englisch singt. Sofort hin!

Neger und Chinesen - wir Europäer sind schon eher unsensibel im Umgang mit Leuten von anderen Kontinenten. Wie wäre das wohl, wenn man als Europäer wo hinkäme, wo einem von jeder Ecke als Werbeschmäh für Transportunternehmen und Weissbrothersteller das Bild des dumpfbackigen Euro-Fettsacks entgegenspringen würde?

Nichts tun. Via Eurokotter.

Eine gut geschriebene Erklärung der Dual-License-Business-Models von Sleepycat und MySQL, via earl-or-chris.

Schlechte Idee. Was überall gelinkt ist, ist eh nicht zu übersehen (abgesehen davon, dass vier Links noch nicht gerade einen Weblog-Megatrend darstellen). Und die Links ohne den Kontext zu sehen, in dem sie in den Weblogs stehen, ist wie statt einem Hendl nur die Knochen serviert zu bekommen.

lnk + 6 cmt (stefanp, katatonik, chris, hns, earl)
 Sunday, 29. July 2001 

Wie ich gestern mit den Herren Rinner und Langreiter im Kunsthallen-Café sass und wir über Helma, Vanilla und die Welt spachen, fiel bei mir ein Groschen von galaktischen Ausmassen. Jetzt bin ich dazu verdammt, mich auf der Suche nach einem verlorenen Schatz ins Dickicht der Java-GUI-Programmierung zu begeben. Doch siehe da, Swing hat in den letzten drei Jahren, seit ich mich genervt abgewandt und nicht mehr hingeschaut habe, grosse Fortschritte gemacht. Aus ein paar Hütten im Wald ist eine florierende kleine Stadt geworden. Der Groschen war übrigens der, dass man die Cache-Replication im Hop auch dazu benützen könnte, eine GUI-basierte Darstellung eines Hop-Objektbaumes up-to-date zu halten.

Ab Version 1.4 wird Java standardmässig Non-blocking I/O unterstützen. NBIO-Pionier Matt Welsh hat an der Spezifikation mitgearbeitet, weswegen ich äusserst guter Dinge bin. Non-blocking I/O erlaubt es, Server zu schreiben, die etwa um das zehnfache besser skalieren als Server, die Threading benutzen.

Hey! Jetzt lamentier ich, dass OpenXML tot ist und es keinen gescheiten HTML-Parser mehr gibt, und dann komm ich drauf, dass ein HTML-Parser standardmmässig ab Java 1.2 in den Libraries dabei ist! Der kennt zwar erst mal nicht mal tables, kann man ihm aber leicht beibringen, wie hier in meinem Testcode. Ich schätze das bedeutet, wir können OpenXML bald vergessen.

Peter Sloterdjik ist ok. Ich hörte gerade seine Eröffnungsrede zu den Salzburger Festspielen. Es schien fast, als hätte er Doc Searls gelesen, ja man hätte sogar sagen können, Sloterdjik paraphrasierte Searls in einem europäisch-literarisch-philosophischen Kontext. Ich wünschte es gäbe die Rede online, dann könnte ich linken statt erklären.

lnk + 6 cmt (earl, eva, hns, katatonik, chris)
 Saturday, 28. July 2001 

Gerade auf der Couch in unserem Büro aufgewacht; ausreichend gut geschlafen. Ausreichend wofür, fragt sich nur.

Pardauz, Tom Fürstner hat eine Professur an der Angewandten, und Chris wird mit seinen 21 Jahren der jüngste Lehrbeauftragte du monde. Herzlichen Glückwunsch an beide!

Kühles Komik: Fat Cats, via nightcat.

lnk + 3 cmt (grob, chris, tf)
 Friday, 27. July 2001 

Heute abend gibt's in der Alpenmilchzentrale das jährliche grosse Hoffest. Wird sicher nett. Es werden angeblich Lachse gegrillt. Das ist eine Einladung!

Es muss vor ungefähr einem Jahr gewesen sein, dass ich Joel Spolsky's 12 Steps to Better Code las. Damals stellte ich betroffen fest, dass ich fast alle Fragen mit "nein" beantworten musste. Das war der Startschuss für ein vollkommenes Umkrempeln meiner (und mittlerweile unserer) Entwicklungsmethoden. Der Prozess war weder leicht noch angenehm. Heute sind bei Helma fast alle Punkte in Joels Test erfüllt. Der Unterschied zu vorher ist gewaltig. Bildlich gesprochen haben wir uns von einer kriechenden zu einer autofahrenden Spezis entwickelt, wobei unsere Ellbögen locker aus den Fenstern hängen und vom warmen Sommerwind umspült werden. (Hey, wenn schon bildlich gesprochen dann richtig. Nein, keine Fuchsschwänze an der Antenne.) Dass ich Joel unendlich dankbar für diesen Artikel bin brauch ich wohl nicht zu betonen. (Link via EIG)

Wes Strickland hat seinen Namen gewechselt und ist jetzt Lou Charrier. Sofort aufhören! Der frankophile Quatsch zieht bei mir nicht.

CNet vergleicht MySQL mit MS Access und erklärt, warum Web-Entwickler MySQL lieben.

lnk + 8 cmt (goldchen, p3k, hns, kris, ...s...t...e...f...a...n...)
 Thursday, 26. July 2001 

Wacky thing to do: Wenn man in einer Gruppe im Gasthaus sitzt und am Nebentisch läutet ein Handy (laut und mit einer fetzigen Melodie) alle gleichzeitig aufstehen und anfangen zu tanzen. Sobald das Handy aufhört zu klingeln hinsetzen und mit dem weitermachen, was man gerade gemacht hat.

Cooler Name des Tages: Wes Strickland. Seit ein paar Tagen krieg ich Spam-Mails von einem Absender mit diesem Namen. Bitte weitermachen.

Das Basteln an Antville geht weiter. Ab sofort hat jedes Weblog einen eigenen virtuellen Host, z.b. project.antville.org.

lnk + 6 cmt (chris, p3k, chronistin, kris, katatonik, hinterding)

Not logged in. Click here to log in.

 comments