SOCIÉTÉ

Blogues

  • user warning: Unknown column 'u.signature_format' in 'field list' query: SELECT c.cid as cid, c.pid, c.nid, c.subject, c.comment, c.format, c.timestamp, c.name, c.mail, c.homepage, u.uid, u.name AS registered_name, u.signature, u.signature_format, u.picture, u.data, c.thread, c.status FROM comments c INNER JOIN users u ON c.uid = u.uid WHERE c.nid = 23463 AND c.status = 0 ORDER BY c.cid LIMIT 0, 50 in /var/www/www.4d.com/docs/modules/comment/comment.module on line 991.
  • warning: file_get_contents(http://www.telize.com/geoip/54.225.16.10) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/www.4d.com/docs/includes/common.inc(1762) : eval()'d code on line 4.

Yee-Ha!

30.09.2011
par Thibaud Arguillère

 

 

Nouveau voyage transatlantique, en route pour les US, San Jose, Californie, pour bosser avec l’équipe US et préparer le 4D Summit 2011 et Wakanday ! Cela se passe du 12 au 15 octobre à Boston, et là, on va terminer ce qu’il y a à terminer : peaufiner les démos des keynotes, les slides des keynotes, les annonces des keynotes. Bref, on termine le travail sur les keynotes(1).


 

 

 

Cette année, on y va à deux : Jérôme et moi. Jérôme, c’est mon collègue chef de projet de la version 13. Autant dire un type important. Un développeur 4D depuis les origines, qui a rejoint la société il y a quelques années.


Thibaud & Jérôme

 

Avec Jérôme, contents d’aller au travail le matin en avion


Là, maintenant, tout de suite, je suis dans l’avion. On arrive dans 40 minutes à San Francisco.
Ou dans 1 minute à Tonopath si l’avion venait à s’écraser.

 

San Francisco or Tonopath?
San Francisco ou Tonopath ?

 

...

 

 

Bon.

 

OK. A priori, l’avion ne s’est pas écrasé, j’peux continuer.

 

Notre voyage se passe bien. Comme toujours, je suis arrivé avec trois heures d’avance. Une fois les formalités remplies (je n’ai pas de chance. Le GIGN s’est encore trompé, manifestement(2)), je me suis retrouvé absolument tout seul devant la porte d’embarquement 73. Vraiment tout seul. Un moment, j’ai cru que je m’étais trompé de jour.

Mais non : me voilà installé, rédigeant ce blog.

 

Pas très bien installé d’ailleurs. Vous connaissez peut-être la classe « Voyageur ». En pratique, c’est celle où une fois installé dans son siège, il faut s’appeler Houdini pour en sortir. J’ai eu une terrible déception à ce sujet. Pendant tout le temps d’installation des passagers, je n’avais personne à côté de moi. Trop content.

All alone

Seul

 

Puis arrive du bout de l’appareil une dame qui remonte le couloir.
Je la vois encore, comme dans un film se déroulant au ralenti, regarder les numéros de siège. S’arrêter près de moi. Me faire un sourire. Et prendre la place.


Not alone.

Pas seul

 

 

Au cours du voyage, j’ai surtout travaillé sur ma session, « Optimization » (avec un « z » - comme dans « jambon » au pluriel(3) - parce que le nom est en anglais).

 

Tenez, je vous en livre une petite partie. Sous forme de question. Voici un code classique de comparaison de chaine de caractères, quand on veut que la comparaison soit stricte (diacritique et sensible à la casse) :

 

 

C_TEXTE($1;$2)
C_BOOLEEN($0)

C_ENTIER LONG($i;$L_max)

$L_max:=Longueur($1)
Si ($L_max=Longueur($2))
   $0:=Vrai
   Boucle ($i;1;$L_max)
       Si (Code de caractere($1[[$i]])#Code de caractere($2[[$i]]))
         $0:=Faux
         $i:=$L_max
      Fin de si
   Fin de boucle
Fin de si

 

Voilà le résultat obtenu en optimisant ce code. Les benchmarks sont réalisés sur une chaîne de 0 à 5 000 caractères, par intervalle de 100 :

 

Benchmark, interpreted

 

Incroyable optimisation en mode interprété

 

Benchmark. Compiled.

Toute aussi incroyable optimisation en mode compilé

 

La question est : mais comment donc suis-je arrivé à ce résultat ? Hein ? Comment ? Et sans plugin ni aide extérieure je vous prie. Voici deux indices : cette optimisation n’est possible que depuis la v11, et elle réduit considérablement le nombre de lignes de code.

 

Réponse après le Summit, après ma session. Niark niark.

 

Bien. Nous allons atterrir alors je relève ma tablette, redresse le dossier de mon siège et vérifie que ma ceinture est bouclée (mais je sais qu’elle l’est, sinon j’aurai perdu mon pantalon pendant mes déplacements en cabine).

 

Le commandant nous annonce que c’est lui qui parle. C’est rassurant quelque part : si l’annonce, au lieu de « Ici votre commandant » avait commencé par « Ici la voix préenregistrée de votre commandant », on se serait inquiété.

À plus tard !


(1) En français, « keynote », ça peut se traduire en « Session plénière ». Mais ça fait un peu strict, non ? On a l’impression de préparer l’assemblée générale des actionnaires d’HP
(2) Cf. blog du Summit 2010, « On the road again », 1ère partie
(3) © Jean Poiret

 

 

RSS 4 commentaire(s) pour ce billet