Spawned from the PHPDX User Group that meets twice a month and has almost 1,000 members.

Friday 14th September 2018

The Science of Learning
Keynote by Nic Hampton in Multnomah Falls (50 minutes)

The Science of Learning

Double Loop: TDD & BDD Done Right
Talk by Jessica Mauerhan in Multnomah Falls (50 minutes)

Do you TDD or BDD? Why not both? Come learn the "Double Loop" workflow and discover how you can use both Behavior Driven Development and Test Driven Development to write well designed, tested and documented code. Double Loop works for lone engineers, small teams or entire product departments. I'll cover the steps you'll take in the workflow in detail with best practices for behavior testing, integration testing and unit testing.

Building Secure Applications: Threat Modeling for Dummies
Talk by Adam Englander in Crater Lake (50 minutes)

No developer wants to be responsible for a major data breach. Unfortunately, when it comes to application security, most developers have more questions than answers. How do I get started? What should I be protecting against? How much security is enough? Is there a best practice to follow? In less than an hour, I will give you the tools you need to integrate threat modeling into your existing application lifecycle. We’ll even walk through the process step by step as we threat model a live application. Start building secure applications today.

10 Things You Didn't Know You Could Do With Composer
Talk by Patrick Schwisow in Willamette Falls (50 minutes)

Over the last five years, Composer has changed the way PHP developers work. It figures out which versions of our required libraries work together and installs everything for us, but if that's all you've ever used Composer for, you're missing out. Come learn how and when to use validation, autoload overrides, and other features you've never heard of.

Morning Break in Multnomah Falls (30 minutes)

Coffee available

11:30 RegEx is Your Friend
Talk by Liam Wiltshire in Multnomah Falls (50 minutes)

RegEx is scary. At least, if you ask Google, that's what you might think (257,000). And slow (441,000). In fact, regular expressions are neither of these, and indeed are a powerful tool in your utility belt. In "RegEx Is Your Friend", Liam aims to provide some real-world usable examples of how RegEx can be used in a way that's fast, explaining how the different parts of regular expressions work and execute to make it understandable for all. No matter if you don't know your '$' from your '^', you are not sure when to use RegEx (and when not to), or you just need to find a way to make your RegEx run faster, there will be useful help and tips for everyone.

(Ab)using process control for powerful CLI applications
Talk by Ian Littman in Crater Lake (50 minutes)

PHP's process control (pcntl) extension provides a set of highly underrated tools for scripts invoked at the command line, exposing behaviors that you might have thought only existed for compiled applications, such as forking and signal handling. We'll dive into these behaviors, including fun diversions like making a process zombie that rises from the dead when you hit Ctrl-C, and a parallel utility that uses multiple processes to get things done faster. We'll also take a look at Symfony's Process component that can be used to execute additional command lines safely and asynchronously, whether you need to run those commands from a web cotext or a CLI.

Intro to EventSourcing and CQRS
Talk by Miro Svrtan in Willamette Falls (50 minutes)

While web development is not simple content management systems and webshops any more, most of our prinicples and ideas have not changed that much. CRUD and MVC, while still good ideas, are not meant for handling complex bussiness requirements, logic and workflows.;;;Instead of fat controllers or services, complex dependencies injections, by separating our domain logic into simple \\\"units of work\\\" connected together by commands and events, number of files might increase but our complexity decreases considerably.;;;If you are looking for a different way, ES (eventsourcing) and CQRS (command query responsibility segregation) might be the solution. It's actually much harder to explain those concepts then to use them so I will start with simple examples from every day developer life and then combine all of it with real life examples from some of my projects.

Lunch in Multnomah Falls (1 hour)

Classic Deli Buffet The classic deli buffet is accompanied by fresh veggies and the classic spreads that make a sandwich great. Smoked Ham Turkey Roasted Vegetables Provolone Cheese Cheddar Cheese Assorted freshly baked breads House-made chips Garden Salad with Dressing Seasonal vegetables with Ranch dipping sauce Seasonal Fresh Fruit Display

Lost in the Lobby
Keynote by Samantha Quiñones in Multnomah Falls (50 minutes)

Living and working with mental illness is difficult. The stresses of our lives only make the struggle harder. Sometimes it becomes too much and something needs to give. I will share my personal story and how I've learned to take care of myself while making a safer and healthier work for my colleagues, family, and friends.

Is Your Chair Killing You? How To Reverse The Negative Effects Of The Sitting Disease
Talk by Heidi Roberts in Multnomah Falls (50 minutes)

