One reason to follow development mailing lists is you sometimes pick up on some very neat tricks. Here's one that I spotted on the PHP Internals list recently to simplify array iteration in PHP 7.
Earlier this week a fellow PHP public figure tweeted saying that I write great session proposals for conferences. After I finished blushing I reached out to him and we talked a bit about what it was he likes about them. (Whatever I'm doing right, I want to know to keep doing it!)
Based on that, I figured it would be educational to dissect how I go about writing session proposals for conferences and hope that conference organizers don't catch on to my tricks. :-)
Articles, blog posts, and Twitter debates around "best practices" abound. You can't swing a dead cat without bumping into some article espousing the benefits of designing and building software a certain way. (Side note: What kind of sick person are you that you're swinging a dead cat around? Stop that! You're desecrating the dead!)
What nearly all of these articles fail to convey is that "best practices" are contextually-dependent. Always. For one, they evolve over time; really, there is no such thing as a "best practice"; There are "leading practices", which is an inherently changing and growing definition as the technology and market changes and as we as an industry learn more and discover new and exciting ways to royally screw up.
Well, here we are again.
Most have by now seen the latest post from Dries Buytaert and Megan Sanicki about the reasons they saw fit to remove me from Drupal. Unfortunately, as has been the pattern it seems to raise even more questions than it answers, including from me.
This is a very uncomfortable time for Drupal. It seems there has been a great deal of concern and discomfort lurking just below the surface for a while, and recent events surrounding me have brought them all to the forefront at once. It's going to take some time to unravel it all. Hopefully it can be a learning process for many.
For the moment, though, there's one particular point I want to address, and particular people I want to address it to: Don't be an asshole, not even in my defense.
I did briefly speak with Dries in private recently about recent events. I cannot discuss details of our conversation, but there is one point he mentioned that I feel warrants an immediate response.
Since my last post Dries and Megan have issued a new joint statement on the ongoing mystery regarding my removal from DrupalCon and the gossip campaign against me. To date, I have focused my public posts mainly on my experiences, my beliefs, and the prejudice with which I have been treated by select members of the Drupal community and by select (if powerful) members of Drupal's leadership. However, I feel the latest joint post from Dries and Megan last Friday deserves a more direct response.
Some commenters noted that it doesn't add anything or reveal any additional information. I disagree. It makes implications and innuendo that are sufficiently untrue that I fear, if they have not crossed the line into libel, they certainly teeter on the precipice.
It's been an eventful couple of days, that's for sure... Eventful enough that I feel it's necessary to clarify a few points.
First off, I want to express my sincere thanks to everyone that has reached out, in public or in private, to express their support in this situation. I genuinely appreciate it, even if I haven't had a chance to respond to everyone directly. Thank you all.
I'm especially gratified to hear from those people, particularly women, with whom I have worked most closely over the years in Drupal. Even people I've not talked to in a while, whether we got along or not, have voiced that I’m anything but a misogynist, and to state anything to the contrary is simply wrong.
Recently, I've become aware of a whisper campaign going around the Drupal world, discussing details about my personal life. I do not know where it started or who all has been part of it. However, it's become apparent that it's not going to settle down, and has now had a major, direct impact on me and my professional career. Only a few people have bothered to speak to me directly, but there's been enough back-chatter that I feel I have no choice but to clarify some private details about me, in public, and address the actions of some fellow members of the Drupal community.
Yep, this is one of those "self-outing" posts. I'm sorry that they still need to exist.
Most of the time I try to stick to technical topics on this blog, rather than political. However, as this past week has shown we do not have the luxury of being a-political. We have a political system where rampant institutional corruption has been suddenly overshadowed by a new administration that has a complete and total disregard for the rule of law, American citizens, people in need (domestic or foreign), the future of our planet, and the basic facts of reality itself.
This does not bode well for us as a people.
Recently I've had reason to start several new projects with Git. That's nothing exciting (except for me), but it means I've been making a lot of first-commits, and often rebasing my early commit history before making it public. That, however, runs into an interesting problem: You can't easily rebase the first commit.
Sometimes that doesn't matter. Lately, though, I've repeatedly found myself wanting to change that first commit, often to remove a file that I included in the initial commit inadvertently.
Fortunately, Git offers a couple of ways around this situation. My personal favorite is to simply start the history with a null commit. Git normally won't let you make a commit if there's nothing to do, but you can easily disable that check. My new Git projects now tend to start like so: