Faites sortir les amphipodes
J'ai déjà écrit un billet sur quelques techniques notables utilisées lors de ma participation à l'AdventOfCode 2021. Ici, j'aimerais revenir sur le problème du jour 23, assez difficile mais résolument fun.
Le blog d'un ingénieur Web freelance.
J'ai déjà écrit un billet sur quelques techniques notables utilisées lors de ma participation à l'AdventOfCode 2021. Ici, j'aimerais revenir sur le problème du jour 23, assez difficile mais résolument fun.
Deuxième partie du notre tutoriel sur le deep learning, au cours duquel nous étudierons le fonctionnent d'un algorithme poètiquement intitulé la rétropropagation du gradient, ou backpropagation dans la langue de chat qu'expire.
Git bisect n'est pas une commande très connue. Pourtant, elle est extrêmement puissante et quand on en a besoin, on est content de la trouver.
Voici la transcription de la conférence « La veille techno pour les vieux croûtons » que j'ai eu le grand plaisir de donner à Paris Web 2015. Vous pouvez aussi accéder directement à la vidéo si vous voulez voir ma tronche.
L'industrie du développement logiciel adopte de plus en plus massivement les méthodes agiles, avec raison. Et pour cause, l'agilité apporte des solutions pertinentes aux problèmes posés par la gestion de projet old school.
Il va sans doute devenir de plus en plus facile de convaincre votre patron de lorgner du côté des méthodes agiles. Par contre, du côté des clients, c'est une autre paire de manches. En tant que développeur web freelance (Oui, je travaille mon seo), j'ai souvent l'occasion d'être en contact avec des clients potentiels dont le domaine d'activité n'a rien à voir avec le développement. Par conséquent, l'agilité est un concept complètement nouveau pour eux.
Il y a quelques mois, j'ai eu la chance et l'honneur de participer à Sud Web 2012 en tant qu'orateur, en présentant une conférence intitulée « Comment vendre des prestations agiles ? » (La vidéo est disponible). Ce billet reprend grosso modo le contenu de cette présentation.
Quels sont les buts fondamentaux de tout être humain ? D'après les enseignements bouddhistes, nous désirons le bonheur et craignons la souffrance. Cela me parait un point de départ relativement consensuel. Quel devrait être le but de toute structure sociale ? Le bon sens me souffle qu'il devrait être de permettre au plus grand nombre d'atteindre le plus haut niveau de bonheur possible, et de réduire au maximum la quantité de malheur ((Tout ceci est discutable, mais ce n'est pas le sujet de l'article.)). Quel devrait être le but fondamental de tout freelance travaillant pour ses clients ? J'ai encore une fois envie de répondre : les satisfaire au mieux, et leur éviter le malheur.
Ce billet est la transcription de la conférence « Un Web sous surveillance » donnée le 19 novembre à Toulouse au Capitole du Libre.
L'obsolescence des compétences est l'un des dangers qui guettent le vaillant travailleur du Web. Notre domaine d'activité évolue tellement vite, tant au niveau des outils, des méthodes, des pratiques, des technologies… que rester à la page est un défi permanent.
Si, fraîchement émoulu de son école, notre jeune Webie·ne se lancera à corps perdu dans l'apprentissage du x-ième framework Javascript avec un enthousiasme toujours renouvelé, le senior finira peut-être par ressentir ennui et lassitude face à la répétitivité de la chose.
Comment prendre de la distance avec sa veille techno sans pour autant se laisser distancer par le Web ?
« Alors détective ! On a encore oublié son imper ?! ».
Vous avez-peut-être entendu parler de machine learning, deep learning ou apprentissage automatique ? Voici un aperçu de l'utilité et du fonctionnement de cette formidable technologie.
Le téléphone sonne, je décroche. « Thibault Jouannic, développeur web freelance, j'écoute. »
Dans la plupart des projets Web, contacter les utilisateurs par email est largement suffisant. Mais il arrive que l'on souhaite utiliser d'autres modes d'interaction, tels que le sms. Comparé au mail, le sms présente certains avantages :
Évidemment, tout le monde est bien conscient que c'est un média de communication qui présente également des inconvéniants :
Dans ce rapide tutoriel, nous allons voir quels sont les moyens à notre disposition pour envoyer des sms depuis un projet Django.
La vie, c'est simple. Il y a les bons développeurs, et il y a les mauvais développeurs. On ne nait pas bon développeur, bien entendu. On le devient. Par conséquent, tout développeur qui se respecte devrait avoir pour idéal de passer de la seconde catégorie à la première.
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.