Internationale PHP Konferenz 2018 (Spring Edition) in Berlin

Co-Autoren: meine geschätzen Kollegen Andy und Gunther

Nach 3 Tagen und genau 20 Sessions wollen wir euch einen kleinen Überblick geben, über das was wir in Berlin so gesehen und erlebt haben. Die Konferenz lief parallel zu webinale und somit waren auch Themen die nicht unbedingt mit der Programmierung zu tun hatten umfangreich vertreten. Es ging zum Bespiel um das Thema User Expericence (UX), User Interface, Voice Interfaces oder auch ums Storytelling. Viele dieser Vorträge waren explizit an Designer und Product Manager gerichtet. Für uns Programmierer, aber auch Web-Devs, gab es unzählige Veranstaltungen über die wir euch jetzt einen kleinen Überblick verschaffen wollen.

Wenn man sich nur ein paar Talks anschauen möchte, dann lautet unsere Empfehlung:

  • Accessibility For Everyone
  • Chinas Social Credit System
  • Scaling Sparta
  • Future Ethics

Dienstag

Scaling Sparta: Military Lessons for Growing a Dev Team

Herstellung einer Analogie zwischen den Militärs der Spartaner, Mongolen und dem römischen Reiches mit den unterschiedlichen Entwicklungstufen einer Firma. Je nach Größe eines Unternehmen sind andere Hierrachien, Prozesse und Verfahren nötig.

Tools every PHP Developer needs to know

Sebastian Bergmann, thePHP.cc

Sebastian Bergmann, Gründer von zum Beispiel PHPUnit zeigt welche tools er für die qualitativen Erzeugung von Code verwendet. Dazu gehören u.a. die PHP Inspections (Plugin PHPStorm), PHPStan, php-cs-fixer und Psalm. Die Tools überschneiden sich teilweise in ihren Sniffs, aber man kann diese auch eine Weile parallel betreiben und schauen welche für das eigene Projekt die sinnvollsten Metriken liefern. Zum Schluss wurde mit Infection noch der “hot shit” gezeigt - ein Fuzzer für PHP. Computer sind mittlerweile schnell genug dass Fuzzer in sinnvoller Laufzeit arbeiten. Dabei wird ein Test durchlaufen, die Coverage getrackt. Anschließend wird im gecoverten Code Operatoren und Konstanten geändert. Nach jeder Änderung wird geschaut ob der Test noch erfolgreich durchläuft. Falls ja ist der Test nicht gut.

Rethinking Namespacing in PHP

Arne Blankerts (thePHP.cc), Sebastian Heuer (die kartenmacherei)

Namespaces bilden üblicherweise den Verzeichnispfad ab. In Java ist das Gegenstück dazu das Package und kann auch vom Verzeichnis entkoppelt werden. Es wurde ein Ansatz gezeigt, das auch in PHP zu tun und so für ein Paket einen Namespace zu haben. So ist Refactoring der Verzeichnisstruktur einfacher und die Sichtbarkeiten zw. den Klassen des Namespaces auch. Gezeigt wurde das am Beispiel eines Event-Sourcing-basierten Projektes.

CSS Grids im Detail

Nach “display: float” und “display:flex” folgt “display:grid” und mitlerweile wird diese tolle Eigenschaft auch von allen Browsern unterstüzt. Ein kurzer informativer Abriss mit welch einfachen Methoden mächtige Grid Layouts erstellt werden können, die auch noch Responsive agieren.

Building an Incredible Machine with Generators and Pipelines in PHP

Daniel Leech, Inviqa

PHP Generators sind seit PHP 5.5 verfügbar, jedoch ist der Einsatzzweck nicht sofort ersichtlich. Um aber große Datein oder Datenmengen zu verarbeiten eignen sie sich hervorragend, da nicht die gesamten Daten im Speicher (z.B. einem Array) gehalten werden. In Verbindung mit Pipelines (thephpleague/pipeline) steht man bei der Massenverarbeitung nicht mehr vor Speicherproblemen.

Zero Knowledge

Ben Dechrai @bendechrai

