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, 7. March 2001 

Ich fühl mich geschmeichelt. Mehr sag ich nicht, um eine Linkeskalation zu vermeiden.

Turbulenter Vormittag. Wie ich vorgestern abend heimfahren wollte hatte meine Mofette plötzlich keine Luft mehr im Hinterreifen, weswegen ich jetzt zwei Tage zu Fuß oder mit Bim und Taxi unterwegs war. Heute endlich habe ich die Willingers avisiert, sie mögen das Gefährt zur Reparatur abholen kommen. Beim Mittagessen erzähle ich das den pools, und einer sagt: Vielleicht hat ja nur jemand die Luft rausgelassen, und man kann den Reifen wieder aufpumpen. Ich war total baff, nie wäre ich auf die Idee gekommen, der Reifen könnte nicht aufgestochen worden sein. Ich hab dann das Mittagessen abgebrochen, rauf zur Mofette und tatsächlich war's so. Die Luft hält, sogar 2,1 bar obwohl nur 1,8 reingehören. Den Herrn Willinger hab ich grad noch erreicht, als er sich vom Mittagstisch erheben und abdampfen wollte.

Es ist schon gut, von scharfsinnigen Leuten umgeben zu sein. Fragt sich nur, was die Geschichte über meinen Geisteszustand aussagt.

Chris hat Recht, Dave Winers A Little IDL ist ungefähr so sinnvoll wie ein Bier, das man direkt ins Klo schüttet. Will Conant trifft den Nagel mit diesem Posting auf den Kopf: IDLs sind sowieso nur was für type-safe languages, die brauchen dann allerdings auch die genaue Typdefinition der Parameter. Systeme wie Hop und Frontier werden nie was damit anfangen können, weil sie gar keine Remote Stubs verwenden. Mit dem XML-RPC-Client im Hop beispielsweise kann man auch ohne IDL alle XML-RPC-Funktionen nativ aufrufen. Der Nachteil ist natürlich der, dass typbedingte Fehler hier erst auf der Serverseite (also relativ spät) auffliegen.

Schon witzig, die schmuddelige XML-RPC for Java-Seite ist eines der meistabgefragten Dokumente hier. Heute kriegt sie ein schöneres Zuhause.

lnk ~ cmt
 Tuesday, 6. March 2001 

Heute: Wie Peter Praschl das affektiv-affirmative Linken zum lästigen Bloggerzirkel-Phänomen erklärt und dabei Ziel einer affektiv-affirmativen Link-Orgie wird. What happen? Na gut, gleich vorweg, die rituelle Sympathiebezeugung von A nach B und zurück von B nach A nervt wirklich. Aber kann es sein, dass unsere Ratio da etwas wichtiges ausblenden möchte? Dass das interessante an Weblogs doch nicht nur deren Inhalt ist, und ob er jetzt von Profis oder Amateuren oder Jesuitenmönchen kommt?

Walter Ong schreibt in "Oralität und Literalität" (1982): "Mehr als jede andere Erfindung hat das Schreiben [auf feste Gegenstände, Hns] das menschliche Bewußtsein verändert. Das Schreiben ermöglicht das, was man "kontext-freie" Sprache oder "autonomen" Diskurs nannte, einen Diskurs also, der nicht wie die orale Rede befragt oder angefochten werden kann, weil er sich nämlich von seinem Autor unabhängig gemacht hat."

McLuhan sprach in dem Zusammenhang von der Fähigkeit zu "agieren, ohne zu reagieren", die der Mensch mit dem Alphabetentum erworben hat.

Peter Praschl ist quasi das Paradebeispiel des "literarisierten Menschen". Er ist gewöhnt, hinter seine (meist verdammt guten) Texte zurückzutreten und sie für sich selbst sprechen zu lassen. Zu einem gewissen Grad trifft das auf uns alle zu: wir sind gelernte Papierleser und -schreiber. Das Web aber und Weblogs im besonderen bringen Eigenschaften mündlicher Kommunikation zurück ins Schreiben: Fluss, Lokalität (url), Bezugnahme (href) und eben gegenseitiges Wahrnehmen. Vielleicht ist das revolutionäre (und für viele unheimliche) an Weblogs deshalb letzendlich doch nicht, dass jetzt alle Literaten und Journalisten werden, sondern dass der "watercooler talk" ab sofort weltweit ausgetragen wird.

Kathrine Kveim: The World Wide Web - an instance of Walter Ong's Secondary Orality?

Chris meint Lucene und Hop wären ein nettes Paar. Shit yes!

