Montag, 24. Oktober 2016

O'Reilly Software Architecture Conference London 2016

O'Reilly hat erstmals eine europäische Variante ihrer Konferenz "Software Achitecture" organisiert.
Wie der Titel vermuten lässt, lag der Schwerpunkt auf Themen die sich mehr auf das 'big picture' der Software Entwicklung beziehen und weniger auf Programmierung, Frameworks und Tools.

Keynotes

Die Keynotes am Donnerstag und Freitag wurden von Neil Ford und Rahel Roumeliotis moderiert.

Talks

Alle Talks wurden von O'Reilly auf Video aufgenommen. 
Die Aufnahmen werden in ein paar Wochen auf Safari Books Online angeboten.

Ein paar wenige Talks wurden bereits schon einmal gehalten und sind auf Youtube verfügbar.

Die Slides zu den weiteren Talks sind auf der Konferenz-Website verlinkt.


Buchempfehlungen

In diversen Talks wurden einige Bücher erwähnt. 
Hier eine Zusammenfassung:

Tweets











Mittwoch, 27. Juli 2016

Online-Kurs Make Films

In den letzten zehn Wochen habe ich an einem Online-Kurs der Film- und Fotografin Xanthe Berkeley teilgenommen.
Der Kurs kostet 79 Englische Pfund und wird auf ihrer Website gehostet.


Im Kurs werden Themen wie Bildkomposition, Video-Schnitt mit iMovie, Musik & Audio, Slow Motion, Timelapse und Stop Motion behandelt. Xanthe erklärt die einzelnen Themen ausführlich in Videos und zeigt zu jeden Thema Beispiele und öfters ein Making-Of welches das Vorgehen genauer erklärt.

Neben mir haben noch etwa ein Dutzend andere Leute am Kurs teilgenommen.
Jede Woche gibt es eine Aufgabe was man filmen soll. Die Resultate veröffentlichten wir jeweils Montags auf Instagram under den Hashtags #minimondaymovies und #makefilmscourse.
Auf der Platform Vimeo gibt es ebenfalls eine Gruppe Makefilms um seine Filme zu teilen.

Mir hat der Kurs sehr gut gefallen. Ich habe in den letzten Jahren schon einige Erfahrung gesammelt mit Filmen und Videoschnitt. Trotzdem gab es einiges was ich in diesem Kurs lernen konnte.
Vor allem die Inspiration von Komposition und Story-Telling aus ihren Videos fand ich hilfreich.
Weil ich meine Videos mit Final Cut Pro X schneide, waren die Tutorials für iMovie aber nicht interessant.

Meine entstandenen Videos sind ziemlich vielfältig geworden:















Mittwoch, 13. Juli 2016

Hackathon Movie

Mein Arbeitgeber Ergon Informatik AG hat im Juni 2016 einen zweitägigen Hackathon veranstaltet.
In diesem Rahmen habe ich diesen Event in einem kurzen Film dokumentiert.


Montag, 25. April 2016

Jenkins 2.0 ist da!

Am 20. April ist die neue Version des Continuous Integration Tools erschienen.
Folgend die besten Neuerungen im Überblick:

  • Neue Website
  • Neuer Installer
  • Verbesserte Job-Konfiguration
  • Pipelines as Code

Neue Website

Jenkins ist neu unter der URL https://jenkins.io/ erreichbar.
Die Bootstrap-basierte Website wirkt ansprechend.

Neue Website

Auf der Website sind Packages verfügbar für FreeBSD, Gentoo, Mac OS X, Open BSD, openSUSE, RedHat/Fedora/CentOS, Ubuntu/Debian und Windows.

Natürlich lässt sich ein Jenkins-Master auch als Docker-Image betreiben.
Für Version 2.0 ist momentan erst 2.0-beta-2 verfügbar auf Docker-Hub.
Neben dem featured Docker-Repository für Jenkins-Master existiert noch ein zweites Repository namens jenkinsci mit verschiedene Slave-Varianten.


Neuer Installer

Beim ersten Kontakt mit der neuen Version des Butlers fällt einem das neue Erscheinungsbild des Installers auf. Man kann eine Variante mit empfohlenen Plugins wählen oder wie bisher frei wählen welche Erweiterungen installiert werden sollen.



Die Liste der empfohlenen Plugins besteht aus:

  • Folders
  • OWASP Markup Formatter
  • Build Timeout
  • Credentials Binding
  • Timestamper
  • Workspace Cleanup
  • Ant
  • Gradle
  • Pipeline
  • Github Organization Folder
  • Pipeline: Stage View
  • Git
  • Subversion
  • SSH Slaves
  • Matrix Authorization
  • PAM Authentication
  • LDAP
  • Email Extension
  • Mailer
In dieser Liste ist höchstens "Github Organization Folder" etwas unerwartet. Sonst scheint es eine sinnvolle durchschnittliche Grundausstattung zu sein.

Die Installation dieser Plugins ist parallelisiert und läuft schnell durch.



Danach wird man von der altbekannten Job-Übersicht begrüsst.
Im Vergleich zum Installer hat diese Darstellung einen anderen Stil und wirkt etwas älter.

Job-Übersicht


Verbesserte Job-Konfiguration

Ein verschönerter Wizard vereinfacht die Wahl eines Templates für neue Jobs.
Job-Wizard
Die Konfiguration des Jobs kann bei vielen installierten Plugins ziemlich lange sein.
Eine verbesserte Konfiguration mit Tabs, die beim Scrollen fix sichtbar bleiben, hilft den richtigen Ort für eine Änderung zu finden.

Job-Konfiguration

Pipelines as Code

Neu kann in einer Datei namens Jenkinsfile im Projekt-Repository eine ganze Pipeline in einer Groovy-basierten DSL definiert werden.
Dies bietet eine Reihe von Vorteilen für komplexe Projekte. So steht endlich auch die Konfiguration von Jenkins unter Versionskontrolle. Diese deklarative Konfiguration kann dann mit Tools wie Gerrit durch ein Review überprüft werden.
Verschiedene Branches können so auch abweichende Konfigurationen haben.
Es ist auch eine grosse Verbesserung in Sachen wiederholbare Builds.

Ein minimales Beispiel einer einfachen Pipeline sieht so aus:
node {
    stage 'build'
    sh './gradlew assemble'
    
    stage 'test'
    sh './gradlew check'
    step([$class: 'ArtifactArchiver', artifacts: '**/target/*.jar', fingerprint: true])

    step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])
}


Konfiguration der Pipeline im GUI


Weiterführende Dokumentation zur Pipeline DSL:
https://jenkins.io/doc/pipeline/

Pipeline Stage View

Eine neue Ansicht verbessert die Übersicht einer Pipeline. So sieht man auf einen Blick welche Phasen lange dauern.

Pipeline Übersicht

Pipeline im Betrieb

Fazit

Vor allem die Neuerung "Pipelines as Code" klingt nach einem vielversprechenden Konzept.
Dadurch dass Jenkins 2.0 vollständig kompatibel zu 1.x Konfigurationen und Plugins sein soll, ist die Hürde für das Upgrade entsprechend gering.