Dies ist eine Übersicht der vergangenen HackCamps.

5. HackCamp, 17.01.2016

  • 09 - 10 Begrüßung und Themenfindung
  • 10 - 16 Coderetreat, geleitet von Steven
  • 16 - 17 Spring Boot und AngularJS (Schakko)
  • Themen für nächstes Mal:
    • gerne wieder Coderetreat!
    • EmotionML (Gerhard)
    • Web 3.0 / Semantic Web (Gerhard)
    • Java 8 (Steven. Kann von "für Einsteiger" bis "fortgeschritten" skaliert werden)
    • JavaFX (Steven. Kann von "für Einsteiger" bis "fortgeschritten" skaliert werden)
    • Git mit IntelliJ IDEA (Steven. Einsteiger-Niveau sowohl in Git, als auch IDEA)
    • Android programmieren (Einstieg)
    • Rancher (Oberfläche Docker, Sven)
    • Spring (insbesondere Boot, Schakko)
    • Wunsch: Jekyll installieren (für Github Pages) (http://www.staticgen.com/)
  • mehr Coden, Gespräche erst am Ende! (Feedback vom letzten HackCamp)
  • Visualisieren, was gerade läuft. Am besten erst Themen besprechen, dann in Bericht auf Website eintragen. Auch mit geplanter End-Zeit des Slots.
  • Feedback vom letzten Mal: Wäre schön, wenn mehr Externe dabei sein könnten. Azubis von Unternehmen oder Studenten? Wie organisieren?
  • HackCamp Braunschweig Räumlichkeiten z.B. Brunsviga, Haus der Wissenschaft

4. HackCamp, 18.07.2015

Am Samstag, den 18.07.2015 fand das vierte Hackcamp in Wolfsburg statt.  Erstmalig haben wir ein neues Format zur Themenfindung ausprobiert. Zu Beginn der Veranstaltung notierte jeder in einem PiratePad zum einen die Themen, die er anbieten kann und zum anderen die Themen, an denen er interessiert ist. So entstand innerhalb von 10 Minuten eine umfangreiche Themenliste, aus denen wir wählen konnten. Neben einigen kleineren, parallel stattfindenden Runden haben wir folgende größere Themen besprochen.


1. Thema: AnkiDroid

Mit der Android-App AnkiDroid kann man mit Hilfe von Lernkarten regelmäßig wiederholend lernen. Die Anwendung ist OpenSource und wird ergänzt durch eine Desktop-Anwendung, mit der man leichter die Karten pflegen kann.

2. Thema: Bauen von Java 8u45 - Anwendungen mit Travis und Shippable

Dieses Thema wurde ausführlich besprochen und wird gut durch einen Artikel von Steven zusammengefasst.

3. Thema: CMDBuild

Sehr ausführlich sahen wir uns CMDBuild an, ein Management-Tool für viele Anwendungsfälle. Beliebige Attribute sogenannter Klassen, die z.B. Mitarbeiter, Laptops oder Drucker darstellen, werden über diese Software gemanaged. Mit einem gut gepflegten Datenstand können Analysen über das gesamte Unternehmen geführt werden, z.B.:

  • Was passiert, wenn ich einen Server abschalte? Welche Software ist davon betroffen, welche Mitarbeiter? Auußerdem schreiben einer Info-Mail an genau diese Mitarbeiter.
  • Hat jeder Rechner eines Entwicklers zwei Monitore?

Die Software ist stark individualisierbar, da beliebige Attribute an Klassen gehängt werden  können. So kann für Hardware auch der Hersteller angegeben werden. Da der gesamte Datenstand historisiert ist, kann die Entwicklung des Unternehmens über eine längere Zeit gemonitored werden. So können z.B. Migrationen von einem Hersteller zum anderen beobachtet werden.

Gemeinsam besprachen wir die Idee, Build-Instanzen zu managen. Welche IP hat nochmal die Q-Stufe? Welche Instanzen sind betroffen, wenn ich diese und jene DB ändere?

Für Gebäudeverwaltung gibt es eine eigene Variante.

Besonders schön ist auch der mobile Client.

4. Thema: Zygerria

Schakko zeigte eine kurze Demo von Zygerria, seiner eigenentwickelten Personalbedarfsplanung. Es wurde eine Einführung in das Laravel-Framework (PHP) gegeben und implementierungsspezifische Details wie das Berechtigungssystem besprochen.

 

Wie immer wurden natürlich auch aktuelle Themen besprochen, zum Beispiel die weitere von Entwicklung HackCamp und HackTalk im Rahmen der "Entwickler-Flucht aus WOB".

Zum Ende gab es noch die wunderbare Idee, eine Runde Artemis zu spielen. Dazu sind wir dann zwar aus Zeitgründen nicht gekommen, aber beim nächsten Mal wird das bestimmt was. ;)

