Asynchronous Awesome – Task Management in PHP

Eric Mann

Eric Mann

@ericmann

Abstract

“Sometimes, our use of PHP grows beyond the typical request/response cycle of dynamic page generation. Unfortunately, the threaded nature of PHP – and the stateless nature of the server – betrays any efforts to expand our utilization of the server. Image processing, video rendering, APNS (Apple Push Notification Service) integration – any of these can easily take longer than is reasonable for a simple page request.

Enter tools like message and job queues that empower daemonized PHP workers to handle data processing in the background. Yet further tools enable long-running event loops and asynchronous Promise-driven operations. PHP isn’t multi-threaded, but that doesn’t mean you’re limited to a single-thread paradigm. I will demonstrate various use cases necessitating asynchronous operations, then delve into the code and the tools that make these systems work. Every attendee will leave armed with new ways to think about the management of large data jobs in PHP and an understanding of the tools they can use to make it happen.”

Biography

Eric is a web developer, technical leader, and polyglot with over a decade of experience working with companies and projects big and small. He’s been working with PHP through his entire career, both professionally and recreationally. Today, Eric focuses his time on helping developers get started with and level up their skills with their technology of choice.

Machine Learning: A Beginner’s Practical Guide

Michael Moussa

Michael Moussa

@michaelmoussa

Abstract

Do you have an advanced degree in mathematics or data science from a prestigious university? Me neither! That doesn’t have to put machine learning beyond our reach, though. While the underlying theory can be extremely complicated, the practical applications are very approachable for us as developers. If you’ve been looking for an easy way to start dabbling in ML, this session is for you! Join me as I give an overview of ML and walk through the different types of algorithms available with some practical examples. We’ll also see how we can take advantage of some of the various AWS machine learning products in order to quickly add these capabilities to our applications.

Biography

Michael has nearly 20 years of experience as a PHP Web Application Developer and Linux DevOps Engineer, which he draws upon to help him understand, build, and maintain highly-available, fault-tolerant, scalable, and secure AWS environments. He is currently a Senior Technical Demo Engineer at AWS where he helps to develop demos and showcase AWS services and features at major events. In his spare time, he enjoys homebrewing his award-winning beer, riding his bike, and trying to find less expensive hobbies.

Serverless APIs with Bref

Mattieu Napoli

Mattieu Napoli

@matthieunapoli

Abstract

I’ve just finished creating a new API with my favorite PHP framework and now I need to host it. Instead of setting up servers, dealing with containers or learn Kubernetes, I will use AWS Lambda. Why? To get a highly available, scalable and cost-efficient infrastructure with as little effort as possible. In this session, we will see live examples of how to use Bref to run an HTTP API on AWS using serverless technologies.

Biography

Matthieu is a software developer and consultant who loves creating web applications. He is the author of open source projects like Bref, PHP-DI and Silly. He worked in the PHP-FIG on PSR-11 and PSR-15. He loves working with serverless technologies and finding solutions to make PHP development simpler and better.

The Modern PHP API

Mike Stowe

Mike Stowe

@mikegstowe

Abstract

Technology is constantly changing, and with it new approaches and buzzwords abound. So how do you actually build a scalable, secure PHP API? In this session we’ll look at the advantages of each type of API, how to build a modern RESTful API, available PHP frameworks, and new projects that provide added flexibility and increased speed – eliminating the need for multiple API calls and allowing the client to customize the data returned.

Biography

Author of Undisturbed REST, Michael Stowe has spoken at conferences around the world. An active advocate for creating better architectures and interfaces, his work has also been featured on ProgrammableWeb, DZone, and InfoQ. You can view his past talks and slides at www.mikestowe.com/slides and follow him on Twitter @mikegstowe.

Getting to Grips with Git

Pauline Vos

Pauline Vos

@vanamerongen

Abstract

Many Git users tend to use Git as a save point, like in a video game; chronologically making checkpoint commits as they go. This spreads out changes to the same areas in the code over several commits, necessitates merging and resolving conflicts, and generally makes an incomprehensible jumble of your history. This talk makes a case for atomic commits and how to use them while only minimally affecting your workflow.

Using pre-recorded demos, you’ll learn how to properly interactively rebase, fix up, reset, bisect, and more. By the end of the talk, you’ll have seen how this Git workflow will make your life easier and how it will affect your ability to cherry pick, drop unwanted commits, and most importantly: not spend hours resolving conflicts in rebase hell. A little change in habits can go a long way!

Biography

Pauline is a PHP developer from Amsterdam currently employed by Werkspot. She likes good, clean software design and being as efficient (lazy) as possible. Also cocktails, video games and animal memes. She lives in the South of France with her cat, Phife Cat, and about three plants.

Database Theory and Modeling: A Crash Course

Speaker:Elizabeth Smith

Abstract

