USA 2018 OCTOBER 11-12

Schedule

Thursday, October 11th

  Track A Track B
08:00
08:45
Badge pick up and welcome breakfast
08:45
09:00
Welcome session
09:00
09:40
Keynote
Fabien Potencier
09:45
10:25
PHP Internals for the Inquisitive Developer
Jeremy Mikola
10:25
10:50
Break
10:50
11:30
Rocking Modern Security with Symfony
Tugdual Saunier
11:35
12:15
Ready Set Go: Loading Single Page Apps Fast
Jonathan Johnson
12:15
14:00
Lunch
14:00
14:40
Trend analysis and machine learning in PHP
Michael Cullum
14:45
15:25
Orchestrating Symfony for the Enterprise
Kristen Costagliola
15:25
15:50
Break
15:50
16:30
Practical Guide to Service, Config, Secrets & Deployment
Ryan Weaver
16:30
17:15
Lightning talks
17:30
20:00
Conference Social Event

Friday, October 12th

  Track A Track B
08:30
09:00
Welcome breakfast
09:00
09:40
Uncle Cal's Career Advice for Developers
Cal Evans
09:45
10:25
Symfony Cache: a premium recipe to fast apps
Nicolas Grekas
10:25
10:50
Break
10:50
11:30
Doctrine for Beginners
Jonathan Wage
11:35
12:15
Webpack Encore: Tips, Tricks, Questions & Best Practices
Ryan Weaver
12:15
14:00
Lunch
14:00
14:40
MySQL 8 Tips and Tricks
Dave Stokes
14:45
15:25
Symfony Messenger: Messages, Queues, Workers and more
Samuel ROZE
15:25
15:50
Break
15:50
16:30
Building global web apps with multi-region hosting
Jordi Boggiano
16:30
16:45
Closing session

Keynote

Fabien Potencier - English - Keynote - Thursday, 09:00

TBA

PHP Internals for the Inquisitive Developer

Jeremy Mikola - English - Track A, B - Thursday, 09:45

Even if you have no intention of becoming a PHP core developer or creating a PECL extension, cursory knowledge of PHP's inner workings can prove useful. This session will examine the lifecycle of a PHP request and equip you with essential knowledge and tools that can be used to diagnose the occasional segfault or language bug, decipher what that poorly documented SPL class actually does, and confidently answer why a PHP or C implementation is most warranted for a given problem.

Rocking Modern Security with Symfony

Tugdual Saunier - English - Track A, B - Thursday, 10:50

Once upon a time, security was... a login form. But woh! Not anymore! Sure, we still have login forms, but we also have JWT authentication, OAuth, two factor auth, SSO implementations and anything else you can dream up.

Let's look at some real-world examples of solving these challenges using the latest features & best-practices of Symfony's security component. This will include your User class, user provider, Guard and a lot of tips to create complex authentication systems and best practices for making sure your application stays secure.

Ready Set Go: Loading Single Page Apps Fast

Jonathan Johnson - English - Track A, B - Thursday, 11:35

First impressions matter. You only have a few milliseconds to make one on the web.

How users experience the first few moments of working with your application will influence their entire experience.

Looking at a white browser screen for 5 seconds is NOT a good first impression.

We can do better without a lot of effort by organizing the way our assets load and are cached.

Let's talk details. What kind of cache control header should you send with a fingerprinted asset? How can you add a kill switch to a service worker to avoid leaving your users with a broken application? What makes a javascript application installable as a PWA? How can you notify users that a new version of your app is available?

As the Lead Developer and Architect for the Ilios Project I've answered all of these questions in production on an open source application used by health science universities on 5 continents.

Trend analysis and machine learning in PHP

Michael Cullum - English - Track A, B - Thursday, 14:00

The world we live in is one where data is one of the most valuable assets. There are many different pieces of data we can analyse on all kind of data from analytics of user behaviour of your platform, user generated content, monitoring of exception rates, or when your core business model is to provide some kind of analytics platform. This talk will talk about how you can, in your Symfony applications, perform some simple trend analysis techniques to build models, analyse data to get useful information and spot anomalies.

Orchestrating Symfony for the Enterprise

Kristen Costagliola - English - Track A, B - Thursday, 14:45

