Eric et son Blog

Aller au contenu | Aller au menu | Aller à la recherche

mercredi 28 février 2007

Y'a tout qui merde

Y'a des jours où absolument TOUT ce qu'on fait merde. Heureusement celle-ci touche à sa fin mais j'ai peur de ce qu'elle me réserve encore. (attention, la liste suivante est pénible à lire)

  • Je dépose Fabi à la gare pour qu'elle aille à son cours d'Anglais. On rate le train habituel mais c'est pas grave. Je me dirige vers chez les beaux-parents pour déposer la miniature. Premier vrai fumble de la journée: j'ai pas pensé à prendre les clés de chez les beaux-parents. Fabi me suggère donc de se donner rendez-vous à Schuman et tant pis pour le retard en Anglais.
  • Pendant que je subis les bouchons du R0, Fabi réalise que son train ne s'arrête pas à Schuman. Elle sort donc à Schaerbeek et doit faire demi-tour.
  • On finit par se rejoindre, je reviens chez les beaux-parents où la gardienne attendait. Je repars au boulot... avec le doudou de la miniature dans la voiture ! Aujourd'hui, un journaliste venait au boulot et il était donc hors de question d'arriver en retard. Tant pis pour le doudou.
  • Ah tiens j'ai aussi oublié d'emmener la bouffe de la miniature. Tant pis, elle criera famine.
  • Sur le chemin, mon garagiste m'appelle "pour avoir mon adresse parce que la compta en a besoin". Je suis sûr à 99% qu'ils n'ont toujours pas compris que ma voiture était en leasing et que donc la facture devait aller à la société de leasing, pas à moi.
  • Je ne suis toujours pas arrivé au boulot que mon téléphone resonne. On m'annonce que le "setup" que je devais produire contient des erreurs et qu'il me faudra les corriger avant de le pondre. Il faut savoir que "setup" en question fait 4 gigabytes et une fois installé en fait 12. Vous imaginez le temps nécessaire pour chaque essai.
  • Je commence à bosser, résous les bugs (mineurs en fait) et reçois un autre coup de fil, je vais devoir jeter 70% des 12Gb. Evidemment, comme c'est indexé, ça met le temps.
  • J'ai à peine fini qu'on me demande d'en remettre 10%... Grrrrrr
  • Avant de refaire, j'attends une confirmation par mail promise dans l'heure. Rien n'arrive. J'appelle et on m'explique qu'il n'y a plus de courant chez eux...
  • Je réalise que la panne de courant touche aussi le datacentre. Moralité, tous mes serveurs finissent sur leur panse malgré les UPS.
  • Tiens, c'est bizarre, le monitoring n'a pas détecté le plantage des serveurs. Les heures sur le système de monitoring (nagios) sont fantaisistes. Je redémarre la chose et hop tout se met à clignoter en rouge et orange. *soupir*
  • Je relance tout ce qui n'avait pas bien redémarré et ça tou....rne pas. Oracle est planté (archive log pas démarré, allez savoir pourquoi).
  • J'appelle le collègue seul détenteur de la science Oraclienne. Celui-ci était en congé et a choisi ce moment pour dormir (quelle idée franchement). Il finira par venir à mon aide.
  • Firefox, dans la foulée, décide qu'il a oublié tous mes mots de passe. Redémarrage de la chose... pas mieux.
  • Vu mon karma, j'ai intérêt à vérifier que le backup est prêt à fonctionner cette nuit. J'ouvre la console.... "could not connect to Director".... J'en reste muet.
  • Bon, je finis par faire mon boulot. Le "setup" est en compilation (compter trois bonnes heures) et... réalise que j'ai beau avoir supprimé 60% du truc, ce n'est pas vraiment effacé, juste caché.
  • Grmbl. J'arrête tout, relance le programme pour supprimer définitivement et... le programme ne veut plus démarrer...
  • Là, pour refaire un nouveau cycle et enfin pondre cette merdasse, il faut compter... allez 10h ?

Le pire, c'est que je sens que la journée n'est pas finie...


