php[world] is the annual conference dedicated to the greater world of PHP. Bringing together developers whether you code within WordPress, Drupal, Laravel, or anything else.

Monday 12th November 2018

Laravel Masterclass
Workshop by Jason McCreary, Joe Ferguson (8 hour)

Spend two days with the maintainer of Laravel Homestead and the creator of Laravel Shift, learning the ins and outs of the Laravel framework. All skill levels are welcome. Has it been a few years since you’ve looked at full stack framework? Has your team recently adopted Laravel? Join us for an intensive jumpstart training, teaching you everything you need to get up and running and contribute meaningful code to your projects. Instructor-led exercises and real-world examples will guide you on the path to learning. Move past “hello world” and build apps that do real things!

PHP Essentials
Workshop by Ed Barnard (8 hour)

Ready to learn PHP? Are you beginning down the path of becoming a PHP developer? Whether you are brand new to programming, moving from another programming language, or experienced within a PHP based CMS and wanting to learn how to get more out of your software, this training is designed for you! This **two-day long** course will teach you all the basics and get you writing your very first PHP program, accelerating your learning of PHP. It will cover Basic PHP Structure, Strings, Arithmetic, Variables, Conditional Statements, Loops, Functions, Cookies, Sessions, HTML Forms, MySQL Database usage, and the Basics of Object Oriented Programming.

Evolution of PHP Security
Workshop by Eric Mann (8 hour)

Regardless of reports to the contrary, PHP is a modern, scalable, _secure_ programming language suitable for any number of applications. As with any other language or tool, PHP can only be used securely if the developers using it wield their tools safely. This training class will walk through best practices in: - Password management (including hashing) - Credentials management (API keys) - Data encryption (both local and remote) - Data integrity (i.e. signing and authentication) - Server hardening Attendees will leave with a better understanding PHP and how to use it in secure applications.

Modern Layouts with Flexbox, Grid, Calc, and Custom Fields
Workshop by Jen Kramer (8 hour)

For the first time in the history of the Web, CSS is graced with tools for laying out web pages without hacks. Flexbox and Grid have made a tremendous impact on the industry, providing methods able to create responsive websites with designs not previously possible. CSS Calc and CSS Custom Fields give us a first chance to use math and variables within CSS itself, without requiring compiling. Together, these four new CSS modules work together to revolutionize CSS in modern evergreen browsers. In this workshop, you will master the following: - Flexbox, the appropriate layout tool for repetitive units of content (like an image gallery or a series of media objects) - Grid, the appropriate layout tool for two-dimensional designs (like the overall design of a web page) - CSS Calc, a method for running math in CSS which runs in the browser - CSS Custom Fields, also called CSS Variables, which can be used in interesting ways to streamline CSS code. Students will leave with a working understanding of creating custom responsive designs with the latest tools for layout, using semantically correct HTML markup and the latest CSS modules.

Tuesday 13th November 2018

Gutenberg: The Future of WordPress Development
Workshop by Josh & Zac (8 hour)

Gutenberg is a new UI framework for WordPress which will power the post editor in version 5.0. It is perhaps the largest change to the WordPress content editing experience in WordPress’s history. How you develop custom WordPress sites for clients, as well as WordPress plugins and themes, is changing—for the better. For the internet’s most popular CMS, everything is a block now. What does that mean, how do you develop your own blocks and integrate them with your theme or WordPress-powered app?  Learn everything you need to know to develop for WordPress the new, more fun way. Here is what you will learn: What is Gutenberg? Why is it the future of WordPress development? What is a block? Learn the technology and terminology. How do you build a block? From "hello world" to basic blocks with editable data. How do you make blocks dynamic? Building more advanced blocks with the WordPress REST API and Redux. Gutenberg is a JavaScript-driven interface that communicates with WordPress via the REST API. This workshop is for all PHP/JavaScript developers but will focus primarily on JavaScript.

Hands-On API Design
Workshop by Tim Lytle (8 hour)

Building your next mobile app, SaaS product, or web app using an API first philosophy is a great decision. It can allow your team to develop in parallel, enable expansion to multiple platforms, and create opportunity for outside integration. But once you've made that decision, what's next? How do you actually do it? What options are there for authentication? How do you reset a password with an API? Is hypermedia worth considering for internal APIs? How do you handle unauthenticated access from a client side javascript application? What format is best for API requests and responses? Should you version your API now, or later? In this hands on workshop we'll talk about all those questions, and the answers that give your API a solid foundation. Because your API may start out serving the needs of internal mobile clients, or single page web apps, but one day (and probably sooner than you think) you'll be turning it into a public API.

