Il y a quelques jours, alors que je bossais sur mon pet project du moment, je
me suis surpris à penser « tiens, ça serait bien si cette fonctionnalité
devenait une application Django réutilisable ». La fonctionnalité en
question ne nécessitant pas plus de quelques lignes, je me suis dit que ce
serait rapidement torché.
Le fait que je me retrouve 10 jours plus tard et deux applications
supplémentaires me prouve encore une fois que je suis vraiment mauvais avec les
estimations. Et on s'étonne que je ne travaille pas au forfait …
Quoi qu'il en soit, pour la dernière app, j'ai décidé de tester l'approche
Documentation Driven Development. Retours d'expérience.
Par exemple, il m'arrive fréquemment, quand je facture un client, de devoir
inclure dans la facture des remboursements de frais. Et à chaque fois, je peste
car j'ai totalement oublié la bonne façon de faire.
Pour les neuneus en compta comme moi, voici donc la méthode facile et logique
pour émettre une facture qui intègre des remboursement de frais.
Vous savez tous ce que sont les automates cellulaires, n'est-ce pas ? Bon, pour les cancres et les gens qui ont vécu dans une cave pendant des années, je vous fait un court rappel. Un automate cellulaire est une grille à n dimensions, découpée en cases ou « cellules », chaque cellule pouvant adopter une parmi plusieurs valeurs à un instant t. La vie d'un automate cellulaire est découpée en intervalle de temps distcrt. À chaque itération, la valeur d'une cellule depend de la valeur des cellules environnantes lors de l'itération précédente. C'est clair ?
Le plus célèbre des automates cellulaires est très probablement le Jeu de la vie et ses fascinantes évolutions, mais c'est loin d'être le seul. Aujourd'hui, pour la beauté des yeux et du code, nous nous intéresserons aux automates cellulaires élémentaires.
Ce type d'automate est le plus simple qu'il puisse exister : une seule dimension (une ligne au lieu d'une grille), deux valeurs possibles pour chaque cellule (0 ou 1) et chaque cellule ne dépend que d'elle même et ses deux voisins les plus proches pour ses changements d'états. Pourtant, même avec une telle simplicité, certains automates conservent des propriétés amusantes.