3. HackCamp 07.02.2015

Da das letzte Camp bei der NeosIT räumlich und bewirtungstechnisch sehr gut aufgehoben war, haben wir dort auch gern das dritte Hackcamp durchgeführt - danke an die NeosIT! In einer sehr gemütlichen Runde von 8 Personen haben wir diesmal viele unterschiedliche Themen behandeln können und hatten dennoch ausreichend Zeit, lockere Gespräche über aktuelle Themen und "die kleine Welt um Wolfsburg" auszutauschen. Danke an alle Teilnehmer für diese schöne Runde! Hier im Schnelldurchflug die angeschnittenen Themen.

1. Thema: AssertJ

Wir alle schreiben Unit-Tests (hoffentlich!) und Hilfsmittel zum Verbessern dieser sind immer beliebt. Sven stellte AssertJ vor, eine Java Bibliothek zum Erstellen von Fluent APIs in Java. Diese eigenen sich, um Tests lesbarer zu machen. Neben den bereits mitgelieferten Assertions, z.B. auch für Collections, kann man mit AssertJ eigene Assertions generieren. So lassen sich gut lesbare Fehler- und Assertion-Meldungen erstellen. 

AssertJ steht unter einer Apache 2.0 Lizenz und ist demnach gut für Projekte beim Kunden nutzbar.

2. Thema: Software-Lizenzen

Über die Lizenz für AssertJ sind wir generell auf das Thema Software-Lizenzen gekommen. Von vielen als "Laber-Thema" abgewertet haben wir gemeinsam festgestellt, dass man sich ernste Probleme einhandeln kann, wenn man sich mit Software-Lizenzen nicht wenigstens grundlegend auskennt. Da landet schonmal Community-Code in der Codebase des Kunden und wird unter Bedingungen eingesetzt und verkauft, die den Entwicklern so nicht gefallen würden. Es ist ein schwieriges Thema, mit dem jeder von uns schon Berührung hatte. Im Zweifelsfall sollten man sich unbedingt rechtliche Hilfe holen, wenn man im Projekt in eine unsichere Situation kommt. Sehr hilfreich im Alltag sind zum einen choose-a-licence, um Lizenzen auswählen und tldrlegal, um Lizenzen zu verstehen. Auf der letzten Seite erfährt man auch, was man mit einem selbstgeschriebenen Minecraft-Mod so machen darf und was nicht. ;)

3. Thema: Bahvior Driven Development mit Python

Rolf hat aufgrund seiner langjährigen Python-Erfahrung das erste Mal eine andere Programmiersprache als Java auf das Hackcamp gebracht. Anhand einer Python-Bibliothek haben wir uns Behavior Driven Development (BDD) angesehen. In diesem Ansatz definiert der Kunde das gewünschte Verhalten seiner Software sehr feingranular in der speziellen Form: Given - When - Then, ganz ähnlich der  Struktur von User-Stories bei Scrum.

BDD ist sehr  nah beim Kunden, während Test Driven Development (TDD) sehr nah am Code ist. Beides hat damit seine Berchtigung und kann friedlich koexistieren.

Eine Java-Bibliothek zur Unterstützung des Ansatzes ist z.B. jBehave. Hier Rolfs Folien seines Vortrages.

4. Thema: Chef

