{"schedule":{"version":"1.0","conference":{"title":"FrOSCon 2014","start":"2014-08-23","end":"2014-08-24","daysCount":2,"timeslot_duration":"00:05","days":[{"index":0,"date":"2014-08-23","day_start":"2014-08-23T09:30:00+02:00","day_end":"2014-08-23T19:30:00+02:00","rooms":{"HS1":[{"id":1478,"guid":"3MYFzK-lo7ivKLAyUZiP_Q","logo":null,"date":"2014-08-23T09:30:00+02:00","start":"09:30","duration":"00:30","room":"HS1","slug":"froscon2014_-_1478_-_en_-_hs1_-_201408230930_-_init_-_towo_-_andreas_kupfer","title":"init","subtitle":"Kicking off the conference","track":null,"type":"lecture","language":"en","abstract":"The opening event of the conference.","description":"A few starting remarks and warm welcome from the conference organizers.","persons":[{"id":605,"full_public_name":"towo"},{"id":343,"full_public_name":"Andreas Kupfer"}],"links":[]},{"id":1354,"guid":"6Mw1u0oRQYXeaRRje72ijw","logo":"/system/logos/1354/medium/tarentLogo.png?1400765263","date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"01:00","room":"HS1","slug":"froscon2014_-_1354_-_de_-_hs1_-_201408231000_-_linux_im_interaktiven_funkstreifenwagen_-_thomas_haase_-_henning_heinold","title":"Linux im interaktiven Funkstreifenwagen","subtitle":"PolarIS -> OpenSource im Polizeieinsatz","track":"Web Development","type":"lecture","language":"de","abstract":"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 technologischen Herausforderungen im Projektverlauf und den gefundenen L\u00f6sungen berichtet.","description":"PolarIS \u201ePolizeiliches , automobilgest\u00fctztes ressourcensteuerndes IT-System\u201c\r\n\r\nBegonnen 2009 als Forschungs- und Entwicklungsprojekt entwickelte sich der interaktive Funkstreifenwagen kontinuierlich weiter und etabliert sich allm\u00e4hlich als Standardeinsatzmittel der Polizei in Brandenburg.\r\n\r\nAusgehend von einer Initiative des Zentraldienst der Polizei Brandenburg (ZDPol), welche zeitgem\u00e4\u00dfe IT-Technologie sinnvoll in die t\u00e4gliche Aufgabenwahrnehmung der polizeilichen Einsatzkr\u00e4fte integrieren sollte, wurde ein komplexes IT-System entwickelt, welches vollst\u00e4ndig mit OpenSource Technologien implementiert wurde. Hierbei sind die Nutzung von Linux als Basis f\u00fcr das angepasste Betriebssystem im Einsatzfahrzeug und die Integration des freien Navigationssystems Navit hervorzuheben, da diese dank ihrer offenen Schnittstellen und vielf\u00e4ltigen Konfigurationsoptionen optimal f\u00fcr den beschriebenen Anwendungsfall geeignet sind.\r\n\r\nDas 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\u00fcr die Bedienung aus der Einsatzleitzentrale.","persons":[{"id":928,"full_public_name":"Thomas Haase"},{"id":1021,"full_public_name":"Henning Heinold"}],"links":[]},{"id":1332,"guid":"H9oyfDzQNwJdvP6ZNeK8aA","logo":null,"date":"2014-08-23T11:15:00+02:00","start":"11:15","duration":"01:00","room":"HS1","slug":"froscon2014_-_1332_-_de_-_hs1_-_201408231115_-_wie_wir_einmal_500_server_mit_150_personen_in_3_tagen_migriert_haben_-_ralph_angenendt","title":"Wie wir einmal 500 Server mit 150 Personen in 3 Tagen migriert haben","subtitle":"Und was man alles dabei lernen kann","track":"System Administration","type":"lecture","language":"de","abstract":"Der Plan: Wir wechseln von einer \u00abbereitgestellten\u00bb virtuellen Serverumgebung auf eine andere Virtualisierungsl\u00f6sung: selbstverwaltet, \u00abon demand\u00bb, mit Monitoring\r\nout of the box. Mit einem anderen Betriebssystem.\r\nInnerhalb kurzer Zeit. Mit ca. 1500 Servern. Ohne Downtime.\r\nSo etwas startet man mit einem Big Bang: Wir migrieren mit der kompletten IT (Entwickler, QA, DBAs, Administratoren) 500 dieser Server innerhalb von 3 Tagen. In diesem Talk geht es um die Organisation und Durchf\u00fchrung eines solchen Events \u2013 und was man daraus lernen kann. Und welchen Spa\u00df man dabei mit 150 Leuten haben kann.","description":"Gegeben sei eine virtualisierte Serverumgebung, auf der Server von\r\neinem Dienstleister nach Bestellung \"schl\u00fcsselfertig\" bereitgestellt\r\nwerden und die relativ manuell via Nagios und Cacti \u00fcberwacht wird.\r\n\r\nDer Plan: Wir wechseln zu einer virtuellen Serverumgebung auf einer\r\nanderen Virtualisierungsl\u00f6sung, auf der sich Entwickler und Admins\r\n\"DevOps-Style\" selbst Maschinen bereit stellen k\u00f6nnen und die sich\r\nautomatisiert im Monitoring via Icinga wiederfinden.\r\n\r\nUm den Schwierigkeitsgrad ein wenig zu erh\u00f6hen, wechseln wir (in einem\r\ngeringen Ma\u00dfe) die Distribution. Und das Alarming. Und die\r\nProvisionierungsl\u00e4sung.\r\n\r\nMit ca. 1500 Servern. So schnell wie m\u00f6glich.\r\n\r\nWie startet man so ein Vorhaben? Nat\u00fcrlich mit einem Big Bang: Wir\r\nmigrieren mit der kompletten IT (Entwickler, DBAs.\r\nSystemadministratoren, QA etc.) 500 dieser Maschinen in nur drei Tagen.\r\nW\u00e4hrend dieser Migration soll die QA-Plattform weiterlaufen, wir wollen\r\nlernen, wie wir das sp\u00e4ter ohne Downtime in der Produktion hinbekommen.\r\n\r\nDieser Talk erz\u00e4hlt davon, wie man so etwas vorbereitet, wie man so eine\r\nAktion durchf\u00fchrt und was man alles tun bzw. tunlichst lassen sollte.\r\nUnd wie man 150 Leute dazu bekommt, an einem Strang zu ziehen, ohne sich\r\ngegenseitig zu behindern. Und nat\u00fcrlich davon, was man dabei alles \u00fcber\r\nseine Plattform, seine Kollegen und sich lernen kann. Nat\u00fcrlich auch\r\ndar\u00fcber, wie man die Leute motiviert.\r\n\r\nNicht zu vergessen vom Spa\u00df den man dabei haben kann.\r\n\r\nDie eingesetzten Tools werden nat\u00fcrlich erw\u00e4hnt, obwohl sie f\u00fcr den\r\nVortrag nicht wirklich relevant sind. Hier geht es mehr \"um das mit den\r\nMenschen\". ","persons":[{"id":166,"full_public_name":"Ralph Angenendt"}],"links":[]},{"id":1449,"guid":"99SX55hIWxl_UVvMRgD9gQ","logo":null,"date":"2014-08-23T12:45:00+02:00","start":"12:45","duration":"01:00","room":"HS1","slug":"froscon2014_-_1449_-_en_-_hs1_-_201408231245_-_open_source_management_-_kristian_kohntopp","title":"Open Source Management","subtitle":"Strategies for communication with open source projects in companies","track":"Culture","type":"lecture","language":"en","abstract":"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.\r\n\r\nWhat can enterprises do to prevent internal forks, a second OpenSSL or other deasters?","description":"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.\r\n\r\nWith 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?\r\n\r\n","persons":[{"id":476,"full_public_name":"Kristian K\u00f6hntopp"}],"links":[]},{"id":1316,"guid":"KkzMw9rApXTxw_fWNmOnHw","logo":"/system/logos/1316/medium/podlove-avatar-bkd-1024.png?1401870146","date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"01:00","room":"HS1","slug":"froscon2014_-_1316_-_de_-_hs1_-_201408231400_-_podcast_publishing_mit_podlove_-_tim_pritlove","title":"Podcast Publishing mit Podlove","subtitle":"Die Software und die Spezifikationen des Podlove-Projekts","track":"Development","type":"lecture","language":"de","abstract":"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\u00fcr Podcasts und Konferenzen.","description":"Der Vortrag stellt den bisher vom Podlove-Projekt bereitgestellten Werkzeugkasten vor: der Podlove Publisher und der Podlove Web Player. Es werden die Grundfunktionalit\u00e4ten erl\u00e4utert und m\u00f6gliche Anwendungen \u00fcber Podcasting hinaus skizziert, z.B. die Integration des Web Players in andere Publikationssysteme z.B. f\u00fcr Vortr\u00e4ge.\r\n\r\nIn einem weiteren Teil werden die bisher ver\u00f6ffentlichten als auch die in Entwicklung befindlichen Spezifikationen und Dateiformate des Projekts vorgestellt. Die Podlove Timeline und die Podlove Syndication Extensions sollen k\u00fcnftig das Publizieren und Abspielen von Podcasts  sowie die Auffindbarkeit von Aufzeichnungen im Web vereinfachen.\r\n\r\nZum Abschluss gibt es noch einen Ausblick auf die Podlove Matrix, ein Konzept f\u00fcr ein Verzeichnis von Podcasts und Veranstaltungsaufzeichnungen.\r\n","persons":[{"id":898,"full_public_name":"Tim Pritlove"}],"links":[{"url":"http://podlove.org","title":"Podlove"}]},{"id":1327,"guid":"tAw2yWi3BdWd08Q5lphv2g","logo":null,"date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS1","slug":"froscon2014_-_1327_-_de_-_hs1_-_201408231515_-_i_love_logging_-_jens_kuhnel","title":"I Love Logging","subtitle":"Wie wir loggfiles lieben lernen k\u00f6nnen.","track":"Monitoring","type":"lecture","language":"de","abstract":"Als Weiterf\u00fchrung vom letzten Jahr, werden in diesem Vortrag einige funktionierende L\u00f6sungsvorschl\u00e4ge aufgezeigt und nat\u00fcrlich auch die neuen Funktionen der gro\u00dfen Log-Tools des letzten Jahres betrachtet.","description":"Letztes Jahr wurde ein \u00dcberblick \u00fcber 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\u00f6glichkeiten sich daraus ergeben. Zum Einsatz kommen unter anderem: logstash, graylog2, kibana und elasticsearch.\r\n\r\nDieser Vortrag ist eine Weiterf\u00fchrung vom Vortrag letztes Jahr \"Log Analyse\", ist aber unabh\u00e4ngig davon und auch f\u00fcr Leute interessant die letzte Jahr nicht dabei waren.\r\n","persons":[{"id":47,"full_public_name":"Jens K\u00fchnel"}],"links":[]},{"id":1407,"guid":"_1gVt5y_RrWJMx4P36Virw","logo":null,"date":"2014-08-23T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS1","slug":"froscon2014_-_1407_-_de_-_hs1_-_201408231630_-_danen_lugen_nicht_-_carsten_strotmann","title":"DANEn l\u00fcgen nicht","subtitle":"SSL/TLS Zertifikate mit DNSSEC absichern","track":"Security","type":"lecture","language":"de","abstract":"Das konventionelle System zum Pr\u00fcfen von SSL/TLS Zertifikaten (\u00fcber zentrale Zertifizierungsstellen) funktioniert nicht zuverl\u00e4ssig. DANE ist ein neues Protokoll, welches die Pr\u00fcfung von Zertifikaten \u00fcber das DNS System erm\u00f6glicht. ","description":"DANE (DNS(SEC)-based Authentication of Named Entities), ein neues Internet Protokoll (RFC 6698) zum Pr\u00fcfen von SSL/TLS Zertifikaten, erfreut sich starker Beliebtheit. Es erlaubt die Absicherung von selbst-signierten SSL/TLS-Zertifikaten und eine erweiterte Sicherheit f\u00fcr Zertifikate von Zertifizierungstellen (CAs).\r\n\r\nDieser Vortrag erkl\u00e4rt die Probleme mit dem traditionellen Zertifizierungssystem (x509) im Internet und wie DANE diese Probleme l\u00f6st. Es wird gezeigt, wie Internet-Verbindungen \u00fcber 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\u00fcr eigene Dienste einzurichten.","persons":[{"id":465,"full_public_name":"Carsten Strotmann"}],"links":[]},{"id":1393,"guid":"NdBtMgUJ6w8GS8zc5kHM_g","logo":null,"date":"2014-08-23T17:45:00+02:00","start":"17:45","duration":"01:00","room":"HS1","slug":"froscon2014_-_1393_-_de_-_hs1_-_201408231745_-_state_of_the_union_-_michael_kleinhenz_-_oliver_zendel","title":"State of the Union","subtitle":"Das FOSS-Jahr 2014","track":"Culture","type":"lecture","language":"de","abstract":"Viel ist passiert im Jahr 2014 in der Open Source Szene. Oliver Zendel und Michael Kleinhenz, die beide t\u00e4glich mit und f\u00fcr FOSS arbeiten, werfen einen augenzwinkernden Blick in die Vergangenheit aber auch die Zukunft. Jubil\u00e4en, Dramen, Gl\u00fccksf\u00e4lle - alles wird mit einem Augenzwinkern pr\u00e4sentiert 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.","description":"Viel ist passiert im Jahr 2014 in der Open Source Szene. Oliver Zendel und Michael Kleinhenz, die beide t\u00e4glich mit und f\u00fcr FOSS arbeiten, werfen einen augenzwinkernden Blick in die Vergangenheit aber auch die Zukunft. Jubil\u00e4en, Dramen, Gl\u00fccksf\u00e4lle - alles wird mit einem Augenzwinkern pr\u00e4sentiert 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.","persons":[{"id":526,"full_public_name":"Michael Kleinhenz"},{"id":20,"full_public_name":"Oliver Zendel"}],"links":[]}],"HS3":[{"id":1396,"guid":"uC8ap4LP4Xtea09oLvF7_Q","logo":null,"date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"01:00","room":"HS3","slug":"froscon2014_-_1396_-_de_-_hs3_-_201408231000_-_mehr_als_e-mails_-_holger_gantikow","title":"Mehr als E-Mails","subtitle":"Smartphones und Tablets als Schweizer Taschenmesser f\u00fcr Admins","track":"System Administration","type":"lecture","language":"de","abstract":"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\u00f6glichen mobil arbeitsf\u00e4hig zu sein und auch am Arbeitsplatz treue Dienste leisten k\u00f6nnen.","description":"Wo vor zehn Jahren zum mobilen Arbeiten schwere Notebooks und langsame Datennetze n\u00f6tig waren, existieren heute neben schnellen Mobilfunknetzen wesentlich mobilere Endger\u00e4te.\r\n\r\nSmartphones und Tablets sind in fast jeder Admintasche zu finden und k\u00f6nnen, ausger\u00fcstet mit den richtigen Werkzeugen, zu wahren \"Schweizer Taschenmessern\" f\u00fcr die Administration fern ab des Schreibtisches werden. Aber auch in weniger mobilen Szenarien lassen sich diese Ger\u00e4te h\u00e4ufig sinnvoll in den Arbeitsalltag integrieren, so dass sie sich f\u00fcr wesentlich mehr als reine Kommunikation einsetzen lassen.\r\n\r\nDer Vortrag stellt eine Vielzahl von Tools f\u00fcr Android und iOS vor, die den Admin bei seinen t\u00e4glichen Aufgabenfeldern, wie dem regelm\u00e4\u00dfigen Blick ins Monitoring oder dem Bearbeiten von Tickets unterst\u00fctzen k\u00f6nnen. So steht beispielsweise f\u00fcr das Monitoring-System \"Check_MK\" eine speziell an mobile Clients angepasste Oberfl\u00e4che zur Verf\u00fcgung, die in vielen F\u00e4llen eine Alternative zu Apps wie \"aNag\" darstellen kann.\r\n\r\nWer 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 Vollen sch\u00f6pfen. Netzwerkadministratoren kommen mit Werkzeugen wie \"Wifi Analyzer\" und \"fing\" voll auf ihre Kosten, wenn es darum geht im Netzwerk nach dem Rechten zu sehen.\r\n\r\nNeben Tools f\u00fcr rein administrative Aufgaben existiert ein breites Angebot an Apps, die den Admin in vielen Lebenslagen unterst\u00fctzen k\u00f6nnen. Sei es zur Kommunikation mittels XMPP, dem Zugriff auf Handb\u00fccher oder das Erledigen von Planungsaufgaben - Mobilger\u00e4te mit Android und iOS k\u00f6nnen wesentlich mehr als \"nur E-Mails\".\r\n\r\nWelche Werkzeuge hierbei besonders n\u00fctzlich sind und an welchen Stellen Fallstricke bei der Integration und dem Einsatz von Smartphones und Tablets im Adminumfeld lauern, wird ebenfalls thematisiert.","persons":[{"id":805,"full_public_name":"Holger Gantikow"}],"links":[{"url":"http://www.linux-magazin.de/Ausgaben/2013/12/Admin-s-Little-Helper","title":"Zusammenfassender Basisartikel zum Thema"}]},{"id":1321,"guid":"rMDvAe2eh12fO6V44lJpLQ","logo":"/system/logos/1321/medium/logo.png?1400061832","date":"2014-08-23T11:15:00+02:00","start":"11:15","duration":"01:00","room":"HS3","slug":"froscon2014_-_1321_-_de_-_hs3_-_201408231115_-_vom_aussterben_bedroht_die_universalmaschine_computer_-_matthias_kirschner","title":"Vom Aussterben bedroht: die Universalmaschine Computer","subtitle":"","track":"Culture","type":"lecture","language":"de","abstract":"Computer sind universelle Machinen, die beliebig programmierbar sind und prinzipiell alles k\u00f6nnen. Vielen IT-Unternehmen ist dies mittlerweile ein Dorn im Auge. Sie wollen willk\u00fcrlich beschr\u00e4nken, was wir als Gesellschaft mit dieser Maschine machen k\u00f6nnen. Sie ergreifen technische Ma\u00dfnahmen, mit denen sie uns diese M\u00f6glichkeiten nehmen und uns St\u00fcck f\u00fcr St\u00fcck Rechte entziehen, die wir normalerweise haben, wenn wir ein Produkt kaufen. Die Industrie will entscheiden, was wir mit unseren Computern machen k\u00f6nnen und was mit unseren Daten passiert. Wollen wir Ihnen diese Macht einr\u00e4umen?","description":"","persons":[{"id":533,"full_public_name":"Matthias Kirschner"}],"links":[{"url":"https://fsfe.org/campaigns/generalpurposecomputing/secure-boot-analysis.de.html","title":"\"Secure Boot\": Wer wird Ihren n\u00e4chsten Computer kontrollieren?"}]},{"id":1386,"guid":"LFFyZHoyVkHDVNkFvNrWyw","logo":"/system/logos/1386/medium/ruby.png?1400859325","date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"01:00","room":"HS3","slug":"froscon2014_-_1386_-_de_-_hs3_-_201408231400_-_in_love_with_ruby_-_david_roetzel","title":"In Love with Ruby","subtitle":"Warum es sich immer noch lohnt, Ruby zu lernen","track":"Development","type":"lecture","language":"de","abstract":"Um Ruby ist es in letzter Zeit etwas ruhiger geworden. Dennoch eignet sich die Sprache immer noch exzellent f\u00fcr (Web-)Entwickler, Admins und Hobbyprogrammierer. Dieser Vortrag zeigt, warum.","description":"Der Hype um Ruby, der vor etwa 8 Jahren seinen H\u00f6hepunkt hatte, ist deutlich abgeebbt. Je nach dem, in welchem Bereich man unterwegs ist, h\u00f6rt man nun viel von node.js, Go, Rust oder Clojure.\r\n\r\nAber keine dieser neuen Sprachen bietet das selbe wie Ruby. Und auch in der Ruby-Welt schreitet die Entwicklung stetig voran.\r\n\r\nIn diesem \u00dcberblicksvortrag m\u00f6chte ich zeigen:\r\n\r\n<ul>\r\n<li>Was Ruby so einzigartig und liebenswert macht</li>\r\n<li>Was aktuelle Entwicklungen im Ruby-Bereich sind</li>\r\n<li>Welche gro\u00dfartigen Bibliotheken und Tools es im Ruby-Umfeld gibt</li>\r\n</ul>\r\n\r\nAu\u00dferdem versuche ich einen Blick in die Zukunft zu werfen.\r\n\r\nDer Vortrag richtet sich gleicherma\u00dfen an Entwickler, Administratoren und generell an alle, die auf der Suche nach einer neuen Programmiersprache mal einen Blick auf Ruby werfen m\u00f6chten. Au\u00dferdem kann er helfen, wieder auf den neuesten Stand zu kommen, wenn man Ruby in den letzten Jahren aus des Augen verloren hat.","persons":[{"id":92,"full_public_name":"David Roetzel"}],"links":[]},{"id":1304,"guid":"7GBNGkVhTfrHIUGqZUpkfw","logo":"/system/logos/1304/medium/r-logo-64x64.png?1405095491","date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS3","slug":"froscon2014_-_1304_-_de_-_hs3_-_201408231515_-_datenanalyse_mit_r_fur_administratoren_-_stefan_moding","title":"Datenanalyse mit R f\u00fcr Administratoren","subtitle":"Beispiele aus der Praxis","track":"System Administration","type":"lecture","language":"de","abstract":"<p>R, die freie Programmiersprache f\u00fcr statistisches Rechnen und Grafiken, ist auch f\u00fcr Administratoren ein n\u00fctzliches Werkzeug. Dieser Vortrag beginnt mit einer kurzen Vorstellung von R und zeigt dann an einigen Beispielen, wie R sich f\u00fcr die Analyse von Performance-Daten nutzen l\u00e4sst oder damit eine Prognose der zuk\u00fcnftigen Auslastung eines Systems sowie der Skalierbarkeit abgeleitet werden kann.</p>","description":"<p>Analysen und Auswertungen geh\u00f6ren zum IT-Alltag: die Antwortzeiten einer Applikation m\u00fcssen bez\u00fcglich der SLA-Ziele gepr\u00fcft werden, ein Benchmark soll die Skalierbarkeit einer neuen Plattform nachweisen und irgendjemand ben\u00f6tigt f\u00fcr seine Pr\u00e4sentation noch eine informative Grafik.</p>\r\n<p>R, die freie Programmierumgebung f\u00fcr statistisches Rechnen und Grafiken, ist ein leistungsf\u00e4higes Werkzeug zur Datenanalyse und grafischen Aufbereitung, mit der sich solche Aufgaben m\u00fchelos erledigen lassen.</p>\r\n<p>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.</p>\r\n<p>So k\u00f6nnen hochwertige Grafiken schon mit einfachen Aufrufen erstellt werden und m\u00fcssen bei einer Aktualisierung der Daten im Gegensatz zu vielen (mausbedienten) Tools auch nicht m\u00fchsam wieder neu zusammengebaut werden.</p>\r\n<p>Mit gemessenen Performance-Daten l\u00e4sst sich schlie\u00dflich ein Modell zur Skalierbarkeit eines Systems erstellen. Dies kann nicht nur zur Vorhersage des maximal erreichbaren Durchsatzes genutzt werden, sondern erlaubt h\u00e4ufig au\u00dferdem R\u00fcckschl\u00fcsse auf das im System versteckte Bottleneck.</p>","persons":[{"id":885,"full_public_name":"Stefan M\u00f6ding"}],"links":[]},{"id":1323,"guid":"nWc27V56dWIRZ70iwTtnhQ","logo":null,"date":"2014-08-23T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS3","slug":"froscon2014_-_1323_-_en_-_hs3_-_201408231630_-_elmar_s_whistleblower_quiz_show_-_elmar_geese","title":"Elmar's Whistleblower Quiz Show","subtitle":"Forgotten Heroes & Stories","track":"Culture","type":"lecture","language":"en","abstract":"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 Whistleblower Hall of Fame shall remind us of these people and what they idi and do for us.","description":"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.\r\nThere 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.\r\nThese stories cover: Surveillance, Corruption, Murder, War Crime, Fraud. Lies, Arms Trade, Terrorism.\r\nThe lecture includes a \"Whistleblower Quizduell\" to entertain and inform the audience. Theire even a prices to be won...","persons":[{"id":782,"full_public_name":"Elmar Geese"}],"links":[]},{"id":1325,"guid":"NcH7TwKoQARNQ2auG050Wg","logo":null,"date":"2014-08-23T17:45:00+02:00","start":"17:45","duration":"01:00","room":"HS3","slug":"froscon2014_-_1325_-_de_-_hs3_-_201408231745_-_private_cloud_mit_open_source_-_dr_lukas_pustina_-_daniel_schneller","title":"Private Cloud mit Open Source","subtitle":"Anekdoten aus der privaten Cloud oder wie man mit Open Source eine private Cloud aufsetzt und betreibt","track":"Virtualisierung","type":"lecture","language":"de","abstract":"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.","description":"Die Abstraktion von einzelnen Servern, Festplatten und Netzwerkverbindungen zu allgemein verf\u00fcgbaren Rechen- und Speicherressourcen ist die Grundidee des Cloud Computing. Hardware wird dadurch zu einer flexiblen Ressource, die sich agil und kosteneffizient nutzen l\u00e4sst. Amazon hat mit AWS diese Idee als Public Cloud f\u00fcr die breite \u00d6ffentlichkeit zug\u00e4nglich gemacht. \r\n\r\nEs gibt jedoch gute Gr\u00fcnde eine eigene, private Cloud zu bauen. Diese Gr\u00fcnde k\u00f6nnen Sicherheitsbedenken und rechtliche Kriterien sein. Zudem erleichtert die vollst\u00e4ndige Kontrolle des gesamten Protokollstacks die Entwicklung und Wartung von verteilten und hochverf\u00fcgbaren Systemen.\r\n\r\nDr. Lukas Pustina und Daniel Schneller von der codecentric AG haben f\u00fcr das Startup CenterDevice eine private Cloud vom Konzept bis zum produktiven Einsatz realisiert. Dabei wurde ausschlie\u00dflich Open Source eingesetzt und ein \"privates Amazon\u201d geschaffen. In dieser Cloud laufen eine Produktions- und verschiedene Staging und Testumgebungen.\r\n\r\nIn diesem Vortrag sollen anhand der Entstehungsgeschichte der CenterDevice Cloud konkret Konzepte, Entscheidungen und Probleme erl\u00e4utert werden. Dabei wird auch die ein oder andere Anekdote aus dem t\u00e4glichen Wahnsinn der Cloud Administration nicht fehlen.\r\n\r\nDer Vortrag beleuchtet zun\u00e4chst, warum explizit nur freie Software genutzt wird und welche f\u00fcr das Projekt ausgew\u00e4hlt worden ist. Anhand spezifischer Anforderungen werden die eingesetzten Komponenten Ubuntu Linux, Ansible, Ceph Object Store und OpenStack eingef\u00fchrt. Die erlebten Stolpersteine und Probleme sowie deren L\u00f6sung werden zusammen mit Performance Messungen vorgestellt. Zum Abschluss gibt es einen Blick auf die Produktionsumgebung mit einer Live Demo.\r\n\r\nDas Fazit der beiden ist, dass sich die Investition in eine Open Source Cloud gelohnt hat. Jedoch gibt es viele kleine und gro\u00dfe Probleme bis zum produktiven System zu \u00fcberwinden. Die Zuh\u00f6rer des Vortrags sollen am Ende selbst einsch\u00e4tzen k\u00f6nnen, in wie fern sich eine solche L\u00f6sung f\u00fcr ihre eigene Umgebung eignet.\r\n","persons":[{"id":909,"full_public_name":"Dr. Lukas Pustina"},{"id":910,"full_public_name":"Daniel Schneller"}],"links":[]}],"HS4":[{"id":1371,"guid":"7Xc1uXMzZ_hBGxQeNTbj6w","logo":null,"date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"01:00","room":"HS4","slug":"froscon2014_-_1371_-_de_-_hs4_-_201408231000_-_database_federation_mit_postgresql_-_bernd_helmle","title":"Database Federation mit PostgreSQL","subtitle":"","track":"Database","type":"lecture","language":"de","abstract":"Der Vortrag besch\u00e4ftigt sich mit den M\u00f6glichkeiten der Interoperabilit\u00e4t von PostgreSQL mit anderen Datenquellen und gibt einen Ausblick auf die kommenden M\u00f6glichkeiten in PostgreSQL 9.4.","description":"Interoperabilit\u00e4t zwischen datenverarbeitenden Komponenten wird immer wichtiger. In vielen Unternehmen stehen unterschiedliche Datenquellen zur Verf\u00fcgung, die verschiedenste Aufgaben wahrnehmen. Informationen zusammenzuf\u00fchren, auszuwerten und weiter zu verarbeiten ist eine Herausforderung. PostgreSQL bietet mit Foreign Data Wrappers eine M\u00f6glichkeit, mit einer standardisierten Schnittstelle auf fremde Datenquellen zuzugreifen. Mit der kommenden Version 9.4 steht ferner eine M\u00f6glichkeit zur Replikation in externe Datenquellen zur Verf\u00fcgung. Der Vortrag gibt einen \u00dcberblick \u00fcber die M\u00f6glichkeiten dieser Schnittstellen.","persons":[{"id":103,"full_public_name":"Bernd Helmle"}],"links":[]},{"id":1339,"guid":"D3xo4XG-ODco6UgUOw5-1A","logo":"/system/logos/1339/medium/Galera-Cluster-logo-1024x195.jpg?1400624296","date":"2014-08-23T11:15:00+02:00","start":"11:15","duration":"01:00","room":"HS4","slug":"froscon2014_-_1339_-_de_-_hs4_-_201408231115_-_mysql_hochverfugbar_mit_galera_-_erkan_yanar","title":"MySQL Hochverf\u00fcgbar mit Galera","subtitle":"Wir k\u00f6nnen auch 99.9999","track":"Database","type":"lecture","language":"de","abstract":"Mit der Galera \"Replikation\" f\u00fcr MySQL werden MySQL Datenbanken zu hochverf\u00fcgbaren Multi Master Cluster","description":"Mit der Galera \"Replikation\" f\u00fcr MySQL werden MySQL Datenbanken zu hochverf\u00fcgbaren Multi Master Cluster.\r\nGalera ist erfreut sich gr\u00f6\u00dfter Beliebtheit und hat in MariaDB und Percona (als jeweils eigenst\u00e4ndiges Produkt) Einzug gehalten.\r\n\r\nEs wird gezeigt wie das funktioniert und wo die Probleme liegen.\r\nBei einer Livedemo werden wir selbstredend LXC verwenden und noch etwas dazu erz\u00e4hlen.\r\nZu der Livedemo wird auch ein Deployment mit Ansible geh\u00f6ren ;)","persons":[{"id":188,"full_public_name":"Erkan Yanar"}],"links":[]},{"id":1311,"guid":"mqo63nte53WnSwSrodkQ0A","logo":null,"date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"01:00","room":"HS4","slug":"froscon2014_-_1311_-_en_-_hs4_-_201408231400_-_solving_your_big-data_problem_before_it_arises_using_django_-_didi_hoffmann","title":"Solving your Big-Data problem before it arises, using Django ","subtitle":"How data sharding can make you perform better and faster","track":"Database","type":"lecture","language":"en","abstract":"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 scalable, but also faster and the code will be better. ","description":"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.","persons":[{"id":289,"full_public_name":"Didi Hoffmann"}],"links":[{"url":"http://www.DBook.biz","title":"DBook"}]},{"id":1361,"guid":"3rZ2qxh4auU0IIjH1P5gfg","logo":null,"date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS4","slug":"froscon2014_-_1361_-_en_-_hs4_-_201408231515_-_multi-model_nosql_databases_-_michael_hackstein","title":"Multi-Model NoSQL Databases","subtitle":"An introduction to Polyglot persistence and NoSQL","track":"Javascript","type":"lecture","language":"en","abstract":"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 benefits. The database i will use for this offers embedded Javascript for my examples.","description":"In many modern applications the database side is realized using polyglot persistence \u2013 store each data format (graphs, documents, etc.) in an appropriate separate database.\r\nThis approach yields several benefits, databases are optimized for their specific duty, however there are also drawbacks:\r\n* keep all databases in sync\r\n* queries might require data from several databases\r\n* experts needed for all used systems\r\nA multi-model database is not restricted to one data format, but can cope with several of them.\r\nIn 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.\r\nI will show with Javascript examples how to make use of such a multi-model database.","persons":[{"id":934,"full_public_name":"Michael Hackstein"}],"links":[]},{"id":1388,"guid":"EdK-AIe26526YOhHHmQwAQ","logo":"/system/logos/1388/medium/quantified-self-400px.jpg?1400863883","date":"2014-08-23T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS4","slug":"froscon2014_-_1388_-_de_-_hs4_-_201408231630_-_quantified_self_mit_wearable_devices_und_smartphone-sensoren_-_andreas_schreiber","title":"Quantified Self mit Wearable Devices und Smartphone-Sensoren","subtitle":"Daten \u00fcber den eigenen K\u00f6rper sammeln und auswerten","track":"Hardware","type":"lecture","language":"de","abstract":"Wie viel bewege ich mich jeden Tag? Wie viel Stress habe ich? Bin ich Handy-s\u00fcchtig? \u2013 Zum Quantifizieren des eigenen K\u00f6rpers und der eigenen Aktivit\u00e4ten gibt es zahlreiche Wearable Devices und Smartphone-Apps. Im Vortrag erfahrt Ihr, welche aktuellen Devices und Apps es gibt, wie Ihr an deren Daten kommt und wie Ihr Eure Daten analysieren und visualisieren k\u00f6nnt.","description":"Das Vermessen des eigenen K\u00f6rpers 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\u00fcrlich sind viele Menschen einfach an st\u00e4ndig neuster Technik interessiert und wollen die zahlreichen Wearable Devices ausprobieren.\r\n\r\nIm Vortrag werdet Ihr einen \u00dcberblick \u00fcber Selbstvermessung (Quantified Self) bekommen. \r\nIhr bekommt eine \u00dcbersicht \u00fcber aktuelle Devices, die man am K\u00f6rper tragen kann. Dazu geh\u00f6ren zum Beispiel Aktivit\u00e4tssensoren, Puls- und Herzfrequenzmesser oder Kameras. Ihr erfahrt auch was das verbreitetste Selbstvermessungs-Device, Euer Smartphone, mit Hilfe seiner Sensoren und geeigneter Apps alles \u00fcber Euch und Eure Aktivit\u00e4ten wei\u00df. Nat\u00fcrlich geht es auch um die Frage, was Euch diese Technologie bringt und welche Gefahren es aus Daten- und Pers\u00f6nlichkeitsschutzsicht gibt.\r\n\r\nDie Hacker und Datenfetischisten unter Euch erfahren, wie Ihr auf die Daten verschiedener Quantified-Self-Devices zugreifen k\u00f6nnt. Damit k\u00f6nnt Ihr dann Euch und Euer Leben analysieren und vielleicht besser verstehen. Anhand einiger Beispiele in Python mit IPython und verschiedenen Open-Source-Bibliotheken werdet Ihr sehen, wie der Zugriff auf die Daten geht, wie Ihr die Daten aus unterschiedlichen Quellen korrelieren und statistisch auswerten k\u00f6nnt und nat\u00fcrlich wie Ihr h\u00fcbsche Visualisierungen erzeugt.\r\n\r\nAm Ende k\u00f6nnt Ihr f\u00fcr Euch selbst entscheiden, ob Selbstvermessung ganz toll, zu gef\u00e4hrlich oder einfach nur Unsinn ist.","persons":[{"id":346,"full_public_name":"Andreas Schreiber"}],"links":[{"url":"http://www.ksta.de/panorama/gesundheit-der-vermessene-mensch-,15189504,25756232.html","title":"Der vermessene Mensch (KStA)"},{"url":"http://qscologne.de","title":"Quantified Self Meetup Cologne"},{"url":"http://quantifiedself.com/","title":"Quantified Self | Self Knowledge Through Numbers"},{"url":"http://ipython.org/","title":"IPython"}]},{"id":1353,"guid":"Ur8ibuZni9KOBLDz_Bi7RQ","logo":"/system/logos/1353/medium/IMG_1951-square.jpg?1405249726","date":"2014-08-23T17:45:00+02:00","start":"17:45","duration":"01:00","room":"HS4","slug":"froscon2014_-_1353_-_de_-_hs4_-_201408231745_-_vorsicht_kamera_-_dirk_haun","title":"Vorsicht, Kamera!","subtitle":"Lifelogging: Was soll das? Wie geht das? Und darf der das eigentlich?","track":"Hardware","type":"lecture","language":"de","abstract":"Lifelogging ist die Idee, einfach alles aufzuzeichnen, was einem im t\u00e4glichen 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 fotografisch festzuhalten und wann nicht?","description":"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?\r\n\r\nWer nun meint, das sei nur ein Randthema, das eh nur ein paar \"Spinner\" betrifft, wird vielleicht \u00fcberrascht 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\u00fcssen uns \u00fcberlegen, wie wir damit umgehen wollen und welche neuen gesellschaftlichen Normen wir als Reaktion darauf entwickeln.\r\n\r\nBeim Blick auf die verf\u00fcgbare Hard- und Software f\u00e4llt auf, dass praktisch alle am Markt befindlichen Produkte \"closed\" sind und oft auch die gesammelten Daten \"in der Cloud\" speichern. Mit der zu erwartenden Verbreitung von Lifelogging und Quantified Self er\u00f6ffnen sich hier also auch neue Bet\u00e4tigungsfelder f\u00fcr die Open Source- und Open Hardware-Szene.","persons":[{"id":33,"full_public_name":"Dirk Haun"}],"links":[{"url":"http://hirnableiter.tinycities.de/index.php?topic=lifelogging","title":"Experiments in Lifelogging"},{"url":"https://www.flickr.com/photos/dhaun/sets/72157640310638425/","title":"Fotogalerie: Lifelogging"}]}],"HS5":[{"id":1364,"guid":"UbJ2xSD9UY0CBYE-9F8ZXA","logo":"/system/logos/1364/medium/android-c__.png?1400832007","date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"01:00","room":"HS5","slug":"froscon2014_-_1364_-_en_-_hs5_-_201408231000_-_how_to_bring_compute_intensive_c_based_apps_to_android_-_martin_siggel","title":"How to bring compute intensive C++ based apps to Android","subtitle":"","track":"Development","type":"lecture","language":"en","abstract":"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 our open source geometry app TiGL Viewer.","description":"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 \u2013 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.\r\n\r\nIn 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 emulator using Intel\u2019s HAXM acceleration. All these steps will be executed live during presentation on a small tutorial app.","persons":[{"id":936,"full_public_name":"Martin Siggel"}],"links":[]},{"id":1415,"guid":"fYEG2G8TPGwD9OgqK13emw","logo":"/system/logos/1415/medium/LinOTP_Logo_2012_rgb.png?1401119276","date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"01:00","room":"HS5","slug":"froscon2014_-_1415_-_de_-_hs5_-_201408231400_-_linotp_und_single_sign_on_-_rainer_endres","title":"LinOTP und Single Sign On","subtitle":"Zwei-Faktor Authentisierung in der Praxis","track":"Security","type":"lecture","language":"de","abstract":"Eine Vorstellung der Integration von LinOTP mit verschiedenen Single Sign On Verfahren anhand von Beispielen aus der Praxis. \r\n","description":"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\u00f6rter oft nicht ausreichend. \r\n\r\nDer Vortrag stellt zun\u00e4chst One Time Password Verfahren und LinOTP als L\u00f6sung f\u00fcr die Integration von OTP  vor. \r\n\r\nAnhand von konkreten Beispielen aus der Praxis wird die Anbindung von:\r\n<ul>\r\n<li>MIT Kerberos,</li>\r\n<li>SAML (verschiedene Auspr\u00e4gungen),</li>\r\n<li>und OpenID (2.0),</li>\r\n</ul>\r\nan eine starke OTP Authentisierung mit LinOTP gezeigt werden. \r\n","persons":[{"id":956,"full_public_name":"Rainer Endres"}],"links":[{"url":"http://linotp.org","title":"LinOTP"},{"url":"http://www.lsexperts.de","title":"LSE"}]},{"id":1352,"guid":"zLQRrJi05bpzgkLweZJT1Q","logo":"/system/logos/1352/medium/python-logo.png?1405414692","date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS5","slug":"froscon2014_-_1352_-_en_-_hs5_-_201408231515_-_data_analysis_and_visualization_with_python_-_tobias_stollenwerk","title":"Data Analysis and Visualization with Python","subtitle":"Usage of Numpy, Pandas and Matplotlib for a personal bookkeeping software","track":"Development","type":"lecture","language":"en","abstract":"We demonstrate the usage of python's scientific tools, <a href=\"http://www.numpy.org\">Numpy</a>, <a href=\"http://pandas.pydata.org\">Pandas</a> and <a href=\"http://matplotlib.org\">Matplotlib</a> for data analysis and Visualization. As a use case, we present a <a href=\"https://github.com/tstollenw/myAccount\">python tool</a> for personal bookkeeping.","description":"The talk will include:\r\n\r\n<ul>\r\n  <li>Introduction to Numpy</li>\r\n  <li>Introduction to Matplotlib</li>\r\n  <li>Introduction to Pandas</li>\r\n  <li>Use case: Personal bookkeeping and analysis</li>\r\n</ul>\r\n\r\nThe presented personal bookkeeping tool reads in your bank records, automatically devides them into user defined categories and visualizes the results in a neat way.","persons":[{"id":920,"full_public_name":"Tobias Stollenwerk"}],"links":[{"url":"https://github.com/tstollenw/pyAccount","title":"pyAccount"}]},{"id":1489,"guid":"3cclngmTRWZOxGLVZ0GYjw","logo":null,"date":"2014-08-23T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS5","slug":"froscon2014_-_1489_-_de_-_hs5_-_201408231630_-_flames_-_kristian_kohntopp","title":"Flames","subtitle":"Kommunikationszusammenbr\u00fcche im Netz ","track":"Culture","type":"lecture","language":"de","abstract":"Warum sind Leute online Arschl\u00f6cher, die im \"echten Leben\" eigentlich ganz nett sind.\r\n\r\nOnline-Kommunikation ist anders und Strategien zur Konfliktl\u00f6sung m\u00fcssen sich anpassen","description":"","persons":[{"id":476,"full_public_name":"Kristian K\u00f6hntopp"}],"links":[]},{"id":1310,"guid":"3Fu37xmz8exgycF13SnW-Q","logo":null,"date":"2014-08-23T17:45:00+02:00","start":"17:45","duration":"01:00","room":"HS5","slug":"froscon2014_-_1310_-_en_-_hs5_-_201408231745_-_web-app-encryption_-_didi_hoffmann","title":"Web-App-Encryption","subtitle":"Is your data secure by default? How Django can be used to make you sleep at night. ","track":"Security","type":"lecture","language":"en","abstract":"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 main focus will be on using Django as a web-frontent in a highly distributed and load optimised environment.","description":"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.","persons":[{"id":289,"full_public_name":"Didi Hoffmann"}],"links":[{"url":"http://www.DBook.biz","title":"DBook"},{"url":"http://www.ribalba.de","title":"Didi Hoffmann"}]}],"HS6 (PHP)":[{"id":1435,"guid":"jYPc9hY79IuErFBNAzYk-g","logo":null,"date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014_-_1435_-_en_-_hs6_php_-_201408231000_-_a_couchdb_replication_endpoint_in_php_-_kore_nordmann","title":"A CouchDB replication endpoint in PHP","subtitle":"","track":"PHP Devroom","type":"lecture","language":"en","abstract":"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 TouchDB.\r\n\r\nYou will also be able to replicate a CouchDB database into a MySQL database or vice-versa. The growing amount of endpoints for this protocol in different languages and environments suggests that the CouchDB replication protocol might evolve as a standard for eventual consistent multi-master replication.","description":"","persons":[{"id":108,"full_public_name":"Kore Nordmann"}],"links":[]},{"id":1436,"guid":"8aEWrEVhtLj9lhnVjRTNqQ","logo":null,"date":"2014-08-23T11:15:00+02:00","start":"11:15","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014_-_1436_-_en_-_hs6_php_-_201408231115_-_kernel-_infect_creating_a_cryptovirus_for_symfony2_apps_-_raul_fraile","title":"$kernel->infect(): Creating a cryptovirus for Symfony2 apps","subtitle":"","track":"PHP Devroom","type":"lecture","language":"en","abstract":"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 workshop we will create a simple cryptovirus in PHP - for educational purposes - able to infect a Symfony2 app and encrypt data such as database records or user uploaded files using public key cryptography with OpenSSL.\r\nTo create the virus we will study how Symfony works internally, especially what kernel events are dispatched and how to use them to attach our virus. Several strategies to hide the virus will be discussed. Simple ones like using different encodings and more advanced strategies such as polymorphic code. Finally, we will see how we can defend ourselves from this kind of attacks.","description":"","persons":[{"id":990,"full_public_name":"Raul Fraile"}],"links":[]},{"id":1437,"guid":"Vq-Ge9-Y2bLVb0nTi1AzCg","logo":null,"date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014_-_1437_-_en_-_hs6_php_-_201408231400_-_writing_native_php_extensions_using_php-cpp_-_emiel_bruijntjes","title":"Writing native PHP extensions using PHP-CPP","subtitle":"","track":"PHP Devroom","type":"lecture","language":"en","abstract":"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 to C++.","description":"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.\r\n\r\nBased 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.\r\n\r\nIn 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?","persons":[{"id":991,"full_public_name":"Emiel Bruijntjes"}],"links":[]},{"id":1438,"guid":"-yPiTA_hqfTBZYVYZ1CSBQ","logo":"/system/logos/1438/medium/neo4j_php.png?1407331796","date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014_-_1438_-_en_-_hs6_php_-_201408231515_-_playing_with_neo4j_-_using_-_php_-_frank_neff","title":"Playing with Neo4j \u00ad-[:USING]\u00ad-> PHP","subtitle":"","track":"PHP Devroom","type":"lecture","language":"en","abstract":"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 introduction into the graph concept, Neo4j, the Cypher Query Language and an integration in PHP. There are already some good PHP libraries for graph processing. I'll also show some examples and benchmarks using my favourite lib that is based on the Doctrine Common API.","description":"","persons":[{"id":992,"full_public_name":"Frank Neff"}],"links":[]},{"id":1487,"guid":"ivk3oRLYT21tzPafkVuUGQ","logo":null,"date":"2014-08-23T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014_-_1487_-_de_-_hs6_php_-_201408231630_-_php_arduino_-_thomas_weinert","title":"PHP & Arduino","subtitle":"","track":"PHP Devroom","type":"lecture","language":"de","abstract":"","description":"","persons":[{"id":173,"full_public_name":"Thomas Weinert"}],"links":[]},{"id":1488,"guid":"mnjheMmk1ny27DDN-s63Fw","logo":null,"date":"2014-08-23T17:45:00+02:00","start":"17:45","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014_-_1488_-_en_-_hs6_php_-_201408231745_-_phpng_-_heap_and_stack_allocation_-_johannes_schluter","title":"phpng - heap and stack allocation","subtitle":"","track":"PHP Devroom","type":"lecture","language":"en","abstract":"","description":"","persons":[{"id":671,"full_public_name":"Johannes Schl\u00fcter"}],"links":[]}],"Workshop (C115)":[{"id":1336,"guid":"SRS_72-h3yW364i6kj_4wQ","logo":"/system/logos/1336/medium/Bildschirmfoto_2014-05-22_um_10.22.46.png?1400749082","date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"02:00","room":"Workshop (C115)","slug":"froscon2014_-_1336_-_en_-_workshop_c115_-_201408231000_-_learning_platform_edivide_-_k_lemke-rust_p_ploger_p_samarin_j_samotyja","title":"Learning Platform eDiViDe","subtitle":"FPGA Programming with Remote Labs","track":"Hardware","type":"workshop","language":"en","abstract":"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). In course of this workshop we will show how our FPGA setups can be programmed over the web interface provided by the eDiViDe platform. The advantage of our platform is that the users don't need to install any software on their PC and are ready to go by simply logging in.\r\n\r\nDieser FrOSCon Workshop bietet eine Einf\u00fchrung in die Hardware-Programmierung mit VHDL und die eDiViDe Remote Labs. Anhand von Beispielen zeigen wir, wie \u00fcber die Webschnittstelle von eDiViDe eigener VHDL Source Code hochgeladen, kompiliert und letztendlich zur Ausf\u00fchrung auf einem Remote Lab gebracht werden kann. F\u00fcr Interessierte bieten wir zus\u00e4tzlich dazu eine Besichtigung unserer  eDiViDe Labs an der Hochschule Bonn-Rhein-Sieg im Anschluss an den Workshop an.","description":"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.\r\n\r\nThere are 4 setups developed by and hosted at the Bonn-Rhein-Sieg University:\r\n\r\n1. Games on LED Matrix\r\n2. Basic Crypto Lab\r\n3. Advanced Crypto Lab\r\n4. Robotics Lab\r\n\r\nThe 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.\r\n\r\nHeutzutage bilden Field Programmable Gate Arrays (FPGA) den Standardweg um schnell eigene Problem in Hardware zu l\u00f6sen. Man ben\u00f6tigt dazu drei Dinge, ein Entwicklungsboard mit programmierbaren FPGAs, eine Programmiersprache (z.B. VHDL oder Verilog) und eine Testumgebung um den eigenen Entwurf zu validieren.\r\n\r\nDie Hochschule Bonn Rhein Sieg (HBRS) bietet im Rahmen des Projekts eDiViDe Zugriff auf eine Plattform an, die alle drei Teile in Form von sogenannten Remote-Labs kostenlos und \u00fcber ein Webinterface bereit stellt.\r\n\r\nIm Workshop werden insbesondere die folgenden vier Remote Labs pr\u00e4sentiert (alle von HBRS):\r\n\r\n1.\tGames on LED Matrix\r\n2.\tBasic Crypto Lab\r\n3.\tAdvanced Crypto Lab\r\n4.\tRobotics Lab\r\n\r\nDie Nutzer der Remote Labs programmieren die vorgehaltenen Entwicklungsboards \u00fcber ein Webinterface neu (via VHDL).  F\u00fcr die Programmierung der Labs stehen Templates zur Verf\u00fcgung, die nach dem Hochladen auf den Server kompiliert werden.  Auf dem Server kann dann der Nutzer auch online testen (u.a. mittels Videostreaming), ob seine L\u00f6sung funktioniert. Ein Nutzer braucht damit keine eigene VHDL-Entwicklungsumgebung oder eine entsprechende Testumgebung vor Ort zu haben.\r\n\r\nZu jedem Remote Lab gibt es Aufgaben mit verschiedenen Schwierigkeitsgraden. Die einfachen Aufgaben bieten Anf\u00e4ngern einen guten Einstieg in eine Hardware-Programmierung. Die fortgeschrittenen Aufgaben adressieren auch erfahrene Programmierer, die so die M\u00f6glichkeit haben, eigene Entwicklungen in einer realen Hardwareumgebung zu testen.\r\n\r\neDiViDe steht f\u00fcr das EU-Projekt \u201eEuropean Digital Virtual Design Lab\u201c (www.edivide.eu), eine gemeinsame Online-Plattform zu europaweit verteilten Remote Laboren f\u00fcr die FPGA Programmierung. Die Remote Labs werden aktuell in  an der Hochschule Limburg (Belgien), an der Universit\u00e4t Kosice (Slowenien), an der Universit\u00e4t Oslo (Norwegen) und an der Hochschule Bonn-Rhein-Sieg (Deutschland) betrieben.\r\n\r\nDer Workshop adressiert insbesondere auch Lehrende, die in ihren Lehrveranstaltungen zur VHDL-Programmierung die eDiViDe Aufgaben mit realer Hardware nutzen m\u00f6chten.\r\n","persons":[{"id":919,"full_public_name":"K. Lemke-Rust, P. Pl\u00f6ger, P. Samarin, J. Samotyja"}],"links":[{"url":"http://www.edivide.eu/","title":"eDiViDe"}]},{"id":1411,"guid":"OyvRXSTMuck8u8B7V6sESA","logo":"/system/logos/1411/medium/Shell_1955.png?1401055683","date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"03:00","room":"Workshop (C115)","slug":"froscon2014_-_1411_-_de_-_workshop_c115_-_201408231515_-_shell_workshop_-_harald_konig","title":"Shell Workshop","subtitle":"G\u00fcnstig tanken, Fotos retten, SSH-EInbrecher jagen uvam. mit der Shell","track":"System Administration","type":"workshop","language":"de","abstract":"Im Workshop soll an einigen Beispielen gezeigt werden, wie man ganz langsam Schritt f\u00fcr Schritt interaktiv kleine Shell-Skripte entwickelt zum l\u00f6sen von wiederholt auftretenden Problemstellungen.","description":"Mit der Unix-Shell kann man mit etwas \u00dcbung recht einfach und schnell immer wiederkehrende Probleme automatisieren und l\u00f6sen, wenn man einmal erkannt hat, wie man auf der Kommandozeile ganz langsam eine Aufgabe in kleinen Schritten angeht und entwickelt.\r\n\r\nAls Beispiele k\u00f6nnen z.B. dienen -- jeweils alles in einer Zeile: \r\n\r\n- ssh-Einbruchsversuche in syslog-Eintr\u00e4gen auswerten, ein bissl Statistik treiben und sich beim verantwortlichen Domain-Admin beschweren\r\n- Sprit-Preise \u00fcberwachen und aus dem zeitlichen Verlauf lernen, wann und wo man g\u00fcnstig tanken kann\r\n- gel\u00f6schte RAW-Bilder auf einer CFCARD wieder herstellen\r\n","persons":[{"id":630,"full_public_name":"Harald K\u00f6nig"}],"links":[]}],"Workshop / Javascript (C117)":[{"id":1333,"guid":"ap8JsnRaBv9qLYAl99cqXg","logo":null,"date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"01:00","room":"Workshop / Javascript (C117)","slug":"froscon2014_-_1333_-_de_-_workshop_javascript_c117_-_201408231000_-_moderne_web-anwendungen_mit_angularjs_-_philipp_tarasiewicz_-_robin_bohm","title":"Moderne Web-Anwendungen mit AngularJS","subtitle":"","track":"Javascript","type":"lecture","language":"de","abstract":"AngularJS ist ein JavaScript-Framework, das Sie dabei unterst\u00fctzt, moderne clientseitige Web-Anwendungen zu erstellen. Erstmalig finden bew\u00e4hrte Konzepte wie Dependency Injection und testgetriebene Entwicklung nun auch Einzug in die JavaScript-Welt und machen diese attraktiv f\u00fcr den Enterprise-Einsatz. Finden Sie es heraus!","description":"AngularJS ist ein JavaScript-Framework, das Sie dabei unterst\u00fctzt, moderne clientseitige Web-Anwendungen zu erstellen. Erstmalig finden bew\u00e4hrte Konzepte wie Dependency Injection und testgetriebene Entwicklung nun auch Einzug in die JavaScript-Welt und machen diese attraktiv f\u00fcr den Enterprise-Einsatz. AngularJS bietet hier eine sehr nachvollziehbare Implementierung und achtet im hohen Ma\u00dfe auf das Bilden und Einhalten von Schnittstellen. Dieser Talk f\u00fchrt Sie in das AngularJS-Framework ein und fokussiert insbesondere die M\u00f6glichkeiten zum Test-Driven-Development (TDD). Saubere Anwendungsentwicklung mit JavaScript ist eben doch m\u00f6glich. Finden Sie es heraus!","persons":[{"id":916,"full_public_name":"Philipp Tarasiewicz"},{"id":980,"full_public_name":"Robin B\u00f6hm"}],"links":[{"url":"https://docs.google.com/presentation/d/1zkbdxG8lQftId1mbslBB-VtUck1yUdPCwh9FagsBkF0/pub?start=false&loop=false&delayms=3000&utm_content=bufferc7085&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer#slide=id.g17765bc97_437","title":"Slides"}]},{"id":1455,"guid":"8PKDfJS1SYVjlUUiYjxhKg","logo":null,"date":"2014-08-23T11:15:00+02:00","start":"11:15","duration":"00:45","room":"Workshop / Javascript (C117)","slug":"froscon2014_-_1455_-_de_-_workshop_javascript_c117_-_201408231115_-_performance-best-practices_versus_http_2","title":"Performance-Best-Practices versus HTTP/2","subtitle":"","track":"Javascript","type":"lecture","language":"de","abstract":"","description":"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\u00fcr 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\u00fcndeln. Dar\u00fcber hinaus setzen wir auf Konzepte wie Domain-Sharding und cookieless-Domains.\r\n\r\nDie gute Nachricht ist: HTTP/2 steht endlich vor der T\u00fcr und r\u00e4umt mit den Nachteilen seines Vorg\u00e4ngers auf. Es wird au\u00dferdem von den meisten modernen Browsern bereits unterst\u00fctzt. Allerdings reicht es nicht aus, einfach nur einen Schalter umzulegen. Wir m\u00fcssen massiv umdenken und etablierte Prozesse und Konzepte \u00fcber Bord werfen, wenn wir das Beste aus HTTP/2 herausholen wollen.","persons":[],"links":[{"url":"http://schepp.github.io/HTTP-2","title":"Slides"}]},{"id":1429,"guid":"3SrQqrcSDIM6Ck7FFA-1JA","logo":"/system/logos/1429/medium/asciidisco.png?1403955905","date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"00:45","room":"Workshop / Javascript (C117)","slug":"froscon2014_-_1429_-_en_-_workshop_javascript_c117_-_201408231400_-_all_your_browsers_are_belong_to_us_-_sebastian_golasch","title":"All your browsers are belong to us...","subtitle":"...or how to use WebDriver to remote control browsers without using a service, 3rd party libs or Node.js","track":"Javascript","type":"lecture","language":"en","abstract":"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.","description":"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.\r\nAnd of course, we will all do this only using client side JavaScript, no Node.js magic involved. ","persons":[{"id":611,"full_public_name":"Sebastian Golasch"}],"links":[{"url":"http://docs.webplatform.org/wiki/tutorials/WebDriver","title":"Basic Webdriver Tutorial"},{"url":"https://github.com/asciidisco/froscon2014","title":"Slides / Code examples"}]},{"id":1337,"guid":"ASiItw5_T0e3hQFG2MH0Ow","logo":null,"date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"01:00","room":"Workshop / Javascript (C117)","slug":"froscon2014_-_1337_-_en_-_workshop_javascript_c117_-_201408231515_-_coding_the_dream_-_team_hoodie","title":"Coding the dream","subtitle":"Getting started with Hoodie, Offline First and noBackend","track":"Javascript","type":"lecture","language":"en","abstract":"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 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.","description":"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.\r\n\r\nWe'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.","persons":[{"id":893,"full_public_name":"Team Hoodie"}],"links":[{"url":"http://hood.ie","title":"Hoodie"},{"url":"http://twitter.com/hoodiehq","title":"Hoodie on Twitter"}]},{"id":1462,"guid":"bR7fyLMUc9hxDW_B9bUtvA","logo":null,"date":"2014-08-23T16:30:00+02:00","start":"16:30","duration":"01:00","room":"Workshop / Javascript (C117)","slug":"froscon2014_-_1462_-_en_-_workshop_javascript_c117_-_201408231630_-_property-based_testing_-_christoph_neuroth","title":"Property-based Testing","subtitle":"Another nail in TDD\u00b4s coffin?","track":"Javascript","type":"lecture","language":"en","abstract":"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 to testing.","description":"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.","persons":[{"id":489,"full_public_name":"Christoph Neuroth"}],"links":[]},{"id":1463,"guid":"vuOIauqkkbmEkmXrbCe2eA","logo":null,"date":"2014-08-23T17:45:00+02:00","start":"17:45","duration":"00:30","room":"Workshop / Javascript (C117)","slug":"froscon2014_-_1463_-_de_-_workshop_javascript_c117_-_201408231745_-_webgl_3d_welten_im_browser_-_kai_niklas","title":"WebGL \u2013 3D Welten im Browser","subtitle":"Eine Einf\u00fchrung in die 3D Technik im Browser","track":"Javascript","type":"lecture","language":"de","abstract":"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.","description":"Eine kurze Einf\u00fchrung in die Grundlagen von 3D Welten wird gefolgt von der Erkl\u00e4rung der \u201cProgrammable Pipeline\u201d\r\nund der \u201cShader-Entwicklung\u201d. 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\u00fcr 3D Anwendungen im Browser ungleich k\u00fcrzer. 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.\r\n\r\nNur selten werden Web-Entwickler f\u00fcr Ihre Arbeit mit so beeindruckenden Visuellen Effekten belohn wie beim Einsatz von WebGL.","persons":[{"id":1005,"full_public_name":"Kai Niklas"}],"links":[]},{"id":1472,"guid":"80pIzMWnFxS2ZUrvOfH2lg","logo":null,"date":"2014-08-23T18:15:00+02:00","start":"18:15","duration":"00:30","room":"Workshop / Javascript (C117)","slug":"froscon2014_-_1472_-_en_-_workshop_javascript_c117_-_201408231815_-_create_a_3d_webgl_scene_in_half_an_hour_-_jens_arps","title":"Create a 3D WebGL scene in half an hour!","subtitle":"","track":"Javascript","type":"lecture","language":"en","abstract":"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 \u2013 Bazinga!\r\n\r\nAnd in between, we'll see a couple of useful tools and frameworks, there'll be some info on building a well performing render loop, a look at various useful HTML5 APIs and just a tiny minimal amount of Math. But \u2013 it will always be fun, promised!","description":"","persons":[{"id":1011,"full_public_name":"Jens Arps"}],"links":[]}],"RedFrogConf (C118)":[{"id":1450,"guid":"h46dm4aL6ta7wl_vGRRQYw","logo":null,"date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"00:40","room":"RedFrogConf (C118)","slug":"froscon2014_-_1450_-_en_-_redfrogconf_c118_-_201408231000_-_not_being_an_asshole_is_not_enough_-_ellen_konig","title":"Not being an asshole is not enough","subtitle":"","track":"RedFrogConf (Ruby)","type":"lecture","language":"en","abstract":"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 professional developers or contributors to the tech community. And the bad news: Statistics show that women are leaving the tech sector at higher rates than they are entering it (and also at much higher rates than men). Again, there is good news: Nowadays, a good part the tech community seems to be very aware its lack of diversity and eager to change it. But what exactly can  we do to debug the situation?\r\n\r\nThere are widely-published, extremely frustrating cases of overt discrimination and harassment in the tech community, yet fortunately this is not something every woman in tech experiences. While this is good news as well, it is also bad news because it means that the now common advice of \u201eDon\u2019t be an asshole\u201c is not enough to solve the problem. Instead, research in the fields of psychology and linguistics suggests that there are some general \"bugs\" in the ways we think, perceive and interact that explain why women feel uncomfortable entering and staying in technical roles. Now that we found a bug hiding somewhere deep in our minds, what can we do about it? In my talk, I will propose some \u201eworkarounds\u201c to deal with this \"bug\", falling into three categories: What any member of the tech community can do, what women in particular can do and what community leaders can do.","description":"","persons":[{"id":996,"full_public_name":"Ellen K\u00f6nig"}],"links":[{"url":"http://computational-social-science.blogspot.de","title":"Homepage"}]},{"id":1417,"guid":"UsQ8u9syGIh9c4DmItgC0Q","logo":null,"date":"2014-08-23T10:45:00+02:00","start":"10:45","duration":"00:40","room":"RedFrogConf (C118)","slug":"froscon2014_-_1417_-_en_-_redfrogconf_c118_-_201408231045_-_ruby_mvc_from_scratch_with_rack_-_donschado","title":"Ruby MVC from scratch with Rack","subtitle":"","track":"RedFrogConf (Ruby)","type":"podium","language":"en","abstract":"Imagine for a while that Rails wouldn't exist. How would we write a MVC app from scratch?","description":"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.\r\nDuring 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. \r\n\r\n\r\n","persons":[{"id":957,"full_public_name":"DonSchado"}],"links":[]},{"id":1430,"guid":"cpot2xDwyg695ihR3TsUfw","logo":"/system/logos/1430/medium/eduard_litau.png?1404134567","date":"2014-08-23T11:30:00+02:00","start":"11:30","duration":"00:40","room":"RedFrogConf (C118)","slug":"froscon2014_-_1430_-_de_-_redfrogconf_c118_-_201408231130_-_testbarkeit_in_ruby_-_ede","title":"Testbarkeit in Ruby","subtitle":"","track":"RedFrogConf (Ruby)","type":"lecture","language":"de","abstract":"Tests steigern die Qualit\u00e4t und das Vertrauen in die Software. Wie muss nun Code gestaltet werden, so dass die Tests dazu einfacher geschrieben werden k\u00f6nnen? Was sind die typischen Schwachstellen von Ruby Programmen? Und wie schreibt man Code, der es leicht macht, diese Schwachstellen durch Tests offen zu legen? In diesem Vortrag gehe ich anhand von Beispielen auf die Attribute von schwer testbarem und fehleranf\u00e4lligem Ruby Code ein und stelle Patterns und Refactorings vor, um die Tests zu vereinfachen.","description":"","persons":[{"id":983,"full_public_name":"Ede"}],"links":[]},{"id":1446,"guid":"oVgW3mLe2P2Kzu91gV2a_A","logo":null,"date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"04:00","room":"RedFrogConf (C118)","slug":"froscon2014_-_1446_-_de_-_redfrogconf_c118_-_201408231400_-_ruby_workshop_-_dirk_breuer_-_lucas_dohmen_-_bodo_tasche_-_tobias_eilert","title":"Ruby Workshop","subtitle":"","track":"RedFrogConf (Ruby)","type":"lecture","language":"de","abstract":"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. ","description":"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. ","persons":[{"id":854,"full_public_name":"Dirk Breuer"},{"id":891,"full_public_name":"Lucas Dohmen"},{"id":853,"full_public_name":"Bodo Tasche"},{"id":995,"full_public_name":"Tobias Eilert"}],"links":[]}],"Java / Django (C116)":[{"id":1451,"guid":"Ku1Qasf3nqlotyUQT8c_PQ","logo":"/system/logos/1451/medium/JavaFX.png?1406286936","date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"01:00","room":"Java / Django (C116)","slug":"froscon2014_-_1451_-_de_-_java_django_c116_-_201408231000_-_neue_features_in_javafx_8_-_ralf_bommersbach","title":"Neue Features in JavaFX 8","subtitle":"Der gro\u00dfe Sprung von V2.2 auf V8: Was hat sich ge\u00e4ndert?","track":"Java","type":"lecture","language":"de","abstract":"Dieser Vortrag gibt einen \u00dcberblick \u00fcber die wesentlichen Neuerungen der im M\u00e4rz dieses Jahres ver\u00f6ffentlichten Version 8 von JavaFX.","description":"Im M\u00e4rz dieses Jahres machte JavaFX - zumindest in der Versionsnummer - einen gro\u00dfen Sprung: Von Version 2.2 auf Version 8.\r\n\r\nDoch was sind eigentlich die wesentlichen Neuerungen?\r\n\r\nUnd was bedeuten diese f\u00fcr das Framework, das nun erstmalig fester Bestandteil des JRE/JDK f\u00fcr Java 8 ist?\r\n\r\nUnd wie ist das RIA-Framework mit den neuen Features gegen die (scheinbar) \u00fcberm\u00e4chtige Konkurrenz aus Flash, Silverlight und HTML5 aufgestellt?\r\n\r\nDiese Fragen und mehr hoffe ich mit meinen Vortrag zu beantworten -- oder alternativ doch zumindest zum Nachdenken und zur Diskussion anzuregen!","persons":[{"id":852,"full_public_name":"Ralf Bommersbach"}],"links":[]},{"id":1461,"guid":"nXZu714FqFbLx9seXDyAkA","logo":null,"date":"2014-08-23T11:15:00+02:00","start":"11:15","duration":"01:00","room":"Java / Django (C116)","slug":"froscon2014_-_1461_-_de_-_java_django_c116_-_201408231115_-_humanitarian_open_source_software_-_wolf_schlegel","title":"Humanitarian Open Source Software","subtitle":"Software f\u00fcr eine bessere Welt","track":"Java","type":"lecture","language":"de","abstract":"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\u00e4nde von Menschen zu verbessern.","description":"OpenMRs ist eine Software zur Patientendatenerfassung, das Kliniken und Programmen zur Gesundheitsvorsorge beim effizienten und effektiven Informationsmanagement unterst\u00fctzt. MifosX ist eine Plattform, auf deren Grundlage Mikrofinanzdienstleistungen bereit gestellt werden k\u00f6nnen. RapidFTR wird von UNICEF in Krisengebieten zur Familienzusammenf\u00fchrung verwendet wird.  \r\n\r\nDie Session verfolgt zwei Ziele: Teilnehmer lernen Humanitarian Open Source Projekte kennen und interessieren sich daf\u00fcr, sich an der Weiterentwicklung dieser oder \u00e4hnlicher Software aktiv zu beteiligen. Dazu werden die Projekte sowohl inhaltlich als auch im Hinblick auf den jeweiligen Technologiestack betrachtet. Abschlie\u00dfend gibt es Tips und Tricks, wie man erfolgreich in die Mitarbeit an einem der Projekte einsteigen kann.","persons":[{"id":847,"full_public_name":"Wolf Schlegel"}],"links":[]},{"id":1434,"guid":"2GleNl5vwbr6dysfN1HIWg","logo":"/system/logos/1434/medium/pjmm-logo.png?1406581082","date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"01:00","room":"Java / Django (C116)","slug":"froscon2014_-_1434_-_de_-_java_django_c116_-_201408231400_-_practical_java_memory_management_-_christian_esken","title":"Practical Java Memory Management","subtitle":"Java Heap leicht gemacht - wie man 10 Millionen Objekte einspart","track":"Java","type":"lecture","language":"de","abstract":"Die automatische Garbage Collection moderner Sprachen wie Java ist eine gro\u00dfe Hilfe - solange alles gut verl\u00e4uft. Viele Entwickler kennen aber auch die m\u00f6glichen Probleme: Die Applikation st\u00fcrzt ab, ist mehrere Sekunden nicht ansprechbar oder f\u00fchrt nach einiger Zeit permanent Garbage Collections durch. Der Schuldige ist schnell ausgemacht - der Garbage Collector. Aber d\u00fcrfen wir als Programmierer und Architekten wirklich den M\u00fcllmann f\u00fcr den M\u00fcll verantwortlich machen?\r\n\r\nDieser Vortrag fokussiert auf praktischen Tipps. Was sind die verschiedenen Typen von Applikationen und Speicher-Klassen? Wann und wie lohnt es sich auf den Speicherverbrauch zu achten? Welche OpenSource-Tools und Bordmittel k\u00f6nnen dabei helfen? Wann sind \"Major collections\" nicht mehr normal? Wie entstehen und wie erkennt und behebt man Speicherlecks? Auch Infrastruktur-Ma\u00dfnahmen wie monit k\u00f6nnen bei der Aufrechterhaltung der Service-Qualit\u00e4t helfen.\r\n\r\nAm Ende steht die Frage: Kann eine echte Applikation Terabyte von Daten bearbeiten, ohne je eine Major Collection durchzuf\u00fchren?","description":"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.\r\n\r\nDer Vortrag ist sehr praktisch ausgerichtet. Der Zuh\u00f6rer soll in die Lage versetzt werden, den eigenen Speicherverbrauch einzusch\u00e4tzen. 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.\r\n\r\nWeitere 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\u00fcgbar (https://github.com/trivago/jcha).\r\n\r\nEs geht auch um die Beantwortung der Frage, wie man einen Service verf\u00fcgbar h\u00e4lt, wenn Applikations-Pausen durch Major Collections tats\u00e4chlich unvermeidbar sind.\r\nF\u00fcr eine gesamtheitliche L\u00f6sung wird auch das Umfeld um die  JVM beleuchtet. Zum Beispiel wie man Tomcat-Connector einstellen kann (fail fast), oder wie Monitoring-Tools wie Monit helfen k\u00f6nnen.\r\n","persons":[{"id":988,"full_public_name":"Christian Esken"}],"links":[{"url":"https://github.com/trivago/jcha","title":"jcha - Java Class Histogram Analyzer"},{"url":"https://github.com/christian-esken/talk-2014-JavaMemory","title":"Source code examples for this talk"}]},{"id":1454,"guid":"K29VOApciajneJ0DBEflhA","logo":null,"date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"01:00","room":"Java / Django (C116)","slug":"froscon2014_-_1454_-_de_-_java_django_c116_-_201408231515_-_party_finder_osmdroid_-_mag_hoehme","title":"Party Finder (osmdroid)","subtitle":"Android application development","track":"Java","type":"lecture","language":"de","abstract":"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.","description":"Zun\u00e4chst wird der wesentliche Aufbau einer Android-Anwendung erl\u00e4utert. 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\u00f6nnen, und (3) wie mit Hilfe von Overlays interaktive Karten gestaltet werden k\u00f6nnen.\r\n\r\nJava-Kenntnisse werden vorausgesetzt; Android-Kenntnisse sind nicht erforderlich.","persons":[{"id":838,"full_public_name":"Mag Hoehme"}],"links":[{"url":"http://www.mhoehme.de/android/froscon2014/","title":"Pary-Finder-Seite"}]},{"id":1453,"guid":"6HlQLKxK2HrDmOIgBdGzkQ","logo":"/system/logos/1453/medium/teach-android.png?1408361906","date":"2014-08-23T16:30:00+02:00","start":"16:30","duration":"01:00","room":"Java / Django (C116)","slug":"froscon2014_-_1453_-_de_-_java_django_c116_-_201408231630_-_unser_xmpp_messenger_in_android_-_max_johenneken_-_patrick_loka","title":"Unser XMPP Messenger in Android","subtitle":"Konzepte und Probleme aus der Androidwelt gezeigt am Beispiel einer Messaging App","track":"Java","type":"workshop","language":"de","abstract":"Du willst Apps f\u00fcr 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\u00fcr? Du willst lernen wie man mit Android spielend Hintergrundprozesse startet, Notifications gestaltet oder Datenbanken einbindet? Dann komm zu unserem Workshop!","description":" Als Werksstudenten der anderScore GmbH besch\u00e4ftigen 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\u00e4ngt, wie man mit Problemen und Fallstricken in Android umgehen kann und wie man vorhandene Androidkonzepte f\u00fcr 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\u00fcrs eigene Smartphone sein kann.\r\n\r\nAls Basis f\u00fcr die Teilnahme empfehlen wir grundlegende Kenntnisse in Java. F\u00fcr Teilnehmer, die noch einen allgemeinen Einstieg in die Basics von Android brauchen empfehlen wir vorab den Vortrag \u201eParty Finder (osmdroid)\u201c von Mag Hoeme","persons":[{"id":1000,"full_public_name":"Max Johenneken"},{"id":1003,"full_public_name":"Patrick Loka"}],"links":[{"url":"http://developer.android.com/sdk/index.html","title":"Android SDK"},{"url":"https://github.com/mjohenneken/SimpleAndroidChat","title":"Beispiel Projekt"}]},{"id":1452,"guid":"pF2XeWdH9MB05aIAc52W3Q","logo":"/system/logos/1452/medium/akkalogo_dropshadow.png?1406573174","date":"2014-08-23T17:45:00+02:00","start":"17:45","duration":"01:00","room":"Java / Django (C116)","slug":"froscon2014_-_1452_-_de_-_java_django_c116_-_201408231745_-_reaktive_programmierung_mit_akka_-_andre_arnold","title":"Reaktive Programmierung mit Akka","subtitle":"","track":"Java","type":"workshop","language":"de","abstract":"Korrekte, hochgradig nebenl\u00e4ufige 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\u00fchrung in die grundlegenden Konzepte wird in einer Livecoding-Session gezeigt, wie man hochskalierbare Anwendungen mit dem Actorframework Akka baut.","description":"","persons":[{"id":701,"full_public_name":"Andr\u00e9 Arnold"}],"links":[{"url":"http://akka.io/","title":"Akka"}]}],"CMS Garden (C119)":[],"Python (C120)":[],"Wordpress/quasiconf 2014(Lisp) (C130)":[],"Archlinux (C125)":[{"id":1484,"guid":"A3sxr28W9Rl8ufo-FfcdyA","logo":"/system/logos/1484/medium/archlinux-logo-256x256.png?1408603766","date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"01:00","room":"Archlinux (C125)","slug":"froscon2014_-_1484_-_en_-_archlinux_c125_-_201408231000_-_the_community_of_arch_linux_-_thorsten_topper","title":"The community of Arch Linux","subtitle":"And its environment","track":"Archlinux Devroom","type":"lecture","language":"en","abstract":"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.","description":"","persons":[{"id":1019,"full_public_name":"Thorsten T\u00f6pper"}],"links":[]},{"id":1486,"guid":"S_AgYPhPiWAPHSMiOx2gwQ","logo":"/system/logos/1486/medium/archlinux-logo-256x256.png?1408603614","date":"2014-08-23T11:15:00+02:00","start":"11:15","duration":"01:00","room":"Archlinux (C125)","slug":"froscon2014_-_1486_-_de_-_archlinux_c125_-_201408231115_-_paket-verwaltung_und_-erstellung_unter_arch_linux_-_pierre_schmitz","title":"Paket-Verwaltung und -Erstellung unter Arch Linux","subtitle":"","track":"Archlinux Devroom","type":"lecture","language":"de","abstract":"Wir werden den Aufbau von Arch Linux-Paketen und Repositories kennenlernen. Es werden die verschiedenen Tools der Arch-Entwickler vorgestellt und erkl\u00e4rt. Abschlie\u00dfend wird eine Fehlerkorrektur vom Bug-Report bis hin zum fertigen Paket demonstriert.","description":"","persons":[{"id":370,"full_public_name":"Pierre Schmitz"}],"links":[{"url":"https://wiki.archlinux.org/index.php/Abs","title":"Arch Build System"},{"url":"https://projects.archlinux.org/dbscripts.git/","title":"dbscripts"},{"url":"https://wiki.archlinux.org/index.php/DeveloperWiki:HOWTO_Be_A_Packager","title":"HOWTO Be A Packager"}]},{"id":1483,"guid":"4-MovTSF_CaDIeudDNs4eg","logo":"/system/logos/1483/medium/archlinux-logo-256x256.png?1408603791","date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"01:00","room":"Archlinux (C125)","slug":"froscon2014_-_1483_-_de_-_archlinux_c125_-_201408231400_-_arch_linux_q_a_-_thomas_bachler","title":"Arch Linux Q&A","subtitle":"Fragestunde mit Arch Linux Entwicklern","track":"Archlinux Devroom","type":"podium","language":"de","abstract":"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.","description":"","persons":[{"id":1018,"full_public_name":"Thomas B\u00e4chler"}],"links":[]},{"id":1485,"guid":"SY1aweW3XdYu7XdeBJJZuw","logo":"/system/logos/1485/medium/archlinux-logo-256x256.png?1408603744","date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"03:30","room":"Archlinux (C125)","slug":"froscon2014_-_1485_-_en_-_archlinux_c125_-_201408231515_-_arch_linux_installation_and_troubleshooting_workshop_-_thomas_bachler","title":"Arch Linux Installation and Troubleshooting Workshop","subtitle":"","track":"Archlinux Devroom","type":"workshop","language":"en","abstract":"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).","description":"","persons":[{"id":1018,"full_public_name":"Thomas B\u00e4chler"}],"links":[]}],"B118":[{"id":1480,"guid":"yk_Rj8OARfT1g8S7yyessA","logo":"/system/logos/1480/medium/lightningtalk.jpeg?1408365984","date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"01:00","room":"B118","slug":"froscon2014_-_1480_-_en_-_b118_-_201408231400_-_lightning_talks_-_christian_theune","title":"Lightning Talks","subtitle":"","track":"Lightning Talk","type":"lightning_talk","language":"en","abstract":"Lightning talks are 4-5 minute talks by you about your awesome project, weird issues, systems, concepts or some made-up technique.","description":"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.\r\n\r\nTo 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.","persons":[{"id":365,"full_public_name":"Christian Theune"}],"links":[]}]}},{"index":1,"date":"2014-08-24","day_start":"2014-08-24T10:00:00+02:00","day_end":"2014-08-24T20:00:00+02:00","rooms":{"HS1":[{"id":1309,"guid":"N9pbMsOGO2aS3EBMvCtUXA","logo":null,"date":"2014-08-24T10:00:00+02:00","start":"10:00","duration":"01:00","room":"HS1","slug":"froscon2014_-_1309_-_en_-_hs1_-_201408241000_-_your_search_doesn_t_work_-_isabel_drost-fromm","title":"Your search doesn\u2019t work","subtitle":"How to find out whether or not the search box you offer users is helpful at all","track":"Web Development","type":"lecture","language":"en","abstract":"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.\r\n","description":"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.\r\n\r\nWhen 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\u2019t help.\r\n\r\nThis 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.","persons":[{"id":894,"full_public_name":"Isabel Drost-Fromm"}],"links":[]},{"id":1307,"guid":"M8bhy7A_wm6XdoYJruv8Og","logo":null,"date":"2014-08-24T11:15:00+02:00","start":"11:15","duration":"01:00","room":"HS1","slug":"froscon2014_-_1307_-_de_-_hs1_-_201408241115_-_systemverwaltung_mit_spacewalk_-_christian_stankowic","title":"Systemverwaltung mit Spacewalk","subtitle":"Praxis-Tipps zur Verwaltung von Linux und Solaris","track":"Systems Management","type":"lecture","language":"de","abstract":"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\u00e4gliche Administration erleichtern.","description":"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.\r\nNeben der Verteilung von Software-Paketen k\u00f6nnen auch standardisierte Sicherheits-Checks nach OpenSCAP durchgef\u00fchrt und Konfigurationen verteilt werden.\r\nNeben einigen Grundlagen der Software-Suiten behandelt dieser Vortrag einige Standard-Situationen mit denen ein Adminstrator t\u00e4glich konfrontiert wird - und wie sie sich am einfachsten l\u00f6sen lassen.","persons":[{"id":890,"full_public_name":"Christian Stankowic"}],"links":[]},{"id":1360,"guid":"QuWBvDeBmKyNVg5KAexs4g","logo":null,"date":"2014-08-24T14:00:00+02:00","start":"14:00","duration":"01:00","room":"HS1","slug":"froscon2014_-_1360_-_de_-_hs1_-_201408241400_-_open_source_backup_-_daniel","title":"Open Source Backup","subtitle":"Mit Sicherheit Gesichert mit Bareos ","track":"System Administration","type":"lecture","language":"de","abstract":"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\u00fchrt.","description":"Der Vortrag stellt die Open Source Backup Software Bareos vor. Bareos ist ein alternative f\u00fcr Administratoren, Backups auf Enterprise Niveau und Netzweit durchzuf\u00fchren. Die Software stellt somit eine netzwerkbasierende Backupl\u00f6sung f\u00fcr heterogene Netzwerke dar.\r\n\r\nBareos entstand 2013 also Fork von Bacula und wurde seit dem Fork mit zahlreichen Features erweitert.\r\n\r\nBareos kann mit verschiedenen Medien, Diskspeicher und Tape umgehen. Ebenfalls beheerscht es Daten und Transportverschl\u00fcsselung.\r\n\r\nIm Vortrag werde ich auf Funktionsweise eingehen und ein paar Szenarien beschreiben. In einer kurzen Hands On Session, stelle ich installation und Handling vor.","persons":[{"id":932,"full_public_name":"Daniel"}],"links":[]},{"id":1394,"guid":"kJSIlK3OHkgc3hwXbIiGFQ","logo":null,"date":"2014-08-24T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS1","slug":"froscon2014_-_1394_-_de_-_hs1_-_201408241515_-_ist_dies_schon_wahnsinn_so_hat_es_doch_methode_-_michael_kleinhenz","title":"\"Ist dies schon Wahnsinn, so hat es doch Methode\"","subtitle":"Ein Entwickler verloren in der JavaScript-Welt - oder: wie man Web Development betreibt, ohne den Verstand zu verlieren.","track":"Development","type":"lecture","language":"de","abstract":"Die wundersame Geschichte eines Java-Entwicklers, der in ein JavaScript-Projekt stolpert und dort Wunder und Abgr\u00fcnde findet. ","description":"Aus den verlorenen Weiten zwischen Prototypen und Scopes k\u00fcndet ein Wanderer von der hellen aber auch der dunklen Seite der meistgenutzten Skriptsprache der Welt. Von einem Berg von ungenutzten Objektreferenzen aus erz\u00e4hlt 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\u00f6rt gut zu, denn er gibt verschn\u00f6rkelte Hinweise, wie sich JavaScript und geistige Gesundheit in Einklang bringen lassen und welche kolossalen Handwerkszeuge dazu n\u00f6tig sind.\r\n","persons":[{"id":526,"full_public_name":"Michael Kleinhenz"}],"links":[]},{"id":1301,"guid":"suenICj4bYVw7C1TMuPzqg","logo":"/system/logos/1301/medium/icinga_logo4.png?1398790857","date":"2014-08-24T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS1","slug":"froscon2014_-_1301_-_de_-_hs1_-_201408241630_-_icinga_1_icinga_2_-_markus_frosch","title":"Icinga 1, Icinga 2","subtitle":"Aktuelles aus dem Icinga Projekt","track":"Monitoring","type":"lecture","language":"de","abstract":"Nach den vielen Ver\u00f6ffentlichungen Icinga 2 Technology Milestones, fragen sich viele Sysadmins: Was kann Icinga 2 genau und wie schaut es mit Icinga 1.x aus?","description":"Wir m\u00f6chten in diesem Vortrag zeigen, was wir tun und wie die Zukunft von Icinga aussieht, und noch aussehen kann.\r\n\r\nUnbegrenzt und leicht skalierbar, Icinga 2 zeichnet sich durch Clustering mit automatisierten Replikation und Loadbalancing aus. Wir sprechen \u00fcber die innovative Multi-Threaded Architektur, das Clustering von Icinga 2, und die Anbindung von Graphite.\r\n\r\nWir werden aber auch die Weiterentwicklung Icinga 1.x erl\u00e4utern, woran wir gerade arbeiten und was wir vorhaben.\r\n\r\nZum Schluss gibt es ein Demo unserer neusten Entwicklung: Ein neues, schnelles und einfaches Web Interface f\u00fcr jedermann - Icinga Web 2.\r\n\r\nTrotz all die Neuerungen, bleiben wir zwei Punkten treu - Fragen sind gerne gesehen, jeder darf bei Icinga mitmachen!","persons":[{"id":886,"full_public_name":"Markus Frosch"}],"links":[{"url":"http://www.icinga.org","title":"Icinga"}]},{"id":1387,"guid":"XmW_Dlk97XByw3rKkFU3RQ","logo":"/system/logos/1387/medium/heartbleed.png?1400859545","date":"2014-08-24T17:45:00+02:00","start":"17:45","duration":"01:00","room":"HS1","slug":"froscon2014_-_1387_-_en_-_hs1_-_201408241745_-_to_make_hearts_bleed_-_daniel_molkentin","title":"To Make Hearts Bleed","subtitle":"A Native Developer's Account On SSL","track":"Security","type":"lecture","language":"en","abstract":"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 undocumented APIs, and contradicting standards. It's the nightmare of FIPS requirements. It's a story without a happy ending, but with a call to action.","description":"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.\r\n\r\nMoreover, 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.\r\n\r\nSomewhere 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.\r\n\r\nThis 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 level, as efforts such as LibreSSL have shown. More effort is needed, and this talk outlines a possible solution.","persons":[{"id":230,"full_public_name":"Daniel Molkentin"}],"links":[]},{"id":1479,"guid":"8uaAft5ARg0Gzrdg5ZJvIQ","logo":null,"date":"2014-08-24T19:00:00+02:00","start":"19:00","duration":"00:30","room":"HS1","slug":"froscon2014_-_1479_-_en_-_hs1_-_201408241900_-_shutdown_-_towo_-_andreas_kupfer","title":"shutdown","subtitle":"Last call","track":null,"type":"lecture","language":"en","abstract":"Closing event of the conference.","description":"I big warm thank you to everyone who helped make the conference a success, along with a couple of interesting statistics and other tidbits.","persons":[{"id":605,"full_public_name":"towo"},{"id":343,"full_public_name":"Andreas Kupfer"}],"links":[]}],"HS3":[{"id":1302,"guid":"B9wjGMhfBstPGailcSYhxg","logo":null,"date":"2014-08-24T10:00:00+02:00","start":"10:00","duration":"01:00","room":"HS3","slug":"froscon2014_-_1302_-_de_-_hs3_-_201408241000_-_salt_stack_-zentrales_systemmanagement_der_neuen_generation_-_thorsten_kramm","title":"Salt Stack -Zentrales Systemmanagement der neuen Generation","subtitle":"IT Automatisierung und zentrales Management mit SALT","track":"Systems Management","type":"lecture","language":"de","abstract":"Zentrales Systemmanagement kann ganz einfach sein.","description":"Zentrales Systemmanagement kann ganz einfach sein. Salt macht dem Platzhirschen Puppet Konkurrenz. \r\n\r\nSalt bzw. Saltstack erm\u00f6glicht 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\u00fcffend einfach. Das Modul zur Remote-Execution l\u00e4uft sofort. Wie von anderen sogenannten Parallel-Shells bekannt, k\u00f6nnen nun Kommandos auf mehreren Hosts ausgef\u00fchrt werden. Doch Salt bietet bei der Remote-Execution mehr als eine Shell. Module f\u00fcr Standardaufgaben wie Updates, Paketverwaltung oder dem Editieren von Dateien machen dem Admin das Leben leichter.\r\n\r\nNach nur wenigen Minuten Einarbeitung k\u00f6nnen schon die ersten Regeln zur zentralisierten Verwaltung von Hosts geschrieben und ausgerollt werden. \r\n\r\nSalt erfordert keine lange Einarbeitung oder das W\u00e4lzen von dicken Handb\u00fcchern. Jeder kann einfach anfangen und nach Belieben tiefer vordringen. \r\n\r\nEs gibt kaum eine Aufgabe, die Salt nicht bew\u00e4ltigt:\r\nSysteme installieren, Dienste konfigurieren, Benutzer anlegen, Backup durchf\u00fchren, Content ausrollen, alles ist m\u00f6glich. \r\nSalt abstrahiert die Konfiguration vom Betriebssystem, so dass Regeln auf alle Distributionen und bei Bedarf auch auf Microsoft Windows angewendet werden k\u00f6nnen.","persons":[{"id":473,"full_public_name":"Thorsten Kramm"}],"links":[]},{"id":1372,"guid":"hTOYKRzG24RoGdejD5OptQ","logo":null,"date":"2014-08-24T11:15:00+02:00","start":"11:15","duration":"01:00","room":"HS3","slug":"froscon2014_-_1372_-_de_-_hs3_-_201408241115_-_our_puppet_story_-_martin_schutte","title":"Our Puppet Story","subtitle":"Patterns and Learnings","track":"Systems Management","type":"lecture","language":"de","abstract":"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.\r\nThis 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.","description":"In the past years it was our mission to manage development, testing and production environments for web projects with agile multi-team setups.\r\nSystems 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.\r\nA mission impossible without systematic configuration management and even with such a great tool like Puppet a continuous challenge.\r\n\r\nIn 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.\r\n\r\nThis 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.","persons":[{"id":939,"full_public_name":"Martin Sch\u00fctte"}],"links":[{"url":"http://www.slideshare.net/DECK36/our-puppet-story-linuxtag-2014","title":"Slidedeck from Linuxtag 2014"}]},{"id":1412,"guid":"-xXXcHmFR5YGSlakv124zg","logo":null,"date":"2014-08-24T14:00:00+02:00","start":"14:00","duration":"01:00","room":"HS3","slug":"froscon2014_-_1412_-_de_-_hs3_-_201408241400_-_vlizedlab_-_eine_open_source-virtualisierungslosung_fur_pc-raume_-_robert_matzinger","title":"VlizedLab - Eine Open Source-Virtualisierungsl\u00f6sung f\u00fcr PC-R\u00e4ume","subtitle":"","track":"Virtualisierung","type":"lecture","language":"de","abstract":"Mit dem Vlizedlab (www.vlizedlab.at) k\u00f6nnen PC-R\u00e4ume in Schulen mit minimalem Aufwand mit Virtualisierungstechnologie ausger\u00fcstet werden, sodass die Studierenden ausschlie\u00dflich in virtuellen PCs arbeiten, die in einem schlanken, aus Open Source-Komponenten bestehenden Basissystem laufen. Dadurch lassen sich viele \u00dcbungen von Office \u00fcber Multimedia bis zu Systemadministration auf v\u00f6llig neue Weise bei freier Wahl des Betriebssystems durchf\u00fchren.","description":"Die Vielfalt der Lehrveranstaltungen, die in einem PC-Raum abgehalten werden, stellen an die Software-Ausstattung der PCs enorme Anforderungen: Diversit\u00e4t von Software und Betriebssystemen, Rechtevergaben am Studierende, kontrollierte Netzwerkbereiche, maximale Ausfallzeiten, etc. Um diese Anforderungen mit einem leicht zu bedienenden System zu erf\u00fcllen, haben wir mit dem \"VlizedLab\" eine L\u00f6sung implementiert, in der die Studierenden ausschlie\u00dflich 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\u00f6rungsbehebungsmechanismen sichert einen st\u00f6rungsarmen Betrieb. Und die M\u00f6glichkeit, jeden einzelnen \u00dcbungs-PC auf den Saal-Projektor durchzuschalten ist auch bereits im Basis-System integriert und damit vom \u00dcbungs-PC unabh\u00e4ngig.\r\n\r\nMit dem \"VlizedLab\" k\u00f6nnen nicht nur viele \u00dcbungen, etwa im Bereich Office, Programmierung, Simulation, Multimedia, etc. st\u00f6rungsfreier und mit einem breiteren Spektrum an eingesetzter Software durchgef\u00fchrt werden, sondern es werden auch etliche \u00dcbungen etwa im Bereich Betriebssysteme, Systemadministration, Datenbanken, Serverbetrieb, Netzwerk, etc. mit dieser Infrastruktur \u00fcberhaupt erst m\u00f6glich. Auch komplexe \u00dcbung, die eine flexible Simulation von Hardware erfordern (Beispiele: Netzwerk Client-Server-Firewall, Installation oder Migration von Betriebssystemen, RAID Ausfall von Festplatten, ...) sind ohneweiteres m\u00f6glich.\r\n\r\nDamit eignet sich das  \"VlizedLab\" f\u00fcr die verschiedensten Bildungs-Bereiche vom Pflichtschulbereich bis zu IT-Schulungen und Fachhochschulen. Und weil die verschiedenen virtuellen \u00dcbungsrechner mit allen g\u00e4ngigen Betriebssystemen (Windows, verschiedene Linuxe, FreeBSD, etc.) laufen k\u00f6nnen, k\u00f6nnen Sch\u00fcler und Sch\u00fclerinnen von Anfang an mit einer heterogenen IT-Landschaft vertraut werden.\r\n\r\nNeuerdings wird in Zusammenarbeit mit den \u00d6sterreichischen Ministerium f\u00fcr Bildung und Frauen an der Integration mit zentralen (Terminal-)Services und einer Server-Version des Vlizedlab gearbeitet, um auch in PC-Raum-losen Bildungseinrichtungen, in denen Studierende im Sinne von \"Bring-Your-Own-Device\" auf einer Vielzahl verschiedener Ger\u00e4te arbeiten, unterrichten zu k\u00f6nnen.\r\n\r\nDamit wird eine flexible Schul-IT-L\u00f6sung zu geschaffen, die den Arbeitsaufwand f\u00fcr die lokale Administratoren bzw. Kustoden an den Schulen minimiert und eine flexible Koexistenz/Migration verschiedener IT-L\u00f6sungen erm\u00f6glicht.\r\n\r\nUnd weil das \"VlizedLab\" ausschlie\u00dflich aus Open Source Komponenten besteht, k\u00f6nnte es an jeder Bildungseinrichtung lizenzkostenfrei eingesetzt werden.\r\n\r\nDas Vlizedlab ist bereits seit einigen Jahren an einigen \u00f6sterreichischen Schulen und Fachhochschulen im praktischen Betrieb.\r\n\r\nWir berichten \u00fcber den Aufbau das \"VlizedLab\", \u00fcber praktische Erfahrungen und \u00fcber die neuesten Updates dieses Projekts.","persons":[{"id":529,"full_public_name":"Robert Matzinger"}],"links":[{"url":"http://www.vlizedlab.at/","title":"Vlizedlab"}]},{"id":1303,"guid":"U27juFyjTn1n-7zHaPL58g","logo":"/system/logos/1303/medium/ganeti-128.png?1398862750","date":"2014-08-24T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS3","slug":"froscon2014_-_1303_-_en_-_hs3_-_201408241515_-_ganeti_-_klaus_aehlig_-_helga_velroyen","title":"Ganeti","subtitle":"","track":"Virtualisierung","type":"lecture","language":"en","abstract":"Ganeti is a system for managing clusters of virtual machines. The talk\r\nwill introduce Ganeti, its usage, and its architecture. The main focus\r\nwill be on changes and new development in the last year.\r\n","description":"Ganeti is a management software for clusters of virtual machines based\r\non Xen, KVM or LXC. It is an open source project funded by Google\r\nwhich has been around 7 years now. It has grown to the size of about\r\n100,000 lines of Python and about 40,000 lines of Haskell code. Besides\r\nbeing used in Google\u2019s internal infrastructure, the project has a\r\nlively open source community. Among our biggest users and contributors\r\nare OSUOSL and GRNet.\r\n\r\nIn our talk, we will recall, in a self-contained way, the steps to set\r\nup and maintain a Ganeti cluster, to monitor it, and to deal with\r\nfailures. We will also recall the architecture and the interfaces to\r\nthe utilized open-source components. The main focus of the talk will\r\nbe on changes and new features of Ganeti, predominantly those that\r\nhappened in the last year.\r\n","persons":[{"id":766,"full_public_name":"Klaus Aehlig"},{"id":765,"full_public_name":"Helga Velroyen"}],"links":[]},{"id":1471,"guid":"RdFRTf4HCcVqg7o8UCEuqQ","logo":null,"date":"2014-08-24T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS3","slug":"froscon2014_-_1471_-_de_-_hs3_-_201408241630_-_it-unsicherheit_in_der_gebaudeautomation_-_daniel_arenz","title":"IT-Unsicherheit in der Geb\u00e4udeautomation","subtitle":"Eine Bestandsaufnahme","track":"Security","type":"lecture","language":"de","abstract":"Dieser Vortrag gibt einen \u00dcberblick \u00fcber die in der Geb\u00e4udeautomation eingesetzten Systeme bzw. Protokolle und deren Sicherheit.\r\nDes Weiteren werden OpenSource Projekte vorgestellt mit denen sich Systeme Steuern bzw. Angreifen lassen.","description":"Themen:\r\nBacNet/IP\r\nModbus/RTU, Modbus/IP\r\nCodesys NetVars\r\nEIB/KNX","persons":[{"id":1010,"full_public_name":"Daniel Arenz"}],"links":[]}],"HS4":[{"id":1306,"guid":"vGiE-5CGlagIkyZmi4OpYw","logo":null,"date":"2014-08-24T10:00:00+02:00","start":"10:00","duration":"01:00","room":"HS4","slug":"froscon2014_-_1306_-_en_-_hs4_-_201408241000_-_domain_driven_design_nosql_-_lucas_dohmen","title":"Domain Driven Design & NoSQL","subtitle":"Escaping the Tower of Babel","track":"Database","type":"lecture","language":"en","abstract":"Domain Driven Design focuses on finding a common language to improve communication \u2014 a still important topic regarding lots of failing projects. In this talk I want to show you how NoSQL\u2019s document stores and graph databases can help with DDD and compare that to modeling in relational databases.","description":"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.\r\n\r\nRelational 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.\r\n\r\nI want to look at the way a multi model database that combines a document store and a graph database can help you model your problems in a way that is understandable for all parties involved.","persons":[{"id":891,"full_public_name":"Lucas Dohmen"}],"links":[]},{"id":1410,"guid":"hCqGF53s9gGMwzx3PmERmw","logo":null,"date":"2014-08-24T11:15:00+02:00","start":"11:15","duration":"01:30","room":"HS4","slug":"froscon2014_-_1410_-_de_-_hs4_-_201408241115_-_bash-versteher_dank_strace_-_harald_konig","title":"Bash-Versteher dank Strace","subtitle":"","track":"System Administration","type":"lecture","language":"de","abstract":"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.\r\n","description":"Mit Hilfe von Strace sind Admins endlich in der Lage, zu beobachten und zu\r\nverstehen, wie Wildcards, Quoting, I/O-Redirection, Piping der Shell\r\nunter der Haube funktionieren. Der Vortrag zeigt anhand von\r\nBeispielen, wie aus Anwendern mittels Strace Bash-Versteher\r\nwerden. Das hilft sowohl dem Shell-Verst\u00e4ndnis beim Schreiben von Skripten\r\nsowiewie auch dem Testen und Debuggen von t\u00e4glichen Problemen mit\r\nShell-Skripten, denn Strace gibt weit mehr Informationen \u00fcber den\r\nAblauf eines Skriptes wie die \u00fcblichen Logging-Methoden wie \"set -x\" u.\u00e4.\r\n","persons":[{"id":630,"full_public_name":"Harald K\u00f6nig"}],"links":[{"url":"http://www.linuxtag.org/2013/de/program/mittwoch-22-mai-2013.html?eventid=107","title":"\u00e4hnlicher Vortrag beim LinuxTag 2013"}]},{"id":1328,"guid":"p9qH6cZLBLMHBl3rihff0w","logo":null,"date":"2014-08-24T14:00:00+02:00","start":"14:00","duration":"01:00","room":"HS4","slug":"froscon2014_-_1328_-_de_-_hs4_-_201408241400_-_programmierung_mit_latex_-_wolfgang_dautermann","title":"Programmierung mit LaTeX...","subtitle":"...und anderen Programmiersprachen","track":"Development","type":"lecture","language":"de","abstract":"Wie kann man in LaTeX programmieren. Und welche anderen Programmiersprachen sind da einsetzbar?\r\n\r\n","description":"Im Vortrag werden einige Methoden und Pakete vorgestellt, mit denen man im Textsatzsystem LaTeX programmieren kann.\r\n\r\nLaTeX-Grundkenntnisse sind erforderlich, das wird keine Einf\u00fchrung...\r\n","persons":[{"id":530,"full_public_name":"Wolfgang Dautermann"}],"links":[{"url":"http://www.latex-project.org/","title":"LaTeX \u2013 A document preparation system"},{"url":"http://wolfgang.dautermann.at/vortraege/Froscon-2014-LaTeX-Programmierung.pdf","title":"Vortragsfolien"},{"url":"http://wolfgang.dautermann.at/vortraege/Froscon-2014-LaTeX-Programmierung-Beispiele.tar.gz","title":"Verwendete Beispiele"}]},{"id":1404,"guid":"xK59Sj4UNCUefBJZvECUog","logo":null,"date":"2014-08-24T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS4","slug":"froscon2014_-_1404_-_en_-_hs4_-_201408241515_-_zero-cost_security_monitoring_-_ralf_c_staudemeyer","title":"Zero-cost security monitoring","subtitle":"(with Icinga)","track":"Monitoring","type":"lecture","language":"en","abstract":"","description":"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.\r\n\r\nIn 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.\r\n\r\nGiven 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?\r\n\r\nFollowing 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.","persons":[{"id":954,"full_public_name":"Ralf C. Staudemeyer"}],"links":[]},{"id":1344,"guid":"2hQwDwzZa8XpndyZAZyD1Q","logo":null,"date":"2014-08-24T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS4","slug":"froscon2014_-_1344_-_de_-_hs4_-_201408241630_-_open_source_client_management_fur_windows_and_linux_mit_opsi_-_detlef_oertel","title":"Open Source client management f\u00fcr Windows and Linux mit opsi","subtitle":"","track":"Systems Management","type":"lecture","language":"de","abstract":"Das Opensource Client Management System opsi verwaltet heterogene Systeme (Windows / Linux). Diese Vortrag gibt einen \u00dcberblick wie wie OS-Installation, Softwareverteilung, Konfiguration und Inventarisierung mit opsi Funktionieren.","description":"opsi ist seit 10 Jahren ein Opensource Client Management System f\u00fcr Windows Clients basierend auf Linux Servern. Ab jetzt k\u00f6nnen mit opsi auch Linux Clients gemanaged werden. Diese Linux Unterst\u00fctzung durch opsi ist Distribution \u00fcbergreifend ( Debian, Ubuntu, Suse, RedHat/CentOS) und deckt die Funktionalit\u00e4ten automatisch Betriebssysteminstallation, Softwareverteilung, Konfiguration und Inventarisierung ab.\r\n\r\nDer Vortrag gibt zun\u00e4chst einen \u00dcberblick \u00fcber die Grundfunktionen von opsi um dann anhand von Beispielen, Livevorf\u00fchrung und Kurzvideos in die Themen OS-Installation, Softwareverteilung und Inventarisierung f\u00fcr Windows und Linux einzugehen.\r\n\r\nErg\u00e4nzend werden Schnittstellen zu anderen Projekten (Nagios, OTRS, ITOMIG) aufgezeigt.\r\n\r\nAktuelle Probleme des Clientmanagements wie z.B. UEFI BIOS und Ger\u00e4te ohne Ethernetanschlu\u00df werden erl\u00e4utert.\r\n\r\nEin Vorstellung des Konzeptes der Kofinanzierung zur kommerziellen Erstellung von Opensource Software und die opsi Roadmap schlie\u00dfen den Vortrag ab.\r\n","persons":[{"id":923,"full_public_name":"detlef oertel"}],"links":[]},{"id":1367,"guid":"t1iaLiXRVzoh65k4FBGNGA","logo":null,"date":"2014-08-24T17:45:00+02:00","start":"17:45","duration":"01:00","room":"HS4","slug":"froscon2014_-_1367_-_en_-_hs4_-_201408241745_-_maintaining_a_oss_project_with_git_-_kivitendo_-_jan_buren","title":"maintaining a oss project with git - kivitendo","subtitle":"git for individiual extensions","track":"Development","type":"lecture","language":"en","abstract":"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.","description":"We grok some basics of git:\r\n\r\n- cloning from github\r\n- branching\r\n- tagging\r\n- rebase\r\n- explaining our git cheat set\r\n\r\n\r\n\r\n\r\n","persons":[{"id":767,"full_public_name":"Jan B\u00fcren"}],"links":[{"url":"http://blog.kivitendo-premium.de/?p=168","title":"Blog entry for rebase as a proffesional admin tool"}]}],"HS5":[{"id":1318,"guid":"xkSveT8eNqH8U3woDjR-eA","logo":null,"date":"2014-08-24T10:00:00+02:00","start":"10:00","duration":"01:00","room":"HS5","slug":"froscon2014_-_1318_-_de_-_hs5_-_201408241000_-_bitcoin_-_levin_keller","title":"Bitcoin","subtitle":"Open Sourcing Money","track":"Security","type":"lecture","language":"de","abstract":"Bitcoin hat im Jahr 2013 gro\u00dfe Medienaufmerksamkeit erhalten. Dabei spielen vor allem Geschichten von pl\u00f6tzlichem Reichtum, gro\u00dfen Betr\u00fcgereien und den Bef\u00fcrchtungen der Strafverfolgungsbeh\u00f6rden eine Rolle. Dass Bitcoin aber zun\u00e4chst ein einfaches, dezentrales Open-Source-Projekt ist, wird selten thematisiert. Dieser Vortrag soll einen kurzen R\u00fcckblick zur Entstehungsgeschichte den Open Source Software \"Bitcoin\" geben, die grundlegende Innovation des Protokolls erl\u00e4utern und den Blick auf neue spannende Projekte mit Bitcoin und seinen Weiterentwicklungen lenken.","description":"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\u00f6tzlich breite Aufmerksamkeit erlangte. Heute besch\u00e4ftigen sich institutionelle Gro\u00dfanleger in den USA, die Notenbanken und nationalen Regulierungsbeh\u00f6rden sowie Strafverfolgungsbeh\u00f6rden intensiv mit Bitcoin und den M\u00f6glichkeiten der Technologie.\r\n\r\nAu\u00dfen vor bleibt bislang die Open Source Community. Ich m\u00f6chte meinen Vortrag nutzen, um f\u00fcr diejenigen, die Bitcoin skeptisch gegen\u00fcber stehen, nahe zu bringen, warum ich Bitcoin f\u00fcr das perfekte Protokoll f\u00fcr jede Open Source Bewegung halte. Dabei geht es mir nicht um die Verwendung von konkreten Bitcoins, sondern um die M\u00f6glichkeiten, die sich durch die Erfindung der Blockchain ergeben. Hierzu werde ich andere Projekte, die die gleiche Technologie (Namecoin, Ripple usw.) f\u00fcr neue Anwendungen nutzen vorstellen und \u00fcber spannende zuk\u00fcnftige Entwicklungen (Mastercoin, Ethereum) sprechen.\r\n\r\nDer Vortrag richtet sich an Zuh\u00f6rer, die Verst\u00e4ndnis von asymmetrischer Verschl\u00fcsselung und erste Erfahrung im Umgang mit Open Source Software haben und sich f\u00fcr die Sinnhaftigkeit und den Nutzen von Bitcoin und seinen Derivaten interessieren.","persons":[{"id":901,"full_public_name":"Levin Keller"}],"links":[{"url":"www.bitcoinage.de","title":"Levins Blog \u00fcber Bitcoin"}]},{"id":1315,"guid":"ttHtQDEywj59FOB5Xl4GEg","logo":null,"date":"2014-08-24T11:15:00+02:00","start":"11:15","duration":"01:00","room":"HS5","slug":"froscon2014_-_1315_-_de_-_hs5_-_201408241115_-_latex_fur_studenten_-_uwe_ziegenhagen","title":"LaTeX f\u00fcr Studenten","subtitle":"Warum soll ich LaTeX lernen?","track":"Development","type":"lecture","language":"de","abstract":"In Zeiten von OpenOffice, Microsoft Word und LibreOffice fragen sich viele Studenten, warum sie sich mit LaTeX besch\u00e4ftigen sollten. In diesem Vortrag zeige ich, wie man mit wenig Aufwand zu ansprechenden Dokumenten und Pr\u00e4sentationen kommen kann.","description":"LaTeX ist insbesondere im Bereich der Naturwissenschaften noch immer der Standard, wenn es um die Erstellung von Papers oder Abschlussarbeiten geht. Obwohl g\u00e4ngige Office-Programme ein wenig aufgeholt haben, gibt es noch eine Vielzahl von Anforderungen, die nur oder nur sinnvoll mit LaTeX zu bew\u00e4ltigen sind.\r\n\r\nIn diesem Vortrag zeige ich einige LaTeX-Basics, bevor es dann daran geht, effizient l\u00e4ngere Dokumente wie Abschlussarbeiten oder Pr\u00e4sentationen zu setzen.\r\n\r\n","persons":[{"id":470,"full_public_name":"Uwe Ziegenhagen"}],"links":[]},{"id":1363,"guid":"uTtO3whl3UJt4i1ndRQuow","logo":null,"date":"2014-08-24T14:00:00+02:00","start":"14:00","duration":"01:00","room":"HS5","slug":"froscon2014_-_1363_-_de_-_hs5_-_201408241400_-_dropwizard_-_martin_ley","title":"Dropwizard","subtitle":"Framework f\u00fcr Microservices","track":"Web Development","type":"lecture","language":"de","abstract":"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 sich einfach und zentral konfigurieren l\u00e4sst. In meinem Vortrag stelle ich die Grundfunktionen von Dropwizard vor und erl\u00e4utere diese an Beispielen. ","description":"","persons":[{"id":935,"full_public_name":"Martin Ley"}],"links":[{"url":"https://github.com/mley/dwdemo","title":"Demo-Projekt"}]},{"id":1369,"guid":"zlydwvxLjQoWzAE1lz6wLg","logo":null,"date":"2014-08-24T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS5","slug":"froscon2014_-_1369_-_en_-_hs5_-_201408241515_-_micro_services_-_sebastian_mancke","title":"Micro Services","subtitle":"Vertical thinking for a simple architecture!","track":"Web Development","type":"lecture","language":"en","abstract":"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.  ","description":"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.\r\n\r\nThe 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.\r\nOn 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.","persons":[{"id":21,"full_public_name":"Sebastian Mancke"}],"links":[]},{"id":1400,"guid":"v7AbhGiALo9fSeHxxUayIQ","logo":"/system/logos/1400/medium/webodf.png?1400879927","date":"2014-08-24T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS5","slug":"froscon2014_-_1400_-_de_-_hs5_-_201408241630_-_webodf_-_anzeigen_und_bearbeiten_von_dokumenten_in_eigenen_web-projekten_-_friedrich_w_h_kossebau","title":"WebODF - Anzeigen und Bearbeiten von Dokumenten in eigenen Web-Projekten","subtitle":"ODF-Dokumente, nur mit HTML5 und ohne Server","track":"Web Development","type":"lecture","language":"de","abstract":"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\u00f6glicht. Sie arbeitet komplett im Browser, noch nicht unterst\u00fctzte Formatierungen bleiben erhalten beim Laden und Speichern. Abstraktionsebenen erlauben die Anbindung an beliebige Backends und Umgebungen. Verwendet wird WebODF u.a. in Tiki Wiki, Zarafa, Kolab/Roundcube Webmailer sowie in ownCloud Documents. Der Vortrag gibt eine \u00dcbersicht der Funktionsweise und zeigt in Live-Demos, wie WebODF in eigene Projekte eingebaut werden kann.","description":"Es gibt viele Anwendungsf\u00e4lle f\u00fcr WebODF:\r\n<ul>\r\n<li>die direkte Ver\u00f6ffentlichung von Dokumenten auf Webseiten</li>\r\n<li>das Schreiben neuer Dokumente oder das Redigieren bestehender per Kommentierungen oder direkte Bearbeitung (durch einen Nutzer oder auch gleichzeitig mehrere) in Webanwendungen</li>\r\n<li>die interaktive Erstellung von Dokumenten in Webanwendungen</li>\r\n</ul>\r\nEinige der Anwendungsf\u00e4lle k\u00f6nnen durch einfach zu verwendendene Javascript-Komponenten gel\u00f6st 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\u00e4lle, mit mehr spezifischen Bed\u00fcrfnissen, k\u00f6nnen durch Verwendung der Abstraktionsebenen in der WebODF-Bibliothek gel\u00f6st werden und z.B. eine eigene Editor-Benutzerschnittstelle erhalten oder Anbindung an die gew\u00fcnschten Web-Dienste.","persons":[{"id":953,"full_public_name":"Friedrich W. H. Kossebau"}],"links":[{"url":"http://webodf.org/","title":"WebODF Homepage"},{"url":"http://webodf.org/demos","title":"WebODF Demos"},{"url":"http://viewerjs.org/","title":"ViewerJS Homepage"}]},{"id":1345,"guid":"FsDYcA_p_qFS4fbFr5Tzag","logo":null,"date":"2014-08-24T17:45:00+02:00","start":"17:45","duration":"01:00","room":"HS5","slug":"froscon2014_-_1345_-_de_-_hs5_-_201408241745_-_konferenzorganisation_mit_frab_und_media_ccc_de_-_mario_manno","title":"Konferenzorganisation mit frab und media.ccc.de","subtitle":"Do-It-Yourself Konferenzmanagement und Videostreaming","track":"Development","type":"lecture","language":"de","abstract":"Der Vortrag berichtet aus der Praxis von <a href=\"http://github.com/frab/frab>frab</a> und <a href=\"http://media.ccc.de\">media.ccc.de</a>.\r\n\r\nWie wurden die Server installiert? Wie kommen die Videos auf <a href=\"http://media.ccc.de\">media.ccc.de</a>? Welche Schnittstellen gibt es f\u00fcr interessierte Entwickler?\r\n","description":"Frab ist eine in Ruby geschriebene Software die Teams die Verwaltung von Vortr\u00e4gen f\u00fcr Konferenzen erm\u00f6glicht.\r\n\r\nDer Vortrag stellt die Software und ihr Deployment im Detail vor:\r\n\r\n* Installation von Frab am Beispiel des frab.cccv.de Clusters\r\n* Verf\u00fcgbaren Schnittstellen (XML und Exporte)\r\n* \u00d6ffentliches XML/JSON\r\n* Anbindung an das Video Team, mobile Clients und ICal\r\n* media.ccc.de Backend und Frontend\r\n\r\nDas Frab \u00d6kosystem besteht mittlerweile aus einer Reihe von Ruby Anwendungen. Die  Besonderheiten der Anwendungen, ihr Zusammenspiel und die verf\u00fcgbaren Schnittstellen werden im Vortrag vorgestellt. Dabei wird auch immer auf das tats\u00e4chliche Deployment eingegangen. Ob es der Frab Cluster ist, die Libvirt LXC Container, oder das mit mirrorbrain gebaute CDN.\r\n","persons":[{"id":924,"full_public_name":"Mario Manno"}],"links":[{"url":"https://github.com/frab/frab","title":"frab"},{"url":"https://github.com/cccc/media-backend","title":"media backend"},{"url":"https://github.com/voc/media-frontend","title":"media frontend"},{"url":"https://github.com/manno/mirrorbrain","title":"mirrorbrain gentoo overlay"}]}],"HS6 (PHP)":[{"id":1440,"guid":"R5XRL7x4gyTU2IjH60EK2w","logo":null,"date":"2014-08-24T10:00:00+02:00","start":"10:00","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014_-_1440_-_de_-_hs6_php_-_201408241000_-_passworte_waren_gestern_-_arne_blankerts","title":"Passworte waren gestern","subtitle":"","track":"PHP Devroom","type":"lecture","language":"de","abstract":"Seit gef\u00fchlt 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 sicherheitsrelevanten Vorf\u00e4llen zeigt sich mehr als deutlich, Passworte sind zur Authentifizierung ziemlich ungeeignet. Um dieses Problem endlich mal zu l\u00f6sen, schauen wir uns in diesem Vortrag mal Alternativen zur passwortgest\u00fctzten Anmeldung an - und wie man diese in PHP implementiert.","description":"","persons":[{"id":159,"full_public_name":"Arne Blankerts"}],"links":[]},{"id":1441,"guid":"aQfLuOOhI692OufwQlfoAA","logo":null,"date":"2014-08-24T11:15:00+02:00","start":"11:15","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014_-_1441_-_en_-_hs6_php_-_201408241115_-_what_symfony_has_to_do_with_my_garage_-_home_automation_with_php_-_jan_unger","title":"What Symfony Has To Do With My Garage - Home Automation With PHP","subtitle":"","track":"PHP Devroom","type":"lecture","language":"en","abstract":"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 hardware drivers in PHP and how to easily use the Raspberry Pi along with the PiFace Digital Expansion Board for home automation.","description":"","persons":[{"id":993,"full_public_name":"Jan Unger"}],"links":[]},{"id":1442,"guid":"Mtu9uKUiJUHGCi4b9prPEQ","logo":null,"date":"2014-08-24T14:00:00+02:00","start":"14:00","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014_-_1442_-_en_-_hs6_php_-_201408241400_-_full_throttle_refactoring_-_thorsten_rinne","title":"Full Throttle Refactoring","subtitle":"","track":"PHP Devroom","type":"lecture","language":"en","abstract":"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 orientated architecture and tips about how to bring a big code base back to the future.","description":"","persons":[{"id":216,"full_public_name":"Thorsten Rinne"}],"links":[]},{"id":1443,"guid":"P6zLTSgVO3Jr2yXMiNX3zw","logo":null,"date":"2014-08-24T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014_-_1443_-_en_-_hs6_php_-_201408241515_-_executable_documentation_for_everyone_even_you_-_nikolas_martens","title":"Executable Documentation for everyone (even you)","subtitle":"","track":"PHP Devroom","type":"lecture","language":"en","abstract":"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 sometimes worse than none so updating it is even more important than writing it.\r\n\r\nIf only there was a way to write documentation of software systems that validates itself, making sure it doesn't lies. But wait, there is! Every automated test program is a piece of self-validating documentation. The only thing missing now is a way to make it accessible and understandable for everybody, not only technical experts. This is where 'dox' comes into play - a tool that publishes test code in a pleasant-to-read form. So let me show how, together with some good engineering practices, your wildest (documentation) dreams can come true.","description":"","persons":[{"id":845,"full_public_name":"Nikolas Martens"}],"links":[]},{"id":1444,"guid":"SGdN9Eyc_pEXEUA1K8pbyA","logo":null,"date":"2014-08-24T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014_-_1444_-_en_-_hs6_php_-_201408241630_-_building_a_smarty-to-machine-code_compiler_-_emiel_bruijntjes","title":"Building a smarty-to-machine-code compiler","subtitle":"","track":"PHP Devroom","type":"lecture","language":"en","abstract":"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 will discover that writing a compiler is not even that difficult. ","description":"The following topics will be covered:\r\n\r\n- splitting up a source file into tokens\r\n- building a syntax tree\r\n- optimizing the syntax tree\r\n- generating machine code\r\n- just-in-time (JIT) compilers\r\n\r\nTechniques and patterns that are used for building compilers are also very useful in other situations when you want to parse data.","persons":[{"id":991,"full_public_name":"Emiel Bruijntjes"}],"links":[]},{"id":1445,"guid":"5TyqLqS7T-zduOXLp0HBnw","logo":null,"date":"2014-08-24T17:45:00+02:00","start":"17:45","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014_-_1445_-_en_-_hs6_php_-_201408241745_-_refactoring_a_monolithic_framework_for_composer_usage_-_flyingmana_aka_daniel_fahlke","title":"Refactoring a monolithic Framework for composer usage","subtitle":"","track":"PHP Devroom","type":"lecture","language":"en","abstract":"Imgaine, you have a Framework which does not plan to use composer in the near future,\r\nalso you have not much support from the community for your plans.\r\nSo how to misuse things to force the framework into composer in a way\r\nwhich is maintainable, easy to use and still is update safe.\r\nAlso, how to seduce the community to make use of it and starting to like it.","description":"","persons":[{"id":641,"full_public_name":"Flyingmana aka Daniel Fahlke"}],"links":[]}],"Workshop (C115)":[{"id":1331,"guid":"Ghie_o0_JNqy02_u2rSBow","logo":"/system/logos/1331/medium/angular_logo.png?1400498894","date":"2014-08-24T10:00:00+02:00","start":"10:00","duration":"04:00","room":"Workshop (C115)","slug":"froscon2014_-_1331_-_en_-_workshop_c115_-_201408241000_-_angularjs_workshop_-_sebastian_mancke","title":"AngularJS Workshop","subtitle":"","track":null,"type":"workshop","language":"en","abstract":"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.","description":"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.\r\n\r\nAll 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!\r\n\r\n","persons":[{"id":21,"full_public_name":"Sebastian Mancke"}],"links":[{"url":"http://smancke.github.io/angularjs-intro/","title":"Slides"}]},{"id":1380,"guid":"L0d4M_CsE3ZJwky-XC3I7Q","logo":"/system/logos/1380/medium/crown-full-size-003.png?1400856201","date":"2014-08-24T14:00:00+02:00","start":"14:00","duration":"01:00","room":"Workshop (C115)","slug":"froscon2014_-_1380_-_en_-_workshop_c115_-_201408241400_-_using_spdx_to_discover_the_licenses_in_your_code_-_nuno_brito","title":"Using SPDX to discover the licenses in your code","subtitle":"Learning to report open source licenses with SPDX","track":null,"type":"workshop","language":"en","abstract":"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.","description":"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.\r\n\r\nIn 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:\r\n- Licenses declared inside the file\r\n- Copyright assignments\r\n- SHA1 signature of the file\r\n- Other relevant details\r\n\r\nDespite 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).\r\n\r\nSome 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.\r\n\r\nDuring 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.\r\n\r\nBring your laptop, suggest practical cases and we'll have a good session for questions and answers.\r\n\r\n\r\n ","persons":[{"id":944,"full_public_name":"Nuno Brito"}],"links":[{"url":"https://github.com/triplecheck/download","title":"Download link @github"},{"url":"http://www.triplecheck.de/download/","title":"Screenshots and details of the SPDX tool"}]},{"id":1324,"guid":"r4aSmzG28XAMagCJ3sw2fQ","logo":"/system/logos/1324/medium/smfjb.jpg?1405634348","date":"2014-08-24T15:15:00+02:00","start":"15:15","duration":"03:30","room":"Workshop (C115)","slug":"froscon2014_-_1324_-_de_-_workshop_c115_-_201408241515_-_coding_dojo_bonn_-_kata_workshop_-_jan_nonnen_-_andreas_kluth","title":"Coding Dojo Bonn - Kata Workshop","subtitle":"","track":"Development","type":"workshop","language":"de","abstract":"Im Rahmen eines dreist\u00fcndigen Workshops f\u00fcr bis zu 20 Teilnehmer werden die Grundlagen der testgetriebenen Entwicklung (TDD) anhand einer Code-Kata erarbeitet. Eine \u00fcberschaubare Programmieraufgabe, die durch die teilnehmenden Entwickler im Paar mit TDD gel\u00f6st wird, erm\u00f6glicht es pers\u00f6nlich zu erfahren wie Katas den Weg zur kontinuierlichen Verbesserung ebnen.","description":"<h2>Ablauf</h2>\r\n<h3>Einf\u00fchrung</h3>\r\n<p> \t\r\nGef\u00fchrte Einleitung \u00fcber den Idee hinter Code-Katas als Weg zu kontinuierlicher Verbesserung und kontinuierlichem Training. \u00dcben von Best-Practices welche potenziell in der t\u00e4glichen Arbeit nicht zur Anwendung kommen, insb. pragmatisches, simples Codedesign auf Basis von Tests und Clean Code.\r\n</p>\r\n<h3>Erkl\u00e4rung der Katas</h3>\r\n<p> \r\nAls Kata bietet sich bei einem gemischten Set an Teilnehmern eine leichte Aufgabe an, die auch bei Teilerf\u00fcllung sichtbare Ergebnisse liefert. In der Erkl\u00e4rung werden die Anforderungen an das Ergebnis beschrieben, aber kein konkreter L\u00f6sungweg vorgegeben.\r\n</p>\r\n<h3>Entwickeln in Iterationen</h3>\r\n<p> \r\nEntwicklern der L\u00f6sung im Pair. Ein kleiner Break nach 25min Entwicklungszeit. In den einzelnen Teams wird zwischen Driver und Observer nach jedem Red-Green-Refactor Zyklus gewechselt.\r\n</p>\r\n<h3>Retrospektive (ca. 45min)</h3>\r\n<p> \r\nDie Retrospektive bietet Raum f\u00fcr Diskussion und M\u00f6glichkeit das Erlebte zu reflektieren. Wie hoch war die Anfangsh\u00fcrde? Wann war der erste Test \u201cgr\u00fcn\u201d? Wie weit ist das Ergebnis nach 2 Stunden? Hat sich eine Art \u201cFlow\u201d eingestellt? K\u00f6nnte man an der gefunden L\u00f6sung noch Optimierungen vornehmen?\r\n</p>\r\n<h2>Anforderungen an Teilnehmer</h2>\r\n<p> \r\nTeilnehmer am Kata-Workshop sollten in der Lage sein auf einem mitgebrachten Notebook ihre Programmiersprache und IDE der Wahl in Grundz\u00fcgen zu beherrschen. Zus\u00e4tzlich ist ein Test-Framework notwendig bspw. JUnit mit der der Teilnehmer erste Erfahrungen gesammelt hat.\r\n</p>\r\n<h2>Organisation und Betreuung</h2>\r\n<p> \r\nJan und Andreas sind Co-Organizer des \u201cAgile Meetup Bonn\u201d und teilen beide das Agile-Mindset. Seit einem Jahr veranstaltet Jan regelm\u00e4\u00dfig das Coding-Dojo der Softwerkskammer Bonn mit einer bunten Gruppe an erfahrenen Entwicklern und Studenten.\r\n</p>","persons":[{"id":907,"full_public_name":"Jan Nonnen"},{"id":994,"full_public_name":"Andreas Kluth"}],"links":[]}],"Workshop / Javascript (C117)":[{"id":1402,"guid":"azk83_79_vDNtb5JpVFWHw","logo":null,"date":"2014-08-24T10:00:00+02:00","start":"10:00","duration":"03:00","room":"Workshop / Javascript (C117)","slug":"froscon2014_-_1402_-_de_-_workshop_javascript_c117_-_201408241000_-_pdf-kungfoo_mit_ghostscript_co_-_kurt_pfeifle_pdfkungfoo","title":"PDF-KungFoo mit Ghostscript & Co.","subtitle":"PDFs erzeugen, verstehen, analysieren, manipulieren und ...f\u00fcrchten?","track":"System Administration","type":"workshop","language":"de","abstract":"<p>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\u00f6nnen. Dazu geh\u00f6ren u.a. Darstellung von Schriften auf dem Bildschirm oder im Druckbild, Darstellung von transparenten Grafik-Elementen im Druckbild, Extraktion von Text-Stellen oder ganzen Texten, Extraktion von Bildern, Reduzierung der Dateigr\u00f6\u00dfe und vieles mehr. Neben Ghostscript werden noch viele andere frei verf\u00fcgbare PDF-Werkzeuge vorgestellt, insbesondere solche, die sich auf der Kommandozeile nutzen lassen.</p>","description":"<p>Wer diesen Workshop besucht, kann die Erkenntnisse und verwendeten Tools auf allen wichtigen Betriebssystem-Plattformen einsetzen: Linux, OS X, Windows, Solaris, *BSD,...</p>\r\n\r\n<p>Eine volle Stunde des Workshops gelten einer ersten Einf\u00fchrung in die Sprach- und Syntax-Elemente von PDF. Man lernt, wie man PDFs so vorbereitet, dass man sie nicht im <i><strong>Hex-</strong></i> sondern im <i><strong>ASCII-</strong></i>Editor analysieren und bearbeiten kann.</p>\r\n\r\n<p>Im abschlie\u00dfenden Bonus-Track (Umfang je nach vorhandener Rest-Zeit) kann man eine Ahnung davon erhalten, wie  -- <i>absichtlich</i> oder <i>versehentlich</i>! -- nicht direkt erkennbare Informationen in einer PDF versteckt, hinterlassen, \"durchgesickert\" oder unzug\u00e4nglich gemacht sein k\u00f6nnten ... und ebenso, wie man solche Informationen wieder aus einer PDF herausholt.</p>\r\n\r\n<p>Teilnehmer erhalten Zugriff auf ein Archiv mit Links zu allen verwendeten Beispiel- und Test-Dateien, ebenso wie auf ein Dokument mit allen vorgef\u00fchrten Befehlen samt zugeh\u00f6riger Erl\u00e4uterungen.</p>","persons":[{"id":774,"full_public_name":"Kurt Pfeifle (@pdfkungfoo)"}],"links":[]},{"id":1414,"guid":"yc2Qp5QRF6tc4YI9Ltmu4w","logo":"/system/logos/1414/medium/LinOTP_Logo_2012_rgb.png?1401117781","date":"2014-08-24T13:00:00+02:00","start":"13:00","duration":"02:00","room":"Workshop / Javascript (C117)","slug":"froscon2014_-_1414_-_de_-_workshop_javascript_c117_-_201408241300_-_linotp_setup_und_integration_-_rainer_endres","title":"LinOTP Setup und Integration","subtitle":"","track":"Security","type":"workshop","language":"de","abstract":"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 Administration von LinOTP in einer individuellen Umgebung.","description":"Nach einer Installation aus den LinOTP Paketen wird das Setup von Datenbank, Apache und FreeRADIUS durchgef\u00fchrt. 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).\r\n\r\nBei der Integration wird die Einbindung von PAM ( verschiedene Displaymanager und CLI), Apache und kurz die Anbindung von RADIUS erl\u00e4utert.\r\n\r\nIm dritten Teil wird eine beispielhafte Webapplikation entwickelt um die Integration von Authentifizierung und Administration in bestehende Umgebungen zu zeigen.","persons":[{"id":956,"full_public_name":"Rainer Endres"}],"links":[{"url":"http://linotp.org","title":"LinOTP"},{"url":"http://lsexperts.de","title":"LSE"}]},{"id":1366,"guid":"yVgaBg7SGy6EUSnlyjJ4Kw","logo":null,"date":"2014-08-24T15:15:00+02:00","start":"15:15","duration":"02:30","room":"Workshop / Javascript (C117)","slug":"froscon2014_-_1366_-_de_-_workshop_javascript_c117_-_201408241515_-_hands-on_mit_oauth2_-_timo_pick","title":"Hands-On mit OAuth2","subtitle":"","track":"Web Development","type":"workshop","language":"de","abstract":"\r\n","description":"Viele gro\u00dfe Firmen wie Google, Facebook, Twitter und co setzen OAuth2 ein, um Benutzer bei ihren unterschiedlichen Diensten zu anzumelden. Manche bieten sogar \u00f6ffentliche APIs f\u00fcr Fremdanwendungen an, um ihren Authentisierungsmechanismus f\u00fcr das Login zu nutzen. Aber wie funktioniert OAuth2 \u00fcberhaupt?\r\n\r\nIn diesem Workshop m\u00f6chten wir es euch erm\u00f6glichen, euch einmal genauer mit OAuth2 zu besch\u00e4ftigen. Wir beginnen mit einer theoretischen Einf\u00fchrung zu OAuth2, in der die Begriffe und Abl\u00e4ufe des Protokolls erkl\u00e4rt werden. Im Anschluss m\u00f6chten 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 \u00fcber OAuth2 durchf\u00fchrt. Um dies m\u00f6glichst reibungslos zu gestalten bringen wir Code-Beispiele und einen OAuth2 Server mit, der f\u00fcr diese Zwecke konfiguriert ist. Die Teilnehmer sollten einen eigenen Laptop mitbringen.","persons":[{"id":921,"full_public_name":"Timo Pick"}],"links":[{"url":"http://tools.ietf.org/html/rfc6749","title":"OAuth2"}]}],"RedFrogConf (C118)":[{"id":1431,"guid":"2IOXYO4OpzuUEZ1iGFlPsg","logo":null,"date":"2014-08-24T10:45:00+02:00","start":"10:45","duration":"00:40","room":"RedFrogConf (C118)","slug":"froscon2014_-_1431_-_en_-_redfrogconf_c118_-_201408241045_-_a_summer_full_of_code_-_ute_mayer","title":"A Summer full of Code","subtitle":"The CodePadawans journey with Rails Girls Summer of Code","track":"RedFrogConf (Ruby)","type":"lecture","language":"en","abstract":"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 Source projects: a website for the padrino documentation and jibe - a tool for documentation testing.","description":"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. \r\nThe CodePadawans is one of ten teams choosen out of more than 100 applications worldwide. \r\nBeing, at the time of the conference, halfway through our journey with the Rails Girls Summer of Code, we\u2019d like to introduce the program and its connections to Open Source. \r\nWe will share our personal experiences and look into how the \u2018learning by doing approach\u2019 has been working for us. We hope to proudly present the latest results of working on our two Source projects. \r\nLast but not least we want to spread the word about this awesome initiavtive.","persons":[{"id":977,"full_public_name":"Ute Mayer"}],"links":[]},{"id":1427,"guid":"B7cX3LLHBv1Y58BODuwfZw","logo":null,"date":"2014-08-24T11:30:00+02:00","start":"11:30","duration":"00:40","room":"RedFrogConf (C118)","slug":"froscon2014_-_1427_-_en_-_redfrogconf_c118_-_201408241130_-_jruby_a_pi_and_some_java_database_-_philipp_fehre","title":"JRuby, a Pi and some Java Database","subtitle":"","track":"RedFrogConf (Ruby)","type":"lecture","language":"en","abstract":"Learn about using native Java from JRuby, to build a mobile app on the Raspberry Pi using Couchbase Mobile as the database.","description":"<p>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.</p>\r\n<p>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.</p>\r\n<p>Oh and by the way all of this runs on a little Raspberry Pi!</p>","persons":[{"id":975,"full_public_name":"Philipp Fehre"}],"links":[]},{"id":1322,"guid":"N-92BEiLFM6rl7Vz9-ZoGQ","logo":null,"date":"2014-08-24T14:00:00+02:00","start":"14:00","duration":"00:40","room":"RedFrogConf (C118)","slug":"froscon2014_-_1322_-_en_-_redfrogconf_c118_-_201408241400_-_a_revolutionary_idea_why_not_use_a_job_queue_system_for_your_job_queue_-_bitboxer","title":"A revolutionary idea: why not use a job queue system for your job queue?","subtitle":"","track":"RedFrogConf (Ruby)","type":"lecture","language":"en","abstract":"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?\r\n\r\nBeanstalkd is one of them. It's small. It's fast. It's awesome. And I show you why.","description":"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.\r\n\r\nI 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.","persons":[{"id":900,"full_public_name":"bitboxer"}],"links":[]},{"id":1346,"guid":"xSYQbOZ_uAumSMsjrNFCrw","logo":null,"date":"2014-08-24T14:45:00+02:00","start":"14:45","duration":"00:40","room":"RedFrogConf (C118)","slug":"froscon2014_-_1346_-_de_-_redfrogconf_c118_-_201408241445_-_datenbank-release-management_mit_postgresql_und_ruby-on-rails_-_frank_lancaster","title":"Datenbank-Release-Management mit PostgreSQL und Ruby-on-Rails","subtitle":"Ein GIT f\u00fcr die Datenbank \u2013 geht das?","track":"RedFrogConf (Ruby)","type":"lecture","language":"de","abstract":"Viele mit Ruby-on-Rails und PostgreSQL entwickelte Webanwendungen wie Content-Management-Systeme oder Shop-Systeme ben\u00f6tigen oft komplexe Datenbankmodelle mit umfangreichen Abh\u00e4ngigkeiten. Gleichzeitig ist h\u00e4ufig ein Release-Management der Datenbank erw\u00fcnscht, um Inhalte und Shop-Funktionen im Voraus zu erstellen und einen Test- und Abnahmeprozess zu erm\u00f6glichen. Es wird eine L\u00f6sung vorgestellt, die der Basisfunktionalit\u00e4t eines Source-Control-Systems wie GIT \u00e4hnelt. Releases k\u00f6nnen \u2013 ohne die Live-Prozesse zu st\u00f6ren \u2013 mit dem Produktionscode als Preview angeschaut und \u00fcberpr\u00fcft werden. Es sind auch mehrere, gleichzeitig existierende Releases m\u00f6glich, die zusammengef\u00fchrt werden k\u00f6nnen.","description":"Viele mit Ruby-on-Rails und PostgreSQL entwickelte Webanwendungen wie Content-Management-Systeme oder Shop-Systeme ben\u00f6tigen oft komplexe Datenbankmodelle mit umfangreichen Abh\u00e4ngigkeiten. Gleichzeitig ist h\u00e4ufig ein Release-Management der Datenbank erw\u00fcnscht, um Inhalte und Shop-Funktionen im Voraus zu erstellen und einen Test- und Abnahmeprozess zu erm\u00f6glichen. G\u00e4ngige L\u00f6sungen versehen hierf\u00fcr einzelne Datenbankmodelle z. B. mit Attributen wie G\u00fcltigkeitszeitr\u00e4ume oder Release-Status, oder sie verwenden komplett getrennte Systeme f\u00fcr Preview- und Live-Umgebungen. Die Handhabung solcher Attribute kann bei umfangreichen Datenbanken sehr komplex werden. Getrennte Systeme erh\u00f6hen den Ressourcenbedarf einer Anwendung stark und Previews werden dabei nicht auf dem eigentlichen Live-System gepr\u00fcft.\r\n\r\nUnsere L\u00f6sung \u00e4hnelt der Basisfunktionalit\u00e4t eines Source-Control-Systems wie GIT. So wie GIT-Benutzer mit Commits arbeiten k\u00f6nnen, kann man in unserem System mit Releases \u2013 ein Satz von \u00c4nderungen, Einf\u00fcgungen und L\u00f6schungen in der Datenbank \u2013 arbeiten. Erweiterungen der Datenbank m\u00fcssen das Release-Management nicht speziell ber\u00fccksichtigen, da es als eigenst\u00e4ndiges Modul implementiert ist.\r\n\r\nReleases k\u00f6nnen \u2013 ohne die Live-Prozesse zu st\u00f6ren \u2013 mit dem Produktionscode als Preview angeschaut und gepr\u00fcft werden. Vollst\u00e4ndige Bestellprozesse k\u00f6nnen damit z. B. in einem Shop auf dem Live-System getestet werden. Es sind auch mehrere, gleichzeitig existierende Releases m\u00f6glich, die zusammengef\u00fchrt werden k\u00f6nnen. Manuelle Konfliktbehebung ist dann nur bei gleichzeitiger \u00c4nderung von Daten eines Objekts notwendig.\r\n","persons":[{"id":925,"full_public_name":"Frank Lancaster"}],"links":[]},{"id":1490,"guid":"ZIsHyPRNe5B0iBeFI3wsZw","logo":null,"date":"2014-08-24T15:30:00+02:00","start":"15:30","duration":"00:40","room":"RedFrogConf (C118)","slug":"froscon2014_-_1490_-_de_-_redfrogconf_c118_-_201408241530_-_rust_for_rubyists_-_jan-erik","title":"Rust for Rubyists","subtitle":"","track":"RedFrogConf (Ruby)","type":"lecture","language":"de","abstract":"A short introduction to the new and upcoming systems programming language called Rust.","description":"","persons":[{"id":905,"full_public_name":"Jan-Erik"}],"links":[]},{"id":1447,"guid":"q73oswIsUuj6uLCaMrjBsA","logo":null,"date":"2014-08-24T16:15:00+02:00","start":"16:15","duration":"00:40","room":"RedFrogConf (C118)","slug":"froscon2014_-_1447_-_en_-_redfrogconf_c118_-_201408241615_-_how_to_make_guacamole_an_object_document_mapper_-_dirk","title":"How to make Guacamole, an Object Document Mapper","subtitle":"","track":"RedFrogConf (Ruby)","type":"lecture","language":"en","abstract":"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.","description":"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.","persons":[{"id":902,"full_public_name":"Dirk "}],"links":[]}],"Java / Django (C116)":[{"id":1493,"guid":"MOxjDddFjX2ZVvDBHxqKOg","logo":null,"date":"2014-08-24T13:00:00+02:00","start":"13:00","duration":"02:00","room":"Java / Django (C116)","slug":"froscon2014_-_1493_-_de_-_java_django_c116_-_201408241300_-_help_desk","title":"Help Desk","subtitle":"","track":"Django Devroom","type":"lecture","language":"de","abstract":"","description":"","persons":[],"links":[]}],"CMS Garden (C119)":[],"Python (C120)":[{"id":1464,"guid":"TQuSBZRFsnnvztDEN2NaIQ","logo":null,"date":"2014-08-24T10:00:00+02:00","start":"10:00","duration":"01:00","room":"Python (C120)","slug":"froscon2014_-_1464_-_de_-_python_c120_-_201408241000_-_einfuhrung_in_python_-_klaus_bremer","title":"Einf\u00fchrung in Python ","subtitle":"","track":"Python Devroom","type":"lecture","language":"de","abstract":"Einf\u00fchrung in die Programmiersprache Python ","description":"Python ist eine universell verwendbare Programmiersprache, die unterschiedliche Paradigmen wie prozedurale, funktionale oder objektorientierte Programmierung unterst\u00fctzt. Die Sprache wurde wurde mit dem Ziel entworfen, m\u00f6glichst einfach und \u00fcbersichtlich zu sein und gilt mittlerweile als leicht erlernbar, mit klarer und \u00fcbersichtlicher Syntax. Dennoch erlaubt Python auch die Umsetzung komplexer Anwendungen bis hin auf Enterprise-Ebene.\r\n\r\nDer Vortrag f\u00fchrt in die Funktionsweise von Python ein. Die Einf\u00fchrung richtet sich an Teilnehmer, die idealerweise bereits \u00fcber erste Programmiererfahrung verf\u00fcgen und sich nun auch f\u00fcr die Nutzung von Python interessieren. ","persons":[{"id":588,"full_public_name":"Klaus Bremer"}],"links":[]},{"id":1465,"guid":"tj3lH33iAQPDRhtMlLDMNQ","logo":null,"date":"2014-08-24T11:15:00+02:00","start":"11:15","duration":"01:00","room":"Python (C120)","slug":"froscon2014_-_1465_-_de_-_python_c120_-_201408241115_-_einstieg_in_django","title":"Einstieg in Django","subtitle":"","track":"Python Devroom","type":"workshop","language":"de","abstract":"","description":"","persons":[],"links":[]},{"id":1466,"guid":"xMgrwKLA0rCpFqp3UV5MNw","logo":null,"date":"2014-08-24T13:00:00+02:00","start":"13:00","duration":"01:00","room":"Python (C120)","slug":"froscon2014_-_1466_-_de_-_python_c120_-_201408241300_-_software-dokumentation_mit_sphinx_-_jan_ulrich_hasecke","title":"Software-Dokumentation mit Sphinx ","subtitle":"","track":"Python Devroom","type":"lecture","language":"de","abstract":"","description":"","persons":[{"id":306,"full_public_name":"Jan Ulrich Hasecke"}],"links":[]},{"id":1467,"guid":"P2Zo0yNmE7REViflhFeh0w","logo":null,"date":"2014-08-24T14:00:00+02:00","start":"14:00","duration":"01:00","room":"Python (C120)","slug":"froscon2014_-_1467_-_de_-_python_c120_-_201408241400_-_heimautomatisierung_mit_python_und_raspberrypi_-_thomas_koch","title":"HeimAutomatisierung mit Python und RaspberryPi ","subtitle":"","track":"Python Devroom","type":"lecture","language":"de","abstract":"Das Thema Heim-Automatisierung ist auf dem Vormarsch - kleine und leistungsf\u00e4hige Microcontroller wie Arduino oder Linux Mini-Computer wie BeagleBone oder Raspberry Pi, die mit einem leistungsstarken Prozessor ausgestattet sind, erm\u00f6glichen einen schnellen Einstieg in das Thema. Der Vortrag gibt einen \u00dcberblick \u00fcber das Thema und zeigt konkrete Beispiele auf Basis der Raspberry Pi Plattform mit Python als Programmiersprache. ","description":"Das Raspberry Pi ist ein kreditkartengro\u00dfer Mini-Computer, der vielf\u00e4ltige Einsatzm\u00f6glichkeiten bietet - vom MediaCenter \u00fcber den eigenen Mini-Cloud-Server bis zum stromsparenden Home-Server als Schaltzentrale der Heim-Automatisierung.\r\n\r\nNeben 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\u00e4sentiert.\r\n\r\nDie Einf\u00fchrung in die praktischen Einsatz des Raspberry Pi zur Heim-Automatisierung richtet sich an Teilnehmer, die sich f\u00fcr diesen Einsatzbereich der Programmiersprache Python interessieren. ","persons":[{"id":722,"full_public_name":"Thomas Koch"}],"links":[]},{"id":1468,"guid":"toXFHmMF46prhJKdxWJp6g","logo":"/system/logos/1468/medium/IPy_header.png?1408440171","date":"2014-08-24T15:15:00+02:00","start":"15:15","duration":"01:00","room":"Python (C120)","slug":"froscon2014_-_1468_-_de_-_python_c120_-_201408241515_-_ipython_notebook_-_python_interaktiv_im_browser","title":"IPython Notebook - Python interaktiv im Browser","subtitle":"","track":"Python Devroom","type":"lecture","language":"de","abstract":"Das IPython Notebook bietet eine vorz\u00fcgliche, interaktive Umgebung f\u00fcr die Arbeit mit Python. Ein Notebook ist gleichzeitig interaktiv und ein Dokument, das sich speichern l\u00e4sst. Neben den IPython-Eigenschaften wie nahtlose Einbindung von Shell-Kommandos und ausgefeilten Hilfen und automatischen Vervollst\u00e4ndigungsvorschl\u00e4gen bietet es viele M\u00f6glichkeiten aussagekr\u00e4ftige und attraktive Beschreibungen hinzuzuf\u00fcgen. Neben Markdown, HTML oder LaTeX unterst\u00fctzt es viele weitere Markup- und Programmiersprachen.\r\n\r\nDer Vortrag stellt IPython Notebook kurz vor. Ein gro\u00dfer Teil wird interaktiv im Browser ablaufen. Fragen sind jederzeit willkommen. ","description":"IPython ist bereits \u00fcber zehn Jahre alt und hat sich als komfortable Alternative zu dem einfachen, interaktiven Python-Prompt bew\u00e4hrt. IPython bietet ein wesentlich besseres Hilfesystem, Befehlsvervollst\u00e4ndigungen, diskretes Ausf\u00fchren von Shell-Kommandos, Werkzeuge zu Laufzeitmessung und vieles mehr. Es gibt sehr viele so genannten \"magische Kommandos\" mit denen sich verschiedenste Aufgaben schnell l\u00f6sen lassen. Im wissenschaftlichen Bereich ist IPython schon lange der Standard f\u00fcr das interaktive Arbeiten mit Python.\r\n\r\nIPython 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\u00e4tzlich zu allen M\u00f6glichkeiten des Kommandozeilen-IPython bieten sie viele grafische Elemente und erm\u00f6glichen das Abspeichern der Notebooks als JSON-Dokumente. Auch der Export in verschiedene Formate ist m\u00f6glich. Ein Notebook besteht aus Zellen. Diese Zellen k\u00f6nnen ausf\u00fchrbaren Python-Code oder andere Information in Form von Markdown, HTML, LaTeX, Bildern oder Videos enthalten. Auch Zellen mit ausf\u00fchrbaren Quelltext in anderen Programmiersprachen wie Javascript, Cython, Fortran oder anderen Python Versionen, wie Python 3 in einem Python 2 Notebook oder umgekehrt, sind m\u00f6glich.\r\n\r\nDer Vortrag gibt einen \u00dcberblick \u00fcber die M\u00f6glichkeiten von IPython und IPython Notebook. Die Folien sind nat\u00fcrlich mit Hilfe eines Notebooks entstanden. Gro\u00dfe Teile des Vortrags laufen interaktiv im Browser ab. Trotz des riesigen Funktionsumfanges ist der Einstieg in die Arbeit mit Notebooks recht einfach. Der Vortrag will Anregungen geben was mit Notebooks alles m\u00f6glich ist. Fragen sind jederzeit willkommen, denn Ausfl\u00fcge in die Tiefen von IPython sind immer lohnenswert. ","persons":[],"links":[]},{"id":1469,"guid":"r3sgLE74aB-HdP8o1fmR3w","logo":null,"date":"2014-08-24T16:30:00+02:00","start":"16:30","duration":"01:00","room":"Python (C120)","slug":"froscon2014_-_1469_-_en_-_python_c120_-_201408241630_-_docker_orchestration","title":"Docker Orchestration ","subtitle":"","track":"Python Devroom","type":"lecture","language":"en","abstract":"\r\n\r\nWith 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. ","description":"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. ","persons":[],"links":[]},{"id":1470,"guid":"Ug3eDFok7uvbXLPtDpRsBg","logo":null,"date":"2014-08-24T17:45:00+02:00","start":"17:45","duration":"01:00","room":"Python (C120)","slug":"froscon2014_-_1470_-_de_-_python_c120_-_201408241745_-_pymove3d_-_nutze_python_in_blender_und_erstelle_eine_animation_-_reimar_bauer","title":"pymove3D - nutze Python in Blender und erstelle eine Animation ","subtitle":"","track":"Python Devroom","type":"lecture","language":"de","abstract":"pymove3D ist ein Python Kurs des Python Software Verbands f\u00fcr Sch\u00fcler, die Interesse haben 3D-Animationen zu programmieren. Einmal im Jahr gibt es begleitend einen Programmierwettbewerb. Dieser Beitrag gibt einen Einstieg in die Objekt Orientierte Programmierung mit Hilfe von Blender. ","description":"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\u00f6nnen 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.\r\n\r\nDer Vortrag gibt einen \u00dcberblick, welche Erfahrung wir mit dieser Idee gemacht haben und wie wir weiterhin vorgehen m\u00f6chten. ","persons":[{"id":717,"full_public_name":"Reimar Bauer"}],"links":[]}],"Wordpress/quasiconf 2014(Lisp) (C130)":[{"id":1456,"guid":"bKZYJGt6LeQJrtg5h7GOQw","logo":"/system/logos/1456/medium/scheme.png?1407145877","date":"2014-08-24T10:00:00+02:00","start":"10:00","duration":"01:00","room":"Wordpress/quasiconf 2014(Lisp) (C130)","slug":"froscon2014_-_1456_-_de_-_wordpress_quasiconf_2014_lisp_c130_-_201408241000_-_about_scheme_-_moritz_heidkamp","title":"About Scheme","subtitle":"An overview of the Scheme programming languages family","track":"LISP Devroom","type":"lecture","language":"de","abstract":"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 continues to be used in various niches ranging from education to mobile development. It's also notorious for its splintered (some say balkanized) community.","description":"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.","persons":[{"id":638,"full_public_name":"Moritz Heidkamp"}],"links":[]},{"id":1457,"guid":"OiTv9jy3u1aH9jOyf0BD5Q","logo":"/system/logos/1457/medium/emacs.png?1407146217","date":"2014-08-24T11:15:00+02:00","start":"11:15","duration":"01:00","room":"Wordpress/quasiconf 2014(Lisp) (C130)","slug":"froscon2014_-_1457_-_de_-_wordpress_quasiconf_2014_lisp_c130_-_201408241115_-_emacs_lisp_-_vasilij_schneidermann","title":"Emacs Lisp","subtitle":"Why Emacs' extension language is worth a second look","track":"LISP Devroom","type":"lecture","language":"de","abstract":"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, they need to learn its extension language Emacs Lisp.","description":"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.","persons":[{"id":964,"full_public_name":"Vasilij Schneidermann"}],"links":[]},{"id":1458,"guid":"HzDSxz61s1JgeFvFdXI4Yg","logo":"/system/logos/1458/medium/clojure-logo-500x.png?1407146333","date":"2014-08-24T12:45:00+02:00","start":"12:45","duration":"00:45","room":"Wordpress/quasiconf 2014(Lisp) (C130)","slug":"froscon2014_-_1458_-_de_-_wordpress_quasiconf_2014_lisp_c130_-_201408241245_-_clojure_in_production_-_gerrit_hentschel","title":"Clojure in Production","subtitle":"A field report","track":"LISP Devroom","type":"lecture","language":"de","abstract":"A field report about professionally creating, deploying and running high-volume Clojure applications for several years.","description":"","persons":[{"id":1012,"full_public_name":"Gerrit Hentschel"}],"links":[]},{"id":1459,"guid":"0xLSdBHZyZ4yuEdwj9AWTA","logo":"/system/logos/1459/medium/clojure-logo-500x.png?1407146479","date":"2014-08-24T13:45:00+02:00","start":"13:45","duration":"01:30","room":"Wordpress/quasiconf 2014(Lisp) (C130)","slug":"froscon2014_-_1459_-_de_-_wordpress_quasiconf_2014_lisp_c130_-_201408241345_-_clojure_in_90_minutes_-_ingo_kuper","title":"Clojure in 90 Minutes","subtitle":"An introduction to the Clojure programming language","track":"LISP Devroom","type":"lecture","language":"de","abstract":"Noch eine Java.next Sprache mit ein bi\u00dfchen funktionaler Programmierung an Bord?  Mitnichten!  Clojure ist das Ergebnis fundamentaler Fragestellungen und \u00dcberlegungen. Clojure stellt g\u00fcltige Paradigmen auf den Kopf und schafft dadurch nicht mehr Chaos, sondern \u00fcberraschenderweise mehr Ordnung. Clojure erm\u00f6glicht auf fundamentale Art eine einfachere Softwareentwicklung. Und am Ende hat das Einfache noch immer das Komplexe abgel\u00f6st.\r\nDie Lernkurve ist steil, aber dann befindet man sich auf einem Hochplateau, von dem aus die OO Java- und .NET-Welt nur noch wenig ansprechend aussieht.","description":"Mit Hilfe des Vortrags werden die Komplexit\u00e4ten der t\u00e4glichen Arbeit wieder ins Bewusstsein gerufen und deren Verbesserungspotential aufgedeckt. Alleine das ist schon ein riesiger Gewinn. Wer dar\u00fcber hinaus noch Lust auf Clojure entwickelt, hat doppelt gewonnen.","persons":[{"id":1009,"full_public_name":"Ingo K\u00fcper"}],"links":[]},{"id":1460,"guid":"zdMJCudumJMJh921qXuW3Q","logo":"/system/logos/1460/medium/clojure-logo-500x.png?1407146876","date":"2014-08-24T15:30:00+02:00","start":"15:30","duration":"03:15","room":"Wordpress/quasiconf 2014(Lisp) (C130)","slug":"froscon2014_-_1460_-_de_-_wordpress_quasiconf_2014_lisp_c130_-_201408241530_-_clojure_kickstart_workshop_-_falko_riemenschneider","title":"Clojure Kickstart Workshop","subtitle":"Getting started with Clojure","track":"LISP Devroom","type":"workshop","language":"de","abstract":"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!\r\n","description":"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!\r\n\r\nThe first hurdle is setting up a decent development environment that lets you enjoy the interactive nature of Clojure.\r\nThe 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.\r\nAnd finally, novices should get a well-chosen list of hints and links to continue learning on their own.\r\nThe 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.","persons":[{"id":929,"full_public_name":"Falko Riemenschneider"}],"links":[{"url":"https://github.com/friemen/cugb/blob/master/kickstart.md","title":"Detailed Workshop Description"}]}],"Archlinux (C125)":[],"B118":[]}}]}}}