Wednesday 14th November 2018

09:00 Welcome to the PHP Community
Keynote by Nara Kasbergen (40 minutes)

Congratulations! By attending php[world], you are now a full-fledged member of the PHP community. My goal is to make that seem exciting instead of intimidating, especially if this is your first PHP conference (or perhaps even your first tech conference altogether!). But even if you’ve attended php[world] before, there is probably more you can get out of the conference and give back to the community. Maybe you’re an introvert or struggle with social anxiety, and fully engaging with the conference and fellow attendees has always seemed scary or physically exhausting. As an introvert with moderate social anxiety myself, I can relate. But becoming involved in the PHP community has been one of the most rewarding things I’ve ever done, so I’m here to help you overcome these challenges. From navigating the talk schedule to deciding whether or not to attend the official and unofficial after-hours events, I’ll offer advice for how to get the most out of the conference based on what you’re hoping to take away. For the introverts in the audience, we’ll discuss how to build in breaks for quiet time so you can recharge and be at your best for the rest of the conference. For those struggling with social anxiety, we’ll coordinate groups to sit together at lunch and talk about other strategies to handle the evening socials so you can meet new people without overwhelming yourself. I’ll go over the speaker lineup and introduce you to some of the stalwarts of the PHP community, most of whom would be more than happy to talk to you one-on-one. In the process, I’ll mention several organizations (local, national and international) within the PHP community or adjacent to it that are worth knowing about and involvement in whom is a great way to keep in touch after the conference ends. We’ll also discuss the importance of giving feedback on the sessions you attend using and review best practices for how to write constructive comments. Finally, I’ll go over ways to become more involved in the community, such as contributing to open source, blogging, or speaking at meetups and conferences — and why the latter isn’t nearly as scary as you might think, even as an introvert with social anxiety.

The Role of an Architect
Keynote by Ted Neward (40 minutes)

10:30 Resilient Systems in PHP
Talk by Brian Sanders (50 minutes)

When your PHP app is running on your laptop, it's easy to get the insights you need into the health and functionality of your web apps. Your production deployment topology can be a different story. How will you get the visibility you need to diagnose production failures? Better still, can you design and build systems that degrade gracefully when usage spikes or integrations fail? This talk will present a process for breaking down your application into well-factored segments and architectural patterns that enable self-healing.

Web Components & Polymer
Talk by Joel Nylund (50 minutes)

Come to learn about the open-source JavaScript library Polymer, used for building web applications using Web Components, a set of features that have been added to the HTML & DOM specifications which allow for reusable widgets to be created for your application.

Practical Object-Oriented Design Principles
Workshop by Brandon Savage (1 hour, 50 minutes)

Figuring out the best way to apply object-oriented design principles to your code is a challenge for even the most experienced developers. In this tutorial we’ll dive deeply into exactly how to apply object-oriented design principles to the software we’re writing, including an in-depth analysis of the SOLID patterns and practices.

CSS for Backend Developers: How to Stop Fearing Your Stylesheets
Talk by Vivian Guillen (50 minutes)

You just got handed a new web development project and you start getting excited about all the cool and cutting-edge tech you’re gonna be using. You go over the project overview and you’re already thinking about the database architecture, project structure, routes and all that technical stuff you’re already good at. THEN you get a message saying that the project design is ready and it comes with a preview of it… Your heart sinks… The design looks beautiful and polished, it uses all sorts gradients and rotated images and patterns and you start thinking: “How the heck am I gonna code this in CSS?” The purpose of this talk is to answer that question for you. No, I’m not gonna tell you how to do fancy gradients and how to rotate images, instead, I’ll give you a mental framework on how to tackle CSS problems you have never encountered before. I’ll teach you the core concepts you need to understand to resolve 90% of the CSS issues you encounter. I’ll also point you to good books, videos, and resources that you can use to learn how to get into the right mindset for properly coding your css and not be constantly frustrated by it.

Birds of a Feather: New to php[world]?
Talk by Heather White, Oscar Merida (50 minutes)

Is this your first php[world], or even your first conference? Join a group of experienced conference attendees and the conference organizers in an informal session to welcome you! We’ll help you decide what sessions you should attend, and give you some tips and tricks about how to get the most out of attending the event while introducing you to some new friends who will be happy to help you out throughout the conference!

11:30 Forgot Password? Yes I Did!
Talk by Joel Lord (50 minutes)

