Riot Police Course

I sat with Ben and Will on the train and Ben returned to a constant theme: how the whole course was just brainwashing.
‘But you knew that at the beginning,’ I countered.
‘I know, but it’s different from how I imagined.’
‘How?’
‘It’s working. I didn’t think it would work, but it’s working. I think I’m becoming a violent bastard.’
‘Don’t worry,’ said Will, ‘you’re still a wimp.’

Robert Twigger, Angry White Pyjamas.

float und width

Ich hänge ganz gern Icons oder kleine Bilderchen in den Text, die in Safari auch hübsch umflossen werden. Firefox aber weigert sich, den “float” style zu interpretieren, und zeigt einfach gar nichts an, wenn das jeweilige Element nicht auch eine explizit angegebene Breite (“width”) hat. Das korrekte HTML-Monster sieht so aus:

<a href=”bildgross.jpg” style=”float: left; padding-right: 10px; width:72px”><img id=”image5″ src=”bildklein.jpg” width=”72″ alt=”Ein Bild” /></a>

Die Nackten und die Toten

Wenn ein Soldat sein Glied von einem Totenschädel küssen lässt, “(Bild berichtete)”, dann hat das für mich eher etwas mit Ohnmacht zu tun als mit Abu Ghraib. Wer täglich mit dem Tod konfrontiert ist, versucht irgendwie die Oberhand zu behalten, und sei es auch nur symbolisch. Dass uns das vom sicheren heimischen Sofa aus irrational erscheint ist kein Wunder. Einen Zusammenbruch der Zivilisation kann ich da aber noch nicht erkennen.
Die politischen und öffentlichen Reaktionen versuchen dem Abu Ghraid-Schema zu folgen (endlich haben wir auch einen Skandal!), Politiker sind vorauseilend entsetzt, und die Bild-Zeitung hat der Bundeswehr die Präsentation ihres Weißbuch erfolgreich vermasselt.
Wer das Spiel mit einem gefundenen Totenschädel aber gleichsetzt mit Folter und mit Angriffen auf Zivilisten, der verharmlost.

Oder wie es ZEIT online schreibt: “Bilder sagen zwar mehr als tausend Worte, aber manchmal sprechen sie nicht wirklich, sondern sie plappern.”

you do your best

“When you are the groundskeeper, you do your best to keep the grounds, clearly.
But you can make mistakes.
The hours are long / and you are tired / or have not eaten as much as perhaps you ought / and you can make mistakes”

Paul Hornschemeier: “Mother, Come Home”

eine ganz fantastische graphic novel über den Verlust, und wie man um seine Realität ringt.

If it’s slow, just add a cache

“Rails has this wonderful caching system that compensates for Ruby’s slow execution speed called “page caching” and “fragment caching”. Rails uses this to transfer the actual web traffic from Rails to the web server itself. […] Because of this a Rails application many times can outperform similar applications in Java or PHP.”
Zed on Ruby, Rails, Mongrel, and More – O’Reilly Ruby

funny… Mr.Zed describes exactly the reason why some eight years ago, the CoreMedia Generator ™ was designed the way it is. The only difference being that the immature and slow language at the time was Java.

Just like Apple kept arguing “we don’t need fast CPUs because what you want works fast enough”, until they finally solved their performance problem.

Die Produktive Elite

Wie schaffst Du es, sechzehn (16) mal so produktiv wie Deine Kollegen zu sein?
Wie wir alle wissen, schafft man 80% der Arbeit in 20% der Zeit. Die restlichen 20% der Arbeit brauchen demnach 80% der Zeit.
Angenommen, es stehen vier gleichlange Aufgaben an, die jeweils einen Tag dauern. Du erledigst von jeder Aufgabe die ersten 80% und delegierst den Rest an Deine Kollegen. Dafür brauchst Du 4 mal 20% = 80% eines Tages.
Deine vier Kollegen brauchen für den Rest einer einzigen Aufgabe jeweils ebenfalls 80% eines Tages, also genauso lange wie Du.
Du hast damit in der gleichen Zeit viermal 80% = 3.2 Aufgaben erledigt, in der einer Deiner Kollegen 0.2 Aufgaben erledigt hat.
Deine Produktivität war damit 16mal so hoch.

Es gibt tatsächlich Leute, die sowas glauben, und sich dann meistens “Elite” nennen.

Und warum das nicht funktioniert, dafür gibt es viele Gründe, die sich z.B. auf die Messgröße, die Vorhersagbarkeit und die Konkurrenz beziehen:

  • Der Fertigstellungsgrad – nennen wir ihn mal Wert – ist selten so schön linear. Es gibt Aufgaben, die sind erst erledigt, wenn sie 100% erreicht haben. Anders gesagt kann es sein, dass die 20% ihren Wert nur aufgrund der Existenz der 80% haben.
  • Der Moment, in dem die Wertsteigerung wahrgenommen wird, ist selten der, in dem sie entsteht. Nehmen wir an, der Wert wächst exponentiell, dann passiert lange “nichts”, und plötzlich geht der Wert ab durch die Decke.
  • Du weisst nicht vorher, welche 20% der Zeit die produktiven sind. Wenn Du die 20% aufgrund bestimmter Kriterien aussuchst, dann hast Du keinerlei Garantie, dass diese 20% auch beim nächstenmal die wertvollen sein werden, die Verteilung kann sich ändern.
  • Deine Kollegen haben nicht lange Lust auf das Spiel – Du kannst Dir nicht immer aussuchen, welche 20% Du bekommst.
  • Wenn sich alle um die wertvollen 20% balgen, gibt es auf den 80% weniger Konkurrenz – das kann auch eine Strategie sein.

Sudoku

Die aktuelle iX hat einen Artikel über Sudoku. Dabei fiel mir ein alter Hack wieder ein: Statt Sudoku zu spielen, habe ich damals lieber ein Programm geschrieben, mit dem man sich ein lösbares Sudoku-Rätsel zusammenstellen kann. Die Algorithmen funktionieren und man kann auch was sehen, allerdings ist es nur ein Hack insofern, als das “GUI” eine Matrix aus HTML-Dropdown-Boxes ist und export o.ä. nicht implementiert sind.

Anbei die Java-Quellen als Idea-Projekt inklusive compilierter webapp (“exploded”). Verwendung: in den tomcat deployen und “brett.jsp” aufrufen. In den Drop-Down Boxen erscheinen nur die Zahlen, die an der Stelle noch möglich sind. Wenn man eine auswählt, wird sie an dieser Stelle fest eingetragen, und auch alle anderen “offensichtlichen” (d.h. überall dort, wo nur noch eine möglich ist). Zahlen, die in eine Sackgasse führen, sind mit einem Ausrufungszeichen gekennzeichnet. Die webapp ist komplett zustandslos, d.h. “undo” wird durch den “Zurück”-Button des Browsers erledigt.

(Leider habe ich auf diesem Server kein tomcat, sonst würde ich’s ja online stellen…)