... newer stories
Wednesday, 17. June 2009
Brownbag in Düsseldorf
javatux, 23:44h
Brownbags sind Info-Veranstaltungen, zu denen man sich zwanglos trifft und sein mitgebrachtes Futter verzehrt, während einer über ein interessantes Thema referiert. Der Begriff kommt aus dem Amerikanischen, da man dort sein Essen in "braunen Tüten" aus dem Supermarkt mitbringt.
Zum ersten Mal erlebte ich diese Form des Informations-Austausches bei Pironet in Köln und war so begeistert davon, dass ich sie bei uns in der Firma (agentes) vorgestellt und etabliert habe. Heute habe ich es bei Örag in Düsseldorf ausprobiert (Thema war Rettet die Dokumente!), wo ich seit 1. April tätig bin. Auch hier war das Feedback positiv.
Wer's selbst mal ausprobieren will: einfach interessantes Thema aussuchen, Pizza bestellen und Leute einladen...
Zum ersten Mal erlebte ich diese Form des Informations-Austausches bei Pironet in Köln und war so begeistert davon, dass ich sie bei uns in der Firma (agentes) vorgestellt und etabliert habe. Heute habe ich es bei Örag in Düsseldorf ausprobiert (Thema war Rettet die Dokumente!), wo ich seit 1. April tätig bin. Auch hier war das Feedback positiv.
Wer's selbst mal ausprobieren will: einfach interessantes Thema aussuchen, Pizza bestellen und Leute einladen...
... link (0 Kommentare) ... comment
Friday, 29. May 2009
Getting Started with PatternTesting
javatux, 00:25h

Happy PatternTesting...
... link (0 Kommentare) ... comment
Saturday, 9. May 2009
Nachbetrachtung zu den Test-Tagen
javatux, 20:13h
![]() |
2009-05-TestTage |
Beim Glass-Box-Test kam dann CodeCover zum Zuge, dessen Eclipse-Plugin mich überzeugt hat. Die kommerziellen Tools zum Auffinden von Memory-Leaks dagegen konnten mich nicht überzeugen - sie gab es nämlich nur für Windows, so dass ich sie nicht ausprobieren konnte. Dafür gibt es immer noch den HPJmeter, den ich mal vor Jahren ausprobiert hat. Und er wird sogar noch aktiv weiterentwickelt (allerdings musste ich eine ganze Weile suchen, bis ich ihn auf der HP-Seite gefunden habe).
Bei der abendlichen Postersession (z.B. Einstieg in PatternTesting) und beim Grillabend (der von agentes gesponsort wurde) bestand die Gelegenheit, sich auszutauschen, was von den meisten Teilnehmern auch angenommen wurde. Mit dem Wetter hatten wir Glück, es schien die Sonne. Ganz im Gegensatz zum Freitag, an dem es mehrfach regnete. Das wäre nicht weiter störend gewesen, wenn das Dach nicht so laut gewesen wäre.
Beim Vortrag von Marc Guillemot rächte es sich dann, dass wir keinen Internet-Anschluss hatten. Das Nachinstallieren von Groovy und einiger Maven-Bibliotheken nahm dadurch doch mehr Zeit ein als geplant. Für's nächste Mal werden wir darauf schauen, dass wir online gehen können.
Fazit: alles in allem war es eine gelungene Veranstaltung, die wir wahrscheinlich wiederholen wollen. Was wir für's nächste Mal vielleicht anders machen würden, wären (neben Internet-Anschluss) längere Pausen zwischen den Vorträgen, um den Teilnehmern mehr Zeit zum gegenseitigen Austausch zu geben.
... link (0 Kommentare) ... comment
Saturday, 2. May 2009
Stuttgarter PatternTest-Tage
javatux, 17:29h

