mzf a écrit 151 commentaires

  • # Python pas cross-platform ?

    Posté par  (site web personnel) . En réponse au journal "Portage" de TapTempo en Python3 (windows). Évalué à 2.

    Merci pour cette version ! je suis étonné qu'il faille utiliser des appels différents en fonction des plateformes en python. Pour un langage de script de haut niveau on pourrait s'attendre à une portabilité native, non ?

  • # bornes ?

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en Golang. Évalué à 2.

    Merci pour cette illustration du Golang !

    Comment se comporte le programme si l'utilisateur entre un paramètre hors bornes (genre "precision" négative) ? le module "flag" sait le gérer ?

  • # Excellent

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en GOTO++. Évalué à 8.

    J'ai bien rigolé avec le nom des méthodes (BOITEAPINGOUINS, GOTOPASMALIN, etc.), merci pour la découverte de ce langage incroyable !

    Par contre je n'ai pas réussi à compiler l'interpréteur gotopp (le CMakeFile a l'air très ancien) donc pas possible de tester…

  • [^] # Re: xev

    Posté par  (site web personnel) . En réponse au journal taptempo.awk : une approche plus unix ?. Évalué à 3.

    En fait le calcul du tempo se déclenche après 15 appuis successifs (variable size=15. au début), je n'avais pas été assez patient…

    Donc tout fonctionne bien !

  • # xev

    Posté par  (site web personnel) . En réponse au journal taptempo.awk : une approche plus unix ?. Évalué à 5.

    Bravo pour cette adaptation, je trouve ton approche très créative !

    Je viens de tester sur une Debian Stretch, et rien ne s'affiche. Peut-être que la sortie de xev n'est pas celle attendue ?
    Lorsqu'une touche est frappée, xev -event keyboard affiche ceci :

    KeyPress event, serial 28, synthetic NO, window 0x1000001,
        root 0x281, subw 0x0, time 232765, (-332,681), root:(632,701),
        state 0x0, keycode 26 (keysym 0x65, e), same_screen YES,
        XLookupString gives 1 bytes: (65) "e"
        XmbLookupString gives 1 bytes: (65) "e"
        XFilterEvent returns: False
    
  • # Verbosité

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en Java. Évalué à 2.

    Merci pour ce portage en Java, et bravo pour l'effort.

    Le Java étant proche du C++, j'imagine que tu n'as pas trop rencontré de difficultés ? Si oui, lesquelles ?

    Dommage que ce ne soit pas plus orienté objet comme l'original, mais sinon pour un langage réputé comme "verbeux", tu t'en sors pas mal :-)

  • [^] # Re: Prochain défi ?

    Posté par  (site web personnel) . En réponse au journal TapTempo en brainfuck. Évalué à 1.

    ça tombe bien, je suis sur place :-)

  • [^] # Re: Excellent

    Posté par  (site web personnel) . En réponse au journal TapTempo en brainfuck. Évalué à 1.

    Ah ok, je n'avais pas compris que le displayString avant les chaînes de caractères était un appel à une fonction.
    Merci pour cette précision !

  • [^] # Re: Types

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en Wren. Évalué à 1.

    Merci pour cette précision.

    la seule manière de savoir ce qu’il y a dedans qui marchera à tout les coups c’est de tester ça à l’exécution.

    Ouille :-)

  • # Entré standard

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en PHP. Évalué à 2.

    Bravo pour avoir relevé le défi :-)

    À noter qu'en raison de la gestion de l'entrée standard (via php TapTempo.php du moins), entrer des caractères puis appuyer sur donnera un résultat aléatoire. J'ai délibérément ignoré ce cas de figure.
    Pour avoir testé le script sur un Intel i5 et un Odroid C2+, j'obtiens des résultats très similaires, mais je serais curieux de savoir s'il y a des machines où le résultat diffère.

    Je ne suis pas très familier avec le php : en quoi consiste le soucis avec l'entrée standard ? Le temps de réponse a une latence importante ?

  • # Excellent

    Posté par  (site web personnel) . En réponse au journal TapTempo en brainfuck. Évalué à 4.

    Excellent d'avoir tenté l'expérience, et bravo pour le résultat !

    Si je comprends bien, le code brainfuck ne comprend que le calcul du tempo puisque d'après le fichier TapTempoBF.hs les chaînes de caractère de début et de fin ne sont pas dans le programme proprement dit ?

  • [^] # Re: Fini !!

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en Ada. Évalué à 3.

    Bravo pour avoir été jusqu'au bout du portage :-)

    Comme souvent en Ada, on préfère la compilation à la gestion au runtime.

    Est-ce que cela signifie qu'il faut recompiler le programme pour avoir une autre langue ?

  • # Types

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en Wren. Évalué à 2.

    Merci pour ce portage, j'aime bien l'idée de découvrir des langages de niche !

    Question pour la définition des types des variables, je ne vois pas de déclaration en dehors du constructeur :

    class TapTempo {
      construct new() {
        _sampleSize = 5
        _resetTime = 5.0
        _precision = 0
        _hitTimePoints = []
      }
    

    Est-ce que le type est déduit automatiquement, comme dans les langages de script ?

  • [^] # Re: L'infini

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en Perl6. Évalué à 1.

    Dans la version originale, si on considère la méthode TapTempo::computeBPM seule, rien ne garantit que les arguments currentTime et lastTime ne sont pas similaires. Dans les faits l'appelant ne pourra pas le faire, mais la vérification est la bienvenue pour éviter des erreurs dans le futur si le code évolue.

  • # Hello World

    Posté par  (site web personnel) . En réponse au journal TapTempo sur mobile en PWA. Évalué à 9.

    Je vois que mon TapTempo sert maintenant de "Hello World!" pour tester des langages. Cool :-)

    (et bravo pour l'exploration des worker manifest)

  • # Régionalisation

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en Haskell. Évalué à 2.

    Bravo pour ce portage et surtout pour l'effort concernant la régionalisation !

    Pour le numéro de version qui utilise git, que se passe-t-il si :
    - git n'est pas installé sur la machine ?
    - les sources ne sont pas versionnées par git ?

  • # L'infini

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en Perl6. Évalué à 3.

    Merci pour ce portage qui tente de reproduire l'original au plus près !

    Je vois que tu as géré le cas où les deux dates sont similaires en affichant "Tempo : ∞". Bonne idée, même si c'est peu probable d'arriver il faut que je le rajoute :-)

    Petite question : les lignes "exit if $precision < 0;" font que le programme sort si les valeurs sont hors bornes ? Si on est pointilleux c'est une différence avec l'original :-)

    Pour le non-perliste que je suis, je pense être arrivé à comprendre à peu près ta version. Ton objectif de démontrer que le langage PERL peut être lisible me semble atteint !

  • [^] # Re: Portage de Taptempo en langage musical

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en Bash. Évalué à 5.

    Pour avoir longtemps cherché des tempi « à la main » avec un métronome comme tu le proposes, je préfère largement les applications type tap tempo.
    L'avantage est de pas être perturbé par un "tac tac" étranger pendant l'écoute du morceau.

    D'ailleurs il me semble que le bouton "beat" en bas à droite de ton métronome électronique est un tap tempo non ? ;-)

  • [^] # Re: J'ai trouvé ce projet marrant

    Posté par  (site web personnel) . En réponse au journal Un tap tempo en ligne de commande. Évalué à 3.

    Effectivement ça a l'air puissant ces macros. A voir pour la lisibilité sur des cas plus complexes.

    Si j'ai géré le cas d'erreur c'est que c'est obligatoire en Rust (sinon ça génère un warning). En soi, je ne suis pas sûr que ce soit super utile, j'imagine qu'il y a peu de chance que l'écriture sur le terminal échoue.

    Je ne sais pas ce que fait exactement std::io::stdout().flush().expect("Error: cannot flush"); mais si ça écrit sur le terminal lors d'une erreur d'écriture, ça sent la boucle infinie :-)

  • [^] # Re: Bravo !

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en Ada. Évalué à 2.

    Donc c'est l'avantage des types bornés et la magie de Parse_Args qui le permet.
    Merci pour ces explications !

  • # Mème

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en JavaScript. Évalué à 10.

    Aurais-je créé un mème ? :-)

  • # Bravo !

    Posté par  (site web personnel) . En réponse au journal Portage de TapTempo en Ada. Évalué à 3.

    Bravo pour le portage, j'ai appris pas mal de choses sur Ada !

    Concernant la définition des types, que se passe t'il quand l'utilisateur rentre une valeur hors cadre ?
    Je ne connais pas très bien Ada, du coup je n'arrive pas à comprendre où est le code qui permet de mettre par exemple Sample_Size à 1 si celui-ci est 0.
    Une erreur est-elle lancée à la place ?

  • [^] # Re: J'ai trouvé ce projet marrant

    Posté par  (site web personnel) . En réponse au journal Un tap tempo en ligne de commande. Évalué à 3.

    Bravo pour cette traduction :)

    Le code a l'air plus compact, c'est une caractéristique de Rust ?

    Je vois que tu as rajouté la gestion d'erreur si l'écriture sur le terminal échoue. Bonne idée, il faut que je le rajoute !

  • [^] # Re: RingID

    Posté par  (site web personnel) . En réponse à la dépêche Ring, un logiciel de communication universel. Évalué à 1.

    Merci pour ces informations !

  • [^] # Re: Petite question d'implémentation

    Posté par  (site web personnel) . En réponse au journal Un tap tempo en ligne de commande. Évalué à 2.

    Super !