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
 Sonntag, 4. März 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)
 Samstag, 3. März 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)
 Freitag, 2. März 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)
 Donnerstag, 1. März 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)
 Mittwoch, 28. Februar 2001 

ORF ON: "Nach Informationen der APA gab es am Dienstagmittag ein Gespräch im Palais Dietrichstein [...] an dem neben der FPÖ-Chefin auch FPÖ-Klubchef Peter Westenthaler und "News"-Chef Fellner teilnahmen. "Das stimmt ganz sicher nicht", sagte Fellner dazu. Im Büro der Vizekanzlerin wird dieses Treffen bestätigt, über den Inhalt gab es aber keine Informationen. Fellner bleibt auch bei einer weiteren Anfrage dabei, dass dieses Treffen nicht stattgefunden habe: "Ich weiß nicht, ob ein Klon von mir unterwegs ist, aber in Wien schwirren derzeit Gerüchte der absurdesten Art herum.""

Wolfgang Fellner ein schwabbliges Verhältis zur Wahrheit? Das kann ich mir nicht vorstellen.

Friedhof der Kuscheldomains: Man wacht ja oft mit Scheisse im Kopf auf, Träume die sich mit den ersten Gedanken zu Hirnrissigkeiten der besonderen Art verbinden. Ich habe mir heute im Halbschlaf eingebildet, die Domains, die ich reserviert und nie verwendet habe, würden wie ungeborene Kinder in schlechten Anti-Abtreibungs-Filmen nach mir rufen.

Meine Doch-nicht-Domains sind mir doppelt peinlich, erstens: wie konnte ich sowas reservieren, zweitens: ich hab ja überhaupt nichts durchgezogen von dem was ich vorhatte. Aber was soll's, jetzt muss das auf den Tisch, vielleicht wird's nachher besser.

Angefangen hat alles mit bewohnt.at - Anja, Tobi und ich hatten grosse Pläne, bevor dann zufällig helma entstand. Zwei Jahre später die gleiche Geschichte mit salon.at, nur war ich da schon allein. Bei anderen Domains gab's überhaupt nie einen Plan, nicht mal eine Idee: frischfleisch.at ist so ein Fall, und was ich mir bei privateweb.org dachte weiss ich auch nicht mehr. haiderwatch.com (eine coole Animation ist besser als nichts) erinnert mich daran, dass ich meine Potentiale in einem eher begrenzten Rahmen umgesetzt habe. hensomatic.com war doch etwas zu nah an Sensomatic.com, und ähnliches gilt wohl für openblogger.org, euroblog.com und hopster.org.

Naja, immerhin gibt's auch Lichtblicke wie Murmel-Comics.org (Kultursponsoring par excellence), Yugoramsch.com (es war eine schöne Zeit) und noch ein paar hundert andere.

Übrigens: Hop just got faster.

Plus: Erste heissersehnte Worte über type.properties.

lnk + 8 cmt (michi, chris, hns, kris, slauti)
 Dienstag, 27. Februar 2001 

Something I miss on my CD player is a simple button that says "Stop playing after this track has finished". This would make it easier for me to get out of the house when I should. At least I think it would.

lnk + 3 cmt (mkt, hns, chronistin)
 Montag, 26. Februar 2001 

Ouch! I feel the pain, I really do. Two years ago I worked on a project with Blue-C. That's when I first met Hannes who was working there at the time. I ended up renouncing to the 5% stake in the company they founded together with Sysis because they seemed to think I should be able to handle all development by myself. There was a big sense of Let's-IPO-and-get-rich in the air. It's funny to feel sorry for somebody you never liked.

Sysis seems to do very well, which is great because they're really cool people.

There's interesting stuff on salon.at/news. This is my own little Moreover clone. Never had the time to launch it, and it's running on the back burner, just spidering Fuzo, Heise and The Register.

I'd like to download the Revolution Beta, but the terms are friggin' unacceptable. For beginners, there's no way to opt out of their marketing mail feed.

lnk + 2 cmt (earl, hns)

Laut a*log und Sofa gab's gestern Probleme bei Blogger. Ich hab mich schon gewundert über die Absenz von Updates auf manchen Logs gestern.

"The log file for database 'pyra' is full" ist keine triviale Fehlermeldung, wie man vermuten könnte. Beim log file handelt es sich nämlich um das transaction log, jenes File, in das alle Änderungen und Updates geschrieben werden bevor sie in der eigentlichen Datenbank durchgeführt werden. In regelmässigen Abständen finden sogenannte Checkpoints statt, bei denen die Datenbank mit dem Logfile abgeglichen wird. Ohne Logfile also keine Updates, und löscht man das transaction log, dann verliert man alle Änderungen seit dem letzten Checkpoint.

Erstaunlich finde ich allerdings, dass Microsoft SQL-Server nicht in der Lage ist, Logfiles zu rotieren, d.h. ein neues anzufangen wenn das alte eine gewisse Größe erreicht wie z.b. die Sleepycat Berkeley DB, die der Hop als Alternative zu externen relationalen DBs verwenden kann.

lnk + 9 cmt (chronistin, chris, hns, h_h)

Not logged in. Click here to log in.

 comments