Journal Portage de TapTempo en PHP

Posté par  . Licence CC By‑SA.
Étiquettes :
16
3
mar.
2018

Aie ! Non, pas les doigts ! Ouille !

Mesdames et Messieurs,

Je prends le train en marche et vous fais profiter de cette version de TapTempo en PHP !

La source est disponible dans ce journal et sur Github : taptempo-php.

Si l'on résume, on en est maintenant à : Ada, Bash, Haskell, JavaScript, Perl, Perl6, PHP, Python 2.7, PWA, Rust, Wren.

Écrit sous forme d'une classe statique, j'ai essayé de (…)

Journal Kotaten : un Tap Tempo en Kotlin

Posté par  (site web personnel, Mastodon) .
Étiquettes :
16
9
mar.
2018

J'avais besoin d'un exemple quelconque pour tester différentes choses en Kotlin, dont :

  • L'internationalisation
  • La surcharge des opérateurs
  • L'utilisation de dépendances et de libs Java

Et comme c'est la mode de faire des clones de Tap Tempo, ça me paraissait être un bon candidat. Donc voici le mien – en Kotlin, donc. Il me parait être plus dans l'esprit de la version d'origine que la version Java (qui elle aussi tourne sur une JVM).

Pour vous éviter de (…)

Journal Portage de TapTempo en Elixir

Posté par  . Licence CC By‑SA.
Étiquettes :
16
10
mar.
2018

Salut à tous!

Voici un portage très simple et assez naif de TapTempo en Elixir. Elixir est un langage fonctionnel exécuté par la machine virtuelle d'Erlang. Il comprend des features intéressantes de flow programming, pattern matching etc. Les variables sont immuables de base et le langage ne comprend pas d'instructions pour boucler (le for est utilisé uniquement pour des compréhensions) et incite donc a utiliser la récursion, plus fonctionnelle.

Le port lui-même est assez naïf mais fonctionne bien. Notez (…)

Journal Un autre taptempo en Scala

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
15
27
juil.
2018

Coiffé au poteau sur le créneau du taptempo en Scala par martoni (qui ne bluffait visiblement pas), alors que je mijotais ma version depuis des mois, j'apprends à la dure la loi impitoyable du Time to market et ne puis plus qu'espérer récolter les restes. C'est bien, ça me pousse à publier même si les TU ne sont pas exhaustifs, même si c'est sur l'instance gitlab officielle et pas sur mon instance autohébergée qui est pas finite d'installer (avant je (…)

Journal Portage de TapTempo en OCaml

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
15
10
mar.
2018

Je me désespérais de voir apparaître le portage de TapTempo en OCaml alors je m'y colle.
Taptempocaml est donc le portage du désormais célèbre TapTempo en OCaml.
Ce portage n’a pas la prétention de présenter l’état de l’art de la programmation fonctionnelle. Le but ici est plutôt de fournir le code le plus simple et le plus proche de l’original et ceci pour trois raisons :
I. Bien que le langage fournisse des fonctionnalités très évoluées, dans 93 % (…)

Journal Portage de TapTempo en Bash

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
15
28
fév.
2018

Bonjour à tous,

Suites aux ports de TapTempo en Rust, Ada, JS, PERL et python (2.7)

Voilà ma version en bash ;-)

#!/bin/bash

PREV="$(date +%s%N | cut -b1-13)"
TAPS="0"
COUNT="0"

while read -p "tapTempo : press any key (CTRL+D for quit)" tap ; do
    CUR="$(date +%s%N | cut -b1-13)"
    TAPS="$TAPS + $(($CUR-$PREV))"
    PREV=$CUR
    COUNT="$(($COUNT + 1))"
done

echo ""

Journal Portage de TapTempo en Perl

Posté par  . Licence CC By‑SA.
Étiquettes :
15
27
fév.
2018

Bonjour à tous,

Suites aux ports de TapTempo en Rust, Ada et JS, je me suis dit que ça pourrait être marrant de le faire en Perl. Ça a été un prétexte pour coder un peu (première fois depuis fort longtemps) et de re-découvrir un peu le Perl pendant une aprem.

Ce programme aborde quelques aspects intéressants pour découvrir vite fait les bases langage :
- le code minimal
- la gestion du typage
- quelques structures (…)

Journal TapTempo en emacs lisp

Posté par  . Licence CC By‑SA.
Étiquettes :
15
12
mar.
2018

Le portage de TapTempo en emacs lisp est idéal pour se muscler les doigts !
Battez la mesure sous votre éditeur préféré à coup C-c C-s et vous aurez votre bpm dans le mini-buffer.

À rajouter d'urgence dans votre .emacs

(setq t0 0)
(setq array (list))

(defun sum(list)    
  (if (null list)
      0
    (+ 
     (first list) 
     (sum (rest list))
     )   
    )   
  )


(defun
(…)

Journal Le TapTempo du web, mais plus rapide

Posté par  .
Étiquettes :
15
19
juin
2022

spacefox a lancé dans ce journal un "concours" d'implémentation d'un programme dans divers langages. Le but est d'écrire un serveur HTTP qui retourne une redirection vers une page aléatoire : https://avatar.spacefox.fr/Renard-$random.png.

Pas mal d'implémentations ont déjà été proposées, je vais essayer à mon tour en essayer 4 :

  • Deno, pour découvrir
  • Node.js, pour avoir une référence par rapport à Deno
  • nginx (ngx_http_lua_module) et Varnish, car ce sont deux outils qu'on utiliserait dans la vraie vie pour implémenter le programme.
(…)

Journal Portage de TapTempo en Clojure (v2)

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
14
14
mar.
2018

Salut à tous. Voici une 2ème version en Clojure de TapTempo.
Je ne mets pas de référence vers le premier jet tellement il était à côté de la plaque (la version en Forth était beaucoup trop simpliste aussi). Désolé pour le bruit.

Dans celle-ci, nous avons :

  • Le lissage avec une vraie moyenne sur sample-size.

  • la gestion des arguments en ligne de commande avec validation des entrées :

    • nombre de samples
    • précision de l'affichage
    • reset après un certain temps
    • version
    • (…)

Journal Portage de TapTempo en Reason

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
14
10
mar.
2018

Si les caractéristiques du langage OCaml vous séduisent mais que sa syntaxe vous rebut, ce journal peut peut-être vous intéresser.
Il s’agit du portage de TapTempo en Reason. Pour ceux qui ne connaissent pas Reason, en gros c’est OCaml avec une syntaxe proche de Javascript. Le code qui suis est le résultat de la conversion du code présenté dans le précédent journal en Reason.

open I18n.Gettext;

let run = (sampleSize, resetTime,
(…)

Journal Port de taptempo en Rust

Posté par  . Licence CC By‑SA.
Étiquettes :
14
3
mar.
2018

Comme promis, voici un petit journal sur mon port de taptempo en Rust. Je n'ai pas porté le mécanisme d'internationalisation, puisque finalement on peut le faire comme dans le code C++, avec gettext. Ce n'est pas le plus intéressant du projet, et il n'existe pas de mécanisme d'internationalisation que je trouve vraiment satisfaisant et idiomatique pour le moment.

Description du Rust

Pour ceux qui ne connaissent pas le langage, la façon la plus simple de le décrire (…)

Journal Port complet de TapTempo en C# 9

Posté par  . Licence CC By‑SA.
14
11
jan.
2021

Bonjour 'nal,

Y'a plein de poussière ici dis-moi. Faut dire que ça fait longtemps que je ne t'ai plus écrit.

Ce WE, j'ai voulu faire honneur à Pierre Tramo avec un langage qui (à ses débuts) était une copie de Java avec quelques améliorations pour pas que le prof voit qu'on a copié sur le voisin.

Je veux bien sûr parler de C#.

Les sources

C'est par là

Pourquoi ?

Parce que j'en avais envie. Pour le fun. Parce que (…)

Journal Journal Portage de TapTempo en Forth

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
13
11
mar.
2018

Salut à tous. Voici un portage de TapTempo en Forth.

5 set-precision
6 Constant steps

: now utime drop ;
: calc-tempo steps 60 1000 1000 * * * s>f   drop now swap - s>f   f/ ;
: print-tempo ." Tempo: " f. ." bpm" cr ;
: restart now steps ;

: main
  ." Appuyer sur la touche entrée en cadence (q pour quitter)." cr
  restart
  begin
    key 113 <> while 1- dup 0 = if calc-tempo print-tempo restart
(…)