There’s no escaping it. Chronic pain due to postural imbalance, repetitive-use injuries, and a sedentary lifestyle is one of the most costly and debilitating challenges facing society today. Why? The human body didn’t evolve for the purpose of a sedentary lifestyle. Our bodies are designed to move. And yet our busy digital and technology-driven lives have created serious problems for ambitious workers, innovators, and entrepreneurs. We spend hours a day sitting at our computers, at our desks, and in our cars. We live each day with minimal whole-body movement. We slump over our iPhones, workstations, and dinner tables. Extensive research shows that Sitting Disease—or the state of physical, mental, or emotional pain that results from being sedentary—is greatly to blame. You’re probably familiar with a number of the symptoms—everything from neck and back pain to depression, obesity, heart disease, and even cancer. A growing and costly problem, Sitting Disease is one of the cornerstones of so many acute and chronic health-care conditions today. Let me share the real-time application of the science and evidence-based research through experiential learning so that you to take action and lead your organization and our communities in optimizing their performance and lives!

Modern deploy with PHP
Talk by Andrew in Crater Lake (50 minutes)

I'm the CTO, core team leader and co-founder of concrete5, a popular open source content management system. I've been an enthusiastic PHP advocate for over 15 years, and have built and launched hundreds of websites since 1997. I blog about concrete5 and other subjects at, and like to relax by recording music that no one must ever hear.

Massively Scaled High Performance Web Services with PHP
Talk by Demin Yin in Willamette Falls (50 minutes)

Over the years, software teams have questioned if PHP is a good choice for building web services. In this talk, I will share how we use PHP on the backend for Glu Mobile’s flagship mobile game Design Home, enabling it to regularly rank amongst the top free mobile games - both in downloads and grossing - since its launch in the Apple App Store and the Google Play Store in Q4 2016. Design Home reaches over 1 million daily active users, serving over 100,000 requests per minute while maintaining a user base of over 30 million players. To date, over 1 billion designs have been made by players. We will deep dive into the thought processes, development, testing and deployment strategy, showcasing what we have achieved with PHP and why we love it and rely on it. My goal is to share with the community that, when done the right way, PHP can be used to build and maintain reliable, massively-scalable and high-performance backends using web services.

Afternoon Break in Multnomah Falls (30 minutes)

More coffee, plus sweet and savory snacks

Yak Free API Tip & Tricks You Can Use Right Now
Talk by Tim Lytle in Multnomah Falls (25 minutes)

API tools, services, and techniques abound, but in this 99% Yak-Shaving™ Free session, we'll focus on the ones that require little (or no) setup, and that you can be using before I stop talking. Whether you're building or consuming APIs, there will be something for you. If you're new to APIs, you'll leave with a bunch of things you can use right now. If you've been doing this for a while, you'll probably see a new way to simplify something that's bugged you in the past.

Maintaining Homestead
Talk by Joe Ferguson in Crater Lake (25 minutes)

Laravel's Homestead project is the second most downloaded public vagrant environment. Initially designed to be a full featured local development environment focused on making Laravel developer's experience easier Homestead has grown into a solid well rounded LAMP stack Vagrant environment for nearly any PHP project. Join us as we review the features and inner workings of Homestead, explore some features you may not be aware of, and even take a trip deep into the operations process of how we build and deliver the best vagrant environment for the PHP community. We'll also cover extending Homestead and making it work for your custom applications and how you can easily share the customized environment with your teammates, coworkers, or contributors.

Deep Dive into Let's Encrypt
Talk by Randall in Willamette Falls (25 minutes)

Let’s Encrypt is the phenomenal, automated, free SSL Certificate Authority that is quickly making HTTPS a no-brainer for even the smallest sites. In this talk, we quickly run through the basics, and then explore Let’s Encrypt beyond the usual tutorials. We’ll cover: • Technical details of the authentication and issuance; • Gotchas learned while securing over 100 hosts; • Alternative, PHP based clients; • Deploying in complex environments; • Alternative free CAs; • Cases where you might still pay money for certificates

Building to spec - the OpenAPI Spec and PHP
Talk by Matt Trask in Multnomah Falls (25 minutes)

The OpenAPI Specification has hit 3.0 and thats incredible! But what does that mean for developers? What tooling is available for PHP developers to develop against this spec? We will take a look at an API that will be pre-built and understand how it fits in with the OpenAPI Spec, how we can build our workflow around the OpenAPI Spec. This talk will feature some *ugh* Javascript.