Wie schon erwähnt, hatten wir sehr unterschiedliche Themen. Schakko referierte über das recht technische Thema: Das automatisierte Aufsetzen von Systemen mit Chef. Damit lassen sich generell Computer automatisiert aufsetzen, womit man z.B. eine ganze Server-Farm in minutenschnelle ausrollen kann. Notwendig hierfür ist lediglich ein installiertes Betriebssystem, auf welchem man den Chef-Client installieren kann. Dieser kann aufgrund spezieller Anleitungen, den in Ruby geschriebenen "Cookbooks", beliebige Software vollautomatisiert installieren. So kann man sich z.B. ein Cookbook für einen typischen Entwicklerrechner schreiben, welches z.B. einige JDKs und IDEs enthält. Dieses Cookbook kann man dann dazu nutzen, in minutenschnelle beliebig viele Entwicklerrechner komplett identisch aufzusetzen.

Dabei eignet sicht Chef eher zum Aufsetzen des Systemzustands, weniger zum Konfigurieren jedes installierten Programms, da dies oft über eine GUI geschieht. Teilweise kann diese Hürde mit Templates für Konfigurationsdateien umgangen werden. Diese werden während der Installation mit Chef nur noch angepasst.

Chef unterstützt das automatisierte Testen, ob ein bestimmter Systemzustand erreicht wurde. Die Cookbooks sind als Textdateien versionierbar.

Das Tool ist OpenSource und bietet eine Alternative zur momentan ebenfalls modernen Virtualisierung von Systemen, welche ähnliche Vorteile bieten.

5. Thema: Aktuelle Entwicklungen und Ereignisse

In der Mittagspause kommen traditionell eher weiche Themen zur Sprache, so auch diesmal. Neben dem sehr aktuellen Themen der Arbeitnehmerüberlassung, Gewerkeverträge und Time&Material haben wir uns über die Cebit Developer World und das Volkswagen CodeFest ausgetauscht.

Quasi nebenbei haben wir uns instacodes und commits.io angesehen. Mit diesen Tools können wirklich schicke Bilder von Code erzeugt werden, z.B. für Plakate, Webseiten oder zum Zeigen, wie sexy coden ist. ;)

6. Thema: Java 8

Als letzten thematischen Schwerpunkt hat Steven den aktuellen Stand seines Java 8 Seminars vorgestellt. Auch wenn sich dieses zum Zeitpunkt des Hackcamps noch in einer frühen Beta-Phase befand, konnten wir etwas lernen. Wie auf Github ersichtlich ging es um

  • Lambdas und ihre Nutzbarkeit
  • Functional Interfaces 
  • Default-Methods
  • Methodreferenzen
  • Streams

7. Thema: Weiterentwicklung Hackcamp / Entwicklertreffen

Zum Ende des Camps kam eine sehr schöne weil fruchtbare und reichhaltige Diskussion um das Meta-Thema "Software Craftmenship rund um Wolfsburg" zustande. Wir haben uns über Gruppierungen wie die JUG Ostfalen, JUG Hannover und Linux User Group Wolfsburg ausgetauscht und überlegt, wie der monatliche Entwicklerstammtisch und das Hackcamp sich künftig entwickeln sollen. Dabei stand insbesondere die Sichtbarkeit der Termine im Vordergrund. Es scheint noch zu schwer zu sein, über die beiden Veranstaltungen auf dem Laufenden zu bleiben. Außerdem sollten sowohl der Stammtisch, als auch das Hackcamp noch ein wenig wachsen. Nur mit mehr Teilnehmern können wir zuverlässig neue und breitfächrige Themen abdecken.

Ich bin froh, dass wir zu sehr ähnlichen Lösungsansätzen gekommen sind, wie ich sie für die Zukunft im Sinn hatte:

  • Hackcamp und Entwicklerstammtisch sollten "gemeinsam gedacht" werden, da Besucher und Themen große Schnittmengen haben. Deshalb wird der Stammtisch nun auch auf den Seiten des Hackcamps beworben werden.
  • Entwicklerstammtisch wird zukünftig "HackTalk" heißen.
  • Somit entwickelt sich die Marke Hack@WOB, welche die Veranstaltungen HackCamp und HackTalk anbietet.

 

Es freut mich, dass es ein so reges Interesse an den Themen und Veranstaltungen gibt und dass wir die Konzepte gemeinsam weiterentwickeln. Ich würde mich sehr darüber freuen, wenn ihr euch weiterhin mit Ideen aber auch gern Kritik einbringt!

2. HackCamp 06.12.2014

Ein halbes Jahr nach dem erfolgreichen 1. Hackcamp fand im Dezember das zweite Camp mit einigen Änderungen statt. Zum einen fand die Veranstaltung in den Räumen der NeosIT statt im Schiller40 statt. Grund hierfür war die Fokussierung auf das Spring-Framework. Ursprünglich wollte Schakko das Thema durch anfängliche Erklärungen einleiten. Anschließend sollten die Teilnehmer unabhängig voneinander oder in kleinen Gruppen einzelne Teile des Frameworks erforschen und die Erkenntnisse anschließend vorstellen. Die anfängliche Hausmeisterei mit organisatorischen Themen und Vorstellungsrunde und Schakkos einführende spannende Erklärungen verschlangen dann schon den Vormittag.

 

Das PiratePad war eines der Tools, die wir beim Hackcamp kennengelernt haben. Man kann damit sehr schnell einen kollaborativen Text-Editor erstellen, auf den jeder zugreifen kann. Dann gab es noch:

  • LearnGitBranching, ein interaktives Tutorial zum Üben und Ausprobieren vom Branching in Git,
  • JOOQ, ein Java Framework zum Erstellen typsicherer SQL-Queries,
  • Querydsl mach dasselbe.

  Auch für das leibliche Wohl war gesorgt.

In der Mittagspause gab es von NeosIT gesponserte Pizza und Mate - Danke dafür! Wir plauderten angenehm über aktuelle Entwicklungen in der Umgebung und tauschten Erfahrungen aus.

Die für den Nachmittag angesetzten Gruppenarbeiten kamen jedoch nicht mehr zustande, da wir im gemeinsamen Gespräch und unter Schakkos kompetenten Erklärungen zusammen alle Teile des Frameworks erkundeten. Wie von einigen Teilnehmern beschrieben, hat man so von "null Vorkenntnis" innerhalb eines Tages einen sehr schönen Überblick über die Konzepte und deren Umsetzung in den verschiedenen Teilen des Frameworks bekommen.

Was mich persönlich sehr freut, ist die Spendenbereitschaft. Wir haben, abzüglich der eingekauften Getränke und Snacks, 60€ an den Digitalcourage e.V. überweisen können. Danke dafür! :)

  Auch wenn viele von uns eine ganz andere Erwartungshaltung an dieses Hackcamp hatten, hat es laut der Feedback-Runde allen Spaß gemacht. Es gab "spannende Themen, auch off-topic" und eine "sehr hohe Informationsdichte". Die weiteren Camps sollten in die Richtung "gemeinsam etwas bauen " oder "jeder baut seins und stellt es den anderen vor" gehen.

1. HackCamp 14.06.2014

Am 14.06.2014 fand das erste Hackcamp in Wolfsburg im Coworkingspace "Schiller40" in Wolfsburg statt. Im gemütlichen Kreis von 5 Teilnehmern verbrachten wir einen Tag voll gemeinsamen Lernens, fachlich tiefgreifender Diskussionen und produktiv-konstruktiver Atmosphäre. Nach der gegenseitigen Vorstellung der Teilnehmer und den üblichen organisatorischen Themen wurden die vorbereiteten Hacks vorgestellt:

Vorgeschlagene Hacks

#1 JavaEE

  • Lead Hacker: Schakko
  • Was wir machen: ܜberblick über JavaEE/Application Server/CDI/JPA; Entwickung einer (sehr) simplen Blog Engine mit JavaEE
  • Voraussetzungen an Teilnehmer: Erweiterte Java-Kenntnisse
  • Von Teilnehmern mitzubrindes Equipment: Notebook, idealerweise mit installiertem JBoss 7.1.1 und Eclipse, idealerweise Eclipse STS 3.5.0. Andere IDEs gehen aber auch.
  • Möglicher Zeitrahmen: 2h - 3h

#2 JavaFX Beginner's Crashcourse (Durchgeführt)

  • Lead Hacker: Steven
  • Was wir machen: Zusammen eine kleine JavaFX-Anwendung bauen und dabei die Grundlagen von JavaFX, den SceneBuilder, Properties und ein wenig CSS-Styling kennen lernen.
  • Voraussetzungen an Teilnehmer: Java-Kenntnisse und wissen, was CSS ist.
  • Von Teilnehmern mitzubrindes Equipment: Laptop, idealerweise mit beliebiger IDE und einem laufenden JDK 8.
  • Möglicher Zeitrahmen: 1 bis 4 Stunden

