Visiting other islands this fall

In case you hadn't heard yet, Drupal 8 RC 1 is out. And there has been much rejoicing! I'm going to save my own lengthy celebration-and-thank-you post for the 8.0.0 release, so for now I will just point everyone at Campbell Vertesi's post and say "what he said!".

But it's also a good time to consider the impact that Drupal 8 has had on the PHP community. The "off the island" movement has grown large, and people outside of Drupal are echoing the same message. In fact, not one but two conferences this fall are actively trying to build bridges between PHP sub-communities: ZendCon and php[world].

Just how insular is the PHP community?

Periodically, there is a complaint that PHP conferences are just "the same old faces". That the PHP community is insular and is just a good ol' boys club, elitist, and so forth.

It's not the first community I've been part of that has had such accusations made against it, so rather than engage in such debates I figured, let's do what any good scientist would do: Look at the data!

Update 2015-08-25: The folks have given me permission to release the source code. See link inline. I also updated the report to include a break down by continent.

The next era of PHP

2015 is turning into a watershed year for PHP. Many projects either have or will release new major versions, including Zend Framework, Symfony, Laravel, Guzzle, Drupal, Slim, and many others. And of course there's PHP 7 itself, coming this fall.

I'll talk more on those later, but for the moment I want to focus on one other major new development this year: PSR-7.

Class name constants in PHP 5.4

One of the nice new features of PHP 5.5 is automatic class name constants. That is, in PHP 5.5 you can do this:

namespace Something\Obscenely\Long\Hard\To\Type;

MyClass {

// Output: Something\Obscenely\Long\Hard\To\Type\MyClass

Building Bridges: 2015 Edition

As most who have met me know, building collaborative communities is a minor passion of mine. 2 years ago, I called on the Drupal community to Get off the Island and connect with other communities.

That call was part of a larger movement within the PHP community to interact more, connect more, and collaborate more than ever before. The PHP Renaissance has been driven in no small part by that greater collaboration between many different PHP communities.

To close out 2014, I spoke with Jeff "JAM" McGuire of Acquia Podcast fame about Drupal and community building, and what it means to be the "Drupal Community" when so much of Drupal isn't Drupal.

And as a final capstone, I made a challenge to the entire PHP community: Don't just talk to each other, build with each other. Get out of your comfort zone and learn something new, from someone else.

Happy New Year, PHP. Let's Build Something Good together.

2014: A Year of Travel

As 2014 draws to a close, I look back at the year and realize... holy crap I traveled a lot! I hadn't actually done a fully tally yet, but here's the full rundown:

Sunshine PHP - Miami, FL - February
Drupal South - Wellington, New Zealand - February
Florida Drupal Camp - Orlando, FL - March
MidCamp - Chicago, IL - March
Museums and the Web - Baltimore, MD - April
Lonestar PHP - Dallas, TX - April
Drupal Association Webinar - Online - May
php[tek] - Chicago, IL - May
DrupalCon Austin - Austin, TX - June
Refactor::Chicago (User group) - Chicago, IL - May
Nomad PHP (User group) - Online - June
Crafting Code Tour - Minneapolis, MN; Milwaukee, WI; Cincinnati, OH - July
Design 4 Drupal - Boston, MA -July
Twin Cities Drupal Camp - Minneapolis, MN - August
Madison PHP - Madison, WI - September
DrupalCon Amsterdam - Amsterdam, The Netherlands - September
Symfony Live - New York, NY - October
Higher Ed Web - Portland, OR - October
BADCamp - San Francisco, CA - November
php[world] - Washington, DC - November

In all, I flew 64,082 miles (103,130 kilometers for the metric fans in the audience), presented 29 times, with 13 distinct presentations at 20 conferences and user groups across 3 continents, and spent 82 days on the road (not counting non-conference travel). You know what that means?

It means I created about 10 metric tonnes of carbon pollution.

An open letter to conference organizers

Let's be honest, I spend a lot of time at conferences. Over the past 2 years or so I've averaged more than one speaking engagement at a conference per month, including a half-dozen keynotes. I've also helped organize several conferences, mostly DrupalCamps and DrupalCons. I'd estimate conferences make up more than a third of my professional activity. (Incidentally, if someone can tell me how the hell that happened I'd love to hear it; I'm still confused by it.)

As a result I've gotten to see a wide variety of conference setups, plans, crazy ideas, and crazy wonderful ideas. There are many wonderful things that conference organizers do, or do differently, and of course plenty of things that they screw up.

I want to take this opportunity to share some of that experience with the organizers of various conferences together, rather than in one-off feedback forms that only one conference will see. To be clear, while I definitely think there are areas that many conferences could improve I don't want anyone to take this letter as a slam on conference organizers. These are people who put in way more time than you think, often without being paid to do so, out of a love for the community, for learning and sharing, and for you. Whatever else you may think about a conference or this list, the next time you're at a conference take a moment to find one of the organizers and give them a huge hug and/or firm handshake (as is their preference) and say thank you for all the work that they do.

The Crafting Code Tour

Over the last few years, one of my foci has been bringing together the PHP community and taking the time to celebrate the PHP Renaissance. That effort has taken me all around the world, from Paris to Toronto to New York to Costa Rica to New Zealand. And this summer it's taking me to the Midwestern US as part of the Crafting Code Tour.

The Functional PHP tour

Ever heard of functional programming? Not procedural programming, but actual functional programming. Probably, as some fancy academic thing that no one really uses, right?

Did you know you can do it in PHP, too? It's true. In fact, I'll be speaking about it four times in the next couple of weeks!

Beyond Abstract classes

Recently, Anthony Ferrara has been posting a periodic "Beyond" series about software design philosophy. Some in particular have hinted at concepts I've been pondering as well. With his blessing, therefore, consider this a continuation of that series.

PHP 5.4 is not exactly new, but it's finally starting to see actual usage by a decent number of people. Its most notable new feature is Traits, which in PHP are implemented as, essentially, compile-time copy-paste. Conceptually, though, they're a way to mix functionality into a class without using inheritance, and without requiring a separate distinct object for composition. (At least in PHP; the term "trait" appears in other languages for similar but subtly different tools.) That's not to say that they're a surrogate for composition; they most certainly are not. They serve a different purpose, that is, providing code for a class to reuse without using inheritance.

Recently, I was reading an article discussing the implementation of inheritance, such as it is, in Go, Rust, and other new-wave concurrent languages. (Thanks to twistor for helping me track down the link.) It made an interesting point that crystallized for me why it is I am so excited about traits. Specifically, it noted that there are not one but two kinds of code reuse: interface reuse and code reuse.

Syndicate content