Epilogue: Une fois rentré chez moi, je me suis rendu compte que mon disque dur était bien rempli, que le disque externe que je pensais utiliser pour dégager la place nécessaire était plein lui aussi et que mon graveur DVD a décidé de cesser totalement de fonctionner. En fait, j'avais un graveur neuf de remplacement mais pas les câbles SATA nécessaires... :(
Heureusement, après minuit, tout a fonctionné correctement et je suis sorti de la boucle infernale. Ce matin, tout fonctionnait correctement, pas d'embouteillages, pas de chauffard évité in extremis, ouf...

lundi 26 février 2007

FOSDEM 2007: rapport

Malgré le boudin d'Aiki, j'ai à nouveau honoré le FOSDEM de mon auguste présence. Voici ce que j'en ai retenu en bref.

One Laptop Per Child

One Laptop Per Child

C'était pour moi, LA conférence clé du FOSDEM. Pour ceux qui ne connaissent pas, il s'agit d'un projet supporté par le MIT visant à produire des ordinateurs portables à 100$ pour les enfants du tiers-monde. Le but est qu'en leur donnant un outil de ce genre, fiable, pratique et bien conçu, ils pourront s'en servir comme support pour l'école et apprendre l'informatique. Ce serait leur meilleur atout dans le monde moderne. Je savais que le projet était bien pensé mais là, ils m'ont vraiment impressionné:

  • Vous imaginez un écran LCD au soleil du Nigeria ? Ce serait illisible. L'écran de l'OLPC n'est pas un LCD normal: il est moins cher et peut fonctionner soit comme un LCD classique, soit en réflectif (en noir et blanc). En mode réflectif, l'écran ne consomme quasiment rien et est lisible en plein soleil.
  • Le Wifi fonctionne en mesh, c'est à dire que les ordinateurs à proximité de l'accès internet font relais pour ceux qui sont un peu plus loin et ainsi de suite. On peut fonctionner aussi en autonome et voir graphiquement qui est dans les parages. Ca permet de monter un réseau de la classe.
  • Un enfant peut produire 7 à 10 Watts avec la pédale fournie. L'ordinateur en fonctionnement consomme 2.5 à 3.5 Watts. C'est trop, en mode "relais wifi", ça ne tiendra pas longtemps et les enfants vont désactiver le wifi. Heureusement, ils ont trouvé un moyen de rendre l'écran et le wifi autonomes par rapport au processeur. Celui-ci se met en veille et l'ordinateur fonctionne toujours avec moins d'UN Watt !
  • Il y a une alim. Mais vu la rareté et la très mauvaise qualité du courant dans ces pays, l'OLPC fonctionne avec quasiment n'importe quelle tension et en-dehors de cette zone, il ne grille pas.
  • Le boîtier est prévu pour survivre. Ca résiste aux chocs, à la pluie, au sable... La poignée est très pratique. L'écran se retourne pour en faire un livre.
  • Le touchpad est très large et permet d'écrire dessus sur une ligne complète.
Bref, ils ont vraiment pensé à tout. J'ai aussi pu essayer moi-même une de ces machines.

Ma réaction à la sortie était comme la plupart des geeks de l'assemblée: j'en veux un pour moi ! Même à 250€ ! Ce serait une excellente source de financement et ça permettrait le développement d'applications spécifiques.

Liberating Java

J'ai fini par sortir parce que ça ne m'intéressait pas. Savoir que Sun va bientôt sortir une Nième couche d'abstraction de tchic ou de tchac, j'en ai rien à foutre.

ReactOS

Prototype de la conférence de geek. Le mec est tout fier d'expliquer que son FreeBootLoader doit correctement gérer les tables de pages STE et DTE pour que NT accepte de booter. Il nous a montré les différentes API Windows et leur état d'implémentation... Ce que j'en ai retenu, c'est que ReactOS n'est pas conçu pour vraiment remplacer Windows un jour. C'est plus un exercice de style qu'un truc qui pourra un jour être utilisé en "production". Et par production j'entends un poste de travail d'un développeur, pas un serveur IIS.

Security Testing

