Dienstag, Juni 15, 2010

Mittwoch, Januar 13, 2010

Aufräumen löst Probleme

Es gibt Zusammenhänge, die glaubt man kaum.
Unsere Java Applikation hatte plötzlich recht häufig auftretende Probleme mit der Datenbankverbindung.
Wir haben es natürlich auf die neuen Datenbankserver beim Kunden geschoben, aber das war es nicht, denn bald hatte auch ein anderer Kunde ähnliche Effekte.

Morgens beim Anmelden brauchte fast jeder User zwei Versuche, weil der erste ein "Connection reset by peer" aufgrund eines Timeouts bekam. Und nach der Mittagspause dann nochmal.
Also hat ein Arbeitskollege mal etwas gesucht und ist auf folgendes gestossen:
Man muss das Tempverzeichnis (%TEMP%) aufräumen.

Bitte was? Ganz recht. In einer Reihe von Versuchen konnten wir den Zusammenhang deterministisch belegen. Wir hatten zwischen den Versionen auf einen neuen Oracle JDBC Treiber
(für Java 1.5) umgestellt, der anscheinend aus unerfindlichen Gründen inmitten des Logins versucht eine Datei mit irgendwelchen Daten zu speichern (Session Keys oder so). Das heißt also nicht etwa bevor die Verbindung aufgebaut wird oder nachdem die Anmeldung durch ist. Nein. Mitten im Login Handshake wird diese Datei ins Tempverzeichnis geschrieben.

Und wenn das Verzeichnis recht voll ist, macht sich Windows den Spaß schon mal über eine Minute für die Indizierung zu brauchen bevor es weitergeht. Überhaupt scheint XP mit jedem Patch in den Grundfunktionen langsamer zu werden. Microsoft will wohl 7 verkaufen.
Jedenfalls ist bei einigen Datenbanken der Timeout für diese Aktion zu kurz. Aber wenn man das Tempverzeichnis aufgeräumt hat und 2GB Datenmüll entfernt hat, läuft es wieder.

Leider scheint es in Windows keine Funktion zu geben, mit der man diese Bereinigung durchführen könnte. Und Programme wie Crap Cleaner will ich unbedarften Usern nicht in die Hand geben. Da ich das aber gelegentlich benutze und mein Tempverzeichnis nur 200 MB (unaufgeräumt) belegte, konnte ich die Probleme bei mir nie nachstellen.

Mittwoch, Dezember 16, 2009

Mein eigener JDT Plugin

In den letzten zwei Wochen durfte ich mich bei der Arbeit mit der Entwicklung eines Plugins für die Entwicklungsumgebung Eclipse befassen.
Für jedes (Teil-)Feature habe ich ungefähr einen Tag gebraucht, wovon circa die Hälfte auf die Suche nach den jeweils für die Umsetzung benötigten Extension Points draufging.

Jetzt kann man diverse für unsere Firma interessante Probleme sofort beim Speichern erkennen und *Fanfare* die meisten auch mit einem QuickFix sofort beheben.

Ich bin relativ stolz auf mich. Das von mir gebastelte Zwischenframework ermöglicht die Umsetzung einer Java Fehlersuche, mit eigener Konfiguration und QuickFix (mit "Select All" Unterstützung) in ein paar Stunden.
Alle Fehlersuchen sind einzeln deaktivierbar. Und um grobe Performanceschnitzer zu finden, kann man die Ausführungszeiten der Scanner protokollieren lassen.

Als nächstes überlege ich mir mal, ob ich für mein Templategenerator XML Format einen Editor gebaut kriege, der die Daten-, Template- und Ausgabedatei verbindet.

Der Mann im Kiosk

Heute hat doch wirklich der Mann im Kiosk einen Taschenrechner benutzt um den Preis für 10 Stück auszurechnen...

Freitag, Oktober 16, 2009

Löschen statt Sperren

Irgendjemand muss mir mal erklären inwiefern die Parole "Löschen statt Sperren" besser ist als das zuletzt geplante (ausgeübte?) Verfahren?

Ich dachte, einer der Hauptkritikpunkte sei die unzureichende Definition der Voraussetzungen für eine Sperrung gewesen. Angst vor Zensur, etc. Hat sich da auch etwas getan?

Gegen Kinderpornographie ist Löschen sicherlich das einzig richtige Mittel, aber es funktioniert natürlich nur, wenn man rechtliche Handhabe gegen den Serverbetreiber hat. Was macht man mit den Servern auf irgendwelchen Pazifikinseln, die sich ihrer Rechtsfreiheit rühmen?
Die Möglichkeit zu Sperren ist zwar nur ein schwacher Schutz, aber besser als gar nichts.

D.h. "Löschen statt Sperren" löst eines von drei Problemen. Auch nett, aber nur die halbe Miete.

Autofahrer