Every month, we hear about a new data breach and billions of user passwords are being shared as we speak. How can we stop this? There is a simple solution, let’s stop using passwords! From email links to biometrics, more and more technologies are available to help developers handle different types of credentials. During this presentation, the attendees will learn about some of the alternatives and how to implement them in the context of an OAuth flow.

Do More, Server Less
Talk by Richard Moot (50 minutes)

A tour through different useful applications of serverless computing and tools to use across different cloud providers. Follow up with a walkthrough of a completely serverless application that I built to demonstrate some of those uses. – Initially go through what serverless computing really is and clear up some confusion that arises around serverless computing vs frameworks that have adopted the name. – This will lead to a brief tour of the popular serverless frameworks that are out there and how useful each one is. – A tour of cloud provider’s serverless offerings (AWS Lambda, Google Cloud Functions, Azure Functions, IBM Whisk) – A high-level overview of the application I built and what it consists of. – Things to watch out for when you build a fully serverless application

Code Review: For Me & You
Talk by Steve Grunwell (50 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.

Birds of a Feather: DC Area Developers
Talk by Andrew Cassell (50 minutes)

Are you local to the DC area and want to meet fellow developers? Are you not yet a member of any of the local user groups and would like to meet some of the leaders? Do you just wanna chat about tech in DC, or just hang out with other community folks? Join the DC Area Dev Birds of a Feather session!

PHP: Now and Tomorrow
Talk by Sara Goleman (50 minutes)

Recoding Your Life Objects
Talk by Dori Kelner (50 minutes)

In 1946, Viktor Frankl, a famous neurologist, said, “Between stimulus and response, there is a space. In that space is our power to choose our response." Just as we as developers thoughtfully design event handlers to respond to our events, so can we use that space to improve our personal and professional lives. A recent study concluded that nearly 60% of tech workers suffer from on-the-job burnout. This can lead to serious physical and psychological illness, low productivity, and declined motivation. Business suffers when employees experience high stress, as evidenced by rising turnover rates and healthcare costs. Modern tech companies are also victims to stress. We often see this manifested as a focus on short-term goals, lack of vision, and routine thinking. Learning to calm the mind allows us to focus on that space between stimulus and response. This can be accomplished through the practice of mindfulness, a technique that allows us to tap into and reprogram our reactive patterns to everyday events. Not only does this mindfulness help individuals to more thoughtfully respond to situational stress, it also can be key to building leaders and organizations that behave more intentionally. Steve Jobs was known to use mindfulness to improve focus, clarity, and creativity. Join me on a journey to understand the process of mindfulness. We will explore how this technique can help you focus in a world full of digital chatter. Topics will include: - An understanding of mindfulness and how it can benefit you - How mindfulness allows you to recode your reactions and convert them to thoughtful responses - What organizations should know before integrating mindfulness practices into their strategic planning process You will come away with a new awareness of the flexibility of your brain to listen more deeply, respond more intentionally, and create inner peace.

Browser Automation Testing with Headless Chrome
Workshop by Derek Binkley (1 hour, 50 minutes)

Developers are unit testing, QA staff is integration testing, Users are acceptance testing. Do you really need to add browser automated tests too? Have you ever experienced side effects of upgrading third party components or server configuration changes? Do you have trouble testing your entire site to ensure bugs weren't introduced? If so, you may need browser automation testing. In this tutorial we will combine Puppeteer, Mocha, and Chai to automate your browser and test all your site's components. This will lead you to deliver your updates reliably and catch bugs before they get deployed. You can find the requirements for the workshop on this [website](

Transparent Docker
Talk by Donald Tyler (50 minutes)

Keeping your environments in sync has been a challenge for software development for a long time. Developers tend to install their own versions of languages, databases, services etc. Doing so manually results in not only inconsistencies between dev and prod, but also from developer to developer, resulting in the always wonderful "It works on my machine" syndrome. Various tools have strived to solve this problem: MAMP, XAMP, VirtualBox, Vargrant, Puppet, Chef, homestead, etc. These are all steps in the right direction, but they're often heavy and require developers to learn new skills to work with them. In this talk, I'll be showing you how to Dockerize a new or existing project in such a way that the developers that use the project barely even know they are using Docker. Getting a new dev up to speed on a new project with a factory fresh machine is literally just a matter of installing Docker and checkout out the source code. That's it! Some of the benefits you'll see from using this approach: * Onboard new devs in minutes. * Have projects with unique (often incompatible) dependencies on a single machine. * Dockerized environment that acts like natively installed tools * Version locking of the tech stack * Updates to dependencies automatically distributed to other developers * Easily extended into CI/CD

Birds of a Feather: API Design
Talk by Tim Lytle, Ed Barnard (50 minutes)

Join this Birds of a Feather roundtable to discuss various topics related to API Development and API Design.

14:30 Releasing High-Quality Packages
Talk by Colin O'Dell (50 minutes)

Releasing open-source libraries involves much more than sharing your Github URL with the world. There are many considerations and steps involved, especially if you want your project to be successful and long-lived. In this talk, we'll cover the principles behind creating, releasing, and maintaining high-quality libraries. Topics will include structuring the repository, implementing modern PHP standards, maintaining changelogs, using CI tests, releasing new versions, and other best practices. Attendees will walk away with enough knowledge to publish their own quality PHP packages on Packagist for others to use.

Diversity Things and Inclusion Stuff
Talk by Margaret Staples (50 minutes)


How to Handle an Outage
Talk by Mo Jangda (50 minutes)

All systems eventually break. How do you effectively manage when that happens? Learn about incident management techniques and processes that the VIP team uses to handle incidents impacting Enterprise level sites (everything from small feature breaks to major system-wide outages) and how you can learn from and implement them too.

Birds of a Feather: Ethics in Software Development
Talk by David Wolfpaw, Eric Mann (50 minutes)

What questions should a developer ask when they’re starting a project? What concerns should you consider while architecting a new system, solution, or platform? Where do you go to raise a red flag should one come up during or after development? Who is responsible for the way your code is used? Join this round-table discussion on ethics in software development!

Cryptopals Hackathon
Workshop by Eric Mann (1 hour, 50 minutes)

We've put together a series of cryptography challenges inspired by those hosted on [Cryptopals]( Your mission, should you choose to accept it, is to put together a crack team of developers and complete as many challenges as possible in the time allowed. Every challenge has an objective; every objective is worth points. The team (or solo developer) with the most points at the end of the night wins! We'll start with a few introductory challenges to help everyone familiarize themselves with the frameworks and code we can use to solve the challenges. After that, it's up to you!

Immutability to Save an Ever-Changing World
Talk by Andrew Cassell (50 minutes)

Want to build software that is more testable, easier to modify, and has fewer lines of code? Architecting with more immutable objects that are always in a valid state is the most important lesson I have learned in building better software applications. Using immutable value objects will lead to less checking, fewer bugs, and more DRY code, and will help avoid the “spooky action at a distance” problem in PHP. We will also learn how to use immutable objects and immutable collections to improve design of our mutable entities. Lastly, we’ll see how immutable objects and functional programming can reduce complexity.

Going from Developer to Stakeholder
Talk by Ann Gaffigan (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.

Best Practices for Building a Good Product in PHP
Talk by Roman Hanin (50 minutes)

Methods and practices that we use in Magento to build an adorable product for a large community of developers and merchants.

Birds of a Feather: CI & Automated Testing (50 minutes)

Automated Testing and Continuous Integration! What more could you want!?

16:40 The Debug Dance - An Intro To Step Debugging
Talk by Sammy Kaye Powers (50 minutes)

Using `var_dump()` to debug your app has its benefits, but there are more comprehensive and efficient ways to debug those particularly illusive bugs. Enter step debugging. We'll be using Xdebug & the PhpStorm IDE to step through our PHP apps line by line and see how much more power step debugging gives us over the conventional `var_dump()` technique. We'll also touch on debugging from the command line. Learn to dance in PHP with step debugging.

Accessibility for Everyone
Talk by Beth Tucker Long (50 minutes)

It is important to reach every last customer, but there are a lot of customers out there for whom the web is not an easy quick-stop. Your target audience contains people who need visual or motor assistance whether they have a specific condition that affects them or are just part of the very large and aging baby boomer generation. Learn some tips for evaluating the accessibility of your site, and find out how to broaden your site’s appeal while making the web a more accessible place for everyone.

Everyone Deserves a Great Manager
Talk by Shay Howe (50 minutes)

Chances are we’ve all had a manager we weren’t fond of, making everyday at work a bit more difficult. What’s worse, is being this manager and not knowing it. As a manager, we all strive to be effective leaders. The one who builds relationships, empowers their team, and responds to their needs. But, how? Building a team, developing trust, and aligning everyone to organizational goals is easier said than done. In this talk, for new and experienced managers, we’ll discuss 1-on-1s, engagement, coaching, and the alike. After, you’ll be better equipped to be a great manager, effective and enjoyable.

Thursday 15th November 2018

Apache httpd: Not your Daddy's Web Server
Keynote by Jim Jagelski (40 minutes)

Developers in the Mist
Keynote by Samantha Quiñones (40 minutes)

Social animals by nature, human beings relate to one another in myriad ways, consciously and unconsciously. The dynamics of the groups we live and work in have a tremendous impact on our health, happiness, and productivity. Through understanding, we can develop a mindful approach to human interaction, creating more sustainable, inclusive, and successful teams.

10:30 Going bare - writing the web without a framework
Talk by Sammy Kaye Powers (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.

Empathy as a Service: Supporting Mental Health in the Tech Workplace
Talk by Nara Kasbergen (50 minutes)

At any given time, 1 in 5 adults are living with a mental illness, such as depression, bipolar disorder, generalized anxiety disorder, substance use disorder, burnout, or ADHD. Statistically, all of us working for an organization with 5 or more employees have at least one colleague who is affected. At the same time, the tech industry is often characterized by high stress, long hours, workplace pressure to be available by phone and e-mail after-hours or sometimes even while on vacation, social pressure to constantly network and attend conferences and make a name for yourself, and the precarious balance between trying to do good by contributing to open-source and maintaining some semblance of free time that doesn't involve coding. Given how this demanding environment increasingly blurs the line between our professional and personal lives, how can we ensure that the most vulnerable among us aren't being left behind? As a community, the single most damaging thing we can do is continue to treat mental health as a personal shortcoming that can't be talked about openly. We shouldn't think of it as "somebody else's problem"; the 4 in 5 of us who don't currently have mental health disorders must do our part to help end the stigma. This talk will begin with an overview of key statistics about mental illness, followed by the efforts of the non-profit organization [Open Sourcing Mental Illness]( to gather more data about mental health in the tech industry, the ALGEE action plan taught by the [Mental Health First Aid]( training course, and finally conclude with ideas and strategies for making our tech workplaces more accommodating and inclusive.

Start testing your PHP code
Workshop by Jason McCreary (1 hour, 50 minutes)

In this workshop we'll cover different ways to test your PHP code. Our focus will be the tools and writing tests - we won't get caught up in all the testing dogma. Instead, we'll create a foundation in tools like PHPUnit, Mockery, and Codeception so you can make the decisions about what testing tools and strategies work best for you and your code. So if you're looking to start testing your PHP code, or learn other PHP testing tools, this workshop is for you.

Leveraging Typed Exceptions for Cleaner Error Handling
Talk by Chris Holland (50 minutes)

The temptation is real. We create methods that return an array of objects, or “false” if nothing was found. Or “null.” We might further “signal” unexpected results or error-conditions with integer values. It then becomes the responsibility of consumers of these methods to properly interpret what “false”, “null”, or “-500” mean. As a result, we produce code that is difficult to read, maintain, and extend. Exceptions are seldom leveraged, and most often thought of as objects thrown by some frameworks for instrumentation. However, when properly leveraged, they offer an opportunity to manage unexpected and edge-case behavior at various layers of our applications, with elegant control flows. By leveraging your language’s exceptions alongside its “type system,” we can create elegant, flexible, and advanced handling of error conditions, which will promote code that is easier to work with.

Birds of a Feather: WordPress Development
Talk by Zac Gordon, Josh Pollock (50 minutes)

Do you write custom code for WordPress? Make your own themes? Use WordPress as a framework? However, you happen to use it, come join a crew of others who do the same to discuss your thoughts and share your tips!

11:30 Automating Deployments with Deployer
Talk by Colin O'Dell (50 minutes)

Have you ever botched a deployment and taken a site offline? I have - more times then I'd like to admit. What if we could completely automate the deployment process, make it lightning fast, remove most of the risk, and do it all without custom bash scripts? Better yet, what if we could use the same exact deployment process locally or trigger it via CI? All of this is possible with Deployer - a PHP-based deployment tool which supports virtually every CMS and framework! Attendees will learn the basics of Deployer, how to customize deployments to fit their needs, and how to handle situations if things go wrong.

A Crash-Course in PHP Namespaces for WordPress Developers
Talk by Steve Grunwell (50 minutes)

Way back in 2009, PHP 5.3 was released to the world and with it brought support for PHP namespaces — a way of easily separating your code from other developers’ code, which has since become the de facto way of encapsulating functionality across the PHP ecosystem. With namespaces, multiple packages could use the same class and function names without conflict, because each one would operate in their own PHP namespaces. Unfortunately, many PHP developers who focus on WordPress development may be in the dark on this extremely useful language feature. This talk aims to shed light on PHP namespaces, especially targeted at WordPress developers who haven't yet encountered them. Attendees will leave the talk with a firm grasp on PHP namespaces, how they work, and how they can be implemented in plugins and themes.

Yak Free API Tips & Tricks You Can Use Right Now
Talk by Tim Lytle (50 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 use 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.

Birds of a Feather: CSS Headaches
Talk by Jen Kramer, Vivian Guillen (50 minutes)

Have you had your fill of dealing with CSS? Can’t get that block exactly centered on the page? Ran into other issues? Come commiserate with other people in the same situation!

13:30 Intro to PHP Encryption
Talk by Eric Mann (50 minutes)

Modern PHP supports modern encryption: Sodium. This new interface provides a set of opinionated cryptographic primitives that help prevent you from making a costly mistake. Sodium allows symmetric encryption, public/private encryption, and data signing just like you're used to in other languages. It's also _native_ to PHP as of version 7.2. Come learn about the new encryption layer provided by PHP and put your new knowledge into action with a hands-on workshop. Attendees will work with an existing application to add a layer of encryption, protecting its data both at rest and in transit.

Building WordPress Themes: A Primer
Workshop by David Wolfpaw (1 hour, 50 minutes)

If you’ve ever wanted to build your own theme for WordPress, this is the session for you. We’re going to start from scratch and work our way up. This tutorial assumes HTML and CSS knowledge, though there is no level of PHP requirement. We’ll go through all of the core files needed for a theme; some supplemental features that can be added; and how themes should be structured for clients, public free release, and sales sites. We're going to briefly demonstrate how to add features for the WordPress Customizer and Gutenberg editor. We’ll also cover some tools that can help with your theme development.

The Art of Working with Non-Developers
Talk by David Yarde (50 minutes)

No matter the platform, useful programming requirements get lost in translation from client meetings, to project managers and finally as a to-do ticket. Sucking all the joy out of the development process and reducing things down to daily sprints, with the hopes of launching on time. There has to be a better way! Together we’ll take a look at effective ways of getting everyone on the same page, minimizing scope creep and having less stress when it comes time for product launch as well as how this helps to create a stronger foundation for business growth.

Extensibility and Other Architectural Challenges in Magento
Talk by Alex Paliarush (50 minutes)

Learn about the challenges of designing extensible open source platforms. This talk will cover implementation details of solutions used in Magento to achieve ultimate extensibility of configuration, DB schema, view, and domain logic.

Birds of a Feather: Mental Health in Tech
Talk by Nara Kasbergen, Joe Ferguson (50 minutes)

Do you have questions about mental health? Do you want to know what you can do (for yourself or for someone else?) Do you want to contribute back to the community to help out? Join this round-table discussion on the mental health issues surrounding tech at the moment.

14:30 Hacking your work life __ balance to take over the world.
Talk by Jennifer Wadella (50 minutes)

Where do conference speakers find time to deliver such amazing talks? How did my coworker manage to publish that NPM module with over 13,000 downloads while we're on this deathmarch project? Who has time to run a meetup group AND spend time with their family? Pinky: Gee, Brain, what do you want to do tonight? Brain: The same thing we do every night, Pinky - try to take over the world! It's a mindset. We suffer from severe "rockstaritis" in the developer community. Many of us look at these rockstar developers/speakers/thought-leaders we see on Twitter and on podcasts and think that kind of work they deliver is intangible, and that we simply don't have the expertise or hours in a day to achieve all we'd like to. This talk aims to reshape the every day mindset and share strategies and tactics to be able to take on more opportunities, execute harder, grow more skillfully, live happier, and feel better about our accomplishments.

Learning Machine Learning
Talk by Joel Lord (50 minutes)

From chatbots to your home thermostat, it seems like machine learning algorithms are everywhere nowadays. How about understanding how this works now? In this talk, you will learn about the basics of machine learning through various basic examples, without the need for a PhD or deep knowledge of assembly. At the end of this talk, you will know what the Naive Bayes classifiers, sentiment analysis and basic genetic algorithms are and how they work. You will also see how to create your own implementations in Javascript.

Taming your Data with Elasticsearch
Talk by Derek Binkley (50 minutes)

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 of your data and have it make sense to you and your users. We'll sort through millions of rows in milliseconds and give you the tools to take your data analysis to the next level. You will learn how to use basic RESTful API calls to store, search, and aggregate your data.

Birds of a Feather: Contributing to PHP
Talk by Sammy Kaye Powers, Sara Goleman (50 minutes)

Have you ever been interested in contributing back to the PHP project? This is your chance to chat about it with a couple of people who contribute regularly. Whether you are interested in adding new functionality, fixing bugs, adding tests, or just contributing to the documentation, your help would be greatly appreciated!

Protecting your company's data: by psychologically evaluating potential Espionage and Spy activity
Talk by Stacey Jenkins, M. Psych (50 minutes)

•We talk about protecting data. •We talk about outside forces seeking to obtain our data by unconventional means. •I will speak about PROTECTING or DATA that is stolen from trusted individuals within. MY PRESENTATION WILL ENGAGE THE AUDIENCE: We will focus on their psychological motivations, to identify the emotional precursors. Combining open-discussions, media, and PowerPoints, to illustrate, cultural adaptation, borderline personality disorder, psychological autopsy, precursors to ESPIONAGE, and SPYING. The presentation will give participants innovative insights to conduct psychological field profile/assessments and verify potential risk factors. This presentation will outline the mental aspects regarding a Data Breaching and possible prevention Data Loss. Furthermore, this presentation will demonstrate that with the proper preparation, one can evaluate an individual whose psychological profile dictates that they retain the potential to perform CORPORATE ESPIONAGE. One of the most severe threats facing our Businesses and Corporations is the threat of a DATA BREACH. Regardless of the motivation, nature of their associated tactics, techniques, and procedures; the breach in DATA pose a stiff challenge to the existence of your organizations future. The persistent nature of this threat and the expectation that it will continue to rank as the most likely scenario; Board executives and administrators will need to contend with soon. The goal of my presentation is to inform Executives/Administrators key signs to help reduce/prevent DATA loss using corporate espionage and theft. My workshop will contain two main sections: •The first section will discuss the PSYCHOLOGY of spy/thief, •The second section will deal with the process of identifying individuals who seek to harm the company. The first section will cover a brief history of CORPORATE ESPIONAGE and incidents involving same. The psychological concepts behind DATA BREACHES (within) and CORPORATE will be discussed thoroughly. For this segment, I will be utilizing role-playing scenarios to introduce to the PARTICIPANTS how “everyday people skills” can be used to conduct a Criminal/Psychological profile to aid in determining potential corporate spies/thieves. That said, executives should safeguard administrative tools for their company to complement its data security effectively. The Board of directors and its administration treat the protection of their data to warrant the risk of a breach of data, and this includes PERSONNEL. In today's world of CYBER-RISK and CYBER-SECURITY, we sometimes forget about the individuals, or dare I say SUSPECTS behind the BREACH, ATTACH or THEFT. We neglect these individuals until it is too late, and the damage has been done. Individuals such as: EDWARD J. SNOWDEN The media hails him as a “whistleblower,” but MR. SNOWDEN stole DATA belonging to the NSA and disseminated said data to individuals with unauthorized access. •William Binney (NSA) •Jose Ignacio Lopez (GM) Chief of productions accused of corporate espionage. •Steven Louis Davis (Gillette) Pled guilty to theft of trade secrets •Patricia Dunn (Hewlett-Packard) Involved in a spying scandal •Ross Klein and Amar Lalvani (Starwood Hotels) downloaded confidential Starwood information to use later at Hilton. This second section will focus more on people reading skills and identifying micro-expressions. This segment of the workshop will help the PARTICIPANTS identify the traits, behaviors, and body language of individuals. The conclusion at the end the second section will consist of a hands-on practice session: I will ask PARTICIPANTS to apply what they have learned by identifying potential RISKS by profiling random social media accounts of individual, based on photographs, social media postings, likes, friends, and so forth. • Note: not only have past participants found this method fun, but they have also found it to be reliable and proven reliable. I utilize this method throughout my profiles of gang members, narcotics traffickers, white-collar criminals and more. The protection of a company's data is not just an issue for the IT department. Data security is a crucial element of a corporation's security mainframe, necessitating executive surveillance. The breach of data has immediate licit consequences, which executives must comprehend. The topic of data security must be addressed in every board meeting and said boards should be equipped with the tools to obtain proficiency, which will allow them to encounter with matters surrounding data security. MY PRESENTATION WILL ENGAGE THE AUDIENCE: Therefore, for this workshop, we will combine open-discussions, media, and PowerPoints, to illustrate, cultural adaptation, borderline personality disorder, psychological autopsy, precursors to ESPIONAGE, and SPYING. The presentation is fun, excite, informative and addictive. Further, the presentation is lengthy (but not dry nor ever dull), it averages about 1.5 hours. However, it can be condensed to approximately 45 minutes. What I would do (and this involves summarizing all my lectures/presentations) is to reduce my open discussions (Q&A from the audience) and limit my role-playing scenarios. However, the role-play segment gets the attendees involved and some even attempt to test their new-found aptitudes soon after. For example, some would attempt to use said skills while at dinner, lounge, and so forth. However, it can be reduced to one or two “mock-type scenarios.” This segment is vital because it proves sound regarding the utilization of one’s everyday skills to psychologically profile. I have used this method in the past regarding COLD HOMICIDE CASES, PREPARATIONS before INTERVIEWING SUSPECTS and PROFILING current cases. This lecture/presentation will conform to discussions regarding cyber-attacks/incidents and will entail the psychological unmasking of individuals behind the attacks. For example; a car thief would look at the vulnerability of the anti-theft system protecting a vehicle. However, how does that thief know what weaknesses to look for, the same goes for The necessity for societal psychosomatic tactics is also suggested by the fact that significant cybersecurity episodes from motivations as wide-ranging as monetary profit and radical/philosophical dissent. These are frequently initiated by cliques, as opposed to a single person acting by him/herself. My goal is to offer attendees additional preventive measures by exposing abilities they have within, the purpose of this segment is to make individuals aware of influences that they have, using one's observational skills to detect the behavior of potential attackers. Key takeaways from the: Performing assessments on a psychological and cybersecurity platform Enhanced abilities to evaluate security efficiency within his/her organizational structure Authentic mock scenarios regarding attack vectors and how to respond or set up a novel response system in response to same (this method is formatted to my active shooter drill, it pertains to the aftermath and the preparation to make a quick recovery and training for the aftershock)

Performance Testing: It's Easier Than You Think
Talk by Eryn O'Neil (50 minutes)

You need to begin incorporating profiling & performance testing into your development workflow. This session will start with a high-level overview of the different types of tools, such as profiling, monitoring, and load testing, and then will go into how to use these tools within your daily development lifecycle.

Domain-Driven Design in PHP Workshop
Workshop by Andrew Cassell (1 hour, 50 minutes)

Building PHP applications using domain-driven design (DDD) techniques results in code that is easier to modify, maintain, test, and makes for a better user experience. In this hands-on tutorial, you will become versed in the best practices for solving problems using domain-driven design in PHP from start to finish. You will learn to: * Discover a ubiquitous language and identify changes in the design of PHP classes, methods, and problem solving * Assemble an incorruptible domain model in PHP by encapsulating business logic in immutable value objects, specifications, and entities * Employ best practices for persisting and accessing entities and aggregate roots in Doctrine and Zend DB and Hydrator * Use advanced PHP object-oriented techniques to simplify code and reduce state complexity * Plan for change by using the Hexagonal Architecture Pattern * Evaluate when and how to use CQRS techniques * Write your own DIY event sourcing and use libraries like EventSauce and Prooph * Introduce DDD to a “legacy” codebase * Discover recommended resources for learning more about applying DDD in PHP

Real-World Test-Driven Development
Talk by Chris Holland (50 minutes)

Imagine Test-Driving code with ease and speed in a Symfony application, with realistic data operations, while solving most business problems within the comfort of your test harness. To make it all happen, we’ll look at bootstrapping Symfony with REST, OAuth, User Management, Unit & Acceptance Tests.

Birds of a Feather: Drupal Development
Talk by Dori Kelner, Jess Snyder (50 minutes)

Join fellow Drupal developers to discuss anything and everything related to developing for Drupal!

16:40 Modernizing Legacy Code Step by Step
Talk by Joe Ferguson (50 minutes)

We'll be taking a real PHP 5.2 code base and migrating it to the latest and greatest PHP version. We'll cover refactoring, adding components to handle routing, database access, as well as converting our HTML output to views. We'll step through the entire process to demonstrate a repeatable solution for modernizing YOUR legacy application!

Templating with Twig
Talk by Margaret Staples (50 minutes)

Get Your Team Talking About Usability
Talk by Beth Tucker Long (50 minutes)

You see your website every day. You know exactly how it works, and so does the rest of your team. Your team knows how each function was made (and often, whose fault those decisions were). So how you do you get your team to look at the site with fresh eyes and include usability when planning new features for the site? Come and learn some simple tips you can implement to get your team talking.