Version 1.0

Events


Saturday 09:30


init

Kicking off the conference - HS1 (en)

The opening event of the conference.

A few starting remarks and warm welcome from the conference organizers.

Saturday 10:00


The community of Arch Linux

And its environment - Archlinux (C125) (en)

An introduction into the community around Arch Linux itself, projects related to it and some of the distributions based upon it or just using some of the utilities from our distribution.

Database Federation mit PostgreSQL

HS4 (de)

Der Vortrag beschäftigt sich mit den Möglichkeiten der Interoperabilität von PostgreSQL mit anderen Datenquellen und gibt einen Ausblick auf die kommenden Möglichkeiten in PostgreSQL 9.4.

Interoperabilität zwischen datenverarbeitenden Komponenten wird immer wichtiger. In vielen Unternehmen stehen unterschiedliche Datenquellen zur Verfügung, die verschiedenste Aufgaben wahrnehmen. Informationen zusammenzuführen, auszuwerten und weiter zu verarbeiten ist eine Herausforderung. PostgreSQL bietet mit Foreign Data Wrappers eine Möglichkeit, mit einer standardisierten Schnittstelle auf fremde Datenquellen zuzugreifen. Mit der kommenden Version 9.4 steht ferner eine Möglichkeit zur Replikation in externe Datenquellen zur Verfügung. Der Vortrag gibt einen Überblick über die Möglichkeiten dieser Schnittstellen.

How to bring compute intensive C++ based apps to Android

HS5 (en)

You already have some C++ code for the desktop and you ever wanted to port this to Android? Then you should not wait to come to this talk. We'll guide you through the typical steps and pitfalls in this porting process using a demo application and ...

The TiGL Viewer desktop application is used at the German Aerospace Center for aircraft design. It is mainly used to display 3D aircraft geometries, which are computed from a parametric description. The core components of the application are the CAD kernel OpenCASCADE for 3D geometry computation and the OpenGL based rendering engine OpenSceneGraph – both written in C++. Due to its relatively large tested code base and the use of the third party libraries, a reimplementation in Java was not reasonable.

In this talk, we present the required steps in porting the program to Android by reusing the native C and C++ Code. These steps include cross-compiling the CMake based libraries for Android (arm, x86) using a standalone tool chain from the Native Development Kit (NDK), setting up the NDK build system for the native parts of the TiGLViewer app, integrating the NDK build into the Gradle build system, using the Java Native Interface (JNI) to communicate with the native code. Further, we present the differences in the Android lifecycle for native code compared to Java code. Finally, we show how even CPU and GPU hungry apps can be tested efficiently with the x86 based Android emulato...

Learning Platform eDiViDe

FPGA Programming with Remote Labs - Workshop (C115) (en)

This workshop offers an introduction into hardware programming using VHDL and remote field-programmable gate array (FPGA) setups. The setups were developed in collaboration with several European universities for the eDiViDe project (www.edivide.eu...

FPGAs are chips that usually run at much slower frequencies than modern CPUs, but offer the advantage of being inherently parallel. Programming FPGAs feels nothing like writing software. When you write software, it is sequential unless you specify otherwise, but on FPGAs, all your code will be parallel, unless you explicitly say otherwise.

There are 4 setups developed by and hosted at the Bonn-Rhein-Sieg University:

1. Games on LED Matrix
2. Basic Crypto Lab
3. Advanced Crypto Lab
4. Robotics Lab

The setups differ in their didactic goals, difficulty, and the amount of work involved in their development. Our robotics lab is a good example for how different technology plays together to abstract away a lot of complexity, and to enable easy control and interaction with our robot over a web interface. More details about the setups and used technology will be given in the workshop. People interested in seeing our local setups are welcome to visit our lab after the workshop.

Heutzutage bilden Field Programmable Gate Arrays (FPGA) den Standardweg um schnell eigene Problem in Hardware zu lösen. Man benötigt dazu drei Dinge, ein Entwicklungsboard mit programmierbaren FPGAs,...

Neue Features in JavaFX 8

Der große Sprung von V2.2 auf V8: Was hat sich geändert? - Java / Django (C116) (de)

Dieser Vortrag gibt einen Überblick über die wesentlichen Neuerungen der im März dieses Jahres veröffentlichten Version 8 von JavaFX.

Im März dieses Jahres machte JavaFX - zumindest in der Versionsnummer - einen großen Sprung: Von Version 2.2 auf Version 8.

Doch was sind eigentlich die wesentlichen Neuerungen?

Und was bedeuten diese für das Framework, das nun erstmalig fester Bestandteil des JRE/JDK für Java 8 ist?

Und wie ist das RIA-Framework mit den neuen Features gegen die (scheinbar) übermächtige Konkurrenz aus Flash, Silverlight und HTML5 aufgestellt?

Diese Fragen und mehr hoffe ich mit meinen Vortrag zu beantworten -- oder alternativ doch zumindest zum Nachdenken und zur Diskussion anzuregen!

Moderne Web-Anwendungen mit AngularJS

Workshop / Javascript (C117) (de)

AngularJS ist ein JavaScript-Framework, das Sie dabei unterstützt, moderne clientseitige Web-Anwendungen zu erstellen. Erstmalig finden bewährte Konzepte wie Dependency Injection und testgetriebene Entwicklung nun auch Einzug in die JavaScript-Wel...

AngularJS ist ein JavaScript-Framework, das Sie dabei unterstützt, moderne clientseitige Web-Anwendungen zu erstellen. Erstmalig finden bewährte Konzepte wie Dependency Injection und testgetriebene Entwicklung nun auch Einzug in die JavaScript-Welt und machen diese attraktiv für den Enterprise-Einsatz. AngularJS bietet hier eine sehr nachvollziehbare Implementierung und achtet im hohen Maße auf das Bilden und Einhalten von Schnittstellen. Dieser Talk führt Sie in das AngularJS-Framework ein und fokussiert insbesondere die Möglichkeiten zum Test-Driven-Development (TDD). Saubere Anwendungsentwicklung mit JavaScript ist eben doch möglich. Finden Sie es heraus!

A CouchDB replication endpoint in PHP

HS6 (PHP) (en)

This talk shows how I implemented a replication endpoint for the CouchDB replication protocol in PHP. This makes it possible to use about any backend as a synchronization point for Offline-First HTML5 applications powered by tools like PouchDB or ...

Not being an asshole is not enough

RedFrogConf (C118) (en)

The Ruby community has for several years been on the forefront of encouraging women to pick up coding - and the good news is, more and more women use the opportunities and pick up basic coding skills. Yet it is another big step for them to become...

Mehr als E-Mails

Smartphones und Tablets als Schweizer Taschenmesser für Admins - HS3 (de)

Im Zentrum des Vortrages stehen die stillen Helden des IT-Alltags - die Systemadministratoren - und ihre mobilen Arbeitswerkzeuge, die es ihnen, bei richtigem Einsatz, immer mehr ermöglichen mobil arbeitsfähig zu sein und auch am Arbeitsplatz treu...

Wo vor zehn Jahren zum mobilen Arbeiten schwere Notebooks und langsame Datennetze nötig waren, existieren heute neben schnellen Mobilfunknetzen wesentlich mobilere Endgeräte.

Smartphones und Tablets sind in fast jeder Admintasche zu finden und können, ausgerüstet mit den richtigen Werkzeugen, zu wahren "Schweizer Taschenmessern" für die Administration fern ab des Schreibtisches werden. Aber auch in weniger mobilen Szenarien lassen sich diese Geräte häufig sinnvoll in den Arbeitsalltag integrieren, so dass sie sich für wesentlich mehr als reine Kommunikation einsetzen lassen.

Der Vortrag stellt eine Vielzahl von Tools für Android und iOS vor, die den Admin bei seinen täglichen Aufgabenfeldern, wie dem regelmäßigen Blick ins Monitoring oder dem Bearbeiten von Tickets unterstützen können. So steht beispielsweise für das Monitoring-System "Check_MK" eine speziell an mobile Clients angepasste Oberfläche zur Verfügung, die in vielen Fällen eine Alternative zu Apps wie "aNag" darstellen kann.

Wer zur eigentlichen Administration mehr als einen flexiblen SSH-Client einsetzen muss, beispielsweise um auch Windows-Systeme zu verwalten, kann in den jeweiligen App-Stores aus dem Voll...

Linux im interaktiven Funkstreifenwagen

PolarIS -> OpenSource im Polizeieinsatz - HS1 (de)

In dem Vortrag wird die Entwicklung des 'interaktiven Funkstreifenwagen' in den vergangenen vier Jahren beschrieben und sowohl auf die sich kontinuierlich wachsenden fachlichen Anwendungskomponenten eingegangen, als auch exemplarisch von den techn...

PolarIS „Polizeiliches , automobilgestütztes ressourcensteuerndes IT-System“

Begonnen 2009 als Forschungs- und Entwicklungsprojekt entwickelte sich der interaktive Funkstreifenwagen kontinuierlich weiter und etabliert sich allmählich als Standardeinsatzmittel der Polizei in Brandenburg.

Ausgehend von einer Initiative des Zentraldienst der Polizei Brandenburg (ZDPol), welche zeitgemäße IT-Technologie sinnvoll in die tägliche Aufgabenwahrnehmung der polizeilichen Einsatzkräfte integrieren sollte, wurde ein komplexes IT-System entwickelt, welches vollständig mit OpenSource Technologien implementiert wurde. Hierbei sind die Nutzung von Linux als Basis für das angepasste Betriebssystem im Einsatzfahrzeug und die Integration des freien Navigationssystems Navit hervorzuheben, da diese dank ihrer offenen Schnittstellen und vielfältigen Konfigurationsoptionen optimal für den beschriebenen Anwendungsfall geeignet sind.

Das Gesamtsystem PolarIS setzt sich zusammen, aus der in den Einsatzfahrzeugen verbauten Rechen- und Bedieneinheit, dem MultiPC und den Integrationssystemen im Rechenzentrum der Polizei, sowie einem WebPortal für die Bedienung aus der Einsatzleitzentrale.

Saturday 10:45


Ruby MVC from scratch with Rack

RedFrogConf (C118) (en)

Imagine for a while that Rails wouldn't exist. How would we write a MVC app from scratch?

Rack provides a minimal interface for developing web applications in Ruby. In fact it's the solid foundation of all major Ruby powered web frameworks.
During this talk we will dive deep into Rack. We will see the smallest possible Rack Application and learn how it works, by studying Rack internals. We will grow the Application step by step till we implement it in simple MVC style.

Saturday 11:15


Paket-Verwaltung und -Erstellung unter Arch Linux

Archlinux (C125) (de)

Wir werden den Aufbau von Arch Linux-Paketen und Repositories kennenlernen. Es werden die verschiedenen Tools der Arch-Entwickler vorgestellt und erklärt. Abschließend wird eine Fehlerkorrektur vom Bug-Report bis hin zum fertigen Paket demonstriert.

Vom Aussterben bedroht: die Universalmaschine Computer

HS3 (de)

Computer sind universelle Machinen, die beliebig programmierbar sind und prinzipiell alles können. Vielen IT-Unternehmen ist dies mittlerweile ein Dorn im Auge. Sie wollen willkürlich beschränken, was wir als Gesellschaft mit dieser Maschine mache...

MySQL Hochverfügbar mit Galera

Wir können auch 99.9999 - HS4 (de)

Mit der Galera "Replikation" für MySQL werden MySQL Datenbanken zu hochverfügbaren Multi Master Cluster

Mit der Galera "Replikation" für MySQL werden MySQL Datenbanken zu hochverfügbaren Multi Master Cluster.
Galera ist erfreut sich größter Beliebtheit und hat in MariaDB und Percona (als jeweils eigenständiges Produkt) Einzug gehalten.

Es wird gezeigt wie das funktioniert und wo die Probleme liegen.
Bei einer Livedemo werden wir selbstredend LXC verwenden und noch etwas dazu erzählen.
Zu der Livedemo wird auch ein Deployment mit Ansible gehören ;)

Humanitarian Open Source Software

Software für eine bessere Welt - Java / Django (C116) (de)

Wolf Schlegel stellt in seiner Session die Open Source Projekte OpenMRS, MifosX und RapidFTR vor. Die drei Projekte fallen unter die Kategorie Humanitarian Open Source Software und haben zum Ziel, Lebensumstände von Menschen zu verbessern.

OpenMRs ist eine Software zur Patientendatenerfassung, das Kliniken und Programmen zur Gesundheitsvorsorge beim effizienten und effektiven Informationsmanagement unterstützt. MifosX ist eine Plattform, auf deren Grundlage Mikrofinanzdienstleistungen bereit gestellt werden können. RapidFTR wird von UNICEF in Krisengebieten zur Familienzusammenführung verwendet wird.

Die Session verfolgt zwei Ziele: Teilnehmer lernen Humanitarian Open Source Projekte kennen und interessieren sich dafür, sich an der Weiterentwicklung dieser oder ähnlicher Software aktiv zu beteiligen. Dazu werden die Projekte sowohl inhaltlich als auch im Hinblick auf den jeweiligen Technologiestack betrachtet. Abschließend gibt es Tips und Tricks, wie man erfolgreich in die Mitarbeit an einem der Projekte einsteigen kann.

Performance-Best-Practices versus HTTP/2

Workshop / Javascript (C117) (de)

15 Jahre ist es her, dass die IETF HTTP/1.1 vorgestellt hat. Das war zu einer Zeit, als Webseiten noch mit Tabellen und dem font-Tag gestaltet wurden und sie mit kaum mehr als 4 Bildern ausgestattet waren. Auf dieses Anwendungsszenario war HTTP/1.1 perfekt zugeschnitten. Für heutige Projekte ist HTTP/1.1 jedoch ein massiver Flaschenhals. Um dessen konzeptionelle Nachteile zu kompensieren haben wir Buildprozesse entwickelt, bei denen wir Ressourcen via Konkatenierung, Inlining oder Spriting bündeln. Darüber hinaus setzen wir auf Konzepte wie Domain-Sharding und cookieless-Domains.

Die gute Nachricht ist: HTTP/2 steht endlich vor der Tür und räumt mit den Nachteilen seines Vorgängers auf. Es wird außerdem von den meisten modernen Browsern bereits unterstützt. Allerdings reicht es nicht aus, einfach nur einen Schalter umzulegen. Wir müssen massiv umdenken und etablierte Prozesse und Konzepte über Bord werfen, wenn wir das Beste aus HTTP/2 herausholen wollen.

$kernel->infect(): Creating a cryptovirus for Symfony2 apps

HS6 (PHP) (en)

Cryptovirology studies how to use cryptography to design malicious software, given that public-key cryptography can be used to break the symmetry between what an antivirus analyst sees regarding a virus and what the virus writer sees. In this work...

Wie wir einmal 500 Server mit 150 Personen in 3 Tagen migriert haben

Und was man alles dabei lernen kann - HS1 (de)

Der Plan: Wir wechseln von einer «bereitgestellten» virtuellen Serverumgebung auf eine andere Virtualisierungslösung: selbstverwaltet, «on demand», mit Monitoring
out of the box. Mit einem anderen Betriebssystem.
Innerhalb kurzer Zeit. Mit ca. 1...

Gegeben sei eine virtualisierte Serverumgebung, auf der Server von
einem Dienstleister nach Bestellung "schlüsselfertig" bereitgestellt
werden und die relativ manuell via Nagios und Cacti überwacht wird.

Der Plan: Wir wechseln zu einer virtuellen Serverumgebung auf einer
anderen Virtualisierungslösung, auf der sich Entwickler und Admins
"DevOps-Style" selbst Maschinen bereit stellen können und die sich
automatisiert im Monitoring via Icinga wiederfinden.

Um den Schwierigkeitsgrad ein wenig zu erhöhen, wechseln wir (in einem
geringen Maße) die Distribution. Und das Alarming. Und die
Provisionierungsläsung.

Mit ca. 1500 Servern. So schnell wie möglich.

Wie startet man so ein Vorhaben? Natürlich mit einem Big Bang: Wir
migrieren mit der kompletten IT (Entwickler, DBAs.
Systemadministratoren, QA etc.) 500 dieser Maschinen in nur drei Tagen.
Während dieser Migration soll die QA-Plattform weiterlaufen, wir wollen
lernen, wie wir das später ohne Downtime in der Produktion hinbekommen.

Dieser Talk erzählt davon, wie man so etwas vorbereitet, wie man so eine
Aktion durchführt und was man alles tun bzw. tunlichst lassen sollte.
Und wie man 150 Leute dazu bekomm...

Saturday 11:30


Testbarkeit in Ruby

RedFrogConf (C118) (de)

Tests steigern die Qualität und das Vertrauen in die Software. Wie muss nun Code gestaltet werden, so dass die Tests dazu einfacher geschrieben werden können? Was sind die typischen Schwachstellen von Ruby Programmen? Und wie schreibt man Code, de...

Saturday 12:45


Open Source Management

Strategies for communication with open source projects in companies - HS1 (en)

The use of open source in enterprises is common, even in Germany. In many companies the imported source is being changed, bugfixed, made compatible with whatever or otherwise changed.

What can enterprises do to prevent internal forks, a second ...

Companies are using open source, changing it or contribute otherwise. This can take many forms, leading to company internal forks of software, public neglect of ubiquitous projects such as OpenSSL or Busybox, a variety of patches that are badly integrated into an upstream as in MySQL, or a wrestling for dominance in projects such as Hadoop and Openstack.

With the aftermath of OpenSSL's heartbleed and with an eye towards MySQL, Hadoop and Openstack - what are possible policies and strategies with import of Open Source into enterprises, what are possible export and contribution policies, what are viable strategies and stances that small and midsize companies and large enterprises can have with respect to Open Source interaction?

Saturday 14:00


Arch Linux Q&A

Fragestunde mit Arch Linux Entwicklern - Archlinux (C125) (de)

Was ist Arch Linux? Wer macht Arch Linux? Wieso braucht die Welt Arch Linux? Und warum bootet es nicht auf meiner Kaffeemaschine? Arch Linux Entwickler stellen sich allen Fragen rund um Arch Linux.

Solving your Big-Data problem before it arises, using Django

How data sharding can make you perform better and faster - HS4 (en)

More and more websites are collecting huge amounts of data and developers often don't think about this data wave when developing their apps or sites. In this talk I want to describe how thinking about sharing your data will not only make your app ...

This talk is structured in two parts. The first is, about sharding and different strategies that can be used in solving a typical big data problem for various projects. The second part will focus on a Django implementation on how to implement a sharding technology and create a fail over website without relying on any "cloud" providers. We will make the argument, that thinking about how your data will perform and testing these assumptions will make your code better and faster, even if you don't have too much data at the beginning. We will also show these assumptions on our real live data and describe how we shard our data and what motivated us.

Podcast Publishing mit Podlove

Die Software und die Spezifikationen des Podlove-Projekts - HS1 (de)

Mit dem Podlove Publisher mischt das Podlove-Projekt seit einiger Zeit die Karten im Bereich Podcast-Publishing neu. Neue Standards und Konventionen verbessern die gesamte Infrastruktur der Publikation von Aufzeichnungen für Podcasts und Konferenzen.

Der Vortrag stellt den bisher vom Podlove-Projekt bereitgestellten Werkzeugkasten vor: der Podlove Publisher und der Podlove Web Player. Es werden die Grundfunktionalitäten erläutert und mögliche Anwendungen über Podcasting hinaus skizziert, z.B. die Integration des Web Players in andere Publikationssysteme z.B. für Vorträge.

In einem weiteren Teil werden die bisher veröffentlichten als auch die in Entwicklung befindlichen Spezifikationen und Dateiformate des Projekts vorgestellt. Die Podlove Timeline und die Podlove Syndication Extensions sollen künftig das Publizieren und Abspielen von Podcasts sowie die Auffindbarkeit von Aufzeichnungen im Web vereinfachen.

Zum Abschluss gibt es noch einen Ausblick auf die Podlove Matrix, ein Konzept für ein Verzeichnis von Podcasts und Veranstaltungsaufzeichnungen.

In Love with Ruby

Warum es sich immer noch lohnt, Ruby zu lernen - HS3 (de)

Um Ruby ist es in letzter Zeit etwas ruhiger geworden. Dennoch eignet sich die Sprache immer noch exzellent für (Web-)Entwickler, Admins und Hobbyprogrammierer. Dieser Vortrag zeigt, warum.

Der Hype um Ruby, der vor etwa 8 Jahren seinen Höhepunkt hatte, ist deutlich abgeebbt. Je nach dem, in welchem Bereich man unterwegs ist, hört man nun viel von node.js, Go, Rust oder Clojure.

Aber keine dieser neuen Sprachen bietet das selbe wie Ruby. Und auch in der Ruby-Welt schreitet die Entwicklung stetig voran.

In diesem Überblicksvortrag möchte ich zeigen:


  • Was Ruby so einzigartig und liebenswert macht

  • Was aktuelle Entwicklungen im Ruby-Bereich sind

  • Welche großartigen Bibliotheken und Tools es im Ruby-Umfeld gibt

Außerdem versuche ich einen Blick in die Zukunft zu werfen.

Der Vortrag richtet sich gleichermaßen an Entwickler, Administratoren und generell an alle, die auf der Suche nach einer neuen Programmiersprache mal einen Blick auf Ruby werfen möchten. Außerdem kann er helfen, wieder auf den neuesten Stand zu kommen, wenn man Ruby in den letzten Jahren aus des Augen verloren hat.

Practical Java Memory Management

Java Heap leicht gemacht - wie man 10 Millionen Objekte einspart - Java / Django (C116) (de)

Die automatische Garbage Collection moderner Sprachen wie Java ist eine große Hilfe - solange alles gut verläuft. Viele Entwickler kennen aber auch die möglichen Probleme: Die Applikation stürzt ab, ist mehrere Sekunden nicht ansprechbar oder führ...

Dieser Vortrag behandelt ein klassisches Thema - das Memory Management in Java. Weniger klassisch ist der Ausrichtung, denn es wird nicht (oder kaum) der Garbage Collector behandelt. Es gibt keine Tipps zur Wahl des Collectors oder zum Tuning desselben. Vielmehr liegt der Fokus darauf, den Speicherverbrauch korrekt zu tunen, und Speicher zu sparen wenn es lohnt.

Der Vortrag ist sehr praktisch ausgerichtet. Der Zuhörer soll in die Lage versetzt werden, den eigenen Speicherverbrauch einzuschätzen. Ich stelle OpenSource Tools vor (z.B. twitter ObjectSizeCalculator), die dabei helfen. An Beispielen wird gezeigt, wie stark sich das Klassen-Design auf den Speicherverbrauch auswirkt.