Simplified Continuous Integration with Jenkins
Talk by Margaret Staples in Crater Lake (25 minutes)

Maybe you’re the only coder on a project. Maybe you’re on a small team and carrying the majority of the server knowledge. For one reason or another, there are times when if we don’t setup our own deploy process, there simply isn’t one. No one wants the headaches that come from a my-machine[s] to production direct deploy process, so let’s go a step better with Jenkins and Github. This talk will walk you through setting up a jenkins server to deploy your staging changes and master merges with all the tests and checks you need to avoid those "oops" moments ever going live.

Machine Learning on AWS (for Noobs) with PHP
Talk by Jerry Hargrove in Willamette Falls (25 minutes)

Artificial Intelligence is taking the world by storm, fueled largely by the introduction of the elastic compute resources in public cloud. If you’ve recently shopped online, searched the web, or streamed a video, you've almost certainly interacted with systems powered by AI. These systems are built on powerful Machine Learning (ML) algorithms, that until recently, required large time and financial commitments, as well as specialized knowledge and experience to properly develop, train and test. This is not so any more -- the power of cloud computing has brought ML to the masses. Every developer now has the ability to leverage powerful ML resources of the cloud and bring the benefits of AI to their customers and users. But … where do you start? What services can you use? What services **should** you use? How do you integrate those services into you application? During this session we’ll answer those questions, and more, while building an AI-enabled PHP application. We'll review ML, introducing common concepts, terms and language. Then, we'll look at what ML services AWS provides and talk about which of those services is the right match for your application and for your team & skill set. Finally, we'll walk through a real-world design and demo the resulting PHP application. You’ll walk away from this session with the confidence and knowledge necessary to make the right choices for your own application. You don’t have to be an AI/ML expert to attend this session, nor do you need AWS experience. We’ll keep that at a fairly high level. But we will be walking through PHP code examples, so some familiarity with the language would be beneficial.

Code is Not Neutral: Ethics for Developers
Keynote by Clarissa Peterson in Multnomah Falls (50 minutes)

Are you responsible for the code you write? Ask the Volkswagen engineer who's in prison for creating software that allowed their cars to “cheat” on emissions tests. Or think of the ethical issues if you're programming IoT devices that spy on users and report back to the company. What about social networks that allow users’ data to be stolen? Or self-driving cars that have to choose which lives to save in a crash? Developers make all of these things happen. It's easy to forget that the code you write affects real humans. We need to be aware of how much power we've been given and start taking responsibility for what we build.

Twilio Sponsored After Party in Multnomah Falls (4 hour)

Drinks, Dinner and Diversion Fresh Mex Grilled chicken + Tofu and vegetable fajitas Cilantro rice and spicy black beans Flour tortillas, pico de gallo, sour cream, tortilla chips, and shredded cheese Cinnamon-sugar churros with caramel topping

Saturday 15th September 2018

PHP: People Helping People
Keynote by VM (Vicky) Brasseur in Multnomah Falls (50 minutes)

2018 marks the 20th anniversary of the term "open source" and the Open Source Initiative. What most people don't realise is that PHP pre-dates this by three years and has had a profound and lasting effect on the internet as we know it. But what sort of effect can you, personally, have on PHP? In this keynote, VM Brasseur will cover: • What is F/OSS, where does PHP fit in, and why does this matter? • How to locate a F/OSS project to contribute to. • How to get started with your contributions and what to expects. • Why this is worth the time and hassle.

Field Guide To Open Source Project Archetypes
Talk by James Vasile in Multnomah Falls (50 minutes)

Open source is a broad term that encompasses many different types of projects. There is a wide range of open source approaches, and sometimes it helps to think through how your open source approach matches your goals, resources, and environment. In too many places we look, we see "open source" used as a catch-all term to refer to every project. We don’t have a common vocabulary to discuss open source in ways that take account of important differences. Open Tech Strategies and Mozilla prepared a field guide to open source project archetypes: It is a first step in filling in that missing vocabulary. The report catalogs a number of archetypes we observe around the community. Considering which archetypes apply to a project has proven very useful to OTS and Mozilla when crafting strategy, weighing tradeoffs, and committing support to open source endeavors. This talk is all about helping projects get better at thinking through their open source strategy. We want to help projects make investments that are tailored to their environment and the type of open source benefits they seek. We will frame the discussion around the need for terms more specific than "open source", contrast some archetypes, and detail how archetype categorization can drive strategic choices. The field guide is not a complete document. We published version 1, but are actively seeking input so we can issue an improved update. You can see the document in progress on GitHub:

