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

Sortie de CLFSWM 1212

Posté par  (site web personnel) . Édité par baud123, Benoît Sibaud et Xavier Teyssier. Modéré par baud123. Licence CC By‑SA.
29
9
déc.
2012
Technologie

La version 1212 de CLFSWM vient de sortir récemment.
Pour rappel, CLFSWM (Common Lisp FullScreen Window Manager) est un gestionnaire de fenêtres où les fenêtres sont la plupart du temps maximisées à l'écran.
CLFSWM est constitué de cadres qui peuvent contenir d'autres cadres ou des fenêtres. Il peut être manipulé au clavier ou avec la souris. Et il dispose de menus pour les actions moins fréquentes.

Le cadre ou la fenêtre courante est maximisé à l'écran. Les cadres peuvent être créés au fur et à mesure avec le clavier ou la souris et peuvent arranger leurs enfants (cadres ou fenêtres) de manières différentes (maximisés, pavés, en colonnes…).

Voici un exemple d'agencement que l'on peut obtenir sur un double écran :

 CLFSWM dual screen

Vous trouverez plus de détails sur les changements depuis la dernière version dans la suite de la dépêche.

Journal Nouvelle version de CLFSWM.

Posté par  (site web personnel) . Licence CC By‑SA.
23
12
juin
2011

La version 1106 de CLFSWM vient de sortir récemment. CLFSWM (Common Lisp FullScreen Window Manager) est un gestionnaire de fenêtres ou les fenêtres sont la plupart du temps maximisées à l'écran. Dans le principe, CLFSWM est constitué de cadres qui peuvent contenir d'autres cadres ou des fenêtres. Il peut être manipulé au clavier ou avec la souris (pas de dogme). Et il dispose de menus pour les actions moins fréquentes.

Le cadre ou la fenêtre courante est maximisé (…)

Journal Javascript plus rapide que python ! (une suite possible)

Posté par  (site web personnel) .
Étiquettes : aucune
24
7
juil.
2010

Bonjour, suite au journal de Kopec et au commentaire d'Axioplase ıɥs∀, je me suis amusé à tester l'algorithme pour trouver des nombres amis avec plusieurs langages : Python, C, Lisp, Lua et forth.

Voici les résultats que j'ai obtenu.

C                                            0.466      1
sbcl (compilé, optim, sans cons)             0.468      1
sbcl (compilé, optimisation)                 0.511      1.09
sbcl (compilé, sans optimisation)            0.878      1.88
gforth-fast                                  1.025      2.19
sbcl (sans optimisation)                     1.59       3.41
gforth                                       2.761      5.92
lua                                          7.377     15.8
python                                      29.877     64.1

Ce (…)

xbindkeys : appel à mainteneur.

Posté par  (site web personnel) . Modéré par Mouns.
Étiquettes :
28
17
mai
2009
Serveurs d’affichage
Il y a bientôt huit ans, xbindkeys sortait en version 1.0.

Pour rappel, xbindkeys permet d'associer une action ou un script à une touche ou un clic de bouton de souris.
À l'époque, j'avais écrit ce petit bout de code parce que je cherchais un gestionnaire de fenêtres qui me convenait et plutôt que de refaire à chaque fois l'association des touches du clavier, xbindkeys me permettait de garder les mêmes associations de touches avec différents gestionnaires de fenêtres. Il permettait également de faire ces associations avec les gestionnaires qui ne le permettaient pas.

Il a d'abord été écrit entièrement en C puis le besoin s'est fait sentir de pouvoir le modifier sans toucher au code en C ni appeler des scripts externes et un contributeur (Marcello Mathias Herreshoff) a rajouté la possibilité de le configurer en Scheme.
Au fil du temps, je me suis rendu compte que je refaisais un gestionnaire de fenêtres en rajoutant tout un tas de petits programmes appelés depuis xbindkeys (comme movemouse, xstickwin...) et quitte à faire quelque chose, je me suis lancé dans l'écriture d'un gestionnaire de fenêtres qui me convenait écrit, de manière homogène, en Common Lisp (clfswm).

Depuis, je n'utilise plus xbindkeys mais certains semblent continuer à s'en servir (voir l'annonce d'Uzbl par exemple).
Je continue à corriger les éventuels bugs, mais si quelqu'un veux reprendre le flambeau et créer un site plus moderne avec un wiki par exemple, une mailing-liste et utiliser un gestionnaire de versions, n'hésitez pas a me contacter. Dans tous les cas je continue à suivre xbindkeys mais - je le crains - d'un oeil de plus en plus distant.

Voilà, si vous avez envie de donner une nouvelle jeunesse à xbindkeys, ce sera avec plaisir que je passerai le flambeau.

Sortie de CLFSWM 0809.

