Warning: Cannot modify header information - headers already sent by (output started at /home/gillesbld/www/weblog/inc/config.php:41) in /home/gillesbld/www/weblog/inc/clearbricks/common/lib.http.php on line 222

Warning: Cannot modify header information - headers already sent by (output started at /home/gillesbld/www/weblog/inc/config.php:41) in /home/gillesbld/www/weblog/inc/clearbricks/common/lib.http.php on line 224

Warning: Cannot modify header information - headers already sent by (output started at /home/gillesbld/www/weblog/inc/config.php:41) in /home/gillesbld/www/weblog/inc/public/lib.urlhandlers.php on line 65

Warning: Cannot modify header information - headers already sent by (output started at /home/gillesbld/www/weblog/inc/config.php:41) in /home/gillesbld/www/weblog/inc/clearbricks/common/lib.http.php on line 247
Embedded weblog - Tag - code of the day - Commentaires 2014-05-14T10:00:05+02:00 Gilles Blanc urn:md5:b402c09b50e67198753bdd4269dc5b19 Dotclear commentaire expiatoire du jour - Gilles Blanc urn:md5:277cf29e349183ffca5e006261d08a11 2010-02-09T12:57:01+01:00 Gilles Blanc <p>Le noyau Linux est un noyau, et dans tout noyau, la loi est claire :</p> <p><blockquote><p>Art42. L'utilisation du goto est puni de la peine de flagellation par câble Kensington®, *sauf* dans le cadre de la programmation kernel (ou assimilé) où elle est autorisée.</p> </blockquote></p> <p>C'est ainsi.</p> commentaire expiatoire du jour - Damien urn:md5:616c203332d564b5a2cb23895dfff7a6 2010-02-08T09:22:30+01:00 Damien <p>Quoique l'exemple ci-dessus soit suffisamment simple pour que son auteur ait pu se passer du goto, c'est justement dans ce genre de situations (la seule d'ailleurs) que je me permets l'utilisation de goto.<br /> On en trouve de nombreux exemples dans le code du noyau Linux.<br /> Une discussion intéressante à ce sujet ici :<br /> <a href="http://kerneltrap.org/node/553" title="http://kerneltrap.org/node/553" rel="nofollow">http://kerneltrap.org/node/553</a><br /> Aurais-je loupé autre chose?</p> <p>Cordialement,<br /> Damien</p> le code geekesque du jour - Gilles Blanc urn:md5:9e236e3603d463eb8af76c38c0a371e2 2010-01-21T18:07:17+01:00 Gilles Blanc <p>Tout d'abord... bonne année !&nbsp; :)</p> <p>Quand tu vois le code de ¤$@@^&nbsp; de gnome (notamment avec des "goto out" pour exécuter deux lignes de free et un return... La variable "live" à la con paraît tout à coup un coup de génie), au moins, quand tu tombes sur ça, avec tes yeux qui saignent, tu esquisses un sourire...&nbsp; &gt;_&lt;"</p> le code geekesque du jour - Samuel Tardieu urn:md5:59c0672a67835458b3bccc6c5304967d 2010-01-18T13:01:33+01:00 Samuel Tardieu <p>(vous == eux, je n'avais pas vu d'où ça venait)</p> le code geekesque du jour - Samuel Tardieu urn:md5:743c0ec03d05b6e9e6afe2e00e7cb786 2010-01-18T12:54:17+01:00 Samuel Tardieu <p>Geekesque ? C'est inutilement compliqué, et la variable "live" n'est pas utile.</p> <p>Cf. <a href="http://pastebin.com/f66f88e46" title="http://pastebin.com/f66f88e46" rel="nofollow">http://pastebin.com/f66f88e46</a> pour le même code en simplifié.</p> <p>De plus, il vous faut vraiment un " " à la fin de vos chaînes de debug ? Ça vous arrive de les construire en plusieurs appels successifs ?</p> le code qui fait mal aux yeux du jour - Gilles Blanc urn:md5:835e81bcf843a21f7214e4320ba2d3a1 2009-12-04T15:09:31+01:00 Gilles Blanc <p>:)</p> <p>Pointeur de fonction, quand tu nous tiens...</p> le code qui fait mal aux yeux du jour - Samuel Tardieu urn:md5:56149ae7681b2ac97fdab4f0bb6ede91 2009-12-02T19:13:35+01:00 Samuel Tardieu <p>Faire clignoter une led ? Je ne m'étais jamais posé la question, mais c'est trivial : <a href="http://paste.factorcode.org/paste?id=1048" title="http://paste.factorcode.org/paste?id=1048" rel="nofollow">http://paste.factorcode.org/paste?i...</a></p> <p>Note la capture de "led" et "on" dans la closure du premier argument de setInterval(). Je ne trouve pas le code particulièrement inélégant. Même si je ne pratique que très rarement le Javascript, je pense que c'est un plutôt beau langage.</p> le code qui fait mal aux yeux du jour - Gilles Blanc urn:md5:b31b53dd9200b08cd1b4a62fef081c4d 2009-12-02T16:00:40+01:00 Gilles Blanc <p>Je vais demander un DIF Erlang, on m'en parle tellement...&nbsp;&nbsp; :p</p> <p>Bref, on aura deviné que si j'avais besoin de ça, c'est que je suis en train de faire du crasseux pour passer outre des bugs, qui sont induits... par un langage crasseux... Et je ne t'explique même pas l'idée de substitution pour résoudre le problème, elle est pire encore (n'empêche que pour le moment : bug IE non résolu, client pas content). Mais faire une tempo dans un langage de prog graphique, je ne vois pas le problème : la prog par callback au timeout, ça rappelle fortement Motif, et ses fabuleuses boucles de procédures faisant des callbacks sur elles-mêmes (oh, sans tenir compte du délai d'exécution, que j'avais en plus, miam les désynchros...). Comment fait-on clignoter simplement une LED en JS ?&nbsp; :D&nbsp; (puisque je faisais du GPIO jeudi dernier en Python ; ça au moins, je connais...).</p> le code qui fait mal aux yeux du jour - Samuel Tardieu urn:md5:f1deaddd6ade03d5d3be12e7d2026fa8 2009-12-02T12:46:07+01:00 Samuel Tardieu <p>Le problème ici ne concerne pas les créateurs de Javascript, mais les utilisateurs qui ici utilisent du busy waiting.</p> <p>D'autres très beaux langages comme Erlang ne disposent pas d'une fonction "sleep" non plus. L'idiome consiste à attendre un message qui ne peut pas arriver avec un timeout positionné sur le délai qui nous intéresse.</p> <p>En Javascript, il suffit, si on a *vraiment* besoin d'attendre un temps donné, d'utiliser les fonctions de synchronisation idoines et les fonctionalités de gestion du temps comme les alarmes. C'est tout aussi propre que "sleep" et peut souvent révéler qu'en fait il n'y en a pas du tout besoin.</p>