Derniers commentaire(s) [Tous] :


Dernières entrées dans le suivi [Toutes] :


aujourd'hui il a plu

Posté le 15 mai 2008
0
Aujourd'hui, dans ma ville, il a plu. Pendant une heure.
http://ms800.montefiore.ulg.ac.be/~kunysz/pics/pluie080515/

> Lire le journal (19 commentaires, moyenne: 3,4).

Le gouvernement US paie l'audit de projets libres (la suite)

Posté le 06 février 2008
0
Il y a deux ans, le ministère de l'intérieur états-unien a annoncé [0] qu'il allait sponsoriser l'audit de projets libres. On n'en n'a plus beaucoup entendu parlé depuis (tout ce que je trouve sur le sujet dans les journaux c'est celui-ci [3]) mais il y a un mois, Coverity (un des organismes participants qui est connu pour ses outils d'analyse statique) a émis une annonce [1] indiquant qu'ils avancent bien puisqu'ils ont aidé à corriger plus de 7500 bugs depuis mars 2006.

Il semblerait que le processus d'audit de Coverity [2] soit divisé en "rungs" et consiste dans un premier temps à faire tourner leurs outils d'analyse sur les applications choisies et à rendre les bugs découverts disponibles aux mainteneurs concernés (rung 0). Une fois qu'au moins un mainteneur s'est manifesté, Coverity fournit un accès aux résultats de ses outils d'analyse les plus basiques ainsi qu'une liste de diffusion (rung 1). Lorsqu'un projet en rung 1 atteint un nombre suffisamment bas de bugs détectés, il passe en rung 2 et a accès à des outils d'analyse plus poussés.

Onze projets sont maintenant en rung 2 parmi lesquels Perl, PHP, Python, TCL, Postfix, Samba, OpenVPN,...

Les 75 projets en rung 1 comprennent notamment Apache, Bacula, Blender, emacs, Firefox, FreeBSD, gcc, gdb, glibc, Gnome, KDE, Linux 2.6, Mono, Parrot, PostgreSQL, Ruby, x.org,...

Il y a actuellement 87 projets en rung 0.

[0] https://linuxfr.org/~Krunch/20652.html
[1] http://www.coverity.com/html/press_story54_01_08_08.html
[2] http://scan.coverity.com/
[3] https://linuxfr.org/~BlueBird/22591.html

> Lire le journal (12 commentaires, moyenne: 4,6).

Vote HOWTONOT

Posté le 21 mai 2007
0
Cher journal,

Comme tu le sais sans doute, les élections approchent et comme d'habitude ça tombe en pleine session d'examens. Si tu as un peu de chance tu as même été désigné comme assesseur la veille du plus gros oral du semestre. C'est pourquoi je te détaille ici la procédure à suivre pour t'éviter de perdre vingt minutes dans la file, six heures dans le train et un an de plus à l'école.
  • Commence par imprimer l'annexe 1 [1] de la circulaire concernant la désignation des assesseurs des bureaux électoraux et la problématique des étudiants en période d'examens [sic]. Si tu as gagné à la lotterie, tu dois aussi imprimer les annexes 2a [2a] et 2b [2b].
  • Va faire remplir l'annexe 1 (et éventuellement 2b) par le directeur de ton école ou université ou, de manière plus réaliste, par une secrétaire quelconque qui sera en mesure d'apposer un cachet crédible sur ton papier.
  • Si tu es un heureux gagnant de la tombola des assesseurs, tu dois maintenant remplir l'annexe 2a, acheter un paquet de 50 enveloppes dont tu vas en jeter 49, placer les annexes 2a et 2b dans la survivante et envoyer le tout au président de ton bureau de vote. Par bonheur la correspondance électorale ne nécessite pas d'affranchissement.
  • Tu dois maintenant trouver un sympathique concitoyen qui va accepter de perdre du temps pour toi. Ça marche mieux s'il doit voter dans le même bureau que toi puisque ça lui fera perdre moins de temps.
  • Tu peux ensuite allez passer un après-midi entre les transports en communs et ta maison communale pour échanger l'annexe 1 sus-citée contre un papier intitulé « procuration » [ab19] sur lequel tu devras rédiger ta biographie ainsi que celle du pigeon^Wmandataire.
  • Remets ce document ainsi que le certificat imprimé et complété plus tôt à ta bonne poire^W^W^W^Wau mandataire en lui précisant bien de voter pour n'importe quel parti antidémocratique en espérant ne plus jamais avoir affaire à l'administration communale.
J'espère que cela t'aura aidé à agir en bon citoyen de notre belle monarchie en attendant la prochaine fois.

[1] http://www.ibz.rrn.fgov.be/fileadmin/user_upload/Elections/f(...)
[2a] http://www.ibz.rrn.fgov.be/fileadmin/user_upload/Elections/f(...)
[2b] http://www.ibz.rrn.fgov.be/fileadmin/user_upload/Elections/f(...)
[ab19] http://www.ibz.rrn.fgov.be/fileadmin/user_upload/Elections/f(...)

> Lire le journal (22 commentaires, moyenne: 4).

Joyeux 26 avril

Posté le 26 avril 2007
0
Comme promis [0], voici le retour du journal de bon goût avec cette fois une recette pour contribuer à une fête de Tchernobyl [3] réussie.

Il vous faudra [4] :

- du papier, un crayon, une latte, un compas, un rapporteur et un cutter
- une tarte de couleur jaune (si vous n'avez pas de recette sous la main, une tarte au citron achetée au super marché local fera l'affaire)
- de la poudre (de préférence comestible) de couleur magenta ou noire (à la limite, du cacao, ça va aussi)
- de la faune et de la flore aux couleurs chamarrées (oursons et souris en gomme, champignons en sucre,...)
- un ami possédant un nombre impaire de testicules (facultatif)

Commencez par tracer le pictogramme sur la feuille en respectant les proportions indiquées [1] de manière à ce qu'il soit de taille légèrement inférieure à la tarte. Demandez à l'un de vos parents de découper les quatre zones normalement représentées en magenta de manière à réaliser un pochoir. Si vous n'avez plus de parents vous pouvez effectuer le découpage vous même puisque de toute façon si vous vous coupez quelque chose personne n'en n'aura rien à foutre.

Déposez le pochoir sur la tarte [5] et répandez une fine couche de poudre sur le tout [6]. Retirez ensuite le pochoir avec délicatesse [7]. Vous pouvez maintenant placer la faune et la flore radioactive [8] sur le terrain. N'hésitez pas à laisser parler votre créativité [9].

Voilà. C'est prêt. [10] Vous pouvez maintenant déguster [11] votre tarte de Tchernobyl avec vos amis. Si vous n'avez pas d'ami, pourquoi ne pas inviter vos voisins ukrainiens ?

Au fait, saviez vous que le pictogramme de danger radioactif a été inventé en 1946 à Berkeley et qu'il était alors de couleur magenta sur fond bleu ? [2]

[0] https://linuxfr.org/~Krunch/23397.html
[1] http://www.michigan.gov/documents/CIS_WSH_part476_54539_7.pd(...)
[2] http://www.orau.org/ptp/articlesstories/radwarnsymbstory.htm
[3] http://fr.wikipedia.org/wiki/Catastrophe_de_Tchernobyl
[4] http://ms800.montefiore.ulg.ac.be/~kunysz/tchernobyl07/100_0(...)
[5] http://ms800.montefiore.ulg.ac.be/~kunysz/tchernobyl07/100_0(...)
[6] http://ms800.montefiore.ulg.ac.be/~kunysz/tchernobyl07/100_0(...)
[7] http://ms800.montefiore.ulg.ac.be/~kunysz/tchernobyl07/100_0(...)
[8] http://ms800.montefiore.ulg.ac.be/~kunysz/tchernobyl07/100_0(...)
[9] http://ms800.montefiore.ulg.ac.be/~kunysz/tchernobyl07/100_0(...)
[10] http://ms800.montefiore.ulg.ac.be/~kunysz/tchernobyl07/100_0(...)
[11] http://ms800.montefiore.ulg.ac.be/~kunysz/tchernobyl07/100_0(...)

PS : « pictogramme » et « cutter » semblent inconnus du dictionnaire DLFP

> Lire le journal (15 commentaires, moyenne: 4,6).

XP analyzer 1.0

Posté le 11 janvier 2007
0
Bon alors moi j'ai pas de copine[0] mais j'ai 1633 commentaires dont 1,35% sont évalués à 10 ou plus et 13,29% à 5 ou plus. C'est peut-être lié vous me direz.

$ for i in `seq 1 424242`
> do
> wget -nv http://linuxfr.org/~`whoami`/comments,$i.html || break
> sleep 5
> done ; ./dlfposts.pl comments* | sort -n +1 | tee scores |
> # à partir d'ici vous analysez comme vous voulez mais voilà qq idées
> awk '{s[$2]++}END{for (i in s) { print i " " s[i]}}' |
> sort -n > scores.freq
$ perl -ane'$s+=$F[1];$f++if$F[1]>=5;$t++if$F[1]>=10;END{$a=$s/$.;$t/=$.;$f/=$.;
> printf "moyenne : %.2f\n>= 10 : %.2f%%\n>= 5 : %.2f%%\n", $a, $t*100, $f*100}'
> < scores
$ gnuplot
gnuplot> 'scores.freq' with boxes


