hocwp a écrit 320 commentaires

  • # ...

    Posté par (page perso) . En réponse au journal Naissance de la Taptempo-Federation. Évalué à 7.

    Hé hé ça a un goût de diner de con. Bon je me tais sinon je vais laisser aucun doute. :-)

  • # Ton du journal

    Posté par (page perso) . En réponse au journal Portage de TapTempo en Clojure (v2). Évalué à 6.

    Pour ceux qui n'aurait pas suivit et qui aurait tiqué sur le ton du début de journal : je suis l'auteur de la 1ère version de TapTempo en Clojure et de celle en Forth.
    Je ne me permettrais pas de dénigrer de cette manière du code autre que le mien. Mais ces versions ne respectaient en rien le cahier des charges du journal initial (méa culpa). Ça m'apprendra à ne pas bien lire les specs… La version 2 me semble plus cohérente dans ce sens. On ne pouvait pas en rester à la 1ere version.

    Je trouve génial toutes les versions qui ont fleuries sur github. C'est vraiment sympa d'avoir un programme un peu plus évolué qu'un 'hello world' avec toutes les fonctionnalités attendu.
    Du coup un simple git clone et les explications pour compiler et on a un template pour un programme connu dans un langage qu'on ne maîtrise pas.

  • [^] # Re: Tests

    Posté par (page perso) . En réponse au journal Portage de TapTempo en Clojure (v2). Évalué à 5.

    Oui, la version précédente était vraiment trop simpliste.

    Les test unitaires sont exécutés à part avec la ligne de commande lein test (il faut que je le rajoute dans le README).
    Pour le fonctionnement, la fonction is attend que tous les tests en argument soient vrais.

    Donc par exemple pour :

    (is (= (calc-tempo [60000 0]) [1N 2]))

    L'appel à (calc-tempo [60000 0]) doit être égal à [1N 2]. C'est à dire 1 bpm avec 2 samples en entrées.
    Si ce n'est pas le cas, le test ne passe pas.

    Les premiers tests sont ceux attendu théoriquement. Les suivants sont de vrais échantillons (tu dois pouvoir voir l'heure à laquelle ils ont été pris :-) ).

  • [^] # Re: La feature dont tout le monde se fout

    Posté par (page perso) . En réponse à la dépêche Quel terminal pour 2018 ?. Évalué à 3.

    Il faut bien que quelqu'un dise qu'Emacs le fait depuis des lustres.
    Donc, c'est ce que font un shell ou un eshell et la fonction toggle-truncate-lines
    Et au passage, c'est aussi valable pour les autres type de buffers.

  • # Vieux code

    Posté par (page perso) . En réponse au journal Journal Portage de TapTempo en Forth. Évalué à 2.

    Héhé en relisant ma page perso, je me suis souvenu qu'on peut faire des choses assez terribles en Forth : http://hocwp.free.fr/fex/

    Pour résumer, les balises d'un document sont du Forth et quand ils sont évalués produisent le document.
    C'est l'inverse du Lisp où Code is Data. En Forth Data is Code.

    M'enfin ça ne sert à rien actuellement avec le markdown et consorts. :-)

  • [^] # Re: Force

    Posté par (page perso) . En réponse au journal Journal Portage de TapTempo en Forth. Évalué à 3. Dernière modification le 11/03/18 à 14:23.

    Oui c'est voulu pour permettre de lisser les calculs du tempo sur 6 battements.

    Pour le côté cryptique, c'est pas bien de ma part : je n'ai pas documenté l'usage du tas.

    Mais en gros, au début on a le temps de départ et le compteur sur le tas.
    A chaque itération de la boucle on diminue le compteur.
    Quand il atteint 0, on calcule le tempo :

    steps 60 1000 1000 * * * s>f => on place le numérateur steps*60*1000*1000 sur le tas des flottants.
    drop => on enlève le compteur du tas
    now => on place le temps actuel sur le tas
    swap => on inverse le temps de départ et le temps actuel
    - => on calcule la différence
    s>f => on place le dénominateur sur le tas des flottants
    f/ => on effectue la division

  • [^] # Re: Compact

    Posté par (page perso) . En réponse au journal Portage de TapTempo en Clojure. Évalué à 3.

    Merci à toi pour l'idée d'origine et aux auteurs pour les autres langages.
    C'est vraiment fun de comparer les langages avec chacun sa culture !

  • [^] # Re: EmacsOS

    Posté par (page perso) . En réponse à la dépêche GNU Emacs v25.1 : regarder YouTube dans Emacs. Évalué à 2.

    Pour le parefeu, je sais pas mais pour l'audio bongo est vachement bien !

  • # Mise à jour

    Posté par (page perso) . En réponse à la dépêche GNU Emacs v25.1 : regarder YouTube dans Emacs. Évalué à 8.

    Cool : c'est le moment de mettre à jour son OS.
    Merci pour la dépêche.

  • [^] # Re: Emacs

    Posté par (page perso) . En réponse au sondage Votre multiplexeur de terminal favori. Évalué à 1.

    Tout pareil !

  • [^] # Re: Il manque Emacs dans la liste.

    Posté par (page perso) . En réponse au sondage Quel terminal utilisez-vous ?. Évalué à 2.

    Il est présent pourtant, non ? J'ai répondu 'Le terminal par défaut de mon système d'exploitation'.
    Perso eshell et des fois shell ou ansi-term (Les shell d'emacs).

  • [^] # Re: Pas mal

    Posté par (page perso) . En réponse à la dépêche Un point d'avancement sur Neovim. Évalué à 9.

    Suffit d'utiliser emacs daemon / emacsclient. Mais il faut penser à redimensionner le serveur dans ce cas.
    Oops pas pu attendre vendredi -> []

  • # Stow

    Posté par (page perso) . En réponse au journal Comment faire une sandbox de mon système de fichier ?. Évalué à 5.

    Si tu n'as pas besoin d'isoler ton programme des autres, tu peux utiliser stow. Il permet d'installer un programme dans un répertoire et de créer des liens dans /usr/local pour qu'il fonctionne correctement.
    Sinon des fois, j'utilise un truc maison.

  • [^] # Re: Mes incontournables, que dis-je, mes indispensables

    Posté par (page perso) . En réponse à la dépêche GNU Emacs : quelques extensions (première partie). Évalué à 2.

    C'est une tuerie ce eev. Merci pour la découverte !

  • [^] # Re: emacs

    Posté par (page perso) . En réponse au message divers utilitaires . Évalué à 2.

    Il y a au moins 2 autres émulateurs de terminal à tester : shell et term. Term permet d'utiliser les programmes en ncurses et je trouve shell plus souple (déplacement dans le buffer pour le copier/coller). Les deux supportent la couleur.

  • # Aplay = wav

    Posté par (page perso) . En réponse au message commande aplay. Évalué à 2.

    aplay permet de lire des fichiers wav. Pour des mp3, tu peux utiliser mpg123 (ou 321). Tu peux aussi convertir dING1.mp3 en .wav avec audacity ou sox (entre autres).

  • [^] # Re: XML

    Posté par (page perso) . En réponse au journal XML c'est de la daube!!!. Évalué à 3.

    On peut même trouver les spécifications du SXML et sa grammaire. Mais après il risque d'y avoir ce problème.

    Sinon, on peut aussi écrire ça (j'aime bien jouer moi aussi) :

    (com (:type "commentaire")
      (question (:to "jbbourgoin")
        Comment tu traduis ma question en LISP ?
        (complement (:type "réécriture de la question")
          Comment ça se passe avec les attributs ?)))
  • [^] # Re: bien configuré, syslinux te permettra de faire bien plus.

    Posté par (page perso) . En réponse au message Un LiveUSB tout terrain. Évalué à 1. Dernière modification le 22/02/14 à 21:20.

    Ca marche très bien. Voici les lignes que j'utilise dans /etc/grub.d/40_custom (à adapter évidement) :

    menuentry "Debian Live" {
      loopback loop (hd1,msdos3)/live-build/debian-live.iso
      linux    (loop)/live/vmlinuz1 boot=live config fromiso=/dev/disk/by-uuid/ac51ebd6-716c-4a27-a94c-2c0581405369/live-build/debian-live.iso
      initrd   (loop)/live/initrd1.img
    }
    

    Il suffit alors de se construire son système, de copier l'iso sur la clef et d'installer le grub. C'est très souple.

  • [^] # Re: Le shell du troisième millénaire!

    Posté par (page perso) . En réponse au journal cv, un petit outil pour surveiller vos copies. Évalué à 1.

    Comme disent Stallmann et Paul Graham, l'avenir est au Lisp. C'est évident.

    J'en suis convaincu aussi, mais ça manque un peu d'arguments, non ?

    Sinon, as-tu regardé du côté de CLASH pour remplacer le shell par un Lisp. Après, il reste à faire une jolie macro qui traduit les commandes non trouvées en lisp en commande shell.
    Il y a aussi le listener de Clim qui est un shell graphique. (un peu comme TermKit mais en moins joli pour l'instant).

  • [^] # Re: performance de l'ensemble % au besoin

    Posté par (page perso) . En réponse au message Déménagement en Indonésie.. Évalué à 2.

    Tout dépend comment tu configure ton navigateur. Chez moi une touche suffit à lancer le script qui fait le téléchargement de l'url sous la souris et la lecture avec omxplayer. Ça ne me semble pas trop contre intuitif.

  • [^] # Re: performance de l'ensemble % au besoin

    Posté par (page perso) . En réponse au message Déménagement en Indonésie.. Évalué à 0.

    surfer : pourquoi pas (eviter youtube quand meme)

    Pas nécessairement. La lecture de vidéos provenant de youtube avec omxplayer fonctionne parfaitement. Il faut juste rapatrier la vidéo (avec youtube-dl, (c)clive…) et éviter le flash.

  • [^] # Re: Clojure & Scala

    Posté par (page perso) . En réponse au journal De tout, de rien, des bookmarks, du bla bla 42. Évalué à 1.

    J'arrive un peu après la bataille, mais la REPL te permets de coder ton programme alors qu'il est déjà lancé. Tu peux alors faire de la compilation incrémentale et c'est super pratique!
    Voir ici et par exemple.

  • [^] # Re: i3wm

    Posté par (page perso) . En réponse au sondage 1 an après : quel gestionnaire de fenêtres utilisez‐vous ?. Évalué à 1.

    La vidéo montre les 3 modes : placement prédéfini, placement libre, placement contraint. C'est donc normal que les fenêtres bougent beaucoup. Mais ça ne correspond pas forcement à une utilisation de tout les jours.

  • [^] # Re: i3wm

    Posté par (page perso) . En réponse au sondage 1 an après : quel gestionnaire de fenêtres utilisez‐vous ?. Évalué à 2.

    La bête est un peu dure à dompter, donc voila une vidéo qui montre ce dont je parle.
    On voit les différents layouts pour chaque cadre et l'utilisation des cadres imbriqués pour gérer chaque fenêtre avec le recouvrement ou le déplacements / redimensionnement contraint.

  • [^] # Re: i3wm

    Posté par (page perso) . En réponse au sondage 1 an après : quel gestionnaire de fenêtres utilisez‐vous ?. Évalué à 3.

    Pas de chance, c'est antinomique.

    Je ne vois pas du tout en quoi. Qu'est ce qui empêche d'avoir un wm dans le quel je décris dans sa configuration comment chaque libellé est découpé en cadre, puis que je définisse des règles pour attribuer un cadre à un client ? Ce n'est pas parce qu'actuellement ça n'existe pas que c'est antinomique.

    Je ne veux pas trop m'avancer, mais est-ce que ça ne ressemble pas aux cadres avec leur différents layout dans CLFSWM ?
    Un cadre peut avoir un layout qui prend en charge ses enfants (mode automatique) ou alors les cadres intérieurs sont libres et dans ce cas, on peut les retailler/déplacer/étendre manuellement.
    Un exemple de cadrage manuel. Le menu des layouts et celui des déplacements possibles donnent peut-être une idée de ce qu'on peut faire.