Heute war wieder einer dieser Tage auf der Autobahn.
Es fing damit an, dass sich auf dem Raserteilstück LKW mit Tempo 90 ein Rennen geliefert haben. Über 5 Km.
Als die endlich Platz gemacht haben, kamen die "ewig links Fahrer", die "links langsam, rechts schnell Fahrer" und dann schon der Tempo 100 Teil. Dort bremsten die Wagen vor mir plötzlich abrupt ab, weil ganz rechts ein Polizei Bully fuhr.
Kaum das der außer Sicht war, wurde ich mit Lichthupe und Linksblinken von der Überholspur gedrängt, kaum dass ich mal ein wenig freie Bahn hatte. Danach hatte ich die Nase voll und legte einen langsameren Gang ein. Damit wurde die Fahrt erträglicher, bis auf das Intermezzo mit dem Fahrer, der meinte dass durch Blinker setzen automatisch die Nebenspur frei würde.

Und daheim gab es dann noch das Cabrio, das unbeleuchtet direkt hinter einer Kreuzung auf der Straße geparkt war (vor einem Behindertenparkplatz), so dass man beim Abbiegen die Wahl hatte entweder in ihn oder in den Gegenverkehr zu fahren.

Ein Tag für den Burgerbringdienst!

Montag, September 14, 2009

Bibelcode

Ich sehe gerade einen Fernsehfilm oder wie man heute sagen würde ein "made for tv movie" von Pro7.

"Der Bibelcode". Das klingt nach Robert Langdon-haften Rätseln, gekreuzt mit Abenteuern a la Indiana Jones. Und ein wenig mehr nach dem Jesus Code oder wie das Fernsehspektakel des Jahres damals hieß. Die Hauptdarstellerin ist Cosma Shiva Hagen - also die deutsche Antwort auf Liv Tyler - und Blacky Fuchsberger - also die deutsche Anwort auf Morgan Freeman - spielt den Papst.

Während ich die Vorschau sah, habe ich wortwörtlich gedacht: "Das ist ja mal a long way von den RTL Actionstreifen der 90er." Ja, manchmal fällt mir so schnell keine vernünftige Übersetzung für meine Gedanken ein. Und was hatte ich mich damals auf John Sinclair gefreut.

Aber schon nach wenigen Minuten erhielt meine Freude auf das Pro7 Werk einen Dämpfer. Das Drehbuch war so stark komprimiert, dass die Exposition nur aus einer kurzen wie aus einem amerikanischen Actionfilm abgeschriebenen Szene bestand in der Johana (CSHagen) ihre Polizeimarke abgeben muss, weil sie sich über das Gesetz hinwegsetzen musste um ein entführtes Mädchen zu retten. Einmal mit den Augen gerollt und weiter im Text.

Nach der folgenden Verfolgungsjagd stirbt jemand, der behauptet Johanas Vater zu sein, zu ihren Füßen. Natürlich nicht ohne zuvor noch ein Buch mit handschriftlichen Notizen übergeben zu haben.

Was dann folgt, ist der zunehmend langatmigere Hauptakt, in dem ein mäßig synchronisierter Franzose ("international production") Marke Bücherwurm neben der betont natürlich spielenden CSHagen einem ständig das Gefühl gibt, dass hier etwas nicht stimmt. Nicht weil das die Spannung anheben soll, sondern weil der Film wie ein produktionstechnischer Flickenteppich wirkt.

Der Regisseur stand so sehr unter Zeitdruck den Mist runterzukurbeln, dass kleine Ungereimtheiten erst dem Zuschauer auffallen dürfen. So überrascht zum Beispiel der Fund ihrer Kinderbibel, aus der ihr ihr Pflegevater immer vorgelesen hatte, bei ihrem Vater, von dem sie am Morgen noch nichts wusste, CSHagen nicht im geringsten.

Als Schüsse die Scheibe zersplittern lassen, versteckt sich der französische Religionsstudent sofort unter dem Schreibtisch. Ich würde nicht auf die Knie gehen, bestenfalls ein paar Schritte zurück, WEIL AUF MICH NOCH NIE GESCHOSSEN WURDE!

Danach plätschert der Film Dank alles überdeckender Orchestermusik belanglos daher. Alle dramatischen Höhepunkte werden von schlechtem Spiel oder schlechter Synchro ausgehebelt. Sagte ich alle Höhepunkte? Nein, es gibt durchaus fesselnde Momente. Aber wenn man sich gleich in der nächsten Szene wieder mehr Gedanken darüber macht, wie es hätte besser sein können, ist man wieder am Anfang.

Warum schafft es eine Kulturnation wie Deutschland nicht aus spannenden Ideen vernünftige Drehbücher zu machen und Regisseure zu organisieren, die ein Gespür für Geschichten haben?

Aber immerhin ist Blacky Fuchsberger der Papst...