MATHEMA Campus 2014

Gestern und heute fand wieder der jährliche MATHEMA Campus, mit zahlreichen Vorträgen rund um die Softwareentwicklung und darüber hinaus, statt. Da ich selbst keinen Vortrag gehalten habe, war ich rein in der Genießerrolle. Einerseits den interessanten Vorträgen lauschen und in den ausgiebigen Pausen zahlreiche interessante, nette Gespräche führen. Ist einfach eine schöne Community und toll, wenn man sich wenigstens einmal im Jahr trifft.

Themenschwerpunkt war wohl ganz klar Java 8 – passgenau zum Erscheinungsdatum diese Woche. So gab es viel zu hören, von Lambdas, Streams, funktionaler Denkweise aber auch praxisnahe Demonstrationen.

Am Freitag Abend durften natürlich die legendären Programmpunkte Kickerturnier, Podiumsdiskussion und der Filmvortrag a la MiWi nicht fehlen.

Wieder eine rundum gelungene Veranstaltung – freu mich schon aufs nächste Jahr. Jetzt freu ich mich aber erst mal auf die JavaLand nächste Woche 😉

Share

Buchkritik: „Boyd: The Fighter Pilot Who Changed the Art of War“


Normalerweise berichte ich in diesem Blog ja nur über IT-Themen. Heute möchte ich euch ein Buch vorstellen, das nichts mit IT zu tun hat, von dem wir IT’ler aber sehr wohl profitieren können.

Und noch ein Disclaimer vorweg: Ja, ich bin Hobby-Pilot und entsprechend den Themen der Luftfahrt sehr aufgeschlossen. Auch wenn das Buch auf den ersten Eindruck sehr flugzeug- und militärlastig zu sein scheint, ist dies nur der Rahmen, im Kern geht es um ganz andere Themen.

Es geht also um das Buch Boyd: The Fighter Pilot Who Changed the Art of War von Robert Coram (ISBN: 0316796883). Es ist auf englisch (eine deutsche Übersetzung gibt es meines Wissens nicht), lässt sich aber leicht lesen. Die einzelnen Kapitel sind relativ kurz, so dass es sich auch wunderbar als Buch für unterwegs und zwischendurch eignet.

Coram biographiert Colonel John Boyd, der auf seinem Weg vom Fighter Pilot zum Berater im Pentagon einige erstaunliche, ja unglaubliche Leistungen vollbracht hat. Parallel dazu wird auch sein traurig-tragisches Privatleben dargestellt.

„he had no time for activities in which he was average.“

„To be or to do“ – Du kannst entweder jemand sein oder etwas erreichen. Das Credo von Boyd beschreibt seinen Lebensweg – er hat unglaublich viel für Amerikas Militär erreicht, ist aber selbst nie zum General befördert worden und Colonel geblieben. Gleichzeitig hat er aber dafür gesorgt, dass zig Generäle ihren Posten verloren haben, indem er auf geschickte Weise stets für die Sache kämpfte und gegen korrupte Strukturen vorging. Dieser Kampf und seine Methoden sind in dem Buch sehr gut beschrieben.

Neben den „Kämpfen“ gegen die Übermacht des Pentagons zeigte Boyd eine enorme Willenskraft wissenschaftliches Vorgehen und kreative Prozesse voranzutreiben und so zu Lösungen zu kommen, die klassisch nicht erreichbar gewesen wären. Diese Kombination – ein Mensch, der herausragende Dinge schafft und diese auch noch gegen alle Widerstände durchsetzt – ist wohl äußerst selten anzutreffen und macht aus Boyd die schillernde Figur, die tragischerweise nie wirklichen Bekanntheitsgrad erfuhr.

„to have goals but to make sure the goals could not easily be reached.“

Ein paar der Dinge, aus Boyds Wirken:

  • E-M-Theorie, ein Modell zur Berechnung von Performanzeigenschaften eines Flugzeugs
  • Etablieren einer neuen Generation von Kampfflugzeugen (F-15, F-16, F-18, A-10)
  • OODA-Loop (Observe – Orient – Decide – Act) – im Nachhinein wahrscheinlich die bekannteste Errungenschaft, wird heute nicht nur im Militär sondern auch im Business eingesetzt, um sich strategische Vorteile zu verschaffen.
  • „Patterns of Conflict“, ein auf OODA basierendes Strategiepapier, das Dick Cheney als Grundlage für den Irak Krieg her nahm.
  • „Destruction & Creation“, ein Essay, welches die Wirkung von Handlungen betrachtet, unter philosophischer Zuhilfenahme von Gödels Unvollständigkeitssätzen, Heisenbergs Unschärferelation und dem zweiten Gesetz der Thermodynamik.

„Machines don’t fight wars. Terrain doesn’t fight wars. Humans fight wars. You must get into the minds of humans. That’s where the battles are won.“

