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.


Dienstag, 11. August 2015

Die 10 besten Eclipse-Plugins


Für das Eclipse-Ökosystem gibt es eine unendliche Fülle an Plugins.
Hier meine zehn Favoriten ohne die ich nicht mehr arbeiten könnte:


1. EGit - Git Team Provider

EGit ist ein Source Code Versioning Tool für Git. Das EGit-Projekt implementiert die Eclipse-Tools auf Basis von JGit, einer Java-Implementierung von Git.

https://marketplace.eclipse.org/content/egit-git-team-provider
 
EGit History
EGit Staging View


2. MoreUnit

MoreUnit ist ein Eclipse-Plugin welches das Schreiben von Unit-Tests in Java vereinfacht.

https://marketplace.eclipse.org/content/moreunit

Markierung von Klassen mit Unit-Tests

Markierung von Methoden mit Unit-Tests

Einfaches Hin-und-Her wechseln zwischen Test und Implementierung
 

3. EclEmma - Java Code Coverage

EclEmma ist ein Code-Coverage-Tool für Eclipse. Es ermöglicht das einfache Überprüfen der Code-Coverage-Rate von Unit-Tests.

https://marketplace.eclipse.org/content/eclemma-java-code-coverage

Code-Coverage-Ansicht


4. TM Terminal

Ein vollständiges Terminal in Eclipse. Auch unter Windows!

https://marketplace.eclipse.org/content/tm-terminal 


Linux SSH-Terminal

Windows PowerShell

5. Checkstyle

Das Checkstyle-Plugin integriert das gleichnamige Tool für statische Source-Code-Analyse in Eclipse.

https://marketplace.eclipse.org/content/checkstyle-plug

Checkstyle-Annotationen

6. Findbugs

Findbugs ist ebenfalls ein Tool für statische Source-Code-Analyse. Das Plugin integriert dieses Tool in Eclipse.

https://marketplace.eclipse.org/content/findbugs-eclipse-plugin

Findbugs Workflow

Mylyn Builds Connector for Hudson/Jenkins adds View to review, start builds in CI server. - See more at: http://marketplace.eclipse.org/content/hudsonjenkins-mylyn-builds-connector#sthash.Rq1r8Sms.dpuf

7. Eclipse Code Recommenders

Eclipse Code Recommenders hilft bei der Code Completion indem es zeigt wie andere Entwickler dasselbe API verwendet haben.

http://marketplace.eclipse.org/content/eclipse-code-recommenders

Komplettierung von Methoden-Aufrufen

Chaining von Methoden

8. InstaSearch

Ermöglicht die Live-Suche im kompletten Project-Source-Code.

http://marketplace.eclipse.org/content/instasearch

Live-Suche

9.  Log Viewer

Eine einfache, aber extrem nützliche View um externe Logfiles anzuzeigen.

http://marketplace.eclipse.org/content/logviewer

 
Externes Log File


10. Properties Editor

Ein Editor für "*.properties" Dateien. Handhabt das automatische Encoding von Unicode-Characters.

This editor can directly edit property files written in Unicode reference characters, and saves the time and effort of converting into Unicode through native2ascii. In addition to the usual functions of an editor, the plugin is integrated with Eclipse. Files can be opened in the IDE and saved in Unicode. It can use by intuitive and simple operation. - See more at: http://marketplace.eclipse.org/content/properties-editor#sthash.L4Rq0QXR.dpuf
This editor can directly edit property files written in Unicode reference characters, and saves the time and effort of converting into Unicode through native2ascii. In addition to the usual functions of an editor, the plugin is integrated with Eclipse. Files can be opened in the IDE and saved in Unicode. It can use by intuitive and simple operation. - See more at: http://marketplace.eclipse.org/content/properties-editor#sthash.L4Rq0QXR.dpuf
This editor can directly edit property files written in Unicode reference characters, and saves the time and effort of converting into Unicode through native2ascii. In addition to the usual functions of an editor, the plugin is integrated with Eclipse. Files can be opened in the IDE and saved in Unicode. It can use by intuitive and simple operation. - See more at: http://marketplace.eclipse.org/content/properties-editor#sthash.L4Rq0QXR.dpuf
http://marketplace.eclipse.org/content/properties-editor


Properties-Datei mit Sonderzeichen

Weitere erwähnenswerte Plugins 


Gibt es noch weitere erwähnenswerte Plugins? Feedback würde mich interessieren.

Weitere Kandidaten:

Donnerstag, 9. Juli 2015

Buchabos mit Safari Books Online

Safari Books Online ist eine digitale Bibliothek mit einer grossen Auswahl an Fachbüchern, Konferenz-Videos und Manuskripten. Die Bibliothek umfasst ca. 30'000 Titel. Es sind alle prominenten IT-Fachverlage vertreten wie zum Beispiel O'Reilly Media, Addison-Wesley, Prentice Hall, Manning Publications.
Die Firma wurde 2001 als Join-Venture von Pearson Technology Group und O'Reilly Media gegründet. 2014 wurde Safari Books Online dann komplett von O'Reilly Media übernommen.

Vor etwa einem Jahr begann die Firma ihren überarbeiteten Dienst, genannt "Safari", anzupreisen. Der neue Dienst erschien im neuen Erscheinungsbild und mit verbesserten Mobile-Apps.
Das 1-Jahr-Jubiläum nutze ich, um hier den neuen Dienst vorzustellen.

Web Applikation

Die überarbeitete Web-Applikation erscheint neu in gold-weiss.
Es gibt nur eine Login-Seite, welche einem je nach Account entweder zur alten oder neuen Version weiterleitet.


Dashboard

Nach dem Login präsentiert sich ein schickes Dashboard mit Übersicht über die eigenen Bücher, neue Titel und Empfehlungen.
Ein Klick auf ein Buch-Cover öffnet wie erwartet die Detailansicht des Buches.



Katalog & Katalogsuche

Der Buchkatalog ist unter dem Navigationseintrag "Topics" zugänglich. Die Buchtitel sind hier nach Kategorie angeordnet.
Die Suche rechts oben ist auf fast allen Ansichten präsent. Während der Eingabe werden einem bereits passende Titel im Popup präsentiert. Mit der Enter-Taste springt man zur Resultatliste.
In den Resultaten werden sowohl Buchtitel als auch Kapitel mit passenden Inhalten angezeigt.



Listen & Buch lesen

Mit einem Klick auf "Start Reading" kann man mit dem Lesen beginnen.
Man kann das Buch auch durch Klick auf "Add to Queue" zu seiner persönlichen Liste hinzufügen.
Im Unterschied zum früheren "Safari Books Online" kann man nicht mehrere benannte Listen erstellen.
Im älteren Service gab es verschiedene Abonnementsarten: 5-Titel, 10-Titel und unbeschränkt. Mit dem 5-Titel-Abo durfte man nur 5 Bücher "gleichzeitig" in seiner Leseliste haben. Zur Vereinfachung der Abos passt auch der Wegfall der zusätzlichen Listen.

Das Lesen eines Buches im Web-Browser ist komfortabel.
Für die Schriftgrösse gibt es zwei Variante "klein" und "normal". Eine Vollbild-Ansicht gibt es nicht.
Manche Leute können es sich nicht vorstellen im Browser ein Buch zu lesen, doch ich finde es ziemlich angenehm.









iPad App

Der Aufbau der iPad ist neu sehr simpel.
Auf der linken Seite hat man seine Queue. Hell dargestellte Bücher sind offline gespeichert. Schattierte Bücher werden mit einem Klick geladen.











Die Beschränkung auf maximal drei Offline-Bücher entfällt mit der neuen App.
Eine gute Entscheidung!

Für das Lesen auf dem iPad gibt es etwas mehr Optionen als im Web-Browser.
Es gibt einen invertierten Schwarz-Weiss-Modus, der für das Lesen im Dunkeln interessant sein könnte. Für die Schriftgrösse gibt es fünf Varianten.
In der Leseansicht ist das Inhaltsverzeichnis mit einem Klick stets verfügbar.

Empfehlung

Ich bin absolut begeistert vom neuen "Safari". Die iPad-App behebt alle bisherigen Schwächen und das neue Erscheinungsbild wirkt aufgeräumt und modern.
Für mich ist eine überall verfügbare digitale Bibliothek von grossem Wert. Der Preis für den Dienst ist neu $39 pro Monat oder $199 pro Jahr. Der Link zum Angebot.

Donnerstag, 25. Juni 2015

Eclipse Mars - Die besten neuen Features


Gestern ist das neuste Release von Eclipse erschienen: Mars.

Nach dem Vorbild von Ian Bull möchte ich meine persönlichen Highlights der neuen Eclipse-Version vorstellen.


1. Eclipse als Mac OS X Bundle

Eclipse sieht endlich auch im Finder aus wie jede andere Applikation und fühlt sich auch so an. Die Installation ist dadurch auch etwas handlicher geworden.



2. Geschwindigkeitsverbesserungen


Textsuche
Die Textsuche wurde für die Workspace-Suche auf Multicore-PCs um Faktor 3 bis 4 beschleunigt.

Standard Maximum Heap Size 1024M
Damit soll sich Eclipse standardmässig besser verhalten auf moderner Hardware.
Auch die initiale Grösse wurde von 40 auf 256M vergrössert.

Ein Ausführlicher Artikel von Zeroturnaround zu den Performance-Verbesserungen: http://zeroturnaround.com/rebellabs/performance-improvements-in-eclipse-mars/


3. Verbesserungen der Console


  • Neuer Befehl 'Terminate/Disconnect All'
  • Zeilenumbrüche in der Konsole!
  • Automatischer Scroll Lock: Sobald man anfängt zu scrollen wird der Scroll Lock nun automatisch aktiviert. Wenn man wieder ans Ende scrollt, wird der Lock wieder deaktiviert.


  • Die künstliche Buffer-Limite von 1 Mio Zeilen wurde entfernt. Die Konsole zeigt soviele Zeichen an wie die View rendern kann. Dazu muss das Häckchen bei "Limit console output" entfernt werden.


Weitere Verbesserungen der Platform: https://www.eclipse.org/eclipse/news/4.5/platform.php


4. Verbesserter Rename-Dialog

Standardmässig wird nun der Dateiname ohne Endung selektiert.



5. Verbesserter "Open With..." dialog

Neu kann eine Einstellung gespeichert werden um bestimmte Dateiendungen immer mit demselben Editor zu öffnen.




6. Error Reporting


Falls irgendwo in der IDE ein Fehler auftritt der nicht abgefangen wird, so bietet sich dem Benutzer nun eine einfache Möglichkeit den Entwicklern Details zu diesem Fehler zukommen zu lassen.



Fehlerdialog

Fehler wurde geloggt


Fehlerreport wurde versendet

Webansicht des Fehlerreports


7. Docker Support


Das Linux Tools Projekt enthält nun Unterstützung für Docker!
Man kann sich die verfügbaren Images auflisten, Container starten und stoppen.
Es funktioniert natürlich auch mit Boot2Docker!