Mit jQAssistant bei der JUG Thüringen

Git Analysis & Internals, GitHub Insights – der Abend des 28. Novembers dreht sich rund um Thema Source Code Versionierung und wird von der noch jungen JUG Thüringen organisiert.

Wir sind mit am Start – Dirk Mahler (@dirkmahler) zeigt in seinem Vortrag „Shadows of the Past – Analysis of Git Repositories“, wie man mit unserem Open Source Tool jQAssistant Git Repositories analysieren und dabei wertvolle Informationen aufdecken kann. Ebenso vor Ort sein wird Stephan Pirnbaum (@spirnbaum), unser neues Teammitglied bei buschmais und jQAssistant.

Wir freuen uns, die Community der JUG Thüringen persönlich kennen zu lernen und bei einem vielversprechenden Vortragsabend dabei sein zu dürfen.

Anmelden könnt ihr euch in der Meetup Gruppe der JUG Thüringen.

Kurzüberblick zu unserem Vortrag:

Shadows of the Past – Analysis of Git Repositories
von Dirk Mahler (buschmais GbR)
am Dienstag, den 28. November 2017
im Hause der Keyweb AG, Neuwerkstraße 45, 99084 Erfurt

Abstract:
Das Versionskontrollsystem ist ein Standardwerkzeug im Entwicklungsbaukasten eines Software-Projekts. Wir comitten, arbeiten in Branches, mergen, markieren Releases mit Tags und manchmal suchen wir auch gezielt nach Änderungen in Dateien. War’s das? Man kann einem Git-Repository auch eine Menge wertvoller Informationen entlocken! Ein einfaches Beispiel: die Änderungshäufigkeit einer Datei kann einen Hinweis darauf geben, dass sich in ihr ein strukturelles Problem widerspiegelt, welches durch die Kombination mit anderen Metriken recht gut eingegrenzt werden kann. Doch damit nicht genug: weitere Analysen können unbeabsichtigte Kopplungen im System offen legen oder Optimierungsmöglichkeiten in Team- und Kommunikationsstrukturen aufzeigen. Der Vortrag demonstriert derartige Erkundungen am Beispiel von Open-Source-Projekten unter Zuhilfenahme des Werkzeuges jQAssistant.

Dirk Mahler ist Senior Consultant bei der buschmais GbR. Der Schwerpunkt seiner über 10-jährigen Tätigkeit liegt im Bereich Architektur und Entwicklung von Java-Applikationen im Unternehmensumfeld. Den Fokus setzt er auf die Umsetzung von Lösungen, die im Spannungsfeld zwischen Pragmatismus, Innovation und Nachhaltigkeit liegen.

buschmais auf dem JUG Saxony Day 2017

Der JUG Saxony Day ist bereits ein festes Event im buschmais Terminkalender. Die Community-Konferenz fand in diesem Jahr am 29. September im Radisson Blu Park Hotel & Conference Centre in Radebeul bei Dresden statt. Veranstalter ist der JUG Saxony e. V., den wir als Fördermitglied unterstützen.

Mit 500 Teilnehmern, einem interessanten Vortragsprogramm und zahlreichen bekannten Ausstellern war der JUG Saxony Day 2017 wieder ein voller Erfolg. Fast das gesamte buschmais Team war vor Ort. Unser Entwicklerteam konnte zahlreiche nützliche Tipps, Tricks und Erfahrungen der Referenten für ihren Projektalltag mitnehmen. Wir selbst trugen ebenso zum Wissentransfer bei und durften das Konferenzprogramm mit einem Vortrag bereichern – Dirk Mahler sprach zum Thema „Schatten der Vergangenheit – Analyse von Git-Repositories mit jQAssistant“ – und das in einem ziemlich authentischen Outfit. Sein Vortrag wurde von den Teilnehmern auf Platz 4 der besten Vorträge des Tages gevotet – vielen Dank und herzlichen Glückwunsch an Dirk.

An unserem Ausstellerstand sprachen wir mit vielen interessierten Besuchern über uns, unsere Arbeit und über unsere Karrieremöglichkeiten. Wir freuten uns sehr, bekannte Gesichter wiederzusehen und neue, interessante Kontakte zu knüpfen.

