Open up to other languages: come to OSDC France 2010 !

Submitted by Frederic Marand on

The second Open Source Developers Conference (OSDC) will be held on saturday 9th and sunday 10th, October 2010 at "Carrefour Numérique de la Cité des Sciences", in Paris. OSDC is a cross-language event, set up by multiple french language-specific non-profits:

  • PERL: Mongueurs de Perl
  • Python: AFPy (Association Francophone Python)
  • Ruby: Ruby France
  • SmallTalk: European Smalltalk User Group

When Dropbox ignores files to sync on Linux...

Submitted by Frederic Marand on

Much like many Drupal devs, I happen to make fairly intensive use of Dropbox, and even use a "pro50" account to sync my always increasing set of "current" source folders, including checkouts of all major Drupal versions and lots of contrib.

Which means that, beyond the number of gigabytes of data Dropbox has to sync, the number of the files making up these gigabytes has also been increasing, currently to around 100k files. After I started playing with checkouts of the Drupy project in preparation for the Drupyx experiment, I noticed that, when I created some new files under the Drupy directories, their creations and subsequent changes would not be tracked by Dropbox, but they would correctly sync if I renamed the Drupy directory itself or a directory above it. Something like this:

Action Result on Dropbox.com
touch ~/Dropbox/src/drupy/src/foo.py Ignored
mv ~/Dropbox/src/drupy/src/foo.py ~/Dropbox/src/drupy/src/bar.py Ignored
mv ~/Dropbox/src/drupy ~/Dropbox/src/drupa Full sync below ~/Dropbox/src/drupa
mv ~/Dropbox/src/drupa ~/Dropbox/src/drupy Full sync below ~/Dropbox/src/drupy, including "foo.py"
rm ~/Dropbox/src/drupy/foo.py Ignored

And all this while operations on a PC running Windows tied to the same account did not experience any similar problem. What could be going wrong ?

Night life in Munich

Submitted by Frederic Marand on

So we Drupalistas were supposed to gather for some sort of social event at a concept bar (more below), and I bid my time walking the subway corridors, among the incredible crowd one can find out in Munich any Saturday evening around 8pm, as shown below.

U-Bahn 2010-05-08 19.47.01

Tip of the Day: restart Opera without Dragonfly

Submitted by Frederic Marand on

If you like Opera Dragonfly, as I do, you may have stumbled upon a small annoyance: if Opera is configured to start with the previous window, if you use Dragonfly in a separate window - maybe because you use a dual screen config - if you happen to close the main Opera window with Dragonfly still open, and close Dragonfly afterwards, then you will notice that Opera complies with your choices: when you restart it, it restarts with the main browsing window closed and Dragonfly opened.

At this stage, closing Dragonfly won't help, because Opera will faithfully restore it at every launch. Annoying. Luckily, there is a very simple workaround if you find yourself in that situation...

Optimizing strings in PHP ?

Submitted by Frederic Marand on

Every 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.

Quick tip: how to make CVS status actually usable

Submitted by Frederic Marand on

Like any VCS, CVS is able to show the status of the current directory when compared with the repository from which it is checked out.

However, unlike SVN, GIT, or bzr, which by default show only a rather compact set of information, CVS provides already verbose information, with only an option to add even more, and no terse mode.

Luckily, piping its output through a few commands allows one to obtain such a compact cvs status display. I tend to use this, aliased to cvsst.

alias cvsst="cvs st | grep -vE 'revision|Sticky|^$|==|Commit' | sed -r 's/^File: |Status: //g'"