Si vous avez rien de mieux à faire vous pouvez modifier dlfposts.pl pour récupérer aussi la date du message et faire des graphes à 3 axes.
http://ms800.montefiore.ulg.ac.be/~kunysz/dlfp/dlfposts.pl

[0] https://linuxfr.org/~Progs/23504.html#793314

> Lire le journal (26 commentaires, moyenne: 3,8).

Joyeux tsunami

Posté le 26 décembre 2006
0
Dans la continuité d'un précédent journal [0], je tiens à souhaiter à tous les lecteurs de DLFP un joyeux tsunami [3]. À Taïwan, la fête bat déjà son plein [1] [2] alors que je cherche toujours une recette adéquate. J'ai pensé à un grand saladier de punch dans lequel on placerait des oursons en gomme à repêcher. Cependant je suis ouvert à toute proposition.

Rendez-vous le 26 avril.

[0] https://linuxfr.org/~Krunch/22616.html
[1] http://en.wikinews.org/wiki/Strong_earthquake_strikes_off_th(...)
[2] http://news.google.com/news?hl=fr&ned=fr&ie=UTF-8&am(...)
[3] http://fr.wikipedia.org/wiki/Tremblement_de_terre_du_26_d%C3(...)

> Lire le journal (9 commentaires, moyenne: 2,3).

