Tes lacets sont des fées


h1 5/29/2006 05:13:00 PM

Café à la main et FIP dans les oreilles, je vais enfin écrire un paquet de trucs accumulés.

D'abord je suis rentré de Minneapolis. J'ai écrit un post sur mon Palm mais je ne sais toujours pas comment le rapatrier sur l'ordi, pas envie de bidouiller. Je vous passe donc le récit d'un voyage plutôt banal, et mon second émerveillement au dessus du Groenland.

Sur le retour j'ai lu Farenheit 451 de Ray Bradbury, et je le recommande chaudement. Roman d'anticipation bien sûr visionnaire, décrivant un monde où les gens ne prennent plus le temps de se parler, de penser, de rêver, mais s'abrutissent à coups d'images, de sons, de vitesse. Le protagoniste est un pompier, chargé de bruler les livres, fauteurs de troubles, de questionnement et de tristesse. Le bouquin ne sombre pas dans une critique trop longue et rabat-joie de cette caricature de notre monde pressé. Il nous appelle au rêve et à l'émerveillement, à une réflexion sur l'homme, tout cela dans ce roman court et bien écrit. Enfin, Bradbury finit sur un note positive, un espoir en l'homme dont on a parfois bien besoin.

Ces deux dernières semaines nous avons amélioré liquidsoap. L'observation des plantages d'une Geek Radio plus stressée nous a permis de corriger plusieurs bugs. On s'approche encore de la stabilité. Le programmation de Geek Radio a aussi gagné en variété, avec des programmes thématiques agréables et bien fournis. Comme je commence à écouter quelques podcasts je me suis dit qu'on pourrait utiliser ces sources de nouveautés sur Geek Radio, passer tous les jours à 22h les dernières nouveautés de tel netlabel ou de tel DJ. Il suffirait d'un petit script à interfacer avec liquidsoap à coups de protocole et callback de diffusion. A l'occasion je ferai ça vite fait en Ruby, les outils sont tout prêts pour un petit frère de bubble.

Pour finir sur liquidsoap, il est encore tôt pour promettre un release proche, d'autant que je ne manque pas de boulot ces jours-ci. Mais on s'approche d'un produit utilisable de qualité. J'ai eu vent via linuxfr du BarCamp Paris du 10 juin. Le concept de non-conférence sans spectateurs (que des acteurs) me plait bien, et je suis tenté de présenter le projet Savonet là bas. Mais ça risque d'être un peu short à préparer.

Enfin je voulais de nouveau pointer le blog des langages de programmation, Lambda The Ultimate. C'est une bonne source de news, regroupant points de vue "académiques" et "pragmatiques". Ces jours-ci on voit un regain d'activité longtemps attendu, avec l'arrivée de nouveaux éditeurs. Aujourd'hui j'ai lu un slideshow (HTML+Javascript) présentant Javascript 2. Ça fait plaisir: tout en restant bien sûr un langage pragmatique, il évolue vers plus de structure, empruntant à Python mais aussi à la programmation fonctionnelle statiquement typée. Cela semble plus que raisonnable pour favoriser l'utilisation de Javascript sur de gros projets.

Un serveur très select..


h1 5/21/2006 10:41:00 PM

Le retour du post geekesque !

Il y a quelques années il me semble avoir lu dans Linux Magazine un article expliquant comment programmer en C un serveur léger et rapide sans threads. Jusque récemment, liquidsoap (qui offre quelques interactions via une interface telnet) utilisait un serveur à base de threads: un thread écoute sur le serveur et accepte les clients, lance un nouveau thread par client pour traiter ses requêtes. C'est mauvais: au bout de 30 clients on a 30 threads, ce qui plombe l'application; et en plus les clients ne sont pas vite servis, la création de leur thread étant coûteuse. J'ai enfin changé ça, en utilisant l'appel système select pour attendre un ensemble d'évenements sur des sockets. C'est ultra simple et ça marche impeccable.

L'article de Linux Mag aurait pu être écrit en Caml au lieu de C: au lieu de fournir un exemple de serveur, on peut en programmation fonctionnelle implémenter un serveur générique se chargeant d'ordonnancer des pseudo-threads représentés par des fonctions. Je vous le livre ici. Accessoirement, j'ai cherché à trouver ce genre de code tout prêt sur le net avant de l'écrire. Peut être que j'épargnerai du boulot à quelqun.

type task =
| Read of (Unix.file_descr * (unit -> unit))
| Write of (Unix.file_descr * (unit -> unit))
| Special of (Unix.file_descr * (unit -> unit))

