VoixOff a écrit 148 commentaires

  • [^] # Re: Fantastique

    Posté par  . En réponse au journal [HS] - Science Fiction. Évalué à 1.

    Encore un dont les habitants peuvent voler.
    Mdr, j'ai lu "peuvent voter" :-)
  • [^] # Re: c'est une expérience...

    Posté par  . En réponse au journal Sursis pour le Cobol ??. Évalué à 3.

    T'es-tu déjà connecté à un mainframe pour dire de telles choses ?

    Pour programmer, l'éditeur est vraiment super, surtout si on l'agrémente de macros en Rexx.
    Pour créer des outils d'aide au développement, ISPF, qui peut être comparé à curses (donc en mode texte), est tout à fait correct.

    Le vrai problème de COBOL est que les fonctions intéressantes fournies par l'os ne sont directement utilisables (à qq exceptions près). Pour faire des trucs sexys, il faut sortir l'assembleur. Mais à côté de ça, on fait des choses très rigolotes comme des analyseurs syntaxiques, des parseurs XML, etc. :-)

    Mais la plus grosse différence se trouve être le type de traitements que l'on fait tourner sous z/OS. Valoriser des millions de contrats quotidiennement n'est pas à la porté de tous les environnements...

    Le système de fichiers est paradoxal, car par certains aspects il est archaïques (limite sur le nom des fichiers, pas de notion de sous-répertoire, etc.), par d'autres il est en avance (gestion des gros fichiers).

    Connaissant bien les deux mondes (z/OS et Unix/linux), je préfère faire de la prod' sous z/OS !

    Disclaimer: je ne code pas d'applis bancaires, mais des outils techniques pour les développeurs métier :-) Je sais c'est de la triche.
  • [^] # Re: Pas particulièrement geek

    Posté par  . En réponse au journal Les "geeks" & la langue française. Évalué à 1.

    J'ai trouvé une faute :-)
    C'est "Cela dit", et non pas "Ceci dit".
    "Ceci" présente, "Cela" résume.
  • # Ça me rappelle Ford...

    Posté par  . En réponse au journal Adieu les écrans normaux. Évalué à 3.

    Vous pouvez choisir la couleur de la voiture, du moment que vous la voulez noire !
  • [^] # Re: mauvaise nouvelle bis

    Posté par  . En réponse au journal Mauvaise nouvelle : les animations flash indexables par les moteurs de recherche. Évalué à 4.

    C'est d'ailleurs pour ça que le pdf est une merde à lire à l'écran.
    On dématérialise les documents mais l'affichage simule une impression... youpi.
  • [^] # Re: Séparateur ?

    Posté par  . En réponse au message YACC: retour-chariot comme séparateur. Évalué à 1.

    Pour la postérité :-), la start condition ne sert plus à rien.
    Les règles suivantes fonctionnent très bien :
    ^[ \t]*"resize" return RESIZE;
    ^[ \t]*"when" return WHEN;

    Et puis, il ne faut pas fusionner les règles
    [ \t]+ ;
    [\n]+ ;

    sinon ça flingue le code ci-dessus.
  • [^] # Re: Séparateur ?

    Posté par  . En réponse au message YACC: retour-chariot comme séparateur. Évalué à 2.

    J'ai trouvé mon problème. Il ne fallait pas retourner les fins de ligne. Donc je les consomme silencieusement (comme des commentaires et des espaces en fait). Le WE et tes remarques ont porté conseil :-)

    Pour le terminateur, je ne peux pas l'utiliser car le parser doit compiler et tourner sous AIX, et la version de Lex disponible ne comprend pas <<EOF>> (il semble même que ce soit spécifique à Flex). Mais en forçant la reconnaissance des RESIZE et WHEN en début de ligne, je m'en sors très bien. Même si la syntaxe autorise de découper les instructions en morceaux, c'est un moindre mal (d'ailleurs je vois pas comment l'empêcher).

    Effectivement, les WHEN doivent être suivis d'un ou plusieurs RESIZE, donc il n'y a pas d'ambiguïté je pense.

    Pour les commentaires, il n'est pas nécessaire d'ajouter $ à la fin de la regex car le point ne matche pas la fin de ligne.

    Quant au return '\n', ça ne doit pas poser de problème car les tokens définis par Bison/Yacc commencent à 256 ou 257, justement pour pouvoir retourner des caractères individuels. Mais du coup ça ne doit pas être compatible avec l'UTF-8.

    Merci beaucoup pour tes commentaires.
    Sous MVS, j'ai développé mes lexers et parsers en COBOL (!), mais comme c'est pour Unix, je voulais réviser Lex et Yacc :-)
  • # UUID et LABEL

    Posté par  . En réponse au message Contrôleur Ultra ATA modifie ordre des périphériques. Évalué à 2.

    Le plus simple c'est d'utiliser les UUIDs ou les LABELs. Pour les UUIDs, ça marche tout seul en remplaçant les périphériques par leur id (root=/dev/hda1 --> root=UUID=...), que tu trouves dans /dev/disk/by-uuid. Mais c'est pas très sexy.
    Si tu donnes à chaque partition un LABEL unique (comme DebianSys, Home, etc.), en passant par tune2fs -L par exemple, ça marche comme avec les id (root=LABEL=DebianSys) mais c'est plus lisible.

    L.
  • [^] # Re: Séparateur ?

    Posté par  . En réponse au message YACC: retour-chariot comme séparateur. Évalué à 2.

    En fait le problème qu'il y a à gérer le séparateur dans la grammaire, c'est que ça l'alourdit. De plus il faut distinguer la notion de séparateur et de terminateur. Et puis il faut accepter de façon transparente les lignes vides en début de script...
    Pour les cas simples, la technique que tu décris fonctionne mais j'ai des difficultés lorsque je veux prendre en compte les répétitions de non-terminaux.

    Bon, en enlevant le superflu, ça donne ceci :

    script
    : separator resize_list
    | separator when_list
    | separator resize_list '\n' when_list
    ;
    when_list
    : when_expr
    | when_list '\n' when_expr
    ;
    when_expr
    : WHEN cond_list '\n' resize_list
    ;
    cond_list
    : cond_expr
    | cond_list AND cond_expr
    ;
    resize_list
    : resize_expr
    | resize_list '\n' resize_expr
    ;

    Il refuse d'interpréter plus d'une fois une when_list. Grrr.

    Quant à l'analyseur lexical, j'ai trouvé une méthode pour forcer la reconnaissance d'un lexème en début de ligne (avec ou sans espaces) en utilisant une start condition.
    Mais il me pourrit la vie avec les commentaires qui ne sont pas reconnus comme fin de ligne, malgré ça :

    %{
    #include <stdio.h>
    #include <string.h>
    #include "y.tab.h"
    %}
    %s tol
    %%
    ^[ \t]+ BEGIN(tol);
    "resize" { BEGIN(0); return RESIZE; }
    "when" { BEGIN(0); return WHEN; }

    ^"resize" return RESIZE;
    ^"when" return WHEN;

    "and" return AND;
    "to" return TO;

    [,()=] return *yytext;

    [0-9]+ { yylval.number = atoi(yytext); return NUMBER; }
    [a-z]+ { yylval.type = strdup(yytext); return TYPE; }
    \"[^\"]*["\n] { yylval.string = strdup(yytext); return STRING; }
    '[^']*['\n] { yylval.string = strdup(yytext); return STRING; }

    "//".* ; /* comments */
    [ \t]+ ; /* spaces */
    [\n]+ return '\n';

    . fprintf(stderr, "invalid character: '%c'\n", *yytext);
    %%

    To be continued.

    Merci pour tes remarques.
  • [^] # Re: cheval de troie ou bug ?

    Posté par  . En réponse à la dépêche Ubuntu 8.04 LTS : GNU/Linux pour le grand public. Évalué à 3.

    Ne voulant pas rester sur un échec, j'ai retenté l'installation hier et ça a marché ! Allez savoir...

    La seule différence significative entre les deux installations est que je n'avais pas reformaté la partition cible la première fois car elle l'était déjà (j'avais préparé le terrain). Mais je vois pas bien ce que ça peut changer. De plus c'est le noyau du LiveCD qui est installé et qui marche forcément :-/
    Après ce formatage, j'ai activé les labels et ils ont été utilisés à la place des uuid. Ce qui est bien plus lisible. Bien sûr, il faut qu'ils soient différents d'un disque à l'autre.

    En tout cas merci pour ta réponse. J'avais cherché dans ce sens, mais je m'étais placé en mode Newbie. Depuis quelques temps, je refuse de me prendre la tête avec une installation. L'époque du kernel 0.99pl15 et de l'Yygdrasil est révolue pour moi. Même la Gentoo a fini par me lasser, elle exacerbait ma maniaquerie. La Kubuntu, malgré son manque de finition, m'a plu pour sa simplicité.
    Pour l'instant, place à Mandriva. La diversité, c'est bien.
  • [^] # Re: cheval de troie ou bug ?

    Posté par  . En réponse à la dépêche Ubuntu 8.04 LTS : GNU/Linux pour le grand public. Évalué à 1.

    Ça veut dire arrêt du boot après l'énigmatique : "could not find filesystem '/dev/root'".
    Ce qui m'inquiète c'est qu'on trouve ce message sur la toile depuis 2006 et qu'aucune solution n'apparaît. Parfois, sur un bugzilla quelconque, on voit un laconique "problem fixed" qui concerne sans doute la prochaine version du paquet incriminé, mais rien de tangible pour se débloquer soi-même.
    Si tu as une solution, n'hésite pas, je suis prêt à donner une nouvelle chance à Spring :-)
  • [^] # Re: cheval de troie ou bug ?

    Posté par  . En réponse à la dépêche Ubuntu 8.04 LTS : GNU/Linux pour le grand public. Évalué à 2.

    L'occasion d'essayer Mandriva ? Je viens de franchir le pas.
    Super LiveCD qui donne envie: c'est léché, super francisation. Donc j'installe, tout ce passe bien. Je reboote, et ... et ben rien, ça boote pas ! J'ai rien pu trouvé sur le net pour résoudre le problème. Et je ne suis pas un débutant.
    Finalement, retour à Kubuntu 7.04. Je vais installer la 8.04 et ses défauts, ça peut pas être pire.
  • # Ne nous emballons pas

    Posté par  . En réponse au journal Hardy is out. Évalué à 8.

    Après avoir lu la news sur LWN [http://lwn.net/Articles/279111/], je vais attendre un peu. Pourtant j'étais impatient...
  • # Pour les curieux...

    Posté par  . En réponse au journal Intelligence artificielle : l'homme dépassé par la machine au jeu de go. Évalué à 1.

    ... je suis tombé voilà quelques temps sur cet individu assez prolixe sur le sujet : Tristan Cazenave.
    Il écrit plein de trucs passionnants (au sens littéraire comme informatique), mais pas toujours accessible au néophyte.
    À vous de voir : http://www.ai.univ-paris8.fr/~cazenave/
  • [^] # Re: Avec PHP5 ?

    Posté par  . En réponse à la dépêche SQLite 3.4.0 est sorti. Évalué à 1.

    Tu peux créer une colonne supplémentaire, indexée si possible, qui stocke la version phonétique de ta clé. C'est une version épurée (normalisée) de la chaîne (retrait des accents, des lettres doublées, ch|sh|sch -> ch). Pour les détails je crois qu'un piti Google peut aider.
    Lors de la recherche, tu épures la chaîne avant de la passer à la requête.
    Et hop!
  • [^] # Re: re

    Posté par  . En réponse à la dépêche Aidez le projet nouveau en envoyant les dumps de votre carte nvidia. Évalué à 1.

    Pour la 7600GS c'est pas gagné. Malgré le pilote 7***, renouveau gèle Xorg.
    J'ai un peu bricolé le source et même en ne retenant que la première fonction, ça freeze. Un reboot suffit-il ou bien faut-il éteindre le PC entre deux tests ?
    Comment ce soft se débugge-t-il ? Trouve-t-on des infos intéressantes avec strace ? Ce que j'ai vu ne m'a pas convaincu.
  • [^] # Re: collisions...

    Posté par  . En réponse à la dépêche Nouvelles fonctions de hachage. Évalué à 3.

    Il me semble que le problème concerne surtout la possibilité de fabriquer un message arbitraire dont le hash serait identique à un message de référence à un coût relativement faible (très inférieur au coût d'une recherche exhaustive).
  • # D'autant plus que...

    Posté par  . En réponse au journal Pourquoi je hais les locales. Évalué à 2.

  • [^] # Re: mon avis

    Posté par  . En réponse à la dépêche Le langage D 1.00 est disponible !. Évalué à 2.

    Probablement parceque personne ne s'en sert « sérieusement » :-D
  • [^] # Re: [X] Oui

    Posté par  . En réponse au sondage Faut il rebooter aprés avoir désinstallé la glibc ?. Évalué à 3.

    Et aussi parce que c'est plus rigolo...
  • [^] # Re: BCD ??? <- Mauvais lien

    Posté par  . En réponse au journal Le Power6 arrive. Évalué à 2.

    En fait, tu t'abuses ;-) (Sous z/OS en tout cas.)
    Les "int" c'est du COMP-4/COMP-5/BINARY et les "float" c'est du COMP-2.
    Ensuite les détails dépendent des options de compilation (TRUNC en particulier).
    Voilou.
  • # Nouveau pépin et SAA7134

    Posté par  . En réponse à la dépêche Sortie du noyau Linux 2.6.18. Évalué à 3.

    Petite FAQ pour le chip SAA7134 (Pinnacle PCTV Rave en l'occurrence).
    Dans le dernier noyau, 2.6.18, le module tda9887 n'existe plus en tant que tel.
    Ça nécessite de modifier les options des modules (/etc/modprobe.d ou équivalent) pour avoir un son correct.
    Avant : options tda9887 qss=1
    Après : options tuner qss=1
  • # Séparateur décimal : ce qu'en disent les Poids et Mesures

    Posté par  . En réponse à la dépêche [RFC] Évolution du clavier « fr-latin9 ». Évalué à 2.

    Vous avez des scrupules à utiliser le point comme séparateur décimal ?
    Visitez http://www.bipm.fr/fr/CGPM/db/22/10/
  • [^] # Re: Abus des Acronymes !

    Posté par  . En réponse à la dépêche qRFCview : un petit logiciel libre sympa pour lire les RFC. Évalué à 1.

    En l'occurrence, ce sont des sigles.
  • # Enregistrer sous...

    Posté par  . En réponse au journal Firefox 2.0 beta 1. Évalué à 1.

    J'ai zappé la 1.5 sous Linux à cause de la nouvelle boîte de dialogue "Enregistrer sous..." qui me paraît nettement moins pratique que celle de la 1.0 (boîte trop grande, obligation de cliquer pour changer le nom de l'objet à enregistrer ou d'avoir la liste des répertoires, pas de sauvegarde de la config. entre deux appels).
    Quelqu'un sait-il si on peut choisir le style de boîte dans ces dernières versions -- nativement ou par une extension ?
    Mes recherches ont été infrustueuses :-(