Sunday, 23. September 2012
20 Jahre Java, 20 Folien, 20 Sekunden
Wie bereits angekündigt, starteten wir von der Java User Group Stuttgart vorgestern ein Experiment: Kann es gelingen, das Pecha-Kucha-Format, das hauptsächlich im architektonischen und künstlerischen Bereich eingesetzt wird, auch auf technische Vorträge zu übertragen? Das Pecha-Kucha-Format wurde 2003 in Tokyo von den Architekten Astrid Klein und Mark Dytham als Antwort auf Death-by-Powerpoint-Syndrom vorgestellt: 20 Folien á 20 Sekunden = 6:40 Minuten Vortragszeit.

Die Pecha-Kucha-Challenge

Für die Referenten (einschließlich mir) war es Neuland, das wir mit Pecha-Kucha als Vortragsformat betreten haben. Umso erfreulicher war es, dass sich einige dieser Herausforderung gestellt und sich folgenden Spielregeln unterworfen haben:
  • Der Vortrag besteht aus 20 Folien á 20 Sekunden
  • Jede Folie wird exakt 20 Sekunden lang gezeigt.
  • Die Folien wechseln automatisch - der Vortragende hat keinen Einfluss darauf.
  • Die Reihenfolge der Folien legt der Vortragende fest.
  • Die Reihenfolge der Vortragende legt der Veranstalter fest
Folgenden Tipp gaben wir den Referenten dabei mit auf den Weg:
  • Beschränke dich auf das Wichtige - 20 Sekunden sind kurz!
Und das war aus meiner Sicht auch das Schwierigste: Unnötiges Weglassen und sich auf das Wesentliche zu beschränken. Aber dies machte gerade den Reiz aus, wie mir viele Teilnehmer hinterher bestätigten.

Eine weitere Herausforderung war für uns als Veranstalter die Namensgebung. Der Begriff "Pecha Kucha Night" für Veranstaltungen ist geschützt, sodass wir uns letztendlich für "20 Jahre Java" entschieden haben.

20 Jahre Java

Bevor jetzt einer den Taschenrechner aus der Schublade kramt und nur auf 17 Jahre kommt (Java wurde 1995 auf der SunWorld angekündigt), hier die Auflösung: die Ursprünge von Java gehen etwas weiter auf das Green-Projekt zurück, das 1992 einen PDA-Device mit Touch-Screen und Duke als Assistenten hervorgebracht hat. Die Software war in Oak geschrieben, das später aus lizenzrechtlichen Gründen in Java umbenannt wurde.

20 Folien, 20 Sekunden

20 Jahre Java Für die Zuhörer war es kurzweilige Unterhaltung - für die Vortragende Stress (zumal manche Folien nicht in der aktuellsten Version aufgelegt wurden). In der Pause und im gemütlichen Teil konnte man dann in entspannter Atmosphäre mit den Referenten in Kontakt treten und all die Fragen loswerden, die während dem Vortrag (aus Zeitgründen) unterbunden wurden.

Die Themen waren bunt gemischt und für jeden war etwas dabei. Es gab diverse Rückblicke und Ausblicke rund um die Entwicklung des Java-Universums, diverse Einblicke, was man lieber nicht in/mit Java machen sollte, aber auch Themen wie Spring Roo, EHCache, Workflow-Engines oder Eclipse Code Recommenders ("Entwickler, die diese Methode verwendet haben, haben auch diesen Code eingebaut...").

20 Jahre JavaMir persönlich hat vor allem die Vorstellung von "Specification by Example" gefallen, weil ich dadurch einige Anregungen für künftige Entwicklungsvorhaben mitnehmen konnte. In der anschließenden Diskussion mit dem Referenten konnte ich Erfahrungen austauschen und Tipps einholen, wie man mit fehlenden Tests umgehen und Mehrwert aus Dokumenten herausziehen kann. Damit konnte ich wieder Energie tanken, um all die Dinge anzugehen, die in der Vergangenheit aus Zeitgründen vernachlässigt wurden.

Generell war festzustellen, dass viele Teilnehmer die Gelegenheit genutzt haben, sich mit den Referenten und anderen Teilnehmern auszutauschen. Und es gab viel zu diskutieren - schließlich war die Informationsdichte pro Vortrag recht hoch und machten Appetit auf mehr Informationen zu dem einen oder anderen Thema.

Fazit

20 Jahre Java Es war ein unterhaltsamer Abend und viele Teilnehmer (einschließlich Referenten) waren von dieser kurzweiligen Präsentationsform begeistert. Es gab auch schon die ersten Anfragen, ob wir einen weiteren Event in dieser Form planen. Vielleicht sollten wir mal das jährliche Java Forum Stuttgart Anfang Juli in dieser Form abhalten? Aber dann wäre es schon nach einer Stunde vorbei!

