Hi! I’m Wim, live in the beautiful bike-centric city of Ghent and I’ve been fortunate enough to be able to work full time on making Drupal better & faster for over a decade now! (I’m also interested in energy efficiency, smart home shenanigans and think more software empathy would make the world a better place.)


 

23 August, 2008

While working for Mollom, I faced the problem of needing multiple buttons with the same name. In my case, this was an absolute necessity on an advanced multi-step form. Sounds super … easy, right? But HTML doesn’t support this!

Thankfully, the combination of Drupal.behaviors and jQuery makes it easy to create a work-around! jQuery makes it easy to write the necessary code, Drupal.behaviors makes it trivial to ensure it keeps working even when new content has been added to the page (i.e. after an AHAH callback).

You would have a piece of Forms API code like this:

$form['step1']['edit'] = array(
  '#type'       => 'submit',
  '#value'      => t('Edit step 1'),
  '#submit'     => array('subscriptions_create_edit_step1'),
  '#attributes' => array('class' => 'edit-step-button'),
);

// … more form definition code

$form['step4']['edit'] = array(
  '#type'       => 'submit',
  '#value'      => t('Edit step 4'),
  '#submit'     => array('subscriptions_create_edit_step4'),
  '#attributes' => array('class' => 'edit-step-button'),
);

As you can see, nothing remarkable about this, except for one thing: we’ve set the class attribute. This is used in our Drupal.behaviors method to detect which buttons this behavior should be applied to.

25 July, 2008

As some of you may already know, I’m working for Mollom now (summer position).
The reasons for that should be obvious:

  • It’s Drupal work.
  • I get to work with Dries. No explanation needed here I think.
  • I get to work with Ben. Don’t know him? Remember this: he’s really smart and that shows in his machine learning skills and research (he’s got a Ph.D. in that field). He made Mollom’s algorithms outstanding.

So why I was I hired, without even having an interview?
Well, because certifications don’t say much about a person’s real skills. They only indicate a base level. Even college/university diplomas are becoming less valuable. It’s your real experience that matters. And you can see my real experience in my Drupal.org profile. You can tell that I have a lot Drupal experience, and you can find out the quality of my work by looking in my projects’ issue queues and the accompanying code.
That’s what really matters.

Tags

20 July, 2008

First of all, if you don’t know it yet:

###What is the WHATWG? The WHATWG is a growing community of people interested in evolving the Web. It focuses primarily on the development of HTML and APIs needed for Web applications.

Now, how did I end up getting involved in this? If you’re a Drupal user, you might have heard of my Hierarchical Select module. Well, for version 3 of this module, I decided to work on this issue: try to eliminate as much queries to the server as possible, by taking advantage of HTML 5’s client-side database storage.
It’s currently only supported by Safari >=3.1 (or WebKit nightlies as of October 17th) and Firefox 3 (I can’t seem to find confirmation for Firefox though).

15 June, 2008

I’ve been very quiet lately, which was especially noticeable on Drupal.org. Right now, I’m in the middle of my exam period (Computer Graphics exam next Wednesday), but as soon as I can (exams will be finished July 2nd), I will resume my Drupal work:

Tags

6 April, 2008

I’m late to the Mollom announcing party, because I was on a vacation. Nevertheless, I hope I can still interest some of you with a slightly different angle.

The major issue with spam prevention is that it often (currently virtually always) involves extra steps for normal users. And more steps means less participation. Less participation means less traffic. And less traffic means less popularity, revenue and whatnot. So clearly there is much to be gained to prevent spam without annoying normal users.

And this is exactly what Mollom tries to do: minimize spam and minimize annoyance. Additional benefits are that you no longer have to moderate content (nor users, because Mollom applies its magic on the user registration form as well), and – this one is pretty amazing IMO – ”improve the overall content quality”. Konstantin Käfer explained this pretty well:

Tags

26 March, 2008

In about an hour we’re leaving for the airport. I’m going to Mallorca! Yay :)

I will be staying with David Jennes, a good friend of mine. He’s on a student exchange program (Erasmus) there, so I can stay with him for free. That’s also why I can afford this. It’s a really welcome vacation, too. The last trimester at the university has been pretty demanding, so I’ll definitely enjoy doing things a bit slower. And of course the much warmer climate (it was 17-19 degrees Celsius there when it was snowing in Belgium the last couple of days…).

This also means that I’m going to be slow with catching up through my pile of e-mails from my exam period of the last 3 weeks. I thank you for your understanding :)

3 March, 2008

API {#api}

The API of the previous version of HS was a beast. Well, not the API, but the implementations. This has been fixed in version 2 of HS: it’s now much more elegant and much easier. If you don’t have to alter any forms, you can easily implement all hooks in less than a hundred lines, probably even less. The content_taxonomy implementation for example, is about 75 lines if you don’t count the form altering. That should make HS much more attractive to other Drupal developers.

Support Hierarchical Select Dynamically {#support-hierarchical-select-dynamically}

One of the low-hanging fruits is to support HS dynamically (i.e. use hierarchical select form items when HS is installed, use normal selects otherwise).

If your module provides its own hierarchical structure for which you want to use HS, you’ll have to implement the hooks. Next, I assume you have something like this in your form:

3 March, 2008

What is Hierarchical Select? {#what-is-it}

For those who don’t know Hierarchical Select yet, or HS in short, this is a module that provides a new form element. If you’re new to Drupal, you may just have frowned upon reading that. A ‘form element’ in Drupal’s Forms API is something like a button, select or textarea element in HTML, or a GUI widget in a GUI.

Now, the goal of HS is actually very narrow: making selections in hierarchies (hence its name) really simple: improve usability. The prime example and candidate for this is of course Drupal’s Taxonomy module. The idea is to first select an item from the root level, then pick one of its children (if it has any), then one of the children of the selected child (if it has any), and so on.

New and Improved {#new-and-improved}

There are many new features in version 2 of Hierarchical Select (or HS in short):

21 February, 2008

It’s been almost a year since the last Apple Cinema Displays update. And that was just a price drop. So … what’s taking Apple so long?

If you’ve been following all things Apple a bit lately, you’ll definitely have noticed that they’ve been filing a lot of multi-touch technology patents. It’s already on the iPhone, the MacBook Air and on the MacBook Pro soon.
More interestingly however, it appears they’re planning on bringing it to the desktop too!

The last piece of the puzzle is the resolution independence technology. It was already available in Tiger, but only in preview(ish) state, i.e. very incomplete, buggy and unsupported.
In Leopard on the other hand, it’s an official feature. It’s not being marketed yet though. The reasons for that are two-fold:

Tags

19 February, 2008

At the end of 2007, my bank offered free personalized bank cards, meaning that you can put a photo on it. Only hours before the deadline passed (after this deadline, you’d have to pay, bah!), I thought about it. So I quickly started looking for something cool I could put on my bank card.

You’ve guessed it: I chose our beloved Druplicon! :)

Update

I did the impossible. I got chx to envy me:

kkaefer: WimLeers: that bank card is awesome!
WimLeers: kkaefer: :)
kkaefer: WimLeers: chx envies you ;)
WimLeers: kkaefer: really? :D
WimLeers: kkaefer: WOOT :P
chx: WimLeers: a DRUPLICON bank card!!!!!!
chx: my life is incomplete without a druplicon bank card.

Tags