Symfony's architecture lends itself well to use across enterprise environments but how do you migrate an existing legacy code base or scale your applications to meet the needs of a growing business? In this talk, Kristen will cover a variety of pitfalls, successes, and technology decisions from Datto's experience of migrating to Symfony in an existing enterprise environment. Whether you are just starting out learning Symfony, maintaining a healthy Symfony application, or expanding Symfony's presence in your company, this talk will give you tools and the questions to ask yourself to help your company succeed.

Practical Guide to Service, Config, Secrets & Deployment

Ryan Weaver - English - Track A, B - Thursday, 15:50

Symfony's configuration system has improved a lot in recent years. Let's step back and look at how we can tackle all of the most common problems using the new approaches! This will include tricks for configuring services as easily as possible, handling different environment configuration and the hugely important topic of environment variables and secrets. We'll discuss both practical approaches to handling environment variables on production as well as best-practices for deploying a super secure app.

Uncle Cal's Career Advice for Developers

Cal Evans - English - Keynote - Friday, 09:00

Kids, Uncle Cal has been around the career block a few times. Depending on how you define the term “job” I have held more than 15 jobs in my adult career. This doesn’t include side-hustles, moonlighting, or wild ideas. I’ve worked for the good, the bad, and the ugly; and trust me, there is a lot of ugly out there.

In this talk we’ll examine a few of the life-lessons I’ve learned the hard way. Some of them will be interesting, some of them insightful, some of them silly. Regardless, these lessons were generally learned by making big enough mistakes.

Spend a little time with me, learn the lessons I’ve learned so that you don’t repeat my mistakes. You are then free to go make your own new mistakes.

Symfony Cache: a premium recipe to fast apps

Nicolas Grekas - English - Track A, B - Friday, 09:45

Introduced in version 3.1, the Symfony Cache component has 3 promises: performance, safety, and ease of use. Internally and by default, we are already using it out of the box for system caches. It started as a reference implementation of the PSR-6 standard. Along the years and by contributions from the community, it gained a battle-tested feature-set and adapters for many storages. But the next version, 4.2, is the bigger milestone. With some raw examples and benchmarks, let's review how to select the best backend for your needs, wire them in your apps, do tags-based invalidation, protect against cache stampede, etc. Caching might be the most efficient strategy to fast apps.

Doctrine for Beginners

Jonathan Wage - English - Track A, B - Friday, 10:50

Come to this talk prepared to learn about the Doctrine PHP open source project. The Doctrine project has been around for over a decade and has evolved from database abstraction software that dates back to the PEAR days. The packages provided by the Doctrine project have been downloaded almost 500 million times from packagist. In this talk we will take you through how to get started with Doctrine and how to take advantage of some of the more advanced features.

Webpack Encore: Tips, Tricks, Questions & Best Practices

Ryan Weaver - English - Track A, B - Friday, 11:35

With Webpack, your JavaScript & CSS code can have superpowers you've only dreamed up. And with Symfony's Webpack Encore, you can get all of this with almost zero setup time!

In this talk, we'll quickly learn the basics of Symfony's Webpack Encore. Then, we'll turn to lessons we've learned over the past year and answer popular questions and common problems people run into when moving to Encore. We'll also dive into a host of lesser-known best practices that you can follow to make sure your frontend coding is as streamlined as possible. A modern frontend build system: all in the time of one talk.

MySQL 8 Tips and Tricks

Dave Stokes - English - Track A, B - Friday, 14:00

MySQL 8 has many new features that you will learn to exploit in this session. See how resource groups can be setup to control processing threads for classes of queries, how to use invisible indexes, setting up roles for users, why you need windowing functions for analytics, and how to set up optimizer hints for better query plans. All this and more to make you use of MySQL 8 more muscular!

Symfony Messenger: Messages, Queues, Workers and more

Samuel ROZE - English - Track A, B - Friday, 14:45

Symfony 4.1 comes with a new Component: Messenger. It drastically simplifies the use of message buses and handling asynchronous operations using message queues such as RabbitMq. In this talk, I will introduce you to this component and show you how to get started with it.

Building global web apps with multi-region hosting

Jordi Boggiano - English - Track A, B - Friday, 15:50

This session will explore various setups and case studies from my attempts at hosting sites used by global audiences.

There are many ways this can be achieved with different levels of success, budgets and global-ness.

The talk will touch on Terraform, AWS, global DNS resolution and CDNs amongst other things.