Vielleicht schreiten wir aber auch zur nächsten Stufe der Herausforderung an die Referenten: wir mischen das Pecha-Kucha-Format mit Powerpoint-Karaoke zur PKK (Pecha Kucha Karaoke;-).

Weitere Infos zur Veranstaltung findet Ihr unter www.jugs.org/2012-09-21.html bzw. bei NovaTec oder in der Januar-Ausgabe von Java aktuell...

Artikel als PDF

... link (1 Kommentar)   ... comment


Thursday, 13. September 2012
Pecha-Kucha und 20 Jahre Java
Viele Vorträge sind stink-langweilig. Der Referent kommt einfach nicht auf den Punkt und verschwendet die Zeit mit unwichtigen Details. Nicht so bei Vorträgen im Pecha-Kucha-Format - hier sind die Anzahl der Folien und die Zeit begrenzt: 20 Folien á 20 Sekunden, d.h. der Vortragende hat nur 6 Minuten 40 Sekunden Zeit, das Thema rüberzubringen. Das verspricht kurzweilige Vorträge.

Am 21. September 2012 wollen wir (das bin ich + Kollege) das mal zusammen mit der JUGS (Java User Group Stuttgart) ausprobieren und haben eine Jubiläumsveranstaltung zu "20 Jahre Java" organisiert. Jeder, der Lust auf einen etwas anderen Vortrags-Abend hat, ist herzlichst dazu eingeladen. Die Veranstaltung finden in Leinfelden-Echterdingen statt. Das Programm findet Ihr unter Abstracts_Pecha_Kucha.pdf, weitere Informationen unter http://jugs.org/2012-09-21.html.

... link (0 Kommentare)   ... comment


Thursday, 26. July 2012
gdv.xport 0.7.0 ist draußen
Was vor einigen Jahren als Nebenprodukt bei der ÖRAG auf den wöchentlichen Zugfahrten zwischen Stuttgart und Düsseldorf entstanden ist, hat jetzt seinen neuen Platz im Zentralen Maven Repository gefunden: die gdv.xport-Bibliothek, die Java-Entwicklern den Im-/Export des GDV-Formats, das hauptsächlich im Versicherungsbereich zum Einsatz kommt, erleichtert.

Mit Version 0.7.0 hat sich auch die Web-Seite von gdv.xport geändert und liegt nicht mehr unterhalb der agentes Labs, sondern direkt unterhalb von github/oboehm. Dort finden sich neben weiteren Infos u.a. die Satzarten, die inzwischen von gdv.xport direkt unterstützt werden.

... link (0 Kommentare)   ... comment


Saturday, 7. July 2012
JFS 2012 reviewed
JFS 2012Wie jeden ersten Donnerstag im Juli fand auch dieses Jahr das Java Forum Stuttgart statt. Mit weit über 1K Teilnehmern ist es das größte Java-Ereignis im süddeutschen Raum (und sicherlich auch darüber hinaus), das man auf keinen Fall verpassen sollte. Hier trifft man alte Bekannte, lernt neue hinzu und hat genügend Zeit, zwischen den Vorträgen sich mit Gleichgesinnten auszutauschen.

Ein echtes Highlight oder Hype war nicht auszumachen in diesem Jahr. Das Cloud-Thema hat sich inzwischen etabliert, Konzepte für Parallelität gibt es, aber noch nicht im Sprachkern, Eclipse 4 hat die Erwartungen erfüllt, der Drive früherer Jahre hat aber gefehlt. Einzig der Mobil-Bereich mit Android scheint etwas Schwung in die Java-Welt zu bringen.

Auf der anderen Seite zeigt es auch, dass sich Java etabliert hat und einer der Gründungsziele der JUGS, die Verbreitung von Java, inzwischen erreicht wurde.

Bis zum nächsten Jahr...

... link (0 Kommentare)   ... comment


Wednesday, 27. June 2012
Java Aktuell
Wer nach dem gestrigen Kurz-Vortrag (auf Englisch) über "10 Years PatternTesting" auf dem Eclipse Demo-Camp etwas ausführlicher die Entstehungsgeschichte hinter PatternTesting nachlesen will, findet in der aktuellen Ausgabe des iJUG-Magazins "Java aktuell" einen Artikel über "10 Years PatternTesting" (javaaktuell032012.pdf (pdf, 670 KB) ).

Die iJUG als Herausgeber dieser Zeitschrift ist ein Dachverband der Java User Groups im deutschsprachigen Raum, der auch die JUGS angehört.

Ansonsten besteht auch auf dem Java Forum Stuttgart am 5. Juli die Gelegenheit, die Geschichte von PatternTesting und einen Rückblick auf die letzten 10 Jahre life mitzuerleben (Track F4, 12:15 - 13:00).

... link (0 Kommentare)   ... comment


Thursday, 3. May 2012
Die 11 goldenen Logging-Regeln
Logging ist (neben einem Exception-Handling, das diesen Namen auch verdient) das wichtigsten Hilfsmittel, um Fehler im Betrieb zu finden. Leider wird diese Erkenntnis gerne ignoriert.

Für alle Nicht-Ignoranten gibt es die 11 goldenen Logging-Regeln von Simon Wiest:
  1. Alle Meldungen in Englisch abfassen.
  2. Jede Meldung als vollständigen Satz formulieren.
  3. Jede Meldung freistehend formulieren.
  4. Eine Meldung nicht der Formatierung wegen auf mehrere Zeilen aufteilen.
  5. Textvariablen immer in einfache Anführungszeichen setzen.
  6. Meldungen so formulieren, daß sie im Code verbleiben können.
  7. Meldungen immer mit einem Punkt abschließen.
  8. Meldungen, die eine Exception ausgeben, mit Doppelpunkt abschließen.
  9. Wird der Beginn eines Zeitraumes angezeigt, die Meldung mit drei Punkten (...) beenden.
  10. Wird das Ende eines Zeitraumes angezeigt, die Meldung mit einem Punkt (.) beenden.
  11. Besser den Beginn als das Ende einer längeren Operation anzeigen.
Im angehängten PDF sind die einzelnen Regeln erklärt und mit Beispielen hinterlegt. Denken Sie vielleicht auch ab und zu an den armen Administrator, der sich tagtäglich mit ihren Log-Dateien rumärgern darf und erschweren Sie ihm nicht unnötig die Arbeit. Spätestens wenn ein Bug auf Ihren Schreibtisch flattert, werden Sie froh sein, wenn das zugehörige Log aussagekräftig ist.

PDF: diegoldenenlogging-regeln2006-02-20 (pdf, 178 KB)

... link (0 Kommentare)   ... comment


Thursday, 19. April 2012
Star Wars in ASCII
Heute mal was zum Entspannen: wenn man sich Star Wars mal in ASCII anschauen will, einfach ein Terminal öffnen und
telnet towel.blinkenlights.nl
eingeben ;-)

... link (0 Kommentare)   ... comment


Friday, 23. March 2012
10 Years PatternTesting
On 23th March 2002 Matt Smith and Vincent Massol initiated PatternTesting to find some of the common anti patterns like a forgotten e.printStackTrace you can find in many projects.

2002 is also the year where asserts are provided with JDK 1.4. With this new keyword it is possible to place detectors in your code for better findings of programming errors. Together with PatternTesting it is possible to automate this process e.g. to find method calls which get null arguments or returns null as return value - a common cause for NullPointerExceptions.

Today is now released the jubilee release - PatternTesting 1.2.10-YEARS. One of the new features of this release is PatternTesting Agent which must be started as Java agent:
java -javaagent:patterntesting-agent-1.2.10-YEARS.jar ...
It provides the ClasspathMonitor of PatternTesting Runtime with the needed infos about the class loader to find unused classes or Jar files or to detect incompatible classes (this are classes with the same signature but different versions). The agent is only needed for class loaders which are not direct supported by the ClasspathMonitor (as e.g. is the case for the IBM JDK). For the normal Sun JDK you don't need it.

More infos how to use the ClasspathMonitor can be found in the PatternTesting Wiki. Look at the Hello World example in the section Getting Started.

Happy PatternTesting

... link (0 Kommentare)   ... comment


Thursday, 2. February 2012
PatternTesting in Action
Today I received a mail from Reikje who uses PatternTesting and who was the beta tester for the new ProxyRunner feature in 1.2.0. In his blog Testing just got better you can read about his experience of testing with PatternTesting.

Enjoy it.

... link (0 Kommentare)   ... comment


Saturday, 7. January 2012
PatternTesting 1.2.0 Released
Today there is a new release of PatternTesting available. What's new? First it can be now used as OSGi bundle. And second the support for parallel testing was extended:
  • patterntesting.concurrent.experimental.ParallelProxyRunner
  • patterntesting.concurrent.junit.ParallelSuite
In the wiki article Testing with PatternTesting you can read how to use it.

What's else new? Some testers (ComparableTester and RuntimeTester) were added, an uberjar for patterntesting-rt is now provided and some bugs are fixed. For more changes read the release notes.

Happy PatternTesting

... link (0 Kommentare)   ... comment


Sunday, 1. January 2012
2012
20122012 wird mal wieder ein Jahr, an dem die Welt untergeht. Aber bis dahin bleibt noch Zeit für ein paar gute Vorsätze dieses Jahr, als da wären:
  • mehr Sport treiben (mind. 2 Stunden pro Woche),
  • mit der App-Entwicklung für iPhone und iPad anfangen und
  • sich von Facebook zu verabschieden.