Release Your Refactoring Superpower
Talk by Adam Culp in Crater Lake (50 minutes)

Legacy applications are full of supervillains scheming to halt modernizing efforts. But deprecated versions of PHP, frameworks, libraries, and more drive a never-ending battle to keep applications up to date, supported, and secure. This can leave any would be superhero seeking how, what, when, and why. Join me as we consider real-life case studies of modernizations from various large legacy applications, and will share common evil-doers, ways to foil their plans, and how to eliminate vulnerabilities in the first place. See how to make refactoring your super power!

Only Take What You Need GraphQl in PHP
Talk by Ashley Hutson in Willamette Falls (50 minutes)

Discuss the current GraphQl frameworks and what new one is shaping up to be the best GraphQl framework. General Introduction to GraphQl and what are the reasons to choose to develop your API using this format versus a more traditional REST API. Make the lives of your front end developers easier.

Mental Health in Tech
Talk by Joe Ferguson in Uncon (50 minutes)

Mental Health in Tech Uncon

Morning Break in Multnomah Falls (30 minutes)

Grab some coffee

So, you want to be an Open Source Hero?
Talk by Andrew in Multnomah Falls (50 minutes)

You've done it! You've taken your personal programming project and placed it on GitHub as open source software. Until now, it's always been yours, and yours alone; but the moment you pushed that code, your baby left the nest. What comes next is up to you. You can choose to never touch this code again, but if you want to reach a wider audience you're going to need to cultivate a community around your project. It sounds daunting; it certainly did to us in 2008, when we open-sourced our in-house CMS as concrete5. But we were able to gain popularity in a crowded field, and you can too. In this session we'll explore how to take your app or library from just another GitHub repository to a thriving open source project.

Machine Learning and Trend Analysis in PHP
Talk by Michael Cullum in Crater Lake (50 minutes)

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. In this talk we’ll dive into how you can, in your PHP applications, perform some simple trend analysis techniques to build models, analyse data to get useful information and spot anomalies using machine learning techniques; and how those machine learning techniques can be applied to other day-to-day scenarios too.

Going Bare - Writing The Web Without A Framework
Talk by Sammy Kaye Powers in Willamette Falls (50 minutes)

If you've only ever experienced web development through a web framework, you're missing out. Have you ever been tempted to rewrite a codebase in your favorite framework? That's a smell that you need to come to this talk. Being comfortable developing without a framework is a crucial skill to have for refactoring legacy applications. In this talk I show you how to harness the power of going "frameworkless" so you'll feel empowered to make better decisions in your next web project. Be set free from your web-framework ball and chain.

Refactoring 101
Talk by Adam Culp in Uncon (50 minutes)

Refactoring 101 Uncon

Lunch in Multnomah Falls (1 hour)

Picnic Buffet Assorted buns, lettuce, tomatoes, pickles, onions, condiments Hamburgers Garden Burgers Barbequed Chicken Pasta Salad Macaroni and Cheese

13:30 Ally Oops
Keynote by Craig Dennis in Multnomah Falls (50 minutes)

Being an ally is a clumsy process. It can be awkward, scary, and confusing. But don’t let that stop you. In this talk, Craig will share his ongoing bumbling journey toward being a better ally for women in tech. He’ll uncover common pitfalls, mansplain misconceptions, and explore much needed self-realizations he’s reached through research and experience. He’s gonna make mistakes. And it’s going to be alright.

Going from Developer to Stakeholder
Talk by Ann Gaffigan in Multnomah Falls (50 minutes)

Technology is everything these days, and your skills as a developer are in high demand. How can you leverage your unique skill set and understanding of technology to climb the ranks in your company beyond “just a developer?” Ann will tell her story of going from underpaid full-time developer, to broke freelancer, to entrepreneur, and finally to partner and CTO. More importantly, she’ll tell you what she learned along the way about the art of persuasion, transparency as a trojan horse, indispensability, confidence, standing your ground, and ultimately how to be treated and respected as a leader and not an employee.

Serverless PHP applications
Talk by Matthieu Napoli in Crater Lake (50 minutes)

Serverless, aka Function as a Service or lambdas, is a new opportunity for deploying and running applications cheaply and at scale. But merging the mature PHP ecosystem and its frameworks with these new architectures and tools is not always a piece of cake! Can we run HTTP or CLI applications on lambdas? Does it work with Symfony? Laravel? PSR-15? This is how Bref started: let's have a look at how serverless architectures work and how to throw PHP and its frameworks into the mix.

