Red Nose Hacker

emacs

Guile Logo Logo Emacs

I practice Test Driven Development almost systematically when I write code. So executing tests and reading their results are more than repetitive tasks.

Repetition could lead to automation... Here I present the first features of a tool that should make my life easier. I call it Gunit64!

Read more...

Guile Logo      Logo Emacs

Je pratique presque systématiquement le Test Driven Development lorsque je travail sur mes petits projets. Autant dire que l'exécution de tests et la lecture de leurs résultats sont des tâches plus que répétitives.

Qui dit répétition peut dire automatisation… Je te présente ici les premières fonctionnalités d'un outil qui devrait me faciliter la vie. J'ai nommé Gunit64 !

Lire la suite...

Guix logo

Have you ever wanted to hack on a free software project with a fellow hacker sitting next to you ? I did. But suddenly, I could not !

So I look for solutions to do remote pair-programming. I wanted to work on Guile projects, within Emacs, using Git, Autotools, etc. Do you know how many solutions are out there providing such environment to collectively hack in ? I've found none.

So I've made one with Guix.

Read more...

Logo Emacs

Recently, I discovered WriteFreely.el, an Emacs extension to publish and update Org-mode files as posts on any WriteFreely instance (such as Write.as, as the default instance).

Lire la suite...

Dans cette session...

Je me remet en jambe avant la rentrée avec un nouveau kata (l'intitulé est fourni en commentaire dans le code plus bas) ! Je cherche un moyen de rendre mes tests explicites ! Pour ce faire, je tente de combiner les symboles et les wildcards.

Lire la suite...

Le dernier test ajouté (et tous les autres) passent, place au réusinage ! Je me concentre dans cette session sur les tests.

Tu peux retrouver le code source du projet et autres croustillants détails sur son dépôt !

Bon screencast !

Lire la suite...

Objectif de cette session : Continuer d'utiliser un peu plus d'outils que Guile (Scheme) et Emacs mettent à disposition (Paredit, Geiser, AC-Geiser, SRFIs) pour améliorer mes compétences en développement logiciel.

Bon screencast !

Lire la suite...

Objectif de cette session : Continuer d'utiliser un peu plus d'outils que Guile (Scheme) et Emacs mettent à disposition (Paredit, Geiser, AC-Geiser, SRFIs) pour accélérer le développement de programmes.

Bon screencast !

Lire la suite...

#kata #tdd #testdrivendevelopment #guile #scheme #emacs #screencast

Guile Logo

Objectif de cette session : Utiliser un peu plus d'outils que Emacs met à disposition (Paredit, Geiser, AC-Geiser) pour accélérer le développement.

Bon screencast !

Je place le code à la suite pour ceux que ça intéresse :

(define-module (harness-guile)
  #:use-module (srfi srfi-64))

(module-define! (resolve-module '(srfi srfi-64))
		'test-log-to-file #t)

(define EMPTY_STRING "")
(define DUMMY_1CHAR_STRING "a")

(define (rotations str)
  `(,str))

(test-begin "test-suite")

(define test-cases-descripti)

(define (test-equal-batch triples)
  (map (lambda (triple)
	 (let ([test-name (car triples)]
	       [test-expected (car (cdr triples))]
	       [test-effective (car (cddr triples))])))
       triples))

(test-equal "empty-string"
  `(,EMPTY_STRING)
  (rotations EMPTY_STRING))

(test-equal "one-char-string"
  `(,DUMMY_1CHAR_STRING)
  (rotations DUMMY_1CHAR_STRING))

(test-end "test-suite")

Merci beaucoup d'avoir regardé ce screencast !

N'hésites pas à me donner ton avis, proposer une idée d'amélioration, laisser un commentaire, ou poser une question via :E-mail: jeremy AT korwin-zmijowski DOT frMastodon: @jeko@framapiaf.orgPeertube: @jeko@video.tedomum.netTwitter: @JeremyKorwin

Abonnes-toi pour ne pas manquer les prochains articles et épisodes:blog via Mastodon @jeko@write.as et RSSscreencast via Peertube @jeko@video.tedomum.net et RSS

Et encore plus important, partages le screencast et dis à tes amis que c'est le meilleur screencast de l'histoire du logiciel libre ! Sans dec'

#kata #tdd #testdrivendevelopment #guile #scheme #emacs #screencast

Guile Logo

Objectif de cette session : Continuer de s'exercer avec String rotations.
Illustrer un ré-usinage des tests et utiliser un peu plus les outils à disposition dans Emacs !

Bon screencast !

Je place le code à la suite pour ceux que ça intéresse :

(define-module (kata-3)
  #:use-module (srfi srfi-64))

(module-define! (resolve-module '(srfi srfi-64))
		'test-log-to-file #t)

(define EMPTY_STRING "")
(define DUMMY_1CHAR_STRING "a")

(define (rotations str)
  `(,str))

(test-begin "test-suite")

(define test-case-descriptions
  `(["empty-string" (,EMPTY_STRING) ,EMPTY_STRING]
    ["one-char-string" (,DUMMY_1CHAR_STRING) ,DUMMY_1CHAR_STRING]
    ["two-char-string" ("ab" "ba") "ab"]))

(define (test-equal-batch triples)
  (map (lambda (triple)
	 (let ([test-name (car triple)]
	       [expected-value (car (cdr triple))]
	       [effective-value (car (cddr triple))])
	   (test-equal test-name
	     expected-value
	     (rotations effective-value))))
       triples))

(test-equal-batch test-case-descriptions)

(test-end "test-suite")

Merci beaucoup d'avoir regardé ce screencast !

N'hésites pas à me donner ton avis, proposer une idée d'amélioration, laisser un commentaire, ou poser une question via :E-mail: jeremy AT korwin-zmijowski DOT frMastodon: @jeko@framapiaf.orgPeertube: @jeko@video.tedomum.netTwitter: @JeremyKorwin

Abonnes-toi pour ne pas manquer les prochains articles et épisodes:blog via Mastodon @jeko@write.as et RSSscreencast via Peertube @jeko@video.tedomum.net et RSS

Et encore plus important, partages le screencast et dis à tes amis que c'est le meilleur screencast de l'histoire du logiciel libre ! Sans dec'