Solar ovens for Madagascar: you did it!

Following my fundraising campaign to buy a solar oven for the village of Ifaty in Madagascar it is my pleasure to announce that I was finally able to deliver not one but 14 solar ovens in two villages (Ifaty and their neighbor Tvinissou)!

This has been made possible thanks to help from Ades (oven production and training), Reef Doctor (they’ll manage the ongoing project and have helped me a lot while I was working with them during my marine conservation internship) and, of course, your tremendous generosity. Thanks a lot everyone!

The good news is that the project will not end with my return to Europe as we were able to set up a small association there where, for a small fee, beneficiaries can get their ovens serviced, benefit from ongoing training and make it possible to buy more ovens for their fellow villagers.

You’ll find hereafter some pictures taken during the training provided by Ades on the Reef Doctor site to interested parties and villages’ presidents.

I’ll keep on following this project and will gladly write a follow-up in the future. Once again thanks everyone who made this idea become reality!

Solar ovens crowdfunding for Ifaty, Madagascar

I’ll be leaving soon for Ifaty, a small village in south Madagascar as a volunteer for Reef Doctor (a non-profit organization active in marine conservation projects). This village has very limited electricity and no running water.

Although my work there will be centered around reef restoration and marine conservation in the Ranobe bay, I wanted to try something different and do something for the forests there (80% of the wood is used for cooking in Madagascar). 90% of the original forests have already been cut down!

This brings us to the subject of this post: I’m doing my first fundraising experience by asking you to help me bring a solar oven in my luggage. The chosen model is both light and durable and uses eco-friendly materials. It is sufficient to cook for 5 to 6 people and can quickly reach 200°C (this means the oven can also be used to pasteurize water for example).

If you can help me reach this goal I’d be really grateful (1 CHF is about 1.04 USD and 0.83 €). You can use any card supported by PayPal or your PayPal account directly.

If you prefer to wire me your contribution directly, don’t hesitate to contact me, I’ll send you the necessary information.

Thanks a lot for your generosity; I’ll keep you posted on this page!

Also, don’t hesitate to leave a comment below.

P.S. If the fundraising is not successful one week before I leave (i.e. 12th  of July), I’ll give the money to Adesolaire. If we raise more money than needed for the oven, I’ll add some accessories for the oven (replacement solar panels for example) and/or other needed stuff for the village (books and pencils for the school come to mind) ; anyway, I’ll detail the result of the operation right here.

Update, 19th July 2012: Wow, thanks everyone for your support! The 499 CHF originally planned have been easily reached thanks to your generosity… In the meantime I have secured an excellent deal with Adesolaire and I should be able to deliver not one but 6 or more solar cookers to Ifaty ;-)!

Update, 7th September 2012: Back from Madagascar since three weeks already, I’m happy to give you more details on how the project went in the follow-up post I just published.

GPG Key Transition

For a number of reasons, I’ve recently set up a new OpenPGP key, and will be transitioning away from my old one.

The old key will continue to be valid for some time, but I prefer all future correspondence to come to the new one.  I would also like this new key to be re-integrated into the web of trust. This message is signed by both keys to certify the transition.

The old key was:

pub   1024D/33AEDA47 2008-02-19
Key fingerprint = 7444 BFF0 7D4D ABDB A073  2395 7BCE 14BC 33AE DA47

And the new key is:

pub   4096R/A9832EBB 2011-01-28
Key fingerprint = 634C A485 0772 6F0A E3E9  5FE1 54A2 7BAD A983 2EBB

To fetch the full key, you can get it with:

wget -q -O- | gpg --import -

Or, to fetch my new key from a public key server, you can simply do:

gpg --keyserver --recv-key A9832EBB

If you already know my old key, you can now verify that the new key is signed by the old one:

gpg --check-sigs A9832EBB

If you don’t already know my old key, or you just want to be extra paranoid, you can check the fingerprint against the one above:

gpg --fingerprint A9832EBB

If you are satisfied that you’ve got the right key, and the UIDs match what you expect, I’d appreciate it if you would sign my key:

gpg --sign-key A9832EBB

Lastly, if you could upload these signatures, I would appreciate it.
You can either send me an e-mail with the new signatures (if you have a functional MTA on your system):

gpg --armor --export A9832EBB | mail -s 'OpenPGP Signatures'

Or you can just upload the signatures to a public keyserver directly:

gpg --keyserver --send-key A9832EBB

Please let me know if there is any trouble, and sorry for the inconvenience.

Thanks and best regards.

Help me make your music player or phone recognized as such under Linux