Gezeigt wurde, wie man eine komplett Client-seitig verschlüsselte Kommunikation realisieren kann um so die kritischen Kundendaten (bspw. Nutzerprofil, Adresse) für den Server unlesbar zu machen und trotzdem eine Verarbeitung zu realisieren. Beispiel war hier eine App mit Login und Nutzerdaten und Kontoumsatzliste (!), welche kategorisiert wurde (!!). Die Kategorisierung erfolgte auf den verschlüsselten Werten. Ein super Konzept für einen vertrauenswürdigen Passwort-Manager. Problem noch: der Private-wird Key mit gespeichert, ist aber durch ein Passwort geschützt.

Dr. Seuss guide to code craftmanship

Emily Freeman, Kickbox

Die bei uns eher wenig bekannten Geschichten des Dr. Seuss sind wahrscheinlich einen Blick wert. Wer sind wir? Wie verbessern wir unsere Fahigkeiten als Entwickler, aber auch als Individuum. “You have brains in your head. You have feet in your shoes. You can steer yourself any direction you choose. You’re on your own. And you know what you know. And YOU are the guy who’ll decide where to go.”

Accessibility For Everyone

Laura Kalbag, Indie

Rund 20% aller Deutschen leiden an einer Beeinträchtigung die ihnen die Nutzung von Webseiten erschwert. Das können Sehbehinderungen (rot-grün-, grün-rot-, blau-gelb-Schwächen, gar keine Farbwahrnehnumg) oder auch physologische Beeinträchtigen wie zum Beispiel Hand-Auge-Koordinationschwächen sein. Credo: Wir müssen endlich damit beginnen von Anfang an, die Seiten so zu gestalten und umzusetzen das sie wirklich für alle Menschen gleich leicht zu bedienen sind.

Performance-Optimierung für CMS getriebene Websites

Markus Bokowsky - Bokowsky + Laymann GmbH

Der Schwerpunkt dieser Session liegt ganz klar bei der schnelleren Verarbeitung und Anzeigen von Websites. Um das zu erreichen sopllte nur das an den Kunde gesendet werden, was dieser auch nur sehen kann. Insbesondere Bilder sollten dynamisch je nach Endgerät in entsprechenden Auflösungen geliefert werden.

Eine Geschichte von Storytelling im Design

Pascal Haynol - USEEDS GmbH + Oliver Tschernik - Freelance Conceptual Designer

Wie präsentiere ich eine Geschichte bei der ich von Anfang an deine Aufmerksamkeit haben und diese auch nicht mehr verloren geht? Was muss ich beachten, damit Konzepte nicht nur informationell sind sondern auch fesseln sind? Das Produkte nicht nur gut sind, sondern auch das Gefühl beim Kunden wecken, das nur diese seine Problem lösen können. Alle diese Fragen und vieles mehr wurde in diesem sehr interessanten Vortrag gestellt und beantwortet.

EME? CDM? DRM? CENC? IDK!

Sebastian Golasch (Deutsche Telekom)

Welche Technologien gibt es und wie werden diese implementiert um Online-Videos bei Netflix, Amazon Prime oder auch Sky und maxdome vor illigaler Piraterie zu schützen. Sebastian Golasch untersucht, das an dieser Stelle gar nicht mehr so offene Web und endeckt sehr interressante Mechanismen die an die Anfänge des Internets erinnern. Um seine Erkenntnisse zu prüfen baut er einen eigenen Netflix Player durch Reverse Engineering der Webseite, mit dem er ganz andere Möglichkeiten hat, als Netflix bzw. die Content-Owner für diesen Vertriebskanal eigentlich vorsehen.

Mittwoch

Server-side Rendering of JavaScript in PHP

Ignacio Martín @nacmartin

Nach einen historischer Abriss der Client-Server-Kommunikation wurden verschiedene Ansätze vorgestellt, wie man NodeJS hinter PHP klemmen kann. SSR funktioniert aber nur, wenn beim render() kein DOM manipuliert wird. D3 oder CkEditor fallen leider raus. Option 1: NodeJS Subprozess, Option2: v8js PHP Extension (!), Option 3: via externer NodeJS Server (react-on-rails)

Five Design Patterns You Need To Know

Stefan Priebsch (thePHP.cc)

