Obsidian a écrit 5299 commentaires

  • [^] # Re: L'emprise de l'empire

    Posté par  . En réponse au journal piratage de logiciels libres. Évalué à 6.

    Effectivement, les logiciels ont sans doute plu ; à moins qu'il s'agisse d'un syndrome du cartable

    Rien à voir avec le problème du sac à dos, je suppose ! :-)

    Allez hop ->[].
  • # Baptème ?

    Posté par  . En réponse au journal Feuilles de style linufr. Évalué à 3.

    Sympatique, ta C.S.S., et il y a effectivement beaucoup de travail derrière. Mais il faudrait lui trouver un petit nom ...
  • [^] # Re: GOTO : Nostalgie...

    Posté par  . En réponse au journal Sortie de PHP 5.3. Évalué à 2.

    Si tu remontes le fil et prends le temps de le lire, tu verras que je ne suis pas opposé aux gotos, bien au contraire, et notamment pour les raisons qu'expose Linus.
  • [^] # Re: GOTO : Nostalgie...

    Posté par  . En réponse au journal Sortie de PHP 5.3. Évalué à 5.

    Et le mec disait en gros « Parfois il est plus utile d'utiliser un GOTO bien placé et bien optimisé que des imbrications de if et else qui rendent votre application illisible, non-optimisée, non-optimisable et donne des codes assembleurs de 15 km »

    En même temps, moi je suis assez fan des « if » imbriqués, aussi. En fait, je trouve que l'essence même de la programmation structurée se trouve là-dedans : pouvoir identifier au niveau formel la route suivie par le code.

    Je trouve ça beaucoup plus propre que de tout mettre à plat et de quitter la fonction avec un return (qui est un goto déguisé, quand il ne se trouve pas en fin de fonction) dès que quelque chose cloche. D'abord, parce que quand on élabore un processus complexe où chaque opération est dépendante de la première, il devient très difficile de déconstruire ce que l'on a fait dans les lignes précédentes si une condition vient à ne pas être remplie et qu'il faut avorter le processus, ensuite parce que la prochaine action ne peut être déterminée qu'en connaissant l'état de la machine au run-time.

    À contrario, des « if » imbriqués ne sont pas si illisbles que çà, surtout s'ils sont proprement indentés : en choisissant par exemple une largeur de 4 caractères, on peut descendre jusqu'au dixième niveau d'imbrication − rarement atteint en pratique − sans dépasser la moitié de la zone d'édition sur un terminal ou une vieille imprimante matricielle en 80 colonnes. En travaillant sous X-Window avec un écran plat moderne au format 16:9, j'ai un terminal de 208 colonnes. Je peux en ouvrir deux cotes à cotes et avoir encore de la place dans chacun d'eux.

    En outre, cela structure le code dès le niveau syntaxique : quoi qu'il se passe, tout ce qui est dépendant d'une condition se trouve à l'intérieur d'un bloc. Ça permet entre autre d'utiliser facilement les fonctions de repliement de son éditeur de texte préféré. On pourrait même imaginer combiner cette fonction de repliement à l'état du debugger si on pouvait garantir que tous les programmes sources étaient rédigés de cette façon.

    Ça permet également de poser tout de suite les post-conditions : par exemple, si la première étape d'un long cheminement consiste à ouvrir un fichier, eh bien je teste la validité du handler dans mon if(), j'ouvre le bloc et je place tout de suite le close() à la fin. Ensuite, j'insère la suite de mon code entre le début du bloc et ce close(). De fait, je suis sûr de ne jamais l'oublier, que la suite du programme réussisse ou échoue. Ça permet de maintenir un programme sur de nombreuses années, y compris par plusieurs personnes différentes, qui n'ont pas besoin de savoir a priori que cela a été écrit auparavant. Dans le cas contraire, il faut mettre en place une procédure de sortie anticipée et penser à la remplir au fur et à mesure que le code évolue.
  • [^] # Re: GOTO : Nostalgie...

    Posté par  . En réponse au journal Sortie de PHP 5.3. Évalué à 6.

    Ça, c'est un autre troll débat.

    D'une part, la lisibilité est une notion très subjective. Ça peut être justifié mais, huit fois sur dix, quand on dit qu'un code n'est pas lisible, c'est que l'on manque d'argument. Un « ++x » ni plus ni moins lisible qu'un « x++ ». C'est un peu comme polémiquer pour savoir s'il faut mettre l'accolade ouvrante « {&nsbp;» à droite ou en dessous du nom de la fonction (je la mets en dessous).

    Ensuite, écrire du code d'une certaine façon en tablant sur le fait que le compilateur va l'optimiser ensuite n'est pas une raison valable à elle seule d'adopter une manière d'écrire plutôt qu'une autre. D'abord parce que ce n'est pas garanti (dépend du compilateur) et qu'ensuite, ça ne sert à rien d'écrire d'une certaine manière si l'on veut que ce soit traduit de façon complètement différente.
  • [^] # Re: GOTO : Nostalgie...

    Posté par  . En réponse au journal Sortie de PHP 5.3. Évalué à 3.

    Voire même :

    10 PRINT "ça fait chier les cons":GOTO 10
  • [^] # Re: GOTO : Nostalgie...

    Posté par  . En réponse au journal Sortie de PHP 5.3. Évalué à 3.

    Et surtout, le if() à chaque itération était l'une des choses que je cherche précisément à éviter dans mon premier commentaire.

    Par contre, je suis assez fan des pré-incrémentations, aussi. Peux-tu nous expliquer pourquoi elles sont proscrites par chez toi ?
  • # Pigeon Drop

    Posté par  . En réponse au journal Où il est question d'Euratechnologies. Évalué à 10.

    d'y faire tourner FreeBSD sur très grand écran, ainsi que d'y rencontrer un pigeon mort

    C'est juste un packet loss selon la RFC 1149. Ça prouve que tous les protocoles sont pris en charge. C'est plutôt une bonne chose, non ?
  • [^] # Re: trouvé :)

    Posté par  . En réponse au message HP48 : sommer la pile. Évalué à 2.

    +1

    D'ailleurs, j'ai une panne un peu chiante sur la mienne : le clavier ne fonctionne plus car il semble qu'un contacteur entre deux circuits imprimés se soit décollé. Je suis obligé d'appuyer avec le pouce sur la partie grise sous les touches de fonction pour pouvoir l'utiliser.

    Il me semble que le boîtier de la HP48 est assemblé avec des rivets en plastique plutôt qu'avec des vis et qu'on ne peut donc pas l'ouvrir sans l'usiner.

    Quelqu'un a-t-il déjà rencontré ce genre de problème ?
  • [^] # Re: GOTO : Nostalgie...

    Posté par  . En réponse au journal Sortie de PHP 5.3. Évalué à 5.

    C'est quand même mieux si tu recharges la page avant de poster.
  • [^] # Re: GOTO : Nostalgie...

    Posté par  . En réponse au journal Sortie de PHP 5.3. Évalué à 10.

    Et paf la C.S.S. ! :-)
  • [^] # Re: GOTO : Nostalgie...

    Posté par  . En réponse au journal Sortie de PHP 5.3. Évalué à 3.

    Édit après relecture : il faut lire while(x<y) (ou virer y) et mettre un x++ quelque part, bien sûr. Mais le principe reste le même.
  • [^] # Re: GOTO : Nostalgie...

    Posté par  . En réponse au journal Sortie de PHP 5.3. Évalué à 4.


    int x,y;

    x=1;
    y=5;

    goto entree:
    do
    {
    printf ("-");
    entree:
    printf ("%d",x);
    }
    while (x<5);


    1-2-3-4-5
  • [^] # Re: GOTO : Nostalgie...

    Posté par  . En réponse au journal Sortie de PHP 5.3. Évalué à 3.

    Moi, je m'en sers entre autre pour faire débuter le premier cycle d'une boucle while un peu plus loin que le début. Ça permet de gérer tous les cas de type « 1 + le reste » sans avoir à faire un test à chaque itération.

    Cependant, le goto est tellement banni de nos jours qu'on ne peut même plus se permettre de l'utiliser dans des cas légitimes (les gens préférent presque voir une variable à la place). Je suis d'accord qu'il ne faut pas habituer les jeunes programmeurs à y recourir systématiquement mais là, plus personne ou presque ne sait aujourd'hui pourquoi cette instruction est tant proscrite.

    À dire vrai, je milite pour la rédaction un guide du bon usage du goto et pour son enseignement « propre » dans les écoles. Pour certains, n'importe quelle horreur est préférable à un goto (par exemple des exit() au beau milieu d'une procédure).
  • # Xorg

    Posté par  . En réponse au message Xwindow pour gerer deux ecrans. Évalué à 2.

    Si tu veux gérer deux têtes de postes (consoles écran-clavier-souris) distinctes, tu peux le faire facilement en lançant deux serveurs X. Plusieurs structures dont des écoles le font déjà pour partager la même machine.

    Avec X.org, tu dois pouvoir le faire facilement. Voici mon propre fichier de conf'

    # Xorg configuration created by pyxf86config

    Section "ServerLayout"
    Identifier "Default Layout"
    Screen 0 "Screen0" 0 0
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection

    Section "InputDevice"

    # generated from default
    Identifier "Mouse0"
    Driver "mouse"
    Option "Protocol" "auto"
    Option "Device" "/dev/input/mice"
    Option "Emulate3Buttons" "no"
    Option "ZAxisMapping" "4 5"
    EndSection

    Section "InputDevice"

    # keyboard added by rhpxl
    Identifier "Keyboard0"
    Driver "kbd"
    Option "XkbModel" "pc105"
    Option "XkbLayout" "fr"
    Option "XkbVariant" "latin9"
    EndSection

    Section "Monitor"
    Identifier "Monitor0"
    VendorName "Unknown"
    ModelName "Unknown"
    HorizSync 30.0 - 110.0
    VertRefresh 50.0 - 150.0
    Option "DPMS"
    EndSection

    Section "Device"
    Identifier "Videocard0"
    Driver "nvidia"
    EndSection

    Section "Screen"
    Identifier "Screen0"
    Device "Videocard0"
    Monitor "Monitor0"
    DefaultDepth 24
    SubSection "Display"
    Viewport 0 0
    Depth 24
    EndSubSection
    EndSection


    Ma souris USB est lue depuis /dev/input/mice et la section Screen gère les différents viewports. Avec tout cela, tu dois avoir suffisamment de lattitude pour gérer tes deux écrans en même temps.
  • [^] # Re: Renouvellement, tout simplement.

    Posté par  . En réponse au message Certificat, https, etc. Évalué à 3.

    En précisant quand même que c'est toujours plus sûr que de naviguer en clair.

    Reste à savoir si c'est vraiment nécessaire, à part pour le mot de passe ...
  • [^] # Re: libdvdcss

    Posté par  . En réponse au message lire un dvd video. Évalué à 3.

    Ça veut dire quoi « toujours rien », tu obtiens un message d'erreur ? L'application quitte silencieusement ? As-tu essayé avec plusieurs D.V.D. ? Peux-tu lire les D.V.D. non codés (comme ceux enregistrés par un graveur de salon) ? Donne des détails ...
  • # B.d.R.

    Posté par  . En réponse au journal He's bad.... Évalué à 9.

    Selon différentes sources, Michael Jackson aurait subit une crise cardiaque

    SUBI !

    Par pitié, ne mettez plus de t final aux participes passés du deuxième groupe. Ce sont les verbes du troisième qui en réclament. Et ce n'est pas parce que « dire », « lire » et « écrire » font partie des verbes les plus usités de la langue française qu'ils ont le droit de passer en seconde division. Na.
  • [^] # Re: -and -not -name .\*

    Posté par  . En réponse au message ignrorer des répertoire avec find ?. Évalué à 0.

    C'est mieux si tu ajoutes « bonjour » et « merci » dans des interventions, également.
  • [^] # Re: Résultat d'un concours?

    Posté par  . En réponse au journal Get The Facts : le retour. Évalué à 4.

    Moi je pense que, comme dans toutes les bonnes grosses boîtes bien corporatistes, il y a un service (prière d'éviter « département », merci) à que l'on a chargé de faire l'argumentaire du nouveau-produit-pas-encore-sorti.

    C'est comme quand on tombe sur un mauvais sujet à l'examen de français et qu'on se retrouve obligé d'en rédiger l'explication alors que l'on ne croit pas un traitre mot de ce qu'il contient. 'faut bien creuser quand même et chercher ce qu'il y a de plus tiré par les cheveux si l'on veut avoir des points.
  • [^] # Re: Profitez-en avant qu'il n'y en ait plus !

    Posté par  . En réponse au journal Hadopi : le prestataire pour la partie applicative a été selectionné. Évalué à 10.

    Milite pour un about:black sur les navigateurs !

    Bah là, on peut dire que tu l'as eu, cette année :-)
  • [^] # Re: vendredi

    Posté par  . En réponse à la dépêche La République Populaire de Chine impose un logiciel de contrôle d'accès défaillant. Évalué à 5.

    Euh, elle est ou la sortie ?

    Sous OpenOffice, c'est Ctrl-Q.
  • # Verdict

    Posté par  . En réponse au journal Historique, je te vois !. Évalué à 7.

    Résultat du scan :

    http://google.fr/
    http://viedemerde.fr/
    http://thedailywtf.com/


    Ou comment se retrouver brutalement face à soi-même ! :-) Y a de quoi faire peur, anéfé ...
  • # QCad ?

    Posté par  . En réponse au message Logiciel PAO/DAO matériaux souples. Évalué à 2.

    Bonjour,

    QCad ne suffirait-il pas ?

    http://www.ribbonsoft.com/qcad.html
  • # Albanel contre-attaque

    Posté par  . En réponse à la dépêche Le Conseil Constitutionnel français censure la loi HADOPI. Évalué à 8.

    Moi, ce que j'en retiens surtout, c'est qu'Albanel a bien l'intention de renvoyer devant le parlement l'article incriminé. Donc, elle va nous pondre un truc aussi sournois mais constitution-compliant et la majorité va nous refaire le coup de l'obstruction pour que ce soit définitivement réglé. De toutes façons, ils l'ont dit eux-mêmes, ce n'est plus le texte qui est à débattre, la majorité étant persuadée d'être dans le vrai. L'important est de ne pas perdre.

    En ce qui me concerne, le black out est toujours en vigueur. C'est le moment, pendant que l'affaire est médiatisée, de prendre la parole, de faire de la pé-da-go-gie (c) et de se faire entendre le plus possible d'ici à ce que l'article litigieux soit revoté. Ecrivez à Jack Lang, écrivez à Pierre Arditi et mobilisez vos députés tant que vous le pouvez.