DLFP social network

Posté le 01 novembre 2006
0
Dans un moment de désoeuvrement j'ai entrepris d'écrire de quoi générer un graphe des relations entre les utilisateurs de DLFP. Après quelques heures de travail, j'ai un truc qui donne des choses comme ceci :
http://ms800.montefiore.ulg.ac.be/~kunysz/dlfpers.8.png

Chaque flèche représente un certains nombre de réponses à des messages dans l'ordre "message parent -> réponse". Par exemple on peut voir que thoasm a répondu à huit messages de briaeros007. Ce graphe ce base sur 965 dépêches et journaux. Ne sont représentés que les liens d'au moins huit messages.

Je sais pas trop à quoi ça peut servir mais si vous voulez essayer il vous faudra WWW::Mechanize, HTML::Parser, graphviz et ces deux scripts :
http://www.krunch.be/vrac/qua/dlfpget.pl
http://www.krunch.be/vrac/qua/dlfpdot.pl

Le premier sert à récupérer les pages voulues tandis que le second les analyse.
$ ./dlfpget.pl 3 # nombre de pages à récupérer en argument
21546.html
21515.html
21534.html
$ ls *.html* | ~/prj/dlfp/dlfpdot.pl 1 > dlfpers.dot # "largeur" minimum des liens en argument
$ dot -Tpng -o dlfpers.png dlfpers.dot
dlfpget.pl ne récupère que les dépêches et journaux, il ne va pas chercher dans les forums mais l'adaptation est triviale à réaliser. Évitez aussi de demander trop de pages à dlfpget.pl si vous ne voulez pas DDoSer DLFP.

Par ailleurs, un projet similaire existe pour IRC : PieSpy. J'avais commencé un patch pour lui permettre d'analyser des logs hors ligne mais je sais plus ce que j'en ai fait (et javasaynul de toute façon).
http://www.jibble.org/piespy/

> Lire le journal (44 commentaires, moyenne: 3,8).

Joyeux 11 septembre

Posté le 11 septembre 2006
0
À peine tape-je la date du 9 septembre (9/11) sur mon clavier (pour dire un truc sur IRC qui m'échappe déjà) que je reconnais un motif qui me rappelle vaguement un truc (l'alcool émousse les réflexes paraît-il). Ha ben oui, c'est le 11 septembre, l'occasion de faire des gâteaux en forme de gratte-ciel (je laisse le soin aux académiciens de mettre « gratte-ciel » au pluriel).

http://img165.imageshack.us/img165/7/happywtctc8.jpg

PS : « émousse » n'est pas reconnu par le dictionnaire DLFP

(personnellement je fête aussi mon premier journal à plus de 100 commentaires, mon premier commentaire à +10 depuis un an et ma première cuite depuis 3 jours)

> Lire le journal (40 commentaires, moyenne: 4,5).

printf debugging considered harmful

Posté le 05 septembre 2006
0

Après avoir vainement cherché un « printf debugging considered harmful » j'en suis arrivé à la conclusion qu'il n'existait pas et j'ai donc décidé de l'écrire moi même.

J'appelle « printf debugging » le fait d'ajouter du code temporaire dans le seul but de débugger du code existant. En C, le code ajouté étant généralement un appel à printf(3) permettant par exemple de retrouver quelle partie du code a été exécutée avant le segfault dont on cherche la cause. Cette technique est particulièrement populaire chez les programmeurs débutants qui n'ont pas envie d'apprendre à se servir d'un debugger « parce qu'ils s'en passent très bien » (moi aussi j'ai dit ça à une époque). Dans ce document je tente de montrer que le printf debugging pose un certains nombre de problèmes que n'ont pas d'autres méthodes.

$ while true; do vi && make && ./plop ; done

Le premier problème le plus évident qu'on rencontre quand on pratique le printf debugging est qu'il est nécessaire de recompiler et réexécuter le code concerné plusieurs fois. En effet, on trouve rarement le bug en rajoutant un seul printf, d'où plusieurs cycles d'édition, compilation, exécution qui font perdre un temps considérable.

Le deuxième problème qui apparaît lorsque l'on a ajouté des printf un peu partout est de les retrouver tous pour les enlever une fois le bug corrigé. Ca semble trivial mais ça prend aussi du temps et il n'est pas rare d'en oublier l'un ou l'autre caché au fin fond d'une branche d'exécution qui sera prise trop rarement pour être remarqué rapidement.

