Voici quelques extraits d'un article du Touring du 15 août - 15 septembre 1968 intitulé « Conseils aux kayakistes (de l'époque) » (sic) signé « A. Chassang ». Cet article qui montre l'évolution des techniques et de l'outillage du sportif, est tout aussi plaisant à lire qu'il l'était en 1968. Le dernier paragraphe nous montre le caractère visionnaire de l'auteur.
mardi 1 mai 2007
Conseils aux kayakistes (de l'époque)
Par Olivier Mengué le mardi 1 mai 2007, 16:30 - Général
jeudi 12 avril 2007
Simple Perl wrapper for non-Perl TAP programs
Par Olivier Mengué le jeudi 12 avril 2007, 18:51 - Code
TAP (Test Anything Protocol) is a simple protocol to report the result of a testsuite. It was initially designed for test suites of Perl modules, but developers of the Test::Harness modules have seen the potential for a more generic usage of the protocol outside of the Perl ecosystem and libraries are in development for other programming languages.
I'm writing C code and contrary to most programming langages today, there is no library to build test suites in a standard way. Java has JUnit, Perl has Test::Simple
and Test::More
...
Someone has developped libtap, but no one uses it (except FreeBSD developers as advertised on the site). Also, I do not like the library interface because it exports functions such as ok()
or diag()
which could conflict with existing code. So, I wrote my own library that I will publish one day. But that is not the point of this post.
When you have written a program conforming to the TAP, you want tools to analyse the result of the tests. And the main advantage of using a standardized protocol is to be able to use generic tools and avoid to implement/test/debug them yourself. The problem with TAP is that the only tool that is available is prove
and it suffers of a major flaw: it is designed to run only Perl tests.
Here is a simple TAP-compliant C program that outputs the result of a static testsuite:
#include <stdio.h> int main(int argc, char *argv[]) { puts("1..1\nok 1"); return 0; }
And the output:
$ gcc a.c $ ./a.out 1..1 ok 1
When trying to run it with prove
, perl
complains it did not found Perl code:
$ prove a.out a....Unrecognized character \x7F at a.out line 1. a....dubious Test returned status 9 (wstat 2304, 0x900) FAILED--1 test script could be run, alas--no output ever seen
So I wrote the following generic Perl wrapper a.out.t
that just runs a.out
:
# vim:set ft=perl: use strict; use File::Spec; my $exe = File::Spec->rel2abs($0); $exe =~ s/\.t$//; exec $exe $exe or die "$exe: $!";
And now, success is achieved:
$ prove a.out.t a.out....ok All tests successful. Files=1, Tests=1, 0 wallclock secs ( 0.01 cusr + 0.01 csys = 0.02 CPU)
mercredi 7 mars 2007
Installer Python, SQLObject et Cheetah sous Windows
Par Olivier Mengué le mercredi 7 mars 2007, 00:03 - Code
vendredi 23 février 2007
The-passenger.com : Nokia lance ses GPS
Par Olivier Mengué le vendredi 23 février 2007, 00:58 - Général
Nokia lance ses téléphones incluant une puce GPS. Pour l'occasion il ont créé un site, The-Passenger.com, où l'on peut jouer à l'espion dans Paris au volant d'une Mini et en suivant les instructions du système de navigation.
Le jeu est techniquement bien fait. On est vraiment dans un film et on a presque l'impression de piloter la voiture. On excusera le fait qu'on fait au moins quatre fois fois le tour du meme pâté de maison : c'est sûr c'est pas facile de bloquer tout un quartier de Paris. Heureusement que tous les réalisateurs ne font pas comme Claude Lelouch pour C'était un rendez-vous.
Mais c'est du coté du scénario, manifestement pas écrit par un parisien, que ça pêche. D'abord, toutes les rues filmées sont sur l'Île-Saint-Louis. Or dès qu'on sort de la voiture, on se retrouve à l'Arc de Triomphe ou à la Tour Eiffel. Ensuite, le jeu finit à l'héliport Notre-Dame (sic). Mais il n'y a pas d'héliport dans Paris, ni même d'hélicoptère : le survol de Paris est en effet totalement interdit.
Et pour finir, les acteurs ont des vrais accents français. Tellement vrais qu'on ne comprend rien lorsqu'ils parlent anglais !
jeudi 22 février 2007
Cheap podcast download using cmd.exe and wget
Par Olivier Mengué le jeudi 22 février 2007, 23:39 - Code
Why use huge and intrusive software such as iTunes when a small script is just enough?
I own a NDEO Equinox² OGG/MP3/FM player/recorder which appears in the PC as a simple 512 Mb flash drive. Besides listening to music and radio it is very convenient to move files to/from work and it recharge itself from the USB. It works on any operating system which support USB storage without a special driver and help to stay away from DRM.
I'm also using the storage feature for scripts directly useful for the main usage of this particular flash drive: retrieving podcasts. I have installed GNU wget on all my Windows PCs (this is an invaluable tool that is particularly useful to download big files (see --continue
and --limit-rate
options) and for mirroring of web sites) so with the following 10 lines cmd.exe script I can download the latest Radio France podcats of the broadcast I missed.
Here is the generic Windows script for any Radio France MP3:
@echo off setlocal :: Le numero de podcast est soit sur la ligne de commande :: soit dans le nom de ce script get-<numero>.cmd if not "%1"=="" (set n=%1) else ( for /F "delims=-_ tokens=2" %%i in ("%~n0") do set n=%%i ) set rss=rss_%n%.xml wget -O %rss% http://radiofrance-podcast.net/podcast/%rss% || goto :EOF for /F "tokens=2" %%f in ('findstr "enclosure" %rss%') do set URL=%%f set URL=%URL:~5,-1% echo %URL% wget -c %URL% && del %rss%
It fetches the RSS file, extracts the URL of the MP3 file and downloads it. The podcast number must be either given file as a command line argument or in the name of the file itself. For example to retrieve "France Info - Chronique Jeux Vidéo, just save the script as radiofrance-18963.cmd
. Run it today and it will download 18963-18.02.2007-ITEMA_20059064-0.mp3
.
Note: I you are behind an HTTP proxy, you have to set the http{,s}_proxy
environment variables. For example:
set http_proxy=http://myproxy:3128 set https_proxy=http://myproxy:3128
You can define them once for all in the Windows Control Panel.
vendredi 16 février 2007
Vim & Polyhedra : added polycfg.vim
Par Olivier Mengué le vendredi 16 février 2007, 00:04 - Code
I uploaded two Vim syntax scripts for Polyhedra :
- polycfg.vim : a new script for Polyhedra configuration files
- polycl.vim : a new release of this script
See my post about the previous release.
dimanche 11 février 2007
VirginMega.fr : un site raciste !
Par Olivier Mengué le dimanche 11 février 2007, 17:28 - Général
Virgin France fait de la ségregation technologique ! Impossible de s'y connecter avec un navigateur autre que Internet Explorer ou Mozilla Firefox. Et cela depuis des années.
En voici quelques preuves, grâce à l'archive du web :
- De novembre 2002 à avril 2004 : seul Internet Explorer (4.x ou plus) est accepté.
- Depuis mai 2004, le site fait la ségregation selon différents critères :
- le système d'exploitation : Windows 98 SE ou supérieur. Le site, qui sait tout sur tout, indique : « Les navigateurs adaptés au surf sur ce site ne sont pas encore disponible pour le système d'exploitation que vous utilisez. » Firefox existait déjà à l'époque et fonctionnait aussi bien sur Linux que sur Windows.
- le nom du navigateur : Opera est donc refusé, quelle que soit la version. Sur la version 9.0 pour Windows, j'obtiens : « La version du navigateur que vous utilisez ne vous permet de surfer sur ce site. » Et sur ma tablette Internet Nokia N800, c'est le système d'exploitation (Linux/Maemo) qui ne lui plaît pas.
- les cookies : « Pour surfer sur ce site votre navigateur doit être réglé pour accepter les cookies. » Même pour voir la page d'accueil.
Inutile de vous dire que je n'ai jamais vu le site.
Croyez-vous que je doive faire appel à la HALDE ?
En tout cas, du côté de Virgin, ils devraient se poser des questions. Se passer des DRM, c'est bien, mais abolir ces barrières bidon et simplement respecter les standards, c'est mieux. Si c'est un contrat avec Microsoft qui leur impose ces restrictions (VirginMega.fr est le site mis en avant dans le Windows Media Player pour l'affichage des informations sur les artistes et les albums, donc ils ont un contrat), sont-ils vraiment gagnants à refuser des clients potentiels ?
Compléments (19h25) :
- Tristan Nitot de Mozilla, avait déjà bloggé en mai 2004 à propos de VirginMega.fr. Est-ce grâce à lui que le site accepte Firefox depuis mai 2004 ?
- Robert Accettura écrit à propos d'un problème semblable sur le site de Wallmart. Point commun : il utilise aussi les DRM de Microsoft.
dimanche 28 janvier 2007
I'm a cmd.exe master
Par Olivier Mengué le dimanche 28 janvier 2007, 01:52 - Code
A few months ago, Paul Bissex posted this on his blog: Let’s play a game: BASIC vs. Ruby vs. Python vs. PHP. Just a small exercise at implementing a simple algorithmic problem in diverse programming languages.
I replied with an implementation in an old and widespread but still much unknown, language: the Microsoft Command Processor (cmd.exe
). Old because it inherits from the command.com present in 80's {PC,MS}-DOS. Widespread because it is available on every Windows machine in the world. Unknown because few use it.
samedi 27 janvier 2007
Vim & Polyhedra
Par Olivier Mengué le samedi 27 janvier 2007, 18:59 - Code
I uploaded this afternoon on vim.org a syntax highlighting script for Polyhedra CL.
Polyhedra is a memory based database engine. It can be used in for embedded development, but also in high performance application where more classiscal disk-based engines are too slow. CL is the programming language used for stored procedures.
dimanche 21 janvier 2007
Formations gratuites à l'informatique à la Cité des Sciences
Par Olivier Mengué le dimanche 21 janvier 2007, 23:58 - Général
La Cité des Sciences propose tout au long de l'année des formations gratuites à des logiciels libres au Carrefour Numérique :
- OpenOffice.org : suite bureautique
- Gimp : retouche de photos (tutoriels en français)
Voici quelques liens vers le programme de ces ateliers :
Why use REST, CRUD (and avoid SOAP) ?
Par Olivier Mengué le dimanche 21 janvier 2007, 23:18 - Code
Ruby on Rails 1.2 has been released. In the announcement, David writes about the new features he announced at the RailsConf in July. Don't miss the video of his talk (the slides are here).
The main points of the talk:
- what is REST and why it is good,
- how implementing REST is available in Rails,
- what is CRUD, how CRUD helps in designing your model (in a MVC application),
- using mimes types, and content negociation, a powerful feature of HTTP, in Rails for an unified set of set of URLs,
- how to access to REST web services using ActiveResource
I'm just glad that development tools improve to simplify REST-enabled and content negociation-enabled applications.
I'm already using theese HTTP features in my Météo Mobile application developed in PHP :
/meteo/bna/06
uses content negociation (examinates Accept header) to serve the most appropriate content type/meteo/bna/06.html
serves XHTML astext/html
/meteo/bna/06.xhtml
serves XHTML asapplication/xhtml+xml
/meteo/bna/06.wml
serves WML astext/vnd.wap.wml
for mobile devices
For those that would like to implement content negociation in PHP, the main tip is to capture 406 errors to be able to serve content to (mobile) browsers that do not accept */*
in Accept:
.
jeudi 18 janvier 2007
Tutoriel GPS, photos, Google Maps
Par Olivier Mengué le jeudi 18 janvier 2007, 23:14 - Général
Je vous invite à consulter ce tutoriel en anglais qui explique pas à pas comment mettre sur le web un compte-rendu de randonnées : la carte avec Google Earth et Google Maps, les photos avec Picasa, et la géolocalisation des photos avec WWMX Location Stamper.
jeudi 11 janvier 2007
Compte-rendu du FOSDEM 2006
Par Olivier Mengué le jeudi 11 janvier 2007, 07:52 - Code
Pour vous inciter à aller au FOSDEM 2007, voici un compte-rendu détaillé du FOSDEM 2006 que j'avais écrit en mars dernier.
samedi 6 janvier 2007
Départ du Dakar
Par Olivier Mengué le samedi 6 janvier 2007, 19:59 - Général
C'est le départ du rallye Dakar. Voici quelques sites pour rêver :
- France Télévisions : les reportages en vidéo.
- Renault Trucks : un site évènementiel de partenaire du rallye.
Nouveautés sur Météo Mobile
Par Olivier Mengué le samedi 6 janvier 2007, 09:37 - Général
J'ai fait quelques modifications sur mon site Météo Mobile (la météo spécialisée, à consulter sur votre téléphone) :
- l'ajout des "bulletins de synthèse hebdomadaire et Analyse du manteau neigeux".
- un peu de réorganisation sur la page d'index pour afficher les liens vers ces nouvelles informations. Les bulletins neige sont maintenant groupés par massif montagneux.
vendredi 22 décembre 2006
Encodage BER et Perl
Par Olivier Mengué le vendredi 22 décembre 2006, 01:43 - Code
Une réponse à une question sur la liste de diffusion des Mongueurs de Perl m'a amené à explorer l'encodage 'w
' (BER : Binary Encoded Representation) de la fonction pack()
de Perl 5 (voir perlpacktut dans la doc).
La chaîne de caractères obtenue est de longueur variable car découpée par paquets de 7 bits. Voici quelques lignes de Perl pour trouver les bornes des changements de longueur :
my @a = map { ((2**(7*$_))-1, 2**(7*$_)) } 0 .. 5; print map { "$_: ".unpack('H*', pack('w', $_))."\n" } @a;
On obtient ceci (à gauche, le nombre en décimal et à droite encodé en BER puis en hexa) :
0: 00 1: 01 127: 7f 128: 8100 16383: ff7f 16384: 818000 2097151: ffff7f 2097152: 81808000 268435455: ffffff7f 268435456: 8180808000 34359738367: ffffffff7f 34359738368: 818080808000
mardi 19 décembre 2006
Météo mobile : lancement officiel
Par Olivier Mengué le mardi 19 décembre 2006, 23:05 - Général
Mon site "méteo mobile" existe déjà depuis presque un an. Longtemps réservé à une élite (2 personnes : mon frère et moi) en raison de problèmes techniques (pas facile le développement web pour mobiles !), il était néanmoins depuis plusieurs mois indiqué sur ma page d'acceuil.
Maintenant que les problèmes techniques sont résolus (je vous en parlerais un de ces jours) et que la saison de ski commence, il est temps de faire un peu de pub. Il s'agit de la présentation d'informations météo spécialisées de Météo France pour consultation sur téléphone mobile. Le but : avoir ces infos toutes fraîches, dans la main, lorsqu'on pratique des sports de plein air. Ces bulletins ne sont malheureusement pas disponibles sur les divers "portails de contenu" des opérateurs, donc c'était un beau projet technique utile.
Vous avez donc accès sur votre téléphone mobile :
- aux bulletins neige et avalanches par département
- aux bulletins côtiers par région
Ces bulletins sont directement téléchargés du site Météo France et simplement reformatés pour l'affichage sur téléphone mobile. Les fautes d'orthographe viennent directement de Météo France.
Bien sûr, il n'y a aucune garantie de service : il ne s'agit que d'un site personnel, soumis au bon vouloir de Météo France et de mon hébergeur. Donc, ne comptez pas dessus si vous partez en montagne. Renseignez-vous plutôt directement auprès de Météo France et des gardiens de refuges.
Voici donc l'adresse à saisir sur votre mobile : http://o.mengue.free.fr/meteo/
J'ai testé le site avec le navigateur interne d'un Nokia 3100 (mon cadeau de Noël de l'année dernière), d'un Nokia 5140 et du navigateur mobile Opera Mini (utilisable sur ces deux mobiles et sur de nombreaux autres). Je suis curieux de lire vos réactions et suggestions d'améliorations.
samedi 25 novembre 2006
Django aux Journées Perl 2006
Par Olivier Mengué le samedi 25 novembre 2006, 09:20 - Code
Hé oui, Django c'est du Python, et pourtant on j'en parlerais aux Journées Perl 2006 ce week-end à la Cité des Sciences et de l'Industrie.
J'ai deux présentations au programme :
- 14h00 Introduction aux ORM : un introduction générale sur les ORM et une présentation du modèle de données utilisé en commun dans plusieurs des présentations : un mini modèle représentant une association de randonneurs.
- 14h10 Les modèles de Django : une petite introduction générale sur Django puis l'accent sera mis sur la définition des modèles Django, l'API de requêtes et comment les spécificités de Python sont utilisées. L'objectif est de montrer un modèle de conception d'ORM et comment le sucre syntaxique du langage peut être mis à profit.
Je vous invite à aller voir les autres présentations sur les ORMs qui ont lieu le samedi après-midi.
mardi 21 novembre 2006
De Moret à Montigny
Par Olivier Mengué le mardi 21 novembre 2006, 00:42 - Rando
Dimanche, une rando dans le sud de la forêt de Fontainebleau. 28.6 km mesurés par le GPS. Les couleurs d'automne étaient à leur apogée : du vert au roux en passant par divers tons de jaune. Un peu de pluie le matin, mais le soleil était là l'après-midi pour éclairer les feuillages avec une belle lumière rasante.
Patientez quelques jours pour un compte-rendu plus complet avec plus de photos et la trace GPS.
lundi 20 novembre 2006
Dotclear et le spam
Par Olivier Mengué le lundi 20 novembre 2006, 21:23 - Code
À peine quelques semaines d'existence de ce blog, et déjà du spam. C'est la fonction trackback de Dotclear qui est ciblée.
Voici quelques requêtes que j'utilise pour les éliminer :
SELECT * FROM dc_comment WHERE comment_trackback = 1 AND (comment_site LIKE '%sitesfree%' OR comment_auteur LIKE '%viagra%' OR comment_auteur LIKE '%pills%' OR comment_site LIKE '%hydrocone%') DELETE FROM dc_comment WHERE comment_trackback = 1 AND (comment_site LIKE '%sitesfree%' OR comment_auteur LIKE '%viagra%' OR comment_auteur LIKE '%pills%' OR comment_site LIKE '%hydrocone%')
« billets précédents - page 3 de 4 - billets suivants »