Der Termin für den 5. JUG Saxony Day steht bereits – am 28. September 2018 sind wir selbstverständlich wieder als Teilnehmer, als Aussteller und hoffentlich auch als Referent vor Ort.

Dirk´s Slides:
Schatten der Vergangenheit – Analyse von Git-Repositories mit jQAssistant (PDF)

Infos zu jQAssistant: jqassistant.org

Weitere Fotos findet ihr auf der Facebook– und Google+-Seite des JUG Saxony e.V.

Nachfolgend ein Kurzbericht meines Kollegen Michael Ruttka:

Auch dieses Jahr war der JUG Saxony Day für mich wieder ein großer Erfolg. Mein Veranstaltungstag gestaltete sich aus sehr abwechslungsreichen Vorträgen mit technischen Themen wie der „Automatischen Hinderniserkennung mit neuronalen Netzen“ von Paul Fritsche bis hin zur Selbstentdeckung im „Agilen Selfie“ vom immer wieder gerne gesehen Team von Learnical GbR.
 
Abseits der Vorträge gab es wieder viele Gelegenheiten, mit den Besuchern ins Gespräch zu kommen, entweder an unserem neu gestalteten buschmais-Stand, am Mittagstisch oder bei einem kühlen Getränk auf der gemütlichen Abendveranstaltung – es gab immer etwas zu besprechen.
 
Für mich wieder einmal ein gelungener Veranstaltungstag, ich freue mich schon auf den nächsten JUG Saxony Day.

JUG Saxony Day 2017 – buschmais ist wieder dabei


Der JUG Saxony Day 2017 steht kurz bevor und wir freuen uns wieder als Premium-Sponsor dabei zu sein.
Als Fördermitglied unterstützen wir den JUG Saxony e.V. seit der ersten Stunde und sind besonders stolz, dass der vierte JUG Saxony Day mit fast 500 Teilnehmern ausverkauft ist und den Besucherrekord des letzten Jahres weit übertrifft.

Freut euch auf einen spannenden Vortrag von Dirk Mahler zum Thema Schatten der Vergangenheit – Analyse von Git-Repositories mit jQAssistant.

Da neben dem facettenreichen Vortragsprogramm das Networking natürlich nicht zu kurz kommen darf, hoffen wir euch zahlreich an unserem Stand begrüßen zu dürfen. Hier erfahrt ihr alles rund um das Unternehmen und das Thema Karriere bei buschmais.

Kommt vorbei!

JavaLand 2017

Das Phantasialand Brühl öffnete vom 28. bis 30. März 2017 seine Pforten, um den Besuchern des nun zum 4. Mal stattfindenden JavaLands Eintritt zu gewähren. Und es kamen derer sehr viele: zur Eröffnung wurde verkündet, dass es sich um ca. 1.650 Teilnehmer handelt – ein neuer Rekord! Die Verkündung erweckte aber zeitgleich die Befürchtung, dass es daraufhin an den zwei Vortragstagen sehr eng zugehen könnte. Dies war aber definitv nicht der Fall. In den Sälen und auf dem Gelände des Freizeitparks konnten sich die Teilnehmer sehr gut verteilen, auch bei der Versorgungslogistik (Speisen und Getränke) gab es zumindest keine für mich spürbaren Engpässe.

Direkt nach der ersten, für meine Begriffe sehr guten Keynote, die sich mit dem nötigen Kulturwandel in altehrwürdigen Unternehmen durch Digitalisierung beschäftigte, war gleich mein Vortrag an der Reihe: „Schatten der Vergangenheit: Analyse von Git-Repositories“ – natürlich mit jQAssistant. Ein Blick auf die Programmübersicht des Tages zeigte mir, dass mein Vortrag mit einer Chili-Schote markiert war: Teilnehmer hatten das Thema im Vorfeld der Konferenz als „heiss“ bewertet. Das ist eine Einschätzung, die ich naturgemäß teile, zeitgleich aber den Druck verstärkte, ggf. hohe Erwartungen zu erfüllen und eine gute Präsentation abzuliefern. Mit den Besucherzahlen der aktuellen Hype-Themen konnte sich mein Vortrag am Ende zwar nicht messen, aber es waren trotzdem viele Leute da, es gab eine Menge Spaß und das Publikums-Feedback war sehr positiv! Einer der Gründe: die Präsentation bestand zum großen Teil aus einer Live-Demonstration von Abfragen auf Daten des Git-Repositories, das nicht ganz zufällig die Server-Komponente des offiziellen und quelloffenen Konferenz-Planers „DukeCon“ beinhaltete. Die Autoren der Anwendung selbst waren anwesend – dank Ankündigungen in sozialen Medien im Vorfeld sicherlich auch nicht zufällig… Sie bestätigten die gefundenen Erkenntnisse, wie z. B. Expertenwissen über Technologien oder stets in den Ergebnissen wiederkehrende Hotspots – mehr Überzeugungskraft für einen Vortrag kann sich ein Sprecher einfach nicht wünschen!