Design Pattern sind die Sprache für alle Entwickler, egal welche Programmiersprache oder Domänenverständnis. Sie helfen z.B. bei einem Code Review die Grundintension des Codes zu verstehhen, obwohl der Reviewer keine Ahnung von der Domäne besitzt. In dem Talk wurden 5 wichtige Patterns anhand kurzer Codeschnipsel vorgestellt und in einem realitätsnahen Kontext erklärt.

PHP reviews for busy people

Damien Seguy @exakat (der Typ der den Plüsch ElePHPant gebaut hat, er hatte den Prototypen dabei!)

Ein Code Review ist eine Pause vom Alltag. Damit das so empfunden wird, muss der Code zwingend kompilierfähig sein und schon der statische Codeanalyser gelaufen und gefixt haben (php-cs-fixer). Dann konzentriert man sich auf das wesentliche: Bugs finden. Also das anschauen was Bugs verursachen kann. Und diese fixen je nachdem wie schwer und kritisch das ist. Als Ziel kann man sich 4h die Woche Zeit nehmen - 2 x 15 Min pro Tag.

Wie Sie Produkte kundenzentriert entwickeln und schärfen

Karsten Glied, Tobias Ranft

Wer ist der Kunde? Der Kunde ist der, den man mit seinem Ergebnis zufriedenstellen will (und nicht zwingend der End-Kunde). Interne Kunden sind leicht greifbar, aber mangels sichtbaren Geldfluss ist die Wertschöpfungskette schlecht identifizierbar. Folge: Prio nach wer am lautesten schreit. Es braucht den PO. Es wurden Inhalte der PO-Rolle vorgestellt, was Mittel sind den Kunden einzubeziehen. Unser Telefon-Stammtisch heißt übrigens auch PrioBoard. Was aber wenn der Kunde den PO stellt? Und: Bauen wir ein Produkt oder einen Service?

Future Ethics

Cennydd Bowles @Cennydd

Moral ist ein Muskel der trainiert werden muss. Behandle die Gesellschaft als ein Stakeholder. Ein diversifiziertes Team wirkt wie eine Alarmanlage für unmoralisches Verhalten. Um einzuschätzen ob die zu erledigende Aufgabe moralisch vertretbar ist, gibt es einen Test über 5 Fragen die man sich selbst beantworten muss.

A LAMP Stack Professional’s Journey to Artificial Intelligence: Meet Johnny the Deployer!

Georgiana Gligor

Ein ChatBot der das Deployment übernimmt, und sogar auf Fragen in natürlicher Sprache reagieren kann, wurde hier vorgestellt. Der Techstack: Javascript, PHP, IBM Watson mit Anbindung an Jenkins und Jira

Fast by Default: Modern Loading Best Practices

Bilal Çinarli

Eine CaseStudy mit Pinterest und Tinder. Ob man auf einer Website bleibt, entscheidet sich in den ersten Sekunden des Aufrufens. Die Optimierung der Ladezeit und somit der Größe der Assets stehlt eine besondere Herausforderung dar. Es wurde gezeigt, wie Pinterest und Tinder diese Aufgabe in den letzten Relaunches ihrer Webseiten umgesetzt haben. Thema waren das geschickte Ausplitten der Javascript und CSS Assets und die Tools die diesen Prozess weiter ooptimieren können.

Writing Viruses for Fun, not Profit

Ben Dechrai, CTO for Hire

Viren können ganze System infizieren und lahmlegen, dabei machen sie auch nicht vor PHP Dateien halt. Eindrucksvoll wurde ein Virus in PHP entwickelt, welcher sich selbst verschlüsselt und im gesamten System verteilt. Interresant war, dass man in einem JPEG ohne weiteres ausführbaren PHP Code verstecken kann.

All your Intellegience ar belong to us: Über die Zukunft der KI, ihrer Gefahren und Chancen

Pascal Heynol (USEEDS GmbH)

Was ist eine KI? Welche Abstufengen gibt es? Wird uns eine allwissende KI demnächst auslöschen oder die Unsterblichkeit bringen? Fragen, die seit Hollywood Klassikern wie Terminator uns alle bekannt sind ,wurden hier versucht sachlich und mit tatsächlichem Entwicklungsstand zu beantworten. Eins, so ist sich Pascal Heynol sicher, sollte es diese KI in nahe Zukunft geben und sollte sie ist uns gegenüber nicht gut gestellt sein, so werden es keine Roboter wie im Film sein die uns Menschen ausrotten werden, sondern Nanotechnolgie. Allerdings ist Nanotecholgie auch der Schlüssel für die Unsterblichkeit und somit könnte es sich auch alles zum Guten wenden.