Resourcen:
- Einstieg in PatternTesting: patterntestingeinstieg (pdf, 504 KB)
- Beispiel-Anwendung: jugsbasepattng (zip, 2,432 KB) (inkl. PatternTesting-Bibliothek)
... link (0 Kommentare) ... comment
Tuesday, 7. April 2009
Stuttgarter Test-Tage 2009
javatux, 23:46h
Das Programm der Stuttgarter Test-Tage ist jetzt online. Und da sind einige bekannte Namen wie Angelika Langer, Andy Bosch oder Johannes Link (der auch die Keynote halten wird) dabei. Es lohnt sich also in jedem Fall, sich dafür anzumelden, auch wenn man selbst natürlich keine Fehler macht ;-)
Wer Fragen oder Anregungen zur Veranstaltung hat, kann sie auch im JUGS-Forum unter Events (ein)stellen.
Frohe Ostern
Wer Fragen oder Anregungen zur Veranstaltung hat, kann sie auch im JUGS-Forum unter Events (ein)stellen.
Frohe Ostern
... link (0 Kommentare) ... comment
Monday, 23. March 2009
Performance Boost with Eclise 3.4 / AJDT 1.6.3
javatux, 11:38h
In one of our projects we are still working with Eclipse 3.3 because we use the WTP 2.0 plugin and have failed in the past with the upgrade to Eclipse 3.4 / WTP 3.0 (we had strange classpath problems with JSF). We used one AspectJ lib (patterntesting-rt) and wanted to add also patterntesting-check as AspectJ lib. But the compile time was a desaster - it slows down to 30 seconds for an incremental build.
From the aspectj-users mailing list I got the tip to use Eclipse 3.4 with the actual AJDT plugin. And really, with this version we get a dramatic speedup for the incremental build:
These are the time for the AJBuilder.build() we found out with the AJDT Event Trace (you can open it as view in Eclipse). As you can see the incremental compile is more than 30 times faster as before.
From the aspectj-users mailing list I got the tip to use Eclipse 3.4 with the actual AJDT plugin. And really, with this version we get a dramatic speedup for the incremental build:
full build | incremental build | |
---|---|---|
Eclipse 3.3 | 75 s | 34 s |
Eclipse 3.4 | 30 s | 1 s |
These are the time for the AJBuilder.build() we found out with the AJDT Event Trace (you can open it as view in Eclipse). As you can see the incremental compile is more than 30 times faster as before.
... link (0 Kommentare) ... comment
Sunday, 8. March 2009
JugsBase mit Pattern-Testing
javatux, 18:47h
Nachdem ich das letztes Mal beschrieben habe, wie man die Beispiel-Anwendung zu den Test-Tagen 2009 zum Laufen bringt, möchte ich in das dort erstellte Projekt die PatternTesting-Bibliothek einbinden (Sie können es aber auch mit jedem anderen Projekt ausprobieren). Dazu brauchen wir patterntesting-rt-0.9.0.jar und patterntesting-check-0.9.0.jar, das über die PatternTesting-Homepage oder von ibiblio.org/maven2 heruntergeladen werden kann.
Da PatternTesting eine AspectJ-Bibliothek ist, müssen wir erst einmal das AJDT-Plugin installieren (s. Download-Seite des AJDT-Plugins). Danach sollte im Kontext-Menü "AspectJ-Tools > Convert to AspectJ Project" auftauchen. Dadurch ändert sich das Projekt-Icon und bekommt "AJ" als Beschriftung verpasst, wo vorher nur ein "J" stand. Ansonsten passiert nicht viel. Über den gleichen Menüpunkt "AspectJ Tools" können Sie das Projekt auch wieder zu einem normalen Java-Projekt degradieren ("Remove AspectJ Capability").
Der nächste Schritt besteht in der Einbindung der beiten Pattern-Testing-Bibliotheken. Dazu rufen wir die Projekt-Eigenschaften auf und tragen unter "AspectJ Build > Aspect Path" die beiden Pattern-Testing-Bibliotheken ein. Jetzt noch "Ok" gedrückt - das war's auch schon. Die "advice defined"-Warnungen können Sie ignorieren oder über "Project Properties > AspectJ Compiler" unter der Überschrift "Potential matching problems" abschalten, indem Sie dort "Advice did not match (Java 5 only)" auf "Ignore" stellen.
Den Warnungen "No logging should be done using the default output and error streams." sollten Sie allerdings nachgehen. Sie werden feststellen, dass hier System.out.println für die Ausgabe verwendet wurde. So etwas macht man besser mit Log4J oder anderen Logging-Frameworks.
Was man sonst noch alles mit der PatternTesting-Bibliothek anstellen, wird noch folgen...