Nachdem ich meine „Pflicht“ also mit großer Freude erfüllt hatte, konnte ich verbleibende Zeit der Konferenz entspannt nutzen. Interessanterweise schaffte ich es nur zu wenig anderen Vorträgen, die sich für mich eher zufällig thematisch im Umfeld von Java EE ansiedelten. Interessant war dabei, dass wie schon bei der JavaOne 2016 das Thema Microservices in diesem Umfeld auf sehr starkes Interesse stößt, allerdings das zur Verfügung stehende Ökosystem teilweise noch einige Lücken aufweist. Dies wurde im sehr gut besuchten Vortrag meines JUG Saxony Mitstreiters Thorben Janssen deutlich.
Darüber hinaus standen natürlich insbesondere die aktuellen Schlagwörter Java 9, Reactive, Container & Co. auf der Konferenzagenda. Ich widmete mich jedoch eher den persönlichen Gesprächen mit bestehenden oder potentiellen jQAssistant-Nutzern bzw. anderen Sprechern und warf einen Blick auf die Community-Aktivitäten (Code-Golf, Meet The Libs), um dort ein paar Inspirationen für den JUG Saxony Day zu erhalten. Im Ganzen war ich damit so ausgelastet, dass ich es zum wiederholten Mal nicht auf die Achterbahn schaffte! Vielleicht klappt das dann ja endlich im kommenden Jahr…

Apropos: den Termin habe ich mir schon im Kalender vorgemerkt, die Tore des nächsten JavaLands werden vom 20. bis zum 22. März 2018 geöffnet sein!

Slides zum Vortrag:
„Schatten der Vergangenheit: Analyse von Git-Repositories“ (PDF)

Fotos zum JavaLand 2017:

JavaOne 2016

Konferenzen sind der ideale Ort, um aus dem Entwickler-Alltagsgeschäft auszubrechen und wieder mal ein Gefühl dafür zu bekommen, welche Hype-Wellen gerade über das Ökosystem rollen oder gerollt werden. Die diesjährige JavaOne 2016 in San Francisco – das ist die Oracle-Hauskonferenz – machte hier keine Ausnahme und ein Blick auf die Agenda der angebotenen Sessions und Tutorials zeigte deutlich die angesagten Schlüsselworte: Cloud, Microservices, Reactive Programming sowie IoT.

Etwas abseits des Mainstreams hatte ich das Vergnügen, eine Session gestalten zu dürfen: „jQAssistant: Verify Your Design and Architecture„. In dieser lagen die Schwerpunkte einerseits auf der Einführung in Philospohie und Funktionsweise des Werkzeugs, insbesondere aber in der Modellierung von Architekturkonzepten in Codestrukturen bzw. deren Abbildung im Graphen sowie der Formulierung von Regeln in ausführbarer Dokumentation (Asciidoc) für Entwickler. Das unmittelbare Feedback war sehr positiv, insbesondere der letzte Aspekt stieß wiederum auf sehr reges Interesse. Dieser zeigt einen gangbaren Weg auf, die zwar gebräuchlichen, aber naturgemäß stets veralteten Wiki-Seiten bzw. Word-Dokumente abzulösen.

Ich konnte insgesamt nur zwei volle Tage vor Ort sein. Einen Abend davon nutzte ich, um jQAssisant bei der Neo4j-Meetup-Group von San Francisco vorzustellen. Dabei lag der Schwerpunkt auf der Exploration bestehender Anwendungsstrukturen sowie der Gewinnung bzw. Bewertung individueller Metriken.