Wouldn’t it be great if everyone had a DBA to design and manage data for you? Most places don’t have this luxury, instead the burden falls on the developer. Your application is awesome, people are using it everywhere. But is your data storage designed to scale to millions of users in a way that’s economical and efficient? Data modeling and theory is the process of taking your application and designing how to store and process your data in a way that won’t melt down. This talk will walk through proper data modeling, choosing a data storage type, choosing database sofware, and architecting data relationships in your system. We’ll also walk through “refactoring data” using normalization and optimization.

Biography

I am skilled in development and application architecture for web and desktop based applications in multiple languages. I prefer C family languages (python, C#, C++, lua and similar) and am most familiar with PHP and C.

I’m experienced in multiple operating system environments including windows, several flavors of Linux, Solaris, BSD and Apple systems. I believe any good developer should be completely operating system and platform agnostic. I enjoy working on many open source projects and making them cooperate on windows systems. Good open source applications on Windows are like a gateway drug for the general user, which is why I advocate making things work cross platform.

I’ve had experience in working on client driven internet applications, and corporation driven intranet applications, desktop applications and services, and computer systems support and maintenance.

I code because I want to, not because I have to, and approach everything I do with a great deal of enthusiasm. Every time I squash a bug or make someone’s job easier it makes every moment of swearing at the screen worth the effort. After all, every programmer at heart just wants to solve problems.

Designing and Implementing GraphQL API

Mariusz Gil

Speaker: Mariusz Gil

Abstract:

REST architectural style, originally communicated by Roy Fielding 20 years ago, is well known in IT industry. Six constraints of REST style are the base of many of modern APIs, making things a lot of easier to implement and use. But there are plenty of cases where this concept introduces extra complexity or issues, where communication ping-pong between client and server is only one of them.

GraphQL is a concept of data query and manipulation language with corresponding runtime engine to fulfill queries with data stored in the application. GraphQL introduces a new approach of designing efficient communication, but also some challenges related with data processing or caching.

What you can expect from this talk? Some core knowledge about GraphQL concepts and archetypes, of course. But we are going to focus more on practical use-cases for GraphQL, from designing small APIs to implementing GraphQL-powered API Gateways on top of microservices architecture. You can expect examples in different languages/libraries and dedicated software to run GraphQL solution to see all possibilities you can use in your next project.

Biography

Mariusz Gil is software architect focused on high performance and scalable web applications connected with complex business domains. Trainer, consultant and conference speaker. He has been working for several companies on projects for millions of active users, from biggest social network and instant-messaging software in Poland to multi-billion PV content personalization and discovery platform. Mariusz is also member of 4Developers, PHPcon Programme Commitees and one of core members behind PHPers, open meetups for PHP developers in many cities in Poland. After hours, photographer and rock guitarist.

Driving Innovation with MySQL 8.0 and Docker

Speaker: Kathy Forte

Abstract

You as a MySQL architect are wondering about how you might make use of running MySQL in a container. You are also aware that the MySQL team at Oracle has recently released a new version of MySQL 8.0 with many advantages for both developers and DBAs.

I will illustrate 8.0 features with a real-time demo of MySQL 8.0 within a Docker container and why you’ll want to incorporate both into your DevOps environment. This demo highlights why a container is perfect for testing MySQL, how to set up your MySQL 8.0 container, and outlines which features within MySQL 8.0 are perfect for containers.

Biography

Kathy Forte is a Solutions Architect for the MySQL division within Oracle where she is working with cloud technology, distributed databases and the MySQL server. She has been working in the relational databases realm for over twenty years as a developer, trainer, sales engineer, and technical manager. She previously worked at ParAccel as a part of a team that developed the massive parallel columnar database that is the foundation of Redshift’s cloud-based data warehouse.

Taming Your Data with Elasticsearch

Derek Binkley

@DerekB_WI

Abstract

Are you searching unstructured data or text fields? Do you need to aggregate and summarize your geo, financial, or other numeric data? Do you want to query your structured data in new and exciting ways? If so, Elasticsearch may be right for you. Let’s explore the many ways you can ask questions about your data and have it make sense to you and your users. We’ll sort through millions of rows in milliseconds and give you tools to take your data analysis to the next level. You will learn how to use PHP libraries and basic RESTful API calls to store, search, and aggregate your data.

Biography

Derek Binkley is a Senior Engineer at TurnTo Networks where he creates shopping assistance tools using Groovy, Grails, Angular, and ElasticSearch. While getting his start fixing the Y2K date problem in Cobol, Derek quickly moved on to spend almost twenty years using PHP, JVM Languages, JavaScript, MySQL, and Oracle.

He enjoys teaching others through speaking, mentoring, and writing articles. Derek works to encourage developers to write clean and testable code. When not in front of a computer he spends time with family, travels, makes pizza, and drinks beer.