Want to separate the signal from the noise, but have too much input to deal with? Fed up with reading everything yourself? Mechanical Turk got you down? Then perhaps you need to apply some machine learning! In this talk, Christopher will cover some basic approaches to machine-learned classification as well as demonstrate a real-life application […]Click for more information on 'Simple Machine Learning'
The internet is an amazing tool for sharing information with users all over the world, but what happens when “online” isn’t a guarantee? This was the question posed after 10up built an web-based product catalog for one of the world’s leading water technology providers. With a sales team of hundreds, how could we be sure […]Click for more information on 'Taking the Web Offline'
#The Challenge Functional programming (FP) is a powerful approach to problem solving. Until now, the majority of the PHP community hasn’t realized this, but it’s actually fully available to us in PHP! When the size of PHP applications increases, they become extremely hard to maintain and reason about, especially when sharing and modifying global state. […]Click for more information on 'Functional Programming in PHP'
Ever been to a conference, get inspired, try to bring what you learned back to the office, only to be stymied by co-workers who aren’t interested in rocking the status quo? It turns out that people tend to resist change in patterns, and like any pattern they can be overcome by using other people’s experiences […]Click for more information on 'Driving Technical Change'
React and Ratchet are pretty cool, but it’s hard to utilize them within an existing full stack application. This talk will go through the simple steps required to get your application sending push notifications via web sockets, allowing your application to take advantage of real time updates and notifications without the need for refreshes or […]Click for more information on 'Simple push notifications with Ratchet and Web Sockets'
Using files as an alternative to simple database processes; PHP has many little hidden features within its vast tool set. One of these features – often overlooked – is its uncanny capability to handle complex files. Sure, everyone knows that PHP can open a file, but what can it really do with that file? What actually brought the true […]Click for more information on 'File Level Manipulation in PHP'
Our development team uses Vagrant-powered virtual machines for local development, a multi-tenant staging environment for client demos, and manages multiple production servers for client websites. Until recently, every system in that fragile chain was running a different version of PHP. And by “fragile chain” I mean this system caused headaches for the team. Every. Single. […]Click for more information on 'Dockerizing Development'
You know PHP so why not use it locally to query and manipulate HTML files? You can use it to automate any number of tasks. In what circumstances would you want to use PHP scripts with HTML files? – cleaning up files that have been converted to HTML – automation of bulk conversions – creating […]Click for more information on 'Querying and Manipulating HTML using PHP'
MySQL 5.7 features a new JSON data type. You can now store valid JSON documents in a column. This session is about how your JSON data is stored, the function you need to fully control the data (the four built in PHP JSON functions are not up to snuff), how to use generated columns to […]Click for more information on 'MySQL’s JSON Data TYpe'
Caching is among the most vital parts of modern system, and one of the most cost-effective ways of squeezing that extra bit of oomph from an app. Thankfully, we now have more caching techniques and tools than ever, but knowing know how they fit together is difficult. Memcached and redis are just the first step […]Click for more information on 'Caching on the Bleeding Edge'
What is the probability that your project will actually be completed by the time you had estimated? The CPM/PERT method assumes that the activity times are statistically independent, which allows us to sum the individual expected activity times and variances to get an expected project time and variance. It is further assumed that the network […]Click for more information on 'Probabilistic Network Analysis in Project Management'
The performance of client-side web applications directly impacts the experience of users, yet browser performance can be one of the most difficult metrics to reliably track. The best way to improve performance is to collect and monitor a wide range of these metrics over time. There are countless tools and techniques available to developers to […]Click for more information on 'Effectively Monitoring Client-Side Web Performance'
Thinking about quitting that desk job and enjoying the freedom of contract development? Already have? A contract developer for 10 years, I’ll share my philosophy on contracting, some tips on how be successful, and a look at some of the clients you’ll run into. While my style of contracting may not work for you, this […]Click for more information on 'Adventures of a Contract Developer'
Two years ago we (Minds.com) made the brave decision to ditch MySQL and move to a ‘master-less’ NoSQL system that would horizontally scale up and down with traffic. I will cover what was wrong with MySQL and why chose to use Cassandra as our new database. The talk will feature: comparing MySQL schemas with a […]Click for more information on 'Moving to NoSQL with PHP'
Few PHP developers have any formal training in Structured Query Language or set theory and are amazed they write database queries that perform poorly. This session covers basic set theory, shows how to use simple Venn Diagrams to create JOINS, how to avoid the N+! problem, data scrubbing, and how to let the database do […]Click for more information on 'Avoiding Common Database Problems'
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. I will walk attendees through various evolutions of a specific application from synchronous execution of […]Click for more information on 'Monkeys in the Machine'
Traits were introduced all the way back in version 5.4 and added a pretty powerful option to the developer’s tool belt. However, it seems as if very few people really understand them. As a result, most people just avoid them. In this talk I will go over some of the ways that traits can be […]Click for more information on 'Traits: PHP’s best feature that you aren’t using'
No – not charts! Graphs are a data structure that are more than just the nodes and edges they contain: from mapping networks to representing arithmetic, from writing chat-bots to inferring relationships, applying graphs to a problem can quite often provide an elegant solution. In this talk, Christopher will cover the basics of graphs as […]Click for more information on 'Graphs are Everywhere'
DocBook is an XML format use by many open-source companies to create technical documentation The author has 10 years experience using DocBook. This paper is based on a chapter of “DocBook for Writers” Basics of creating HTML pages using DocBook and a transformation (XSLT) Show how creating PHP pages differs Description of XSLT style sheet Show […]Click for more information on 'Creating PHP Pages Using DocBook'
Okay, you’ve made the move to containers and can now write Dockerfiles for everything. How do you manage all of those containers?. Have you found that you traded managing individual machines for managing individual containers? Kubernetes, an Open Source container orchestration engine, can be your answer. We’ll explore Kubernetes and see how you can use […]Click for more information on 'Containing Chaos with Kubernetes'
Humans are the most complex systems we work with on a regular basis. That complexity produces a huge variety of behaviors that can seem entirely unpredictable on the surface. Thankfully we have a powerful tool in our arsenal that we can use to understand and share the experiences of our fellow humans. Let’s talk about […]Click for more information on 'Hacking the Human Interface'
If you’re building and consuming APIs, there are some tools you should know about. HTTP tunnels make it easy to point callbacks and webhooks to your local development server. Proxy services can help capture, debug, and replay API traffic. External monitors can track uptime for the APIs you use – or provide – and verify […]Click for more information on 'The API Toolbox'
Often developers are taught how to test their code, but it is much less often that we discuss “the why”. This talk, a shallow dive across a wide variety of testing techniques and pitfalls, seeks to unify and clarify all the different ways we test under a common umbrella. Armed with “the why”, or more […]Click for more information on 'Testing and You: The Art of Software Communication'
The best and worst part about our chosen vocation is that there’s an endless amount of stuff to see, learn, and try and nowhere near enough time in which to do it. In an industry where “the new hotness” changes every week, what hope does a developer have of keeping up? This talk focuses on […]Click for more information on 'Professional Development for Professional Developers'