December 11, 2015 — We want code that is easy to understand, re-usable, and flexible. But we are always up against deadlines, so we rush, and end up with code that is messy, buggy, hard to maintain, and makes us go slower even though we’re trying to go faster.
What is clean code? In this talk I’ll provide some answers to this question, and introduce you to 10 good habits that will help keep your code clean, such as the use of meaningful names for your variables and functions, and following the “Boy Scout Rule” (leave the code cleaner than you found it). I will even try to persuade you that using a lot of code comments is a sign that there are problems with your code. I’ll also discuss the particular challenges of applying some of these techniques in the WordPress environment.
September 14, 2014 — Web accessibility (A11Y) is about making the web usable for people with disabilities, and it also benefits others with changing abilities, such as older people. Internationalization (I18N) and localization (L10N) are about translating web sites into other languages. UTF8 is a Unicode character set, which is now the dominant one used on the web, and it’s designed to include characters from just about every written language. Each of these topics are typically discussed in isolation from each other, but in this talk – after a gentle introduction to each of them – we’ll explore their interconnections. We’ll also take a look at what WordPress provides for supporting them in your work creating sites, themes, or plugins.
November 3, 2013 — What is clean code? This talk provides some answers to this question, and introduces some good habits that will help keep your code clean, such as the use of meaningful names for your variables and functions, and the Single Responsibility Principle.
January 4, 2013 — This presentation is an in-depth look at a powerful object-oriented programming technique: dependency injection. Michael will review the basic concepts behind writing small classes for WordPress plugins and how to get your objects working together through the use of an injection container. He’ll then proceed to more advanced techniques for managing multiple object dependencies, dependencies within dependencies, and class autoloading.