#3 PGP - niemals ohne!

  • Lead Hacker: Steven
  • Was wir machen: Ich erkläre euch, warum ihr ohne PGP heutzutage keine einzige Mail mehr verschicken solltet und wie man es einrichtet. Je nach Zeit machen wir das zusammen auf euren Kisten.
  • Voraussetzungen an Teilnehmer: Ein wenig technisches Hintergrundwissen.
  • Von Teilnehmern mitzubrindes Equipment: Nix. Wenn wir PGP bei euch zum Laufen bringen wollen, bringt euren Rechner mit.
  • Möglicher Zeitrahmen: 1 bis 2 Stunden

#4 Xtext (Durchgeführt)

  • Lead Hacker: Schakko
  • Was wir machen: Wir schauen uns an, wie man mit Xtext eine DSL zum Generieren von Quellcode erstellt. Ich würde einige Beispiele aus der Praxis mitbringen und diese demonstrieren.
  • Voraussetzungen an Teilnehmer: Java-Kenntnisse sind von Vorteil aber kein Muss.
  • Von Teilnehmern mitzubrindes Equipment: keines; sollte aber wer gleich mit Xtext herumspielen wollen, wird die Xtext-Distribution von http://www.eclipse.org/Xtext/download.html benötigt.
  • Möglicher Zeitrahmen: 1 Stunde

Durchgeführte Hacks

In einer Mehrheitsabstimmung entschieden wir uns dafür, dass Steven mit JavaFX den Anfang macht. Auch wenn die meisten in der Runde schon mit der neuen Frontend-Technologie gearbeitet haben, gab es spätestens bei der Besprechung der neuen Properties und der damit eröffneten neuen Möglichkeiten für jeden etwas zu lernen. Wir wichen ein wenig von der Vorbereitung ab und unterhielten uns darüber, wo man die Properties künftig einsetzen können wird und welche Fallstricke es mit dem Binding von Properties gibt. Auch die Animationen und das Styling mit Hilfe von CSS wurden behandelt und stießen auf Gegenliebe.

Nach der pizzabewährten Mittagspause und einer geisteserfrischenden Mate hob Schakko mit uns allen in ungeahnte MetaMeta-Höhen ab und erklärte, wie man mit Hilfe von Xtext MetaMetaModelle beschreibt und diese durch Xtend zu Java-Code generiert. Auch hiermit haben die meisten Teilnehmer schon gearbeitet. Dennoch gab es aufgrund des vorbereiteten und fachlich für alle interessanten Beispiels etwas zu Lernen. Bei beiden Seminaren wurden gemeinsam Code-Beispiele erarbeitet, die eine gute Arbeitsgrundlage für eigene Entwicklungen bietet.

 

Zum Schluss stellte Carsten kurz einen REST-Server mit Forge vor und wir besprachen, wie man diesen zum Beispiel für das schnelle Generieren einer CRUD-Applikation mit bestehendem Datenbestand nutzt.

 

Benefiz

Bei jedem Hackcamp wird Geld für eine gemeinnützige Organisation aus dem IT-Umfeld gesammelt. Welche das ist, wird zu Beginn des Camps von den Teilnehmern entschieden. Mögliche Kandidaten waren

  • netzpolitik.org, eine der wichtigsten spezialisierten "Nachrichtenseiten", wenn es um netzpolitische Themen geht.
  • Digitalcourage e.V., Veranstalter der jährlich stattfindenden Big Brother Awards und sehr aktiv bei anderen Veranstaltungen wie z.B. den Freiheit statt Angst Demos.
  • Digitale Gesellschaft e.V. führt verschiedene Kampagnen und Veranstaltungen, wie z.B. netzpolitische Abende, durch.

Beim 1. Hackcamp wurde nach Abzug der getätigten Einkäufe 25 Euro an den Digitalcourage e.V. gespendet.

 

Dem Feedback auf der Veranstaltung und dem Blogpost von Schakko nach zu urteilen war die Veranstaltung für alle Beteiligten ein Erfolg mit hohem Lern- und Networkingfaktor. Danke, dass ihr dabei wart! :)