According to Drupal.org, it has now been four years and five days since I first joined the Drupal community. My how time flies, and how much has changed since then.
My first post in the forums was, of course, an installation problem relating to htaccess files under Debian. (Wow, back when I was running Debian...) Shout out to Morbus for his help in IRC, and keeping me around all this time. :-)
At the time, I was freelancing (read: unemployed) and looking for a system that I could study to learn from in order to write my own application framework for an RPG club that I help run. Fortunately for me, I decided to stick around. I tried to use Drupal 4.6 for one client's site, but they never went anywhere with it. Then I lucked out and landed a one month stint developing an intranet site for the US Postal Service, sub-contracted through a local marketing mega-firm. Drupal was a natural fit for what they wanted, despite a fair bit of custom code required. Most of it fit neatly into custom add-on modules, but there was a little core hacking required to tweak the user registration form. In more modern times hook_form_alter() would have handled everything we needed, but this was back in the dark ages before such innovations existed. I also went through several iterations of Drupal sites for a local political campaign I was helping to run that, sadly, lost by a slim margin a year later.
My first actual patch was against the then-nascent Drupal 4.7. I kept wanting to put captions on tables, but at the time Drupal didn't support that so I added another parameter to theme_table(). Amazingly it went in on the first iteration, despite some back and forth in the issue. Months later, I noticed Views for Drupal 4.7 using captions in its admin UI. It made me giddy to see a module that prominent making casual use of a feature I added.
I also, in theory, was supposed to join a startup social networking site for restaurant geeks. In practice, the only thing that ever came from that startup was the Node Review module, which was going to be the cornerstone of our community restaurant review work-flow. The site never happened, but the module somehow lives on even though I have never, in fact, used it in production. I've been trying to find someone to take it over, but so far no one has been able to follow-through on doing so. If you're looking for a module that needs love and attention, let me know. :-)
In October of 2005 I joined Palantir.net, at the time a "well-kept secret" Chicago web development firm specializing in "whatever kinda code you need" and the darling of the local designer community. Of course, it was totally not an open source shop and had its own in-house CMS and using Drupal or anything else with that evil viral GPL was right out. I still prodded here and there, but nothing much came of it. I settled for hanging around the Drupal development mailing list and IRC channel, submitting occasional small patches, and running my mouth a lot more than my debugger. (OK, that much hasn't changed at least.)
All that changed after Palantir's first Drupal site, the Washington University in St. Louis College of Arts and Sciences. WUSTL requested Drupal specifically, and the project was so successful that when faced with the question of whether or not to rewrite our in-house CMS from the ground up the answer came back, "We're a Drupal shop now!" Music to my ears, that was!
Hot on the heels of Drupal 5 and on the eve of DrupalCon Sunnyvale, the timing couldn't have been better. George DeMet and I headed to Sunnyvale, where I finally managed to meet all of these crazy and smart people I'd been working with online. They also finally got to meet me. At one point I was talking to chx about what would become the Drupal 6 menu API, and he wasn't sure he wanted to be spending time with this Larry person until he commented "Oh wait, you are Crell! OK then..."
I also started thinking about how to make PHP 5 finally happen, and one idea I started toying with the final night there was using PDO for our database layer to get our foot in the door. The high-point of the conference was when a certain spiky-haired developer sat down on the floor next to me to ask what I was doing. After a brief talk, he said he liked the idea and at the code sprint the next day commented "We should probably move to PDO eventually." Of course, it wasn't until just before DrupalCon Szeged a year and a half later that the result of that drinking party finally hit core and the work is still not done, but some of the code in the Drupal 7 database layer can trace itself all the way back to the Sunnyvale code sprint.
PHP 5 required a slight detour, but that happened as well.
I also came back from Sunnyvale with the crazy idea of lazy-loading some of Drupal's code to deal with Drupal's rapidly growing code weight and memory overhead. That managed to work its way into the Drupal 6 menu system in a manual fashion and into Drupal 7 as the registry. Both also trace their way back to Sunnyvale.
Since then it's all been a blur. :-) 2008 opened with my election to the Drupal Association Board of Directors and finally launching the RPG site that got me into Drupal in the first place, followed by a crazy crazy year of Drupal. This year I've barely had a chance to blog it's been so busy.
Four years ago, Drupal 4.6 was the new hotness. Now we're drooling over the awesome that is Drupal 7.
Four years ago, I was a freelancer who was doing a totally lousy job at marketing. Now, I'm a manager and team lead at a leading Drupal shop.
Four years ago, I was reasonably OK at PHP. Now, I give presentations on PHP OOP design in other countries.
Four years ago, I still struggled with getting data into and out of an SQL database in a secure and non-painful way. Now, I'm the lead maintainer of Drupal's database subsystem.
Four years ago, I tended to work alone and preferred it that way. Now, I have thousands of colleagues across six continents.
Thanks, Drupal! Here's to the next four years. May I be as good to you as you've been for me.