Classpath.de und Jim Roepcke entdecken Hop.

Henso-Jutsu: Die Kunst der Täuschung.

Grossartiger Artikel über Disturbing Search Requests bei Village Voice. Gibt es eigentlich ein Best-of-DSR?

lnk + 7 cmt (chris, chronistin, mkt, hns, h_h, p3k)
 Monday, 5. March 2001 

Zitatfund auf P3k: "Nicht alle Bastler sind harmlos."

Der Ausdruck Fritz-Forschung spricht etwas in mir an, mein Arbeitsrechner heisst fritz, benannt nach einem der fabulösen Magistris-Brüder.

Apropos P3k, irgendwie erinnert mich Jack Saturn immer an Tobi und ich weiss nicht warum. Das Aussehen ist es nicht unbedingt, die Frisuren sind ja quasi entgegengesetzt. Tobi selbst fand sich dereinst bei Jacks Anblick ja an Helge Schneider erinnert.

Msg to brain: shut up and do some work.

lnk + 2 cmt (p3k, hns)
 Sunday, 4. March 2001 

"Ziel der Aktion "leichter leben" ist es, übergewichtige Menschen zu motivieren, innerhalb von drei Monaten auf vernünftige Art und Weise 3 bis 5 Kilo abzunehmen." Na gut, was sich der ORF da ausgedacht hat ist zwar als landesweit ausgetragene Aktion etwas peinlich, schaden wird's den meisten aber schon nicht. Dann aber kommt der dicke Brocken: "Der gesamtösterreichische Gewichtsverlust wird in Form von Lebensmitteln für hungernde Menschen in Afrika gespendet." Man möchte das nicht glauben, aber so steht es da und so ist es gemeint: Unterernährte Afrikaner müssen quasi als dramaturgische Pointe herhalten, verleihen einer fragwürdigen Aktion die "notwendige Tiefe", werden mit einem Sack Mehl oder Reis belohnt, wenn Herr Pepi Österreicher brav mitspielt und die entsprechende Anzahl an Leberkässemmeln abschwitzt. "Komm, wenn wir jetzt den Fressimpuls überwinden, dann kriegen die da unten auch mal was." An Menschenverachtung ist das schwer zu überbieten. Leider scheint das niemandem aufgefallen zu sein, jedenfalls nicht am Küniglberg.

Peter Praschl erwähnt in Was ist eigentlich ein Weblog? den Hop und fragt sich, warum er nicht so populär ist wie andere Tools. Ich würde sagen wir sind noch nicht ganz soweit. Der Hopfen gärt noch, und zwar mehr oder weniger under cover of obscurity. Demnächst geht diese Phase allerdings zu Ende, was in mir abwechselnd Panik und freudige Erwartung auslöst. Mittelfristig stehen die Chancen zur vorübergehenden Weltherrschaft nicht schlecht :-)

Freshmeat: "Most porn coders do share code and ideas like this, often without receiving any compensation except the fact that they know they'll get some goodies in return."

lnk + 1 cmt (h_h)
 Saturday, 3. March 2001 

Kween of Japan Oje! Gross angekündingt und dann verpasst, das Queen of Japan Konzert. Und überhaupt, von wegen Queen of Japan, die heissen doch Kween!

Stattdessen war ich bei der Murmel-Prerelease-Fete.

Ein sehr guter Freund namens Tomsel hat mir dort erzählt, dass er erst seit henso.com weiss, dass ich in einer völlig anderen Welt lebe. Ich schätze er hat recht. Auf helma.at habe ich mich immer sehr zurückgehalten.

Auf einem Fernseher beim Murmelfest lief Wiener Brut. Ich muss diesen Film haben! Leider zeigte sich der Besitzer der Videokasette äusserst unkollaborativ. Als ich ihm sagte, dass ich den Film haben muss, schaute er nachdenklich als hätte er keine Ahnung, wie er zur Lösung dieses Problems beitragen könnte. Note to self: be more explicit.

Apropos Fernseher, auf dem Heimweg habe ich einen auf der Strasse gefunden und auf dem Rücksitz meines Rollers mitgenommen. Ein wunderschöner kleiner holzfurnierter Sony, schätzungsweise 60er oder 70er Jahre, aber schon Farbe und es steht "Trinitron" drauf. Allein die Regler sind eine Augenweide! Erwartungsgemäss ist er kaputt. Es wird wohl schwierig sein ihn wieder hinzukriegen, vor allem bis zum Formel-1 Rennen heute nacht. Vielleicht kauf ich mir doch noch einen neuen, wenigstens übergangsweise.

