Blog

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

4 February, 2008

My battle plan for Drupal 7 is simple: get as many performance improvements or performance-improvement-enablers from my Drupal page loading performance article into Drupal 7. From high to lower priority:

2 February, 2008

I already mentioned the CSS sprite generator in my article on Drupal’s page loading performance. More great news though: they open sourced it! See the blog posts by the authors, Stuart Colville and Ed Eliot.

It’s under the BSD license though, so it would never be accepted on Drupal’s code repository, which is a must. I contacted the authors, asking if they would be willing to dual-license it under the GPL.

The effects of such a module – if technically possible to generate CSS sprites completely autonomously – would be enormous. It would reduce the number of HTTP requests per page considerably: all CSS background images would be aggregated into a single image!
Even on “just” the Garland theme of a default Drupal 6 installation (this includes a logo and a small Drupal banner at the bottom), this would save 7 HTTP requests per page.

30 January, 2008
table.analysis { min-width: 40em; width: 85%; } table.analysis th { border-bottom: 1px solid #ccc; font-size: 0.92em; } table.analysis tr td:first-child { padding-left: 30px; background-repeat: no-repeat; background-position: 5px 50%; } table.analysis tr { padding-top: 6px; padding-bottom: 6px; } table.analysis tr.bad { background-color: #fcc; color: #200; border-color: #ebb; } table.analysis tr.attention { background-color: #ffd; border-color: #eeb; } table.analysis tr.good { background-color: #dfd; border-color: #beb; } /* table.analysis tr.bad td:first-child { background-image: url(images/articles/analysis-bad.png); } table.analysis tr.attention td:first-child { background-image: url(images/articles/analysis-attention.png); } table.analysis tr.good td:first-child { background-image: url(images/articles/analysis-good.png); } */ table.analysis caption { caption-side: top; text-align: left; font-size: 130%; color: #494949; font-weight: bold; font-family: Arial, sans-serif; } table.analysis caption a:link, table.analysis caption a:visited, table.analysis caption a:active { text-decoration: none; color: #494949; } table.analysis caption a:hover { text-decoration: underline; }

Introduction

Google dominates the search engine market for a large part thanks to its spartan, no-bells-nor-whistles interfaces. But also thanks to its incredible speed (which is partially thanks to that spartan interface, of course).

Since you’re reading this article, you’re probably a Drupal developer. It’s pretty likely that you’ve had some visitors of your Drupal-powered web site complain about slow page load times. It doesn’t matter whether your server(s) are shared, VPSes or even dedicated servers. Visitors that live abroad – i.e. far from where your servers are located – will face the same performance issues, but at even worse scales.
This article is about tackling these issues.

26 November, 2007

Is it also for you a routine to look up the documentation for Drupal hooks at api.drupal.org? If you also use TextMate and are sick of having to command-tab to your browser to get to the documentation, then you’ll have a much better alternative in about 15 seconds.

Go to Bundles → Bundle Editor → Show Bundle Editor. There, click the plus-button in the bottom left corner to add a new command. Set the input to None, the output to Show as Tool Tip and the scope selector to source.php. Copy/paste the command below and assign a shortcut — I use CTRL + D.

30 October, 2007

Ever been disgruntled by the fact that you can’t do a cvs diff with new files, because you haven’t got write access on a Drupal contrib module’s CVS repository and thus can’t cvs add those new files? There’s a solution though: edit CVS’s Entries file. But who likes manually modifying files over and over again?

The solution: fakeadd! (I’ve attached the file to this post in case this site ever goes down.) This nice shellscript allows you to update the Entries file using a simple syntax: fakeadd newfile.php.

A quick install how-to:

  1. Save the file to a location of your choice, I’ve saved it in ~/scripts.

  2. Open your ~/.bash_profile file (if you’re using the bash shell, this is the default shell on OS X) and add the following:

    # Add custom scripts, such as the CVS fakeadd script.
    export PATH=$PATH:~/scripts` 
    
  3. Make the script executable: chmod +x ~/scripts/fakeadd.

  4. When you create patches (also see this blog post of mine), use the -N flag. So your eventual command will look like this: cvs diff -N -up > foo.patch.

Tags

27 October, 2007

Almost 3 weeks two months ago now, I have released the Hierarchical Select module. (This post was originally written during the DrupalCon, but time has been sparse since then and bugs were there, which is why I’m posting this so late.) It defines a new form element: hierarchical_select. It makes the selection of something in a hierarchy much more usable. By default, selects of the taxonomy module (on node forms) are forced to use hierarchical selects - if the vocabulary is hierarchical. The same is applied to content_taxonomy CCK fields, when the select widget is used.
Note that the hierarchical select form element does not support the selection of multiple items. And obviously, it only selects the “deepest” item.
I’ll immediately skip to the demo, because a live demo says so much more than words.

And it has an API!

This part is only interesting to people who want to make use of this form element for other modules than taxonomy.

19 September, 2007

This morning we (I’m sharing a room with Larry Garfield, remember?) took the tram at the Sant Marti de l’Erm stop, which is 5 minutes walking from our hotel, grabbed breakfast on our way there, took the T2 tram and got off at Fontsanta - Fátjo (which is only 2 stops further). Total tram travelling time: 35 minutes, of which 15 minutes of waiting for the tram. Hurray!

When we arrived, there was a very short line (5 people or so). You get a bag with the official logo and on the inside you can find a DrupalCon sticker, a MySQL 6 reference card, a weird-yet-cool key fob from CivicActions with the imprint “Changing the World One Node at a Time” and of course a DrupalCon t-shirt and lanyard .
Next we moved on to the “laptop room”, where everybody would do geeky Drupal or non-Drupal stuff on their laptops. It kind of also was the Meet & Greet room. Larry pointed me to Earl Miles (merlinofchaos) when he walked by, so him I’ve met too already.

At about 10:35, the welcome message began. Bert Boerland gave an introductory talk, during which the mic already started to have problems. Then it was Dries who gave a short overview of the evolution of DrupalCons (the first being held for 26 people), or rather the explosive growth. And finally Robert Garrigos, the main organizer of the event finished off. See the first attached picture.