- 2011-09-01: Building an Unfuddle to Drupal Casetracker import module using Migrate
- 2011-08-28: Back from DrupalCon London and its WSCCI code sprint. Wow.
- 2010-12-21: Madame Figaro brand new site by OSInet and others
- 2010-08-16: France.FR is back online with OSInet and Typhon
- 2010-06-15: the new http://www.franceculture.com/, which OSInet helped reach its performance goals, is now online
- 2010-06-13: the OSInet Features Server is live
- 2009-11-29: mongodb_watchdog module created by dereine, ported to D7 by me in about half an hour, and migrated in a larger MongoDB project by damz before the hour ended. Wow...
- 2009-02-03: the new Drupal-based site for the golden jubilee of the french "Ministère de la Culture", which OSInet helped build, is now online
PHP
Optimizing strings in PHP ?
Submitted by fgm on Sun, 2010-04-25 11:07Every so often, I get asked about whether it is really worth it to chase double quotes and constructs like print "foo $bar baz", and replace them with something like echo 'foo', $bar, 'baz', or even to remove all those big heredoc strings so convenient for large texts.
Of course, most of the time, spending hours to fine comb code in search of this will result in less of a speedup than rethinking just one SQL query, but the answer is still that, yes, in the infinitesimal scale, there is something to be gained. Even with string reformatting ? Yes, even that. But only if you are not using an optimizer.
Just don't take my word for it, Sara Golemon explained it years ago with her "How long is a piece of string" post, in 2006.
Building Hip-Hop, first steps
Submitted by fgm on Sat, 2010-02-20 19:41In case you somehow managed to miss today's announcement, Facebook's Hip-Hop is now available, along with a wiki to show how to build it, and an issue tracker, all on Github.
Debug vanilla
Submitted by fgm on Fri, 2009-12-11 13:14Most of the time, when working on some piece of code, I'll resort to the configured debugger in my current Zend Studio configuration. And you probably do too :-)
However, I often have to access debug-type information on live sites where installing a debugger is out of the question, and I find myself often resorting to parameter dumps like the following:
<?php
// lazy version for simple cases
function foo_bar($x, $y, $z) {
dsm(func_get_args());
// [...]
// less lazy version for more hairy cases
function foo_baz($x, $y, $z) {
dsm(array('in foo_baz, x' => $x, 'y' => $y, 'z' => $z));
// ...
?>You've probably being using it too and, of course, after the first few dozen times, it becomes a bit used. So here's a tiny snippet that makes such dumps simpler to type and use :
A Gray code generator in PHP
Submitted by fgm on Sun, 2009-02-22 19:09For a recent case, I had to define the behaviour of a system with a lot of independent conditions to check, which could trigger any number of a set of messages and actions on data, and all of this based on a plain english (i.e. non algorithmic) description of the data, which only covered the most commons scenarios for these conditions, leaving lots of undefined combinations of inputs. What's one to do in such cases ?
Spaces in PHP variable names
Submitted by fgm on Sun, 2008-05-11 11:37I just found out a very strange PHP feature by browsing the PHP-GTK2 API with the Reflection classes : spaces can be used in some alien places, like variable names.
But the doc says you can't !
Well, try this in PHP 5.2.5, for instance:
Formatting PHP code in Eclipse PDT and Zend Neon
Submitted by fgm on Tue, 2007-08-21 09:24Referrals update
Submitted by fgm on Sat, 2006-11-25 23:32Browsing the referers leading to my blog, I just noticed one of my recent posts about PHP-GTK2 Console encoding had been noticed by PHPDeveloper, where the reviewers apparently take time to actually read feed to which they point to, instead of merely aggregating them, which allows them to sum up content for their own readers. Now that's what one can call a press review.





Recent comments
2 weeks 3 days ago
11 weeks 3 days ago
21 weeks 2 days ago
21 weeks 2 days ago
22 weeks 4 days ago
23 weeks 2 days ago
26 weeks 1 day ago
39 weeks 6 days ago
41 weeks 1 day ago
41 weeks 2 days ago