Doc Searls on Positioning and how you can't fake it in the long run: "When you consider that Apple comes from Steve Jobs, and Steve Jobs comes from Art, lots of other things make sense, from his rejection of cloners (what artist wants to be cloned?) to his disinterest in the opinions of developers and customers (whose job is to admire and buy his art, not to originate it)."

lnk + 2 cmt (gung, balu68at)
 Friday, 2. March 2001 

I finally packaged the henso application. It's at http://helma.org/download/modules/. Sorry for the delay! It's very well possible that I made some dumb mistakes, and the thing won't run on your box. If so, let me know.

Happy birthday Frau Langreiter! Vanilla 0.5 is coming with giant steps and will probably kick everybody's butt!

Another Tyrolean Wunderkind, Hans Platzgumer, is playing viennese B72 today with his new band, Queen of Japan. Thanks Euroranchens for making me know!

And thanks again to Euroranch - this is hilarious!

lnk + 1 cmt (chris)
 Thursday, 1. March 2001 

Today I'm putting together the first version of the Hop app that runs this site. It'll be primarily interesting to Hop developers though, since it's just a very raw proof of concept. Actually, it's interesting not because it's a blogging tool - there are Hop-based weblog-type apps which are much more elaborate -, but because it uses a whole new skin-based application framework that cuts down the amount of code quite a bit.

The code is in the CVS now and you can browse through it. Still not ready to be packaged, sorry bout that. The code by itself may be confusing because there's some cross-prototype action going on, so here's a linked reading guide:

Every HopObject in this application has three basic modes in which it can be accessed via a browser. They are defined by three files in the hopobject prototype: main.hac, edit.hac, and create.hac and inherited by every other prototype.

main.hac lets people view an object (like you are doing right now with this page), edit.hac lets them edit it, and create.hac lets them create new child objects beneath it.

The first thing each of this action does is to set a global page skin in the response object to be rendered after the request is done. By doing so, we delegate repeating layout stuff and can concentrate on what's special for the object and action we're dealing with. That's why you won't find a lot of HTML markup in the henso code.

The next thing is that a function is called on the current HopObject to find out if the current user is allowed to perform this action. In the hopobject version of these functions, main.hac may be called by all users while edit.hac and create.hac are generally prohibited. Application prototypes can override this to control user access. For example, this is the code that makes a weblog item editable by its author, while anybody who is logged in may create a comment on it. Of course, real world application will have much more complex rules, but they will fit nicely into this scheme.

If the current action is allowed for the user on the current object, a function corresponding to the action is called on the object. Again, the functions defined in the hopobject prototype do nothing except for throwing out a "not implemented" (which will look like this, thanks to the global skin set earlier). Application prototypes can override either the function or the skin or both to make something out of the action. For example, when a new weblog item is created, function weblog.doCreate() will render weblogitem/create.skin. Note that in typical Hop fashion, we check if the user submitted some meaningful data. If so, we do what we have to and redirect to the main view. If not, we display the object editor.

Skins render and display content. Skins are pieces of layout that can be overridden on an application level to customize the application, although this isn't implemented in the current version of this app. For example, here is a skin that displays a comment, while this one renders an editor for it.

The <% ... %> tags inside the skins are called macros. Macro names consist of a handler name and the macro name, separated by a dot (".") and a list of attributes. Possible handler names are "this" to access a macro in the current object, a prototype name to access a macro in the next object with that prototype down the request path, "request" and "response" to access data in the request and response objects, an finally "param" to access properties of the optional second argument in the renderSkin-functions. If a macro doesn't have a handler name it is considered a global macro defined in the global prototype.

There are two kinds of macros, task-specific ones and generic ones. The task-specific ones reside in application prototypes and know exactly what they do, like the loopLogItems macro in the weblog prototype. The generic macros reside in the hopobject prototype and perform tasks that are possible on any kind of object, like getting a property by name, getting an editor for a property, rendering a link or a skin on the object, or looping through child objects.

That's it for today. Let me know if anything is unclear. Tomorrow there'll be more, including something to download and play with.

In other news, I also gave Greymatter a try today. It's a very nice system. The approach is very different from what I'm doing, however. To sum it up in one sentence, Greymatter is optimized to set up individual blogs in a generic hosting environment, while Hop based systems are more difficult to install, but are geared towards high performance multi-site stuff (think Manila or Blogger).

Today's Hop snapshot introduces two new functions: res.writeBinary() and countActiveUsers().

lnk + 4 cmt (chris, earl, slauti, roland)

Not logged in. Click here to log in.

 comments