Thursday, 24 January 2008

Wie geht's weiter mit Java?

This was a talk by Klaus Kreft and Angelika Langer, about what could possibly be in Java version 7.0.

The core of the talk hit language extensions (closures and concise instance declarations), new module functionality and other bits and pieces that could come in. All the items discussed had come out of the Java Community Process, more specifically the Java Specification Request (JSR) system.

Closures and concise instance declarations come from the demands of developers who want scripting language extensions to the core Java language - mainly because the enjoy using them in these languages. Now, I am a big fan of scripting languages, and the power that they give the developer, but the syntax that was recommended didn't look so good to me. The new Concise instance declarations syntax was also crap.

The new module functionality seemed to me to be a straight rip-off from maven. The idea of a super-package declaration that stops certain other packages being access able in a jar file, did seem to have merit. There is another JSR about the OSGi core service platform model, which is a more dynamic version of the modules idea. From what the gurus said, then this one would be the one to vote for. Unfortunately, this part of the talk was given by Frau Langer. She, like all the other female presenters, spoke far too quickly and I started drifting off in the middle. ho hum.

Finally there was a JSR for Swing, which is something I will have to look at, and a JSR about units and quantities that you could use in your application to convert between meters and feet with very little overhead.

Although it was in German, this was a nice technical start to day 4 of our conference.

Wednesday, 23 January 2008

Keine Angst vor Vampieren!

Einer Sache kann man sich sicher sein: Hier in München braucht man keine Angst vor Vampieren haben! Die Messe München hat ausgeklügelte Schutzvorrichtungen für den Ernstfall einer Bedrohung durch Vampire (vgl. 30 days of night) vorgesehen!

Impossant: Abwerfbahre Sperrvorrichtungen die automatisch Pfählen!

Trainingset mit lackierten Holzpfählen in Spielform, um das sichere pfählen von Untoten jederzeit üben zu können!

Koordinationsspiel, um im Ernstfall mit schnellen Reaktionen Bissattacken ausweichen zu können.

Alles in allem eine bissfeste Sache. Ich gebe der Messe vier von fünf Buffy-Punkten.

OOP day 3: Learning curve

Halbzeit! Und endlich ein Tag mit abwechslungsreichen Vorträgen. Allerdings auch ein langer Tag mit vier Vorträgen, zwei Keynotes und einer Nightschool. Und keine Bilder, weil die Synchronisation der Geräte heute an dem japanischen Vista scheitert...

Vortrag: Use Cases: Popularity, Pitfalls and Practices
Kevlin Henney again at his best.
Im Moment mein favorite Guru der OOP. Sehr direkt, sehr praktixnah, sehr eindeutig darüber, was Usecases alles NICHT sind und was man alles weglassen kann ohne sich schlecht zu fühlen. Überhaupt der erste Usecase-Vortrag ohne den schlechten Nachgeschmack von Buzzwords. Ich habe fast das Bedürfnis einen Usecase zu schreiben ... aber das vergeht sicher wieder ;-)

Vortrag: Soft Skills fördern den Projekterfolg
Echt? Das wäre mir niiieee eingefallen. Wie der Vortragende so entschieden betont hat: „Es gibt keine Realität.“ Also einfach eine andere Matrix wählen und schon ist das ganze Projekt anders :-)

Keynote: The Future of Software Delivery
Was ist noch geekiger als ein Guru? Ein Evangelist! Nach viel flavor, evangelistic stuff und Geschichten von ihren Kinder hat Terry Quatrani dann doch die IBM Werbung rausgelassen: Die Zukunft heißt Jazz (http://jazz.net/). Treibende Kraft hinter Jazz ist Erich Gamer, bekannt von Eclipse und Patterns (also auch Guru). Der Gedanke hinter Jazz ist (vereinfacht) eine IDE für (örtlich verteilte) Entwicklergruppen mit integrierter Prozessunterstützung und Kommunikationstools. Die Idee schaut durchaus interessant aus, die Entwicklung wird offen mit Community gemacht, der Source ist lesbar, nur das Endprodukt wird kostenpflichtig. Das sollten wir weiter verfolgen.

Vortrag: Was Regeln regeln: Architekturen mit Geschäftregeln
Oh, echter Code auf Powerpoint slides. Tasty :-) Der Gedanke mit einer Rule Engine die Algorithmen in Konvertern zu kapseln ist schon verlockend. Die Integration in Java scheint schon ziemlich fortgeschritten zu sein, auch wenn es an einem Standard noch mangelt. Vor allem das präsentierte JBoss-Drools wirkt sehr nett. Da muss ich ein Auge drauf werfen.

