Red Nose Hacker

Crafting happiness with Free Software & Hardware

Guix logo

Summary

In addition to your default profile ~/.guix-profile, you can create as many profiles as you want (if you find it useful). For example, I have a profile dedicated to programming with Guile, in which I have installed the latest version of the language, extensions to Emacs, and some libraries I use frequently.

Lire la suite...

Logo Guix

Sommaire :

En plus de ton profil par défaut (~/.guix-profile), tu peux créer autant de profils que tu le souhaites (si tu trouve ça utile). Par exemple, j'ai un profil dédié à la programmation avec le langage Guile, dans lequel j'ai installé la dernière version du langage, des extensions d'Emacs, et quelques bibliothèques que j'utilise fréquemment.

Lire la suite...

Guix logo

Definitions

Package store

Guix is a software package manager. It therefore manages a package store, located in /gnu/store (by default). This is where all software packages that are added to the system via Guix are stored.

The package store is common to all users' profiles.

Lire la suite...

Logo Guix

Définitions

Le dépôt de paquêts

Guix est un gestionnaire de paquets logiciels. Il gère donc un dépôt de paquets, situé dans /gnu/store (par défaut). C'est l'endroit où sont stockés tous les paquets de logiciels que l'on ajoute au système via Guix.

Le dépôt de paquets est commun à tous les profiles de tous les utilisateurs.

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...

Logo Guix

Cette série de billets de blog est une invitation à voir comment quelqu'un peut apprendre comment empaqueter des logiciels pour Guix sans connaissance préalable à propos de Guix ou même de l'empaquetage de logiciel. Je te montre de quelles ressources j'ai besoin et comment je les utilise. Ma méthode est axée sur la pratique. L'exécution des commandes rythme mes itérations, leurs retours guident le code que je produis et l'utilisation de ressources externes (documentation, code source, communauté).

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'

Enter your email to subscribe to updates.