Posté par  (site web personnel) . Modéré par Nÿco.
Étiquettes :
10
25
sept.
2008
Serveurs d’affichage
Une nouvelle version de CLFSWM vient de voir le jour. CLFSWM (Common Lisp FullScreen Window Manager) est un gestionnaire de fenêtre écrit entièrement en Common Lisp qui a pour but de se faire oublier en présentant les fenêtres d'applications en plein écran sans décoration ni fioriture.

Il est basé sur tinywm et stumpwm et est distribué sous licence GPLv3.

CLFSWM est extrêmement dynamique : par défaut il n'y a qu'un cadre. Les autres cadres sont ajoutés au fur et à mesure suivant les besoins. Un cadre peut contenir des fenêtres ou d'autres cadres. Une fenêtre peut être présente dans plusieurs cadres. Ce qui permet différentes vue des mêmes fenêtres.

CLFSWM n'est pas à proprement parler un 'tiling window manager' puisque les fenêtres sont la plupart du temps maximisées mais la possibilité de les mettre en pavage (tiler) est présente. De plus, une fenêtre peut être flottante ou prise en charge par son cadre (maximisée, ­pavée…)

CLFSWM - Un gestionnaire de fenêtres en Common Lisp.

Posté par  (site web personnel) . Modéré par Florent Zara.
Étiquettes :
0
7
jan.
2008
Serveurs d’affichage
Dans le but d'avoir un gestionnaire de fenêtre simple, qui se fait oublier, est né CLFSWM. Comme son nom l'indique, CLFSWM est écrit entièrement en Common Lisp; il a comme base tinywm et s'inspire de stumpwm pour le principe des cadres. CLFSWM est distribué sous licence GPLv3.

Le principe de CLFSWM est que l'affichage est divisé en espaces de travail, groupes et fenêtres. Les fenêtres étant elle-mêmes contenues dans des groupes. Par défaut, un groupe est maximisé à l'écran sans bouton, menu ou décoration, rien d'autre que l'application en plein écran. Lorsqu'un groupe de fenêtres n'est pas maximisé, alors il peut être déplacé, redimensionné etc Les groupes et les bureaux sont créés à la volée quand on en a besoin. Il peut y avoir plusieurs fenêtres par groupe et une fenêtre peut apparaître dans plusieurs groupes ou bureaux (ce qui est pratique pour avoir différentes vues des mêmes fenêtres).

Sortie de SBCL 1.0

Posté par  (site web personnel) . Modéré par rootix.
Étiquettes :
0
30
nov.
2006
Technologie
SBCL est une implémentation libre du langage ANSI Common Lisp.
Elle fournit un compilateur en code natif, un débogueur et un environnement interactif où les fonctions sont compilées à la volée.
Elle est en partie dans le domaine publique et sous licence BSD.

Après six ans de développement, la version 1.0 est sortie le 30 novembre 2006. Les précédentes versions étaient toutefois déjà très utilisables.

A la base, SBCL est un fork de CMU CL de l'université de Carnegie Mellon qui devait permettre de rendre CMU CL plus portable et maintenable.

SBCL a été porté sur beaucoup d'architectures et sur la plupart des systèmes d'exploitation courants. En particulier, on pourra trouver une version pour presque chaque architecture supportée par Linux.
SBCL peut se compiler lui même ou à partir d'une autre implémentation du Common Lisp.

Journal Lancer des sorts en Common Lisp.

Posté par  (site web personnel) .
Étiquettes : aucune
0
4
fév.
2005
Cher journal, je voudrai te parler d'une BD/tutoriel qui est passée il y a quelques temps sur http://groups-beta.google.com/group/comp.lang.lisp/browse_frm/threa(...) et http://planet.lisp.org/(...) :

http://www.lisperati.com/(...)

L'auteur, Conrad Barski, décrit comment programmer un petit jeu d'aventure en Common Lisp.
Il introduit en douceur la programmation fonctionnelle et les macros qu'il appelle sorts (SPEL : "Semantic Program Enhancement Logic"), le tout agrémenté de dessins.

Le code de ce petit jeu se trouve ici : http://www.lisperati.com/code.html(...)
et un exemple de partie ici : http://www.lisperati.com/cheat.html(...)

Conrad Barski (…)

Hacker attitude dans Le Monde.fr

Posté par  (site web personnel) . Modéré par Fabien Penso.
Étiquettes :
0
2
nov.
2002
Communauté
Un article sur la hacker attitude est paru dans le Monde.fr.

Il revient sur le HackMeeting de Bologne en Italie, l'intervention de Richard Stallman et les valeurs que défendent les hackers (pour une fois qu'un article présente les hackers comme des fous de programmation et non comme de méchants pirates :-)