let scheduler init =
let read = ref [] in
let write = ref [] in
let special = ref [] in
let add set a = set := a :: !set in
let add = function
| Read (s,f) -> add read (s,f)
| Write (s,f) -> add write (s,f)
| Special (s,f) -> add special (s,f)
in
let process set sockets =
(* Events are triggered on a list of sockets.
* Execute the corresponding handlers, and remove them from the set. *)
let f = List.map (fun s -> List.assoc s !set) sockets in
set := List.filter (fun (s,_) -> not (List.mem s sockets)) !set ;
List.iter (fun f -> f ()) f
in
init add ;
while true do
let r,w,x =
Unix.select
(List.map fst !read) (List.map fst !write) (List.map fst !special)
(-1.)
in
process read r ;
process write w ;
process special x
done


Pour les curieux le code complet est sur le SVN de Savonet, avec enregistrement et traitement des clients..

Mall of America


h1 5/21/2006 03:57:00 AM

Je cherche des petits cadeaux pour Lucie et Cyrille. Mon maître de thèse m'a signalé qu'une des attractions du coin est Mall of America, le plus grand centre commercial des Etats-Unis. Je me dis que c'est l'occasion de bouger un peu. En plus, pour y aller je visite aussi le tramway, c'est folklo. Sur le retour j'ai même eu droit à un trajet en bus, encore plus folklo avec un conducteur un peu foldingue qui me donnait pas trop confiance sur la destination, et comme compagnons ceux qui n'ont pas assez de pognon pour se payer une caisse.

Mall of America, c'est grand. Trois ou quatre étages de galeries, et au centre un parc d'attraction. Mais putain qu'est-ce que c'est nul. Des magasins de merde, des magasins de pouf... pas l'ombre d'un souvenir ou d'un truc potable à acheter, pas l'ombre d'une librairie décente, une honte vu les proportions de l'endroit. Au bout de deux heures je me casse, me jurant de ne plus écouter mon maître de thèse pour les questions touristiques.

Descendant du tram je décide de trainer en ville, ce qui ne me remonte pas vraiment le moral: le business center est mort comme tout un samedi soir. Au bout de quelques blocs, j'arrive quand même à viser un coin animé et là miracle, je trouve une grande librairie. Des livres, des comics, des DVD, miam. Elle est encore ouverte. Peu après que je rentre une annonce prie les client jeunes de sortir, et demande à ceux qui restent d'être en mesure de justifier leurs 21 ans. Je me dis qu'ils vont ptêtre ramener de la bière et des filles.. Finalement non, et pour me consoler je me suis acheté Jackie Brown. L'ambiance loose de mon séjour, l'hôtel un peu glauque, le centre commercial, les gens mornes, tout ça me fait trop penser à ce film. Et à The Big Lebowski aussi, mais cui-là je l'ai vu ya pas longtemps.

Descendant du bus fou qui me ramène dans mon quartier, je décide aussi d'enfin visiter le liquor shop. Je choisis un simple pack de Corona parmi tout l'alcool qu'on y trouve. A la caisse je saute au plafond devant le prix, doit y avoir au moins 70% de taxes. Et pour faire couleur locale, on me demande ma carte d'identité et m'emballe le pack de bières dans un sac en carton marron. Dernière péripétie: ouvrir les bières sans outil approprié. Je sais que certains font ça avec leurs clés. J'y arrive aussi, mais je me suis salement coupé le doigt au passage...

Quelle aventure, ce voyage.

Trio


h1 5/19/2006 04:58:00 PM

Le créneau chanson française est en place sur Geek Radio. Du coup j'entends "Je me tire" de Tryo. J'ai toujours eu un problème avec cette chanson:
Tire-lui une balle,
ce mec-là t'a fait du mal,
ta vengeance est normale,
l'Etat ne peut pas l'accomplir..

Moi


h1 5/18/2006 04:32:00 AM

Cher lecteur, tu te demandes comment je vais, ce que je mange et si mes selles sont bien formées ? Encore une fois, tu seras servi...

L'applet météo de Minneapolis bat celle de Paris depuis deux jours. Il fait grand soleil ici, c'est très agréable. Je suis de fort bonne humeur, etc. J'ai mangé un bo-bun pas mauvais, des sushis pas super bons, un plat de pâtes délicieux à midi et une pizza chère (pour ici) mais fort bonne aussi ce soir. Je ne vous ferai pas de critique culinaire du genre de sandwich grec au rosbiff qu'ils vendent pas loin d'ici, et je suis sûr que vous me comprendrez même sans avoir vu la photo choquante du truc.

Récemment, j'ai acheté un pot de glace Ben&Jerry's au café. En vrai, le café n'est que le goût de la crème, mais ce serait trop léger de s'arrêter à la crème glacée, trop simple. La glace cache en fait de bons gros morceaux de caramel.. pouah. Mon frigo débloque et a de toute façon laissé fondre le pot de glace dans le compartiment congélo; dans le même temps il glace mes bouteilles d'infâme root beer dans le compartiment normal. Au fait, à ma troisième bouteille de cette boisson (faut bien les finir) j'identifie enfin le goût: Hextril, le bain de bouche...

Dans ma chambre j'ai la télé, pub à gogo en général, et pour le film Da Vinci Code en particulier. J'ai aussi vu un reportage pourri sur l'Opus Dei, et des croyants qui s'insurgent de ce que le livre raconte, mélangeant réalité et fiction en faisant croire aux gens que l'Eglise se fout d'eux... en guise de réponse j'aime bien un truc que j'ai dû lire sur le net: il devrait y avoir un avertissement au début de la Bible comme quoi c'est une fiction. Plus sérieux, j'ai vu Bush raconter qu'il va fliquer plus aux frontières, et j'ai appris qu'un Etat interdit maintenant aux couples non mariés la garde de plus d'un enfant.

J'allais oublier la nouvelle du jour: Gopalan m'a emmené dans un magasin de bouffe assez grand. J'y ai trouvé du beurre de cacahète, des cookies.. et surtout des fruits qu'ont l'air bons ! Mais ce soir je crois que je vais opter pour le microwave pop-corn, plus couleur locale. Parlant de beurre de cacahuète j'ai entendu dans une série télé de fou (mix de Starsky et Hutch et de Laurel et Hardy) un dicton qui me plait beaucoup: life is like peanut butter, some like it chunky, some don't...

Pendant ce temps là, ça bosphore.. C'est super productif de discuter les choses à fond. Quand on creuse des trucs qui paraissent évidents on s'aperçoit qu'il y a des détails délicats à prouver... des détails peut-être un peu chiants, mais à prouver quand même. A force de discussions je me retrouve donc avec une preuve à écrire, une optimisation à programmer, une autre optimisation délicate à concevoir... Ce voyage me fait décidemment bien bosser. Mais afin de me remettre en question comme il se doit, je m'astreins avec regret à bidouiller la radio le soir dans ma chambre ;p

Le temps passe plutôt vite. Déja cinq jours sur dix. Prévoyant mon retour, je me laisse pousser la barbe. Ce week-end je vais faire des UV, m'acheter un turban et apprendre l'arabe, histoire d'avoir des péripéties douanières à raconter sur mon retour, qui sera sinon probablement bien monotone par rapport à l'aller.

Spicy Thai & Dark Apple


h1 5/17/2006 08:32:00 PM

Hier j'ai bouffé dans un petit restau thai. C'était très bon mais très épicé. A part ça j'ai découvert un quartier super sympa. Beaucoup de verdure, des écureuils qui courent et même un petit lapin... des maisons d'étudiant, nommées genre δνε, faudra que je pige un jour. Notes folkloriques du jour: à l'entrée de l'opéra on lit "no guns"... en couverture du botin une pub pour un cabinet d'avocats "call 1-888-NOT GUILTY"...

Dans un registre complètement différent, je suis assez sidéré de la rapidité avec laquelle Apple sombre du côté obscur aux yeux de la foule, son image de marque devenant de plus en plus floue.. En partie la rançon du succès, mais aussi pour de vraies raisons, notamment leur pratiques de vente liée avec les Mac, l'iPod et l'iTunes Music Store, ainsi que leur pression sur les politiques français pour l'impunité des DRMs. Je lis récemment un post super alarmant: ils ferment le source du noyau sous OSX. Le genre de truc qui te fait aimer la GPL, pour sa contamination aux forks. En plus ils envisageraient d'utiliser Trusted Computing, le nouveau nom de Palladium si j'ai bien suivi... Ca pue sévère.

Newline-sensitive parser


h1 5/16/2006 09:08:00 PM

Pour préserver le côté geek de ce blog il faut que je vous parle d'une petite trouvaille qui me plait bien. Les langages comme Python ou Ruby ont réussi à abolir le point virgule. Pour cela leur syntaxe se doit de tenir compte des retours à la ligne, au moins: il faut différencier les deux bouts de code suivants.

