This article is part of my #100DaysOfCode and #100DaysOfBlogging challenge. R1D14


This was a great first day

How to make Loveliness: an HTML Treasure Hunt

Keynote by Bruce Lawson, one of the editors of the W3C’s HTML5.3 specification

To me, this was the best keynote I have ever attended. He presented a topic that could easily be boring and dry in a way that captured the audience’s (well at least my) full attention. Bruce managed to make this very informative and funny at the same time.

I left with a desire to get to know the 120-ish HTML elements better and use them for what they were designed. I learned that the div and span elements basically serve no special purpose. They are however misused, if there is a native HTML element covering that purpose but is not used. This will also break a11y.

Using proper HTML tags means

  • more performant
  • more accessible
  • more robust
  • less code to write
  • less code to test
  • more time in the pub / playing CoD /seeing your kids

Slides

A Happy End for the Docker for Development Drama

Talk by Robert Lemke, founder of the Neos open source project

Maybe I did come with different expectations than what the speaker intended. It was difficult following along the presentation. Robert mentioned lots of problems his faced during the setup of a Docker development environment, but it was not always clear what the solution was and how he came to it.

His initial motivation to move from a “traditional” setup (all requirements are installed directly on the developer machine) and virtualization was

  • to have a fast operating development environment,
  • which is easily to set up and
  • makes switching between project easy.

He spent a lot of time addressing the performance issue of mounted drives under macOS and comparing possible solutions. In the end his setup is a mixture of mounted directories and rsync. An attendee also mentioned the usage of docker-sync.

I am leaving this session with a desire to look more into Docker containers.

A Case for Generics in PHP

Talk by Chris Holland, Team Lead at TriNet

Chris managed to prepare and present a well-structured talk on Generics in PHP, coming up with custom solutions where PHP does not (yet) provide native implementations and comparing implementations of Generics in other languages like Java and C#.

He also talked about the difficulties of implementing Generic Types in PHP. An RFC for this has been around since the beginning of 2016. Compiled languages will check types during compilation. Thus, fatal errors are thrown early. Whereas PHP will run type checks much later, after deployment during the actual run and compilation. The implementation would be a significant challenge and added workload during runtime.

In a conversation with Sara Goleman, she mentioned to him a possible approach by

  • Not checking Generic Types at runtime
  • Enhance syntax support, but “throw it away” at compile time
  • Rely upon static analyzers and IDEs

Slides

Knock knock, who’s there? Authenticating your Single Page Apps using JSON Web Tokens

Talk by Sam Bellen, Developer Evangelist at Auth0

This was a fully loaded talk with tons of information about JWT to process. Excellent!

The issue with Cookies is, that they don’t like CORS, require state and are issued for a certain domain. A solution to that issue could be tokens. Sam explained the registration and login processes using backend authentication with session cookies and token-based authentication using JWT. He also talked about a possible solution of password-fee authentications with the W3C standard WebAuthn. He demoed it using an authenticator device.

Slides

An Introduction to Symfony Messenger

By Denis Brumann, Software Developer at Sensiolabs

This talk gave an excellent introduction to the Symfony messenger component in the brand new 4.3 release from last Friday. It’s straight forward and easy to get started with. It comes with transporters for AMQP, Redis and Doctrine. Custom implementations are also possible. Denis also showed the most important CLI commands to manage the messenger.

On first impression it looks like there is less configuration (and also options available) than Enqueue.

The Future of Authentication – WebAuthn with PHP

By Arne Blankerts, Principal Consultant at thePHP.cc

Again, Arne did not fall short of expectations by delivering an interesting presentation on WebAuthn. After making a well-prepared introduction to the challenges of password-based authentications, he went into detail on the WebAuthn specifications and finished with demoing registration and login with the PHP implementation lbuchs/WebAuthn. There is also a demo client available on [https://webauthn.lubu.ch/_test/client.html].

Arne made good experiences with the products of Yubico.

Further resources can be found at