2010

Vote for web chef offerings at DrupalCon Chicago!

Diana Montalion Dupuis

Voting on session proposals for DrupalCon Chicago ends tomorrow, December 23rd. The Four Kitchens’ web chefs have added delectable entrées to the impressive buffet of offerings. From theming to performance, jQuery to hiring developers, we’re serving a little something for everyone. You must be registered to vote, so register today and cast your vote for the sessions you’d like to attend.

Design and UX sessions needed for DrupalCon Chicago

Todd Ross Nienkerk

Attention designers, user experience specialist, and interaction designers: DrupalCon Chicago needs you!

The Design/UX track has been very successful at inviting speakers from outside the Drupal community. Now we need those from inside the community to step up! We currently have four confirmed and 19 proposed sessions. This is good, but we can do better.

We’re looking for sessions that address the following topics (and not necessarily in Drupal-specific ways):

  • Principles of design (aesthetics, etc.)
  • Principles UX and interaction design (usability, UI, etc.)
  • Information architecture and knowledge management
  • Typography

The Design/UX track is for artists, usability experts, and site architects — all the people who decide what a site should look like and why. While the Theming track focuses on execution, the Design/UX track is about what happens before anyone touches markup and CSS. This track is about more than Drupal — it’s about building a more attractive, usable, and purpose-driven Web.

A is for Aaron's birthday

Todd Ross Nienkerk

Four Kitchens co-founder and design Aaron Stanush recently turned 30. To celebrate, we filled his office with black balloons, went to Uncle Billy’s Brew and Cue, and ditched work to go bowling. Just another day at FKHQ.

Aaron is also a homebrewer, so we gave him a copy of Tom Robbin’s B Is for Beer inscribed with this alphabet poem:

A is for Aaron
B is for Beer
C is for Cycling
D is for Double Pecan Porter
E is for eBoy
F is for Shepard Fairey
G is for Guacamole
H is for display: Hidden; (or Hefeweizen)
I is for Invoicing
J is for Je voudrais un billet, cinq jour, trois zone
K is for Kidrobot
L is for Losing a passport in Hungary
M is for McFarlane Toys
N is for Nintendo
O is for Open Source (or Octoberfest)
P is for Portmanteau Brewing
Q is for Quantic (or Quadrupel)
R is for Rollerblades
S is for Ska/Punk
T is for Typography
U is for Underground Hip-Hop (or UT)
V is for Volkswagen
W is for Weird Wednesdays
X is for sXe
Y is for Yelp.com
Z is for Zombies

Promiscuous stylesheets in Drupal 7

One common practice when using CSS frameworks such as 960 Grid System, Blueprint, or Baseline is to use a CSS reset. Each web browser applies a set of default styles to HTML elements, and these styles vary among browser vendors. A CSS reset is a stylesheet that clears these default styles so that you know what you’re working with as you implement your theme’s CSS.

The caveat with a CSS reset is that it needs to come before all of your other stylesheets. This presents a problem if you want to use a reset in your Drupal theme: all of the theme’s CSS will be added after Drupal’s system CSS and after any modules’ CSS. If your reset is loaded after these, the system and modules’ styles will all be undone, which probably isn’t what you want. Drupal loads theme styles last because, usually, you’re just adding to or overriding the existing styles, not wiping them all clean. It is possible, however, to have Drupal output a stylesheet from your theme before the system and module stylesheets.

Option groups in Drupal forms

One really useful HTML element that doesn’t seem to get much love is optgroup. It allows you to group the items of a select list in a way that may be more meaningful (and more readable) to your users than a long, uninterrupted list. The option group labels themselves can’t be selected, so there’s no need for back end logic to filter them out of your form data.

Drupal’s Form API provides option groups, but it isn’t immediately obvious how to use them. A quick check of the select type and #options attribute in the Form API reference doesn’t provide any clues about option groups, so it’s necessary to dive into Drupal’s source code.

Drop that cron; use Hudson instead

Hudson: The butler for your cron jobs, tooHudson: The butler for your cron jobs, too For years, I used cron (sometimes anacron) without asking questions. The method was simple enough, and every project requiring cron-related capabilities documented the setup.

There is a much better way, and it involves Hudson. I introduced “Hudson for cron” as a sidebar at the Drupal Scalability and Performance Workshop a few weeks ago. To my surprise, several of the attendees remarked on their feedback questionnaires that it was one of the most valuable things they picked up that day. So, I’ve decided to write this up for everyone.

Open your Golden Gate

Aaron Stanush

The masses have spoken! Four of the Four Kitchens’ web chefs will be presenting (you guessed it) four sessions at DrupalCon San Francisco 2010! Here’s the low down in case you want to catch any of these talks during the conference.

Day one

On Monday at 5:30pm, Todd and Aaron will present From Photoshop to Drupal Theme. The takeaway from this talk will be stressing the importance of “designing for a system” rather than just focusing on how individual pages look in Drupal.

Day two

On Tuesday we’ll have two sessions. Don’t sleep in after the first night of partying, because at 9:45am you’ll watch to catch Todd’s Accelerated grid theming using NineSixty, an in-depth discussion about grid-based design in Drupal.

Then at 4:15pm, David will be talking about Performance testing The Economist Online using The Grinder, which is an open source Java-based load testing framework.

Day three

And on Wednesday at 3pm, Diana will be presenting PHP for NonProgrammers, a great introduction for those web designers who have only ever touched HTML and CSS.

The CAP theorem is like physics to airplanes: every database must design around it

Back in 2000, Eric Brewer introduced the CAP theorem, an explanation of inherent tradeoffs in distributed database design. In short: you can’t have it all. (Okay, so there’s some debate about that, but alternative theories generally introduce other caveats.)

Feast your eyes (and votes) on our web chefs' tasty DrupalCon San Francisco session proposals

Aaron Stanush

Vote!

We are still 62 days away from DrupalCon San Francisco 2010, but in order to get truly excited about the event, you’ll want to start thinking about the amazing sessions you’ll attend. Beginning today, attendees are allowed to vote on those sessions they most want to see on the final schedule in April.

This year, Four Kitchens is both sponsoring DrupalCon San Francisco and offering to share our experience and knowledge with the community. If you’d like to see any of the sessions listed below, please vote! (And tell your co-workers, friends, and pets* to vote, too.)

Making Drupal and Pressflow more mundane

Drupal and Pressflow have too much magic in them, and not the good kind. On the recent Facebook webcast introducing HipHop PHP, their PHP-to-C++ converter, they broke down PHP language features into two categories: magic and mundane. The distinction is how well each capability of PHP, a dynamic language, translates to a static language like C++. “Mundane” features translate well to C++ and get a big performance boost in HipHop PHP. “Magic” features are either unsupported, like eval(), or run about as fast as today’s PHP+APC, like call_user_func_array().