Je pense que la vrai solution est d'avoir une méthodologie de programmation assez rigoureuse : abuser des assert(3), bien vérifier toutes les valeurs de retour, compiler avec -W -Wall -pedantic, vérifier régulièrement que rien ne cloche avec Electric Fence, Valgrind et d'autres compilateurs (celui d'Intel donne beaucoup plus de warnings que GCC par exemple, il est pas libre mais il est disponible gratuitement sous certaines conditions), définir un coding style et s'y tenir,...
Programmer proprement quoi. Une fois qu'on fait ça, retrouver un bug devient généralement bien plus facile pour la simple raison qu'on le trouve plus tôt dans le développement.
Pour ce qui est de l'affiche des structures des données, c'est plutôt du ressort du debugger (ddd marche bien pour ça) même s'il est vrai que dans certains cas ça reste plus pratique d'avoir une fonction d'affichage à côté.
À ce sujet j'ai commencé un vague argumentaire à l'encontre du "printf()-debugging". Faudra que je pense à en faire un vrai texte un jour. http://www.krunch.be/vrac/txt/printf-debugging-harmful
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
mais un truc qui me fait doucement sourire, c'est que ces logs anonymisés des recherches AOL ne sont rien de plus ni de moins que : http://linuxfr.org/~plagiats/6919.html
Bien plus quand même. Un identifiant est associé à chaque utilisateur alors que dans le cas de Lycos Voyeur, tu n'as que des requètes et rien qui permette de les lier entre elles.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
L'équivalent d'autoexec.bat il me semble que ça serait de le mettre en script d'init. Par contre ça veut dire que quelque soit la personne qui démarre l'ordinateur, il devra répondre aux questions avant même de pouvoir se logguer et que ceux qui se loggueront après n'auront pas besoin de le faire.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
Ben en fait si : http://code.google.com/projects.html
AFAIK, le seul autre projet open source sponsorisé par Microsoft c'est FlexWiki[0] (à moins que quelqu'un ne me prouve le contraire). Ca fait 14 à 3.
Sauf que quand security.ubuntu.com est inaccessible (comme ça a été le cas une bonne partie de la semaine, peut-être encore maintenant), ça marche pas.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
J'ai un peu testé et c'est pas très pratique à utiliser (javasux et cgi:irc merci mais non). Pourquoi ne pas simplement fournir un lien en irc://irc.free.fr/#lechan plutôt que d'utiliser un applet Java ou CGI:IRC (qui pourrait quand même être disponible au cas où).
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
Je pense qu'un des intérêts de RandomChat c'est qu'il n'est pas nécessaire de donner la moindre information personnelle pour commencer. Tandis qu'avec Jabber, le correspondant a ton adresse Jabber (on peut toujours se créer un compte Jabber pour l'occasion mais bon). J'imagine qu'il serait possible d'écrire un plugin Jabber qui permet à deux personnes de se rencontrer tout à fait anonymement mais AFAIK ça n'existe pas encore.
Par ailleurs, un système de classification par centre d'intérêt pourrait être intéressant.
Waiting for someone to connect... This may last some time...
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
Une alternative entre le tableau qui prend plein de place mais effectue un tirage en temps constant et l'itération compacte mais linéaire serait d'utiliser un arbre de probabilités qui prendrait un peu plus de place que le minimum mais qui serait parcouru en un temps logarithmique.
Par exemple (en Scheme parce que ça s'y prête bien et que ça fait longtemps, à noter que la fonction « random » de Guile renvoit un entier entre 0 compris et son argument non compris) :
(define randelem-aux
(lambda (n l c)
(cond ((null? l) c)
((< (random n) 1) (randelem-aux (+ 1 n)
(cdr l)
(car l)))
(else (randelem-aux (+ 1 n)
(cdr l)
c)))))
(define randelem
(lambda (l)
(randelem-aux 1 l '())))
(define randtree
(lambda (tree)
(if (not (list? tree)) tree
(randtree (randelem tree)))))
Il suffit ensuite d'appeller randtree avec en argument l'arbre de probabilité correspondant. Avec l'exemple cité, ça donnerait :
(randtree '(d (c c a b e)))
Graphiquement, l'arbre ressemble à quelque chose comme ça :
|___
| |
d |_____
| | | | |
c c a b e
L'idée c'est de descendre jusqu'à une feuille en prenant une branche au hasard à chaque fois. Au premier noeud, on a une chance sur deux de tomber sur « d » (donc 5/10). Au deuxième noeud, on a deux chances sur cinq (donc (1/2)*(2/5)=(2/10)) de tomber sur « c » et une chance sur cinq (donc (1/2)*(1/5)=(1/10)) pour « a », « b » et « e ».
Bon faut aussi s'arranger pour construire l'arbre automatiquement et je laisse le soin aux matheux d'analyser l'efficacité de l'algorithme (en vitesse et en mémoire) en fonction de la répartition des probabilités.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
On n'a pas dit de colorer le point (bon on n'a pas dit de pas le faire non plus).
echo "Je ne ferais pas faire mes projets par mes petits camarades."|perl -ne's/(^|[^a-z]+)/\033[0m$1\033[0;31;40m/gi;s/([aeiouy]+)/\033[0;32;40m$1\033[0;31;40m/gi;print$_ x 100;END{print"\033[0m"}'
Doit y avoir moyen de faire plus court.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: bizarre
Posté par Krunch (site web personnel) . En réponse au message bug gcc ? ou je n'y comprend plus rien .... Évalué à 4.
Programmer proprement quoi. Une fois qu'on fait ça, retrouver un bug devient généralement bien plus facile pour la simple raison qu'on le trouve plus tôt dans le développement.
Voir aussi le guide superflu de programmation en langage C :
http://docs.happycoders.org/orgadoc/dev/C/c-superflu.pdf
Pour ce qui est de l'affiche des structures des données, c'est plutôt du ressort du debugger (ddd marche bien pour ça) même s'il est vrai que dans certains cas ça reste plus pratique d'avoir une fonction d'affichage à côté.
À ce sujet j'ai commencé un vague argumentaire à l'encontre du "printf()-debugging". Faudra que je pense à en faire un vrai texte un jour.
http://www.krunch.be/vrac/txt/printf-debugging-harmful
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: c'est simple
Posté par Krunch (site web personnel) . En réponse au journal Pourquoi aimez-vous coder ?. Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: chouette :)
Posté par Krunch (site web personnel) . En réponse à la dépêche Un dernier clou dans le cercueil du WEP. Évalué à 7.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Le blues du programmeur ...
Posté par Krunch (site web personnel) . En réponse au journal Pourquoi aimez-vous coder ?. Évalué à 2.
http://www.cabochon.com/~stevey/blog-rants/tour-de-babel.htm(...)
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Pour les datamineurs fous :
Posté par Krunch (site web personnel) . En réponse au journal AOL Exhibition. Évalué à 3.
501
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Pour les datamineurs fous :
Posté par Krunch (site web personnel) . En réponse au journal AOL Exhibition. Évalué à 2.
Par ailleurs : Pourtant il y en a certains (au moins un) où on a l'url complet :
Sinon à force de grep(1)er, on tombe sur des trucs marrants.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: find the terrorist
Posté par Krunch (site web personnel) . En réponse au journal AOL Exhibition. Évalué à 3.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# find the terrorist
Posté par Krunch (site web personnel) . En réponse au journal AOL Exhibition. Évalué à 4.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# avant X
Posté par Krunch (site web personnel) . En réponse au message Fais tes devoirs avant !. Évalué à 1.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: bibliothèque
Posté par Krunch (site web personnel) . En réponse au message Algorithmes de recherche. Évalué à 3.
http://www.krunch.be/vrac/cours/05-06-1linf/si/resume.pdf
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Google a t'il besoin de publicité ?
Posté par Krunch (site web personnel) . En réponse au journal Google Life of Code pour Andrew Morton. Évalué à 2.
AFAIK, le seul autre projet open source sponsorisé par Microsoft c'est FlexWiki[0] (à moins que quelqu'un ne me prouve le contraire). Ca fait 14 à 3.
[0] http://www.flexwiki.com/
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Google a t'il besoin de publicité ?
Posté par Krunch (site web personnel) . En réponse au journal Google Life of Code pour Andrew Morton. Évalué à 6.
http://wix.sourceforge.net/
http://wtl.sourceforge.net/
http://goog-ajaxslt.sourceforge.net/
http://libjingle.sourceforge.net/
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Ubuntu en tête ?
Posté par Krunch (site web personnel) . En réponse au journal Réactivité des distributions en terme de sécurité. Évalué à 4.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # didn't you get the memo ?
Posté par Krunch (site web personnel) . En réponse au journal PHP is dying. Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Ubuntu en tête ?
Posté par Krunch (site web personnel) . En réponse au journal Réactivité des distributions en terme de sécurité. Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# bonne idée, implémentation pourrie
Posté par Krunch (site web personnel) . En réponse au message Et encore un projet... le random chat :). Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Une JPE ?
Posté par Krunch (site web personnel) . En réponse au message Et encore un projet... le random chat :). Évalué à 2.
Par ailleurs, un système de classification par centre d'intérêt pourrait être intéressant.
Waiting for someone to connect... This may last some time...
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# Ubuntu en tête ?
Posté par Krunch (site web personnel) . En réponse au journal Réactivité des distributions en terme de sécurité. Évalué à 4.
(ce commentaire aura une note négative mais c'est pas grave)
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: c'est un problème de groupage
Posté par Krunch (site web personnel) . En réponse au message find -o bizzare. Évalué à 0.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: tu copieras 100 fois dans ta console
Posté par Krunch (site web personnel) . En réponse au journal Tirage aléatoire dans un tableau. Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# alternative arboricole
Posté par Krunch (site web personnel) . En réponse au journal Tirage aléatoire dans un tableau. Évalué à 4.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: tu copieras 100 fois dans ta console
Posté par Krunch (site web personnel) . En réponse au journal Tirage aléatoire dans un tableau. Évalué à 4.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Forums
Posté par Krunch (site web personnel) . En réponse au journal Tirage aléatoire dans un tableau. Évalué à 3.
Ce dont je ne me souvenais pas c'est de ce post là par contre : http://linuxfr.org/~ploum/12754.html#413047
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Forums
Posté par Krunch (site web personnel) . En réponse au journal Tirage aléatoire dans un tableau. Évalué à 5.
https://linuxfr.org/forums/19/3252.html
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# Tout a déjà été dit ...
Posté par Krunch (site web personnel) . En réponse au journal J'en ai rêvé, Microsoft l'a fait !. Évalué à 5.
http://linuxfr.org/~g78/21409.html#701990
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.