warwick a écrit 214 commentaires

  • # ‘Nal de 1017

    Posté par  . En réponse au journal Écouter pour apprendre : rendez passionnant votre confinement !. Évalué à 2.

    C’est grâce a ton ‘nal de 2017 que je me suis enfin mis aux podcasts. Depuis je moule tous les soirs jusqu’à ce que Morphée m’emporte!

    Merci à toi!

  • [^] # Re: Ça veut dire quoi brownsonisé ?

    Posté par  . En réponse au journal Le créateur du célèbre △△▽▽◁▷◁▷BA brownsonisé. Évalué à 0. Dernière modification le 29 février 2020 à 03:10.

    Ah! Toutes mes confuses! Les mouvements browniens m'ont bronsonisé le cervelet!

  • # partition by code

    Posté par  . En réponse au message calcul de moyennes dans postgreSQL. Évalué à 4.

    Salut,

    Tu n'en étais pas loin du tout!

    Il ne te manquait que le 'partition by code' dans ta fenêtre.

    Décomposer le problème aide pas mal, je l'ai fait en rajoutant des colonnes supplémentaires pour mieux situer les résultats de la fenêtre.

    J'ai ajouté des dates pour les 2 années précédentes, avec les mèmes valeurs que pour 2015-01-01, pour la démo, mais ça n'est pas fondamentalement nécessaire.

    create table data
    (
        code       int,
        date_debut date,
        valeur     float
    );
    insert into data (code, date_debut, valeur)
    values (1, '2015-01-01', 6.5),
           (1, '2016-01-01', 8.1),
           (1, '2017-01-01', 2.1),
           (1, '2018-01-01', 9),
           (1, '2019-01-01', 10),
           (2, '2015-01-01', 3),
           (2, '2016-01-01', 1.7),
           (2, '2017-01-01', 4),
           (2, '2018-01-01', 1.2),
           (2, '2019-01-01', 8.3),
           (3, '2015-01-01', 5.3),
           (3, '2016-01-01', 9.9),
           (3, '2017-01-01', 3.7),
           (3, '2018-01-01', 8.1),
           (3, '2019-01-01', 8.6);
    
    insert into data (code, date_debut, valeur)
    values (1, '2013-01-01', 6.5),
           (2, '2013-01-01', 3),
           (3, '2013-01-01', 5.3),
           (1, '2014-01-01', 6.5),
           (2, '2014-01-01', 3),
           (3, '2014-01-01', 5.3),
           (1, '2015-01-01', 6.5),
           (2, '2015-01-01', 3),
           (3, '2015-01-01', 5.3);
    
    SELECT code,
           count(*) over w,
           avg(valeur) over w,
           min(date_debut) over w,
           min(valeur) over w,
           max(date_debut) over w,
           max(valeur) over w
    FROM data
    window w as (partition by code ORDER BY date_debut DESC ROWS BETWEEN 2 PRECEDING and CURRENT ROW )
    order by code, date_debut;

    Note qu'il faudra exclure par la suite les résultats dont la moyenne est calculée sur moins de 3 ans.

    Merci pour l'exercice, ça décrasse!

  • # Fuseaux Horaires

    Posté par  . En réponse à la dépêche Thunderbird 68.0. Évalué à 6.

    Tous les changements de fuseaux horaires de 2018 à 2022 sont inclus.

    Euh ? Ils ont inclus un extrait de tzdata dans les binaires ?
    Et puis pourquoi 2018 ? oO

    Je ne comprends rien du tout la, en tous cas, j’espère ne pas comprendre!

  • [^] # Re: podcast ?

    Posté par  . En réponse au journal Lollypop 1.0 est sorti. Évalué à 1.

    Merci de ton commentaire, mon fils va être content!

  • [^] # Re: État français

    Posté par  . En réponse au journal L'État français adopte Matrix/Riot. Évalué à 3.

    Si tu as un passeport, il y est ecrit en page 32 que celui-ci est propriete de l’Etat francais.

  • # branche ton clavier sur un oscilloscope

    Posté par  . En réponse au message Logiciel pour calculer le nombre de frappe par minute.. Évalué à 10.

    je ne vois pas d'autres moyens

  • # Et plus encore !

    Posté par  . En réponse à la dépêche Quel terminal pour 2018 ?. Évalué à 10.

    Terminology est un incontournable par son côté eye-candy.
    Dans un but d’exhaustivité, je signalerais également tilda en GTK, et yakuake en Qt, tous deux déroulants (quake-like)

    Pas exactement un terminal, mais cela intéressera certains. Byobu est un gestionnaire de fenêtres et multiplexeur (utilisant screen ou tmux au choix). Je ne peux plus m'en passer!

    Bon, c'est vrai, ma liste correspond plus a 2015 qu'a 2018 :)
    Je suis curieux de ces terminaux en OpenGL (en attendant ceux en Vulkan :p)

  • # Gachapin

    Posté par  . En réponse au journal Une imprimante laser multifonction qui juste (presque) marche. Évalué à 7.

    J’ai aussi une Oki au boulot, que j’appelle Gachapin parce que c’est une imprimante matricielle (qui imprime avec des aiguilles et est donc un peu dinosaure)

    c.f https://en.m.wikipedia.org/wiki/Gachapin

  • [^] # Re: Je n'y connais rien. :)

    Posté par  . En réponse au message Qualite des laptops en 2017. Évalué à 1.

    Salut Stinouff

    J’aimerais que ce soit si facile. J’avais essaye il y a quelques annees sur un “4 lettres us”, mais les etains utilises sur les cartes mere de pc sont difficiles a travailler (avec du matos d’amateur), je ne sais pas trop pourquoi mais desouder un connecteur sans cramer les pistes autour ou surchauffer le substrat, c’est pas facile, voire pas possible!

    Cela dit je pourrait toujours tenter une fois que j’aurais une debian installee, ca ferait un beau premier pc pour mon fils, d’autant plus que j’en avais change la batterie cet ete.

    Quant a tes liens, je te remercie, mais un peu difficile la livraison pour moi (cf au dessus) :)
    Ca servira certainement a la communaute linuxfr cependant.

    J’ai regarde du cote de system76 et librem, mais meme probleme de livraison (et retour en cas de probleme, ah ah!). Les razer stealth, quoique orientes gamers ont une config 4k avec un gpu intel, mais ces machines ne sont pas en vente au japon, ca aurait ete mon second choix sinon.

    Et desole pour les accents manquants, je n’ai pas de clavier francais sur mon smarho.

  • [^] # Re: Concerné dans pas longtemps...

    Posté par  . En réponse au message Qualite des laptops en 2017. Évalué à 3.

    Merci Aurel pour ton retour.

    Je suis partiellement d'accord avec toi sur l'aspect prix. Les consommateurs (et moi le premier dans ce cas) demandent toujours plus de performances et de fonctionnalités, et les constructeurs semblent répondre coûte-que-coûte à la demande.

    Je crois aussi que les choses changent du point de vue social en Chine, mais que les constructeurs ne suivent pas assez ce qui se passe sur les lignes d'assemblage aussi bien du point de vue qualité que du point de vue contextuel.

    Je me demande également quel est l'impact de la période sur la qualité, entre le Black Friday, le Cyber Monday et maintenant Noel. Ils doivent en baver sur les lignes … :(

    Quelques soient les raisons de la baisse généralisée de qualité, je suis intérieurement scandalisé que les constructeurs soient irresponsables à ce point (en ne faisant pas de meilleurs contrôles en sortie d'usine avant d'envoyer les produits par porte-containers ou avion à l'autre bout de la planète). Le coût n'est vraiment pas seulement économique (si je fais tout seul 4 retours sur 4 machines et 2 docks déballées en une semaine, combien de milliers de PCs ont été mis sur le marche défectueux juste cette semaine??? Dépitant!).

    Ceci dit, j'avais payé mon UX31A 105 000 Yens en 2012, et il étais aussi parmi les machines les plus haut de gamme concernant mes pré-requis de l'époque (fullHD avec GPU intel,SSD 256G,i7). Pour mon achat cette année, je prévoyais initialement le même budget, mais j'avais comme pré-requis un 4k (constamment de 4 à 8 fenêtres ouvertes quand je bosse), gpu intel, et convertible; j'ai donc du doubler mon budget.
    Les variations de taux de change n'expliquent pas tout non plus (105 000JPY en 2012 ~> 1300 USD; 210 000 JPY au cours actuel ~> 1850 USD), par contre clairement l'inflation n'est pas galopante au Japon.

    Il me semble qu'il y a encore ici des modèles assemblés dans le pays (Panasonic je crois, peut-être aussi Onkyo et Epson [oui, ils font des PCs!]) mais ils sont chers (au pifomètre 20% a 30%) et les specs ne suivent pas celles des constructeurs étrangers. Ces machines ont par contre d'autres points forts, pour le consommateur business japonais (poids et solidité, et pour le non-linuxien, une panacée de softs et services en plus).
    Ça ne durera pas de toute façon, la main d'oeuvre qualifiée est vieillissante et la concurrence est forte.

    Bref, difficile pour nous de trancher quel est le prix de la qualité, et en quoi ce (sur?)coût permet de réduire le coût écologique, mais j'ai cru comprendre que les générations récentes de produit de la marque fruitée avait aussi beaucoup de problèmes post-vente et de toute façon, hors quelques pays (US, Chine, Japon, ?), choisir un constructeur régional n'est tout simplement pas une option pour le consommateur moyen.

    J'ai bien pensé aux annonces potentielles du CES, mais d'une part, j'ai(/avais) besoin rapidement d'une machine pour bosser de la maison quand mon gosse est malade, (ainsi que durant la période des fêtes, pour supporter mon équipe compta si ils ont besoin de mes services) et d'autre part, les machines annoncées aux salons ne sont que rarement immédiatement disponibles (?), surtout ici (par exemple, des modèles actuels d'Asus m'intéressant ne sont pas disponibles ici avec les spécifications que je désire…)

    Sinon, entre temps, j'ai fait tourner memtest86 ainsi que le test de RAM de l'outil de diagnostic UEFI bootable officiel, et ils plantent tous deux également. Le reste des tests de l'outil officiel sont tous au vert, donc bel et bien un problème de RAM.

    Bref, je touche du bois que mon vieux laptop ne me lâche pas au moment où j'en ai le plus besoin …

  • # Merci de l'info

    Posté par  . En réponse à la dépêche Transformez votre Raspberry Pi en télécommande infrarouge. Évalué à 2.

    Je cherchais (relativement passivement) ce type de produit; du coup, j'ai pris un Kit a 100 boules, voulant à la fois l'IR et la partie sensors.

    Au cas où cela intéresserait d'autres: J'étais tombé sur le PySense de PyCom qui n'offre pas l'IR mais a deux fonctionnalités supplémentaires (chargeur LiPo et accéléromètre). La partie HW est cependant moins OSHW friendly.

  • # xhost - server access control program for X

    Posté par  . En réponse au message rediriger la console vers :0. Évalué à 4.

    Il me semble qu'il manque à ton puzzle la brique xhost.
    man xhost
    ==>
    bob@machine$xhost +local:alice
    alice@machine$ env DISPLAY=:0 xterm

    Bob autorise Alice à se connecter sur son X en local?

  • [^] # Re: Scute pour une yubi ?

    Posté par  . En réponse au message Scute et consommation électrique . Évalué à 1. Dernière modification le 16 septembre 2015 à 15:54.

    hum…??

    Je n'ai pas touché à scute directement. Et de fait, il n'y a pas de binaire exécutable autrement que par l'intégration à FF (https://packages.debian.org/sid/amd64/scute/filelist).
    J'ai comparé un même FF sur une même machine avec dans un cas scute installé, dans l'autre non.

    $ apt-cache search scute
    scute - OpenPGP smartcard plugin for Mozilla Network Security Services

  • [^] # Re: Scute pour une yubi ?

    Posté par  . En réponse au message Scute et consommation électrique . Évalué à 1.

    Merci de l'information; je n'en suis malheureusement encore qu'en phase de découverte.

    Je suis cependant surtout curieux de savoir si scute est bien à l'origine (de manière généralisée, i.e. pas seulement dans mon cas précis), d'une consommation électrique accrue de firefox/iceweasel.

    D'autant plus quand je tombe ce matin en lisant Phoronix sur la nouvelle que Mozilla se lance dans une chasse aux Watts via le projet Candle.

    Donc si il y a des moules qui ont 10 minutes pour tester sur leur conf ? :)

  • [^] # Re: \w

    Posté par  . En réponse au message expression régulière. Évalué à 3.

    Salut Henri,

    Je comprends que tu aies des problemes avec l'orthographe, voire, de maniere plus generale avec l'expression ecrite, mais vu notre experience commune sur une de tes questions precedentes (et je fais reference a ca), sans compter toutes les autres demandes que tu as postees sur le forum, je me vois dans l'obligeance de te faire remarquer que ce probleme d'expression est un probleme pour toi, pour nous, et pour ta capacite a apprendre le Perl (je me restreindrais a ce domaine, puisque tel est le sujet de toutes tes demandes).

    A chaque reponse que je t'ai tente de t'apporter, tu as fait diversion, comme si tu n'arrivais pas a admettre qu'il y avait matiere a reflexion. Je parle en mon nom, mais je suis persuade que nombres de personnes ayant cherche a t'aider serons du meme avis. Mec, tu noies le poisson a chaque fois! Comment veux tu que nous reagissions ?? La programmation, quel que soit le language, est affaire de syntaxe, de logique et surtout de mise a plat de ses idees. Du rationnel et du concret. Il ne s'agit que de cela si l'on ne parle pas d'art (comme la demo scene).

    S'il te plait, je t'en prie, pour la sante mentale de tous, fais l'effort de comprendre que tu ne peux pas poser des questions de maniere aussi abstraite, non contextualisee et t'attendre a des reponses qui conviennent parfaitement a ta situation. Nous ne sommes pas des fabriquants de briques LegoPerl.

    Par exemple, ici, nous n'avons aucune idee de quelles donnees DATA contient.
    De deux choses l'une: sois nous sommes tous, a part toi, des debiles attardes impatients, soit tu tu poses mal tes questions.

    Peut-etre que ta langue maternelle n'est pas le francais; le preciser permettrait d'augmenter le niveau d'indulgence de certains a ton egard?

    Je te remercie par avance pour ta reponse, constructive si ce n'est trop demander.
    Saches cependant que tu ne peux pas ne pas faire d'effort ici sans que cela te retombes sur le coin de la gueule. Si ca ne te conviens pas, …

    A bon entendeur.

    P.S.: moi aussi, je fais des fotes, mon clavier n'est pas azerty, et n'a pas d'accent. Pourtant, mes reponses precedentes etaient un minimum corrigees malgre les heures auxquelles je t'ai repondu (GMT+9).

    http://linuxfr.org/nodes/105502/comments/1600143
    http://linuxfr.org/nodes/105502/comments/1600359
    http://linuxfr.org/nodes/105502/comments/1600342
    http://linuxfr.org/nodes/105502/comments/1600354
    http://linuxfr.org/nodes/105502/comments/1600363

    D'ailleurs, ce commentaire est non relu, et je le revendique!

  • # On Henri ...

    Posté par  . En réponse au message expression régulière. Évalué à 6.

    … ou on en pleure

  • [^] # Re: gif89a

    Posté par  . En réponse au journal S'amuser avec sl (si si). Évalué à 1.

    Juste indispensable.

  • [^] # Re: rien a voir avec la compression

    Posté par  . En réponse au journal Algo de compression JPEG waifu2x . Évalué à 2.

    Effectivement, désolé pour ceux que j'ai pu offenser (j'ai vraiment fait ce nal à l'arrache, je n'ai que pris le temps que de mettre la nimage avec le crédit qui va bien (c.f. balise alt) sans effectivement prendre le temps de réfléchir à mes propos et d'éviter de faire des fautes de français).

  • [^] # Re: perlmonks says

    Posté par  . En réponse au message faire fonctioner Code sur plusieurs Fichiers se trouvant tous dans un dossier. Évalué à 1.

    Voila ce que j'en penses.

    perl -e '@a=split "","Bqqsfoet!b!mjsf!pv!wb!gbjsf!vo!qjdojd/";$_=chr(ord($_)-1) for @a;$d=join "",@a;print "$d\n"'
    
  • [^] # Re: perlmonks says

    Posté par  . En réponse au message faire fonctioner Code sur plusieurs Fichiers se trouvant tous dans un dossier. Évalué à 1.

    Je ne peux pas t'aider sur Twig (il est minuit 15 chez moi, je dois aller au lit).
    Essaye ca:

    #!/usr/bin/perl                      
    use strict;
    use warnings;
    use XML::Twig;   
    use Text::CSV;                  
    use File::Find;
    
    
    my $FileResult = $ARGV[1] || 'result.csv'; 
    my $FhResult;
    
    my $folder ='.';
    my $twig2= XML::Twig->new(    
        twig_handlers => { 
            'Parameter' => sub { 
                my $attr_value = $_->{'att'}->{'value'} // 'fault';  
                print $FhResult $attr_value . ",";
            },
        },
    );
    
    sub newwanted {
        my ($dev,$ino,$mode,$nlink,$uid,$gid,$name);
    
        (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
        -f _ &&
        /^.*\.xml\z/s
        && processXML($name);
    }
    
    sub processXML ($) {
        print $FhResult( (split('_', "\n$_",2))[0] . ',' ); 
        $twig2->parsefile($_);
    }
    
    open( $FhResult, '>', $FileResult ) or die("Unable to open file $FileResult\n$!");
    
    find({
       wanted   => \&newwanted,
    }, $folder);
    
    close $FhResult;
    

    Ca retourne ceci dans results.csv chez moi:

    $ cat result.csv 
    
    4.xml,
    1.xml,
    3.xml,
    2.xml,
    
  • [^] # Re: perlmonks says

    Posté par  . En réponse au message faire fonctioner Code sur plusieurs Fichiers se trouvant tous dans un dossier. Évalué à 1.

    Pas sur que ça marche sans cygwin (il est sous windows) le coup de passer par ARGV.

    Windows 7 par exemple a des limitations du type si PATH a une longueur supérieure à 2048 chars, alors quasi plus rien ne marche (si les variables paths système genre C:\windows\ sont à la fin et donc ignorées ? je n'ai pas vérifié).

    Henry parle de milliers de fichiers donc ça me parait mal barré sans cygwin.

  • [^] # Re: perlmonks says

    Posté par  . En réponse au message faire fonctioner Code sur plusieurs Fichiers se trouvant tous dans un dossier. Évalué à 1.

    Bon je viens de capter que tu es sous Windows.
    Je pense que la suggestion de fearan sur faire ton truc en powershell est pertinente (no troll, powershell est vraiment pas mal).
    Cela dit, il semble que tu aies déjà du code en perl, et de toute façon, on est pas sur DLFP pour pousser les gens à dev en .ps.

    Erratum sur le précédent commentaire: ajoutes -type f:

    find2perl /home/henry/xmlfolder/ -type f -name "*.xml" > lasolutionamonprobleme.pl

    En gros tu as :

    use strict;
    use File::Find ();
    
    # Set the variable $File::Find::dont_use_nlink if you're using AFS,
    # since AFS cheats.
    
    # for the convenience of &wanted calls, including -eval statements:
    use vars qw/*name *dir *prune/;
    *name   = *File::Find::name;
    *dir    = *File::Find::dir;
    *prune  = *File::Find::prune;
    
    sub wanted;
    
    # Traverse desired filesystems
    File::Find::find({wanted => \&wanted}, '/home/henry/xmlfolder/');
    exit;
    
    sub wanted {
        my ($dev,$ino,$mode,$nlink,$uid,$gid);
    
        (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
        -f _ &&
        /^.*\.xml\z/s
        && print("$name\n");
    }
    

    Tu crées une belle fonction processXML :

    sub processXML ($) {
        print $_."\n";
    }
    

    et tu remplaces la fonction wanted par:

    sub wanted {
        my ($dev,$ino,$mode,$nlink,$uid,$gid);
    
        (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
        -f _ &&
        /^.*\.xml\z/s
        && processXML($name);
    }
    

    C'est en récursif, je n'ai pas cherché comment désactiver la récursivité.

    Pour mettre le path de recherche des fichiers xml en argument de lasolutionamonprobleme.pl, réfères toi à l'article des mongueurs sus-mentionné.

    P.S.1.: La solution est présentée comme telle pour plus de clarté, mais tu peux évidemment faire ton traitement xml dans la fonction wanted.

    P.S.2. : [à prendre avec des pincettes] Ton affirmation sur "tous les fichiers donc les noms commence par d et t" a l'air incorrecte, il s'agirait en fait de tous les fichiers ou dossiers contenants un d ou un t (ainsi que tous les enfants si il s'agit d'un dossier) et ce de manière récursive?
    par exemple, ca retourne ca sur mon ~:
    Found it /home/warwick/.icedove/dhi10c6d.default/extensions/rikaichan-jpfr@polarcloud.com/chrome/rikaichan-jpfr.jar

    J'utilise une syntaxe PCRE pour mes regex et je suis un peu paumé avec ton exemple. Chez moi, la syntaxe suivante fonctionne:
    /^[d|t].*\z/si (le i pour conserver ton case insensitive).

    P.S.3.: Tu n'as pas fermé ton filehandle dans le bout de code que tu donnes.
    https://en.wikipedia.org/wiki/Handle_leak

    P.S.4.: Tu codes avec le compte admin ?

    P.S.Vita.: Non, je ne fais aucunement de la pub à Sony.

    P.S.CoinCoin.: J'espère que j'ai pas passe une partie de ma soirée après 12h au taff pour ne pas répondre à ta question…

  • [^] # Re: perlmonks says

    Posté par  . En réponse au message faire fonctioner Code sur plusieurs Fichiers se trouvant tous dans un dossier. Évalué à 1.

    find2perl /home/henri/xmlfolder/ -name "*.xml" > lasolutionamonprobleme.pl

  • # perlmonks says

    Posté par  . En réponse au message faire fonctioner Code sur plusieurs Fichiers se trouvant tous dans un dossier. Évalué à 2.

    http://www.perlmonks.org/?node_id=691699

    En gros 3 façons:
    La première (glob) est intégrée et te permet de spécifier un truc du genre /mon/path/*.xml

    La suivante (File::Util) offre la récursivité si besoin (genre tu spécifies 2 arguments "perl monscript.pl --dir /mon/* -R) mais tu n'as pas par contre filtrage par pattern de nom de fichier (a moins bien sur de le faire sur le résultat retourne par File::Util)

    La troisième m'est inconnue, mais a l'air de cumuler les fonctionnalités des trois, peut-être au prix d'un effort de compréhension supplémentaire?
    Indice, ça correspondant à find (1) dans l'esprit.
    (note a moi-même : à lire quand il ne sera pas 00:10)

    Pour la gestion des paramètres dans ton script, je te conseille la lecture de http://articles.mongueurs.net/magazines/linuxmag49.html si besoin est.

    Dans tous les cas, n'oublie pas : "There's more than one way to do it"