You rush a miracle man, you get rotten miracles.
Mein Kollege und Teammitglied Andreas hat jetzt auch ein eigenes Weblog Mann, hab ich ne langweilige Domain...
→ Read
more...
Tja, das hat man vom ÖPNV: als ich am Montag morgen mal mit dem Auto fahren wollte, reagierte es auf meinen Startversuch lediglich mit einem schnippischen "Katack!". Seitdem ist es wieder dunkel und still. Es steht also zu befürchten, dass die Batterie aufgegeben hat. Letzten Winter hatte ich noch eine Garage, aber jetzt sollte ich wohl regelmäßige Bewegungsfahrten einplanen. Wenn es wieder fährt.
Update: Nach einer kurzen Wiederbelebung per Starthilfekabel hat es gerade die erste Bewegungsfahrt von 20km erfolgreich absolviert.
→ Read
more...
Beim TechEBlog findet sich ein Werbespot für die XBox360, bei dem man sich dafür entschied, ihn nicht zu senden. Offenbar will man sich nicht dem Vorwurf aussetzen, nicht das Kind, sondern den Terroristen im Erwachsenen anzusprechen. Ich find ihn lustig, denn er erinnert mich an frühere Zeiten auf Baustellen und Spielplätzen.
→ Read
more...
So lautet übersetzt der Titel der ersten Enzyklika Papst Benedikts XVI. Wobei das deutsche Wort "Liebe" mehrdeutig ist: "Sei lieb", "Ich liebe dich" und "Lass uns schmutzig Liebe machen" sprechen von durchaus verschiedenen Dingen. Dementsprechend differenziert auch der Papst in "Deus caritas est" und erklärt, wie er "eros", "agape" und "caritas" verknüpft sieht.
Die Würdigung der Enzyklika,1518,397245,00.html beim Spiegel hinterlässt bei mir den Eindruck, dass wir mit Joseph Ratzinger vielleicht doch gar kein so schlechtes Kirchenoberhaupt bekommen haben. Der Geist weht, wo er will...
→ Read
more...
Heute war Post vom Amtsgericht im Kasten:
Beschluss in der Strafsache Jochen Lillich [...] wegen Computerbetruges
Der Antrag der Staatsanwaltschaft vom 19.10.2005 auf Erlass eines Strafbefehls wird abgelehnt.
Der Hintergrund:
Ende 2004 erhielt ich ein Schreiben eines Anwaltsbüros, das im Auftrag von eBay die Provision für die Auktionen eintreiben sollte, die ich als Benutzer "super_hasi446" durchgeführt hätte. Nach einem Antwortschreiben, in dem ich sinngemäß erklärte, dass ich unter diesem dämlichen Pseudonym niemals bei eBay aktiv gewesen sei, war erst mal wieder Ruhe. Doch im Februar 2005 flatterte mir überraschend eine Vorladung der Polizei ins Haus. Es sei nämlich gegen mich Strafanzeige wegen Computerbetrugs erstattet worden.
Das war dann doch ein Grund, meinen Anwalt einzuschalten. Die Akteneinsicht ergab, das jemand unter meinem Namen und meiner Adresse ein eBay-Benutzerkonto angelegt und damit irgendwelche Porno-Dienstleistungen ersteigert hatte. Das Problem: auch die angegebene Bankverbindung war geklaut und der Dienstleister zog seinen Preis per Lastschrift ein. Die Geschädigte ließ die Buchung stornieren und erstattete Anzeige. Unsere Freunde und Helfer fanden nur eine Spur: den registrierten Namen nebst Adresse.
Trotz meiner schriftlichen Stellungnahme, in der ich vor allem darauf hinwies, dass jeder, der meinen Namen und mein Geburtsdatum kennt, damit ein eBay-Konto anlegen kann, beantragte die Staatsanwaltschaft Karlsruhe den Erlass eines Strafbefehls gegen mich.
Wenigstens das Amtsgericht Philippsburg aber kam jetzt zu dem Schluss, dass meine Erklärung nicht zu widerlegen ist und "gegenwärtig keine überwiegende Wahrscheinlichkeit für eine Verurteilung des Angeschuldigten besteht."
Endlich ist das Thema vom Tisch. Es kostete mich einiges an Nerven und Geld. Zumindest letzteres kann ich jetzt von Vater Staat zurückfordern.
→ Read
more...
ich war schon in der Schule, als man noch Werbung für Telefonanschlüsse machen musste. Unfassbar.
→ Read
more...
Das O/R-Mapping von Hibernate ist eine feine Sache, insbesondere bei Relationen: Hat eine Klasse Schrank eine 1:n-Beziehung mit einer Klasse Schublade, dann liefert mir einSchrank.getSchubladen() eine Collection von Objekten der Klasse Schublade. So sieht es jedenfalls aus, aber das muss man mit Vorsicht genießen.In Wirklichkeit handelt es sich um Proxy-Objekte, die mir Hibernate unterschiebt. Diese Objekte tun nur so, als wären sie Schubladen. Das Framework muss nämlich vermeiden, durch das Auflösen von Relationen im Endeffekt die gesamte Datenbank einzulesen. Ein gutes Beispiel dafür ist ein Familienstammbaum, in dem alle Personen durch Eltern-, Kind- oder sonstige Relationen verbunden sind. Würde Hibernate die alle auflösen, nur weil ich von einer Person den Namen haben will, hätte ich sofort die ganze Familiengeschichte am Hals.
Deshalb realisiert Hibernate mittels der erwähnten Proxyobjekte eine sog. "Lazy initialization": Bei der Initialisierung abhängiger Objekte schiebt Hibernate das Nachladen der Daten so lange auf, bis sie von der Anwendung wirklich abgefragt werden. Das SELECT auf die Schubladen-Tabelle wird nicht schon bei einSchrank.getSchubladen abgesetzt, sondern erst, wenn ich auf die Daten einer dieser Schubladen zugreife.
Und da wartet eine Falle: Dieses "Nachladen auf den letzten Drücker" muss in der gleichen Session passieren wie das Laden des übergeordneten Objekts. Wurde die Session nach getSchubladen geschlossen, können die Daten einzelner Schubladen nicht mehr abgefragt werden. Hibernate wirft dann eine LazyInitializationException.
Dieses Problem löst man am besten durch eine gekapselte Sessionverwaltung, die für die Anwendung transparent eine Hibernate-Session erzeugt und diese am Leben hält.
→ Read
more...
Carolin beklagt sich regelmäßig, dass ich so wenig Emotionen nach aussen lasse. Vielleicht hatte ich darin einfach das falsche Vorbild
→ Read
more...
Es ist ein gutes Gefühl, dass es Kollegen gibt, mit denen man Klartext reden kann. Egal, ob man mit ihnen ein Problem hat oder umgekehrt. Und bei denen man weiss, dass man selbst nach unangenehmen Gesprächen das Thema mit einer Vereinbarung abhaken darf, anstatt dass einem das Thema noch ewig nachschleicht.
→ Read
more...
Auf meiner Forschungsreise durchs Java-Land habe ich jetzt die Anwendung von Hibernate gelernt. Es handelt sich dabei um ein Persistence framework, also um eine Softwareschicht zur dauerhaften Datenspeicherung in Datenbanken. Das Tolle an Hibernate ist, wie die Zugriffe auf die Datenbank gekapselt werden.Zunächst programmiert man einfache Javabeans (auch POJO(Plain Old Java Object) genannt), also gewöhnliche Klassen mit privaten Attributen und entsprechenden Setter- und Getter-Methoden. Zum Speichern eines Objekts übergibt man dieses einfach an eine Hibernate-Session, die für die entsprechende Datenbank konfiguriert ist. Auch das Lesen von Daten erfolgt nicht durch SQL-Abfragen, sondern durch Methodenaufrufe der POJOs oder der Hibernate-Session.
Und woher weiss Hibernate, welche Tabellen und Spalten den Objektattributen zugeordnet sind? Aus einfachen XML-Dateien, die diese Abbildung beschreiben. Ein Beispiel: Objekte der Klasse Person kommen in die Tabelle PERSON, wobei die Attribute firstname und lastname in die gleichnamigen Spalten der Tabelle geschrieben werden sollen. Zusätzlich gibt es einen Primärschlüssel PERSON_ID, der automatisch erzeugt werden und dem Attribut id zugeordnet sein soll:
Das wars schon. Und richtig cool wird es, wenn man diese Mappingdateien gar nicht von Hand pflegt, sondern durch Xdoclet automatisch aus Kommentar-Attributen der Javaklasse erzeugen lässt. So kann man sich voll auf die Geschäftslogik seiner Klassen konzentrieren, anstatt sich mit SQL rumzuschlagen.
→ Read
more...