MySQL and MariaDB innodb_file_per_table

For those of you pushing your MySQL instances to higher levels, you’ll have realized at some point that all InnoDB tables share their indexing space into a single file (ibdata1, usually). This has several very bad outcomes: the ibdata1 file…

More Details
Using php5-memcached to store sessions on distributed servers

This article is an extension of the previous article about storing sessions in Memcached with PHP. Using Memcached for sessions storage is generally a matter of speed (storing them in memory is faster than on disk) and of scalability (using…

More Details
How to not write a condition for code readability

Sometimes you find a perl in some code and it might take you a while to understand. In the sessions management code of Chamilo, I found this the other day, then decided to leave it for later because I was…

More Details
Creating multiple git forks using upstream branches

Working with Git is… complex. It’s not that it’s from another world, and the complexity is probably worth it considering the crazy things it allows you to do, but sometimes it’s just mind-bloggingly complex to understand how to do things…

More Details
On PHP and cache slams and solutions

While reading about Doctrine’s cache mechanism (which applies to other stuff than database queries, by the way), my eye was caught by a little message at the end (last section) about cache slams. I have used cache mechanisms extensively over…

More Details
Nginx + CDN + GoogleBot or how to avoid many useless Googlebot hits

If you’re like me and you’ve developed a CDN distribution for your website’s content (while waiting for SPDY to be widely adopted and available in mainstream distributions), you might have noted that the Googlebot is frequently scanning your CDNs, and…

More Details
Google’s new terms to reduce spamming is really taking effect

I don’t know about you, but in the latest months, I’ve received a series of requests which follow the same pattern: LINK REMOVAL REQUEST Dear Website Owner: It has come to our attention that a number of links exist on…

More Details
Installing Redmine 2.1 on Debian Squeeze with Apache modPassenger

This article is co-authored by Jérôme Warnier, from work mostly done by him with my occasional support. Kudos go to him. We couldn’t find any valuable manual to install Redmine 2.1 on Debian Squeeze, and we sure met a lot…

More Details
Apache Rewrite Cheatsheet

This is the life-saver cheatsheet you need if you’re ever going to want to understand complex rewrite rules like the ones generated by the Boost module in Drupal: http://www.askapache.com/htaccess/mod_rewrite-variables-cheatsheet.html In particular, in  RewriteRule .* – [S=5], the [S=5] rule means…

More Details
Munin 2.0 on Debian

Munin 2.0 has been released and packaged for Debian, and even backported to Squeeze (from backports.debian.org). Even though there are still some quirks in this version (or just the Debian packaging), it is far better (more scalable, more powerful and…

More Details