Weitere Aspekte des Vortrags sind Erkennung und Behebung von Memory Leaks. Neben Bordmitteln (jcmd) wird ein brandneues (Premiere!) Tool "jcha" vorgestellt (Java Class Histogram Analyser). jcha ist erfolgreich Produktions-erprobt, und auf GitHub unter OpenSource Lizenz verfügbar (https://github.com/trivago/jcha).

Es geht auch um die Beantwortung der Frage, wie man einen Service verfügbar hält, wenn Applikations-Pausen durch Major Collections tatsächlich unvermeidbar sind.
Für eine gesamtheitliche...

All your browsers are belong to us...

...or how to use WebDriver to remote control browsers without using a service, 3rd party libs or Node.js - Workshop / Javascript (C117) (en)

In this lesson we will learn how we can remote control Chrome, Internet Explorer, Firefox & PhantomJS from Safari using Webdriver & the JSON-Wire protocol for fun, Q&A goodness & dark magic vodooism.

The session will be mostly live coding a little in browser JavaScript application that we will use to remotely control Chrome, Internet Explorer, Firefox & PhantomJS. The application will be able to navigate to all of the interwebs & have a live preview of all of this browsers in the browser where our control application is running.
And of course, we will all do this only using client side JavaScript, no Node.js magic involved.

Lightning Talks

B118 (en)

Lightning talks are 4-5 minute talks by you about your awesome project, weird issues, systems, concepts or some made-up technique.

Lightning Talks is a daily event, which consists in one hour of several short talks. Each talk is limited to five minutes. Talks can be held in English or German.

To sign up for a talk, just enter yourself in the list at https://cloud.froscon.de/etherpad/p/LightningTalks2014. The slots are given first come first serve.

Writing native PHP extensions using PHP-CPP

HS6 (PHP) (en)

PHP-CPP is a new open source C++ library that makes writing native extensions for PHP extremely simple. In this talk you will see how much faster C++ code is compared to PHP, and how easy it is to use PHP-CPP for porting your algorithms from PHP t...

Traditionally, writing native PHP extensions required deep knowledge of the Zend engine, and was much more difficult than writing regular user space PHP scripts. With the introduction of the PHP-CPP library, this distinction has gone: it now is just as easy to write object oriented and well structured native C++ code, and combine this native code with functions and classes from PHP pages.

Based on examples ranging from a simple 'Hello world' application to full object oriented frameworks using classes, interfaces, lambda functions and exception handling you will see how you can give a massive performance boost to your algorithms, with straight forward looking code that is almost similar to the code you once wrote in PHP.

In this talk, the PHP-CPP library will also be compared to other emerging technologies like HHVM, Hack and Zephir: what are the advantages of using C++, and in which situations is it better to stick to PHP? And when does it make sense to switch to new languages like Hack and Zephir, considering that using C++ is just as simple?

Ruby Workshop

RedFrogConf (C118) (de)

We will guide you through the basics of ruby and the web framework Lotus. You are welcome both as a newbie as well as someone who did some Ruby.

We will guide you through the basics of ruby and the web framework Lotus. You are welcome both as a newbie as well as someone who did some Ruby.

LinOTP und Single Sign On

Zwei-Faktor Authentisierung in der Praxis - HS5 (de)

Eine Vorstellung der Integration von LinOTP mit verschiedenen Single Sign On Verfahren anhand von Beispielen aus der Praxis.

Die starke Authentifizierung mit einem Zwei-Faktor Verfahren wird auch in Single Sign On Umgebungen immer wichtiger. Gerade wenn die Authentisierung einen weitreichenden Zugang zu verschiedenen Systemen erlaubt sind klassische Passwörter oft nicht ausreichend.

Der Vortrag stellt zunächst One Time Password Verfahren und LinOTP als Lösung für die Integration von OTP vor.

Anhand von konkreten Beispielen aus der Praxis wird die Anbindung von:


  • MIT Kerberos,

  • SAML (verschiedene Ausprägungen),

  • und OpenID (2.0),


an eine starke OTP Authentisierung mit LinOTP gezeigt werden.

Saturday 15:15


Arch Linux Installation and Troubleshooting Workshop

Archlinux (C125) (en)

This workshop is for anyone who wants to install Arch Linux, troubleshoot his/her installation or do crazy things with it. Bring your own laptop (i686/x86_64 only).

Data Analysis and Visualization with Python

Usage of Numpy, Pandas and Matplotlib for a personal bookkeeping software - HS5 (en)

We demonstrate the usage of python's scientific tools, Numpy, Pandas and Matplotlib for data analysis and Visualization. As a use case, w...

The talk will include:


  • Introduction to Numpy

  • Introduction to Matplotlib

  • Introduction to Pandas

  • Use case: Personal bookkeeping and analysis

The presented personal bookkeeping tool reads in your bank records, automatically devides them into user defined categories and visualizes the results in a neat way.

Party Finder (osmdroid)

Android application development - Java / Django (C116) (de)

Party Finder is a simple demo application, based on osmdroid. It shows (1) how to retrieve the user's position, (2) how to integrate OpenStreetMap in an Android app, and (3) how to customize the map with overlays. Java knowledge is expected.

Zunächst wird der wesentliche Aufbau einer Android-Anwendung erläutert. Anhand der Demo-App "Party Finder" wird dann gezeigt, (1) wie die Position ermittelt werden kann, (2) wie OpenStreetMap-Karten mit osmdroid in Android-Apps integriert werden können, und (3) wie mit Hilfe von Overlays interaktive Karten gestaltet werden können.

Java-Kenntnisse werden vorausgesetzt; Android-Kenntnisse sind nicht erforderlich.

Coding the dream

Getting started with Hoodie, Offline First and noBackend - Workshop / Javascript (C117) (en)

Start building the apps you've always dreamed of - and let us show you how to get started right away: we'll give you an intro to Hoodie, show you why enabling and empowerment of people are core values of Hoodie and how it makes this possible with ...

Start building the apps you've always dreamed of - and let us show you how to get started right away: take a noBackend philosophy, an Offline First approach, add Dreamcode and a decentralized architecture, stir it, bake it and get Hoodie, the Open Source project aiming to enable Front-end Developers and Designers to build their own apps without worrying about the backend.

We'll give you an intro to Hoodie: we'll show you why enabling and empowerment of people are core values of Hoodie and how it makes this possible with its architecture and setup around localStorage, Node.js and CouchDB. We'll show you how to get started with your dream app and code an app live on stage.

Multi-Model NoSQL Databases

An introduction to Polyglot persistence and NoSQL - HS4 (en)

In this talk i will introduce and discuss the term polyglot persistence in the NoSQL world. Afterwards i will present the multi-model approach of NoSQL database that try to overcome some drawbacks of polyglot persistence setups while keeping the ...

In many modern applications the database side is realized using polyglot persistence – store each data format (graphs, documents, etc.) in an appropriate separate database.
This approach yields several benefits, databases are optimized for their specific duty, however there are also drawbacks:
* keep all databases in sync
* queries might require data from several databases
* experts needed for all used systems
A multi-model database is not restricted to one data format, but can cope with several of them.
In this talk i will present how a multi-model database can be used in a polyglot persistence setup and how it will reduce the effort drastically.
I will show with Javascript examples how to make use of such a multi-model database.

I Love Logging

Wie wir loggfiles lieben lernen können. - HS1 (de)

Als Weiterführung vom letzten Jahr, werden in diesem Vortrag einige funktionierende Lösungsvorschläge aufgezeigt und natürlich auch die neuen Funktionen der großen Log-Tools des letzten Jahres betrachtet.

Letztes Jahr wurde ein Überblick über verschiedene Log Analyse Tool gegeben. Dieser Vortrag wird einen Vorschlag zeigen, wie man verschiedene Log Tools zu einem umfassenden Log-Managment Framework zusammen setzen kann und, welche Möglichkeiten sich daraus ergeben. Zum Einsatz kommen unter anderem: logstash, graylog2, kibana und elasticsearch.

Dieser Vortrag ist eine Weiterführung vom Vortrag letztes Jahr "Log Analyse", ist aber unabhängig davon und auch für Leute interessant die letzte Jahr nicht dabei waren.

Playing with Neo4j ­-[:USING]­-> PHP

HS6 (PHP) (en)

Relations, relations everywhere. They can be difficult and maybe slow to represent in SQL. So why not to use a graph? Neo4j is a highly scalable and robust graph database, which fits your complex relation needs. In this talk, I will give an introd...

Datenanalyse mit R für Administratoren

Beispiele aus der Praxis - HS3 (de)

R, die freie Programmiersprache für statistisches Rechnen und Grafiken, ist auch für Administratoren ein nützliches Werkzeug. Dieser Vortrag beginnt mit einer kurzen Vorstellung von R und zeigt dann an einigen Beispielen, wie R sich für die Ana...

Analysen und Auswertungen gehören zum IT-Alltag: die Antwortzeiten einer Applikation müssen bezüglich der SLA-Ziele geprüft werden, ein Benchmark soll die Skalierbarkeit einer neuen Plattform nachweisen und irgendjemand benötigt für seine Präsentation noch eine informative Grafik.


R, die freie Programmierumgebung für statistisches Rechnen und Grafiken, ist ein leistungsfähiges Werkzeug zur Datenanalyse und grafischen Aufbereitung, mit der sich solche Aufgaben mühelos erledigen lassen.


Denn auch ohne umfassende mathematische Kenntnisse lassen sich aus den Daten eines Logfiles quantitative Aussagen ableiten oder Messwerte veranschaulichen. Dieser Vortrag stellt dazu einige Beispiele vor.


So können hochwertige Grafiken schon mit einfachen Aufrufen erstellt werden und müssen bei einer Aktualisierung der Daten im Gegensatz zu vielen (mausbedienten) Tools auch nicht mühsam wieder neu zusammengebaut werden.


Mit gemessenen Performance-Daten lässt sich schließlich ein Modell zur Skalierbarkeit eines Systems erstellen. Dies kann nicht nur zur Vorhersage des maximal erreichbaren Durchsatzes genutzt werden, sondern erlaubt häufig außerdem Rückschlüsse auf ...

Shell Workshop

Günstig tanken, Fotos retten, SSH-EInbrecher jagen uvam. mit der Shell - Workshop (C115) (de)

Im Workshop soll an einigen Beispielen gezeigt werden, wie man ganz langsam Schritt für Schritt interaktiv kleine Shell-Skripte entwickelt zum lösen von wiederholt auftretenden Problemstellungen.

Mit der Unix-Shell kann man mit etwas Übung recht einfach und schnell immer wiederkehrende Probleme automatisieren und lösen, wenn man einmal erkannt hat, wie man auf der Kommandozeile ganz langsam eine Aufgabe in kleinen Schritten angeht und entwickelt.

Als Beispiele können z.B. dienen -- jeweils alles in einer Zeile:

- ssh-Einbruchsversuche in syslog-Einträgen auswerten, ein bissl Statistik treiben und sich beim verantwortlichen Domain-Admin beschweren
- Sprit-Preise überwachen und aus dem zeitlichen Verlauf lernen, wann und wo man günstig tanken kann
- gelöschte RAW-Bilder auf einer CFCARD wieder herstellen

Saturday 16:30


Elmar's Whistleblower Quiz Show

Forgotten Heroes & Stories - HS3 (en)

Whistleblower stories are amongst the most important and exiting media events, many of them delivering cool plots for movies. But the real whistleblowers are to fast forgotten, regarding to what they did and how they payed for their courage. The W...

The world is full of whistleblowers. When we read news, lots of them based on information leaked be internals. Most whistleblowers will stay unknown forever. But some have choosen to go into the public, sometimes it tok decades until their identity was unleashed.
There are dozens of exiting stories to tell. Almost everything evil has been more or less successfully attacked by people who put their ideals over their individual welfare.
These stories cover: Surveillance, Corruption, Murder, War Crime, Fraud. Lies, Arms Trade, Terrorism.
The lecture includes a "Whistleblower Quizduell" to entertain and inform the audience. Theire even a prices to be won...

Flames

Kommunikationszusammenbrüche im Netz - HS5 (de)

Warum sind Leute online Arschlöcher, die im "echten Leben" eigentlich ganz nett sind.

Online-Kommunikation ist anders und Strategien zur Konfliktlösung müssen sich anpassen

Quantified Self mit Wearable Devices und Smartphone-Sensoren

Daten über den eigenen Körper sammeln und auswerten - HS4 (de)

Wie viel bewege ich mich jeden Tag? Wie viel Stress habe ich? Bin ich Handy-süchtig? – Zum Quantifizieren des eigenen Körpers und der eigenen Aktivitäten gibt es zahlreiche Wearable Devices und Smartphone-Apps. Im Vortrag erfahrt Ihr, welche aktue...

Das Vermessen des eigenen Körpers bzw. des eigenen Ichs liegt im Trend. Immer mehr Menschen werden derzeit zu Selbstvermessern. Die Motivationen sind sehr unterschiedlich. Manche wollen einfach Gesund bleiben oder werden. Andere wollen sich selbst optimieren, was sehr beliebt bei Sportlern ist. Und natürlich sind viele Menschen einfach an ständig neuster Technik interessiert und wollen die zahlreichen Wearable Devices ausprobieren.

Im Vortrag werdet Ihr einen Überblick über Selbstvermessung (Quantified Self) bekommen.
Ihr bekommt eine Übersicht über aktuelle Devices, die man am Körper tragen kann. Dazu gehören zum Beispiel Aktivitätssensoren, Puls- und Herzfrequenzmesser oder Kameras. Ihr erfahrt auch was das verbreitetste Selbstvermessungs-Device, Euer Smartphone, mit Hilfe seiner Sensoren und geeigneter Apps alles über Euch und Eure Aktivitäten weiß. Natürlich geht es auch um die Frage, was Euch diese Technologie bringt und welche Gefahren es aus Daten- und Persönlichkeitsschutzsicht gibt.

Die Hacker und Datenfetischisten unter Euch erfahren, wie Ihr auf die Daten verschiedener Quantified-Self-Devices zugreifen könnt. Damit könnt Ihr dann Euch und Euer Leben analysiere...

Unser XMPP Messenger in Android

Konzepte und Probleme aus der Androidwelt gezeigt am Beispiel einer Messaging App - Java / Django (C116) (de)

Du willst Apps für Android entwickeln, die mehr als eine Activity benutzen, kennst aber Android und seine Konzepte zu wenig? Du willst wissen wie ein Chat Messenger in Android aussieht, doch es fehlt dir ein Ansatz dafür? Du willst lernen wie man ...

Als Werksstudenten der anderScore GmbH beschäftigen wir uns mit dem spannenden Projekt eine Messaging App zu gestalten und zu bauen. In diesem Vortrag wollen wir dir an Hand eines kleinen Beispiels zeigen, wie man mit so einem Projekt anfängt, wie man mit Problemen und Fallstricken in Android umgehen kann und wie man vorhandene Androidkonzepte für sich und seine App nutzt. Hierzu wollen wir mit dir zusammen via Livecoding eine kleine Messaging App entwickeln, dir eine Vorstellung davon geben, wie eine solche Applikation in Android strukturell aussehen kann und wie man verschiedene Androidkonzepte direkt im Code implementiert! Mach einfach mit und entdecke, wie spannend das Entwickeln fürs eigene Smartphone sein kann.

Als Basis für die Teilnahme empfehlen wir grundlegende Kenntnisse in Java. Für Teilnehmer, die noch einen allgemeinen Einstieg in die Basics von Android brauchen empfehlen wir vorab den Vortrag „Party Finder (osmdroid)“ von Mag Hoeme

Property-based Testing

Another nail in TDD´s coffin? - Workshop / Javascript (C117) (en)

In spring 2014, David Heinemeier Hansson sparked an intense debate about our industries' testing culture with a provocative statement: "TDD is dead". Whether you agree with this or not, it might be a good reason to look at alternative approaches t...

This talk discusses property-based testing, a method which promises to greatly reduce the time spent on writing tests by generating the test cases for you. We will discuss the theory, advantages and problems and take a look at how to use it to test JavaScript code. After this session you will have a new tool under your belt which might prevent quite a few bugs in the future.

PHP & Arduino

HS6 (PHP) (de)

DANEn lügen nicht

SSL/TLS Zertifikate mit DNSSEC absichern - HS1 (de)

Das konventionelle System zum Prüfen von SSL/TLS Zertifikaten (über zentrale Zertifizierungsstellen) funktioniert nicht zuverlässig. DANE ist ein neues Protokoll, welches die Prüfung von Zertifikaten über das DNS System ermöglicht.

DANE (DNS(SEC)-based Authentication of Named Entities), ein neues Internet Protokoll (RFC 6698) zum Prüfen von SSL/TLS Zertifikaten, erfreut sich starker Beliebtheit. Es erlaubt die Absicherung von selbst-signierten SSL/TLS-Zertifikaten und eine erweiterte Sicherheit für Zertifikate von Zertifizierungstellen (CAs).

Dieser Vortrag erklärt die Probleme mit dem traditionellen Zertifizierungssystem (x509) im Internet und wie DANE diese Probleme löst. Es wird gezeigt, wie Internet-Verbindungen über HTTPS (Web-Browser), SSH, SMTP (E-Mail) und XMPP (jabber-im) schon heute mit DANE abgesichert werden. Administratoren erfahren, welche Schritte notwendig sind, um DANE für eigene Dienste einzurichten.

Saturday 17:45


State of the Union

Das FOSS-Jahr 2014 - HS1 (de)

Viel ist passiert im Jahr 2014 in der Open Source Szene. Oliver Zendel und Michael Kleinhenz, die beide täglich mit und für FOSS arbeiten, werfen einen augenzwinkernden Blick in die Vergangenheit aber auch die Zukunft. Jubiläen, Dramen, Glücksfäll...

Viel ist passiert im Jahr 2014 in der Open Source Szene. Oliver Zendel und Michael Kleinhenz, die beide täglich mit und für FOSS arbeiten, werfen einen augenzwinkernden Blick in die Vergangenheit aber auch die Zukunft. Jubiläen, Dramen, Glücksfälle - alles wird mit einem Augenzwinkern präsentiert und gemeinsam mit dem Publikum kommentiert. Debian, Slackware, Snowden, Oracle und Microsoft - vieles hat die Technologie- und FOSS-Welt in 2014 beeinflusst. Diese und weitere Themen streift der lockere Couchtalk und bindet dabei das Publikum direkt in die Diskussion ein.

Vorsicht, Kamera!

Lifelogging: Was soll das? Wie geht das? Und darf der das eigentlich? - HS4 (de)

Lifelogging ist die Idee, einfach alles aufzuzeichnen, was einem im täglichen Leben so passiert und begegnet. Neben der Frage nach dem Sinn stellen sich da schnell rechtliche Fragen und solche der Etikette. Wann ist es okay, seine Umgebung fotogra...

Im Selbstversuch trage ich seit Anfang des Jahres eine kleine Kamera, die automatisch alle 30 Sekunden ein Foto macht. Es ist also nicht Google Glass, aber viele Fragen, die sich ergeben, sind die gleichen: Darf man eigentlich permanent seine Umgebung und seine Mitmenschen abfotografieren? Und selbst wenn, wo liegen die Grenzen an denen es einfach gesellschaftlich nicht mehr akzeptiert ist? Und warum existieren diese Tabus eigentlich?

Wer nun meint, das sei nur ein Randthema, das eh nur ein paar "Spinner" betrifft, wird vielleicht überrascht sein, wie weit verbreitet zumindest Teilaspekte von Lifelogging bereits sind. Von der Helmkamera beim Skifahren bis zum Fitness-Tracker - viele dieser "wearable devices" sind schon um uns herum im Einsatz. Mit anderen Worten: Es wird vielleicht kein Massenmarkt, aber die Lifelogger sind bereits unter uns und wir müssen uns überlegen, wie wir damit umgehen wollen und welche neuen gesellschaftlichen Normen wir als Reaktion darauf entwickeln.

Beim Blick auf die verfügbare Hard- und Software fällt auf, dass praktisch alle am Markt befindlichen Produkte "closed" sind und oft auch die gesammelten Daten "in der Cloud" speichern. Mit der zu er...

Reaktive Programmierung mit Akka

Java / Django (C116) (de)

Korrekte, hochgradig nebenläufige und parallelisierte Systeme zu erstellen, ist nach wie vor eine anspruchsvolle Aufgabe. Das Actor Model ist ein Ansatz, mit dem diese Herausforderung beherrschbar wird. Nach einer kurzen Einführung in die grundleg...

WebGL – 3D Welten im Browser

Eine Einführung in die 3D Technik im Browser - Workshop / Javascript (C117) (de)

WebGL ist eine noch recht wenig verbreitete Technologie. Als Teil der OpenGL ES 2.0 API hat es den Ruf schwer zu erlernen und kompliziert in der Anwendung zu sein. Das wird in dieser Session widerlegt werden.

Eine kurze Einführung in die Grundlagen von 3D Welten wird gefolgt von der Erklärung der “Programmable Pipeline”
und der “Shader-Entwicklung”. Mit JavaScript setzt WebGL auf einer sehr einfach Sprache auf. Im Gegensatz zur Desktopentwicklung mit OpenGL oder Embedded Anwendung mit OpenGL ES 2.0, sind die Entwicklungszeiten für 3D Anwendungen im Browser ungleich kürzer. Auch die Wiederverwendbarkeit von WebGL Anwendung in allen aktuellen Systemen (iOS, Android, Mac, Windows, Linux) ist ein beachtenswerter Vorteil, den Kai Niklas in dieser Sitzung ausarbeitet.

Nur selten werden Web-Entwickler für Ihre Arbeit mit so beeindruckenden Visuellen Effekten belohn wie beim Einsatz von WebGL.

Web-App-Encryption

Is your data secure by default? How Django can be used to make you sleep at night. - HS5 (en)

This talk will detail the different threats a web application faces today and how different types of encryption can solve many of these problems. We will discuss the whole web-stack and show various technologies to deploy secure encryption. The ma...

More than ever websites have to deploy encryption to protect their users. First it has to be defined what threats the data faces and how these can be mitigated. It is vital, that a lot of though is put into what is sensible for what use case. We will describe different strategies based on a little piece of software (written in Django) we use to showcase where encryption can happen (client-browser-server-cgi-database). We will back these steps up by real life examples, numbers and benchmarks we have collected from a productive environment. Finally we will discuss some problems that arise, when hosting is out of the house, your backups are encrypted, you have a fail-over distributed environment and you as a service provider can't see the data you are hosting.

Private Cloud mit Open Source

Anekdoten aus der privaten Cloud oder wie man mit Open Source eine private Cloud aufsetzt und betreibt - HS3 (de)

Wie baut man ein privates Amazon AWS mit Open Source? In diesem Vortag wird die Realisierung einer privaten Cloud vom Konzept bis hin zum produktiven System vorgestellt.

Die Abstraktion von einzelnen Servern, Festplatten und Netzwerkverbindungen zu allgemein verfügbaren Rechen- und Speicherressourcen ist die Grundidee des Cloud Computing. Hardware wird dadurch zu einer flexiblen Ressource, die sich agil und kosteneffizient nutzen lässt. Amazon hat mit AWS diese Idee als Public Cloud für die breite Öffentlichkeit zugänglich gemacht.

Es gibt jedoch gute Gründe eine eigene, private Cloud zu bauen. Diese Gründe können Sicherheitsbedenken und rechtliche Kriterien sein. Zudem erleichtert die vollständige Kontrolle des gesamten Protokollstacks die Entwicklung und Wartung von verteilten und hochverfügbaren Systemen.

Dr. Lukas Pustina und Daniel Schneller von der codecentric AG haben für das Startup CenterDevice eine private Cloud vom Konzept bis zum produktiven Einsatz realisiert. Dabei wurde ausschließlich Open Source eingesetzt und ein "privates Amazon” geschaffen. In dieser Cloud laufen eine Produktions- und verschiedene Staging und Testumgebungen.

In diesem Vortrag sollen anhand der Entstehungsgeschichte der CenterDevice Cloud konkret Konzepte, Entscheidungen und Probleme erläutert werden. Dabei wird auch die ein oder andere Anekdote aus d...

Saturday 18:15


Create a 3D WebGL scene in half an hour!

Workshop / Javascript (C117) (en)

Creating a fancy 3D Scene can be easy as a pie: We'll start with looking at places to get awesome 3D models, then we'll setup a WebGL environment and load these models into it, and finally pick up some user input to move around – Bazinga!

And i...


Sunday 10:00


AngularJS Workshop

Workshop (C115) (en)

AngularJS is currently becoming one of the most popular Frameworks for Web Application development. It gives you the full power of todays browsers with a minimum of hassle. In this workshop I'll give you all the basics to develop AngularJS based a...

AngularJS is currently becoming one of the most popular Frameworks for Web Application development. It gives you the full power of todays browsers with a minimum of hassle. In this workshop I'll give you all the basics to develop AngularJS based applications.

All you need to participate is a notebook with text editor and recent browser, as well as some fun. I'll introduce some basic concepts and help you to write a simple app. After that, you will be assisted to start with your own idea!

Domain Driven Design & NoSQL

Escaping the Tower of Babel - HS4 (en)

Domain Driven Design focuses on finding a common language to improve communication — a still important topic regarding lots of failing projects. In this talk I want to show you how NoSQL’s document stores and graph databases can help with DDD and ...

Domain Driven Design is a software development process that focuses on the finding a common language for the involved parties. This language and the resulting models are taken from the domain rather than the technical details of the implementation. The goal is to improve the communication between customers, developers and all other involved groups. Even if Eric Evan's book about this topic was written almost ten years ago, this topic remains important because a lot of projects fail for communication reasons.

Relational databases have their own language and influence the design of software into a direction further away from the Domain: Entities have to be created for the sole purpose of adhering to best practices of relational database. Two kinds of NoSQL databases are changing that: Document stores and graph databases. In a document store you can model a contains relation in a more natural way and thereby express if this entity can exist outside of its surrounding entity. A graph database allows you to model relationships between entities in a straight forward way that can be expressed in the language of the domain.

I want to look at the way a multi model database that com...

About Scheme

An overview of the Scheme programming languages family - Wordpress/quasiconf 2014(Lisp) (C130) (de)

Scheme is a pioneer in the field of dynamic functional programming languages. It inspired many other languages, most prominently JavaScript. Backed by a slowly but steadily evolving standard (the Report on the Algorithmic Language Scheme) it conti...

In this talk I will give an overview of the language, its various implementations (from obscure to popular) and the communities surrounding them, as well as their philosophical differences.

Passworte waren gestern

HS6 (PHP) (de)

Seit gefühlt einer Ewigkeit versucht die IT-Industrie ihren Anwendern bei zu bringen, dass sie nur sichere und starke Passworte verwenden sollen - um dann bei deren sicheren Speicherung kollosal zu versagen. An einer langen Historie an sicherheits...

Einführung in Python

Python (C120) (de)

Einführung in die Programmiersprache Python

Python ist eine universell verwendbare Programmiersprache, die unterschiedliche Paradigmen wie prozedurale, funktionale oder objektorientierte Programmierung unterstützt. Die Sprache wurde wurde mit dem Ziel entworfen, möglichst einfach und übersichtlich zu sein und gilt mittlerweile als leicht erlernbar, mit klarer und übersichtlicher Syntax. Dennoch erlaubt Python auch die Umsetzung komplexer Anwendungen bis hin auf Enterprise-Ebene.

Der Vortrag führt in die Funktionsweise von Python ein. Die Einführung richtet sich an Teilnehmer, die idealerweise bereits über erste Programmiererfahrung verfügen und sich nun auch für die Nutzung von Python interessieren.

Bitcoin

Open Sourcing Money - HS5 (de)

Bitcoin hat im Jahr 2013 große Medienaufmerksamkeit erhalten. Dabei spielen vor allem Geschichten von plötzlichem Reichtum, großen Betrügereien und den Befürchtungen der Strafverfolgungsbehörden eine Rolle. Dass Bitcoin aber zunächst ein einfaches...

Im Jahr 2008 wurde das grundlegende Konzept von Bitcoin in einem Paper von Satoshi Nakamoto vorgestellt: Eine dezentrale Datenbank, die mit einem verteilten proof-of-work manipulationssicher gemacht wird. Als erste Anwendung dieses Konzepts wurde Anfang 2009 mit der Open Source Software "Bitcoin" die erste solche Datenbank kreiert. Fernab von Institutionen und der Online-Wirtschaft fristete Bitcoin lange ein Nischendasein, bevor es im Jahr 2013 angetrieben durch massive Kursanstiege plötzlich breite Aufmerksamkeit erlangte. Heute beschäftigen sich institutionelle Großanleger in den USA, die Notenbanken und nationalen Regulierungsbehörden sowie Strafverfolgungsbehörden intensiv mit Bitcoin und den Möglichkeiten der Technologie.

Außen vor bleibt bislang die Open Source Community. Ich möchte meinen Vortrag nutzen, um für diejenigen, die Bitcoin skeptisch gegenüber stehen, nahe zu bringen, warum ich Bitcoin für das perfekte Protokoll für jede Open Source Bewegung halte. Dabei geht es mir nicht um die Verwendung von konkreten Bitcoins, sondern um die Möglichkeiten, die sich durch die Erfindung der Blockchain ergeben. Hierzu werde ich andere Projekte, die die gleiche Technologie (N...

PDF-KungFoo mit Ghostscript & Co.

PDFs erzeugen, verstehen, analysieren, manipulieren und ...fürchten? - Workshop / Javascript (C117) (de)

Der Workshop demonstriert einige der Top-10-Probleme (Reihung nach der subjektiven Erfahrung des Workshop-Leiters), die bei der Verarbeitung oder Erstellung von PDF-Dateien in der Praxis auftreten können. Dazu gehören u.a. Darstellung von Schri...

Wer diesen Workshop besucht, kann die Erkenntnisse und verwendeten Tools auf allen wichtigen Betriebssystem-Plattformen einsetzen: Linux, OS X, Windows, Solaris, *BSD,...

Eine volle Stunde des Workshops gelten einer ersten Einführung in die Sprach- und Syntax-Elemente von PDF. Man lernt, wie man PDFs so vorbereitet, dass man sie nicht im Hex- sondern im ASCII-Editor analysieren und bearbeiten kann.

Im abschließenden Bonus-Track (Umfang je nach vorhandener Rest-Zeit) kann man eine Ahnung davon erhalten, wie -- absichtlich oder versehentlich! -- nicht direkt erkennbare Informationen in einer PDF versteckt, hinterlassen, "durchgesickert" oder unzugänglich gemacht sein könnten ... und ebenso, wie man solche Informationen wieder aus einer PDF herausholt.

Teilnehmer erhalten Zugriff auf ein Archiv mit Links zu allen verwendeten Beispiel- und Test-Dateien, ebenso wie auf ein Dokument mit allen vorgeführten Befehlen samt zugehöriger Erläuterungen.

Salt Stack -Zentrales Systemmanagement der neuen Generation

IT Automatisierung und zentrales Management mit SALT - HS3 (de)

Zentrales Systemmanagement kann ganz einfach sein.

Zentrales Systemmanagement kann ganz einfach sein. Salt macht dem Platzhirschen Puppet Konkurrenz.

Salt bzw. Saltstack ermöglicht eine zentrale Verwaltung von Serverfarmen und heterogenen Umgebungen. Aber auch wer nur wenige Hosts verwaltet, sollte einen Blick auf Salt werfen. Die Installtaion ist verblüffend einfach. Das Modul zur Remote-Execution läuft sofort. Wie von anderen sogenannten Parallel-Shells bekannt, können nun Kommandos auf mehreren Hosts ausgeführt werden. Doch Salt bietet bei der Remote-Execution mehr als eine Shell. Module für Standardaufgaben wie Updates, Paketverwaltung oder dem Editieren von Dateien machen dem Admin das Leben leichter.

Nach nur wenigen Minuten Einarbeitung können schon die ersten Regeln zur zentralisierten Verwaltung von Hosts geschrieben und ausgerollt werden.

Salt erfordert keine lange Einarbeitung oder das Wälzen von dicken Handbüchern. Jeder kann einfach anfangen und nach Belieben tiefer vordringen.

Es gibt kaum eine Aufgabe, die Salt nicht bewältigt:
Systeme installieren, Dienste konfigurieren, Benutzer anlegen, Backup durchführen, Content ausrollen, alles ist möglich.
Salt abstrahiert die Konfiguration vom Betriebssys...

Your search doesn’t work

How to find out whether or not the search box you offer users is helpful at all - HS1 (en)

This talk will walk you through the options of determining search quality - from purely offline metrics that work even before deploying version 1.0 to production to online A/B testing to check continuous improvement. I will highlight some Lucene a...

Web sites without search functionality are unimaginable today - you search for comments and code on github, you look for books in your favourite webshop, you use the search box of your favourite blog to find articles.

When offering your search for your own application - how do you know that your search actually provides a benefit to the user instead of causing lots of frustration over results not found? Only checking that the favourite book about witches of your child is ranked top of all children books clearly doesn’t help.

This talk will walk you through the options of determining search quality - from purely offline metrics that work even before deploying version 1.0 to production to online A/B testing to check continuous improvement. I will highlight some Lucene and Elasticsearch features that can tremendously help you deploy your own search quality checks.

Sunday 10:45


A Summer full of Code

The CodePadawans journey with Rails Girls Summer of Code - RedFrogConf (C118) (en)

Ute and Magdalena teamed as the CodePadawans for three months full of code by the Rails Girls Summer of Code initiative. They will talk about the program, their personal experiences and present the latest results of working on their two Open Sourc...

Rails Girls Summer of Code is a global fellowship program aimed at bringing more diversity into Open Source. Successful applicants are paid a monthly stipend, from July-September, to work on Open Source projects of their choice.
The CodePadawans is one of ten teams choosen out of more than 100 applications worldwide.
Being, at the time of the conference, halfway through our journey with the Rails Girls Summer of Code, we’d like to introduce the program and its connections to Open Source.
We will share our personal experiences and look into how the ‘learning by doing approach’ has been working for us. We hope to proudly present the latest results of working on our two Source projects.
Last but not least we want to spread the word about this awesome initiavtive.

Sunday 11:15


LaTeX für Studenten

Warum soll ich LaTeX lernen? - HS5 (de)

In Zeiten von OpenOffice, Microsoft Word und LibreOffice fragen sich viele Studenten, warum sie sich mit LaTeX beschäftigen sollten. In diesem Vortrag zeige ich, wie man mit wenig Aufwand zu ansprechenden Dokumenten und Präsentationen kommen kann.

LaTeX ist insbesondere im Bereich der Naturwissenschaften noch immer der Standard, wenn es um die Erstellung von Papers oder Abschlussarbeiten geht. Obwohl gängige Office-Programme ein wenig aufgeholt haben, gibt es noch eine Vielzahl von Anforderungen, die nur oder nur sinnvoll mit LaTeX zu bewältigen sind.

In diesem Vortrag zeige ich einige LaTeX-Basics, bevor es dann daran geht, effizient längere Dokumente wie Abschlussarbeiten oder Präsentationen zu setzen.

Emacs Lisp

Why Emacs' extension language is worth a second look - Wordpress/quasiconf 2014(Lisp) (C130) (de)

Emacs is a popular text editor, especially among Lisp programmers, but its full potential is rarely used. A lot of its users use built-in and external packages, however if they wish to improve existing or write new ones to improve their workflow,...

The presentation starts off with the brief history, pecularities and misconceptions about Emacs Lisp, after that the most recent development, improvements and possibilities of it are demonstrated with the author's and other Emacs Lisp hackers' packages. Some of the topics covered are workflow improvement, development helpers, audio and video demonstrations and graphical games.

What Symfony Has To Do With My Garage - Home Automation With PHP

HS6 (PHP) (en)

Raspberry Pi is a perfect mini computer to experiment with, small, inexpensive, low energy consumption and easy to expand. This talk, using the example of a Symfony app as a remote control for a garage door drive, shows that it's possible to write...

Einstieg in Django

Python (C120) (de)

Bash-Versteher dank Strace

HS4 (de)

Nachdem der Autor vor zwei Jahren Strace und Systemcalls im Allgemeinen vorgestellt hat, konzentriert sich dieser Vortrag nun auf das Treiben und Verstehen der UN*X-Shells am Beispiel der BASH mit Hilfe von Strace.

Mit Hilfe von Strace sind Admins endlich in der Lage, zu beobachten und zu
verstehen, wie Wildcards, Quoting, I/O-Redirection, Piping der Shell
unter der Haube funktionieren. Der Vortrag zeigt anhand von
Beispielen, wie aus Anwendern mittels Strace Bash-Versteher
werden. Das hilft sowohl dem Shell-Verständnis beim Schreiben von Skripten
sowiewie auch dem Testen und Debuggen von täglichen Problemen mit
Shell-Skripten, denn Strace gibt weit mehr Informationen über den
Ablauf eines Skriptes wie die üblichen Logging-Methoden wie "set -x" u.ä.

Systemverwaltung mit Spacewalk

Praxis-Tipps zur Verwaltung von Linux und Solaris - HS1 (de)

Dieser Vortrag behandelt die effiziente Verwaltung von Linux- und Solaris-Systemen mithilfe von Spacewalk und Red Hat Satellite. Neben den Grundlagen werden auch einige wertvolle Tricks behandelt, die die tägliche Administration erleichtern.

Mithilfe der kostenfreien Software Spacewalk bzw. deren kommerziellen Ableger "SUSE Manager" und "Red Hat Satellite" gewinnt der IT-Administrator ein Werkzeug, mit dem er Linux- und Solaris-Systeme effizient verwalten kann.
Neben der Verteilung von Software-Paketen können auch standardisierte Sicherheits-Checks nach OpenSCAP durchgeführt und Konfigurationen verteilt werden.
Neben einigen Grundlagen der Software-Suiten behandelt dieser Vortrag einige Standard-Situationen mit denen ein Adminstrator täglich konfrontiert wird - und wie sie sich am einfachsten lösen lassen.

Our Puppet Story

Patterns and Learnings - HS3 (de)

In this talk I will present our collection of useful tools, learnings and design patterns for Puppet. We will potentially stumble across topics like Vagrant, VeeWee, EC2, Docker, git magic, Hiera, monitoring, MCollective, Puppet roles and profiles...

In the past years it was our mission to manage development, testing and production environments for web projects with agile multi-team setups.
Systems were often rather complex, with dozens of services involved. The infrastructure requirements changed frequently and as agile as the rest of project. And of course changes had to be tested and deployed continuously in a controlled and reproducible manner.
A mission impossible without systematic configuration management and even with such a great tool like Puppet a continuous challenge.

In this talk I will present our collection of useful tools, learnings and design patterns for Puppet. We will potentially come across topics like Vagrant, VeeWee, EC2, Docker, ENC, facter.d, git magic, Hiera, monitoring, autoregistration, rspec testing, MCollective, Puppet roles and profiles.

This talk will not reinvent the wheel, but present some techniques that made us much more productive in our daily work and will hopefully help you in the future.

Sunday 11:30


JRuby, a Pi and some Java Database

RedFrogConf (C118) (en)

Learn about using native Java from JRuby, to build a mobile app on the Raspberry Pi using Couchbase Mobile as the database.

JRuby is a great way to use native Java libraries and get around the project overhead of Java, but how do you actually use Java from JRuby? This talk explores building a JRuby application, backed by the portable Java version of Couchbase Mobile.


While JRuby is build to interface with Java, when calling out to JVM land there are all those little hurdles to overcome. Handling Strings correctly, using native Collection types, and interfacing with libraries which expect those native types instead of the ones provided by JRuby, and last but not least Implementing native interfaces to pass around.


Oh and by the way all of this runs on a little Raspberry Pi!

Sunday 12:45


Clojure in Production

A field report - Wordpress/quasiconf 2014(Lisp) (C130) (de)

A field report about professionally creating, deploying and running high-volume Clojure applications for several years.

Sunday 13:00


Help Desk

Java / Django (C116) (de)

LinOTP Setup und Integration

Workshop / Javascript (C117) (de)

Ziel des Workshops ist die Installation, das Setup und die Integration von LinOTP in verschiedenen Authentifizierunsszenarien (z.B. PAM, Apache, RADIUS) und die beispielhafte Programmierung einer Webapplikation zur Authentifizierung und Administra...

Nach einer Installation aus den LinOTP Paketen wird das Setup von Datenbank, Apache und FreeRADIUS durchgeführt. Danach erfolgt die Einbindung von verschiedenen LDAP und SQL Userdatenbanken (389, OpenLDAP, MySQL, Postgresql, u.a.) und die Einbindung verschiedener Typen von Token (Hardware, Software, zeit- und eventbasiert, Challenge Response).

Bei der Integration wird die Einbindung von PAM ( verschiedene Displaymanager und CLI), Apache und kurz die Anbindung von RADIUS erläutert.

Im dritten Teil wird eine beispielhafte Webapplikation entwickelt um die Integration von Authentifizierung und Administration in bestehende Umgebungen zu zeigen.

Sunday 13:45


Clojure in 90 Minutes

An introduction to the Clojure programming language - Wordpress/quasiconf 2014(Lisp) (C130) (de)

Noch eine Java.next Sprache mit ein bißchen funktionaler Programmierung an Bord? Mitnichten! Clojure ist das Ergebnis fundamentaler Fragestellungen und Überlegungen. Clojure stellt gültige Paradigmen auf den Kopf und schafft dadurch nicht mehr C...

Mit Hilfe des Vortrags werden die Komplexitäten der täglichen Arbeit wieder ins Bewusstsein gerufen und deren Verbesserungspotential aufgedeckt. Alleine das ist schon ein riesiger Gewinn. Wer darüber hinaus noch Lust auf Clojure entwickelt, hat doppelt gewonnen.

Sunday 14:00


Using SPDX to discover the licenses in your code

Learning to report open source licenses with SPDX - Workshop (C115) (en)

On this talk we'll explain what is SPDX from the Linux Foundation and how it can be used for discovering and indexing the open source licenses inside your code.

SPDX stands for "Standard Package Data Exchange". This is a format proposed by the Linux Foundation to ease the way different tools communicate licenses with each other.

In practice, it is a text (or XML) document that keeps a list of all files inside a directory and allows to specify properties such as:
- Licenses declared inside the file
- Copyright assignments
- SHA1 signature of the file
- Other relevant details

Despite its usefulness as licensing information format, it is not as known as it should. The result is that we lack a uniform manner of expressing licensing information between different people and tools, causing confusion (or simply lack of better licensing details).

Some months ago we decided to take SPDX into practice and developed our own desktop tooling (released as Free Software under EUPL) to create and read these documents with ease.

During our talk we'll present SPDX, give a summary of the key values that are interesting to keep in mind and give a demonstration of the tool in action.

Bring your laptop, suggest practical cases and we'll have a good session for questions and answers.

Programmierung mit LaTeX...

...und anderen Programmiersprachen - HS4 (de)

Wie kann man in LaTeX programmieren. Und welche anderen Programmiersprachen sind da einsetzbar?

Im Vortrag werden einige Methoden und Pakete vorgestellt, mit denen man im Textsatzsystem LaTeX programmieren kann.

LaTeX-Grundkenntnisse sind erforderlich, das wird keine Einführung...

Full Throttle Refactoring

HS6 (PHP) (en)

10 years of legacy code, 2.4 million lines of awful PHP code and still more than 3 mio visitors per month - tales from the dark side or how to refactor your code base while keeping it alive. Some insights moving a huge application to a service ori...

HeimAutomatisierung mit Python und RaspberryPi

Python (C120) (de)

Das Thema Heim-Automatisierung ist auf dem Vormarsch - kleine und leistungsfähige Microcontroller wie Arduino oder Linux Mini-Computer wie BeagleBone oder Raspberry Pi, die mit einem leistungsstarken Prozessor ausgestattet sind, ermöglichen einen ...

Das Raspberry Pi ist ein kreditkartengroßer Mini-Computer, der vielfältige Einsatzmöglichkeiten bietet - vom MediaCenter über den eigenen Mini-Cloud-Server bis zum stromsparenden Home-Server als Schaltzentrale der Heim-Automatisierung.

Neben einer Vorstellung des Raspberry Pi wird in dem Vortrag in die Programmierung der GPIO-Schnittstelle mittels Python eingegangen und Beispiele zur Verwirklichung eigener Heim-Automatisierungsprojekte präsentiert.

Die Einführung in die praktischen Einsatz des Raspberry Pi zur Heim-Automatisierung richtet sich an Teilnehmer, die sich für diesen Einsatzbereich der Programmiersprache Python interessieren.

A revolutionary idea: why not use a job queue system for your job queue?

RedFrogConf (C118) (en)

Most people use delayed job aka a database or resque/sidekiq for queuing. But why hack your way around a database or a "smarter memcache" to do a simple queue when there are other solutions that were build for this?

Beanstalkd is one of them. I...

In this talk I will show why using a database or a cache is not the perfect solution for a job queue. There are other things out there that can be used for this that are way more efficient and need less hackish code to implement basic features like retry on failure.

I will try to demonstrate with beanstalkd what you can do with software that was build for queuing and how simply it is to install and use.

Open Source Backup

Mit Sicherheit Gesichert mit Bareos - HS1 (de)

Dieser Vortrag gibt Einblick in das Enterprise Open Source Backup Tool Bareos. In dem Vortrag werden Funktionsweise Features und die Konfiguration behandelt. Anhand von Praktischen Beispielen werden Features und Funktion vorgeführt.

Der Vortrag stellt die Open Source Backup Software Bareos vor. Bareos ist ein alternative für Administratoren, Backups auf Enterprise Niveau und Netzweit durchzuführen. Die Software stellt somit eine netzwerkbasierende Backuplösung für heterogene Netzwerke dar.

Bareos entstand 2013 also Fork von Bacula und wurde seit dem Fork mit zahlreichen Features erweitert.

Bareos kann mit verschiedenen Medien, Diskspeicher und Tape umgehen. Ebenfalls beheerscht es Daten und Transportverschlüsselung.

Im Vortrag werde ich auf Funktionsweise eingehen und ein paar Szenarien beschreiben. In einer kurzen Hands On Session, stelle ich installation und Handling vor.

VlizedLab - Eine Open Source-Virtualisierungslösung für PC-Räume

HS3 (de)

Mit dem Vlizedlab (www.vlizedlab.at) können PC-Räume in Schulen mit minimalem Aufwand mit Virtualisierungstechnologie ausgerüstet werden, sodass die Studierenden ausschließlich in virtuellen PCs arbeiten, die in einem schlanken, aus Open Source-Ko...

Die Vielfalt der Lehrveranstaltungen, die in einem PC-Raum abgehalten werden, stellen an die Software-Ausstattung der PCs enorme Anforderungen: Diversität von Software und Betriebssystemen, Rechtevergaben am Studierende, kontrollierte Netzwerkbereiche, maximale Ausfallzeiten, etc. Um diese Anforderungen mit einem leicht zu bedienenden System zu erfüllen, haben wir mit dem "VlizedLab" eine Lösung implementiert, in der die Studierenden ausschließlich in virtuellen PCs arbeiten, die in einem schlanken, aus Open Source-Komponenten bestehenden Basissystem laufen. Das System beinhaltet auch Komponenten zur (automatischen) Verteilung der Installation im Raum, sodass die PCs automatisch konsistent gehalten werden. Eine ganze Palette an automatischen oder einfach zu bedienenden Störungsbehebungsmechanismen sichert einen störungsarmen Betrieb. Und die Möglichkeit, jeden einzelnen Übungs-PC auf den Saal-Projektor durchzuschalten ist auch bereits im Basis-System integriert und damit vom Übungs-PC unabhängig.

Mit dem "VlizedLab" können nicht nur viele Übungen, etwa im Bereich Office, Programmierung, Simulation, Multimedia, etc. störungsfreier und mit einem breiteren Spektrum an eingesetzt...

Dropwizard

Framework für Microservices - HS5 (de)

Dropwizard ist ein Java-Framework um sehr schnell und effizient REST-basierte Webanwendungen zu entwickeln. Mit Dropwizard wurde nicht das Rad neu erfunden, sondern stabile Best-of-Breed Bibliotheken zu einem runden Gesamtpaket zusammegefasst, das...

Sunday 14:45


Datenbank-Release-Management mit PostgreSQL und Ruby-on-Rails

Ein GIT für die Datenbank – geht das? - RedFrogConf (C118) (de)

Viele mit Ruby-on-Rails und PostgreSQL entwickelte Webanwendungen wie Content-Management-Systeme oder Shop-Systeme benötigen oft komplexe Datenbankmodelle mit umfangreichen Abhängigkeiten. Gleichzeitig ist häufig ein Release-Management der Datenba...

Viele mit Ruby-on-Rails und PostgreSQL entwickelte Webanwendungen wie Content-Management-Systeme oder Shop-Systeme benötigen oft komplexe Datenbankmodelle mit umfangreichen Abhängigkeiten. Gleichzeitig ist häufig ein Release-Management der Datenbank erwünscht, um Inhalte und Shop-Funktionen im Voraus zu erstellen und einen Test- und Abnahmeprozess zu ermöglichen. Gängige Lösungen versehen hierfür einzelne Datenbankmodelle z. B. mit Attributen wie Gültigkeitszeiträume oder Release-Status, oder sie verwenden komplett getrennte Systeme für Preview- und Live-Umgebungen. Die Handhabung solcher Attribute kann bei umfangreichen Datenbanken sehr komplex werden. Getrennte Systeme erhöhen den Ressourcenbedarf einer Anwendung stark und Previews werden dabei nicht auf dem eigentlichen Live-System geprüft.

Unsere Lösung ähnelt der Basisfunktionalität eines Source-Control-Systems wie GIT. So wie GIT-Benutzer mit Commits arbeiten können, kann man in unserem System mit Releases – ein Satz von Änderungen, Einfügungen und Löschungen in der Datenbank – arbeiten. Erweiterungen der Datenbank müssen das Release-Management nicht speziell berücksichtigen, da es als eigenständiges Modul implementiert...

Sunday 15:15


Coding Dojo Bonn - Kata Workshop

Workshop (C115) (de)

Im Rahmen eines dreistündigen Workshops für bis zu 20 Teilnehmer werden die Grundlagen der testgetriebenen Entwicklung (TDD) anhand einer Code-Kata erarbeitet. Eine überschaubare Programmieraufgabe, die durch die teilnehmenden Entwickler im Paar m...

Ablauf


Einführung



Geführte Einleitung über den Idee hinter Code-Katas als Weg zu kontinuierlicher Verbesserung und kontinuierlichem Training. Üben von Best-Practices welche potenziell in der täglichen Arbeit nicht zur Anwendung kommen, insb. pragmatisches, simples Codedesign auf Basis von Tests und Clean Code.


Erklärung der Katas



Als Kata bietet sich bei einem gemischten Set an Teilnehmern eine leichte Aufgabe an, die auch bei Teilerfüllung sichtbare Ergebnisse liefert. In der Erklärung werden die Anforderungen an das Ergebnis beschrieben, aber kein konkreter Lösungweg vorgegeben.


Entwickeln in Iterationen



Entwicklern der Lösung im Pair. Ein kleiner Break nach 25min Entwicklungszeit. In den einzelnen Teams wird zwischen Driver und Observer nach jedem Red-Green-Refactor Zyklus gewechselt.


Retrospektive (ca. 45min)



Die Retrospektive bietet Raum für Diskussion und Möglichkeit das Erlebte zu reflektieren. Wie hoch war die Anfangshürde? Wann war der erste Test “grün”? Wie weit ist das Ergebnis nach 2 Stunden? Hat sich eine Art “Flow” eingestellt? Könnte man an der gefunden Lösung noch Opti...

"Ist dies schon Wahnsinn, so hat es doch Methode"

Ein Entwickler verloren in der JavaScript-Welt - oder: wie man Web Development betreibt, ohne den Verstand zu verlieren. - HS1 (de)

Die wundersame Geschichte eines Java-Entwicklers, der in ein JavaScript-Projekt stolpert und dort Wunder und Abgründe findet.

Aus den verlorenen Weiten zwischen Prototypen und Scopes kündet ein Wanderer von der hellen aber auch der dunklen Seite der meistgenutzten Skriptsprache der Welt. Von einem Berg von ungenutzten Objektreferenzen aus erzählt er von seiner gefahrvollen Reise in die Welt von Angular, V8 und Node und zeigt, welche finsteren Orte man nicht betreten sollte aber auch welche Wunder dort zu finden sind. Hört gut zu, denn er gibt verschnörkelte Hinweise, wie sich JavaScript und geistige Gesundheit in Einklang bringen lassen und welche kolossalen Handwerkszeuge dazu nötig sind.

Zero-cost security monitoring

(with Icinga) - HS4 (en)

Open source monitoring solutions like Icinga cover most of the network administrators monitoring needs. These systems are highly customisable with various add-ons and plugins proven in years of application.

In this talk we share a selection ideas for monitoring security relevant activity and events with Icinga. This includes reminding on outstanding maintenance operations, detecting anomalous activity, monitoring (and control) of brute force attacks running, and most certainly the security of Web, DNS, Email and DHCP-services in general.

Given an existing Icinga monitoring system (like we documented in our 'Nagios/Icinga Kochbuch' recently published by O'Reilly) and not the resources to setup a proper security monitoring solution (like it is unfortunately under normal circumstances the case); why not at least improve network security by adding few more plugins?

Following the presentation there will be a discussion were we will encourage interested individuals to propose (or even contribute) security relevant checks missing. The most interesting contributions might get implemented, documented and published. Resulting plugins will be made freely available.

Executable Documentation for everyone (even you)

HS6 (PHP) (en)

Sometimes good documentation makes the difference between just another dead github repository and a successful, widely used library. But writing documentation is tedious and boring and maintaining it ten times so. But wrong documentation is someti...

IPython Notebook - Python interaktiv im Browser

Python (C120) (de)

Das IPython Notebook bietet eine vorzügliche, interaktive Umgebung für die Arbeit mit Python. Ein Notebook ist gleichzeitig interaktiv und ein Dokument, das sich speichern lässt. Neben den IPython-Eigenschaften wie nahtlose Einbindung von Shell-Ko...

IPython ist bereits über zehn Jahre alt und hat sich als komfortable Alternative zu dem einfachen, interaktiven Python-Prompt bewährt. IPython bietet ein wesentlich besseres Hilfesystem, Befehlsvervollständigungen, diskretes Ausführen von Shell-Kommandos, Werkzeuge zu Laufzeitmessung und vieles mehr. Es gibt sehr viele so genannten "magische Kommandos" mit denen sich verschiedenste Aufgaben schnell lösen lassen. Im wissenschaftlichen Bereich ist IPython schon lange der Standard für das interaktive Arbeiten mit Python.

IPython Notebook ist erst ein paar Jahre alt, hat sich aber rasant entwickelt. Viele Python-Entwickler mit wissenschaftlichem oder technischen Schwerpunkt nutzen Notebooks intensiv. Notebooks laufen in modernen Browsern mit HTML5. Zusätzlich zu allen Möglichkeiten des Kommandozeilen-IPython bieten sie viele grafische Elemente und ermöglichen das Abspeichern der Notebooks als JSON-Dokumente. Auch der Export in verschiedene Formate ist möglich. Ein Notebook besteht aus Zellen. Diese Zellen können ausführbaren Python-Code oder andere Information in Form von Markdown, HTML, LaTeX, Bildern oder Videos enthalten. Auch Zellen mit ausführbaren Quelltext in anderen Progr...

Ganeti

HS3 (en)

Ganeti is a system for managing clusters of virtual machines. The talk
will introduce Ganeti, its usage, and its architecture. The main focus
will be on changes and new development in the last year.

Ganeti is a management software for clusters of virtual machines based
on Xen, KVM or LXC. It is an open source project funded by Google
which has been around 7 years now. It has grown to the size of about
100,000 lines of Python and about 40,000 lines of Haskell code. Besides
being used in Google’s internal infrastructure, the project has a
lively open source community. Among our biggest users and contributors
are OSUOSL and GRNet.

In our talk, we will recall, in a self-contained way, the steps to set
up and maintain a Ganeti cluster, to monitor it, and to deal with
failures. We will also recall the architecture and the interfaces to
the utilized open-source components. The main focus of the talk will
be on changes and new features of Ganeti, predominantly those that
happened in the last year.

Hands-On mit OAuth2

Workshop / Javascript (C117) (de)

Viele große Firmen wie Google, Facebook, Twitter und co setzen OAuth2 ein, um Benutzer bei ihren unterschiedlichen Diensten zu anzumelden. Manche bieten sogar öffentliche APIs für Fremdanwendungen an, um ihren Authentisierungsmechanismus für das Login zu nutzen. Aber wie funktioniert OAuth2 überhaupt?

In diesem Workshop möchten wir es euch ermöglichen, euch einmal genauer mit OAuth2 zu beschäftigen. Wir beginnen mit einer theoretischen Einführung zu OAuth2, in der die Begriffe und Abläufe des Protokolls erklärt werden. Im Anschluss möchten wir uns praktisch mit OAuth2 auseinandersetzen. Dabei geben wir euch die Gelegenheit, eine eigene Anwendung in der Programmiersprache eurer Wahl zu schreiben, die eine Authentisierung über OAuth2 durchführt. Um dies möglichst reibungslos zu gestalten bringen wir Code-Beispiele und einen OAuth2 Server mit, der für diese Zwecke konfiguriert ist. Die Teilnehmer sollten einen eigenen Laptop mitbringen.

Micro Services

Vertical thinking for a simple architecture! - HS5 (en)

Micro Services are a new way of architectural thinking in web platforms. The key idea is strongly aligned on the unix philosophy: Create small services which are only responsible for one thing and make them work together. With this in mind, you ge...

Micro Services are a new way of architectural thinking in web platforms. The key idea is strongly aligned on the unix philosophy: Create small services which are only responsible for one thing and make them work together. With this in mind, you get simple applications, which can be developed, deployed and scaled independent from each other.

The key challenge in using micro services is to decompose applications vertically, by their functional domains. Only with this, you are able to reduce dependencies and create simple applications.
On a technical side, micro services are backed by a wide support in different programming languages and open source frameworks. Especially the state of the art deployment mechanisms make this approach possible at all.

Sunday 15:30


Clojure Kickstart Workshop

Getting started with Clojure - Wordpress/quasiconf 2014(Lisp) (C130) (de)

We help you find your way into software development with Clojure. Please bring your own notebook and make sure Java >= 1.6 is properly installed!

Most people with a background in static imperative OO programming face initial difficulties in getting started with a dynamic Lisp-style functional language like Clojure. Which is sad because programming in Clojure is a great experience!

The first hurdle is setting up a decent development environment that lets you enjoy the interactive nature of Clojure.
The next step would be to have a toy project. It should do significantly more than print Hello World, and it must have a direct connection to everyday programming tasks.
And finally, novices should get a well-chosen list of hints and links to continue learning on their own.
The three things listed above are exactly what we try to accomplish in a 3-hour workshop. Don't expect having mastered the language afterwards, but you can expect to be well-prepared for learning Clojure and deep-dive into it's ecosystem.

Rust for Rubyists

RedFrogConf (C118) (de)

A short introduction to the new and upcoming systems programming language called Rust.

Sunday 16:15


How to make Guacamole, an Object Document Mapper

RedFrogConf (C118) (en)

Building a core library for modern web development is a lot of fun and a lot of responsibility. I want to share my experience I made so far building an ODM for the multi-purpose NoSQL database ArangoDB.

ArangoDB is a multi-purpose NoSQL database. It has a whole bunch of features, like a sophisticated query language and full-fledged transactions. Its multi-purpose nature makes it interesting for different use cases. Only problem: No one wants to work with a database on the driver level anymore these days. The Ruby ODM (Object Document Mapper) library Guacamole was created to enable application developers to use the features of ArangoDB in way they know from other abstract libraries. This talk will present the design decisions behind Guacamole and give some insights into the obstacles we encountered while building it.

Sunday 16:30


Icinga 1, Icinga 2

Aktuelles aus dem Icinga Projekt - HS1 (de)

Nach den vielen Veröffentlichungen Icinga 2 Technology Milestones, fragen sich viele Sysadmins: Was kann Icinga 2 genau und wie schaut es mit Icinga 1.x aus?

Wir möchten in diesem Vortrag zeigen, was wir tun und wie die Zukunft von Icinga aussieht, und noch aussehen kann.

Unbegrenzt und leicht skalierbar, Icinga 2 zeichnet sich durch Clustering mit automatisierten Replikation und Loadbalancing aus. Wir sprechen über die innovative Multi-Threaded Architektur, das Clustering von Icinga 2, und die Anbindung von Graphite.

Wir werden aber auch die Weiterentwicklung Icinga 1.x erläutern, woran wir gerade arbeiten und was wir vorhaben.

Zum Schluss gibt es ein Demo unserer neusten Entwicklung: Ein neues, schnelles und einfaches Web Interface für jedermann - Icinga Web 2.

Trotz all die Neuerungen, bleiben wir zwei Punkten treu - Fragen sind gerne gesehen, jeder darf bei Icinga mitmachen!

Building a smarty-to-machine-code compiler

HS6 (PHP) (en)

The open source SmartTpl libraries greatly speeds up Smarty templates bij turning templates into native machine code. During a crash course 'how to write your own compiler' you will see how this alternative template engine works inside, and you wi...

The following topics will be covered:

- splitting up a source file into tokens
- building a syntax tree
- optimizing the syntax tree
- generating machine code
- just-in-time (JIT) compilers

Techniques and patterns that are used for building compilers are also very useful in other situations when you want to parse data.

Docker Orchestration

Python (C120) (en)

With the current hype around container technologies, this talk will give an overview over technologies like Coreos, Kubernetes and Mesos and how they might help managing an infrastructure with lots of containers.

Docker solved packaging and distribution of containers, but how to run those containers in production? The ecosystem around Docker is growing fast and there are lots of alternatives. In this talk you will learn more about cluster scheduling, utilization and configuration management of distributed systems.

IT-Unsicherheit in der Gebäudeautomation

Eine Bestandsaufnahme - HS3 (de)

Dieser Vortrag gibt einen Überblick über die in der Gebäudeautomation eingesetzten Systeme bzw. Protokolle und deren Sicherheit.
Des Weiteren werden OpenSource Projekte vorgestellt mit denen sich Systeme Steuern bzw. Angreifen lassen.

Themen:
BacNet/IP
Modbus/RTU, Modbus/IP
Codesys NetVars
EIB/KNX

Open Source client management für Windows and Linux mit opsi

HS4 (de)

Das Opensource Client Management System opsi verwaltet heterogene Systeme (Windows / Linux). Diese Vortrag gibt einen Überblick wie wie OS-Installation, Softwareverteilung, Konfiguration und Inventarisierung mit opsi Funktionieren.

opsi ist seit 10 Jahren ein Opensource Client Management System für Windows Clients basierend auf Linux Servern. Ab jetzt können mit opsi auch Linux Clients gemanaged werden. Diese Linux Unterstützung durch opsi ist Distribution übergreifend ( Debian, Ubuntu, Suse, RedHat/CentOS) und deckt die Funktionalitäten automatisch Betriebssysteminstallation, Softwareverteilung, Konfiguration und Inventarisierung ab.

Der Vortrag gibt zunächst einen Überblick über die Grundfunktionen von opsi um dann anhand von Beispielen, Livevorführung und Kurzvideos in die Themen OS-Installation, Softwareverteilung und Inventarisierung für Windows und Linux einzugehen.

Ergänzend werden Schnittstellen zu anderen Projekten (Nagios, OTRS, ITOMIG) aufgezeigt.

Aktuelle Probleme des Clientmanagements wie z.B. UEFI BIOS und Geräte ohne Ethernetanschluß werden erläutert.

Ein Vorstellung des Konzeptes der Kofinanzierung zur kommerziellen Erstellung von Opensource Software und die opsi Roadmap schließen den Vortrag ab.

WebODF - Anzeigen und Bearbeiten von Dokumenten in eigenen Web-Projekten

ODF-Dokumente, nur mit HTML5 und ohne Server - HS5 (de)

WebODF ist eine JavaScript-Bibliothek, die das Anzeigen und Bearbeiten von Dokumenten im OpenDocument-Format in jeder Webseite, Webanwendung oder auch nativen Programmen mit Webkomponente ermöglicht. Sie arbeitet komplett im Browser, noch nicht un...

Es gibt viele Anwendungsfälle für WebODF:


  • die direkte Veröffentlichung von Dokumenten auf Webseiten

  • das Schreiben neuer Dokumente oder das Redigieren bestehender per Kommentierungen oder direkte Bearbeitung (durch einen Nutzer oder auch gleichzeitig mehrere) in Webanwendungen

  • die interaktive Erstellung von Dokumenten in Webanwendungen


Einige der Anwendungsfälle können durch einfach zu verwendendene Javascript-Komponenten gelöst werden, z.B. durch die Anzeige-Komponente ViewerJS oder die Editor-Komponente Wodo.TextEditor, die mit wenigen Zeilen HTML oder JavaScript eingebunden werden und auf Serverseite nur als Dateien vorliegen brauchen. Andere Anwendungsfälle, mit mehr spezifischen Bedürfnissen, können durch Verwendung der Abstraktionsebenen in der WebODF-Bibliothek gelöst werden und z.B. eine eigene Editor-Benutzerschnittstelle erhalten oder Anbindung an die gewünschten Web-Dienste.

Sunday 17:45


Konferenzorganisation mit frab und media.ccc.de

Do-It-Yourself Konferenzmanagement und Videostreaming - HS5 (de)

Der Vortrag berichtet aus der Praxis von media.ccc.de.

Wie wurden die Server installiert? Wie kommen die Videos auf media.ccc.de

Frab ist eine in Ruby geschriebene Software die Teams die Verwaltung von Vorträgen für Konferenzen ermöglicht.

Der Vortrag stellt die Software und ihr Deployment im Detail vor:

* Installation von Frab am Beispiel des frab.cccv.de Clusters
* Verfügbaren Schnittstellen (XML und Exporte)
* Öffentliches XML/JSON
* Anbindung an das Video Team, mobile Clients und ICal
* media.ccc.de Backend und Frontend

Das Frab Ökosystem besteht mittlerweile aus einer Reihe von Ruby Anwendungen. Die Besonderheiten der Anwendungen, ihr Zusammenspiel und die verfügbaren Schnittstellen werden im Vortrag vorgestellt. Dabei wird auch immer auf das tatsächliche Deployment eingegangen. Ob es der Frab Cluster ist, die Libvirt LXC Container, oder das mit mirrorbrain gebaute CDN.

maintaining a oss project with git - kivitendo

git for individiual extensions - HS4 (en)

Deploying the free OSS project kivitendo and customising this with the power of git. We will use the power of rebase for long term satisfaction.

We grok some basics of git:

- cloning from github
- branching
- tagging
- rebase
- explaining our git cheat set

Refactoring a monolithic Framework for composer usage

HS6 (PHP) (en)

Imgaine, you have a Framework which does not plan to use composer in the near future,
also you have not much support from the community for your plans.
So how to misuse things to force the framework into composer in a way
which is maintainable,...

pymove3D - nutze Python in Blender und erstelle eine Animation

Python (C120) (de)

pymove3D ist ein Python Kurs des Python Software Verbands für Schüler, die Interesse haben 3D-Animationen zu programmieren. Einmal im Jahr gibt es begleitend einen Programmierwettbewerb. Dieser Beitrag gibt einen Einstieg in die Objekt Orientierte...

Ein neues Konzept, das auf das Lernen des Programmierens mit Hilfe der Python-API von Blender zielt, macht es sehr einfach, sichtbare Objekte zu erstellen. Erlernen der objektorientierten Programmierung ist dadurch viel einfacher. Objekte, die Sie erstellt haben, werden visualisiert. Mit Methoden können Sie mit den Objekten interagieren und bekommen Ergebnisse sofort angezeigt. Beispiele und die Ergebnisse der beiden letzten Wettbewerbe http://pymove3d.pysv.org/ Python bewegt die Welt werden vorgestellt.

Der Vortrag gibt einen Überblick, welche Erfahrung wir mit dieser Idee gemacht haben und wie wir weiterhin vorgehen möchten.

To Make Hearts Bleed

A Native Developer's Account On SSL - HS1 (en)

A tour-de-force through the real-life SSL-adversities faced by developers outside the ivory tower that are today's browsers. It's the tale of understaffed engineering teams, hard-to-educate administrators. It's the horror of broken and undocumente...

In a hostile and broken Internet, cryptography is a basic foundation of communication. But cryptography has no value when it's not used correctly. Browser vendors have tried to improve usability, but even they can't fix everything. Some of the improvements have actually been outright rejected by usability studies. Finally, even the biggest amount of developers can't fix ambiguities found in fundamental standards such as those defining X.509 semantics.

Moreover, developers who cannot depend on browser technologies are off much worse: They are required to know a significant amount about crypto, and get to re-implement the GUI part of it, often poorly and wrong, only relying on sub-par APIs of their libraries and/or toolkits.

Somewhere else, server administrators are left with unsafe defaults by their distribution. Due to sheer complexity, under-educated sysadmins and old libraries found in enterprise distributions, SSL setups today are a lot less safe than they should be.

This talk will discuss these subjects, provide examples and give hints for workarounds and proper behavior where possible. And after all, post-Snowden there is enough momentum to fix issues on a broader ...

Sunday 19:00


shutdown

Last call - HS1 (en)

Closing event of the conference.

I big warm thank you to everyone who helped make the conference a success, along with a couple of interesting statistics and other tidbits.