In a moment of boredom, yesterday I happen to browse to WikiHow. At the bottom of their site I noticed a rather curios button, advertising that their site is "Carbon Neutral", since this was the first time I've ever seen something like that I was naturally curious, so I clicked the link to learn more. This took me a short article giving a pseudo-scientific calculation of how much carbon is consumed by their site, down to their share of train travel. If you are curious you can find the breakdown here wikiHow:Carbon Neutral. One curios thing I noted was "Jack riding bike to work: 0 lbs of carbon!", last time I checked strenuous physical activity, increases heart rate, which in turn causes the person breathe-in more oxygen and subsequently expel more carbon dioxide. This means that if Jack drove a car, rode a bus or train, he'd actually contribute less carbon to the environment and leave more oxygen for the rest of us ;-). Anyhow, on that page they also had a reference on how/where you can buy "Carbon Credi...

I've finally got of my ass and committed my mail logging patch I've written almost 2 years ago. This functionality is predominantly aimed at shared hosters that often have a problem identifying people who abuse the mail() function to send an in-ordinate amount of spam or hacked scripts used for the some purpose. The logging functionality is disabled by default but can be enabled on a per-directory or globally via 2 INI settings. The mail.log directive allows you to specify the file where each call to mail() will be logged. The log file will contain the path and line # of the calling script in addition to all of the headers indicated by the user. The mail.add_x_header directive will introduce a X-PHP-Originating-Script header that will contain the file name (no path) of the calling script and the uid of the script. This combination should be sufficient for the admin to locate the sending script. The patch should be backwards compatible for PHP 5.2 so those of you who cannot...

A few hours ago I've concluded a 2 month long release process of PHP 5.2.7 that been over 6 months in the making. Hurrah ;-) As you can imagine, from the extended timeline, the bug fix list is quite long, in fact there are over 170 different bug fixes in just about all of the extensions and code paths, so hopefully 5.2.7 will be the most stable 5.2 release to date. There are also just over a half dozen security fixes, so you should take a look and see if they affect your PHP use cases. The official release announcement can be found here and for those of your bored enough a full change log is also available. As usual a big thanks to all of the developers who has spent the time investigating and fixing bugs and all the folks who reported them as well, especially the ones keep an eye on the security stuff.

Yesterday, yet another version of PHP 5, 5.2.6 was released. It look a bit longer then I hoped it would, but in the end results are definitely worth it. There are over 120 different bug fixes that are designed to make PHP that much more stable. Quite a few corner case crashes have been addressed, many of which were identified by the ever increasing unit testing (big thanks to all the folks writing tests), which now offers 55.7% code coverage. As always, there are a few security bug fixes as well, details of which you can find in the release announcement. To see the complete Change Log go here, the more brief release announcement ca be found here.

The slides from my talk at PHP Quebec on the upcoming PHP 5.3 release are up and can be found here. I hope that all the people who attended the talk had found it useful and are now convinced 5.3 is the way to go ;-)