Nimm mir ab, gib mir zurück

Bei einem sehr netten Ausflug mit einem Rudel kleiner Kinder habe ich wieder mal erstaunt festgestellt, wie viele unserer Verhaltensmuster wir schon von Kindheit an mit uns herumschleppen.

Da ist also Lea, die darauf bestanden hat, ihren kleinen Rucksack mitzunehmen. Der Rucksack wird ihr zu schwer, deswegen drückt sie ihn ihrem großen Bruder in die Hand. Wenige Sekunden später stellt sie fest, dass sie ihren Rucksack aber selbst haben will, und fordert ihn energisch zurück. Der gutmütige Bruder gibt ihr den Rucksack. Woraufhin sie schnell wieder feststellt, dass der Rucksack doch ganz schön schwer ist, und das ganze Spiel geht von vorn los.

Und so über Stunden.

In der Welt der Erwachsenen geht es meist um abstraktere Lasten, sagen wir mal: Verantwortung. Aber auch hier ist der Wunsch oft größer als die Fähigkeiten, was man hatte, fällt einem erst auf, wenn man es weggegeben hat, und zu fordern fällt immer leicht, wenn man die Last nicht selbst trägt.

Schön, wenn der große Bruder so viel Geduld hat und das Spiel so lange mitspielt.

www.lästr.de

Web 2.0 startup of the day: More and more, social software is becoming a direct mirror image of social interaction as we know it since kindergarten. The German startup www.lästr.de offers unique features in its ability to spread gossip about other users, and specifically exclude the subject from the board where he or she is being discussed. Special moderation features automatically recognize and downrate postings that are too balanced or fact-based, or indicate their sources. Karma points are distributed based on “dirt that sticks”: phrases and formulations that are copied most get the highest ranking.

Check it out!

Hype Dead Software

When I first heard Ken Schwaber’s talk I thought wow, exactly, he’s right, we don’t have a chance, the end of the world is nigh.

When you have some central piece of software that many other projects rely upon, that central track is often pressed into delivering features earlier than is good for the software. As a result, you get software that

  • is fragile
  • has no good test harness
  • has few developers left
  • is hard to use and build

Ken Schwaber calls this “Design Dead” Software. Implying: throw away, don’t reuse any more, open source or sell.

…but couldn’t you say the same about any piece of code? Some simple facts: Overstaffing a project is not an economic idea. The power to change things in unforeseen ways implies the power to break things – the difference being made by the developer’s understanding of the consequences. The ability to understand code depends not just on the code, but on the newcomer’s background knowledge. What remains “magic” depends on your willingness to understand, which to a large degree is a social and personal thing. Something that is easy to use the way it was designed, or the way it is implicitly used by its fans, may be very hard to use in a different way or for a different purpose. A test harness appears especially bad if you don’t understand what it tests, or if it does not test the cases you consider relevant.

Which, to me, means that a “central” piece of software essentially poses a knowledge management problem. Personell turnover is inevitable in the long run (be it because of boredom or because of high pressure at the “center”), so there will be new people with fresh views coming in contact with the code – which, if not organized very carefully, causes the kind of friction described above. Also, stability is of high concern at the center, so it may be difficult to take new or current architectural ideas into account (there are limits to what refactoring can do). Which, again, might make it less attractive to work on (someone else’s baby). Old software is most probably “Hype Dead Software”.

Providing and maintaining a framework, platform, infrastructure appeals to software people because abstraction is their daily bread. But don’t fool yourself: it requires a long-term commitment, and in the end may be more about duty and reliability than about fun. And it’s an open question whether the problem you have abstracted and solved will actually be relevant, and will be considered relevant and valuable, long-term.

Ohrwurm, Armwurm

Wer kennt ihn nicht, den Ohrwurm: Ein Lied hat sich im Kopf eingenistet und läuft auf “Heavy Rotation” wie ein Hit im Radio – unwillkürlich geht der Geist den Song immer wieder durch, man hat das Gefühl, den Song fast zu hören.
Als ich letztens zur Arbeit marschierte, fiel mir auf, wie da so ein eigenartiges Gefühl von meiner einen Hand zur anderen und zurück wanderte. Der ganze Arm wurde abwechselnd total leicht, als wollte er hochschweben, und gehorchte dann wieder der Gravitation. Spooky. Was war da los? Am Tag vorher hatte ich mit dem Stock geübt, und mein Körper war wohl immernoch so begeistert davon, wie sich das Bewegungsmuster anfühlt.
Das ist toll. Ich mag es, wenn die Vorstellung so klar wird, dass sie direkt zum Abruf bereitsteht. Nur blöd, wenn der eine Song, die eine Bewegung so übermächtig wird, dass sie den Geist gefangennimmt und man willenlos gerade diese Prozedur weiter abspulen muss. Da hilft nur: Ganz ganz viele Prozeduren gleichzeitig präsent haben. Und dafür hilft nur: eine nach der anderen tief verinnerlichen. Immer weiter üben.

Das kannst Du nicht!

Das ist genau die Art von Hintergründigkeit, die ich auf der documenta vermisst habe. Mir wurde vorgeführt und vorgehalten, aber involviert gefühlt habe ich mich selten – die Situation des Betrachters wurde nicht betrachtet, stattdessen etablierte Problemfelder angemahnt und nicht weitergedacht (Umweltverschmutzung, Armut, Minderheiten, Feminismus, Gentechnik,…).

Fantastische Ausnahmen: Der (30 Jahre alte, aber immer noch wundersame) Forest Floor von Trisha Brown, Graciela Carnevale’s Einschließungs-Trick (ebenfalls ein daueraktuelles Kind der 68er), der Phantom Truck (der den Zuschauer erst verblendet und dann in der Dunkelheit aussetzt), Saâdane Afif’s von Geisterhand betriebene E-Gitarren (aus welcher Richtung kommt der nächste Akkord?), und vielleicht noch Dierk Schmidt’s Geschichtsstunde von der Berliner Afrika-Konferenz bis hin zur aktuellen Bundestagsdebatte. Der Rest? Nicht Moderne oder Klassik, sondern ganz viel Pop.

ReloadablePropertiesFactoryBean: Beware of Caching

As Glenn pointed out, reloading properties is futile if the servlet engine returns an unchanged copy of the property file from its resource cache.

We need to find the real file anyway to check its last modification date, so overriding “loadProperties” to read from the file system absolutely makes sense.

Here’s an updated version, which correctly handles reloading of properties also from a ServletContextResource.

Download

Brechreiz

Der Brechzeiz hilft Dir, Dinge wieder von Dir zu geben, bevor sie Dir schaden können, die Du unbedacht oder arglos tief in Dein Innerstes aufgenommen hast.
Schwächere Formen des Brechreizes sind: Weinen; Lachen; Lästern; Nacherzählen; Argumentieren; Analysieren.
Was Du verstanden hast, kann Dir nicht schaden.