Keynote: The Power of Project Patterns
Oh, guru time again. Tim Lister und Peter Hruschka präsentieren die klassischen behavioral Patterns, die sie in Unternehmen kennengelernt haben (>Adrenalin-Junkies und Formular-Zombies). Sehr lustig, sehr wahr, sehr Dilbert. Mañana!

Vortrag: Refactoring von Softwarearchitekturen
Wieder ein anstrengendes Thema im späten Timeslot. Ein interessantes Thema, aber leider ein etwas unübersichtlicher Vortrag. Aber sicher was lesenswertes für unsere Architekten.

Nightschool: What every software architect should know about testing!
Nette, aber vorhersehbare Wunschliste aus der Sicht eines Testers, gewürzt mit ein bissi jammern. Tester haben es nicht leicht ;-) Sehr lustige live Demonstration von Testkonzepten mit acht Freiwilligen, die einen Tisch heben mussten. Ja, wir sollten mehr testen ... aber die Architekten sollten Systeme besser mit einem Blick aufs Testen designen ;-)

Das war's für heute, der Tag hat uns ziemlich geschafft.

The Road Less Travelled

This was a talk by Jason Ayers about how we, as developers, should evaluate new technologies without getting caught up in the hype. Mr. Ayers is the Managing Director of Cincom, which is a vendor of a version of Smalltalk, so he was obviously going to use this talk from his viewpoint.

He pushed that idea that we can change our implementation language if we want to because there are now so many out there in various states of maturity. The best reason for a change would be in gaining a competitive edge, with the proviso that the programmer should enjoy using the language.

He demonstrated a technique called a radar diagram that could be used to compare the different features of several languages together an he was obviously keen in pushing smalltalk as a viable alternative.

At the end of the session I asked him why he thought Java took off suddenly at the end of the nineties, and he said that it was because one vendor of smalltalk turned down the chance to make an embedded version of smalltalk for Netscape - i.e. Smalltalk turned down the chance to reach a huge audience.

I have heard that story before, anyone remember how DOS got onto the IBM PC? Because the maker of CP/M turned them down first. Aah, so this is how things happen.

Case Study: The New Guardian.co.uk

This was a very interesting war story by Erik Dörenburg and Matthew Wall, which was about how they have created a new version of the guardian.co.uk using a java web stack and agile development processes.

The interesting points were their idea of an architects role. They assumed a coaching role and only made a design decision when it was clear that a couple of teams had hit a similar problem and one of them had come up with a better technical solution. They were also strong proponents of Domain Driven Design, which forces everyone involved to use the same language for the same idea in the application up to the point training the end users in simple uml diagramming and teaching concepts such as inheritance and composition and then making the developers create components in the code that have the same name.

Both of these ideas can be found in Martin Fowler's books, who is the Chief Scientist at Thoughtworks, which is where Erik Dörnberg works. It sounds like to me then that, in this case, the consultant really earned his corn.

Model Based Full Code Generation Case Studies

This was a case-study type talk by a very nice Finn, by the name of Juha-Pekka Tolaven. He showed 17 different examples from around the world where model based code generation was successfully used. Examples ranged from configuration data generation for telecoms switches to generating whole interactions in a car infotainment system.

I got the idea that when the domain was sufficiently small, then it was possible to create a parser that could generate a complete set of code for a specific environment or set of environments. The trick was to start small and have a real domain expert nearby. With these pre-requisites in place, generation times were about 3 times shorter than using normal methods (this was proven, by the way, in a control study in the United States Air Force) .

