Mittwoch, 19. April 2006
   [Thema: Software]
Zum Download und mit ausführlicher Anleitung unter openvpn.net.

Eine Diskussion dazu gibts aktuell im Chaosradio Express 023.

Von moolder um 02:05h
0 Kommentare |kommentieren

Dienstag, 18. April 2006
Freitag, 7. April 2006
Mittwoch, 5. April 2006
   [Thema: Software]
Wget 1.10 für Windows inklusive statisch gelinkter SSL Bibliotheken. Damit kann man https und so. Ausserdem kann es - im Gegensatz zu wget 1.8.2 - auch POST-Requests absetzen. Sehr praktisch!

Von moolder um 16:18h
0 Kommentare |kommentieren

Mittwoch, 29. März 2006
   [Thema: Software]
} catch (KeyNotFoundException knfe) {
  throw new RuntimeException("KEY NOT FOUND");
}
Das Ergebnis ist das folgende in trapo_entw.log:

Mrz292006 11:09:06 ERROR TechnischesLog '14' for queue: 'weblogic.kernel.Default' lwow TPN ERROR 000 15000 KEY NOT FOUND

Man sieht also nicht, um was für einen Key es sich handelt.

Ausserdem ist "Key" ein so vager Begriff, dass ich zumindest nicht direkt an eine Java Key-Klasse als Quelle gedacht habe.

Diese wenig aussagekräftige Fehlermeldung hat mich heute extrem Nerven gekostet.

Was läuft hier falsch?
- Es wird eine sinnvolle Exception geschluckt und durch eine RuntimeException ersetzt. Das kann noch Sinn machen, wenn man mit einem Fehler-Fall im Exception Handling keinen Ärger haben will, z.B. in einem static{} Block.
- Die Original-Exception wird nicht angehängt. Dadurch geht die Information dieser Original-Exception für den Aufrufer und das Log verloren.
- Die neue Exception ist nicht aussagekräftig.

Viel schöner ist doch das hier:
} catch (KeyNotFoundException knfe) {
  throw new RuntimeException("KEY NOT FOUND, 
      message = " + knfe.getMessage(), knfe);
}
Das ergibt im Log folgenden Eintrag:

Mrz292006 14:48:34 ERROR TechnischesLog '14' for queue: 'weblogic.kernel.Default' lwow TPN ERROR 000 15000 KEY NOT FOUND, message = No Key with ID 54 available in Key type de.dbsystems.tpn.obv.VStatusKey and Locale de_DE.

Nun wird direkt in der Message die Message der geschluckten Exception weitergegeben, und die geschluckte Exception wird auch weitergegeben.

Die Moral: Beim Einpacken von Exceptions sollte man aufpassen, dass man nicht wichtige Informationen verschluckt, sonst sucht sich irgendjemand irgendwann nach diesen Informationen dumm und dämlich.

So, das musste grad mal raus. :-)

Dienstag, 28. März 2006
   [Thema: Software]
JavaDatePicker ist eine Sammlung von Swing-Komponenten zur Datums-Selektion. Nicht kostenlos für Produktionssysteme, aber der Einkauf lohnt unter Umständen, und es gibt eine kostenlose Demoversion. Für nicht-kommerziellen Einsatz ist JavaDatePicker kostenlos.

So kann das zum Beispiel aussehen:

Von moolder um 16:19h
0 Kommentare |kommentieren

   [Thema: Software]
MySQL 5, Stored Function, Exceptions - Sollte man mal im Auge behalten: Bei insert/update/delete auf der Datenbank muss man den Lock auf die Daten haben, die man verändert. Da hilft der beschriebene SELECT FOR UPDATE. Den gibts übrigens ebenso bei Oracle.

Von moolder um 12:40h
0 Kommentare |kommentieren

Freitag, 24. März 2006
   [Thema: Software]
Leider alle Seiten auf Japanisch:
Download-Seite
Davor

Via Picturenaut

Von moolder um 12:55h
0 Kommentare |kommentieren

Dienstag, 21. März 2006
   [Thema: Software]
Du bekommst folgende Fehlermeldung in Eclipse:
The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project

Und das, obwohl du alles richtig eingestellt hast?

Hier ist die Abhilfe: Project Properties > Libraries > JRE_LIB > Edit > Edit. Alles mit OK wieder schließen, ohne etwas zu verändern. Dann fällt Eclipse auf, dass es java.lang.Object ja doch kennt, und die Welt ist wieder in Ordnung.

Von moolder um 12:42h
0 Kommentare |kommentieren