Pete Herzog est un personnage bien connu du milieu de la sécurité. Sa présentation est restée très "high level" en présentant la façon de mesurer, de quantifier la sécurité et les gains éventuels de sécurité avec telle ou telle méthode. Sa quantification était valable autant dans le domaine informatique que dans la sécurité physique (ne serait-ce qu'une serrure de porte). Très logique, le système permet de savoir si une "2-factor authentication" apporte un vrai plus par rapport à l'effort de gestion que ça représente. Quand les slides seront publiés et/ou la vidéo, je vous recommande cette conférence.

Drupal

Drupal est un CMS. En fait, ça s'installe et 5 minutes sans compétence particulière. C'est TRES facile, très intuitif et très efficace. On crée un site en quelques minutes avec thème, menus, raccourcis, commentaires, blog, RSS, formulaire de contact, utilisateurs, rôles, etc. J'ai vraiment été impressionné. Par contre, je vois deux un inconvénient majeur à Drupal: le support d'un site dans une langue choisie mais pas des sites multi-lingues et l'absence d'éditeur WYSIWYG pour le contenu. On peut seulement entrer du texte, du code PHP ou du HTML brut. Pas de wiki, pas d'éditeur visuel. Je vais peut-être trouver un moyen de contourner ces problèmes mais en attendant, c'est ce qui me retient.

[Mise à jour 2 mars] En fait il existe des modules pour l'édition visuelle. Principalement TinyMCE pour les formats simples et FCKeditor qui offre une interface à la Word assez efficace. Quant au multilinguisme, il semble être supporté mais je n'arrive pas à le faire fonctionner pour l'instant.

Bacula

Bacula est un logiciel de backup utilisé au travail pour faire le backup de toutes les machines du réseau. Le logiciel est bien conçu et efficace. La présentation était plutôt bonne parce qu'elle donnait une bonne introduction au schéma général du logiciel. Quand on plonge directement dans la doc, on se perd vite entre le StorageDaemon, le FileDaemon, le Director... Le produit est en fait conçu pour mettre en place une politique de backup durable plutôt que de faire un backup de temps en temps au coup par coup. Ah oui, Bacula tourne sur la plupart des infrastructures actuelles: Windows, Mac OS X, Linux, HP-UX etc

JBoss BPM

Bon, ce produit je l'ai déjà pas mal expérimenté depuis un certain temps et je l'ai plusieurs fois rejeté pour mes programmes. Je ne m'étendrai pas sur la question. Disons juste que jBPM était un langage spécifique à JBoss qui fonctionnait par "états" contrairement à BPEL qui fonctionne par "actions". BPEL était supporté partiellement par jBPM via un plugin. Mais aujourd'hui, jBPM a séparé son moteur du langage. Le Process Virutal Machine (PVM) a des modules à égalité pour jPDL (nouveau nom du langage de jBPM), BPEL et Pageflow (utilisé par Seam). Ce dernier gère le fonctionnement d'un site web en décrivant son "flux". Ce flux est décrit dans un langage spécifique mais comme il s'agit d'une machine à états, c'est supporté par le PVM de jBPM. Dans le futur, il y aura aussi XPDL.

Samba

La présentation Samba était à la fois intéressante et pas intéressante. J'y ai appris que Samba 4 était prévu pour faire un domain controller en active directory, qu'on pouvait gérer les services Linux via les interfaces Windows à distance, que c'était vraiment bien foutu. Par contre, pour les autres rôles, ils conseillent de rester à Samba 3 qui est plus stable. J'y appris qu'on devrait tous utiliser winbindd, que c'était un peu compliqué à configurer mais que ça en valait largement la peine parce que ça gérait les cached credentials, les sauts d'un domaine à un autre etc. J'ai aussi été impressionné par le fait que Windows exécute les fichiers genre machin.txt::virus.exe. En fait, chaque fichier Windows peut avoir des "sous-fichiers" cachés à l'intérieur. On y accède en ouvrant fichier::flux. Et comme un con, Windows exécute tout ce qui se termine par .exe, même si c'est dans le nom du flux et pas du fichier. C'est la technique qu'a utilisé un virus pour se cacher...

Le reste

En-dehors de ces conférences, le FOSDEM, c'est aussi un ensemble de salles dédiées à Mozilla, KDE, OpenSuSE, Python etc, une série de stands de différents acteurs du libre de près ou de loin. Chez O'Reilly, j'ai acheté "Ubuntu hacks" à 24€. Je pensais faire une bonne affaire mais c'est le prix d'Amazon.fr. J'ai acheté les CDs d'OpenBSD histoire de pouvoir installer la 4.0 en bootant dessus. Fabi a pris un Tshirt gratuit de Firefox et des pin's. J'ai fait ma donation de 25€ et reçu le Tshirt FOSDEM de l'année (j'ai encore celui de la première année où c'était l'OSDEM). J'ai échangé ma soekris qui avait quelques soucis. J'ai participé au concours Google pour (ne pas) gagner un pepper pad. J'ai constaté que chaque distribution voulait épater la galerie et avait donc installé beryl sur les machines de démo alors que ce n'est pas fourni en standard...

Bref, ce n'était pas mon meilleur FOSDEM mais je n'ai quand même pas perdu mon temps.

lundi 19 février 2007

Ruineland, la vidéo

L'émission "Images à l'appui" de RTL vient de diffuser un reportage sur Ruineland. Voici la version basse qualité:

Pour la vidéo en pleine résolution (41Mb en DivX): http://www.darchis.be/eric/ruineland_iala.avi

ruineland.eu et plus précisément: http://ruineland.ruineland.eu/index.php?2007/02/19/98-images-a-l-appui

Mais c'est quoi ce bordel de code ?

Parfois, on tombe sur un certain bug, on se met à chercher et quand on trouve, c'est quelque chose de complètement aberrant. Un exemple flagrant qui vient de me tomber dessus. J'ai un webservice en Java/hibernate/jboss/mysql qui fait une bête requête dans une bête table. La requête prend un centième de seconde, même sur une machine lente. Le hic, c'est que le webservice, sur un serveur spécifique, prend 22 secondes pour s'exécuter. 22 secondes, c'est ENORME. Je regarde le code du service:

String service (String correlationId, String processName, Integer lastId)
{
    System.out.println("hello 1 " + correlationId);
    System.out.println("hello 2 " + processName);
    System.out.println("hello 3 " + lastId);
    System.out.println("Hello 4");
    
    // le code de select dans la DB
...
}

Passons sur le System.out.println(), c'était à l'origine un log.debug(). Ce code donne:

16:17:15,551 INFO [STDOUT] hello 1 ARC-805983119644225
16:17:19,702 INFO [STDOUT] hello 2 FlowControlEngine
16:17:24,844 INFO [STDOUT] hello 3 0
16:17:29,025 INFO [STDOUT] Hello 4

Là, je fronce les sourcils. Des println() qui mettent aussi longtemps, ça n'a aucun sens. Je me dis donc que c'est de l'affichage bufferisé et que la requête DB ralentit l'affichage. Pour vérifier, je rajoute donc un Thread.sleep(2000) juste après les println() et avant la requête. Je reteste et là, j'ai:

16:19:05,431 INFO [STDOUT] hello 1 ARC-805983119644225
16:19:05,692 INFO [STDOUT] hello 2 FlowControlEngine
16:19:05,864 INFO [STDOUT] hello 3 0
16:19:06,125 INFO [STDOUT] Hello 4

Ah, là, c'est normal. Sauf que maintenant, l'appel de webservice met 3 secondes au lieu de 22. Et quand je supprime le sleep et les println, je retombe à ... 41 MILLIseconde ! Je crois que je ne saurai jamais pourquoi ce truc a merdé...

Quand les spammeurs réfléchissent

Quand on trie le courrier SPAM du légitime, on se base généralement sur l'expéditeur et sur le sujet. Les spammeurs avaient déjà bien compris qu'il fallait créer des noms plausibles pour envoyer leur merde. Un mail de "Christophe" a plus de chances d'être lu qu'un mail de "kkjlknkjndpou214". Mais jusqu'ici, le sujet restait dans les variations de "cheap viagra & cialis". Pour contourner le filtrage, ils écrivaient donc "chip \/14gr4 & cialys" ou rajoutaient des crasses derrière pour changer de sujet à chaque message: "cheap viagra &cialis fireworks klsjgdflkj".

Il aura fallu le temps mais maintenant, les spammeurs ont passé une étape supplémentaire: ils ont compris que les gens ne lisaient pas leurs pubs parce qu'ils jetaient les mails avec un sujet aussi directement "spam". Alors, pour contourner ça, ils se mettent à faire des sujets sans rapport mais à forte chance d'être lus. Exemples réels:

  • asked me about publishing my book at O'Reilly and Associates.
  • A minor update to the free RSS2HTML script is also available.
  • This same information is available in other file formats including the XML based RSS and CAP formats.

Je vois deux façons de conjurer cette saloperie:

  • N'accepter les mails que de correspondants connus et pour les inconnus, renvoyer un mail de confirmation et libérer le mail initial si le correspondant y répond. C'est évidemment horriblement contraignant et je n'ai pas envie d'en arriver là.
  • Adapter la loi et donner les moyens à la CCU (computer crime unit) de poursuivre les spammeurs belges. Ce ne serait certes pas efficace contre les spammeurs ricains mais une fois que les principaux pays auront suivi, on pourra black-lister les autres et ainsi filtrer aisément 90% du spam restant.

lundi 12 février 2007

Quand la police fumble

Imaginez la scène: il est 23h30, sur le bord du ring de Bruxelles, dans une voiture de police. Je suis assis à l'arrière, en qualité de témoin. Devant la voiture de police, une voiture est sur le toit. Policier 2 est devant moi, côté passager. Policier 1 est avec le chauffeur de la voiture antiroliste (comm "antipodiste" mais pour une voiture). Policier 2 prend ma déposition. Policier 1 ouvre la portière conducteur, donne la carte d'assistance étrangère de l'antiroliste immobiliste à son collègue et lui demande d'appeler une dépanneuse.

Et c'est là que ça se corse.
Policier 1 ressort de la voiture.
Policier 2 (sortant de la voiture): "Dis, je veux bien appeler la dépanneuse mais c'est toi qui as la radio."
Policier 1 (regardant sur lui): "Non, elle est dans la voiture."
Policier 2 (rentrant dans la voiture) ne trouve pas la radio.
Policier 1 (rentrant dans la voiture aussi): "je te l'ai rendue après l'intervention précédente."
Policier 2: "Ben non, tu as rappelé Kerbru" (ça doit être leur central).
Policier 1: "Ben alors, elle doit être dans ta portière"

Pendant une minute, les policiers fouillent leur propre voiture. Je me sens obligé de le préciser que je ne me suis pas assis dessus. Ensuite, je fouille moi-même l'arrière de la voiture. Tout le monde étant broucouille, Policier 1 ressort. Policier 2 reprend ma déposition et n'a pas le temps de finir sa phrase que Policier rererentre dans la voiture et lui dit:
"Ah ben merde, elle était dans ma main en fait !"

Alors je sens venir l'humour sur les policiers qui ne seraient pas très futés mais que celui qui n'a jamais cherché ce qu'il avait en main leur jette la première pierre. Et ce ne sera pas moi. N'empêche que vu les circonstances, ça m'a bien fait rigoler quand même.

Pour la petite histoire, il s'agissait d'une mercedes qui a fait un écart pour éviter un chien sur la bande de gauche, est partie en tête-à -queue, est montée sur le talus et a retourné. Les deux passagers avaient leur ceinture et s'en sont sortis avec de simples égratignures. En vérité je vous le dis, sans la ceinture, ils auraient certainement été vilainement blessé voire tués.

vendredi 9 février 2007

Tout ça c'est la faute à leurs spoutniks

Mes arrière-grand-parents disaient souvent: "il n'y a plus de saison avec tous leurs spoutniks." Autant on peut excuser des gens nés en 1885, autant soutenir aujourd'hui que les trous dans la couche d'ozone sont faits par les fusées qui ne repassent même pas par le même trou, c'est inexcusable. C'est même l'apogée de la connerie. Quand je pense que ces gens élèvent des enfants, j'en tremble...

jeudi 8 février 2007

Crash-test EuroNCAP des nouveaux véhicules chinois (4x4)

J'avais souvent entendu parler des véhicules chinois sur le point d'arriver sur le marché européen. Tout le monde semblait unanime sur leur absence totale de sécurité. J'étais plutôt méfiant et m'attendais en fait à la sécurité d'un véhicule d'il y a 10 ans. J'ai moi-même vécu un crash à environ 60km/h de face comme dans les tests avec un véhicule de 1986 et m'en suis sorti indemne. Je pensais donc que ces véhicules auraient un score peu glorieux mais passable.

Depuis, j'ai vu un crash-test d'un de ces 4x4 chinois et j'ai changé d'avis. Un accident avec ça, c'est la mort assurée.

dimanche 4 février 2007

Hommages à l'Abbé Pierre

Je viens de voir un reportage au JT sur les gens qui vont sur la tombe de l'Abbé Pierre pour lui "rendre hommage". Je trouve ça faux-cul au possible. Des scouts ont fait un grand voyage en car (probablement payé par papa-maman) pour aller se recueillir sur la tombe. Ils ne pouvaient pas plutôt faire des gaufres et donner le pognon aux Compagnons Emmaüs. Ils pourraient proposer leur aide en main d'oeuvre à l'une des nombreuses associations fondées par l'Abbé Pierre. Ils auraient pu visiter un centre des pauvres. Mais non, ils ont préféré dépenser de l'argent dans un geste totalement vain. Ils n'ont pas rendu hommage à l'Abbé Pierre, ils ont insulté sa mémoire.

Je vous invite à relire son appel à l'aide en hiver 54 sur les ondes d'RTL. C'est encore tellement d'actualité (sauf les températures):

Mes amis, au secours... Une femme vient de mourir gelée, cette nuit à trois heures, sur le trottoir du boulevard Sébastopol, serrant sur elle le papier par lequel, avant hier, on l'avait expulsée... Chaque nuit, ils sont plus de deux mille recroquevillés sous le gel, sans toit, sans pain, plus d'un presque nu. Devant l'horreur, les cités d'urgence, ce n'est même plus assez urgent !

Écoutez-moi : en trois heures, deux premiers centres de dépannage viennent de se créer : l'un sous la tente au pied du Panthéon, rue de la Montagne Sainte Geneviève ; l'autre à Courbevoie. Ils regorgent déjà, il faut en ouvrir partout. Il faut que ce soir même, dans toutes les villes de France, dans chaque quartier de Paris, des pancartes s'accrochent sous une lumière dans la nuit, à la porte de lieux où il y ait couvertures, paille, soupe, et où l'on lise sous ce titre « centre fraternel de dépannage », ces simples mots : « Toi qui souffres, qui que tu sois, entre, dors, mange, reprend espoir, ici on t'aime »

La météo annonce un mois de gelées terribles. Tant que dure l'hiver, que ces centres subsistent, devant leurs frères mourant de misère, une seule opinion doit exister entre hommes : la volonté de rendre impossible que cela dure. Je vous prie, aimons-nous assez tout de suite pour faire cela. Que tant de douleur nous ait rendu cette chose merveilleuse : l'âme commune de la France. Merci ! Chacun de nous peut venir en aide aux « sans abri ». Il nous faut pour ce soir, et au plus tard pour demain : cinq mille couvertures, trois cents grandes tentes américaines, deux cents poêles catalytiques

Déposez les vite à l'hôtel Rochester, 92, rue de la Boétie. Rendez-vous des volontaires et des camions pour le ramassage, ce soir à 23 heures, devant la tente de la montagne Sainte Geneviève. Grâce à vous, aucun homme, aucun gosse ne couchera ce soir sur l'asphalte ou sur les quais de Paris.

Merci !

vendredi 2 février 2007

5 millions perdus ? pas grave

Dans un précédent job, j'avais écrit un logiciel pour gérer une certaine activité commerciale rapportant environ 130 millions d'euros. Un programme assez critique donc. Mais la société et ceux qui géraient cette manne financière avait une échelle des valeurs assez différente de la mienne.

Alors que je devais répartir ces 130 millions entre les petits contrats (gérés d'une façon) et les gros contrats (gérés d'une autre façon), j'en arrivais à ce que la somme de mes deux tas ne faisait plus 130 millions mais 105 millions. 25 millions d'euros s'étaient perdus entre les gros et les petits contrats. Gênant. J'expliquai donc la situation à la responsable et me mis à bosser jusque tard pour récupérer cet argent.

Vers 21h, je finis par obtenir une répartition plus correcte mais il manquait encore et toujours 5 millions d'euros ! J'informai alors la responsable pour lui dire que c'était mieux mais que je continuais à chercher. La réponse de la responsable me surprit parce qu'elle considérait que c'était une erreur acceptable et me disait de ne pas me casser la tête plus loin sur le problème de répartition.

Bien sûr, j'ai continué malgré son avis et vers 22h ai obtenu une répartition correcte au centime près. Mais j'ai été fortement marqué par le désintérêt pour 5 putains de millions d'euros !! Je les aurais bien voulus moi ces 5 millions. Snif