# Exemple 1
objet.methode
(1,2)
# Exemple 2
objet.methode(1,2)


Le parser de Python est compliqué par la prise en compte de l'indentation comme délimiteur de blocs. Celui de Ruby devrait être plus simple, mais je peux pas vous dire j'y pige rien. Toujours est-il que jusqu'à hier j'avais pas de solution acceptable pour Liquidsoap, car je voulais coller à l'architecture classique à base de lex/yacc -- simple et donc compréhensible, pour le codeur comme l'utilisateur. Voici la recette pour alléger votre langage sans introduire d'ingrédient dangereux pour la santé.

Au niveau du lexer, on distingue le token VAR (symbole de variable) de VARPAR qui fusionne une variable avec une parenthèse ouvrante séparée par des espaces. Ce sera le seul endroit où un retour à la ligne est distingué d'un autre espacement. Grâce à ce nouveau token on distingue proprement les deux exemples cités plus haut. Mon premier exemple de code apparait au parser comme VAR PAROPEN EXPR COMMA EXPR PARCLOSE, le second comme VARPAR EXPR COMMA EXPR PARCLOSE.

Root Beer & Indian Music


h1 5/16/2006 08:28:00 PM

Je commence pas très bien ma journée d'hier. Petit dejeuner pas super, salle petite et crasseuse, café lavasse et beignets trop lourds. Au lunch, pâtes trop lourdes, trop de fromage, trop de crème. Autour de 17h je décide de me faire un apéro en solo, chips et bière, pour me réconforter avant d'aller voir un concert de musique indienne.

Je connais qu'un magasin de bouffe par ici. Facile de trouver des chips, les paquets sont géants par contre, ainsi que la dip sauce. J'en profite pour embarquer du pop-corn micro-onde, c'est pas mauvais et rien que le regarder gonfler est un plaisir. Et deux pommes, qui s'avèrent par la suite être assez mauvaises. Par contre je trouve pas grand chose niveau bière, juste un pack d'un machin appelé root beer, avec un packaging à l'ancienne. J'ai vite réalisé mon erreur. La root beer n'est PAS de la bière, n'en achetez JAMAIS. Ca ressemble plus à du sirop pour la toux pétillant, ou du dentrifice liquide qui fait roter. Pouah.

Gopalan m'explique dans la voiture, en route pour le concert, que la vente d'alcool suppose l'obtention d'une license, et que la loi du Minnesota interdit de plus la présence de deux points de vente d'alcool à moins de quelques centaines de mètres l'un de l'autre. Faudra que je fasse un tour au liquor shop du coin.

Le concert était super par contre. Ca commence assez traditionnel, mais ça dérape assez vite sur du très inattendu. La musique nord indienne est traditionnellement portée sur l'impro, les mecs en profitent à mort. Le show est axé sur les percussions, qui sont exploitées de façon impressionante, c'en est presque mélodique. Je peux pas en dire beaucoup plus, vous aviez qu'à écouter. Le genre de spectacle capable de bouleverser un point de vue sur les percus... mais moi j'avais déja vu un solo de batterie au parc floral qui reste quand même complètement mythique dans ma tête. A part ça c'était rigolo, la salle était forcément pas mal remplie d'indiens, dont pas mal étaient habillé plus ou moins traditionellement. Je n'ai qu'un aperçu biaisé, mais il me semble que les US c'est quand même pas mal niveau intégration. Bon ils sont en train d'augmenter encore le fliquage à leurs frontières, les causasiens flippent de la montée des hispaniques, parait-il.. mais le jour où on diagnostiquera ça en France, ce sera déja un progrès.

Après j'ai mangé une pizza même pas mauvaise. Ce matin il faisait super beau. Je me suis aperçu que je pouvais prendre mon petit dej sur une terrasse. C'est au dessus du parking, mais c'est le paradis à côté de la salle. Le jet lag s'atténue, je commence à me lever tôt, j'ai plus besoin de me gaver de donuts pourris le matin et je me fais au café dilué. La journée commence bien. Au lunch je me rattrape avec un vrai espresso, qui en plus est pas du tout cher par rapport à Paris, $1.4 soit moins de $2 après les taxes et le pourboire. Bref, je commence à me plaire ici. Mais vivement la cuisine française quand même.

The Next 700 Programming Languages


h1 5/15/2006 05:59:00 AM

