webchick
Interview at OStatic
Sam Dean from OStatic sent me some questions via e-mail last week. Their website's mission statement reads:
Our goal is to increase the adoption of Open Source Software by helping users find viable projects and applications that fulfill specific needs, evaluate them against available alternatives and collaborate with their network of trusted peers.
The interview is about (what else?) Drupal, and covers things such as what Drupal is, where it's going in the future, and some of our challenges we have as a project.
You can read the interview over there if you'd like. :)
Drupal Core Diaries: The 6-pass patch review
I would love to see a series of blog posts from Drupal developers on patch review strategies they employ, so we can share some tips and tricks and ramp up our collective review IQs. I'll start it off with mine. I call it "The 6-Pass Patch Review" (wittier names welcome! ;))
To begin, crack open your text editor. You'll use it to jot down notes and questions as you go through each of these passes. Other than that, no fancy tools are required to do most of this other than a keen set of eyes, an inquisitive mind, and the ability to empathize with people new to Drupal and put yourself in their shoes. (Of course, if you are relatively new to Drupal, then patch review can actually come easier for you than other people. :) Start today!)
Interview in The Next Women
Back at Drupalcon Szeged, I sat down with Michelle Pace from The Next Women to rave all about Drupal and the Drupal community for an hour or so. :) It was really interesting talking to her about her first impressions at Drupalcon and most of our discussions centered around what makes an open source community tick.
You can check out her write-up over at Sourcing Angie Byron.
Thanks, Michelle!
If table-based layouts offend you on a deeply personal level, we need your help!
As a standards zealot, one of the things I'd personally love to see happen in Drupal 7 is the eradication of table-based layouts. I'm giving stink-eye directly at you, Pushbutton, Chameleon, and Bluemarine. These themes are a strange abberation from the Drupal project's otherwise very meticulous attention to detail regarding web standards, and I'm quite positive that they directly contribute to the Drupal project's ongoing struggles to attract and retain visual designers. Garland is a huge step up, but it was never designed to be an easy to modify base theme, and unless designers happen to stumble across something like Zen, I imagine they come away thinking that Drupal's markup is ugly and antiquated and go to something a bit nicer out of the box like WordPress.
I want Drupal 7 to be an incredible release that ramps up the user experience by 1,000-fold, and making Drupal more accessible to designers and themers (along with an accompanying selection of great looking designs out of the box) is a huge part of that. Fortunately, I'm not alone!
In coordination with several prominent members of Drupal's design/theming community, including Joon Park, John Wilkins, Brad Bowman, Stephanie Pakrul, and Earl Miles, we've come up with what we think is a workable plan for accomplishing these goals.
The overall gist is:
- Replace Drupal's default markup with a flexible, standards-based framework that's easy to extend.
- Hold a theming contest which uses the base markup, and select the best N designs to go into core as sub-themes.
- Remove the old, crufty themes and replace them with the new, gorgeous ones.
- Profit!
So if you either a) are a web standards zealot who wants to lend your expertise to the discussion on selecting the default markup, or b) have some time / energy / etc. to help organize a theming contest, please coordinate over at http://groups.drupal.org/node/16200!
Lost all e-mail from Oct. 14 - 20 >:\
If you sent me a personal e-mail in the past week, I no longer have it. >:\ Apparently either DreamHost or Thunderbird choked to death on the 20,262 e-mails I had waiting for me after I came back from vacation and thought it'd be an awesome idea to just give up and delete them all. THANKS. Thankfully, @lullabot.com goes somewhere else, so those are ok.
On a related note, anyone know of any decent e-mail providers? :P
Sigh. :(
Drupal 7 RTBC queue down to 0 issues
Today was the first day of my vacation (linking to Wikipedia in case you, like me, were not sure what this word meant) so naturally a bunch of us spent the entire day in #drupal slashing through bugs and features in preparation of DRUPAL-7-0-UNSTABLE-2 which should be tagged tomorrow, with lots of nice goodies. :)
The result? The queue of patches ready to be committed queue as I sign off here is down to zero issues*.
Thanks to everyone in #drupal who participated, with a special shout-out to Dave Reid, who spent the entire day (and evening, and early next morning) testing and rolling (and re-rolling, and re-re-rolling) patches, Peter Wolanin for getting all the various D6 security patches ready, Matt Farina for sticking it out while we debugged an 11th hour issue, and the folks working away at BADCamp for their Testing Party patches! Yeah!! :)
Just a heads-up; I'm going to be afk from Tuesday, October 14 to Monday, October 20 (/me gets the jitters already). Hopefully there'll be a nice big list of patches to crank through when I get back. :)
Let's keep rockin' that Patch Spotlight and get all kinds of more goodies ready for UNSTABLE-3 in another couple of weeks!
Headed to Drupalcamp Montréal!
Tomorrow and Saturday, I'm headed off to Drupalcamp Montréal, our first such event in the fair city.
Like all such "Open Spaces" events, we won't really know what the schedule is until tomorrow morning, but here are the sessions I'm planning on giving, in relative order of geekiness:
- What is Drupal and why is it so awesome?
- Contributing to Drupal: A guide for everyone
- State of Drupal 7, co-presented with Damien Tournoud at Drupalcamp Paris 3!
- How to Win Friends and Influence Drupal: A guide to patch review
- SimpleTest: Because clicking on forms is for suckers
So if you're in the area, stop by! It'd be great to meet you!
Thanks so much to Koumbit for making this happen, and evolvingweb for building a website for it in record time. :)
Diaries of a Core Maintainer #4: We need farmers and pirates!
As of this writing, there are over 5,600 active issues in the Drupal core queue. About half of those are listed in the 2,650 active issues for Drupal 7. And the "patch queue for Drupal 7 -- those issues that have at least *some* code to fix them in various stages of completion -- clocks in at 1,040 issues.
These numbers are, quite frankly, staggering. Discouraging, even, some might say. With so many issues out there vying for attention, how are we to find those ones that are really important, such as killer new features, powerful API enhancements, and critical bug fixes? While Drupal 7's development cycle doesn't have an expiration date on it yet, we all know that day will come, and probably sooner than we'd ideally like. What can we do to make sure that important patches are raised to the surface and receive adequate developer and committer attention?
To succeed, we'll need to employ a two-pronged approach: taking out the trash, and digging up the treasure.
Diaries of a Core Maintainer #3: Patch reviewers are *not*, in fact, clairvoyant!
Here's another tip for those who are looking for more reviews of their patches and faster commits: describe what the heck your patch does! :)
A simple enough premise, and It sounds obvious, right? But you'd be surprised how few patches are accompanied by a good, solid list of changes.
For a really bad example of this, allow me to pick on our #1 core patch contributor for a moment. Witness http://drupal.org/node/259412. The issue title is "Total module system revamp." The description? Two words: "Drupal diet." Accompanied by a 30K patch that removes and adds all manner of things. Please DO NOT do this. :P Doing this means that anyone who wants to review that patch (or commit it) has to sit down for at least an uninterrupted hour and sift through the diff to figure out what's even going on, before they can even begin to do the actual review to answer things like, "Is this the best way to solve this? Are there additional places we could make improvements? Does the code introduce logic errors?" and so on. Since this is a daunting effort, it means that often times reviewers simply don't bother looking any further at such patches, and so they end up rotting in the queue for months on end.
Most patches aren't this extreme, but they could almost all universally stand to be improved. Let's try to make sure every patch in the queue has the following:
Interview in .51
I was recently named Geek of the Week by Maria "Ubergeeke" Webster of .51 - GeekSpace for Women.
I met Maria at OSCON this year, and she is hilarious, friendly, awesome, and possibly an even bigger geek than I am (I know, right? I didn't think it was possible either! ;)).
Her site highlights women geeks who are kicking ass, new technology trends, and all the crazy stuff she is doing. Might be of interest to some of the Drupalchix out there.
Thanks, Maria! :)
Diaries of a Core Maintainer #2: Visualize Your Patches
Patch authors are always looking for a strategies to help shorten the length of time it takes to go from creating a patch to seeing it reviewed to getting it committed. Here's a quick tip for any patches that involve a UI change: Submit a screen shot with your patch!
Screen shots present a really easy way for anyone, regardless if they are a developer who has a Drupal 7 development environment setup or not, to quickly scan the gist of what the patch does and to provide feedback on whether things need to be changed. And in fact, those people who don't have Drupal 7 development environments are actually the people whose UI feedback we need the most! :)
Naturally, you can also go above and beyond, such as creating an entire video demo. ;) But in most cases, a simple before/after screen shot is sufficient.
So, a little challenge for Drupal core developers out there: let's strive to make sure every UI-changing patch in the queue accompanied by a screen shot. It's an easy way to get more eyes on your stuff, get more types of eyes on your stuff, and sort out the challenges well ahead of commit time.
Diaries of a Core Maintainer #1: The Danger of Patch Context Switching
We've all been there. You sit down to write a "simple" patch. Maybe it upgrades a module to Drupal 6. Maybe it adds a small feature, or fixes a bug that's been annoying you for awhile.
You grab your caffeinated beverage of choice, pop open your text editor/IDE, and throw on your coding tunes. You search through the file for the lines you need to change and... sayyy... You know, the indentation is off a bit here. I'll just go ahead and fix that. Oops. And this function's PHPDoc is missing. No problem, a couple quick lines here. OH! That's clearly a bug. Better fix that while I'm at it. Hey, and that reminds me! I always kind of wished that this particular feature worked a different way. Might as well pop that in while I'm at it...
Suddenly your "simple" patch has grown into 30-40K of changes. It fixes the original thing you set out to fix, and it also makes several improvements to the code that you found as you were going through. Great! So what's the problem?
The problem is context switching.
R.I.P. Oscar Bunny, 1999/07/26 - 2008/09/02
This afternoon, our rabbit, Oscar, passed away. He's been with us since 1999, a couple months after Marci and I moved into our first apartment in Halifax. Oscar was funny, gentle, smart, and full of personality... we miss him terribly. :(
Marci and I spent some time tonight looking through old photos and reflecting on some of the memories we have of him.
- His "happy dance" where he would run around, flip himself up, and twist around in the air, landing in the opposite direction from which he started.
- When he first met Pickle, who was just a kitten at the time, and made a record 9-foot leap from one end of the hall to the bathroom. Pickle simply meandered off in the other direction nonchalantly, of course.
- When he chewed through the hose connecting the toilet bowl to the plumbing and proceeded to flood the entire bathroom.
- When my brother Keith was holding him, remarking about how cute he was, and Oscar peed in his lap. ;)
- When Bebop was just a kitten, she crawled into his kennel with him and we caught them laying next to each other spooning.
- The way he would "peek" his head up over things to see what was going on on the other side.
- When he wanted attention, he would pick his food dish up in his mouth and fling it around wildly.
- He was once a TV celebrity in Bedford, Nova Scotia.
How YOU (yes, you!) can make Drupalcon's "Awesome Testing Party" awesome
The Drupalcon Szeged schedule just went up last week. It's jam-packed with interesting sessions ranging from low-level geeky goodness, to design and usability sessions, to Drupal business best practices. And the BoF schedule is filling up with tons of interesting stuff, too.
A list of the sessions I'm leading/partaking in follows the break. But first! I need your help!
Something we're doing this time around is an experiment in community swarming: the Awesome Testing Party. The aim is for both new and established contributors to learn how to write automated tests (and how to contribute to Drupal in general) by practicing with real tests that need writing for Drupal 7, with members of the "Drupal Testing Brigade" on-hand to help answer questions.
It'll work like this:
- People who don't know anything about testing will attend the Intro to Testing session on the first day.
- The next morning, tons of people show up and get some delicious Hungarian pancakes. While they're having breakfast, the testing team will do a quick 10-minute overview on how to write a test as a refresher.
- After the demo, we split the room into "half": people who've written patches on one side, people who haven't on the other. Everyone will be asked to team up with someone from the opposite side. We'll jiggle things around so everyone has a partner.
- Each of the pairs runs up, grabs a card with an issue node ID on it from the ever-growing TestingParty08 pool, and runs back to their laptops. Using the provided hand-outs, and calling on testing experts for one-on-one help, they work together to create a test for their issue.
- Once finished, they roll a patch, attach it to the issue, then come up and get another card... AND... some chocolate! Repeat until there are no more cards! :) At the end, we'll have dorky prizes for pairs with the biggest chocolate collection!
So as you can see, in order for this session to be a complete success, we must have the following:
- Tons and tons of people there. I mean like TONS of people. New contributors, old contributors, doesn't matter. If you've written one lick of PHP, you should be at this session. It'll be crazy fun.
- Chocolate! What entices people to write tests more than delicious chocolate from all over the world? Nothing, that's what! So if you're coming to Szeged, please bring some chocolate with you! It doesn't need to be anything fancy (though it does need to be in an unopened package ;)), just a candy bar or whatever. The idea is simply to amass an enormous collection of chocolate from all over the world, and hand it out to people as a reward for completing tests.
So yes. Please come to the testing party, and please bring chocolate to share. We'll do our best to get the critical test queue down to 0, but either way we'll go home with our sweet tooth satisfied. ;)
Linux.com Interview
I just saw this float past the stream in #drupal...
A couple weeks ago, Amber Gillies had asked if she could interview me about Google Summer of Code and my experiences in the Drupal project as part of the piece, Open source technology is hungry for new college grads. Yeah... just *try* to get me to shut up about how awesome GSoC and Drupal are. :D She did a very good job of turning my firehose of an e-mail into coherent sentences. ;)
Edit: Holy crap, this has been Slashdotted, too.