Many of the examples had used the Eclipse Modelling Framework, or the Rich Client Environment as a gui and many were used on specific platforms - you didnt see code being generated for windows-linux-mac etc,etc,etc, but there was a large variation in target languages (Assembler, Python, C++, XML and Java).

The style of the talk was also excellent. English, was obviously not Mr. Tolaven's mother toungue, but he used a very slow, clear, style that would be a lesson to the German native speakers making presentations here.

Tuesday, 22 January 2008

OOP day 2: Requirements day

Ein guter Tag beginnt mit einem besseren Requirement ;-) Der heutige Tag war dem schwerverdaulichen Schwerpunkt Requirements gewidmet. Mahlzeit. Alles in allem eine zache Sache, aber bekanntlich stirbt die Hoffnung zu letzt. Vielleicht ist ja doch der eine oder andere Gedanke praktisch verwendbar ;-)

Vortrag: Mastering Requirements Engineering – A Mini Tutorial
Hmm, bekanntes Zeug, bekannter Terminologie, bekannte Vormittagsmüdigkeit. Ah, der Vortragende hat eine Businesshistory bei der uns völlig unbekannten Firma Alcatel. Favorite quote: „Traceability ist ein Lieblingsthema von vielen CMMI-Junkies.“

Keynote: Innovation – zwischen Buzzword, Management und Intuition?
rofl - St. Gallen läßt grüßen :-)


Die Keynotes sind jetzt im Saal 1. Der ist super und wäre der perfekte Kinosaal.

Vortrag: Requirements Engineering in Offshore Projekten

Der Vortrag hat sehr ambivalente Gefühle hinterlassen. Die Beschreibung eines realen Offshore Projekts mit 40 Kollegen in Indien ist grundsätzlich eine sehr interessante Sache. Aber wenn ich mir bei manchen Details denke „Das hätte ich anders gemacht“, dann ist das ein schlechtes Zeichen. Aber immerhin habe ich jetzt Ideen, wie man ein paar Probleme vielleicht lösen könnte.

Keynote: How Simple is too simple?
Endlich eine Keynote, die den Namen auch wirklich verdient. Erik Dörnenberg und Dan North sinnieren auf Guru-Level über simple und complicate, simplicistic und complicated. Das ganze mit nur drei Grafiken (siehe nächste Abbildung). Soviel Minimalismus ist schon fast Apple ;-)

Die aufwendigste Grafik der Keynote.Erik and Dan

Vortrag: Deltaanforderungen – Gutes Requirements Engineering trotz Altlasten
Der ganze Vortrag lässt sich wunderbar auf ein Wort zusammenfassen: Usecase-Fragmente. Im Ernst, es klingt zwar trivial, aber es könnte für uns brauchbar sein (und es scheint nicht einmal weh zu tun, beim Anwenden). Faszinierend übrigens auch die weibliche Beteiligung an diesem Thema im Publikum. Die Vortragende Chris Rupp ist offenbar ein role model für requirements fangirls. (PS: Mehr zum Thema fanboys gibt´s am Donnerstag von James :-))

Vortrag: Von der Anforderung zum An(wendungs)fall – Die Anforderungen im Modell
Als letzter Vortrag des Tages SysML Modellierung von Requirements zu präsentieren ist keine leichte Sache. Dafür hat sich Tim Weilkiens eigentlich gut geschlagen. Bin aber noch nicht ganz sicher, ob etwas von der Modellierung bei uns umsetzbar ist.

Zum Schluss noch ein Bild von einer Guerilla Werbeaktion. Wenn man den ganzen Tag einen orangen Schutzhelm mit Werbung herumgeschleppt hat (man musste ihn nicht am Kopf tragen ;-), konnte man ein iphone gewinnen. Also hab ich James überzeugt auch einen Helm herumzutragen und – eh klar – er ist schon für die engere Gewinnerwahl ausgewählt worden. Lucky bastard.