Une alternative permettant d'éviter ce problème est d'utiliser un système de logging permanent (dés)activable plus ou moins dynamiquement (via une variable d'environnement, un argument ou une option de compilation par exemple) associé à un système d'assertions. De plus ça incite à écrire des messages compréhensible plutôt qu'un « toto » qui n'aura plus de signification pour personne une fois la session de debugging finie. Il existe de nombreux systèmes de logging plus ou moins complexes mais pour commencer autant s'en tenir à un simple macro qui affiche ou non son argument selon que l'on veuille afficher les logs ou non [1].

« C'est Heinsenberg qui est sur l'autoroute... » [2]

Un autre problème plus rare mais bien plus pervers est que l'ajout de code peut modifier ou masquer le bug. C'est ce qu'on appelle un heinsenbug : il devient inobservable quand on essaie d'en déterminer la nature mais réapparaît aussitôt le printf retiré. Ce genre de bug à tendance à se retrouver dans les programmes concurrents mais peut aussi être causé par de subtiles problèmes dans la gestion de la mémoire et sans doute d'autres choses. L'utilisation d'un debugger classique permet de retrouver un certains nombre de ces heinsenbugs mais pas tous.

D'autres problèmes qui peuvent sembler plus triviaux sont liés au printf debugging. Il est par exemple impossible de debugger printf lui même avec cette méthode et les systèmes de cache la rendent souvent inutile si on n'en tient pas compte.

En conclusion, le printf debugging peut être utile dans certains cas mais on rencontre vite ses limites qui peuvent être dépassées avec un usage judicieux d'un système de logging, d'assertions et d'un debugger.

À lire aussi : « Debugging 101 » [3]. Cet article déconseille l'utilisation générale de debuggers « classiques » en faveur du prinf debugging mais je persiste à penser que l'utilisation d'un système de logging et d'un debuggers plus évolués [4] reste souvent préférable. Et je suis tout à fait d'accord avec l'utilisation du « design by contract » tel qu'expliqué (ainsi qu'avec la plupart du reste de l'article).

[1] Personnellement en C99 pour des petits projets j'utilise ceci :

#ifndef NDEBUG
#  define debug(...)  fprintf(stderr, __VA_ARGS__)
#else
#  define debug(...)
#endif
Quand on développe, on compile normalement et quand on passe en « production », on définit le macro NDEBUG qui éliminera aussi les assert(3). Le macro debug() s'utilise de la même manière que printf(3) mais on le laissera dans le code final.

[2] Heinsenberg est sur l'autoroute au volant de sa voiture quand il se fait interpeller par un agent de police. « Vous savez à quelle vitesse vous rouliez ? » « Non, mais je sais où je suis » Si vous n'avez pas compris, vous devriez chercher de la documentation sur le principe d'incertitude d'Heisenberg. Je déconseille cette blague dans les soirées comportant moins de 50% de physiciens/chimistes/ingénieurs.

[3] http://www.hacknot.info/hacknot/action/showEntry?eid=85

[4] L'« Omniscient Debugger » par exemple permet de retourner en arrière dans l'exécution du code.
http://www.lambdacs.com/debugger/debugger.html
http://video.google.com/videoplay?docid=3897010229726822034

> Lire le journal (118 commentaires, moyenne: 3,3).

Le gouvernement US paie l'audit de projets libres

Posté le 18 janvier 2006
0
Le ministère de l'intérieur états-unien compte verser 1,24 millions de dollars en trois ans à l'université de Stanford et aux sociétés Coverity et Symantec pour auditer le code de logiciels libres parmi lesquels Apache, Bind, Firefox, FreeBSD, Gaim, Linux, mplayer, MySQL, OpenBSD, OpenSSH, OpenSSL, QT, Samba et xpdf (liste dans la dépêche c|net [2]).
On ne peut qu'espérer que cette initiative aura plus de succès que le défunt Sardonix [6].

D'après des commentaires sur le blog de Schneier [5], des employés de Coverty contribuent déjà depuis un moment à OpenBSD et FreeBSD.

Pendant ce temps, à Redmond [7].

[0] http://www.eweek.com/article2/0,1895,1909946,00.asp
[1] http://news.zdnet.com/2100-1009_22-6025579.html
[2] http://news.com.com/Homeland+Security+helps+secure+open-sour(...)
[3] http://it.slashdot.org/article.pl?sid=06/01/11/061232
[4] http://www.pcinpact.com/actu/news/25973-Des-subventions-pour(...)
[5] http://www.schneier.com/blog/archives/2006/01/dhs_funding_op(...)
[6] http://web.archive.org/web/20050305073434/http://sardonix.or(...)
[7] http://interviews.slashdot.org/comments.pl?sid=174307&ci(...)

> Lire le journal (14 commentaires, moyenne: 3,6).

[bench] vitesse de censure des FAI

Posté le 10 octobre 2004
0
Des petits malins se sont amusés à mettre sur l'espace web fourni par leur ISP un texte dans le domaine public puis à envoyer à l'ISP un e-mail (depuis un compte hotmail) provenant soi disant du détenteur des copyrights sur le texte en leur demandant de supprimer ça. 7 des 10 ISP testés ont supprimé le texte sans se poser de question. Il y en a même un qui a renvoyé des détails concernant la personne possédant le compte sans que ça soit demandé.

http://yro.slashdot.org/article.pl?sid=04/10/09/1929259(...)

> Lire le journal (12 commentaires, moyenne: 3,4).

void double-free(void *ptr)

Posté le 18 juin 2004
0
Les experts ont plus particulièrement retenu la faille dans la fonction 'double-free()' que l'on retrouve sur de nombreux systèmes qui fonctionnent sous linux.
Il existe donc une version francophone de BBspot ?
[Silicon.fr] publie en continu des actualités et des analyses sur l'univers des technologies de l'information - en conformité avec les règles déontologiques de la presse française. [...]un avis de rédacteurs spécialisés.
Ha tiens non.

http://silicon.fr/statics/apropos.asp(...)
http://silicon.fr/click.asp?id=5335(...)
http://00f.net/item/50/(...)

Par ailleurs "déontologiques" n'est pas reconnu par le dictionnaire DLFP.

> Lire le journal (1 commentaire, moyenne: 3).