Monthly Archives: June 2011

Fixing Ubuntu 11.04 after a problematic installation

As I wrote earlier, I had problems installing Ubuntu 11.04 on my laptop, but after som fights I managed to have a computer running Natty Narwhal.

But not everything was fine though: there was no time-out in GRUB2 and starting daemons like Apache didn’t work.

For the first issue, my laptop could display GRUB until I pressed the enter key. Setting the timeout in /etc/default/grub was useless. Obviously the install wasn’t fine so I corrected this by reinstalling GRUB:

I’m not sure the last line is necessary, hopefully apt-get takes care of updating GRUB, but it’s better to write one line too much than having a system which can’t start.

The other issue was starting daemons. Ubuntu doesn’t use anymore the System-V init but another system called Upstart. But Apache and MySQL didn’t start at boot time, and when I wanted to start them I got Warning: Fake initctl called, doing nothing. As above, the install was corrupted and I had to reinstall upstart:

My computer is better now, but I might reinstall more packages as soon as I have other issues.

Transparently compressing JS and CSS files with PHP

When I develop a web site, I usually configure it to compress the content before sending it to the end user. Downloading resources such as HTML, CSS and JS files is then smaller and thus faster.

It is possible to configure this in the .htaccess file (in case the server runs Apache) as well as it is possible to program it in PHP.

Unfortunately, it looks like my web hosting company doesn’t allow the former, so I had to take the PHP way for compressing resources in geo:truc.

The PHP code for doing this is rather simple:

This works fine: write a PHP script, put the code above in it, and it’s done! It works with HTML files, and it’s possible to use it as well with JS ans CSS files, although they need to start with this snippet and have a .php extension.

But how to do when using different JavaScript libraries that are now commonly used? A new .php file for every new version of jQuery? It sounds fastidious. And how to make it transparent, i.e. not passing a URL like ?

Continue reading