Talks

Here is a list of the talks I have given, either at user groups or conferences. The newest ones are at the top. If you've attended one of my talks or have gone through the slides and have any questions, feel free to e-mail me.

Many older talks can also be found on my Archived Talks page.


BASHing at the CLI

The Command Line should be a developer's best friend, but many times it sits there, sad and lonely as we use to call other programs. Behind that unassuming little blinking cursor is an entire world of productivity, just waiting to be strung together. There is even an entire scripting language hidden underneath that is just waiting for you to use it! Let's investigate BASH, the shell that's syntax is universal across almost all systems (and find out why your Linux scripts do not always work on OSX).

Given at:


Coming to Terms with OOP In Drupal

Given at:


Deploying Containers with Rancher

You have talked your development team and relevant people into using containers, and everything is going great. Now you need to deploy your app, but how do you do it? How do you manage multiple environments like Staging and Production? How do you get your container images where they need to go? Do you need a full stack of orchestration like Mesos or Kubernetes? Each application and deployment situation is different, but one tool can help small and medium-sized applications manage all these containers floating around. Follow along as we look at Rancher, a free and open source management software for your containers, which will provide you not only with server and container management, but deployment options as well.

Given at:


Docker For PHP Developers

Thanks to tools like vagrant, puppet/chef, and Platform as a Service services like Heroku, developers are extremely used to being able to spin up a development environment that is the same every time. What if we could go a step further and make sure our development environment is not only using the same software, but 100% configured and set up like production. Docker will let us do that, and so much more. We’ll look at what Docker is, why you should look into using it, and all of the features that developers can take advantage of.

Given at:


Failing at Scale

Everyone wants their little application to grow up to be a strong, well-rounded, and useful set of code. We organize, we unit test, we market research, and then we push to production. All is good in the world until now you need two web servers, and multiple back-end servers, and more DB servers than you have fingers. Your code starts to act weird, there are errors in some places but not others. Fires, floods, and locusts all start to appear, and how do you manage it? Let's look at some real-life examples, along with some tools and tips, for managing those fires as your application grows.

Given at:


From Docker to Production

Congrats! You and your coworkers love Docker. Docker has become an increasingly helpful tool when it comes to devops. We can now build smaller, more robust local development setups with the promise of mirroring production. One thing that still plagues many situations is how to get those containers into production and update them over time. We will explore different tools for setting up, configuring, and maintaining containers as they go live.

Given at:


How We Got Here, A Brief History of Open Source

We all have a journey, a journey that shapes who and what we are. Ideals, hopes, dreams, and a constant stream of decisions helps make us who we are. The same is true of the idea of Open Source. The journey and story of Open Source has shaped the software landscape in the present and will continue to shape the direction of software into the future. As developers we should know this tale, this history, the important chapters that helped found the ideals of Open Source, and understand why PHP is one of the last truly Open Source projects still around.

Given at:


Licensing And You

As web developers, we all end up coming in contact with software we didn't write, be it to use in our own projects or to modify in some way to satisfy a need for ourselves or a client. We might even be distrubuting a library or an application. What we may not realize is that licensing is a very important idea which guides what we can and cannot use in our own software. We'll navigate the murky waters of Open Source Licensing and copyright as it relates to developers.

Given at:


Migrating Modules to Drupal 8

Drupal developers have spent years writing Drupal 7 modules for their clients, and with Drupal 8 looming on the horizon, many of these will need to be upgraded so that clients can be upgraded. We'll go through step-by-step upgrading of a real-life module from Drupal.org from Drupal 7 to 8, and we will also introduce the new things developers will need to know.

Given at:


OOP Is More Than Cars and Dogs

When developers are introduced to Object Oriented Programming, one of the first things that happens is that they are taught that nouns turn into objects, verbs into methods, and Dog is a subclass of Animal. OOP is more than just turning things into classes and objects and showing that both Boats and Cars have motors, and that Dogs and Cats both speak(). Let's look at OOP in real world settings and go beyond cars and dogs, and see how to use Object Oriented Programming properly in PHP. Traits, Composition, Inheritance, none of it is off limits!

Given at:


Single Page Apps with Drupal 8

It's no denying that rich Javascript applications (sometimes called single-page applications) are a big thing, but what if you want to leverage Drupal on the backend or have an existing site? Tools like Angular.JS and Backbone are great when you have an API, and with Drupal 8, APIs will be first-class citizens. I'll explore the parts of a single-page application and how to integrate it into either an existing or a new Drupal site, as well as the pitfalls that one must watch out for.

Given at:


Six Languages in 60 Minutes

Every developer has their favorite language. Yours is probably PHP. Any well-rounded developer should be at least a bit familiar with multiple languages, even if they do not use them day-to-day. New languages can help put a different perspective on problems, and there are times where PHP might not be the best pick.

There are a plethora of languages out there which can be used for web development, but also server-side scripting, tooling, general app development, or anything under the sun. Why choose a compiled language over dynamic? What are some quirks of different langauges? In sixty minutes, we will look at Go, C, Python, Bash, C#, and Lua and compare them to PHP. Break out of your shell and learn a few new languages you might want to add to your skillset.

Given at:


They Are Watching You

Humanity has seen an explosion of technology over the span of almost no time. We have gone from computers being mechanical devices for crunching trajectories to computers making decisions on whether or not we are dressing fashionably. We have also seen an explosion of services that resolve around massive amounts of data about ourselves. At the same time we see developers working on Tor, ad blockers, privacy tools, and ways to keep your data yours. Programmers just like us are building these systems. What are our moral obligations to the technology that we are building? Strap on your tinfoil hat and [REDACTED]

Given at:


WTF Is Rancher?

If you have been working with Docker for a while, there are many different technologies you can use to deploy your containers. Many of them are quite powerful, but very hard to get set up. We’ll take a quick look at Rancher, one of the quickest and easiest solutions you can use to get up and deploy your containers across any number of hosts.

Given at:


You Were Lied To About Optimization

Many know of the famous quote, "Premature optimization is the root of all evil," but most people do not know the full quote or understand the context in which optimization is considered evil. As with anything in programming optimization is evil, maybe. Stop using excuses for slow code, and start to think about the places and tools that you can use to optimize. Thankfully there are are many different tools like xhprof, Valgrind, and others to help us out and properly optimize our code for those times when we need to dig deep into our code.

Given at:


You Were Lied To About Optimization

Many know of the famous quote, "Premature optimization is the root of all evil," but most people do not know the full quote or understand the context in which optimization is considered evil. As with anything in programming optimization is evil, maybe. Stop using excuses for slow code, and start to think about the places and tools that you can use to optimize. Thankfully there are are many different tools like xhprof, Valgrind, and others to help us out and properly optimize our code for those times when we need to dig deep into our code.

Given at:


Your Inner Sysadmin

One thing that most programmers do not take the time to understand is the servers that their application lives on. Most know a smattering of Apache configs, PHP configs, and basic information about the OS. This talk will deal with looking at tools that can help you quickly set up a server and how it can help you be a better developer. We'll look at tools like puppet for server management, OSSEC for log management, different command line tools, and nagios/monit for system monitoring.

Given at:


Zend Expressive in 15 Minutes

Micro-frameworks and routing frameworks are nothing new to the PHP ecosystem, but with the advent of PSR7 and the rise of middleware new doors have opened up. Zend Expressive, built using components of various libraries both of Zend and third party, is a new middleware-based framework that takes PSR-7 to heart. We’ll go through what PSR-7 and middleware are, how Zend Expressive is leveraging them, and how you can quickly build not only APIs but full micro-framework-based application.

Given at: