Journal upt: l'outil parfait pour empaqueter TapTempo

Posté par  . Licence CC By‑SA.
35
13
mar.
2018

Bonjour tout le monde,

Je vais faire (éhontément) un peu de pub pour mon dernier projet, upt : the Universal Packaging Tool, ou encore "l'outil d'empaquetage universel", comme on dit en France, de Bretagne en Provence.

Obtenir TapTempo depuis une archive de paquets spécifique à un langage

La communauté récemment formée autour de TapTempo a la possibilité d'utiliser diverses implémentations du logiciel, écrites dans de nombreux langages différents. Toutes ces versions de TapTempo seront sans doute bientôt disponibles sur des (…)

Journal [VINTAGE] "portage" taptempo en basic Amstrad CPC

Posté par  . Licence CC By‑SA.
Étiquettes :
26
13
mar.
2018

Nostalgie … un taptempo en basic pour Amstrad CPC. Au départ j'avais voulu faire un portage en basic pour TO7 mais je n'ai pas trouvé les fonctions qui me convenaient donc je l'ai fait en basic pour Amstrad CPC.

Pas de gestion de l'internationalisation, il manque des options à paramétrer, mais cette version donne l'essentiel : le tempo (en bpms) par rapport à la dernière frappe, et la moyenne sur 10 échantillons.

J'ai codé/testé sur http://www.cpcbox.com/ et via l'émulateur xcpc (…)

Journal Sortie de FlareRPG 1.0

Posté par  . Licence CC By‑SA.
31
13
mar.
2018

La nouvelle vient de tomber: FlareRPG est sorti en version 1 (attention: la version https renvoie sur la page d'exemple d'apache 2.2 pour fedora…).

De quoi s'agit-il?

Pour être exact, FlareRPG est juste un moteur de jeu pour réaliser des «Hack 'n' slash» en vue isométrique.

Les Hack 'n' slash sont des RPG dont le principal si ce n'est l'unique objectif est de massacrer du monstre, avec une histoire typiquement linéaire.
Quant à la vue isométrique, pour (…)

Journal TapTempo en PHP

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

TapTempo, c'est plus ce que c'était, on a vu a de tout, mais pas encore de PHP, redonnons lui sa gloire.

J'ai écrit plusieurs versions différentes de ce code, mais je vais seulement en donner une, que je trouve intéressante pour plusieurs raisons.

Déjà, le PHP en lui même donne un code plutôt lisible, et sans surprise, ensuite:

  • PHP n'a pas de types de liste avancés (ou peu) dans sa bibliothèque standard, j'ai opté ici pour une implémentation très primitive (…)

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 À propos du langage APL et portage de TapTempo en bonus

Posté par  . Licence CC By‑SA.
Étiquettes :
20
11
mar.
2018

Cher Nal,

Connais-tu le langage APL ? Il s'agit d'un langage, ou plutôt d'une notation Unicode, inventée par Kenneth Iverson et permettant d'effectuer facilement des calculs globaux sur des tableaux (à une ou plusieurs dimensions).

Introduction

L'idée d'effectuer des calculs globaux sur des tableaux n'est pas si différente de ce que l'on peut trouver dans R ou autres langages similaires plus connus des statisticiens, mais elle est poussée à son extrême dans APL. Là ou Scheme représente un effort pour (…)

Journal TapTempo sous la forme d'un service sur internet

Posté par  . Licence CC By‑SA.
Étiquettes :
19
11
mar.
2018

Bonjour tout le monde,

Vu que nous somme en 2018, il est temps de passer à une version plus moderne de TapTempo. Toutes les versions étaient jusqu'à présent exécutées en local, alors que c'est tellement plus simple et plus pratique sous la forme d'un service sur internet exécuté sur un autre ordinateur, voir potentiellement dans le nuage (hype °o°).

Bien évidemment l'application reste destinée à être utilisée en ligne de commande:

telnet theglu.org 2999

Si vous avez l'envie de (…)

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
(…)

Journal Portage de TapTempo en Clojure

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

Salut à tous.

Voici une version en Clojure. Rien de remarquable, juste qu'on affiche le tempo tous les 6 battements.
Il n'y a pas la prise en charge d'arguments ou d'internationalisation.

(ns taptempo.core
  (:import jline.console.ConsoleReader)
  (:gen-class))

(defn now []
  (System/currentTimeMillis))

(defn read-char []
  (->(ConsoleReader.) (.readCharacter) char))

(defn calc-tempo [start end taps]
  (* (/ taps (- end start))
(…)

Journal Portage de TapTempo en C à la Unix-like

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

Salut Nal,

Il manquait une version C à la tradition Unix, c'est maintenant fait !

Du coup, pour préserver l'esprit, options courtes uniquement et pas de version, mais pour le reste, c'est assez complet avec contrôle des bornes pour les paramètres. Il ne manque que la page de manuel, ce sera pour une autre fois :)

#include <err.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/time.h>
#include <unistd.h>

#define NSAMPLES 5
#define MAX_NSAMPLES 20
#define RESET_TIME 5
#define PRECISION 0

extern  char
(…)

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 Une nouvelle version de Lutim !

Posté par  (site web personnel) . Licence CC By‑SA.
31
10
mar.
2018

Lutim, mon logiciel d'hébergement d'images est sorti en version 0.9 hier soir !

Huit mois après la version 0.8, cette nouvelle version n'apporte pas grand chose à l'utilisateur, si ce n'est une interface par défaut légèrement modifiée, moins chargée (j'espère) et une galerie (normalement) plus performante, par contre cette version améliore un certain nombre de choses sous le capot.

Voici la liste des modifications :

  • Le thème par défaut a été modifié ;
  • Un nouveau moteur de galerie, qui me (…)

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 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 % (…)