Vor allem der letzte Punkt wird happig. Denn Facebook hat durchaus seine Vorteile - so man kann schnell mach nachschauen, was sich so Neues im Bekanntenkreis abspielt. Was mich aber an FB massiv stört, ist die Ignoranz gegenüber dem Datenschutz ("Who needs privacy?") und die fehlende Transparanz, was mit meinen Daten geschieht. Noch überwiegen für mich die Vorteile, aber spätestens nach der nächsten Datenschutz-"Panne" werde ich mir überlegen, ob ich mir ein wenig "Privacy" gönne und mein Leben mehr in die reale Welt verlege (die soll es tatsächlich noch geben!)...

Frohe Neues Jahr!

... link (0 Kommentare)   ... comment


Wednesday, 28. December 2011
Stuttgarter Testtag 2012
Stuttgarter Test-Tage 20112012 ist es wieder soweit. Zum einen geht mal wieder die Welt unter, zum anderen findet am 23.03.2012 der Stuttgarter Testtag 2012 zum dritten Mal statt. Es wird sich wieder alles rund um das Thema "Testen" drehen, ein Schwerpunkt wird dieses Mal das Testen mit und durch AOP sein. Wer zum Testen etwas zu sagen hat, hat bis zum 31.01.2012 Zeit, einen Beitrag dazu einzureichen (s.a. www.jugs.org/tt2012/cfp.html).

Abends wird dann 10 Jahre PatternTesting gefeiert. Hier besteht dann die Gelegenheit, sich in gemütlicher Runde mit anderen Teilnehmern auszutauschen und auch über Themen abseits von Java und Testen zu diskutieren.

Damit wir den Teilnehmern einen kostenlosen Eintritt ermöglichen können, haben wir mit T-Systems einen Premium-Sponsor gewinnen können. Aber wir brauchen noch weitere Sponsoren - wer hier uns gerne unterstützen wollen, findet unter www.jugs.org/tt2012/sponsoring.html weitere Informationen bzw. kann unter aop@jugs.org weitere Infos anfordern.

Auf ein erfolgreiches und test-getriebenes 2012

... link (0 Kommentare)   ... comment


Thursday, 13. October 2011
Ein Programmierer sieht rot
Im aktuelle Javamagazin ist der Artikel "Ein Programmierer sieht rot" erschienen. Dazu erreichte mich die Frage, wie man mit Hilfe von PatternTesting JUnit-Tests mit Hilfe von Properties gruppieren kann, das in dem Artikel nur angedeutet wird. Hier die Auflösung: der Trick besteht einfach darin, dass man vor der Test-Methode (oder vor die ganze Test-Klasse) einfach ein @RunTestOn oder @SkipTestOn mit einer selbstdefinierten Property setzt:
    @Test
    @SkipTestOn(property="SKIP_EXPORT_TEST")
    public void testEmptyExport() throws IOException {
        ...
    }
Sobald dieser Test mit der Option -DSKIP_EXPORT_TEST aufgerufen wird, wird der Test ausgeblendet. Wichtig dabei ist, dass der SmokeRunner oder ParallelRunner als Testrunner verwendet wird:
@RunWith(SmokeRunner.class)
public final class DatenpaketTest {
    …
}
Man kann auch mehrere Optionen angeben:
    @Test
    @SkipTestOn(property={"SKIP_IMPORT_TEST","SKIP_EXPORT_TEST"})
    public void testImportExport() throws IOException {
        ...
    }
Sobald eine der beiden Properties gesetzt ist, wird der Test ausgeblendet.

Das Ganze kann man mit @RunTestOn auch andersrum machen: man definiert sich eine Property, und nur wenn diese Property gesetzt ist, wird der Test auch ausgeführt. Problematik dabei ist, dass man hier immer alle Properties angeben muss, wenn man alle Tests ausführen will. Ist keine Property gesetzt, wird auch kein Test ausgeführt. Ansonsten sind aber beide Verfahren gleichwertig.

... link (0 Kommentare)   ... comment


Wednesday, 28. September 2011
Semantisch-Orientierte Programmierung
In der aktuellen Ausgabe des iJUG-Magazins "Java aktuell" befindet sich ein Artikel über die "Semantisch-orientierte Programmierung mit Java" (PDF: javaaktuell042011.pdf (pdf, 364 KB) ). Es basiert im Wesentlichen auf den Ideen, die hinter den Soplets (s. soplets.org) stecken.

Die iJUG ist ein Dachverband der Java User Groups im deutschsprachigen Raum, der auch die JUGS angehört. Eines der Ziele der iJUG ist es, den User Groups ein stärkeres Gewicht gegenüber Oracle zu geben, was mir seit der Übernahme durch Sun dringend nötig erscheint.

... link (0 Kommentare)   ... comment