Fazit: Impressive! Kein anderes Buch hat mich in letzter Zeit mehr beeindruckt. Im unterhaltsamen Stil wird das Leben und Tun eines außergewöhnlichen, inspirierenden Mannes portraitiert. Und – um den Kreis zur IT zu schließen – wenn wir das nächste mal mit irren Kundenideen, verbohrten Projektleitern oder Entscheidern zu kämpfen haben, aber auch, wenn kreative Leistungen und Schaffen von wirklich Neuem gefordert sind, finden wir im Boyd-Buch beste Strategien unsere Ziele zu erreichen – Lesebefehl!

Weiterführende Links:
[1] John Boyd (military strategist) auf wikipedia.org
[2] Artikel zu Boyds OODA-Loop (englisch)
[3] Ausführlichere Rezension (englisch, luftfahrtlastig)

Share

Vortrag auf der JavaLand 2014: AngularJS

Nachdem Markus Eisele mich fragte, ob ich nicht einen Vortrag zur neu geschaffenen JavaLand Konferenz einreichen möchte, sagte ich: „Ja, ich denke darüber nach“. Er: „Heute Nacht 0.00 Uhr ist der CfP zu Ende!“. So musste es etwas spontaner sein. Ich reichte also einen Vortrag zu meinem aktuellen Lieblings-Frontend-Thema ein: AngularJS.

Es soll ein einführender Vortrag werden, der einem typischen Java-Entwickler mit grundlegendem HTML/JS-Vorwissen eine Einführung in die Materie gibt.

Sehr gefreut habe ich mich, dass wenige Wochen später tatsächlich die frohe Kunde kam, mein Vortrag sei akzeptiert.

Auf die JavaLand bin ich schon sehr gespannt. Zum einen gibt es natürlich ein großes Füllhorn an überaus interessanten Vorträgen, zum anderen reizt die Konferenz mit ihrem ungewöhnlichen Veranstaltungsort, dem Phantasialand bei Köln.

So muss ich dann schwere Entscheidungen treffen, welche Vorträge ich mir noch anhören werde, oder ob ich doch lieber Achterbahn fahre 😉

Share

Aufbau einer Enterprise AngularJS Anwendung mit Yeoman in 5 Minuten

Als Java Entwickler ist man verwöhnt. Man hat für alles perfekte Tools (in erster Näherung). Ganz schnell ist ein Projekt mit Maven aufgesetzt, mit Jenkins eine CI Umgebung angeflanscht usw.

Für Webentwickler von JavaScript Anwendungen sieht es da typischerweise schon etwas anders aus. Da ich mich derzeit mit der Entwicklung von AngularJS Frontends beschäftige und die Dinge nun professioneller werden müssen, habe ich mich etwas umgesehen. Zuerst habe ich meist mit einem der Seed-Templates (z.B. angular-sprout) begonnen. Da ist zwar eine wunderbare Struktur vorgegeben, auch schon Tests uvm., aber die Flexibilität hat mir etwas gefehlt, verbunden mit der Tatsache, dass viel von dem Vorgegebenen doch wieder angepasst und geändert werden muss.

So habe ich mich umgesehen und es geht eleganter! Mit Yeoman habe ich ein Tool gefunden, das einen bei der Entwicklung perfekt begleiten kann – vom initialen Generieren einer Anwendung, über das Bauen und Testen bis hin zum Pflegen der Abhängigkeiten.

In diesem Artikel will ich beschreiben, wie man sich eine entsprechende Umgebung in 5 Minuten und 4 Schritten aufsetzen kann.

Hinweis: die ersten drei Schritte müssen nur einmal pro Entwicklungsrechner gemacht werden!

1.) Aktuelle Version von node.js und npm installieren

Auf Linux Ubuntu oder Mint sind die mitgelieferten node Pakete doch relativ alt, so dass es sich empfiehlt, aktuellere zu installieren. Eine Anleitung für alle Betriebssysteme ist hier zu finden: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

Für meine Linux Mint Kiste sind das folgende Schritte:

sudo apt-get update
sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

2.) Yeoman installieren

Yeoman lässt sich nun via npm Paketmanager installieren (hier global für alle User):

sudo npm install -g yo

3.) Generator installieren

Yeoman benötigt sogenannte Generatoren um entsprechende Projekttemplates generieren zu können. Unter http://yeoman.io/community-generators.html findet man jede Menge davon. Für meine AngularJS Projekte habe ich mir den „Yeoman Generator for Enterprise Angular Projects“ (https://github.com/cgross/generator-cg-angular) rausgesucht. Installiert ist dieser binnen Sekunden (wieder global):

sudo npm install -g generator-cg-angular

4.) Die Anwendung selbst anlegen

Nun müssen wir Yeoman mit seinem neuen Generator nur noch die Arbeit verrichten lassen, eine Anwendung zu generieren:

mkdir NewAngularApp
cd NewAngularApp
yo cg-angular

Voila! Das wars auch schon. Jetzt kann man loslegen mit der Entwicklung der Anwendung. Zur Seite stehen einem dazu ein paar Grunt-Tasks zum Bauen und Testen des Projekts, sowie verschiedene Yeoman Subgeneratoren zum Anlegen von Direktiven, Partials, Services und Filtern. Die Dokumentation und weitere Vorzüge sind in der README.md des Generators nachzulesen.

Share