archive

For performance, the goal is:

  • As a minimum, to be competitive with existing solutions (currently looking at symfony and Composer)
  • To be 90% competitive with the theoretical optimum. This means, we may accept to be 10% slower than theoretically possible, if this can buy us architectural quality.

Optimize our loops

Both the Symfony UniversalClassLoader and the Composer ClassLoader have a minor performance flaw, if set up with too many namespaces:

For every direct lookup, they loop over the entire array of registered namespaces.

This is one part in a rather technical series about
X Autoload

PSR-0 and PEAR

Some time ago, the PHP framework interoperability group, consisting of people from different PHP frameworks, published a standard called PSR-0, with policies about how to namespace a class, and where to put the file the class lives in.

Sometimes after a restart on Ubuntu 11.10, if using the "Gnome classic" desktop, Nautilus will appear in an ugly old-school design.

To fix this, type in your commandline:

pkill gnome-settings-daemon
gnome-settings-daemon

And, if you like:

killall nautilus
nautilus

And now tell me, why is this all so broken.

Technical notes about the DQX AdminMenu module, that were too long for the module page. Warning: long read!

For a long time, Administration Menu module has been the first thing I would install on any site I build.

Until I started to be unhappy about a few things that I missed in both the 1.x and the 3.x branch. The missing "Create content" link in the 3.x branch, faulty menu reparenting in Drupal core, the difficulty of rendering a menu or submenu as anything but a nested list of items.

For performance, the goal is:

  • As a minimum, to be competitive with existing solutions (currently looking at symfony and Composer)
  • To be 90% competitive with the theoretical optimum. This means, we may accept to be 10% slower than theoretically possible, if this can buy us architectural quality.

Optimize our loops

Both the Symfony UniversalClassLoader and the Composer ClassLoader have a minor performance flaw, if set up with too many namespaces:

For every direct lookup, they loop over the entire array of registered namespaces.

This is part of a series about
X Autoload

Currently the xautoload_ClassFinder_NamespaceOrPrefix does support these registration methods:

This is one part in a rather technical series about
X Autoload

PSR-0 and PEAR

Some time ago, the PHP framework interoperability group, consisting of people from different PHP frameworks, published a standard called PSR-0, with policies about how to namespace a class, and where to put the file the class lives in.

Sometimes after a restart on Ubuntu 11.10, if using the "Gnome classic" desktop, Nautilus will appear in an ugly old-school design.

To fix this, type in your commandline:

pkill gnome-settings-daemon
gnome-settings-daemon

And, if you like:

killall nautilus
nautilus

And now tell me, why is this all so broken.

Technical notes about the DQX AdminMenu module, that were too long for the module page. Warning: long read!

For a long time, Administration Menu module has been the first thing I would install on any site I build.

Until I started to be unhappy about a few things that I missed in both the 1.x and the 3.x branch. The missing "Create content" link in the 3.x branch, faulty menu reparenting in Drupal core, the difficulty of rendering a menu or submenu as anything but a nested list of items.