Symfony 4 internals
Talk by Tobias Nyholm in Willamette Falls (50 minutes)

Symfony is a request and response framework. But what about all that magic that happens around your code? Why isn’t autowring slowing things down? And how is it that Symfony components can be so decoupled but sill play so well together? I will show you the Symfony internals and its architecture. This talk will go over the architecture of Symfony. We will follow the request and the response paths throw the framework. We will do some stops at the components that are more awesome than others. This talk is perfect for you who been working with Symfony or Laravel before. But if you never touched a framework before, don't worry. You will still learn a lot from this talk.

Talk by Matt Trask in Uncon (50 minutes)


Afternoon Break in Multnomah Falls (30 minutes)

More coffee plus sweet and savory snacks

concrete5 show-n-tell in Multnomah Falls (50 minutes)

You've never heard of concrete5? That's awful. Come meet the core team and some active community members. See some of the things these folks have built with concrete5 over the last decade. Speakers will get approximately 5 minutes each with a goal of keeping things light and inspirational over deeply technical.

The Monster on the Project
Talk by Tiberius Hefflin in Crater Lake (25 minutes)

Abusive behaviour can have profound effects on personal relationships but it can also make open source contributing and office life miserable. For those stuck in a team with co workers who exhibit toxic behavior, going to work every day can feel like going to a battlefield. Knowing how to identify and how to respond to unreasonable behavior is vital. In this talk we will look at the ways we can improve our office and FOSS communities by recognizing, managing and gracefully removing this toxic behavior.

The Evolution of Magento Module Development
Talk by Alan Storm in Willamette Falls (35 minutes)

In this talk, world renowned Magento developer Alan Storm returns to conference speaking and will teach you everything you ever wanted to know about Magento 2 module development, (or as much as he can cram in a 50 minute hour) Alan will be live coding a Magento 2 module using code generation tools, and along the way will discuss changes made since Magento 1, how Magento's approach compares with other modern PHP full stack frameworks, and survival tips for dealing with real world Magento problems. Beginners will leave with the basics they need to start making Magento 2 do things, while more experienced developers will leave with a better of understanding of **why** Magento does things the way they do and the trade-offs involved in long term development and legacy maintenance of a PHP framework.

When Testing Makes No Sense
Talk by Miro Svrtan in Uncon (50 minutes)

**UNCON TRACK** If you look at the stage of any conference in the PHP world, people are preaching testing,testing,testing ... If you on the other hand look at the community, the percentage of people writing tests is really low. As a person who went from 'How can I ask for more time/money/resources for testing?' through 'ask for forgiveness instead of permission', to person who writes tests a lot, I still believe testing doesn't make sense. No, it doesnt make sense for all and everyone, often enough it makes no sense for me too. This talk will explore that fuzzy line when you have to shift your mind from one side to the other: in both directions.

16:30 Code Review: For Me & You
Talk by Steve Grunwell in Crater Lake (25 minutes)

On the surface, the idea of code review is a no-brainer: why *wouldn't* we want a second set of eyes on our code, especially before deploying to production? As we peel back the layers, however, we find that the topic of code review is much more nuanced. How detailed should the review be? Who is qualified to perform the review (hint: it's not just senior developers)? Can we afford to take another developer away from their project to review this one? What steps can we take to ensure reviews are constructive, rather than demoralizing? Attendees will gain deeper insight into some of the arguments for and against systemic, peer code review, as well as pick up some useful tools to make code review a natural part of their teams' workflow.

MySQL without the SQL
Talk by Dave Stokes in Willamette Falls (25 minutes)

MySQL can be used as a NoSQL database. Your can store JSON documents in a database without having to normalize data, set up schemas, or dig your DBA out of their cave to set things up. And thanks to the new X DevAPI you do not need to use SQL! No longer do you have to embed ugly strings of Structured Query Language in your pristine PHP code. By using the X DevAPI PECL extension you can access MySQL as a SQL or NoSQL database using modern programming structures without needing an Object Relational Mapper. So you get the best of both world on proven MySQL technology.

Uncle Cal's Career Advice for Developers
Keynote by Cal Evans in Multnomah Falls (50 minutes)

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.

concrete5 Sponsored Happy Hour in Multnomah Falls (1 hour, 30 minutes)

Drinks and appetizers: Caprese Skewer Hummus Beef Sliders Thai chicken satay