Donnerstag

Surviving with Git: Undoing Things and recovering from Mistakes

Tobias Günther, fournova

Zentralle Frage des Talks: wie stelle ich einen alten (funktionierenden) Stand meines Codes wieder her. Dazu gab es eine Einführung in dieTools git reset, git revert und git commit –amend. Aber selbst nach einem git reset sind die “gelöschten” commits noch nicht endgültig weg und können über git reflog wieder aufgespürt werden. Erst wenn die Geschichte auf dem zentralen Repo neu geschrieben werden soll, wird es kompliziert.

„Ist das Update schon drauf?“

(Über Kommunikation und Transparenz in agilen Softwareprojekten) Dominik Unzicker (hat Scrum Master bei Jeff Sutherland, Scrum Inc., gemacht)

Scrum != Scrum. California Agile: am Ende des Sprints gibt es kein lauffähiges Produkt; Aggressive Scrum: am Ende des Sprints gibt es ein lauffähiges Produkt. Es wurden die verschiedenen Bereiche von Scrum erläutert, was “drin” sein muss und was man berücksichtigen muss damit Scrum funktioniert. Grooming, Definition of Ready, Planing, Defintion Of Done, Deliver Early, Deliver Often. Dann klappt auch Accelerate. Aber: People first. Und: Keep going. Merke zu Teamgrößen: Pizza Team: dein Team ist zu groß wenn es nicht von 2 großen Pizzen (nicht Party!) satt wird.

Erfolgreiche Retrospektiven gestalten

Tobias Ranft @HerrTo, Lukas Steurer @_LUKAS_ST

Retros dienen dem Lernen und folgen den Agilen Werten Transparenz, Feedback, Selbstorganisation. Keine Retros sind keine Lösung, man muss Lösungen finden die zu einen passen und ausprobieren. Keine Idee?

Multimodal Conversation. More than Chatting and Commanding

Sascha Wolter, Cognigy

Learning Machine Learning

Joel Lord, Auth0

Die Abgrenzung zwischen Machine Learning und Künstlicher Intelligenz wurde während der Konferenz des öfters betont. Hier gab es einen grundlegenden Einstieg in das Thema ML. Über supervised und unsupervised learning ging es zum Naives Bayes-Algorithmus bis zu genetischen Algorithmen.

Gamified Control? Chinas Social Credit System

Katika Kühnreich

China ist dabei, die Daten ihres Facebook, Amazon und Paypal zusammenzuschalten und die Aktivitäten daraus zu bepunkten. Auch Handlungen des Alltags werden bepunktet. Spatenstich war 2005, Verprobung läuft seit 2014, Einführung verpflichtend für alle Chinesen, Firmen und ausländische Firmen und deren Mitarbeiter (!!!) ab 2020. Damit werden alle Handlungen des Alltags bewertet damit belohnt oder bestraft (Gamifidingsbums). Ziel ist das Ziel jeden Staates: Kontrolle. Wir Westeuropärer sehen das gerne überheblich, werden aber selbst nach und nach mit Videoüberwachung (auch bald in Chemnitz) und Scoringsystemen (Payback, Schufa, Deutschlandkarte) eingedeckt. Die Frage ist ja nicht ob, sondern nur wann und wie es bei uns ähnlich ist.

Healthcare 2028