Den Warnungen "No logging should be done using the default output and error streams." sollten Sie allerdings nachgehen. Sie werden feststellen, dass hier System.out.println für die Ausgabe verwendet wurde. So etwas macht man besser mit Log4J oder anderen Logging-Frameworks.
Was man sonst noch alles mit der PatternTesting-Bibliothek anstellen, wird noch folgen...
... link (0 Kommentare) ... comment
Thursday, 15. January 2009
JMX over SNMP
javatux, 11:07h
Theoretisch kann man die Java Management Extensions (JMX) auch über SNMP abfragen. Dazu wird der SNMP-Agent über die Properties
Aber wie komme ich an die INFO ran? Unter Linux ruft man dazu das Kommando snmpwalk auf:
Wie ich soeben von Tobias Frech erfahren habe, kann man auch nur die Sun-MBeans über SNMP abfragen, d.h. eigene MBeans erscheinen nicht in der Auflistung.
-Dcom.sun.management.snmp.port=6070 -Dcom.sun.management.snmp.acl=falseaktiviert (zu Testzwecken hier nicht abgesichert, s.a. JVM-Monitoring-Folien von Tobias Frech).
Aber wie komme ich an die INFO ran? Unter Linux ruft man dazu das Kommando snmpwalk auf:
% snmpwalk -v1 -c public localhost:6070 . SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.1.1.0 = Gauge32: 1914 SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.1.4.0 = INTEGER: 1 SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.1.0 = Gauge32: 0 SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.2.0 = INTEGER: 1 SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.3.0 = INTEGER: 2 SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.100.1.2.1 = STRING: "CodeCacheMana ger" SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.100.1.2.2 = STRING: "Copy" SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.100.1.2.3 = STRING: "MarkSweepComp act" SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.100.1.3.1 = INTEGER: 2 SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.100.1.3.2 = INTEGER: 2 SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.100.1.3.3 = INTEGER: 2 SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.110.1.2.1 = STRING: "Code Cache" SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.110.1.2.2 = STRING: "Eden Space" ...Insgesamt scheint mir das aber ein wenig praktikabler Weg zu sein, da man über den Aufbau der SUN-SNMP-MIB nichts zu JMX findet.
Wie ich soeben von Tobias Frech erfahren habe, kann man auch nur die Sun-MBeans über SNMP abfragen, d.h. eigene MBeans erscheinen nicht in der Auflistung.
... link (0 Kommentare) ... comment
Sunday, 11. January 2009
Aufruf zu den Test-Tagen 2009
javatux, 21:35h
Letztes Jahr hat die JUGS die Test-Tage 2009 angekündigt. Als Einstieg zu den Test-Tagen gibt es auch eine Beispiel-Anwendung, die als JugsBaseKomplett.zip heruntergeladen werden kann. Falls Sie einen Beitrag einreichen wollen, können Sie diese Anwendung als Basis verwenden, Sie können aber auch auf Ihre gewohnten Beispiele zurückgreifen. Der Rest diesen Beitrags wird jetzt darum gehen, wie man diese Anwendung in Eclipse einbindet.