Leider konnte ich die Keynote der JavaOne mit den sehnsüchtig erwarteten Aussagen zur Zukunft von Java EE nicht besuchen. Das Ergebnis ist mittlerweile bekannt: es gibt ein Commitment zum Standard, Java EE 8 soll Ende 2017 verabschiedet werden und stellt im Wesentlichen eine Auffrischung mit kleineren (Configuration) und ausbleibenden Ergänzungen (MVC) dar. Zwischenzeitlich wird bereits an Java EE 9 gearbeitet, welches – wie die Gerüchteküche es im Vorfeld auch bereits vermutete – eine Neuausrichtung wagt und ein reaktives Programmiermodell anvisiert. Interessant ist dabei der Zeitplan: das Ergebnis soll bereits ein Jahr später verabschiedet werden, was selbst ein Oracle-Mitarbeiter in einem persönlichen Gespräch als zu ambitioniert und unrealistisch einschätzte. Wer den Spezifikationsprozess über die Jahre verfolgt hat, kann diese Auffassung bestätigen. Es ging Oracle offensichtlich erst einmal darum, ein Signal für Java EE zu senden und das sollte trotzdem gelungen sein.

Parallel dazu war deutlich erkennbar, dass man sehr bemüht ist, den Boden für eine hohe Akzeptanz des kommenden Java 9 zu bereiten. Es wurden viele Sessions angeboten, die sich den neuen Features (z. B. JShell) und der wahrscheinlich „heißesten“ Änderung widmete: der Modularisierung mit Project Jigsaw und den damit ggf. verbundenen Inkompatibilitäten bei der Migration bestehender Anwendungen. Es wurde auffallend oft (aber zurecht) betont, welchen Stellenwert eine auf Stabilität orientierte Weiterentwicklung hat und dass bisher keine bereitgestellte Funktionalität entfernt wurde. Mit Java 9 wird hier allerdings, wenn auch sehr langsam, ein Paradigmenwechsel eingeleitet: um eine Modularisierung der Plattform zu ermöglichen, wurden 6(!) public-Methoden entfernt. Es wurde deutlich gemacht, dass sich der Prozess des Entsorgens von Altlasten in kommenden Versionen fortsetzen wird. Das wurde insbesondere in einer Fragestunde unter dem Titel „Meet the JDK architects“ (mit Mark Reinhold, John Rose und Brian Goetz) sehr deutlich. Diese Session war überhaupt sehr aufschlussreich und unterhaltsam, weil zuweilen mit recht trockener Ironie argumentiert wurde. Getrieben durch Fragen von Entwicklern wurde klar, welche Werte bei der Weiterentwicklung von Plattform und Sprache eine Rolle spielen: Stabilität und ein nachweisbarer Mehrwehrt für neue Features. Die Untersützung von Ahead-Of-Time-Compilation oder Currying wurden unter letzterem Betrachtungswinkel als klar „Low-Priority“ deklariert, währenddessen eine Verringerung des Overheads beim Thread-Handling in Aussicht gestellt wurde, um reaktiven Programmiermodellen bzw. entsprechenden Frameworks entgegenzukommen. Die Antwort auf die Frage nach dem „biggest regret“ in der Geschichte von Java war übrigens wenig überraschend „Serialization“, verbunden mit der Aussage, dass der aktuelle Mechanismus die mit Abstand meisten Security-Issues verursacht hat…

Im Hinblick auf die Agenda der Konferenz möchte ich abschließend noch auf eine kleine Wahrnehmung am Rande hinweisen: es gab bekanntermaßen vor nicht allzu langer Zeit Spekulationen über eine möglicherweise unsichere Zukunft von JavaFX. Dem entgegen stand aber eine spürbare Menge der JavaOne-Sessions, die sich diesem Thema widmeten. Ähnlich optimistisch fiel dazu auch die Einschätzung in einem Panel zu RIA-Technologien aus, in welcher u. a. auch JavaFX als Basis für Cross-Plattform-Entwicklung im Bereich mobiler Geräte diskutiert wurde.

Slides zu meiner Session:
jQAssistant: Verify Your Design and Architecture (PDF)

Impressionen zur JavaOne 2016 in San Francisco:

 1 2 3 4 Vor