Was sind die Trends? Was könnte bis 2028 kommen? Gensequenzierung gibts mittlerweile für $100. Damit bekommt man u.a. analysiert ob man Kaffee gut verträgt oder anfällig für Alzheimer ist. Auch kann man gut herauslesen welche Geschmackssinne gut ansprechen und die für einen passende Weinsorte zu erfahren. Auch ein Bluttest zur Bestimmung der Biomarker ist kein Problem. Biohacker stellen auf dieser Grundlage ihre Supplemente zusammen und beeinflussen damit z.B. ihre Omega 3/6 Fettsäure Verteilung. Ziel ist besseres Wohlbefinden. Organe aus dem 3D-Drucker werden kommen. Knochen sind kein Problem mehr, eine Leber noch. Beginnender Krebs spült bestimmte Biomarker aus, die kann man messen und darauf reagieren. Es gibt Startups die werden aus dem Stand mit 1 Mrd $ finanziert. Für bestimmte Leukämie-Arten gibt es mittlerweile Einmal-Therapien. Eigene T-Zellen werden entnommen, manipuliert und wieder eingeführt. Frage ist wie man das bepreist. Was kostete es, nicht den Rest des Lebens von teuren Medikamenten abhängig zu sein. Eine ethische Frage.

Effective Code Reviews

Frank Sons, Frank Sons

Klären muss man Warum man Reviews macht und mit welchen Methoden man diese durchführt. Wichtig ist sich des notwendigen Mindsets bewußt zu werden (seid nett, lasst euer Ego draußen) und eine Guideline zu haben mit wenigen Punkten, zugeschnitten auf das jeweilige Projekt bzw. Scope (Frontend vs. Backend)

Deep Fakes - wie Videos sich fast beliebig fälschen lassen

Enno Park (Autor, Speaker, erster deutscher Cyborg)

Als Anfang des Jahres das Video, in dem Barack Obama über Donald Trump herzieht, um die Welt ging waren alle irrtiert. Tatsächlich steckt auch dahinter wieder nur ein neuronales Netz, welches die Gesichtsmuskeln beider Personen aus Videoaufnahmen extrahiert und am ende des Tages manipuliert. Das aber in einer nie zuvor gekannten Qualität. Die Wissenschaft dazu kam letztes Jahr von der TU-Erlangen und ihre folgen sind schwer abschätzbar. Bekannte Persönlichkeiten werden nicht nur in heikle Lagen gebracht (Fake Porn), sondern das System wird bereits jetzt missbraucht um polititsche Botschaften zu vermitteln. Eine sehr gefährliche Technik welche die Frage im Raum offen lässt wie wir zukünftig gefakte Videos von echte unterscheiden wollen?

Search Inside Yourself - Von Google lernen in uns selbst Klarheit und Kreativität zu finden

Arist von Hehn (RETURN ON MEANING GmbH)

Zugegeben, ein wirklich etwas anderer Vortrag, in dem es in erste Linie daraum ging sich seiner Selbst wieder bewusst zu werden. Aktiv auf den Körpern zu hören oder in den Worten von Arist von Hehn “Achtsamkeit” verspühren. Was sich am Anfang wie eine romantische esotherische Yoga Session anfühlte, entpuppte sich schnell zu einem Ratgeber, wie man selbst mit kleinen Übungen am Tag bessere Entscheidungen treffen kann. Und nicht nur das, es ging auch darum wie man aktiv Stress vermeiden kann, bzw. mit diesem umgeht; wie man die Aufmerksamkeitsspanne erhöhen und auch bessere, erfolgreiche Teams kreieren kann. Dabei nutzen bereits große Firmen auch hier in Deutschland wie zum Beispiel SAP, GOOGLE, BMW, AXA und viele weitere die Methoden von Arist von Hehn um die Mitarbeiter zufriedener, ausgeglichener und damit natürlich auch produktiver und effiezienten zu machen.

AudioIntelligience.ai - Technologie, Anwendung, Zukunft

Dagmar Schuller, CEO audeering GmbH

Wie die Title vermuten lässt geht es hier insbesondere um die Sprachanalyse, Allerdings nicht darum was gesagt wird, sondern wie etwas gesagt wird. Über 6000 Merkmale kann die Software von audeering aus wenigen Sekunden Sprachsamples extrahieren. Angefangen von Größe, Geschlecht, Dialekt, Alter, dem Emotionalen Zustand (Verärgert, trauig usw), dem Umgebungszenario bis hin zu Gesundheitzustände (Husten, Schnupfen) und ganze Diagnosen (Parkinson, Alzheimer). Auch hier werden wieder neuronale Netze verwendet um diese Merkmale zu erkennen aber auch noch nicht identfizierte Eigenheiten zu identfizieren.