Voraussetzung für die Einbindung ist Eclipse 3.3 oder 3.4 mit den Web-Tools (WTP), Java 5 und Tomcat 5.5 oder Tomcat 6 (damit habe ich es unter MacOS-X getestet). Nach dem Auspacken der Zip-Datei finden Sie ein Verzeichnis JugsBase vor, das eine startbare JAR- und WAR-Datei enthält (die wir aber ignorieren). Wir importieren das Verzeichnis (File > Import...) über "Existing Projects into Workspace" als JavaEE-Projekt.
Ein Großteil der Fehler, die nach dem Import in der Problems-View zu sehen sind, sind HTML-Fehler, die wir vorerst über "Project > Properties > Validation > HTML Syntax" und der Einstellung "Missing start tag: Ignore" (dazu evtl. noch "Enable project specific settings" selektieren) ausblenden. Wenn Sie mit Java 5 arbeiten, sollten in den Project-Properties die "Project Facets" auswählen - dort ist Java 6 eingestellt, es reicht aber auch Java 5. Danach sollten keine Fehler mehr in der Problems-View auftauchen.
Öffnen Sie nun die Server-View und fügen dort das JugsBase-Projekt als JEE-Anwendung hinzu (Tomcat-Server auswählen, "Add and Remove Projects..."). Wenn Sie dann den Server starten, sollte ein aktueller Finanzrechner unter http://localhost:8080/JugsBase/ erscheinen.

Voraussetzung für die Einbindung ist Eclipse 3.3 oder 3.4 mit den Web-Tools (WTP), Java 5 und Tomcat 5.5 oder Tomcat 6 (damit habe ich es unter MacOS-X getestet). Nach dem Auspacken der Zip-Datei finden Sie ein Verzeichnis JugsBase vor, das eine startbare JAR- und WAR-Datei enthält (die wir aber ignorieren). Wir importieren das Verzeichnis (File > Import...) über "Existing Projects into Workspace" als JavaEE-Projekt.


... link (2 Kommentare) ... comment
Monday, 5. January 2009
Eclipse-Update repaired (MacOS-X)
javatux, 22:26h
Today I started from Eclipse an software update on my Mac. After the update I was asked to restart Eclipse. But after the restart only an error box with "eclipse executable launcher was unable to locate its companion shared library".
The solution for this problem I found on www.eclipsezone.com/eclipse/forums/m92238097.html:
You can use another editor, of course. But I don't know which other editors are available from the commandline.
After this "repair" I was able to start Eclipse again.
The solution for this problem I found on www.eclipsezone.com/eclipse/forums/m92238097.html:
- edit the file Eclipse.app/Contents/MacOS/eclipse.ini
- correct the entry for --launcher.library
cd /Applications/opt/eclipse # my install dir for Eclipse cd Eclipse.app/Contents/MacOS vi eclipse.ini
You can use another editor, of course. But I don't know which other editors are available from the commandline.
After this "repair" I was able to start Eclipse again.
... link (0 Kommentare) ... comment
Tuesday, 23. December 2008
Connection Failed: Retry?
javatux, 00:35h
Eigentlich sollte die jconsole unter Java 6 ohne weitere Einstellungen sich mit einem Java-Prozess verbinden können. Aber dies scheint nicht immer der Fall zu sein (zumindest bei mir unter Ubuntu 8.10) - es kommt immer die Fehlermeldung "Connection Failed: Retry?", wenn ich z.B. im JDK-Demo-Verzeichnis
starte und mich danach mit der jconsole dagegen verbinde. Mit den Optionen -Dcom.sun.management.jmxremote.local.only=false und -Dcom.sun.management.jmxremote hat es aber dann doch noch geklappt:
Danach war die jconsole nicht mehr bockig, sondern lies sich mit der gestarteten Notepad-Anwendung verbinden.
java -jar Notepad.jar
starte und mich danach mit der jconsole dagegen verbinde. Mit den Optionen -Dcom.sun.management.jmxremote.local.only=false und -Dcom.sun.management.jmxremote hat es aber dann doch noch geklappt:
java -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote -jar Notepad.jar
Danach war die jconsole nicht mehr bockig, sondern lies sich mit der gestarteten Notepad-Anwendung verbinden.
... link (0 Kommentare) ... comment
Sunday, 14. December 2008
Hello World with PatternTesting 0.8.0
javatux, 17:59h