Modern Linux distributions and more and more music library applications (such as Rythmbox and Banshee for example) are using informations stored in‘s media-player-info project in order to handle correctly most USB Mass Storage media players (i.e. those which appear as an external USB disk). This allows the operating system and those applications to :

  • ask you if you want your device to be managed by your music library management software;
  • display the name and icon of your device;
  • retrieve the necessary informations to copy music on the media player (format, location);
  • handle playlists.

In the future those informations might allow your software to manage correctly:

  • your album covers;
  • your videos.

How can you contribute to this project?

The media player database is growing fast but with the even faster growth of new devices arriving on the market it still often happens that your specific device is not perfectly handled. Having contributed a number of patchs to add support for unknown devices, I’m offering to do it for your device(s) (and those of your friends too) if you don’t want to spend time to actually write and send the patch yourself.

So if your device is not in this list or if it is there but the information stored in the corresponding file seems wrong or incomplete (you can notice such an issue by reading the file or simply by plugging your device in your computer with a recent Linux distribution), please do comment this post and give me some informations about your specific media player or phone (please try to use the following proposed format) :

Minimal informations

  • Device name: e.g. W995
  • Manufacturer:  e.g. Sony
  • USB ID:  e.g. 0fce:e112 ; to find this information you can type lsusb in a terminal window (Terminal can usually be accessed under GNOME in Applications/Accessories/Terminal) and find the line corresponding to your device after plugging it. If you’re unsure of the correct line, juste paste the whole command output.
  • Music folder(s): e.g. /Music (case sensitive)
  • Music formats: e.g. audio/mpeg;audio/mp4;audio/aac (or, if unsure, media file extensions (.mp3, .aac…)

Additional informations (optional)

  • Playlists folder: e.g. /Playlists (case sensitive)
  • Playlists formats: e.g. audio/x-mpegurl;audio/x-scpls (or, if unsure, playlist extensions (.m3u, .pls, etc.)
  • Cover folder:  e.g. /Covers (case sensitive)
  • Cover formats: e.g. jpeg, integrated
  • Video folder: e.g. /Videos
  • Video formats:  e.g. mp4&width=320&height=240 (or, if unsure, file extensions and resolutions)

What devices should not be reported here?

  • devices that are only managed using MTP protocol (those are handled by libmtp);
  • devices that are not using mass storage transfer (i.e. those which are not handled as a normal USB disk).

Whether you’ve got the last hot phone on the market or you found an obscure no-name MP3 player free in your cereals, please don’t hesitate to send those informations. Your contribution will benefit a lot of other fellow Linux users and your device will be better handled next time you update your system!

Converting PHP scripts that still use « short-tags »

This is a translation of an older article (original in French).

If you kept bad habits or you just got some old PHP scripts that were still using PHP short tags (i.e. (<? ?> instead of <?php ?>) which are disabled by default in current PHP versions, the following script ( is for you:

find "$@" -name "*.php" -exec perl -i -wpe 's/<?=/<?php echo /g' {} ; 
-exec perl -i -wpe 's/<?(?!php|xml)/<?php /g' {} ;

After downloading this script, make it executable:

chmod +x

Then you can use it like this (don’t forget to make a backup of your precious scripts, you never know…):

./ /path/to/your/php/files/

Note that you can specify more than one path from this command line.

Conversion de scripts PHP utilisant les « short-tags »

Si vous avez gardé de mauvaises habitudes ou que vous avez récupéré de vieux scripts PHP qui utilisaient encore les balises courtes ou « short-tags » (<? ?> au lieu de <?php ?>) qui sont désactivées par défaut dans les versions actuelles de PHP, vous pouvez utiliser le script suivant ( au lieu de corriger tous les fichiers manuellement :

find "$@" -name "*.php" -exec perl -i -wpe 's/<?=/<?php echo /g' {} ; 
-exec perl -i -wpe 's/<?(?!php|xml)/<?php /g' {} ;

Une fois le script récupéré, rendez-le exécutable :

chmod +x

Puis utilisez-le comme cela (après avoir éventuellement fait une sauvegarde de vos précieux scripts) :

./ /chemin/vers/vos/fichiers/php/

Notez que vous pouvez indiquer plusieurs répertoires à la suite les uns des autres.

N’hésitez pas à me faire part de vos améliorations !

Mise à jour 24 juin 2009 : Merci à John Lenton pour son commentaire, j’ai mis à jour le script.

HP refunds 520$ for unused software

This is a translation of my latest article (original in French).

After my previous successes with Dell and Lenovo (was  IBM), I just finished a (long) process of reimbursement with the leading PC manufacturer: Hewlett-Packard.


At the end of 2008, I acquired two HP laptops for friends for whom I installed Ubuntu Linux. As usual, the models of interest were not available without the operating system and pre-installed software.

First attempts

Upon reception of the first model, I called HP support for laptops where I was told to call support for HP professional laptops where they asked me to call customer service where they told me to call the sales department, this department then asked me to contact the claims department by e-mail because they could not help me!

After numerous e-mails and phone calls with the claims department, I had still not received the amount due in repayment of licenses for software that I did not agree with. Worse, they told me they were not aware that a End User License Agreement (EULA) is displayed when you first start their PCs (if this is not bad faith, I don’t know what is) and they asked me to send them a copy of the terms in question:

From: Jonathan Ernst
Subject: Attention Mr. S.
Date: Friday, 21 November 2008

Dear Sir,

Thank you for your phone call.

Here are excerpts from your own license contract
displayed at startup of each computer running Windows
you sell:

[…] If you do not accept the terms of the agreement, click the
button indicating your rejection and do not copy, download or
use the software in any way. You can
get the full refund of unused software […]

And here is the extract from the second license (Microsoft Windows)
which is also displayed at startup:

[…] Using the software, you accept these terms.
If you do not agree, do not use the software.
Contact the manufacturer or installer to determine their procedures for return of goods
to get your money back.

I am surprised that HP does not know the existence of these
End User License Agreement (EULA), since these licenses
are displayed on all your computers.

In addition, your company has already made several repayments (willingly or
by force) in the past. You have been condemned last year in Italy
to pay 2300 euros (140 euros in software)

I also invite you to educate yourself on this issue by visiting:

The software I want to get the refund for includes:

– Microsoft Windows Vista Home Basic OEM
– WinDVD
– Roxio
– Mc Afee (2 months subscription)
– MS Office 2007 ready

Note that you can probably get repaid these amounts from the publishers of such software.

Yours sincerely

I then decided to start sending regular letters  (I sent an invoice for each computer, then, when expired, threats of prosecution). I finally received a written response (in English even though we had always communicated in French). According to them, their return policy is in line with industry best practices (even though I have pointed out repeatedly that their two biggest competitors had accessed to my previous requests, and that they had recently been convicted for similar facts in Italy).

Here is my answer:

From: Jonathan Ernst
Subject: Your letter
Date: Friday, 09 January 2009


I acknowledge receipt of your reply in English to my letter
in French (you obviously have the resources to translate
the End User License Agreement that you do not respect
in French, but not enough to communicate with your clients
in the language in which they write and buy your products).

As explained in my previous request for refund (for
which I am still waiting for the payment), I don’t care about your

First your refund policy is not in line with best industry practices as you write because IBM
and Dell, your two biggest competitors, have refunded software not used in a similar case after my previous

Second, even if it did, it doesn’t matter because the EULA explicitly gives me the right to a refund in the event I do not
accept the terms of the license. I remind you once again that you have recently been convicted in Italy on this subject:

You can continue as long as you like to hide behind your legal department, but this won’t prevent me from, if you fail to
comply with my requests, prosecuting your management as stated in my last letter sent to your headquarters and Mr. P. and B.

You will also find attached to this e-mail a draft of the prosecution (in french « requisition de poursuite ») that I will send, if by the end of this month I don’t have any satisfactory answer from you.

All rights reserved.

Legal proceedings against HP Switzerland and some members of its management

Hewlett-Packard Switzerland and several members of its management did not respond to my last notice before prosecution sent by registered letter (sent to the address of the company and their personal addresses). Therefore I sent the legal proceedings form to the competent offices.

Finally a response!

In February 2009 (two months after the last notice before prosecution) my debtors received their payment order from the legal proceedings office.  Mr B., manager of HP Switzerland finally granted me with an e-mail (this shows how far you have to go to make those companies reply to your letters):

From: Mr B. <>
To: Jonathan Ernst
Subject: Legal proceedings
Date: Wednesday, 19 February 2009 17:28:29


Referring to your letter of 17 December 2008 and your payment order (No. xxxxxx) that I received this week, I state my opposition.

I respect the fact that you insist on your rights as a principle, which is quite legitimate. However, I did personally never sell or charge any HP product and I condone the fact that you took legal action against me on a private level for a refund of software licenses pre-installed on HP products.

However, I can confirm that the accounting department will pay you tomorrow an amount of CHF 600 on your account XX-XXXXXX-X to cover your expenses. Therefore, we urge you to withdraw the prosecution against Mr P. and Mr B.

I leave you to your opinions and your principles, as well as your undignified pride to have recovered the license fees charged for our HP products, and for the fees you also racked « willingly or by force » from other manufacturers such as Dell, Lenovo and IBM to use your own quotations.

Sincerely yours,

Mr. B.

The man almost made me shed a tear, here is my answer after having received the promised sum:

From: Jonathan Ernst
To: Mr B. <>
Subject: Re: Legal proceedings
Date: Wednesday, February 26 2009 19:39:46 0100


On Thursday, Mr. B. 2009-02-19 says:

> Sir,
> Referring to your letter of 17 December 2008 and your payment order (No.
> xxxxxx) that I received this week, I state my opposition.
> I respect the fact that you insist on principle to your rights, which is
> quite legitimate. However, I did personally never sold or charged any HP
> product and I condone the fact that you took legal action against me in
> private for a refund of software licenses pre-installed on HP products.

I regret that my approach has caused you harm, but what is even more unfortunate is that I had to go this far in order to get back what was due by contract.

Furthermore, I find it somewhat inappropriate to play the surprise and indignation when you acknowledge yourself earlier to have been informed of my approach by registered letter in December. Perhaps you could have taken the necessary actions to avoid this situation at that time?

As a manager you will certainly ensure that the various telephone services from Hewlett Packard in Switzerland and your company’s complaint service are more aware of your customers rights so that this situation never happens again. I am also at your disposal if you want to learn more about the real uphill battle that forced me to take this kind of actions.

It is clear to me that the current policy (ignoring letters, claiming that the licensing contracts do not exist, etc..) of your
company is intended to discourage customers from exercising their rights which is unacceptable for a company like yours.
Therefore, I will not hesitate to assist any interested person to assert their rights as long as a simple and transparent refund process (or, better yet, a purchasing process that does not force the tying) is not implemented by manufacturers of personal computers.

> However, I can confirm that the accounting department will pay you
> tomorrow an amount of CHF 600 on your account XX-XXXXXX-X to cover your
> expenses. Therefore, we urge you to withdraw the prosecution against Mr
> P. and Mr B.

I took the necessary steps to undo these actions (including the one against your headquarters) and acknowledge receipt of your payment.

> I leave you to your opinions and your principles and undignified pride
> to have recovered the license fees charged for our HP products, and for
> the fees you also racked « willingly or by force » with other
> manufacturers such as Dell, Lenovo and IBM to use your own quotations.

These fees are in no way « racked » to manufacturers as you seem to think. It is simply a reimbursement proposed by the
publishers of the software when the accompanying license agreement is not accepted by the end user.

Therefore it does not cost anything to the manufacturers that you mention. Of course, if, on your side, you do not want to make the necessary arrangement to be refunded from your vendors, that is your problem.

As for my pride, please note that this was solely done because of principles and not to get money. To enforce my rights and not pay 20-30% of the price of a computer for software I do not intend to use. Who knows, one day you may allow your customers to choose the software they want pre-installed (opt-in instead of opt-out) on your computers and make this whole process and the inconvenience caused by it to manufacturers and their customers unnecessary.

Best regards.


This time, I really thought that Hewlett-Packard was going to turn a deaf ear until the court. Nevertheless, as it had already been the case with one of my first experiences on the subject, the threat (in the case of Dell) or the actual stake in pursuits again provoked a reaction and in forced the debtors to pay off to me what was due to me.

It is unfortunate to notice how difficult it is to assert ones’ rights in IT tax removal. I dare to hope that this kind of initiatives as well as those relayed by the project « detaxe » from swisslinux, the site at the French level and at the international level, will allow everyone not to pay pointless expenses of licenses for software of no use (whether they do not wish to use them, or because they already possess them) whatever their choice of equipment. A clear display of the prices of this  » inclusive software  » as well as their optionality would be to the advantage of the consumers and the computers makers.

In order to multiplicate these procedures and to encourage the makers to change their dishonest practices, do not hesitate to let know your procedures (successful or not) against these groups quoted previously as well as to request for coaching.


Here is a non exhaustive list of  documents sent and received to/from Hewlett-Packard:

2008-12-17 first invoice sent to HP (french)
2008-22-12 invoice for the second HP conputer (french)
2008-17-12 dernier avis avant poursuites (without appendices, a similar  letter has been sent to two others members of HP management, french)
2009-01-08 HP response
2009-05-02 réquisition de poursuite (without appendices, a similar form has been sent to the cantons where are living both HP management members targeted by my pursuit, german)

Avoiding feature regressions should be more important than (exact) time based releases

I really like the fact that Ubuntu releases are time based. However I think that we should not let so easily core/main features just stop working and let the release ship nevertheless.

Some examples with Intrepid :

I mean basic printing, burning/using CDs not working in a 2008 operating system, than can’t be real, right ?

My (humble) proposal :

  • Any default feature that was previously working and is not working anymore should be a release blocker (of course explicit exception could be granted by the release team on a case by case basis).
  • There should be an easy way in launchpad to mark and track such regressions.
  • Release dates should be planned in the beginning of the month instead of the very end of the month so that if more time is needed we won’t have to renumber the release.

The fact that Intrepid release notes are so big should be an other indication as to why it was too early to release Intrepid IMHO.

I’m not whining or blaming anybody here, I can fix all these problems for my specific computers. However I think that users expect that what was working before will somewhat continue to work in the new release (I’m not speaking about performance regressions, regressions in packages not in main here, I know that we cannot avoid every regression). This is far more important than releasing on the exact planned day.

SSH and telnet protocol handler for Firefox

I manage quite a lot of different computers, network devices, etc. As we are using an internal web based documentation system I thought it would be useful to be able to just click on ssh:// and telnet:// links and have Firefox open a terminal where I’d be connected to this specific machine.

As with most things computer related in the Internet era, someone else had already just done that. I modified his script a little bit so it’ll work with links specifying ssh keys and port :

  1. save the following zsh script into a file (let’s call it ~/.scripts/firefox-handler.zsh) (if you don’t have zsh, install it using your package manager or fix the script to use whatever shell you want).
    #makes -i $HOME/.ssh/id_rsa_foo work
    data=${data//%20/ }
    #/makes -i $HOME/.ssh/id_rsa_foo work
    /usr/bin/gnome-terminal -e "$proto $data"
  2. chmod +x ~/.scripts/firefox-handler.zsh
  3. in Firefox go to about:config and add the following two strings (right-click -> new -> string) and and put nothing as the value (for a yet unknown reason, it doesn’t work if you specify the path to your script right now)

Restart Firefox, you should now be able to click on ssh and telnet links and also type those URIs in your location bar and it should ask you with what application you want to open it, you can now browse to the location of the previously created script and check the box « don’t ask me again ». As an added bonus, you can also use those URIs as bookmarks which I find quite handy.

Ubuntu 8.10 « Intrepid Ibex » testing

It now makes about four months I’m testing the future release of Ubuntu. Ubuntu 8.10 is now nearing official release and I wanted to share my current « Intrepid Ibex » experience (based solely on my (and my users’) need/hardware).

The good

  • Updated packages. Kernel, GNOME, Network Manager, Pidgin, to name a few have all received a lot of welcomed improvements. OpenVPN connexions from Network Manager now nearly works well (there are still some minor annoyances though LP #279517, #279514 and #279512) and Pidgin uses the new MSN protocol (offline messaging, ugly emoticons sending and so on).
  • Fortunately a lot of the regressions I have previously encountered and reported have been already fixed. Spell checking in (fr_CH) had to be fixed again (LP #139570, this had already been a fixed problem in hardy) and people using some Intel gigabit NICs were not able to use them without risking to brick their hardware (LP #263555). Cifs mount are also automounted again (LP #278994) (but nfs mounts are not, LP #285013). Thanks to everyone involved!

The bad

  • Spellchecking in Pidgin and Tomboy (among others) is broken again because not everyone who speaks French comes from France (LP #278943). The very least would be to stop spellchecking when no dictionary is present (b.g.o #556461 and d.p.i #7310).
  • The new user switcher doesn’t show suspend or hibernate shutdown options (LP #278810).
  • It’s not possible to suspend or shutdown without error if a cifs share is mounted (LP #279043 and LP #211631).
  • NFS shares are not mounted at boot because networking is not up (LP #285013).
  • Webcams are supposed to work better with the new kernel but the opposite is true for me, I can only use it at the tiny 176×144 resolution (LP #281771).
  • 3.0 didn’t make it soon enough to be included (LP #267376).
  • Nvidia new binary blob causes screen corruption/refresh issues with compiz enabled (#278139).
  • Flash keep crashing as usual (too many bugs to quote).

The ugly

  • Hardware regressions with the new kernel (mainly Intel wireless hardware working intermitently (LP #277634) or crashing the kernel (LP #263059), yes I have both those cards :-().
  • Samba printers fail because of authentification (LP #283811), even when no authentification is required.

Although I found a lot of minor (and major) annoyances with this new (not yet released) version, I feel that it is overall better than Ubuntu « Hardy Heron » for my day to day work. I still hope some of the bugs quoted here will be fixed before the end of october and will update (striketrough) this post accordingly.