J'ai lu récemment The Next 700 Programming Languages, un article de Landin, datant de 1966. Parce que le titre me plaisait bien, et qu'on m'a dit que c'était une référence dans le domain de la conception des langages de programmation. Vu de 2006 ça parait un peu simpliste, mais l'auteur ébauche en réalité des idées très nouvelles et très importantes. Ca me fait réaliser que l'informatique (j'ose pas dire la science, mais je le pense à moitié) avance plutôt par des déplacements lents de perspective que par des découvertes brutales et techniques. Dans cet article, Landin inspire de nombreux langages de programmation modernes, dont Haskell et la famille ML. Il développe un langage abstrait (ISWIM pour If you See What I Mean) réellement de haut niveau, dont le sens est clairement défini. Pour preuve de cela il exhibe des équations exprimant des propriétés simples des programmes, essentiellement des règles de substitution. Je n'en connais pas assez pour l'affirmer vraiment, mais il a tout l'air de lancer l'idée de la sémantique des langages de programmation. Lisez le vous même, voici quelques morceaux choisis.

Landin a l'idée d'isoler l'impératif du fonctionnel, ce qui donnera plus tard les monades de Haskell: The author thinks that the fruitful development to encompass all ISWIM will depend on establishing "safe" areas of an ISWIM expression, in which imperative features can be disregarded.

Il propose d'ailleurs une dénomination que je préfère à "fonctionnel": The word "denotative" seems more appropriate than nonprocedural, declarative or functional. The antithesis of denotative is "imperative".

Moins frappant, mais à mon sens une bonne description des qualités de ML: The special claim of ISWIM is that it grafts procedural notions onto a purely functional base without disturbing many of the desirable properties.

Je trouve qu'il y a beaucoup d'idées là dedans, et en général un bel effort de conception rigoureuse des langages de programmation. Le genre de chose qu'on voudrait voir plus souvent. Perl c'est rigolo, mais je trouve ça de plus en plus tristement antique. Les Perleux diront bien sûr que Perl cherche à être un langage naturel, favorisant la créativité, que c'est de l'art, bla bla. Je dis que la programmation n'est pas un art, mais un artisanat, ce qui n'exclut pas le plaisir du travail bien fait, mais met en avant la finalité. C'est pas de la peinture, c'est plus proche de l'horlogerie.

Les langages pop plus récents (Ruby,Python,Javascript,..) semblent cependant évoluer dans la bonne direction. Ils deviennent plus fonctionnels, et ont une notion de portée lexicale plus claire. Côté Ruby et Python on remarque que la (re-)définition remplace souvent implicitement l'assignation, à l'opposé des variables globales bordéliques de la génération Perl. Cela dit, je suis pas complètement heureux avec ça non plus, je trouve qu'on se fait vite piéger par les définition-par-défaut et on n'arrive plus à faire des assignations là où on le veut.

Voila.. j'avais deux trois trucs à cracher sur la prog :p

En voyage


h1 5/15/2006 04:41:00 AM

Finalement j'abandonne l'idée de trouver un adaptateur SDCard-USB ou une carte wifi pour mon Palm, et je recopie simplement la tartine écrite dans l'avion..

L'aventure commence plus tôt que prévu, dès l'enregistrement à l'aéroport Charles de Gaulle. Je signale que je n'ai pas de visa, étant un simple visiteur de courte durée. L'hôtesse sait que cela suppose aussi que mon passeport ait été émis dans le bon intervalle de temps, mais ne se souvient pas des conditions. De mon côté pas de panique, j'ai vérifié sur le site de l'ambassade et auprès de l'agence de voyage de l'INRIA: il n'est ni trop vieux pour ne pas être optique, ni trop récent pour devoir être biométrique -- ce qui est encore impossible en France de toute façon. L'hôtesse demande à sa chef, qui appelle quelque, qui sait pas. On appelle ensuite la police. Verdict de la PAF: il me faut un visa, je ne peux donc pas embarquer. Je l'ai quand même un peu mauvaise et j'insiste pour qu'ils vérifient, je suis sûr de mon coup, je peux pas sortir un visa de mon chapeau, l'INRIA va l'avoir mauvaise, etc. Coup de bol la police répond plus et un pilote de passage souffle à mon interlocutrice d'aller demander au guichet d'United Airlines. Après poireautage, on m'annonce enfin que je suis en règle. Sans blague. Je procède à l'enregistrement bon dernier. Comment les hôtesses ET les flics peuvent ne pas savoir ce genre de truc, je sais pas..

Je finis les formalités pas particulièrement joyeux, j'ai pas droit à beaucoup d'excuses ou de sourires. Le plus sympa dans l'affaire ça reste le mec qui m'a fouillé, me signifiant d'une mimique que j'avais beau faire sonner la porte, il ferait pas de zèle.

Dans l'avion je commence la lecture de "Da Vinci Code". Je ne trouve pas ça foudroyant niveau suspens, mais ça reste assez efficace. L'intrigue générale est sympa. Dans les détails, c'est agaçant, l'auteur nous propose son interprétation de mythomane du sens de.. tout. C'est douteux au possible, et souvent déja vu. En plus, c'est pas super bien écrit, remplit à coups de platitudes ridicules. J'en dirais pas plus, ça m'a occupé un long trajet d'avion pendant lequel j'aurais pas pu faire grand chose de plus intelligent, et ça ne vaut pas mieux que ça. Le traducteur écrit "bitte" avec deux "t" et ne se trompe peut-être pas, finalement. Faut que je vérifie, ça me bouleverse. Par contre je relève un "acquiT de conscience" bien moche et une traduction un peu trop litérale de climbing: "Avez vous déja escaladé la tour Eiffel ?"

J'ai ensuite changé d'avion après une escale courte à Reykjavik. Malheureusement c'est encore un petit Boeing, assez bruyant donc. Mais le détour par l'Islande vaut le coup. Déja ça coupe le voyage en deux parties de longueur raisonnable. Surtout la vue est impressionante. Le morceau d'Islande que j'ai vu est super aride. Une terre sombre et sèche, de grandes fissures.. sans exagérer, on dirait une bouse de vache géante, séchée et bien plate. Une route et quelques groupes de batiments sur la côte. On doit pas rigoler tous les jours ici, et on doit s'inquiéter de la montée du niveau des océans.

Bon, ça n'est qu'un petit morceau de l'Islance. D'ailleurs en repartant je vois au loin une chaîne de montagnes plutôt imposante. Et surtout, peu après, la banquise ! Plutôt un troupeau avancé d'icebergs pour être honnête. Mais tout de même énormes, à en juger par notre altitude. On croirait presque des nuages, mais c'est bien de la glace.. Iki ikii kik !!! Par la suite j'ai droit à une étonnante variété de mélanges de glace, terre sombre et océan. On survole le Groenland, en fait.

Arrivé à Minneapolis j'ai eu droit à la mythique procédure d'admission aux US. Questionnaire: suis-je un terroriste ? anarchiste ? ai-je collaboré avec les nazis ? Non Monsieur, rien de tout ça. Très bien. Pourquoi je viens aux US ? Je suis thésard en informatique, en visite à l'Université du Minnesota, aux frais de l'INRIA. Bizarrement, ils trouvent ça plus douteux. Il trouvent bizarre que je vende pas de logiciel et ne sollicite aucun financement de la part des US. Ils me le demandent trois fois, et font aussi mine de vérifier que j'étudie bien l'informatique, mais sont vite perdus dans mes explications sur la logique, la vérification de spécifications formelles.. Finalement, je leur propose de demander confirmation au thésard américain qui m'attend à la sortie, ce qui me sauve. Après une attente pas si courte (pendant laquelle les douaniers se demandent s'ils peuvent pas trouver un "crazy test" à me faire passer pour vérifier que suis bien un thésard) on me file mon visa de simple visiteur, après avoir relevé mes empreintes digitales et pris ma photo.

La suite est beaucoup plus monotone. Des voitures partout, hôtel moyen, énorme petit dej à coups de donuts, café dilué à mort, les rues ressemblent à ce qu'on imagine des rues américaines, la nuit les flics et les pompiers jouent avec leur sirène, ya pas beaucoup de restos ou de magasins de bouffe potable dans le coin, on me conseille d'y filer au moins 15% en pourboire aux pauvres serveurs esclavagisés, il y a une bible sur la table de ma chambre d'hôtel... Voila. Peu de compagnie le soir, pour l'instant en tout cas, mais il y a le wifi dans ma chambre :p

Dans la suite de mes aventures, j'essaierai de visiter le plus grand supermarché des Etats Unis, de trouver les transports en commun dans cette grande ville, et surtout d'acheter des fruits.

Loin


h1 5/14/2006 04:21:00 AM

Je suis à Minneapolis. J'ai eu un peu de mal mais ça y est. Par contre j'ai oublié trois trucs. Mon appareil photo, donc pas d'images; mon cable Palm-PC, donc pas moyen d'envoyer le post rédigé dans l'avion; un adaptateur pour prises US, donc pas moyen de m'attarder faute de batterie... une grande aventure à suivre.