For the Hello-World-Example described in October you have to add now two jar files:
- patterntesting-check-0.8.0.jar
- patterntesting-rt-0.8.0.jar (for @SystemOutNeeded)
<dependency> <groupId>net.sf.patterntesting</groupId> <artifactId>patterntesting-check</artifactId> <version>0.8.0</version> </dependency>
Happy Patterntesting...
... link (0 Kommentare) ... comment
Tuesday, 11. November 2008
C++ mit Eclipse programmieren
javatux, 21:33h

Hauptsächlich hatte ich die Beispiele unter Linux und MacOS-X entwickelt und getestet. Am Ende habe ich die Beispiele natürlich noch unter Windows getestet, da dies immer noch die vorherrschende Plattform ist. Da ich bewußt auf Windows- und Grafik-Programmierung verzichtet habe (hier unterscheiden sich die System zu sehr), gab es zum Glück keine größere Probleme.
Größere Probleme bereitete mit hingegen die beiliegenden CD, da es sich hierbei um ein bootbare CD mit einem Knoppix-Derivat handelt, die alles für den schnellen Einstieg mitbringt. Haupthindernis waren die lange Turnaround-Zeiten: Ändern - CD brennen - booten - testen - wieder ändern usw... Aber ich denke, der Aufwand hat sich gelohnt.
... link (0 Kommentare) ... comment
Monday, 3. November 2008
Umstieg von KDE 3 auf Xfce 4.4
javatux, 10:23h
Eigentlich bin ich mit KDE zufrieden - wenn es nicht immer solange dauern würde, bis KDE nach der Anmeldung einsatzbereit ist. So entschloss ich mich, mit Erscheinen von Ubuntu 8.10 auf Xubuntu und Xfce als schlanken Window-Manager umzusteigen. Und ich muss sagen, bis jetzt habe ich den Umstieg noch nicht bereut.
Xfce startet im Gegensatz zu KDE wesentlich flotter - kurz nach der Anmeldung ist der Desktop auch schon einsatzbereit. Und ich muss auf nichts verzichten, was ich von KDE gewohnt bin. Xfce hat eine (oder mehrere) Startleisten, die man nach Bedarf anpassen und mit passenden Applets bestücken kann. Ich habe verschiedene virtuelle Desktops, die ich mit Ctrl+F1...Fn wechseln kann und ich kann meine liebgewonnenen KDE-Anwendungen wie konqueror oder digiKam starten.
Einziger Wermutstropfen besteht derzeit in der Start-Leiste - sie will immer im Vordergrund sein, d.h. ich kann keine Fenster drüberschieben (wie in KDE 3), was mich bei meinem Notebook mit 1024x768 Pixeln stört. Allerdings kann ich Anwendungen mit F11 oder Alt+F11 auf Vollbild vergrößern, sodass ich diese Einschränkung verschmerzen kann. Weitere Tastenkombinationen wie z.B. Alt+F1 (Hilfe) kann man der Dokumentation entlocken.
Xfce startet im Gegensatz zu KDE wesentlich flotter - kurz nach der Anmeldung ist der Desktop auch schon einsatzbereit. Und ich muss auf nichts verzichten, was ich von KDE gewohnt bin. Xfce hat eine (oder mehrere) Startleisten, die man nach Bedarf anpassen und mit passenden Applets bestücken kann. Ich habe verschiedene virtuelle Desktops, die ich mit Ctrl+F1...Fn wechseln kann und ich kann meine liebgewonnenen KDE-Anwendungen wie konqueror oder digiKam starten.
Einziger Wermutstropfen besteht derzeit in der Start-Leiste - sie will immer im Vordergrund sein, d.h. ich kann keine Fenster drüberschieben (wie in KDE 3), was mich bei meinem Notebook mit 1024x768 Pixeln stört. Allerdings kann ich Anwendungen mit F11 oder Alt+F11 auf Vollbild vergrößern, sodass ich diese Einschränkung verschmerzen kann. Weitere Tastenkombinationen wie z.B. Alt+F1 (Hilfe) kann man der Dokumentation entlocken.
... link (0 Kommentare) ... comment
... older stories