{"schedule":{"version":"1.0","base_url":"http://programm.froscon.de/2014/","conference":{"acronym":"froscon2014","title":"FrOSCon 2014","start":"2014-08-23","end":"2014-08-24","daysCount":2,"timeslot_duration":"00:05","time_zone_name":"Europe/Berlin","rooms":[{"name":"HS1","guid":"6cb4f11c-440b-54c4-a2af-7b9036eb5a6e","capacity":null},{"name":"HS3","guid":"1596827d-814c-55a3-a9d3-04b2860b39cc","capacity":null},{"name":"HS4","guid":"e509e7bd-41e0-5be3-8ec1-f897fce6c4a1","capacity":null},{"name":"HS5","guid":"9957122d-0491-5e46-b5a3-c11f97034025","capacity":null},{"name":"HS6 (PHP)","guid":"1da80da8-2d44-540f-ad1d-6b550cf3eaeb","capacity":null},{"name":"Workshop (C115)","guid":"f272c1e0-ba22-5e85-b757-f555e9ec9df8","capacity":42},{"name":"Workshop / Javascript (C117)","guid":"186fce44-d8eb-57ea-9741-72328a2772f1","capacity":41},{"name":"RedFrogConf (C118)","guid":"26ec6654-aa4e-5503-8f0a-c8a05bd6545f","capacity":60},{"name":"Java / Django (C116)","guid":"6136c860-a34b-583d-8a13-2c65eba3f952","capacity":19},{"name":"CMS Garden (C119)","guid":"e2e2416e-bb0a-54bb-a9e8-0a6117525502","capacity":41},{"name":"Python (C120)","guid":"23fc58a6-90ec-5130-ad9e-156979a1d221","capacity":61},{"name":"Wordpress/quasiconf 2014(Lisp) (C130)","guid":"81f3f424-2e9e-5ff5-84b0-6f6a1b7039c2","capacity":19},{"name":"Archlinux (C125)","guid":"43526a5b-5cd8-599c-b8ac-601ebf64492a","capacity":null},{"name":"B118","guid":"a2f09991-014c-59d9-9213-ef2707d6c6e5","capacity":120}],"days":[{"index":1,"date":"2014-08-23","day_start":"2014-08-23T09:30:00+02:00","day_end":"2014-08-23T19:30:00+02:00","rooms":{"HS1":[{"url":"http://programm.froscon.de/2014/events/1478.html","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-init","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.","recording_license":"","do_not_record":false,"persons":[{"guid":"5dde95df-7039-5e4f-badb-3b1c8bb7625a","id":605,"name":"towo","public_name":"towo"},{"guid":"716f9827-2fb3-56e9-bec7-daf4a8694cd0","id":343,"name":"ScottyTM","public_name":"ScottyTM"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1354.html","id":1354,"guid":"6Mw1u0oRQYXeaRRje72ijw","logo":"/system/events/logos/000/001/354/large/tarentLogo.png?1400765263","date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"01:00","room":"HS1","slug":"froscon2014-1354-linux_im_interaktiven_funkstreifenwagen","title":"Linux im interaktiven Funkstreifenwagen","subtitle":"PolarIS -\u003e 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ösungen berichtet.","description":"PolarIS „Polizeiliches , automobilgestütztes ressourcensteuerndes IT-System“\r\n\r\nBegonnen 2009 als Forschungs- und Entwicklungsprojekt entwickelte sich der interaktive Funkstreifenwagen kontinuierlich weiter und etabliert sich allmählich als Standardeinsatzmittel der Polizei in Brandenburg.\r\n\r\nAusgehend von einer Initiative des Zentraldienst der Polizei Brandenburg (ZDPol), welche zeitgemäße IT-Technologie sinnvoll in die tägliche Aufgabenwahrnehmung der polizeilichen Einsatzkräfte integrieren sollte, wurde ein komplexes IT-System entwickelt, welches vollständig mit OpenSource Technologien implementiert wurde. Hierbei sind die Nutzung von Linux als Basis für das angepasste Betriebssystem im Einsatzfahrzeug und die Integration des freien Navigationssystems Navit hervorzuheben, da diese dank ihrer offenen Schnittstellen und vielfältigen Konfigurationsoptionen optimal für den beschriebenen Anwendungsfall geeignet sind.\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ür die Bedienung aus der Einsatzleitzentrale.","recording_license":"","do_not_record":false,"persons":[{"guid":"ffabc45f-0186-5bdf-8e6e-d6bf8ebe0add","id":928,"name":"Thomas Haase","public_name":"Thomas Haase"},{"guid":"c3ce8072-1154-5570-9046-bff96fdcd03a","id":1021,"name":"Henning Heinold","public_name":"Henning Heinold"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1332.html","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-wie_wir_einmal_500_server_mit_150_personen_in_3_tagen_migriert_haben","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 «bereitgestellten» virtuellen Serverumgebung auf eine andere Virtualisierungslösung: selbstverwaltet, «on demand», 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ührung eines solchen Events – und was man daraus lernen kann. Und welchen Spaß man dabei mit 150 Leuten haben kann.","description":"Gegeben sei eine virtualisierte Serverumgebung, auf der Server von\r\neinem Dienstleister nach Bestellung \"schlüsselfertig\" bereitgestellt\r\nwerden und die relativ manuell via Nagios und Cacti überwacht wird.\r\n\r\nDer Plan: Wir wechseln zu einer virtuellen Serverumgebung auf einer\r\nanderen Virtualisierungslösung, auf der sich Entwickler und Admins\r\n\"DevOps-Style\" selbst Maschinen bereit stellen können und die sich\r\nautomatisiert im Monitoring via Icinga wiederfinden.\r\n\r\nUm den Schwierigkeitsgrad ein wenig zu erhöhen, wechseln wir (in einem\r\ngeringen Maße) die Distribution. Und das Alarming. Und die\r\nProvisionierungsläsung.\r\n\r\nMit ca. 1500 Servern. So schnell wie möglich.\r\n\r\nWie startet man so ein Vorhaben? Natürlich 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ährend dieser Migration soll die QA-Plattform weiterlaufen, wir wollen\r\nlernen, wie wir das später ohne Downtime in der Produktion hinbekommen.\r\n\r\nDieser Talk erzählt davon, wie man so etwas vorbereitet, wie man so eine\r\nAktion durchführt 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ürlich davon, was man dabei alles über\r\nseine Plattform, seine Kollegen und sich lernen kann. Natürlich auch\r\ndarüber, wie man die Leute motiviert.\r\n\r\nNicht zu vergessen vom Spaß den man dabei haben kann.\r\n\r\nDie eingesetzten Tools werden natürlich erwähnt, obwohl sie für den\r\nVortrag nicht wirklich relevant sind. Hier geht es mehr \"um das mit den\r\nMenschen\". ","recording_license":"CC BY-SA","do_not_record":false,"persons":[{"guid":"fc264ddd-d5d0-5705-9489-8b56ff57016b","id":166,"name":"Ralph Angenendt","public_name":"Ralph Angenendt"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1449.html","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-open_source_management","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","recording_license":"","do_not_record":false,"persons":[{"guid":"7d70c242-f13a-5077-bd84-9ca83e227021","id":476,"name":"Kristian Köhntopp","public_name":"Kristian Köhntopp"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1316.html","id":1316,"guid":"KkzMw9rApXTxw_fWNmOnHw","logo":"/system/events/logos/000/001/316/large/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-podcast_publishing_mit_podlove","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ür 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äten erläutert und mögliche Anwendungen über Podcasting hinaus skizziert, z.B. die Integration des Web Players in andere Publikationssysteme z.B. für Vorträge.\r\n\r\nIn einem weiteren Teil werden die bisher veröffentlichten als auch die in Entwicklung befindlichen Spezifikationen und Dateiformate des Projekts vorgestellt. Die Podlove Timeline und die Podlove Syndication Extensions sollen künftig das Publizieren und Abspielen von Podcasts  sowie die Auffindbarkeit von Aufzeichnungen im Web vereinfachen.\r\n\r\nZum Abschluss gibt es noch einen Ausblick auf die Podlove Matrix, ein Konzept für ein Verzeichnis von Podcasts und Veranstaltungsaufzeichnungen.\r\n","recording_license":"CC-BY","do_not_record":false,"persons":[{"guid":"f1d36b8e-7ca5-544d-a725-ecdf50c7957c","id":898,"name":"Tim Pritlove","public_name":"Tim Pritlove"}],"links":[{"url":"http://podlove.org","title":"Podlove"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1327.html","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-i_love_logging","title":"I Love Logging","subtitle":"Wie wir loggfiles lieben lernen können.","track":"Monitoring","type":"lecture","language":"de","abstract":"Als Weiterführung vom letzten Jahr, werden in diesem Vortrag einige funktionierende Lösungsvorschläge aufgezeigt und natürlich auch die neuen Funktionen der großen Log-Tools des letzten Jahres betrachtet.","description":"Letztes Jahr wurde ein Überblick über verschiedene Log Analyse Tool gegeben. Dieser Vortrag wird einen Vorschlag zeigen, wie man verschiedene Log Tools zu einem umfassenden Log-Managment Framework zusammen setzen kann und, welche Möglichkeiten sich daraus ergeben. Zum Einsatz kommen unter anderem: logstash, graylog2, kibana und elasticsearch.\r\n\r\nDieser Vortrag ist eine Weiterführung vom Vortrag letztes Jahr \"Log Analyse\", ist aber unabhängig davon und auch für Leute interessant die letzte Jahr nicht dabei waren.\r\n","recording_license":"","do_not_record":false,"persons":[{"guid":"9e9e9820-4d9d-597d-89a3-6e0b0d9420dd","id":47,"name":"Jens Kühnel","public_name":"Jens Kühnel"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1407.html","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-danen_lugen_nicht","title":"DANEn lügen nicht","subtitle":"SSL/TLS Zertifikate mit DNSSEC absichern","track":"Security","type":"lecture","language":"de","abstract":"Das konventionelle System zum Prüfen von SSL/TLS Zertifikaten (über zentrale Zertifizierungsstellen) funktioniert nicht zuverlässig. DANE ist ein neues Protokoll, welches die Prüfung von Zertifikaten über das DNS System ermöglicht. ","description":"DANE (DNS(SEC)-based Authentication of Named Entities), ein neues Internet Protokoll (RFC 6698) zum Prüfen von SSL/TLS Zertifikaten, erfreut sich starker Beliebtheit. Es erlaubt die Absicherung von selbst-signierten SSL/TLS-Zertifikaten und eine erweiterte Sicherheit für Zertifikate von Zertifizierungstellen (CAs).\r\n\r\nDieser Vortrag erklärt die Probleme mit dem traditionellen Zertifizierungssystem (x509) im Internet und wie DANE diese Probleme löst. Es wird gezeigt, wie Internet-Verbindungen über HTTPS (Web-Browser), SSH, SMTP (E-Mail) und XMPP (jabber-im) schon heute mit DANE abgesichert werden. Administratoren erfahren, welche Schritte notwendig sind, um DANE für eigene Dienste einzurichten.","recording_license":"CCSA","do_not_record":false,"persons":[{"guid":"0b9a2367-4101-589c-b575-d0964d19bf76","id":465,"name":"Carsten Strotmann","public_name":"Carsten Strotmann"}],"links":[],"attachments":[{"url":"/system/event_attachments/attachments/000/000/286/original/DAeNEn_luegen_nicht.pdf?1408810263","title":"DANEn luegen nicht slides"}]},{"url":"http://programm.froscon.de/2014/events/1393.html","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-state_of_the_union","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äglich mit und für FOSS arbeiten, werfen einen augenzwinkernden Blick in die Vergangenheit aber auch die Zukunft. Jubiläen, Dramen, Glücksfälle - alles wird mit einem Augenzwinkern präsentiert und gemeinsam mit dem Publikum kommentiert. Debian, Slackware, Snowden, Oracle und Microsoft - vieles hat die Technologie- und FOSS-Welt in 2014 beeinflusst. Diese und weitere Themen streift der lockere Couchtalk und bindet dabei das Publikum direkt in die Diskussion ein.","description":"Viel ist passiert im Jahr 2014 in der Open Source Szene. Oliver Zendel und Michael Kleinhenz, die beide täglich mit und für FOSS arbeiten, werfen einen augenzwinkernden Blick in die Vergangenheit aber auch die Zukunft. Jubiläen, Dramen, Glücksfälle - alles wird mit einem Augenzwinkern präsentiert und gemeinsam mit dem Publikum kommentiert. Debian, Slackware, Snowden, Oracle und Microsoft - vieles hat die Technologie- und FOSS-Welt in 2014 beeinflusst. Diese und weitere Themen streift der lockere Couchtalk und bindet dabei das Publikum direkt in die Diskussion ein.","recording_license":"","do_not_record":false,"persons":[{"guid":"b60e7649-1dc4-57ab-b57e-2cbda93a1f94","id":526,"name":"Michael Kleinhenz","public_name":"Michael Kleinhenz"},{"guid":"40aad0db-6337-5f0b-90e6-89a6fd8aa5da","id":20,"name":"Oliver Zendel","public_name":"Oliver Zendel"}],"links":[],"attachments":[]}],"HS3":[{"url":"http://programm.froscon.de/2014/events/1396.html","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-mehr_als_e-mails","title":"Mehr als E-Mails","subtitle":"Smartphones und Tablets als Schweizer Taschenmesser für 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öglichen mobil arbeitsfähig zu sein und auch am Arbeitsplatz treue Dienste leisten können.","description":"Wo vor zehn Jahren zum mobilen Arbeiten schwere Notebooks und langsame Datennetze nötig waren, existieren heute neben schnellen Mobilfunknetzen wesentlich mobilere Endgeräte.\r\n\r\nSmartphones und Tablets sind in fast jeder Admintasche zu finden und können, ausgerüstet mit den richtigen Werkzeugen, zu wahren \"Schweizer Taschenmessern\" für die Administration fern ab des Schreibtisches werden. Aber auch in weniger mobilen Szenarien lassen sich diese Geräte häufig sinnvoll in den Arbeitsalltag integrieren, so dass sie sich für wesentlich mehr als reine Kommunikation einsetzen lassen.\r\n\r\nDer Vortrag stellt eine Vielzahl von Tools für Android und iOS vor, die den Admin bei seinen täglichen Aufgabenfeldern, wie dem regelmäßigen Blick ins Monitoring oder dem Bearbeiten von Tickets unterstützen können. So steht beispielsweise für das Monitoring-System \"Check_MK\" eine speziell an mobile Clients angepasste Oberfläche zur Verfügung, die in vielen Fällen eine Alternative zu Apps wie \"aNag\" darstellen kann.\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öpfen. 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ür rein administrative Aufgaben existiert ein breites Angebot an Apps, die den Admin in vielen Lebenslagen unterstützen können. Sei es zur Kommunikation mittels XMPP, dem Zugriff auf Handbücher oder das Erledigen von Planungsaufgaben - Mobilgeräte mit Android und iOS können wesentlich mehr als \"nur E-Mails\".\r\n\r\nWelche Werkzeuge hierbei besonders nützlich sind und an welchen Stellen Fallstricke bei der Integration und dem Einsatz von Smartphones und Tablets im Adminumfeld lauern, wird ebenfalls thematisiert.","recording_license":"","do_not_record":false,"persons":[{"guid":"7658a595-3f3a-5553-a878-f46bf8439590","id":805,"name":"Holger Gantikow","public_name":"Holger Gantikow"}],"links":[{"url":"http://www.linux-magazin.de/Ausgaben/2013/12/Admin-s-Little-Helper","title":"Zusammenfassender Basisartikel zum Thema"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1321.html","id":1321,"guid":"rMDvAe2eh12fO6V44lJpLQ","logo":"/system/events/logos/000/001/321/large/logo.png?1400061832","date":"2014-08-23T11:15:00+02:00","start":"11:15","duration":"01:00","room":"HS3","slug":"froscon2014-1321-vom_aussterben_bedroht_die_universalmaschine_computer","title":"Vom Aussterben bedroht: die Universalmaschine Computer","subtitle":null,"track":"Culture","type":"lecture","language":"de","abstract":"Computer sind universelle Machinen, die beliebig programmierbar sind und prinzipiell alles können. Vielen IT-Unternehmen ist dies mittlerweile ein Dorn im Auge. Sie wollen willkürlich beschränken, was wir als Gesellschaft mit dieser Maschine machen können. Sie ergreifen technische Maßnahmen, mit denen sie uns diese Möglichkeiten nehmen und uns Stück für Stück Rechte entziehen, die wir normalerweise haben, wenn wir ein Produkt kaufen. Die Industrie will entscheiden, was wir mit unseren Computern machen können und was mit unseren Daten passiert. Wollen wir Ihnen diese Macht einräumen?","description":null,"recording_license":"CC-BY-SA","do_not_record":false,"persons":[{"guid":"3f6ab8c8-79c3-55bb-9172-5a86d4c2b346","id":533,"name":"Matthias Kirschner","public_name":"Matthias Kirschner"}],"links":[{"url":"https://fsfe.org/campaigns/generalpurposecomputing/secure-boot-analysis.de.html","title":"\"Secure Boot\": Wer wird Ihren nächsten Computer kontrollieren?"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1386.html","id":1386,"guid":"LFFyZHoyVkHDVNkFvNrWyw","logo":"/system/events/logos/000/001/386/large/ruby.png?1400859325","date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"01:00","room":"HS3","slug":"froscon2014-1386-in_love_with_ruby","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ür (Web-)Entwickler, Admins und Hobbyprogrammierer. Dieser Vortrag zeigt, warum.","description":"Der Hype um Ruby, der vor etwa 8 Jahren seinen Höhepunkt hatte, ist deutlich abgeebbt. Je nach dem, in welchem Bereich man unterwegs ist, hört man nun viel von node.js, Go, Rust oder Clojure.\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 Überblicksvortrag möchte ich zeigen:\r\n\r\n\u003cul\u003e\r\n\u003cli\u003eWas Ruby so einzigartig und liebenswert macht\u003c/li\u003e\r\n\u003cli\u003eWas aktuelle Entwicklungen im Ruby-Bereich sind\u003c/li\u003e\r\n\u003cli\u003eWelche großartigen Bibliotheken und Tools es im Ruby-Umfeld gibt\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\nAußerdem versuche ich einen Blick in die Zukunft zu werfen.\r\n\r\nDer Vortrag richtet sich gleichermaßen an Entwickler, Administratoren und generell an alle, die auf der Suche nach einer neuen Programmiersprache mal einen Blick auf Ruby werfen möchten. Außerdem kann er helfen, wieder auf den neuesten Stand zu kommen, wenn man Ruby in den letzten Jahren aus des Augen verloren hat.","recording_license":"","do_not_record":false,"persons":[{"guid":"a5019e89-e717-5bc9-8b7a-ce0bb59d1660","id":92,"name":"David Roetzel","public_name":"David Roetzel"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1304.html","id":1304,"guid":"7GBNGkVhTfrHIUGqZUpkfw","logo":"/system/events/logos/000/001/304/large/r-logo-64x64.png?1405095491","date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS3","slug":"froscon2014-1304-datenanalyse_mit_r_fur_administratoren","title":"Datenanalyse mit R für Administratoren","subtitle":"Beispiele aus der Praxis","track":"System Administration","type":"lecture","language":"de","abstract":"\u003cp\u003eR, die freie Programmiersprache für statistisches Rechnen und Grafiken, ist auch für Administratoren ein nützliches Werkzeug. Dieser Vortrag beginnt mit einer kurzen Vorstellung von R und zeigt dann an einigen Beispielen, wie R sich für die Analyse von Performance-Daten nutzen lässt oder damit eine Prognose der zukünftigen Auslastung eines Systems sowie der Skalierbarkeit abgeleitet werden kann.\u003c/p\u003e","description":"\u003cp\u003eAnalysen und Auswertungen gehören zum IT-Alltag: die Antwortzeiten einer Applikation müssen bezüglich der SLA-Ziele geprüft werden, ein Benchmark soll die Skalierbarkeit einer neuen Plattform nachweisen und irgendjemand benötigt für seine Präsentation noch eine informative Grafik.\u003c/p\u003e\r\n\u003cp\u003eR, die freie Programmierumgebung für statistisches Rechnen und Grafiken, ist ein leistungsfähiges Werkzeug zur Datenanalyse und grafischen Aufbereitung, mit der sich solche Aufgaben mühelos erledigen lassen.\u003c/p\u003e\r\n\u003cp\u003eDenn 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.\u003c/p\u003e\r\n\u003cp\u003eSo können hochwertige Grafiken schon mit einfachen Aufrufen erstellt werden und müssen bei einer Aktualisierung der Daten im Gegensatz zu vielen (mausbedienten) Tools auch nicht mühsam wieder neu zusammengebaut werden.\u003c/p\u003e\r\n\u003cp\u003eMit gemessenen Performance-Daten lässt sich schließlich ein Modell zur Skalierbarkeit eines Systems erstellen. Dies kann nicht nur zur Vorhersage des maximal erreichbaren Durchsatzes genutzt werden, sondern erlaubt häufig außerdem Rückschlüsse auf das im System versteckte Bottleneck.\u003c/p\u003e","recording_license":"","do_not_record":false,"persons":[{"guid":"6538e4ce-5c62-5bef-b97d-08dd6cf2f7fe","id":885,"name":"Stefan Möding","public_name":"Stefan Möding"}],"links":[],"attachments":[{"url":"/system/event_attachments/attachments/000/000/287/original/R4Admins.pdf?1408812845","title":"Slides"}]},{"url":"http://programm.froscon.de/2014/events/1323.html","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-elmar_s_whistleblower_quiz_show","title":"Elmar's Whistleblower Quiz Show","subtitle":"Forgotten Heroes \u0026 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...","recording_license":"CC SA BY A","do_not_record":false,"persons":[{"guid":"47d33be9-676e-5def-85fb-fe7d6eac7bcc","id":782,"name":"Elmar Geese","public_name":"Elmar Geese"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1325.html","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-private_cloud_mit_open_source","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ügbaren Rechen- und Speicherressourcen ist die Grundidee des Cloud Computing. Hardware wird dadurch zu einer flexiblen Ressource, die sich agil und kosteneffizient nutzen lässt. Amazon hat mit AWS diese Idee als Public Cloud für die breite Öffentlichkeit zugänglich gemacht. \r\n\r\nEs gibt jedoch gute Gründe eine eigene, private Cloud zu bauen. Diese Gründe können Sicherheitsbedenken und rechtliche Kriterien sein. Zudem erleichtert die vollständige Kontrolle des gesamten Protokollstacks die Entwicklung und Wartung von verteilten und hochverfügbaren Systemen.\r\n\r\nDr. Lukas Pustina und Daniel Schneller von der codecentric AG haben für das Startup CenterDevice eine private Cloud vom Konzept bis zum produktiven Einsatz realisiert. Dabei wurde ausschließlich Open Source eingesetzt und ein \"privates Amazon” geschaffen. In dieser Cloud laufen eine Produktions- und verschiedene Staging und Testumgebungen.\r\n\r\nIn diesem Vortrag sollen anhand der Entstehungsgeschichte der CenterDevice Cloud konkret Konzepte, Entscheidungen und Probleme erläutert werden. Dabei wird auch die ein oder andere Anekdote aus dem täglichen Wahnsinn der Cloud Administration nicht fehlen.\r\n\r\nDer Vortrag beleuchtet zunächst, warum explizit nur freie Software genutzt wird und welche für das Projekt ausgewählt worden ist. Anhand spezifischer Anforderungen werden die eingesetzten Komponenten Ubuntu Linux, Ansible, Ceph Object Store und OpenStack eingeführt. Die erlebten Stolpersteine und Probleme sowie deren Lösung 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ße Probleme bis zum produktiven System zu überwinden. Die Zuhörer des Vortrags sollen am Ende selbst einschätzen können, in wie fern sich eine solche Lösung für ihre eigene Umgebung eignet.\r\n","recording_license":"","do_not_record":false,"persons":[{"guid":"75e5deb0-43da-55a7-8cc3-df9459da1e71","id":909,"name":"Dr. Lukas Pustina","public_name":"Dr. Lukas Pustina"},{"guid":"457e9b77-12c8-5427-87d7-d34ff3065056","id":910,"name":"Daniel Schneller","public_name":"Daniel Schneller"}],"links":[],"attachments":[]}],"HS4":[{"url":"http://programm.froscon.de/2014/events/1371.html","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-database_federation_mit_postgresql","title":"Database Federation mit PostgreSQL","subtitle":null,"track":"Database","type":"lecture","language":"de","abstract":"Der Vortrag beschäftigt sich mit den Möglichkeiten der Interoperabilität von PostgreSQL mit anderen Datenquellen und gibt einen Ausblick auf die kommenden Möglichkeiten in PostgreSQL 9.4.","description":"Interoperabilität zwischen datenverarbeitenden Komponenten wird immer wichtiger. In vielen Unternehmen stehen unterschiedliche Datenquellen zur Verfügung, die verschiedenste Aufgaben wahrnehmen. Informationen zusammenzuführen, auszuwerten und weiter zu verarbeiten ist eine Herausforderung. PostgreSQL bietet mit Foreign Data Wrappers eine Möglichkeit, mit einer standardisierten Schnittstelle auf fremde Datenquellen zuzugreifen. Mit der kommenden Version 9.4 steht ferner eine Möglichkeit zur Replikation in externe Datenquellen zur Verfügung. Der Vortrag gibt einen Überblick über die Möglichkeiten dieser Schnittstellen.","recording_license":"","do_not_record":false,"persons":[{"guid":"c381e995-3648-51fc-bcdc-166fce244b46","id":103,"name":"Bernd Helmle","public_name":"Bernd Helmle"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1339.html","id":1339,"guid":"D3xo4XG-ODco6UgUOw5-1A","logo":"/system/events/logos/000/001/339/large/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-mysql_hochverfugbar_mit_galera","title":"MySQL Hochverfügbar mit Galera","subtitle":"Wir können auch 99.9999","track":"Database","type":"lecture","language":"de","abstract":"Mit der Galera \"Replikation\" für MySQL werden MySQL Datenbanken zu hochverfügbaren Multi Master Cluster","description":"Mit der Galera \"Replikation\" für MySQL werden MySQL Datenbanken zu hochverfügbaren Multi Master Cluster.\r\nGalera ist erfreut sich größter Beliebtheit und hat in MariaDB und Percona (als jeweils eigenständiges 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ählen.\r\nZu der Livedemo wird auch ein Deployment mit Ansible gehören ;)","recording_license":"","do_not_record":false,"persons":[{"guid":"dc2dcd99-f5fa-5ce9-9961-392c5fcb1db6","id":188,"name":"Erkan Yanar","public_name":"Erkan Yanar"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1311.html","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-solving_your_big-data_problem_before_it_arises_using_django","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.","recording_license":"","do_not_record":false,"persons":[{"guid":"356561d2-f653-5b29-a37d-beffb0633702","id":289,"name":"Didi Hoffmann","public_name":"Didi Hoffmann"}],"links":[{"url":"http://www.DBook.biz","title":"DBook"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1361.html","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-multi-model_nosql_databases","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 – 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.","recording_license":"","do_not_record":false,"persons":[{"guid":"6f165cb1-f286-5b19-b5c4-926c69ea662e","id":934,"name":"Michael Hackstein","public_name":"Michael Hackstein"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1388.html","id":1388,"guid":"EdK-AIe26526YOhHHmQwAQ","logo":"/system/events/logos/000/001/388/large/quantified-self-400px.jpg?1400863883","date":"2014-08-23T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS4","slug":"froscon2014-1388-quantified_self_mit_wearable_devices_und_smartphone-sensoren","title":"Quantified Self mit Wearable Devices und Smartphone-Sensoren","subtitle":"Daten über den eigenen Körper 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üchtig? – Zum Quantifizieren des eigenen Körpers und der eigenen Aktivitäten gibt es zahlreiche Wearable Devices und Smartphone-Apps. Im Vortrag erfahrt Ihr, welche aktuellen Devices und Apps es gibt, wie Ihr an deren Daten kommt und wie Ihr Eure Daten analysieren und visualisieren könnt.","description":"Das Vermessen des eigenen Körpers bzw. des eigenen Ichs liegt im Trend. Immer mehr Menschen werden derzeit zu Selbstvermessern. Die Motivationen sind sehr unterschiedlich. Manche wollen einfach Gesund bleiben oder werden. Andere wollen sich selbst optimieren, was sehr beliebt bei Sportlern ist. Und natürlich sind viele Menschen einfach an ständig neuster Technik interessiert und wollen die zahlreichen Wearable Devices ausprobieren.\r\n\r\nIm Vortrag werdet Ihr einen Überblick über Selbstvermessung (Quantified Self) bekommen. \r\nIhr bekommt eine Übersicht über aktuelle Devices, die man am Körper tragen kann. Dazu gehören zum Beispiel Aktivitätssensoren, Puls- und Herzfrequenzmesser oder Kameras. Ihr erfahrt auch was das verbreitetste Selbstvermessungs-Device, Euer Smartphone, mit Hilfe seiner Sensoren und geeigneter Apps alles über Euch und Eure Aktivitäten weiß. Natürlich geht es auch um die Frage, was Euch diese Technologie bringt und welche Gefahren es aus Daten- und Persönlichkeitsschutzsicht gibt.\r\n\r\nDie Hacker und Datenfetischisten unter Euch erfahren, wie Ihr auf die Daten verschiedener Quantified-Self-Devices zugreifen könnt. Damit könnt Ihr dann Euch und Euer Leben 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önnt und natürlich wie Ihr hübsche Visualisierungen erzeugt.\r\n\r\nAm Ende könnt Ihr für Euch selbst entscheiden, ob Selbstvermessung ganz toll, zu gefährlich oder einfach nur Unsinn ist.","recording_license":"CC-BY 3.0","do_not_record":false,"persons":[{"guid":"71f4d72b-1032-5f93-adc0-39a4c1eb0b52","id":346,"name":"Andreas Schreiber","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"}],"attachments":[{"url":"/system/event_attachments/attachments/000/000/300/original/20140823_Quantified_Self_mit_Wearable_Devices_und_Smartphone-Sensoren.pdf?1409044561","title":"Slides (PDF)"}]},{"url":"http://programm.froscon.de/2014/events/1353.html","id":1353,"guid":"Ur8ibuZni9KOBLDz_Bi7RQ","logo":"/system/events/logos/000/001/353/large/IMG_1951-square.jpg?1405249726","date":"2014-08-23T17:45:00+02:00","start":"17:45","duration":"01:00","room":"HS4","slug":"froscon2014-1353-vorsicht_kamera","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äglichen Leben so passiert und begegnet. Neben der Frage nach dem Sinn stellen sich da schnell rechtliche Fragen und solche der Etikette. Wann ist es okay, seine Umgebung 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 überrascht sein, wie weit verbreitet zumindest Teilaspekte von Lifelogging bereits sind. Von der Helmkamera beim Skifahren bis zum Fitness-Tracker - viele dieser \"wearable devices\" sind schon um uns herum im Einsatz. Mit anderen Worten: Es wird vielleicht kein Massenmarkt, aber die Lifelogger sind bereits unter uns und wir müssen uns überlegen, wie wir damit umgehen wollen und welche neuen gesellschaftlichen Normen wir als Reaktion darauf entwickeln.\r\n\r\nBeim Blick auf die verfügbare Hard- und Software fällt auf, dass praktisch alle am Markt befindlichen Produkte \"closed\" sind und oft auch die gesammelten Daten \"in der Cloud\" speichern. Mit der zu erwartenden Verbreitung von Lifelogging und Quantified Self eröffnen sich hier also auch neue Betätigungsfelder für die Open Source- und Open Hardware-Szene.","recording_license":"Creative Commons Attribution-NonCommercial 2.0 Germany","do_not_record":false,"persons":[{"guid":"76938589-5333-55dd-98f1-22c5b3ecd655","id":33,"name":"Dirk Haun","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"}],"attachments":[{"url":"/system/event_attachments/attachments/000/000/283/original/Lifelogging-FrOSCon.pdf?1408699547","title":"Folien zum Vortrag"}]}],"HS5":[{"url":"http://programm.froscon.de/2014/events/1364.html","id":1364,"guid":"UbJ2xSD9UY0CBYE-9F8ZXA","logo":"/system/events/logos/000/001/364/large/android-c__.png?1400832007","date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"01:00","room":"HS5","slug":"froscon2014-1364-how_to_bring_compute_intensive_c_based_apps_to_android","title":"How to bring compute intensive C++ based apps to Android","subtitle":null,"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 – 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’s HAXM acceleration. All these steps will be executed live during presentation on a small tutorial app.","recording_license":"","do_not_record":false,"persons":[{"guid":"de157e1e-f62a-5a5d-91f9-45ac0e9ff6e6","id":936,"name":"Martin Siggel","public_name":"Martin Siggel"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1415.html","id":1415,"guid":"fYEG2G8TPGwD9OgqK13emw","logo":"/system/events/logos/000/001/415/large/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-linotp_und_single_sign_on","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örter oft nicht ausreichend. \r\n\r\nDer Vortrag stellt zunächst One Time Password Verfahren und LinOTP als Lösung für die Integration von OTP  vor. \r\n\r\nAnhand von konkreten Beispielen aus der Praxis wird die Anbindung von:\r\n\u003cul\u003e\r\n\u003cli\u003eMIT Kerberos,\u003c/li\u003e\r\n\u003cli\u003eSAML (verschiedene Ausprägungen),\u003c/li\u003e\r\n\u003cli\u003eund OpenID (2.0),\u003c/li\u003e\r\n\u003c/ul\u003e\r\nan eine starke OTP Authentisierung mit LinOTP gezeigt werden. \r\n","recording_license":"","do_not_record":false,"persons":[{"guid":"1289c064-e9a1-58cb-85a3-8740ff842faa","id":956,"name":"Rainer Endres","public_name":"Rainer Endres"}],"links":[{"url":"http://linotp.org","title":"LinOTP"},{"url":"http://www.lsexperts.de","title":"LSE"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1352.html","id":1352,"guid":"zLQRrJi05bpzgkLweZJT1Q","logo":"/system/events/logos/000/001/352/large/python-logo.png?1405414692","date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS5","slug":"froscon2014-1352-data_analysis_and_visualization_with_python","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, \u003ca href=\"http://www.numpy.org\"\u003eNumpy\u003c/a\u003e, \u003ca href=\"http://pandas.pydata.org\"\u003ePandas\u003c/a\u003e and \u003ca href=\"http://matplotlib.org\"\u003eMatplotlib\u003c/a\u003e for data analysis and Visualization. As a use case, we present a \u003ca href=\"https://github.com/tstollenw/myAccount\"\u003epython tool\u003c/a\u003e for personal bookkeeping.","description":"The talk will include:\r\n\r\n\u003cul\u003e\r\n  \u003cli\u003eIntroduction to Numpy\u003c/li\u003e\r\n  \u003cli\u003eIntroduction to Matplotlib\u003c/li\u003e\r\n  \u003cli\u003eIntroduction to Pandas\u003c/li\u003e\r\n  \u003cli\u003eUse case: Personal bookkeeping and analysis\u003c/li\u003e\r\n\u003c/ul\u003e\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.","recording_license":"","do_not_record":false,"persons":[{"guid":"aa221256-8131-531f-94d8-59f878e3e677","id":920,"name":"Tobias Stollenwerk","public_name":"Tobias Stollenwerk"}],"links":[{"url":"https://github.com/tstollenw/pyAccount","title":"pyAccount"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1489.html","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-flames","title":"Flames","subtitle":"Kommunikationszusammenbrüche im Netz ","track":"Culture","type":"lecture","language":"de","abstract":"Warum sind Leute online Arschlöcher, die im \"echten Leben\" eigentlich ganz nett sind.\r\n\r\nOnline-Kommunikation ist anders und Strategien zur Konfliktlösung müssen sich anpassen","description":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"7d70c242-f13a-5077-bd84-9ca83e227021","id":476,"name":"Kristian Köhntopp","public_name":"Kristian Köhntopp"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1310.html","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-web-app-encryption","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.","recording_license":"","do_not_record":false,"persons":[{"guid":"356561d2-f653-5b29-a37d-beffb0633702","id":289,"name":"Didi Hoffmann","public_name":"Didi Hoffmann"}],"links":[{"url":"http://www.DBook.biz","title":"DBook"},{"url":"http://www.ribalba.de","title":"Didi Hoffmann"}],"attachments":[]}],"HS6 (PHP)":[{"url":"http://programm.froscon.de/2014/events/1435.html","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-a_couchdb_replication_endpoint_in_php","title":"A CouchDB replication endpoint in PHP","subtitle":null,"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":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"766645d9-1af9-5520-ba45-08b2a1756597","id":108,"name":"Kore Nordmann","public_name":"Kore Nordmann"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1436.html","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-kernel-_infect_creating_a_cryptovirus_for_symfony2_apps","title":"$kernel-\u003einfect(): Creating a cryptovirus for Symfony2 apps","subtitle":null,"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":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"52aeaa59-d62c-569c-86a7-c11d7a256ad4","id":990,"name":"Raul Fraile","public_name":"Raul Fraile"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1437.html","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-writing_native_php_extensions_using_php-cpp","title":"Writing native PHP extensions using PHP-CPP","subtitle":null,"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?","recording_license":"","do_not_record":false,"persons":[{"guid":"73def6cb-8fac-5ac1-8ff8-e98a49559dfe","id":991,"name":"Emiel Bruijntjes","public_name":"Emiel Bruijntjes"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1438.html","id":1438,"guid":"-yPiTA_hqfTBZYVYZ1CSBQ","logo":"/system/events/logos/000/001/438/large/neo4j_php.png?1407331796","date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS6 (PHP)","slug":"froscon2014-1438-playing_with_neo4j_-_using_-_php","title":"Playing with Neo4j ­-[:USING]­-\u003e PHP","subtitle":null,"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":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"818ae48d-90a0-5da1-8e8d-d509d411d77b","id":992,"name":"Frank Neff","public_name":"Frank Neff"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1487.html","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-php_arduino","title":"PHP \u0026 Arduino","subtitle":null,"track":"PHP Devroom","type":"lecture","language":"de","abstract":null,"description":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"e93b3389-c075-5ca1-8d45-cbbfe19bdfaa","id":173,"name":"Thomas Weinert","public_name":"Thomas Weinert"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1488.html","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-phpng_-_heap_and_stack_allocation","title":"phpng - heap and stack allocation","subtitle":null,"track":"PHP Devroom","type":"lecture","language":"en","abstract":null,"description":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"513b7c0d-ed9d-5880-ae67-70f3263acc26","id":671,"name":"Johannes Schlüter","public_name":"Johannes Schlüter"}],"links":[],"attachments":[]}],"Workshop (C115)":[{"url":"http://programm.froscon.de/2014/events/1336.html","id":1336,"guid":"SRS_72-h3yW364i6kj_4wQ","logo":"/system/events/logos/000/001/336/large/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-learning_platform_edivide","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ührung in die Hardware-Programmierung mit VHDL und die eDiViDe Remote Labs. Anhand von Beispielen zeigen wir, wie über die Webschnittstelle von eDiViDe eigener VHDL Source Code hochgeladen, kompiliert und letztendlich zur Ausführung auf einem Remote Lab gebracht werden kann. Für Interessierte bieten wir zusätzlich 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ösen. Man benötigt 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 über ein Webinterface bereit stellt.\r\n\r\nIm Workshop werden insbesondere die folgenden vier Remote Labs präsentiert (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 über ein Webinterface neu (via VHDL).  Für die Programmierung der Labs stehen Templates zur Verfügung, 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ösung 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ängern einen guten Einstieg in eine Hardware-Programmierung. Die fortgeschrittenen Aufgaben adressieren auch erfahrene Programmierer, die so die Möglichkeit haben, eigene Entwicklungen in einer realen Hardwareumgebung zu testen.\r\n\r\neDiViDe steht für das EU-Projekt „European Digital Virtual Design Lab“ (www.edivide.eu), eine gemeinsame Online-Plattform zu europaweit verteilten Remote Laboren für die FPGA Programmierung. Die Remote Labs werden aktuell in  an der Hochschule Limburg (Belgien), an der Universität Kosice (Slowenien), an der Universität 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öchten.\r\n","recording_license":"","do_not_record":false,"persons":[{"guid":"c5194424-c87d-54fb-b8c2-6d90e2d0d7e2","id":919,"name":"K. Lemke-Rust, P. Plöger, P. Samarin, J. Samotyja","public_name":"K. Lemke-Rust, P. Plöger, P. Samarin, J. Samotyja"}],"links":[{"url":"http://www.edivide.eu/","title":"eDiViDe"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1411.html","id":1411,"guid":"OyvRXSTMuck8u8B7V6sESA","logo":"/system/events/logos/000/001/411/large/Shell_1955.png?1401055683","date":"2014-08-23T15:15:00+02:00","start":"15:15","duration":"03:00","room":"Workshop (C115)","slug":"froscon2014-1411-shell_workshop","title":"Shell Workshop","subtitle":"Günstig 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ür Schritt interaktiv kleine Shell-Skripte entwickelt zum lösen von wiederholt auftretenden Problemstellungen.","description":"Mit der Unix-Shell kann man mit etwas Übung recht einfach und schnell immer wiederkehrende Probleme automatisieren und lösen, wenn man einmal erkannt hat, wie man auf der Kommandozeile ganz langsam eine Aufgabe in kleinen Schritten angeht und entwickelt.\r\n\r\nAls Beispiele können z.B. dienen -- jeweils alles in einer Zeile: \r\n\r\n- ssh-Einbruchsversuche in syslog-Einträgen auswerten, ein bissl Statistik treiben und sich beim verantwortlichen Domain-Admin beschweren\r\n- Sprit-Preise überwachen und aus dem zeitlichen Verlauf lernen, wann und wo man günstig tanken kann\r\n- gelöschte RAW-Bilder auf einer CFCARD wieder herstellen\r\n","recording_license":"CC","do_not_record":false,"persons":[{"guid":"38ea2759-027c-556a-856f-c351f8be4d04","id":630,"name":"Harald König","public_name":"Harald König"}],"links":[],"attachments":[]}],"Workshop / Javascript (C117)":[{"url":"http://programm.froscon.de/2014/events/1333.html","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-moderne_web-anwendungen_mit_angularjs","title":"Moderne Web-Anwendungen mit AngularJS","subtitle":null,"track":"Javascript","type":"lecture","language":"de","abstract":"AngularJS ist ein JavaScript-Framework, das Sie dabei unterstützt, moderne clientseitige Web-Anwendungen zu erstellen. Erstmalig finden bewährte Konzepte wie Dependency Injection und testgetriebene Entwicklung nun auch Einzug in die JavaScript-Welt und machen diese attraktiv für den Enterprise-Einsatz. Finden Sie es heraus!","description":"AngularJS ist ein JavaScript-Framework, das Sie dabei unterstützt, moderne clientseitige Web-Anwendungen zu erstellen. Erstmalig finden bewährte Konzepte wie Dependency Injection und testgetriebene Entwicklung nun auch Einzug in die JavaScript-Welt und machen diese attraktiv für den Enterprise-Einsatz. AngularJS bietet hier eine sehr nachvollziehbare Implementierung und achtet im hohen Maße auf das Bilden und Einhalten von Schnittstellen. Dieser Talk führt Sie in das AngularJS-Framework ein und fokussiert insbesondere die Möglichkeiten zum Test-Driven-Development (TDD). Saubere Anwendungsentwicklung mit JavaScript ist eben doch möglich. Finden Sie es heraus!","recording_license":"THE BEER-WARE LICENSE (Rev. 42)","do_not_record":false,"persons":[{"guid":"8a49ea01-be74-5850-aa1c-d6a7d43548b8","id":916,"name":"Philipp Tarasiewicz","public_name":"Philipp Tarasiewicz"},{"guid":"b4fefcc1-ecd6-59a5-ac3b-6e93b3055b57","id":980,"name":"Robin Böhm","public_name":"Robin Böhm"}],"links":[{"url":"https://docs.google.com/presentation/d/1zkbdxG8lQftId1mbslBB-VtUck1yUdPCwh9FagsBkF0/pub?start=false\u0026loop=false\u0026delayms=3000\u0026utm_content=bufferc7085\u0026utm_medium=social\u0026utm_source=twitter.com\u0026utm_campaign=buffer#slide=id.g17765bc97_437","title":"Slides"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1455.html","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-performance-best-practices_versus_http_2","title":"Performance-Best-Practices versus HTTP/2","subtitle":null,"track":"Javascript","type":"lecture","language":"de","abstract":null,"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ür heutige Projekte ist HTTP/1.1 jedoch ein massiver Flaschenhals. Um dessen konzeptionelle Nachteile zu kompensieren haben wir Buildprozesse entwickelt, bei denen wir Ressourcen via Konkatenierung, Inlining oder Spriting bündeln. Darüber hinaus setzen wir auf Konzepte wie Domain-Sharding und cookieless-Domains.\r\n\r\nDie gute Nachricht ist: HTTP/2 steht endlich vor der Tür und räumt mit den Nachteilen seines Vorgängers auf. Es wird außerdem von den meisten modernen Browsern bereits unterstützt. Allerdings reicht es nicht aus, einfach nur einen Schalter umzulegen. Wir müssen massiv umdenken und etablierte Prozesse und Konzepte über Bord werfen, wenn wir das Beste aus HTTP/2 herausholen wollen.","recording_license":"","do_not_record":false,"persons":[],"links":[{"url":"http://schepp.github.io/HTTP-2","title":"Slides"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1429.html","id":1429,"guid":"3SrQqrcSDIM6Ck7FFA-1JA","logo":"/system/events/logos/000/001/429/large/asciidisco.png?1403955905","date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"00:45","room":"Workshop / Javascript (C117)","slug":"froscon2014-1429-all_your_browsers_are_belong_to_us","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 \u0026 PhantomJS from Safari using Webdriver \u0026 the JSON-Wire protocol for fun, Q\u0026A goodness \u0026 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 \u0026 PhantomJS. The application will be able to navigate to all of the interwebs \u0026 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. ","recording_license":"Creative Commons","do_not_record":false,"persons":[{"guid":"9299f9fb-5627-5d81-91d2-c9d5ad29cf49","id":611,"name":"Sebastian Golasch","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"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1337.html","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-coding_the_dream","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.","recording_license":"CC BY-NC-ND 4.0","do_not_record":false,"persons":[{"guid":"75a3b347-1ceb-5df7-83f3-c2be8a22e3bc","id":893,"name":"Team Hoodie","public_name":"Team Hoodie"}],"links":[{"url":"http://hood.ie","title":"Hoodie"},{"url":"http://twitter.com/hoodiehq","title":"Hoodie on Twitter"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1462.html","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-property-based_testing","title":"Property-based Testing","subtitle":"Another nail in TDD´s 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.","recording_license":"","do_not_record":false,"persons":[{"guid":"169d7e5e-9942-53f8-b8b6-b3ceb0d0f53f","id":489,"name":"Christoph Neuroth","public_name":"Christoph Neuroth"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1463.html","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-webgl_3d_welten_im_browser","title":"WebGL – 3D Welten im Browser","subtitle":"Eine Einführung 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ührung in die Grundlagen von 3D Welten wird gefolgt von der Erklärung der “Programmable Pipeline”\r\nund der “Shader-Entwicklung”. Mit JavaScript setzt WebGL auf einer sehr einfach Sprache auf. Im Gegensatz zur Desktopentwicklung mit OpenGL oder Embedded Anwendung mit OpenGL ES 2.0, sind die Entwicklungszeiten für 3D Anwendungen im Browser ungleich kürzer. Auch die Wiederverwendbarkeit von WebGL Anwendung in allen aktuellen Systemen (iOS, Android, Mac, Windows, Linux) ist ein beachtenswerter Vorteil, den Kai Niklas in dieser Sitzung ausarbeitet.\r\n\r\nNur selten werden Web-Entwickler für Ihre Arbeit mit so beeindruckenden Visuellen Effekten belohn wie beim Einsatz von WebGL.","recording_license":"","do_not_record":false,"persons":[{"guid":"a9eda5b3-de96-5bae-8d4d-1c830ff35954","id":1005,"name":"Kai Niklas","public_name":"Kai Niklas"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1472.html","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-create_a_3d_webgl_scene_in_half_an_hour","title":"Create a 3D WebGL scene in half an hour!","subtitle":null,"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 – 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 – it will always be fun, promised!","description":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"5f7a6c89-248b-50f1-8a20-776f59ee8799","id":1011,"name":"Jens Arps","public_name":"Jens Arps"}],"links":[],"attachments":[]}],"RedFrogConf (C118)":[{"url":"http://programm.froscon.de/2014/events/1450.html","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-not_being_an_asshole_is_not_enough","title":"Not being an asshole is not enough","subtitle":null,"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 „Don’t be an asshole“ 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 „workarounds“ 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":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"6c50183a-b80e-5d6d-b5ad-15a334afbd43","id":996,"name":"Ellen König","public_name":"Ellen König"}],"links":[{"url":"http://computational-social-science.blogspot.de","title":"Homepage"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1417.html","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-ruby_mvc_from_scratch_with_rack","title":"Ruby MVC from scratch with Rack","subtitle":null,"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","recording_license":"","do_not_record":false,"persons":[{"guid":"2d843809-6cab-573e-aa51-e095a8a4fd4d","id":957,"name":"DonSchado","public_name":"DonSchado"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1430.html","id":1430,"guid":"cpot2xDwyg695ihR3TsUfw","logo":"/system/events/logos/000/001/430/large/eduard_litau.png?1404134567","date":"2014-08-23T11:30:00+02:00","start":"11:30","duration":"00:40","room":"RedFrogConf (C118)","slug":"froscon2014-1430-testbarkeit_in_ruby","title":"Testbarkeit in Ruby","subtitle":null,"track":"RedFrogConf (Ruby)","type":"lecture","language":"de","abstract":"Tests steigern die Qualität und das Vertrauen in die Software. Wie muss nun Code gestaltet werden, so dass die Tests dazu einfacher geschrieben werden können? Was sind die typischen Schwachstellen von Ruby Programmen? Und wie schreibt man Code, 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älligem Ruby Code ein und stelle Patterns und Refactorings vor, um die Tests zu vereinfachen.","description":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"eea96323-b947-5dad-a0d5-326776015202","id":983,"name":"Ede","public_name":"Ede"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1446.html","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-ruby_workshop","title":"Ruby Workshop","subtitle":null,"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. ","recording_license":"","do_not_record":false,"persons":[{"guid":"3eb8ba98-1352-5d0e-bc37-d949a0f74c71","id":854,"name":"Dirk Breuer","public_name":"Dirk Breuer"},{"guid":"a4672391-9990-5603-8a79-5803f9aeec51","id":891,"name":"Lucas Dohmen","public_name":"Lucas Dohmen"},{"guid":"01e770ce-38e8-52d4-8d0f-079c862ffca6","id":853,"name":"Bodo Tasche","public_name":"Bodo Tasche"},{"guid":"5293e264-8fc7-56c4-871d-9b356275c411","id":995,"name":"Tobias Eilert","public_name":"Tobias Eilert"}],"links":[],"attachments":[]}],"Java / Django (C116)":[{"url":"http://programm.froscon.de/2014/events/1451.html","id":1451,"guid":"Ku1Qasf3nqlotyUQT8c_PQ","logo":"/system/events/logos/000/001/451/large/JavaFX.png?1406286936","date":"2014-08-23T10:00:00+02:00","start":"10:00","duration":"01:00","room":"Java / Django (C116)","slug":"froscon2014-1451-neue_features_in_javafx_8","title":"Neue Features in JavaFX 8","subtitle":"Der große Sprung von V2.2 auf V8: Was hat sich geändert?","track":"Java","type":"lecture","language":"de","abstract":"Dieser Vortrag gibt einen Überblick über die wesentlichen Neuerungen der im März dieses Jahres veröffentlichten Version 8 von JavaFX.","description":"Im März dieses Jahres machte JavaFX - zumindest in der Versionsnummer - einen großen 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ür das Framework, das nun erstmalig fester Bestandteil des JRE/JDK für Java 8 ist?\r\n\r\nUnd wie ist das RIA-Framework mit den neuen Features gegen die (scheinbar) übermächtige 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!","recording_license":"","do_not_record":false,"persons":[{"guid":"f7a1d90c-9f87-585f-a18b-3ab682a449ec","id":852,"name":"Ralf Bommersbach","public_name":"Ralf Bommersbach"}],"links":[],"attachments":[{"url":"/system/event_attachments/attachments/000/000/297/original/javafx8.ppt?1408965446","title":"Vortrags-Folien"}]},{"url":"http://programm.froscon.de/2014/events/1461.html","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-humanitarian_open_source_software","title":"Humanitarian Open Source Software","subtitle":"Software für 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ände von Menschen zu verbessern.","description":"OpenMRs ist eine Software zur Patientendatenerfassung, das Kliniken und Programmen zur Gesundheitsvorsorge beim effizienten und effektiven Informationsmanagement unterstützt. MifosX ist eine Plattform, auf deren Grundlage Mikrofinanzdienstleistungen bereit gestellt werden können. RapidFTR wird von UNICEF in Krisengebieten zur Familienzusammenführung verwendet wird.  \r\n\r\nDie Session verfolgt zwei Ziele: Teilnehmer lernen Humanitarian Open Source Projekte kennen und interessieren sich dafür, sich an der Weiterentwicklung dieser oder ähnlicher Software aktiv zu beteiligen. Dazu werden die Projekte sowohl inhaltlich als auch im Hinblick auf den jeweiligen Technologiestack betrachtet. Abschließend gibt es Tips und Tricks, wie man erfolgreich in die Mitarbeit an einem der Projekte einsteigen kann.","recording_license":"","do_not_record":false,"persons":[{"guid":"d2a9b762-469d-50bf-8c4d-cf3713d8e0bc","id":847,"name":"Wolf Schlegel","public_name":"Wolf Schlegel"}],"links":[],"attachments":[{"url":"/system/event_attachments/attachments/000/000/307/original/Humanitarian_Software_FrOSCon_2014_v1.pdf?1409908553","title":"Folien"}]},{"url":"http://programm.froscon.de/2014/events/1434.html","id":1434,"guid":"2GleNl5vwbr6dysfN1HIWg","logo":"/system/events/logos/000/001/434/large/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-practical_java_memory_management","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ße Hilfe - solange alles gut verläuft. Viele Entwickler kennen aber auch die möglichen Probleme: Die Applikation stürzt ab, ist mehrere Sekunden nicht ansprechbar oder führt nach einiger Zeit permanent Garbage Collections durch. Der Schuldige ist schnell ausgemacht - der Garbage Collector. Aber dürfen wir als Programmierer und Architekten wirklich den Müllmann für den Müll 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önnen dabei helfen? Wann sind \"Major collections\" nicht mehr normal? Wie entstehen und wie erkennt und behebt man Speicherlecks? Auch Infrastruktur-Maßnahmen wie monit können bei der Aufrechterhaltung der Service-Qualität helfen.\r\n\r\nAm Ende steht die Frage: Kann eine echte Applikation Terabyte von Daten bearbeiten, ohne je eine Major Collection durchzuführen?","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örer soll in die Lage versetzt werden, den eigenen Speicherverbrauch einzuschätzen. Ich stelle OpenSource Tools vor (z.B. twitter ObjectSizeCalculator), die dabei helfen. An Beispielen wird gezeigt, wie stark sich das Klassen-Design auf den Speicherverbrauch auswirkt.\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ügbar (https://github.com/trivago/jcha).\r\n\r\nEs geht auch um die Beantwortung der Frage, wie man einen Service verfügbar hält, wenn Applikations-Pausen durch Major Collections tatsächlich unvermeidbar sind.\r\nFür eine gesamtheitliche Lösung 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önnen.\r\n","recording_license":"","do_not_record":false,"persons":[{"guid":"d02bd316-e2d2-5d63-b5da-9ef86daf1611","id":988,"name":"Christian Esken","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"}],"attachments":[{"url":"/system/event_attachments/attachments/000/000/298/original/Practical_Memory_Management_v9.pdf?1408966036","title":"Slides - Practical Java Memory Management"}]},{"url":"http://programm.froscon.de/2014/events/1454.html","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-party_finder_osmdroid","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ächst wird der wesentliche Aufbau einer Android-Anwendung erläutert. Anhand der Demo-App \"Party Finder\" wird dann gezeigt, (1) wie die Position ermittelt werden kann, (2) wie OpenStreetMap-Karten mit osmdroid in Android-Apps integriert werden können, und (3) wie mit Hilfe von Overlays interaktive Karten gestaltet werden können.\r\n\r\nJava-Kenntnisse werden vorausgesetzt; Android-Kenntnisse sind nicht erforderlich.","recording_license":"","do_not_record":false,"persons":[{"guid":"bbecc25a-6367-5218-970d-cc75897746f2","id":838,"name":"Mag Hoehme","public_name":"Mag Hoehme"}],"links":[{"url":"http://www.mhoehme.de/android/froscon2014/","title":"Pary-Finder-Seite"}],"attachments":[{"url":"/system/event_attachments/attachments/000/000/302/original/partyfinder_froscon2014.pdf?1409151883","title":"Party Finder (Folien)"},{"url":"/system/event_attachments/attachments/000/000/303/original/Partyfinder.tar.gz?1409151883","title":"Party Finder (Sources)"}]},{"url":"http://programm.froscon.de/2014/events/1453.html","id":1453,"guid":"6HlQLKxK2HrDmOIgBdGzkQ","logo":"/system/events/logos/000/001/453/large/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-unser_xmpp_messenger_in_android","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ür Android entwickeln, die mehr als eine Activity benutzen, kennst aber Android und seine Konzepte zu wenig? Du willst wissen wie ein Chat Messenger in Android aussieht, doch es fehlt dir ein Ansatz dafür? Du willst lernen wie man mit Android spielend Hintergrundprozesse startet, Notifications gestaltet oder Datenbanken einbindet? Dann komm zu unserem Workshop!","description":" Als Werksstudenten der anderScore GmbH beschäftigen wir uns mit dem spannenden Projekt eine Messaging App zu gestalten und zu bauen. In diesem Vortrag wollen wir dir an Hand eines kleinen Beispiels zeigen, wie man mit so einem Projekt anfängt, wie man mit Problemen und Fallstricken in Android umgehen kann und wie man vorhandene Androidkonzepte für sich und seine App nutzt. Hierzu wollen wir mit dir zusammen via Livecoding eine kleine Messaging App entwickeln, dir eine Vorstellung davon geben, wie eine solche Applikation in Android strukturell aussehen kann und wie man verschiedene Androidkonzepte direkt im Code implementiert! Mach einfach mit und entdecke, wie spannend das Entwickeln fürs eigene Smartphone sein kann.\r\n\r\nAls Basis für die Teilnahme empfehlen wir grundlegende Kenntnisse in Java. Für Teilnehmer, die noch einen allgemeinen Einstieg in die Basics von Android brauchen empfehlen wir vorab den Vortrag „Party Finder (osmdroid)“ von Mag Hoeme","recording_license":"","do_not_record":false,"persons":[{"guid":"8306809d-7838-5ce2-a97b-221217fa9695","id":1000,"name":"Max Johenneken","public_name":"Max Johenneken"},{"guid":"16d4d7f9-b599-5c57-87d4-96f56cf65ee1","id":1003,"name":"Patrick Loka","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"}],"attachments":[{"url":"/system/event_attachments/attachments/000/000/306/original/froscon2014Slides.pdf?1409601668","title":"Vortragsfolien"}]},{"url":"http://programm.froscon.de/2014/events/1452.html","id":1452,"guid":"pF2XeWdH9MB05aIAc52W3Q","logo":"/system/events/logos/000/001/452/large/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-reaktive_programmierung_mit_akka","title":"Reaktive Programmierung mit Akka","subtitle":null,"track":"Java","type":"workshop","language":"de","abstract":"Korrekte, hochgradig nebenläufige und parallelisierte Systeme zu erstellen, ist nach wie vor eine anspruchsvolle Aufgabe. Das Actor Model ist ein Ansatz, mit dem diese Herausforderung beherrschbar wird. Nach einer kurzen Einführung in die grundlegenden Konzepte wird in einer Livecoding-Session gezeigt, wie man hochskalierbare Anwendungen mit dem Actorframework Akka baut.","description":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"0a0b9faf-5368-545b-8a66-2d4b845c3943","id":701,"name":"André Arnold","public_name":"André Arnold"}],"links":[{"url":"http://akka.io/","title":"Akka"}],"attachments":[{"url":"/system/event_attachments/attachments/000/000/308/original/ReaktiveProgrammierungAkka.pdf?1410292344","title":"Slides \"Reaktive Programmierung mit Akka\""}]}],"CMS Garden (C119)":[],"Python (C120)":[],"Wordpress/quasiconf 2014(Lisp) (C130)":[],"Archlinux (C125)":[{"url":"http://programm.froscon.de/2014/events/1484.html","id":1484,"guid":"A3sxr28W9Rl8ufo-FfcdyA","logo":"/system/events/logos/000/001/484/large/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-the_community_of_arch_linux","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":null,"recording_license":"","do_not_record":true,"persons":[{"guid":"465ad7bb-2330-588e-af0a-238569e719c0","id":1019,"name":"Thorsten Töpper","public_name":"Thorsten Töpper"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1486.html","id":1486,"guid":"S_AgYPhPiWAPHSMiOx2gwQ","logo":"/system/events/logos/000/001/486/large/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-paket-verwaltung_und_-erstellung_unter_arch_linux","title":"Paket-Verwaltung und -Erstellung unter Arch Linux","subtitle":null,"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ärt. Abschließend wird eine Fehlerkorrektur vom Bug-Report bis hin zum fertigen Paket demonstriert.","description":null,"recording_license":"","do_not_record":true,"persons":[{"guid":"af565124-94ab-5fdd-a3b9-3db2d8b0df08","id":370,"name":"Pierre Schmitz","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"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1483.html","id":1483,"guid":"4-MovTSF_CaDIeudDNs4eg","logo":"/system/events/logos/000/001/483/large/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-arch_linux_q_a","title":"Arch Linux Q\u0026A","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":null,"recording_license":"","do_not_record":true,"persons":[{"guid":"ecacb6e3-1211-5721-b680-3f7df3306d3c","id":1018,"name":"Thomas Bächler","public_name":"Thomas Bächler"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1485.html","id":1485,"guid":"SY1aweW3XdYu7XdeBJJZuw","logo":"/system/events/logos/000/001/485/large/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-arch_linux_installation_and_troubleshooting_workshop","title":"Arch Linux Installation and Troubleshooting Workshop","subtitle":null,"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":null,"recording_license":"","do_not_record":true,"persons":[{"guid":"ecacb6e3-1211-5721-b680-3f7df3306d3c","id":1018,"name":"Thomas Bächler","public_name":"Thomas Bächler"}],"links":[],"attachments":[]}],"B118":[{"url":"http://programm.froscon.de/2014/events/1480.html","id":1480,"guid":"yk_Rj8OARfT1g8S7yyessA","logo":"/system/events/logos/000/001/480/large/lightningtalk.jpeg?1408365984","date":"2014-08-23T14:00:00+02:00","start":"14:00","duration":"01:00","room":"B118","slug":"froscon2014-1480-lightning_talks","title":"Lightning Talks","subtitle":null,"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.","recording_license":"","do_not_record":false,"persons":[{"guid":"b6378214-ee8c-55d1-883d-c6b6add580ab","id":365,"name":"Christian Theune","public_name":"Christian Theune"}],"links":[],"attachments":[]}]}},{"index":2,"date":"2014-08-24","day_start":"2014-08-24T10:00:00+02:00","day_end":"2014-08-24T20:00:00+02:00","rooms":{"HS1":[{"url":"http://programm.froscon.de/2014/events/1309.html","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-your_search_doesn_t_work","title":"Your search doesn’t 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’t 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.","recording_license":"","do_not_record":false,"persons":[{"guid":"a7fd73ae-2e97-5a56-a6fd-7f7d07d976cc","id":894,"name":"Isabel Drost-Fromm","public_name":"Isabel Drost-Fromm"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1307.html","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-systemverwaltung_mit_spacewalk","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ägliche 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önnen auch standardisierte Sicherheits-Checks nach OpenSCAP durchgeführt und Konfigurationen verteilt werden.\r\nNeben einigen Grundlagen der Software-Suiten behandelt dieser Vortrag einige Standard-Situationen mit denen ein Adminstrator täglich konfrontiert wird - und wie sie sich am einfachsten lösen lassen.","recording_license":"","do_not_record":false,"persons":[{"guid":"8407d8a2-2c3a-5a31-9cd7-82d31bab70ab","id":890,"name":"Christian Stankowic","public_name":"Christian Stankowic"}],"links":[],"attachments":[{"url":"/system/event_attachments/attachments/000/000/290/original/Systemverwaltung_mit_Spacewalk_FrOSCon_2014.pdf?1408886182","title":"Deutsche Folien"},{"url":"/system/event_attachments/attachments/000/000/292/original/System_management_with_Spacewalk_FrOSCon_2014.pdf?1408888742","title":"English slides"}]},{"url":"http://programm.froscon.de/2014/events/1360.html","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-open_source_backup","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ührt.","description":"Der Vortrag stellt die Open Source Backup Software Bareos vor. Bareos ist ein alternative für Administratoren, Backups auf Enterprise Niveau und Netzweit durchzuführen. Die Software stellt somit eine netzwerkbasierende Backuplösung für heterogene Netzwerke dar.\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üsselung.\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.","recording_license":"MIT","do_not_record":false,"persons":[{"guid":"b2929b28-b177-5470-b064-41c3d1d3e117","id":932,"name":"Daniel","public_name":"Daniel"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1394.html","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-ist_dies_schon_wahnsinn_so_hat_es_doch_methode","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ünde findet. ","description":"Aus den verlorenen Weiten zwischen Prototypen und Scopes kündet ein Wanderer von der hellen aber auch der dunklen Seite der meistgenutzten Skriptsprache der Welt. Von einem Berg von ungenutzten Objektreferenzen aus erzählt er von seiner gefahrvollen Reise in die Welt von Angular, V8 und Node und zeigt, welche finsteren Orte man nicht betreten sollte aber auch welche Wunder dort zu finden sind. Hört gut zu, denn er gibt verschnörkelte Hinweise, wie sich JavaScript und geistige Gesundheit in Einklang bringen lassen und welche kolossalen Handwerkszeuge dazu nötig sind.\r\n","recording_license":"","do_not_record":false,"persons":[{"guid":"b60e7649-1dc4-57ab-b57e-2cbda93a1f94","id":526,"name":"Michael Kleinhenz","public_name":"Michael Kleinhenz"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1301.html","id":1301,"guid":"suenICj4bYVw7C1TMuPzqg","logo":"/system/events/logos/000/001/301/large/icinga_logo4.png?1398790857","date":"2014-08-24T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS1","slug":"froscon2014-1301-icinga_1_icinga_2","title":"Icinga 1, Icinga 2","subtitle":"Aktuelles aus dem Icinga Projekt","track":"Monitoring","type":"lecture","language":"de","abstract":"Nach den vielen Veröffentlichungen Icinga 2 Technology Milestones, fragen sich viele Sysadmins: Was kann Icinga 2 genau und wie schaut es mit Icinga 1.x aus?","description":"Wir möchten 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 über 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äutern, 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ür 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!","recording_license":"","do_not_record":false,"persons":[{"guid":"1c422b6f-ae6d-540c-947d-f1049ee94d93","id":886,"name":"Markus Frosch","public_name":"Markus Frosch"}],"links":[{"url":"http://www.icinga.org","title":"Icinga"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1387.html","id":1387,"guid":"XmW_Dlk97XByw3rKkFU3RQ","logo":"/system/events/logos/000/001/387/large/heartbleed.png?1400859545","date":"2014-08-24T17:45:00+02:00","start":"17:45","duration":"01:00","room":"HS1","slug":"froscon2014-1387-to_make_hearts_bleed","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.","recording_license":"","do_not_record":false,"persons":[{"guid":"1b256c56-ffd6-5e95-bb05-39baf637deed","id":230,"name":"Daniel Molkentin","public_name":"Daniel Molkentin"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1479.html","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-shutdown","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.","recording_license":"","do_not_record":false,"persons":[{"guid":"5dde95df-7039-5e4f-badb-3b1c8bb7625a","id":605,"name":"towo","public_name":"towo"},{"guid":"716f9827-2fb3-56e9-bec7-daf4a8694cd0","id":343,"name":"ScottyTM","public_name":"ScottyTM"}],"links":[],"attachments":[]}],"HS3":[{"url":"http://programm.froscon.de/2014/events/1302.html","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-salt_stack_-zentrales_systemmanagement_der_neuen_generation","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öglicht eine zentrale Verwaltung von Serverfarmen und heterogenen Umgebungen. Aber auch wer nur wenige Hosts verwaltet, sollte einen Blick auf Salt werfen. Die Installtaion ist verblüffend einfach. Das Modul zur Remote-Execution läuft sofort. Wie von anderen sogenannten Parallel-Shells bekannt, können nun Kommandos auf mehreren Hosts ausgeführt werden. Doch Salt bietet bei der Remote-Execution mehr als eine Shell. Module für Standardaufgaben wie Updates, Paketverwaltung oder dem Editieren von Dateien machen dem Admin das Leben leichter.\r\n\r\nNach nur wenigen Minuten Einarbeitung können schon die ersten Regeln zur zentralisierten Verwaltung von Hosts geschrieben und ausgerollt werden. \r\n\r\nSalt erfordert keine lange Einarbeitung oder das Wälzen von dicken Handbüchern. Jeder kann einfach anfangen und nach Belieben tiefer vordringen. \r\n\r\nEs gibt kaum eine Aufgabe, die Salt nicht bewältigt:\r\nSysteme installieren, Dienste konfigurieren, Benutzer anlegen, Backup durchführen, Content ausrollen, alles ist möglich. \r\nSalt abstrahiert die Konfiguration vom Betriebssystem, so dass Regeln auf alle Distributionen und bei Bedarf auch auf Microsoft Windows angewendet werden können.","recording_license":"","do_not_record":false,"persons":[{"guid":"41b7263d-8a63-5a53-af3f-deda6f0d7efa","id":473,"name":"Thorsten Kramm","public_name":"Thorsten Kramm"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1372.html","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-our_puppet_story","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.","recording_license":"","do_not_record":false,"persons":[{"guid":"b583b10a-def5-5630-8f5a-4bc1845b2400","id":939,"name":"Martin Schütte","public_name":"Martin Schütte"}],"links":[{"url":"http://www.slideshare.net/DECK36/our-puppet-story-linuxtag-2014","title":"Slidedeck from Linuxtag 2014"}],"attachments":[{"url":"/system/event_attachments/attachments/000/000/299/original/20140824-froscon-puppet-story.pdf?1408984353","title":"Slides"}]},{"url":"http://programm.froscon.de/2014/events/1412.html","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-vlizedlab_-_eine_open_source-virtualisierungslosung_fur_pc-raume","title":"VlizedLab - Eine Open Source-Virtualisierungslösung für PC-Räume","subtitle":null,"track":"Virtualisierung","type":"lecture","language":"de","abstract":"Mit dem Vlizedlab (www.vlizedlab.at) können PC-Räume in Schulen mit minimalem Aufwand mit Virtualisierungstechnologie ausgerüstet werden, sodass die Studierenden ausschließlich in virtuellen PCs arbeiten, die in einem schlanken, aus Open Source-Komponenten bestehenden Basissystem laufen. Dadurch lassen sich viele Übungen von Office über Multimedia bis zu Systemadministration auf völlig neue Weise bei freier Wahl des Betriebssystems durchführen.","description":"Die Vielfalt der Lehrveranstaltungen, die in einem PC-Raum abgehalten werden, stellen an die Software-Ausstattung der PCs enorme Anforderungen: Diversität von Software und Betriebssystemen, Rechtevergaben am Studierende, kontrollierte Netzwerkbereiche, maximale Ausfallzeiten, etc. Um diese Anforderungen mit einem leicht zu bedienenden System zu erfüllen, haben wir mit dem \"VlizedLab\" eine Lösung implementiert, in der die Studierenden ausschließlich in virtuellen PCs arbeiten, die in einem schlanken, aus Open Source-Komponenten bestehenden Basissystem laufen. Das System beinhaltet auch Komponenten zur (automatischen) Verteilung der Installation im Raum, sodass die PCs automatisch konsistent gehalten werden. Eine ganze Palette an automatischen oder einfach zu bedienenden Störungsbehebungsmechanismen sichert einen störungsarmen Betrieb. Und die Möglichkeit, jeden einzelnen Übungs-PC auf den Saal-Projektor durchzuschalten ist auch bereits im Basis-System integriert und damit vom Übungs-PC unabhängig.\r\n\r\nMit dem \"VlizedLab\" können nicht nur viele Übungen, etwa im Bereich Office, Programmierung, Simulation, Multimedia, etc. störungsfreier und mit einem breiteren Spektrum an eingesetzter Software durchgeführt werden, sondern es werden auch etliche Übungen etwa im Bereich Betriebssysteme, Systemadministration, Datenbanken, Serverbetrieb, Netzwerk, etc. mit dieser Infrastruktur überhaupt erst möglich. Auch komplexe Übung, die eine flexible Simulation von Hardware erfordern (Beispiele: Netzwerk Client-Server-Firewall, Installation oder Migration von Betriebssystemen, RAID Ausfall von Festplatten, ...) sind ohneweiteres möglich.\r\n\r\nDamit eignet sich das  \"VlizedLab\" für die verschiedensten Bildungs-Bereiche vom Pflichtschulbereich bis zu IT-Schulungen und Fachhochschulen. Und weil die verschiedenen virtuellen Übungsrechner mit allen gängigen Betriebssystemen (Windows, verschiedene Linuxe, FreeBSD, etc.) laufen können, können Schüler und Schülerinnen von Anfang an mit einer heterogenen IT-Landschaft vertraut werden.\r\n\r\nNeuerdings wird in Zusammenarbeit mit den Österreichischen Ministerium für 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äte arbeiten, unterrichten zu können.\r\n\r\nDamit wird eine flexible Schul-IT-Lösung zu geschaffen, die den Arbeitsaufwand für die lokale Administratoren bzw. Kustoden an den Schulen minimiert und eine flexible Koexistenz/Migration verschiedener IT-Lösungen ermöglicht.\r\n\r\nUnd weil das \"VlizedLab\" ausschließlich aus Open Source Komponenten besteht, könnte es an jeder Bildungseinrichtung lizenzkostenfrei eingesetzt werden.\r\n\r\nDas Vlizedlab ist bereits seit einigen Jahren an einigen österreichischen Schulen und Fachhochschulen im praktischen Betrieb.\r\n\r\nWir berichten über den Aufbau das \"VlizedLab\", über praktische Erfahrungen und über die neuesten Updates dieses Projekts.","recording_license":"","do_not_record":false,"persons":[{"guid":"4622a247-c0d8-5dbb-9120-1937c5871fc7","id":529,"name":"Robert Matzinger","public_name":"Robert Matzinger"}],"links":[{"url":"http://www.vlizedlab.at/","title":"Vlizedlab"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1303.html","id":1303,"guid":"U27juFyjTn1n-7zHaPL58g","logo":"/system/events/logos/000/001/303/large/ganeti-128.png?1398862750","date":"2014-08-24T15:15:00+02:00","start":"15:15","duration":"01:00","room":"HS3","slug":"froscon2014-1303-ganeti","title":"Ganeti","subtitle":null,"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’s 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","recording_license":"","do_not_record":false,"persons":[{"guid":"34fdf5ad-ef55-5bb2-9aa3-59eaa71bcab6","id":766,"name":"Klaus Aehlig","public_name":"Klaus Aehlig"},{"guid":"148691ea-f5aa-5499-b692-7f79fe4f83bf","id":765,"name":"Helga Velroyen","public_name":"Helga Velroyen"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1471.html","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-it-unsicherheit_in_der_gebaudeautomation","title":"IT-Unsicherheit in der Gebäudeautomation","subtitle":"Eine Bestandsaufnahme","track":"Security","type":"lecture","language":"de","abstract":"Dieser Vortrag gibt einen Überblick über die in der Gebäudeautomation 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","recording_license":"","do_not_record":false,"persons":[{"guid":"0017c469-6c0d-5f5d-ae2a-f6803b0226c0","id":1010,"name":"Daniel Arenz","public_name":"Daniel Arenz"}],"links":[],"attachments":[]}],"HS4":[{"url":"http://programm.froscon.de/2014/events/1306.html","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-domain_driven_design_nosql","title":"Domain Driven Design \u0026 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 — a still important topic regarding lots of failing projects. In this talk I want to show you how NoSQL’s document stores and graph databases can help with DDD and 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.","recording_license":"I'm open to anything :)","do_not_record":false,"persons":[{"guid":"a4672391-9990-5603-8a79-5803f9aeec51","id":891,"name":"Lucas Dohmen","public_name":"Lucas Dohmen"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1410.html","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-bash-versteher_dank_strace","title":"Bash-Versteher dank Strace","subtitle":null,"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ändnis beim Schreiben von Skripten\r\nsowiewie auch dem Testen und Debuggen von täglichen Problemen mit\r\nShell-Skripten, denn Strace gibt weit mehr Informationen über den\r\nAblauf eines Skriptes wie die üblichen Logging-Methoden wie \"set -x\" u.ä.\r\n","recording_license":"CC","do_not_record":false,"persons":[{"guid":"38ea2759-027c-556a-856f-c351f8be4d04","id":630,"name":"Harald König","public_name":"Harald König"}],"links":[{"url":"http://www.linuxtag.org/2013/de/program/mittwoch-22-mai-2013.html?eventid=107","title":"ähnlicher Vortrag beim LinuxTag 2013"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1328.html","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-programmierung_mit_latex","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ührung...\r\n","recording_license":"","do_not_record":false,"persons":[{"guid":"2be1d31c-28ec-5a88-9f2c-8a1885f2f465","id":530,"name":"Wolfgang Dautermann","public_name":"Wolfgang Dautermann"}],"links":[{"url":"http://www.latex-project.org/","title":"LaTeX – 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"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1404.html","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-zero-cost_security_monitoring","title":"Zero-cost security monitoring","subtitle":"(with Icinga)","track":"Monitoring","type":"lecture","language":"en","abstract":null,"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.","recording_license":"","do_not_record":false,"persons":[{"guid":"4b7c5e90-778e-5a9d-933a-29110064c058","id":954,"name":"Ralf C. Staudemeyer","public_name":"Ralf C. Staudemeyer"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1344.html","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-open_source_client_management_fur_windows_and_linux_mit_opsi","title":"Open Source client management für Windows and Linux mit opsi","subtitle":null,"track":"Systems Management","type":"lecture","language":"de","abstract":"Das Opensource Client Management System opsi verwaltet heterogene Systeme (Windows / Linux). Diese Vortrag gibt einen Überblick wie wie OS-Installation, Softwareverteilung, Konfiguration und Inventarisierung mit opsi Funktionieren.","description":"opsi ist seit 10 Jahren ein Opensource Client Management System für Windows Clients basierend auf Linux Servern. Ab jetzt können mit opsi auch Linux Clients gemanaged werden. Diese Linux Unterstützung durch opsi ist Distribution übergreifend ( Debian, Ubuntu, Suse, RedHat/CentOS) und deckt die Funktionalitäten automatisch Betriebssysteminstallation, Softwareverteilung, Konfiguration und Inventarisierung ab.\r\n\r\nDer Vortrag gibt zunächst einen Überblick über die Grundfunktionen von opsi um dann anhand von Beispielen, Livevorführung und Kurzvideos in die Themen OS-Installation, Softwareverteilung und Inventarisierung für Windows und Linux einzugehen.\r\n\r\nErgänzend werden Schnittstellen zu anderen Projekten (Nagios, OTRS, ITOMIG) aufgezeigt.\r\n\r\nAktuelle Probleme des Clientmanagements wie z.B. UEFI BIOS und Geräte ohne Ethernetanschluß werden erläutert.\r\n\r\nEin Vorstellung des Konzeptes der Kofinanzierung zur kommerziellen Erstellung von Opensource Software und die opsi Roadmap schließen den Vortrag ab.\r\n","recording_license":"CC (by-sa).","do_not_record":false,"persons":[{"guid":"453be8fc-aa63-5fe1-a04f-f5891af9a9aa","id":923,"name":"detlef oertel","public_name":"detlef oertel"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1367.html","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-maintaining_a_oss_project_with_git_-_kivitendo","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","recording_license":"","do_not_record":false,"persons":[{"guid":"cd6da6c9-0a97-5a52-b7f5-0691efa1148f","id":767,"name":"Jan Büren","public_name":"Jan Büren"}],"links":[{"url":"http://blog.kivitendo-premium.de/?p=168","title":"Blog entry for rebase as a proffesional admin tool"}],"attachments":[{"url":"/system/event_attachments/attachments/000/000/296/original/froscon-2014.pdf?1408950570","title":"maintaining a oss project with git - kivitendo"}]}],"HS5":[{"url":"http://programm.froscon.de/2014/events/1318.html","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-bitcoin","title":"Bitcoin","subtitle":"Open Sourcing Money","track":"Security","type":"lecture","language":"de","abstract":"Bitcoin hat im Jahr 2013 große Medienaufmerksamkeit erhalten. Dabei spielen vor allem Geschichten von plötzlichem Reichtum, großen Betrügereien und den Befürchtungen der Strafverfolgungsbehörden eine Rolle. Dass Bitcoin aber zunächst ein einfaches, dezentrales Open-Source-Projekt ist, wird selten thematisiert. Dieser Vortrag soll einen kurzen Rückblick zur Entstehungsgeschichte den Open Source Software \"Bitcoin\" geben, die grundlegende Innovation des Protokolls erläutern 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ötzlich breite Aufmerksamkeit erlangte. Heute beschäftigen sich institutionelle Großanleger in den USA, die Notenbanken und nationalen Regulierungsbehörden sowie Strafverfolgungsbehörden intensiv mit Bitcoin und den Möglichkeiten der Technologie.\r\n\r\nAußen vor bleibt bislang die Open Source Community. Ich möchte meinen Vortrag nutzen, um für diejenigen, die Bitcoin skeptisch gegenüber stehen, nahe zu bringen, warum ich Bitcoin für das perfekte Protokoll für jede Open Source Bewegung halte. Dabei geht es mir nicht um die Verwendung von konkreten Bitcoins, sondern um die Möglichkeiten, die sich durch die Erfindung der Blockchain ergeben. Hierzu werde ich andere Projekte, die die gleiche Technologie (Namecoin, Ripple usw.) für neue Anwendungen nutzen vorstellen und über spannende zukünftige Entwicklungen (Mastercoin, Ethereum) sprechen.\r\n\r\nDer Vortrag richtet sich an Zuhörer, die Verständnis von asymmetrischer Verschlüsselung und erste Erfahrung im Umgang mit Open Source Software haben und sich für die Sinnhaftigkeit und den Nutzen von Bitcoin und seinen Derivaten interessieren.","recording_license":"Art Libre","do_not_record":false,"persons":[{"guid":"75655b5d-ee93-5263-b0b3-b5cc046381b1","id":901,"name":"Levin Keller","public_name":"Levin Keller"}],"links":[{"url":"www.bitcoinage.de","title":"Levins Blog über Bitcoin"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1315.html","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-latex_fur_studenten","title":"LaTeX für 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äftigen sollten. In diesem Vortrag zeige ich, wie man mit wenig Aufwand zu ansprechenden Dokumenten und Präsentationen 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ängige Office-Programme ein wenig aufgeholt haben, gibt es noch eine Vielzahl von Anforderungen, die nur oder nur sinnvoll mit LaTeX zu bewältigen sind.\r\n\r\nIn diesem Vortrag zeige ich einige LaTeX-Basics, bevor es dann daran geht, effizient längere Dokumente wie Abschlussarbeiten oder Präsentationen zu setzen.\r\n\r\n","recording_license":"","do_not_record":false,"persons":[{"guid":"d10e72ac-bd4e-5c1e-99a1-10facb86afd3","id":470,"name":"Uwe Ziegenhagen","public_name":"Uwe Ziegenhagen"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1363.html","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-dropwizard","title":"Dropwizard","subtitle":"Framework für 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ässt. In meinem Vortrag stelle ich die Grundfunktionen von Dropwizard vor und erläutere diese an Beispielen. ","description":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"aca64ac6-ccd2-5deb-81a7-f5e6b21f4dd5","id":935,"name":"Martin Ley","public_name":"Martin Ley"}],"links":[{"url":"https://github.com/mley/dwdemo","title":"Demo-Projekt"}],"attachments":[{"url":"/system/event_attachments/attachments/000/000/293/original/dropwizard-techtalk.pdf?1408893484","title":"Präsentation"}]},{"url":"http://programm.froscon.de/2014/events/1369.html","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-micro_services","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.","recording_license":"CC-BY-SA 3.0","do_not_record":false,"persons":[{"guid":"14d57682-1ea6-5918-a7a6-6537ec1d0258","id":21,"name":"Sebastian Mancke","public_name":"Sebastian Mancke"}],"links":[],"attachments":[{"url":"/system/event_attachments/attachments/000/000/301/original/FrosCon2014_Micro-Services-Architecture.pdf?1409122158","title":"Sldes"}]},{"url":"http://programm.froscon.de/2014/events/1400.html","id":1400,"guid":"v7AbhGiALo9fSeHxxUayIQ","logo":"/system/events/logos/000/001/400/large/webodf.png?1400879927","date":"2014-08-24T16:30:00+02:00","start":"16:30","duration":"01:00","room":"HS5","slug":"froscon2014-1400-webodf_-_anzeigen_und_bearbeiten_von_dokumenten_in_eigenen_web-projekten","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öglicht. Sie arbeitet komplett im Browser, noch nicht unterstützte 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 Übersicht der Funktionsweise und zeigt in Live-Demos, wie WebODF in eigene Projekte eingebaut werden kann.","description":"Es gibt viele Anwendungsfälle für WebODF:\r\n\u003cul\u003e\r\n\u003cli\u003edie direkte Veröffentlichung von Dokumenten auf Webseiten\u003c/li\u003e\r\n\u003cli\u003edas Schreiben neuer Dokumente oder das Redigieren bestehender per Kommentierungen oder direkte Bearbeitung (durch einen Nutzer oder auch gleichzeitig mehrere) in Webanwendungen\u003c/li\u003e\r\n\u003cli\u003edie interaktive Erstellung von Dokumenten in Webanwendungen\u003c/li\u003e\r\n\u003c/ul\u003e\r\nEinige der Anwendungsfälle können durch einfach zu verwendendene Javascript-Komponenten gelöst werden, z.B. durch die Anzeige-Komponente ViewerJS oder die Editor-Komponente Wodo.TextEditor, die mit wenigen Zeilen HTML oder JavaScript eingebunden werden und auf Serverseite nur als Dateien vorliegen brauchen. Andere Anwendungsfälle, mit mehr spezifischen Bedürfnissen, können durch Verwendung der Abstraktionsebenen in der WebODF-Bibliothek gelöst werden und z.B. eine eigene Editor-Benutzerschnittstelle erhalten oder Anbindung an die gewünschten Web-Dienste.","recording_license":"","do_not_record":false,"persons":[{"guid":"1bf3c36c-9f2b-56e6-b68d-ef44d0952af2","id":953,"name":"Friedrich W. H. Kossebau","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"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1345.html","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-konferenzorganisation_mit_frab_und_media_ccc_de","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 \u003ca href=\"http://github.com/frab/frab\u003efrab\u003c/a\u003e und \u003ca href=\"http://media.ccc.de\"\u003emedia.ccc.de\u003c/a\u003e.\r\n\r\nWie wurden die Server installiert? Wie kommen die Videos auf \u003ca href=\"http://media.ccc.de\"\u003emedia.ccc.de\u003c/a\u003e? Welche Schnittstellen gibt es für interessierte Entwickler?\r\n","description":"Frab ist eine in Ruby geschriebene Software die Teams die Verwaltung von Vorträgen für Konferenzen ermöglicht.\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ügbaren Schnittstellen (XML und Exporte)\r\n* Öffentliches 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 Ökosystem besteht mittlerweile aus einer Reihe von Ruby Anwendungen. Die  Besonderheiten der Anwendungen, ihr Zusammenspiel und die verfügbaren Schnittstellen werden im Vortrag vorgestellt. Dabei wird auch immer auf das tatsächliche Deployment eingegangen. Ob es der Frab Cluster ist, die Libvirt LXC Container, oder das mit mirrorbrain gebaute CDN.\r\n","recording_license":"","do_not_record":false,"persons":[{"guid":"3d80c991-bbb9-540f-b2ba-c3358e79033a","id":924,"name":"Mario Manno","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"}],"attachments":[{"url":"/system/event_attachments/attachments/000/000/294/original/FesRuby.Slides.pdf?1408900314","title":"FesRuby.Slides.pdf"}]}],"HS6 (PHP)":[{"url":"http://programm.froscon.de/2014/events/1440.html","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-passworte_waren_gestern","title":"Passworte waren gestern","subtitle":null,"track":"PHP Devroom","type":"lecture","language":"de","abstract":"Seit gefühlt einer Ewigkeit versucht die IT-Industrie ihren Anwendern bei zu bringen, dass sie nur sichere und starke Passworte verwenden sollen - um dann bei deren sicheren Speicherung kollosal zu versagen. An einer langen Historie an sicherheitsrelevanten Vorfällen zeigt sich mehr als deutlich, Passworte sind zur Authentifizierung ziemlich ungeeignet. Um dieses Problem endlich mal zu lösen, schauen wir uns in diesem Vortrag mal Alternativen zur passwortgestützten Anmeldung an - und wie man diese in PHP implementiert.","description":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"875e923e-44a7-570a-93bb-f0417116898c","id":159,"name":"Arne Blankerts","public_name":"Arne Blankerts"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1441.html","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-what_symfony_has_to_do_with_my_garage_-_home_automation_with_php","title":"What Symfony Has To Do With My Garage - Home Automation With PHP","subtitle":null,"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":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"e1757c23-f01a-50a7-9b34-a14d636ed69f","id":993,"name":"Jan Unger","public_name":"Jan Unger"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1442.html","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-full_throttle_refactoring","title":"Full Throttle Refactoring","subtitle":null,"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":null,"recording_license":"","do_not_record":true,"persons":[{"guid":"e2af1c68-6b46-53ae-aa94-f2e17679811c","id":216,"name":"Thorsten Rinne","public_name":"Thorsten Rinne"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1443.html","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-executable_documentation_for_everyone_even_you","title":"Executable Documentation for everyone (even you)","subtitle":null,"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":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"169ade77-2356-5b93-88fe-279b7e1b3b9a","id":845,"name":"Nikolas Martens","public_name":"Nikolas Martens"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1444.html","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-building_a_smarty-to-machine-code_compiler","title":"Building a smarty-to-machine-code compiler","subtitle":null,"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.","recording_license":"","do_not_record":false,"persons":[{"guid":"73def6cb-8fac-5ac1-8ff8-e98a49559dfe","id":991,"name":"Emiel Bruijntjes","public_name":"Emiel Bruijntjes"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1445.html","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-refactoring_a_monolithic_framework_for_composer_usage","title":"Refactoring a monolithic Framework for composer usage","subtitle":null,"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":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"a8af1c9c-cb45-5c4e-beb8-4c4084d00a17","id":641,"name":"Flyingmana aka Daniel Fahlke","public_name":"Flyingmana aka Daniel Fahlke"}],"links":[],"attachments":[]}],"Workshop (C115)":[{"url":"http://programm.froscon.de/2014/events/1331.html","id":1331,"guid":"Ghie_o0_JNqy02_u2rSBow","logo":"/system/events/logos/000/001/331/large/angular_logo.png?1400498894","date":"2014-08-24T10:00:00+02:00","start":"10:00","duration":"04:00","room":"Workshop (C115)","slug":"froscon2014-1331-angularjs_workshop","title":"AngularJS Workshop","subtitle":null,"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","recording_license":"","do_not_record":false,"persons":[{"guid":"14d57682-1ea6-5918-a7a6-6537ec1d0258","id":21,"name":"Sebastian Mancke","public_name":"Sebastian Mancke"}],"links":[{"url":"http://smancke.github.io/angularjs-intro/","title":"Slides"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1380.html","id":1380,"guid":"L0d4M_CsE3ZJwky-XC3I7Q","logo":"/system/events/logos/000/001/380/large/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-using_spdx_to_discover_the_licenses_in_your_code","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 ","recording_license":"CC-BY-4.0 license","do_not_record":false,"persons":[{"guid":"d99b58e5-f8f6-5cbb-b636-386d27cededb","id":944,"name":"Nuno Brito","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"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1324.html","id":1324,"guid":"r4aSmzG28XAMagCJ3sw2fQ","logo":"/system/events/logos/000/001/324/large/smfjb.jpg?1405634348","date":"2014-08-24T15:15:00+02:00","start":"15:15","duration":"03:30","room":"Workshop (C115)","slug":"froscon2014-1324-coding_dojo_bonn_-_kata_workshop","title":"Coding Dojo Bonn - Kata Workshop","subtitle":null,"track":"Development","type":"workshop","language":"de","abstract":"Im Rahmen eines dreistündigen Workshops für bis zu 20 Teilnehmer werden die Grundlagen der testgetriebenen Entwicklung (TDD) anhand einer Code-Kata erarbeitet. Eine überschaubare Programmieraufgabe, die durch die teilnehmenden Entwickler im Paar mit TDD gelöst wird, ermöglicht es persönlich zu erfahren wie Katas den Weg zur kontinuierlichen Verbesserung ebnen.","description":"\u003ch2\u003eAblauf\u003c/h2\u003e\r\n\u003ch3\u003eEinführung\u003c/h3\u003e\r\n\u003cp\u003e \t\r\nGeführte Einleitung über den Idee hinter Code-Katas als Weg zu kontinuierlicher Verbesserung und kontinuierlichem Training. Üben von Best-Practices welche potenziell in der täglichen Arbeit nicht zur Anwendung kommen, insb. pragmatisches, simples Codedesign auf Basis von Tests und Clean Code.\r\n\u003c/p\u003e\r\n\u003ch3\u003eErklärung der Katas\u003c/h3\u003e\r\n\u003cp\u003e \r\nAls Kata bietet sich bei einem gemischten Set an Teilnehmern eine leichte Aufgabe an, die auch bei Teilerfüllung sichtbare Ergebnisse liefert. In der Erklärung werden die Anforderungen an das Ergebnis beschrieben, aber kein konkreter Lösungweg vorgegeben.\r\n\u003c/p\u003e\r\n\u003ch3\u003eEntwickeln in Iterationen\u003c/h3\u003e\r\n\u003cp\u003e \r\nEntwicklern der Lösung im Pair. Ein kleiner Break nach 25min Entwicklungszeit. In den einzelnen Teams wird zwischen Driver und Observer nach jedem Red-Green-Refactor Zyklus gewechselt.\r\n\u003c/p\u003e\r\n\u003ch3\u003eRetrospektive (ca. 45min)\u003c/h3\u003e\r\n\u003cp\u003e \r\nDie Retrospektive bietet Raum für Diskussion und Möglichkeit das Erlebte zu reflektieren. Wie hoch war die Anfangshürde? Wann war der erste Test “grün”? Wie weit ist das Ergebnis nach 2 Stunden? Hat sich eine Art “Flow” eingestellt? Könnte man an der gefunden Lösung noch Optimierungen vornehmen?\r\n\u003c/p\u003e\r\n\u003ch2\u003eAnforderungen an Teilnehmer\u003c/h2\u003e\r\n\u003cp\u003e \r\nTeilnehmer am Kata-Workshop sollten in der Lage sein auf einem mitgebrachten Notebook ihre Programmiersprache und IDE der Wahl in Grundzügen zu beherrschen. Zusätzlich ist ein Test-Framework notwendig bspw. JUnit mit der der Teilnehmer erste Erfahrungen gesammelt hat.\r\n\u003c/p\u003e\r\n\u003ch2\u003eOrganisation und Betreuung\u003c/h2\u003e\r\n\u003cp\u003e \r\nJan und Andreas sind Co-Organizer des “Agile Meetup Bonn” und teilen beide das Agile-Mindset. Seit einem Jahr veranstaltet Jan regelmäßig das Coding-Dojo der Softwerkskammer Bonn mit einer bunten Gruppe an erfahrenen Entwicklern und Studenten.\r\n\u003c/p\u003e","recording_license":"","do_not_record":false,"persons":[{"guid":"449777a6-074f-5ce6-816f-bdd654b7cf0c","id":907,"name":"Jan Nonnen","public_name":"Jan Nonnen"},{"guid":"5beb36e1-c057-5a3e-a295-ed6991eac518","id":994,"name":"Andreas Kluth","public_name":"Andreas Kluth"}],"links":[],"attachments":[]}],"Workshop / Javascript (C117)":[{"url":"http://programm.froscon.de/2014/events/1402.html","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-pdf-kungfoo_mit_ghostscript_co","title":"PDF-KungFoo mit Ghostscript \u0026 Co.","subtitle":"PDFs erzeugen, verstehen, analysieren, manipulieren und ...fürchten?","track":"System Administration","type":"workshop","language":"de","abstract":"\u003cp\u003eDer Workshop demonstriert einige der Top-10-Probleme (Reihung nach der subjektiven Erfahrung des Workshop-Leiters), die bei der Verarbeitung oder Erstellung von PDF-Dateien in der Praxis auftreten können. Dazu gehören u.a. Darstellung von 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öße und vieles mehr. Neben Ghostscript werden noch viele andere frei verfügbare PDF-Werkzeuge vorgestellt, insbesondere solche, die sich auf der Kommandozeile nutzen lassen.\u003c/p\u003e","description":"\u003cp\u003eWer diesen Workshop besucht, kann die Erkenntnisse und verwendeten Tools auf allen wichtigen Betriebssystem-Plattformen einsetzen: Linux, OS X, Windows, Solaris, *BSD,...\u003c/p\u003e\r\n\r\n\u003cp\u003eEine volle Stunde des Workshops gelten einer ersten Einführung in die Sprach- und Syntax-Elemente von PDF. Man lernt, wie man PDFs so vorbereitet, dass man sie nicht im \u003ci\u003e\u003cstrong\u003eHex-\u003c/strong\u003e\u003c/i\u003e sondern im \u003ci\u003e\u003cstrong\u003eASCII-\u003c/strong\u003e\u003c/i\u003eEditor analysieren und bearbeiten kann.\u003c/p\u003e\r\n\r\n\u003cp\u003eIm abschließenden Bonus-Track (Umfang je nach vorhandener Rest-Zeit) kann man eine Ahnung davon erhalten, wie  -- \u003ci\u003eabsichtlich\u003c/i\u003e oder \u003ci\u003eversehentlich\u003c/i\u003e! -- nicht direkt erkennbare Informationen in einer PDF versteckt, hinterlassen, \"durchgesickert\" oder unzugänglich gemacht sein könnten ... und ebenso, wie man solche Informationen wieder aus einer PDF herausholt.\u003c/p\u003e\r\n\r\n\u003cp\u003eTeilnehmer erhalten Zugriff auf ein Archiv mit Links zu allen verwendeten Beispiel- und Test-Dateien, ebenso wie auf ein Dokument mit allen vorgeführten Befehlen samt zugehöriger Erläuterungen.\u003c/p\u003e","recording_license":"Creative Commons: CC-BY-NC-SA ","do_not_record":false,"persons":[{"guid":"7e3ad185-77b3-563b-b66c-529c90db3104","id":774,"name":"Kurt Pfeifle (@pdfkungfoo)","public_name":"Kurt Pfeifle (@pdfkungfoo)"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1414.html","id":1414,"guid":"yc2Qp5QRF6tc4YI9Ltmu4w","logo":"/system/events/logos/000/001/414/large/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-linotp_setup_und_integration","title":"LinOTP Setup und Integration","subtitle":null,"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ührt. Danach erfolgt die Einbindung von verschiedenen LDAP und SQL Userdatenbanken (389, OpenLDAP, MySQL, Postgresql, u.a.) und die Einbindung verschiedener Typen von Token (Hardware, Software, zeit- und eventbasiert, Challenge Response).\r\n\r\nBei der Integration wird die Einbindung von PAM ( verschiedene Displaymanager und CLI), Apache und kurz die Anbindung von RADIUS erläutert.\r\n\r\nIm dritten Teil wird eine beispielhafte Webapplikation entwickelt um die Integration von Authentifizierung und Administration in bestehende Umgebungen zu zeigen.","recording_license":"","do_not_record":false,"persons":[{"guid":"1289c064-e9a1-58cb-85a3-8740ff842faa","id":956,"name":"Rainer Endres","public_name":"Rainer Endres"}],"links":[{"url":"http://linotp.org","title":"LinOTP"},{"url":"http://lsexperts.de","title":"LSE"}],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1366.html","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-hands-on_mit_oauth2","title":"Hands-On mit OAuth2","subtitle":null,"track":"Web Development","type":"workshop","language":"de","abstract":"\r\n","description":"Viele große Firmen wie Google, Facebook, Twitter und co setzen OAuth2 ein, um Benutzer bei ihren unterschiedlichen Diensten zu anzumelden. Manche bieten sogar öffentliche APIs für Fremdanwendungen an, um ihren Authentisierungsmechanismus für das Login zu nutzen. Aber wie funktioniert OAuth2 überhaupt?\r\n\r\nIn diesem Workshop möchten wir es euch ermöglichen, euch einmal genauer mit OAuth2 zu beschäftigen. Wir beginnen mit einer theoretischen Einführung zu OAuth2, in der die Begriffe und Abläufe des Protokolls erklärt werden. Im Anschluss möchten wir uns praktisch mit OAuth2 auseinandersetzen. Dabei geben wir euch die Gelegenheit, eine eigene Anwendung in der Programmiersprache eurer Wahl zu schreiben, die eine Authentisierung über OAuth2 durchführt. Um dies möglichst reibungslos zu gestalten bringen wir Code-Beispiele und einen OAuth2 Server mit, der für diese Zwecke konfiguriert ist. Die Teilnehmer sollten einen eigenen Laptop mitbringen.","recording_license":"","do_not_record":false,"persons":[{"guid":"505873c7-7eff-5f6a-b53e-dd2499da0115","id":921,"name":"Timo Pick","public_name":"Timo Pick"}],"links":[{"url":"http://tools.ietf.org/html/rfc6749","title":"OAuth2"}],"attachments":[]}],"RedFrogConf (C118)":[{"url":"http://programm.froscon.de/2014/events/1431.html","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-a_summer_full_of_code","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’d like to introduce the program and its connections to Open Source. \r\nWe will share our personal experiences and look into how the ‘learning by doing approach’ has been working for us. We hope to proudly present the latest results of working on our two Source projects. \r\nLast but not least we want to spread the word about this awesome initiavtive.","recording_license":"","do_not_record":false,"persons":[{"guid":"ab49c097-18db-5b4f-9d06-b733a7a7632d","id":977,"name":"Ute Mayer","public_name":"Ute Mayer"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1427.html","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-jruby_a_pi_and_some_java_database","title":"JRuby, a Pi and some Java Database","subtitle":null,"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":"\u003cp\u003eJRuby 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.\u003c/p\u003e\r\n\u003cp\u003eWhile 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.\u003c/p\u003e\r\n\u003cp\u003eOh and by the way all of this runs on a little Raspberry Pi!\u003c/p\u003e","recording_license":"Attribution-ShareAlike 4.0 International","do_not_record":false,"persons":[{"guid":"d382431f-9e4b-5568-867c-3055bab34bf9","id":975,"name":"Philipp Fehre","public_name":"Philipp Fehre"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1322.html","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-a_revolutionary_idea_why_not_use_a_job_queue_system_for_your_job_queue","title":"A revolutionary idea: why not use a job queue system for your job queue?","subtitle":null,"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.","recording_license":"cc-by-sa-nc","do_not_record":false,"persons":[{"guid":"af253b0c-f42b-5a61-8c3d-d831902bf240","id":900,"name":"bitboxer","public_name":"bitboxer"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1346.html","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-datenbank-release-management_mit_postgresql_und_ruby-on-rails","title":"Datenbank-Release-Management mit PostgreSQL und Ruby-on-Rails","subtitle":"Ein GIT für die Datenbank – 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ötigen oft komplexe Datenbankmodelle mit umfangreichen Abhängigkeiten. Gleichzeitig ist häufig ein Release-Management der Datenbank erwünscht, um Inhalte und Shop-Funktionen im Voraus zu erstellen und einen Test- und Abnahmeprozess zu ermöglichen. Es wird eine Lösung vorgestellt, die der Basisfunktionalität eines Source-Control-Systems wie GIT ähnelt. Releases können – ohne die Live-Prozesse zu stören – mit dem Produktionscode als Preview angeschaut und überprüft werden. Es sind auch mehrere, gleichzeitig existierende Releases möglich, die zusammengeführt werden können.","description":"Viele mit Ruby-on-Rails und PostgreSQL entwickelte Webanwendungen wie Content-Management-Systeme oder Shop-Systeme benötigen oft komplexe Datenbankmodelle mit umfangreichen Abhängigkeiten. Gleichzeitig ist häufig ein Release-Management der Datenbank erwünscht, um Inhalte und Shop-Funktionen im Voraus zu erstellen und einen Test- und Abnahmeprozess zu ermöglichen. Gängige Lösungen versehen hierfür einzelne Datenbankmodelle z. B. mit Attributen wie Gültigkeitszeiträume oder Release-Status, oder sie verwenden komplett getrennte Systeme für Preview- und Live-Umgebungen. Die Handhabung solcher Attribute kann bei umfangreichen Datenbanken sehr komplex werden. Getrennte Systeme erhöhen den Ressourcenbedarf einer Anwendung stark und Previews werden dabei nicht auf dem eigentlichen Live-System geprüft.\r\n\r\nUnsere Lösung ähnelt der Basisfunktionalität eines Source-Control-Systems wie GIT. So wie GIT-Benutzer mit Commits arbeiten können, kann man in unserem System mit Releases – ein Satz von Änderungen, Einfügungen und Löschungen in der Datenbank – arbeiten. Erweiterungen der Datenbank müssen das Release-Management nicht speziell berücksichtigen, da es als eigenständiges Modul implementiert ist.\r\n\r\nReleases können – ohne die Live-Prozesse zu stören – mit dem Produktionscode als Preview angeschaut und geprüft werden. Vollständige Bestellprozesse können damit z. B. in einem Shop auf dem Live-System getestet werden. Es sind auch mehrere, gleichzeitig existierende Releases möglich, die zusammengeführt werden können. Manuelle Konfliktbehebung ist dann nur bei gleichzeitiger Änderung von Daten eines Objekts notwendig.\r\n","recording_license":"","do_not_record":false,"persons":[{"guid":"c45ca45b-b437-5518-8cf3-416851c6ae6a","id":925,"name":"Frank Lancaster","public_name":"Frank Lancaster"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1490.html","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-rust_for_rubyists","title":"Rust for Rubyists","subtitle":null,"track":"RedFrogConf (Ruby)","type":"lecture","language":"de","abstract":"A short introduction to the new and upcoming systems programming language called Rust.","description":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"800281e0-b669-518d-9b4c-f92040284ac2","id":905,"name":"Jan-Erik","public_name":"Jan-Erik"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1447.html","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-how_to_make_guacamole_an_object_document_mapper","title":"How to make Guacamole, an Object Document Mapper","subtitle":null,"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.","recording_license":"","do_not_record":false,"persons":[{"guid":"7286a121-ced2-5865-a628-7c3da4c819cf","id":902,"name":"Dirk ","public_name":"Dirk "}],"links":[],"attachments":[]}],"Java / Django (C116)":[{"url":"http://programm.froscon.de/2014/events/1493.html","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-help_desk","title":"Help Desk","subtitle":null,"track":"Django Devroom","type":"lecture","language":"de","abstract":null,"description":null,"recording_license":"","do_not_record":false,"persons":[],"links":[],"attachments":[]}],"CMS Garden (C119)":[],"Python (C120)":[{"url":"http://programm.froscon.de/2014/events/1464.html","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-einfuhrung_in_python","title":"Einführung in Python ","subtitle":null,"track":"Python Devroom","type":"lecture","language":"de","abstract":"Einführung in die Programmiersprache Python ","description":"Python ist eine universell verwendbare Programmiersprache, die unterschiedliche Paradigmen wie prozedurale, funktionale oder objektorientierte Programmierung unterstützt. Die Sprache wurde wurde mit dem Ziel entworfen, möglichst einfach und übersichtlich zu sein und gilt mittlerweile als leicht erlernbar, mit klarer und übersichtlicher Syntax. Dennoch erlaubt Python auch die Umsetzung komplexer Anwendungen bis hin auf Enterprise-Ebene.\r\n\r\nDer Vortrag führt in die Funktionsweise von Python ein. Die Einführung richtet sich an Teilnehmer, die idealerweise bereits über erste Programmiererfahrung verfügen und sich nun auch für die Nutzung von Python interessieren. ","recording_license":"","do_not_record":true,"persons":[{"guid":"380c3331-82d2-51a7-a8fb-a30ebcb54105","id":588,"name":"Klaus Bremer","public_name":"Klaus Bremer"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1465.html","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-einstieg_in_django","title":"Einstieg in Django","subtitle":null,"track":"Python Devroom","type":"workshop","language":"de","abstract":null,"description":null,"recording_license":"","do_not_record":true,"persons":[],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1466.html","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-software-dokumentation_mit_sphinx","title":"Software-Dokumentation mit Sphinx ","subtitle":null,"track":"Python Devroom","type":"lecture","language":"de","abstract":null,"description":null,"recording_license":"","do_not_record":true,"persons":[{"guid":"d050770a-407e-575b-9235-095b3b1f85c6","id":306,"name":"Jan Ulrich Hasecke","public_name":"Jan Ulrich Hasecke"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1467.html","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-heimautomatisierung_mit_python_und_raspberrypi","title":"HeimAutomatisierung mit Python und RaspberryPi ","subtitle":null,"track":"Python Devroom","type":"lecture","language":"de","abstract":"Das Thema Heim-Automatisierung ist auf dem Vormarsch - kleine und leistungsfähige Microcontroller wie Arduino oder Linux Mini-Computer wie BeagleBone oder Raspberry Pi, die mit einem leistungsstarken Prozessor ausgestattet sind, ermöglichen einen schnellen Einstieg in das Thema. Der Vortrag gibt einen Überblick über das Thema und zeigt konkrete Beispiele auf Basis der Raspberry Pi Plattform mit Python als Programmiersprache. ","description":"Das Raspberry Pi ist ein kreditkartengroßer Mini-Computer, der vielfältige Einsatzmöglichkeiten bietet - vom MediaCenter über den eigenen Mini-Cloud-Server bis zum stromsparenden Home-Server als Schaltzentrale der Heim-Automatisierung.\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äsentiert.\r\n\r\nDie Einführung in die praktischen Einsatz des Raspberry Pi zur Heim-Automatisierung richtet sich an Teilnehmer, die sich für diesen Einsatzbereich der Programmiersprache Python interessieren. ","recording_license":"CC-BY-SA ","do_not_record":false,"persons":[{"guid":"62595f1f-6afe-53e7-ae32-c02e4190d0cc","id":722,"name":"Thomas Koch","public_name":"Thomas Koch"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1468.html","id":1468,"guid":"toXFHmMF46prhJKdxWJp6g","logo":"/system/events/logos/000/001/468/large/IPy_header.png?1408440171","date":"2014-08-24T15:15:00+02:00","start":"15:15","duration":"01:00","room":"Python (C120)","slug":"froscon2014-1468-ipython_notebook_-_python_interaktiv_im_browser","title":"IPython Notebook - Python interaktiv im Browser","subtitle":null,"track":"Python Devroom","type":"lecture","language":"de","abstract":"Das IPython Notebook bietet eine vorzügliche, interaktive Umgebung für die Arbeit mit Python. Ein Notebook ist gleichzeitig interaktiv und ein Dokument, das sich speichern lässt. Neben den IPython-Eigenschaften wie nahtlose Einbindung von Shell-Kommandos und ausgefeilten Hilfen und automatischen Vervollständigungsvorschlägen bietet es viele Möglichkeiten aussagekräftige und attraktive Beschreibungen hinzuzufügen. Neben Markdown, HTML oder LaTeX unterstützt es viele weitere Markup- und Programmiersprachen.\r\n\r\nDer Vortrag stellt IPython Notebook kurz vor. Ein großer Teil wird interaktiv im Browser ablaufen. Fragen sind jederzeit willkommen. ","description":"IPython ist bereits über zehn Jahre alt und hat sich als komfortable Alternative zu dem einfachen, interaktiven Python-Prompt bewährt. IPython bietet ein wesentlich besseres Hilfesystem, Befehlsvervollständigungen, diskretes Ausführen von Shell-Kommandos, Werkzeuge zu Laufzeitmessung und vieles mehr. Es gibt sehr viele so genannten \"magische Kommandos\" mit denen sich verschiedenste Aufgaben schnell lösen lassen. Im wissenschaftlichen Bereich ist IPython schon lange der Standard für das interaktive Arbeiten mit Python.\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ätzlich zu allen Möglichkeiten des Kommandozeilen-IPython bieten sie viele grafische Elemente und ermöglichen das Abspeichern der Notebooks als JSON-Dokumente. Auch der Export in verschiedene Formate ist möglich. Ein Notebook besteht aus Zellen. Diese Zellen können ausführbaren Python-Code oder andere Information in Form von Markdown, HTML, LaTeX, Bildern oder Videos enthalten. Auch Zellen mit ausführbaren Quelltext in anderen Programmiersprachen wie Javascript, Cython, Fortran oder anderen Python Versionen, wie Python 3 in einem Python 2 Notebook oder umgekehrt, sind möglich.\r\n\r\nDer Vortrag gibt einen Überblick über die Möglichkeiten von IPython und IPython Notebook. Die Folien sind natürlich mit Hilfe eines Notebooks entstanden. Große 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öglich ist. Fragen sind jederzeit willkommen, denn Ausflüge in die Tiefen von IPython sind immer lohnenswert. ","recording_license":"CC-BY-SA ","do_not_record":false,"persons":[],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1469.html","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-docker_orchestration","title":"Docker Orchestration ","subtitle":null,"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. ","recording_license":"CC-BY-SA ","do_not_record":false,"persons":[],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1470.html","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-pymove3d_-_nutze_python_in_blender_und_erstelle_eine_animation","title":"pymove3D - nutze Python in Blender und erstelle eine Animation ","subtitle":null,"track":"Python Devroom","type":"lecture","language":"de","abstract":"pymove3D ist ein Python Kurs des Python Software Verbands für Schüler, die Interesse haben 3D-Animationen zu programmieren. Einmal im Jahr gibt es begleitend einen Programmierwettbewerb. Dieser Beitrag gibt einen Einstieg in die Objekt Orientierte 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önnen Sie mit den Objekten interagieren und bekommen Ergebnisse sofort angezeigt. Beispiele und die Ergebnisse der beiden letzten Wettbewerbe http://pymove3d.pysv.org/ Python bewegt die Welt werden vorgestellt.\r\n\r\nDer Vortrag gibt einen Überblick, welche Erfahrung wir mit dieser Idee gemacht haben und wie wir weiterhin vorgehen möchten. ","recording_license":"CC-BY-SA ","do_not_record":false,"persons":[{"guid":"56b35f9a-ea26-5b3c-9258-e161311faeeb","id":717,"name":"Reimar Bauer","public_name":"Reimar Bauer"}],"links":[],"attachments":[]}],"Wordpress/quasiconf 2014(Lisp) (C130)":[{"url":"http://programm.froscon.de/2014/events/1456.html","id":1456,"guid":"bKZYJGt6LeQJrtg5h7GOQw","logo":"/system/events/logos/000/001/456/large/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-about_scheme","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.","recording_license":"","do_not_record":false,"persons":[{"guid":"a86d2a45-bb66-50ef-a5db-2df655bdce3a","id":638,"name":"Moritz Heidkamp","public_name":"Moritz Heidkamp"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1457.html","id":1457,"guid":"OiTv9jy3u1aH9jOyf0BD5Q","logo":"/system/events/logos/000/001/457/large/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-emacs_lisp","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.","recording_license":"","do_not_record":false,"persons":[{"guid":"642b8fad-850f-5c8d-8b26-3a74313b538c","id":964,"name":"Vasilij Schneidermann","public_name":"Vasilij Schneidermann"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1458.html","id":1458,"guid":"HzDSxz61s1JgeFvFdXI4Yg","logo":"/system/events/logos/000/001/458/large/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-clojure_in_production","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":null,"recording_license":"","do_not_record":false,"persons":[{"guid":"04ed5c8b-b51d-5928-8f16-95d2a5572abd","id":1012,"name":"Gerrit Hentschel","public_name":"Gerrit Hentschel"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1459.html","id":1459,"guid":"0xLSdBHZyZ4yuEdwj9AWTA","logo":"/system/events/logos/000/001/459/large/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-clojure_in_90_minutes","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ßchen funktionaler Programmierung an Bord?  Mitnichten!  Clojure ist das Ergebnis fundamentaler Fragestellungen und Überlegungen. Clojure stellt gültige Paradigmen auf den Kopf und schafft dadurch nicht mehr Chaos, sondern überraschenderweise mehr Ordnung. Clojure ermöglicht auf fundamentale Art eine einfachere Softwareentwicklung. Und am Ende hat das Einfache noch immer das Komplexe abgelöst.\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äten der täglichen Arbeit wieder ins Bewusstsein gerufen und deren Verbesserungspotential aufgedeckt. Alleine das ist schon ein riesiger Gewinn. Wer darüber hinaus noch Lust auf Clojure entwickelt, hat doppelt gewonnen.","recording_license":"","do_not_record":false,"persons":[{"guid":"a4094a42-337f-55d6-81be-f4dba0b735f1","id":1009,"name":"Ingo Küper","public_name":"Ingo Küper"}],"links":[],"attachments":[]},{"url":"http://programm.froscon.de/2014/events/1460.html","id":1460,"guid":"zdMJCudumJMJh921qXuW3Q","logo":"/system/events/logos/000/001/460/large/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-clojure_kickstart_workshop","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 \u003e= 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.","recording_license":"","do_not_record":false,"persons":[{"guid":"9200ad09-e9e0-59f8-8bf2-752b8d875b6d","id":929,"name":"Falko Riemenschneider","public_name":"Falko Riemenschneider"}],"links":[{"url":"https://github.com/friemen/cugb/blob/master/kickstart.md","title":"Detailed Workshop Description"}],"attachments":[]}],"Archlinux (C125)":[],"B118":[]}}]}}}