Mimoza a écrit 1083 commentaires

  • # Sources

    Posté par  . En réponse au journal TapTempo en langage Java. Évalué à 10.

    Faire un journal court pourquoi pas mais mettre les sources dedans serait quand même plus agréable pour ceux qui veulent lire ce que tu as fait :

    package com.i2bp.taptempo;
    
    import org.apache.commons.cli.CommandLine;
    import org.apache.commons.cli.CommandLineParser;
    import org.apache.commons.cli.DefaultParser;
    import org.apache.commons.cli.HelpFormatter;
    import org.apache.commons.cli.Option;
    import org.apache.commons.cli.Options;
    import org.apache.commons.cli.ParseException;
    
    import java.text.DecimalFormat;
    import java.util.Scanner;
    import java.util.ArrayDeque;
    import java.util.Date;
    import java.util.Deque;
    
    public class TapTempo {
    
      static double computeBPM(long currentTime, long lastTime, int occurenceCount) {
        if (occurenceCount == 0) {
            occurenceCount = 1;
        }
    
        double elapsedTime = currentTime - lastTime;
        double meanTime = elapsedTime / occurenceCount;
        double bpm = 60.0 * 1000 / meanTime;
    
        return bpm;
      }
    
    
      public static void main(String[] args) throws Exception {
    
        int precision = 0;
        int resetTime = 5;
        int sampleSize = 5;
        Options options = new Options();
        Deque<Long> hitTimePoints = new ArrayDeque<Long>();;
    
        Option optHelp = new Option("h", "help", false, "Display this help message.");
        optHelp.setRequired(false);
        options.addOption(optHelp);
    
        Option optPrecision = new Option("p", "precision", true, "Set the decimal precision of the tempo display. Default is 0 digits, max is 5 digits.");
        optPrecision.setRequired(false);
        options.addOption(optPrecision);
    
        Option optResetTime = new Option("r", "reset-time", true, "Set the time in second to reset the computation. Default is 5 seconds.");
        optResetTime.setRequired(false);
        options.addOption(optResetTime);
    
        Option optSampleSize = new Option("s", "sample-size", true, "Set the number of samples needed to compute the tempo. Default is 5 samples.");
        optSampleSize.setRequired(false);
        options.addOption(optSampleSize);
    
        Option optVersion = new Option("v", "version", false, "Display the version.");
        optVersion.setRequired(false);
        options.addOption(optVersion);
    
        CommandLineParser parser = new DefaultParser();
        HelpFormatter formatter = new HelpFormatter();
        CommandLine cmd = null;
    
        try {
          cmd = parser.parse(options, args);
          if (cmd.hasOption('p')) {
            precision = Integer.parseInt(cmd.getOptionValue('p'));
        if (precision < 0) {
          precision = 0;
        } else if (precision > 5) {
          precision = 5;
        }
          }
          if (cmd.hasOption('r')) {
            resetTime = Integer.parseInt(cmd.getOptionValue('r'));
        if (resetTime < 1) {
          resetTime = 1;
        }
          }
          if (cmd.hasOption('s')) {
            sampleSize = Integer.parseInt(cmd.getOptionValue('s'));
        if (sampleSize < 1) {
          sampleSize = 1;
        }
          }
        } catch (ParseException|NumberFormatException e) {
          System.out.println(e.getClass() + ": "+ e.getMessage());
          formatter.printHelp("TempoTap", options);
          System.exit(1);
        }
    
        if (cmd.hasOption('h') || cmd.hasOption('v')) {
          if (cmd.hasOption('h')) {
            formatter.printHelp("TempoTap", options);
          }
          if (cmd.hasOption('v')) {
            System.out.println("Version: 1.0");
          }
          System.exit(0);
        }
    
        DecimalFormat df = new DecimalFormat();
        df.setMaximumFractionDigits(precision);
        df.setMinimumFractionDigits(precision);
    
        System.out.println("Hit enter key for each beat (q to quit).\n"); 
    
        Scanner keyboard = new Scanner(System.in);
        keyboard.useDelimiter("");
    
        boolean shouldContinue = true;
        while (shouldContinue) {
    
          char c;
          do {
            c =  keyboard.next().charAt(0);
            if (c == 'q') {
              shouldContinue = false;
              System.out.println("Bye Bye!\n");
              break;
            }
          } while (c != 10);
    
          if(shouldContinue) {
            long currentTime = System.currentTimeMillis();
    
            // Reset if the hit diff is too big.
            if (!hitTimePoints.isEmpty() && currentTime - hitTimePoints.getLast() > resetTime * 1000) {
              // Clear the history.
              hitTimePoints.clear();
            }
    
            hitTimePoints.add(currentTime);
            if (hitTimePoints.size() > 1) {
              double bpm = computeBPM(hitTimePoints.getLast(), hitTimePoints.getFirst(), hitTimePoints.size() - 1);
    
         String bpmRepresentation = df.format(bpm);
             System.out.println("Tempo: " + bpmRepresentation + " bpm");
            } else {
              System.out.println("[Hit enter key one more time to start bpm computation...]");
            }
    
            while (hitTimePoints.size() > sampleSize) {
              hitTimePoints.pop();
            }
          }
        }
      }
    
    }
  • # Version pour les francophone ?

    Posté par  . En réponse à la dépêche Interview de Dimitri Fontaine, contributeur majeur à PostgreSQL. Évalué à 8.

    Bonjour,
    Pour ceux qui ne se sentent pas assez à l'aise avec l'Anglais pour lire un tel livre, une version en Français est elle prévue ?

  • [^] # Re: Mobylette

    Posté par  . En réponse au journal Culte du Cargo et développement informatique. Évalué à 2.

    C'est du cargo si tu prend cette manip comme un rituel … il l'illustre bien en ajoutant les steak autour.
    Tu peux tout a fait faire du cargo et obtenir un résultat, mais souvent bien moindre que si tu comprend ce que tu fait.

  • # Cargo culte agile

    Posté par  . En réponse au journal Culte du Cargo et développement informatique. Évalué à 3.

    Pour tous ceux qui font de la gestion de projet «Agile» :
    https://mixitconf.org/2017/cargo-cult-agile

  • # Je participe

    Posté par  . En réponse à la dépêche Les Journées du logiciel libre 2018 à Lyon ont besoin de vous !. Évalué à 3.

    Comme les autres années je vais tenir un stand (bépo) et j'ai proposé un talk en plus cette fois.
    Au plaisir de se retrouver là bas ;)

  • [^] # Re: ssl-cert-check

    Posté par  . En réponse au journal Vérification des certificats X.509 sur le point d'expirer. Évalué à 3.

    C'est d'ailleur une recommandation dans le descriptif du projet cité ici :

    DO NOT USE. Prefer https://github.com/Matty9191/ssl-cert-check

  • [^] # Re: Journal bookmark ultime

    Posté par  . En réponse au journal Un comparatif de banques en ligne sauvage apparaît !. Évalué à 3.

    Les abonnés ont la possibilité «d'offrir» un article régulièrement … donc si ça vous tentent il suffit de demander … à moi par exemple (mimoza[chez]zhext[point]tk)

  • [^] # Re: Chinois obligatoire

    Posté par  . En réponse au journal Acheter un Thinkpad moddé, première partie. Évalué à 4.

    Réponse simple :
    mod = modification

  • [^] # Re: Compléments d'idée

    Posté par  . En réponse au journal disque dur qui dort. Évalué à 4.

    Tu ne sais pas qui «utilise» ton IP et pour faire quoi … du coup tu peux voir arriver les flics chez toi à 3h du mat parce que tu es potentiellement un pédophile/terroriste/… en puissance

  • # Prix ?

    Posté par  . En réponse au journal Acheter un Thinkpad moddé, première partie. Évalué à 5.

    Il manque le budget … c'est bien beau de remettre au gout du jour de telles machines, mais si ça coûte 3x le prix …

    En tous cas j'attends ton prochain journal pour le retour d’expérience.

    Sinon comment as tu trouvé un tel fabriquant/assembleur !

  • [^] # Re: Preneur !

    Posté par  . En réponse au journal Que faire avec ses clefs steam inutilisées ?. Évalué à 2.

    Preneur de World of Goo !
    mail : mimoza [chez] zhext [point] tk

    Merci d'avance !

  • [^] # Re: Retours

    Posté par  . En réponse à la dépêche Terminus : un jeu d’aventure pour apprendre à utiliser la ligne de commande. Évalué à 4.

    Pas de soucis… c'est déjà un énorme boulot que vous avez fait

  • [^] # Re: Retours

    Posté par  . En réponse à la dépêche Terminus : un jeu d’aventure pour apprendre à utiliser la ligne de commande. Évalué à 2.

    Je suis bloqué aussi par les bug …
    Dans la Boutique de l’artisan il ne voie pas les rouages que j'ai fait … bon j'ai feinté en utilisant «touch rouage1 rouage2 …» mais du coup j'ai l'impression que comme j'ai pas utilisé cp il aime pas …
    Dans la bibliothèque je n'arrive pas a utiliser grep … quand je tape la commande dans la salle ou il y a le livre il ne fait que me remettre la ligne de commande sur une nouvelle ligne mais aucune action ne semble être déclenché …

    FFv57

  • # Retours

    Posté par  . En réponse à la dépêche Terminus : un jeu d’aventure pour apprendre à utiliser la ligne de commande. Évalué à 4.

    Je suis en train de tester
    Au second écran je remarque ça :

    1. en écrivant 'cat' ( ? ), tu pourra d'examiner en détails

    Il manque un mot, ou la phrase est a revoir
    pourra > pourras
    CAT si j'en crois kikipédia est l'abréviation de «concaténer»

    Je ferais une PR si j'ai pas oublié entre temps

  • # remplaçant à Tab Mix plus ?

    Posté par  . En réponse au journal Le Firefox nouveau est arrivé !. Évalué à 5.

    Quel remplaçant conseillerait vous pour se substituer à TabMixPlus ?

  • [^] # Re: N'utilife pluf lef icônef du thème GTK

    Posté par  . En réponse au journal Le Firefox nouveau est arrivé !. Évalué à 4. Dernière modification le 16 novembre 2017 à 13:16.

    Tu as un cheveux sur le clavier ?
    Tu remplaces tout tes «S» par des «F»

    PS : Le formatage «barré» ne semble pas fonctionner

  • [^] # Re: Très performant: il plante très vite!

    Posté par  . En réponse au journal Le Firefox nouveau est arrivé !. Évalué à 4.

    Isole ce qui le fait planter … c'est peut être dû a un composant extérieur.
    Lance le en console en mode verbeux.

  • [^] # Re: Extensions

    Posté par  . En réponse au journal Le Firefox nouveau est arrivé !. Évalué à 3.

    Exactement, je ne pleure pas sur la mort de firebug, seulement que les possibilités de création d'une extension tout aussi utile, ou plus, soient coupées.

  • [^] # Re: Les onglets sont mooooooooches ! :(

    Posté par  . En réponse au journal Le Firefox nouveau est arrivé !. Évalué à 4.

    Avec un certain nombre d'onglet ouvert on apprécie un peu de compacité, mais de toute façon ce n'est pas les onglet qui sont regardé la plus part du temps mais bien le contenue de la page … donc ça ne me dérange pas.

  • # Extensions

    Posté par  . En réponse au journal Le Firefox nouveau est arrivé !. Évalué à 8.

    Je viens de passer a cette version aussi … j’étais plus Opéra avant qu'il ne passe à Blink.
    Le truc qui me dérange le plus c'est l'incompatibilité de certaines extensions. Ils se dirigent rapidement vers une compatibilité avec les extensions de Chrome et on va y perdre pas mal au passage. Par exemple un Firebug ne pourrais être refait avec le nouveau système.
    Dommage c'était un des gros avantage par rapport aux concurrents.

  • [^] # Re: Budget ?

    Posté par  . En réponse au journal Adaptation d'outils d'éducation à l'environnement en numérique.. Évalué à 4.

    Tout dépend du contenue a faire … un tic-tac-toe est bien moins cher qu'un jeu de l'oie …
    Et puis avec Scrum et les méthodes agile on réfléchi plus comme ça.
    Disons que ça te coûteras ce que tu peux/veux y mettre et tu auras ce que ça représente.

  • # S'occuper

    Posté par  . En réponse au journal Le cauchemar d'Henry. Évalué à 9.

    Je serais lui j'achèterais un bouquin de mot croisé pour s'occuper en sirotant son cocktail au bar. Des fois que Évelyne ou Rolande soi aussi cruciverbiste (ou fasse semblant) c'est tout bon.
    Peut être aussi s'inscrire a l'inévitable concours de boules/fléchettes/tir à l'arc/etc. ça lui permettrait de rencontrer encore d'autre gens.

    Sinon se réveiller et retourner au boulot car le chef ne va pas tarder.

  • # Mon expérience

    Posté par  . En réponse au journal Je suis hypermétrope. Évalué à 10.

    Comme dans certains commentaires précédent si tu vue est amené à bouger l'opération n'est pas des plus recommandé. Même si tu la fait sache que tu ne pourras la refaire autant de fois que tu le souhaite … on enlève de la matière … donc si tu as la cornée trop fine c'est mort. Sachant que vers 45 ans la presbytie arrive il faut y réfléchir a 2 fois avant de se lancer.

    Sinon pour mon cas j'avais des lunettes depuis mon plus jeune age … mais je ne saurais te dire quand exactement. Un astigmatisme assez fort couplé a un peu de myopie sur les dernières années. Pour te dire j'étais à la limite d'opérabilité sur un œil. Bref profitant de la mutuel d'entreprise l'opération ne s'est pas révélé trop cher. Ensuite j'ai chercher un peu des comparatifs pour savoir quel centre était le mieux coté, j'ai trouvé un truc du coté de «challenge» je croie. J'ai porté mon choix sur le centre qui faisait le plus d'opérations à l'année, mais je pense que ce n'est pas forcément le meilleur choix. Clairement c'était l'usine et prenait ça un peu trop a la légère.
    L'opération en elle même s'est relativement bien passé, mais pas sans douleur. Je passe sur le médecin qui avait du mal a comprendre qu'il avait mal positionner l'écarteur et que ça me faisait mal. Je n'ai pas l'habitude de porter des lentilles et j'étais un peu sensible des yeux. Alors la première machine qui viens se plaquer et appuyer sur ton œil pour faire la découpe du capot tu le sens passer. Je passe donc aussi sur le fait que chacun est différent et qu'une seule goutte d’anesthésiant local n'est pas forcément suffisant pour tout le monde. Ensuite viens le laser … un petit point vert a fixer, pas facile quand tu viens de te faire écorcher l'œil avec trop peu d’anesthésiant. Puis le médecin vient remettre en place le capot découper par la première machine. Ensuit c'est repartis pour un tour puisque tu fait les 2 yeux à la fois, mais cette fois avec une certaine appréhension puisque tu sais a quoi t'attendre cette fois.
    Une fois fait on te met 15/20 min dans une pièce au calme et sans lumière avec un verre d'eau. Là tes yeux joue à la fontaine et tu n'oses même pas ouvrir 1mm tes paupières. Ensuite on te dégage dans la salle d'attente (bien moins agréable) avec un petit truc a grignoté et 1 verre de jus de fruit, ben oui le charcuté suivant a finit lui aussi. Et là tu continue encore une bonne demie heure a jouer aux fontaines.
    Bon ils ne te laissent pas repartir en voiture si tu n'es pas accompagné (heureusement), mais en transport public pas de soucis.
    Les souffrances ne sont pas finit car tu as interdiction de te toucher les yeux pendant au moins 1 semaines, plus si possible. On te file des coques de protection a fixer au sparadrap sur les yeux la nuit pour éviter les mauvais réflexes. Et tu as tout une batterie de gouttes a te mettre entre 1 semaine à 1 an. Tu as une visite de contrôle entre 1 semaine et 15 jours plus tard … heureusement. Fait le un vendredi pour avoir le WE pour t'en remettre, car oui pendant les 24h suivante tu évite d'ouvrir les yeux. 48h après tu as besoins de te reposer assez régulièrement. Ensuite tu es plus sensible avec les lumière et tes larmes fonctionnes plus que d'habitude mais rien de très gênant.

    Pour mon cas j'ai eu quelques complications :
    - Plis : Es-ce a cause d'avoir frotter mes yeux par erreur ou autre j'en sais rien, mais j'avais des plies de la cornée, du coup on a dû me ré-ouvrir pour me remettre tout ça en place. J'avais constaté que l'un œil c'était pas mal floue alors que l'autre non.
    - A l'envers : Une fois mes «plis» remis a plat, une visite de contrôle détecte que j'ai des cellules qui pousse à l'envers (toujours pas compris en quoi ça consistait exactement). Du coup les objets lumineux sur un fond noir avait tendance a se dédoubler. Je suis repartis avec une batterie de gouttes a mettre en plus. Genre toutes les 2 heures pendant 1 semaine. Finalement au bout d'une dizaine de mois l'effet s'est estompé.

    Au final je suis très satisfait de l'opération, j'ai perdu assez vite les réflexes liés aux lunettes, même si au début je voulais remonter quelque chose qui n'était plus là. Je le referais sans hésiter, même plus jeune si possible. Finalement tu souffre 2 jours pour t'éviter quand même pas mal de tracasserie par la suite.

    Remarque : Dans le cabinet il y avait 2 ophtalmo, le premier qui fait les examens de base et le second qui opère. Dans mon cas, le premier s'est révélé assez incompétent. Là où pour lui il fallait attendre car il ne voyait rien de bizarre, l'autre en 2 sec avait diagnostiqué les plis et les cellules à l'envers.

    Voilà, désolé pour la longueur du témoignage et pour les sûrement nombreuses fautes que j'ai fait.

  • # Coquille

    Posté par  . En réponse au journal Le projet ZeMarmot a besoin de votre soutien. Évalué à 2.

    et dans vivre

    «et d'en vivre» serait mieux je pense.

    Sinon je vais voir ce que je peux leur donner.
    Pour les don le site liberapay est pas mal du tout.

  • [^] # Re: captcha + Mailchimps

    Posté par  . En réponse au journal Le Courrier du hacker, newsletter sur le Logiciel Libre et Open Source francophone. Évalué à 2.

    Le premier lien fonctionne, je viens de le tester.
    Le second en effet n'est pas très engageant avec cette phrase, mais les conseil ne sont pas si inutile que ça.
    Je ne suis pas dev front, je ne fait que pointé des choses qui me paraissent pertinentes.