Suite à cette conférence, nous publions les vidéos et les slides des présentateurs et présentatrices qui nous ont fait l’honneur d’y présenter leur travail.
Vous voulez en savoir plus sur les nouvelles IA qui défraient la chronique, que ce soit ChatGPT ou Stable Diffusion ? Cette conférence est faite pour vous.
Des hackers, des chercheurs, des artistes, réuni.e.s pour s’informer et discuter des enjeux de ces techniques qui commencent à infuser dans la société.
Entre histoire des techniques, analyses sociologiques, pratiques personnelles et analyses technique en profondeur, on vous invite à venir apprendre, vous faire une idée et échanger sur ce sujet en plein accélération.
QUOI
Conférence sur l’IA Générative
Machine Learning / texte, son, image
QUAND
Samedi 14 janvier 2023 de 16h à 19h
OÙ
Théâtre de Choisy-le-Roi, RER C
4, avenue de Villeneuve Saint-Georges 94600 Choisy-le-Roi
COMMENT
Entrée libre
Streaming sur streaming.tmplab.org
QUOI
Vous voulez en savoir plus sur les nouvelles IA qui défraient la chronique, que ce soit ChatGPT ou Stable Diffusion ? Cette conférence est faite pour vous.
Des hackers, des chercheurs, des artistes, réuni.e.s pour s’informer et discuter des enjeux de ces techniques qui commencent à infuser dans la société.
Entre histoire des techniques, analyses sociologiques, pratiques personnelles et analyses technique en profondeur, on vous invite à venir apprendre, vous faire une idée et échanger sur ce sujet en plein accélération.
PROGRAMME
16:00 Alban
Une introduction aux usages créatifs de l’IA générative
Panorama de la situation actuelle en texte / image / son
Histoire des innovations et des usages en IA Générative
Les enjeux sociaux – politiques – économiques – environnement
Prospective
16:30 Valentin Goujon
Des réseaux antagonistes génératifs aux modèles basés sur la diffusion : une histoire récente de l’art génératif
Description : Brève généalogie des différents types de modèles génératifs (notamment les GANs et les modèles basés sur la diffusion) afin de retracer l’essor de l’art génératif basé sur des réseaux de neurones profonds depuis le début des années 2010.
Enquête en cours sur l’ingénierie du prompt sur Twitter et des serveurs Discord dans le cadre d’une thèse en sociologie au médialab (Sciences Po)
16:55 Antoine Mazières
IA et quantification des discriminations.
Deux utilisations de l’apprentissage artificiel dans le contexte de l’étude des discriminations :
Discrimination par origine dans les milieux socio-professionnels en France (https://mazieres.gitlab.io/namograph/)
Biais de genre dans les films grand public (https://mazieres.gitlab.io/gender-movies/).
*17:15 Anthony
IA et création d'images
- Qui utilise l'IA pour générer des images ?
- Comment est utilisée l'IA, cas concrets.
- Génération d'images : l'acceuil des artistes, polémiques sur les droits d'auteur.
17:35 Barbara Matijević
Présentation de la pièce “Screenagers 2” présentée au théâtre le 18 janvier
Ouverture sur le projet “Parano AI”
17:45 Yassin
Utiliser des GPU et faire des images
Application du machine learning à la création artistique
18:15 Hedi Soula
Un projet de génération de voix pour du jeu vidéo
18:30 Nizar Ouarti
“La revanche des littéraires!”, une petite histoire des Transformers.
Dans cette présentation, j’introdurai la méthode des Transformers. Je parlerai de leur impact sur la compréhension du langage, la génération d’images et l’IA général.
19:00 Fin
Texte presse
Le hackerspace /tmp/lab vous invite à “usages créatifs de l’ia – machine learning textes sons images”.
Une fois de plus avec l’intelligence artificielle, les émotions prennent le dessus.
Il faut dire que les images désormais produites par les IA par Machine Learning dépassent la barrière de Turing : on est devenus incapables de distinguer quelles images sont générées par un système informatique.
C’est un mélange de peur, d’inquiétude, de passion et d’émerveillement qui survient à un moment où, au contraire, il faut pouvoir réfléchir rationnellement ces questions pour voir, connaître et prévoir quelles peuvent être leurs conséquences.
Aussi, tout l’intérêt de cette conférence sera de tenter de dépasser cette barrière émotionnelle.
On tentera d’interroger les horizons techniques, sociaux, politiques et économiques de ces techniques en écoutant des scientifiques, artistes et praticiens présenter leurs travaux, en s’émerveillant devant certaines oeuvres et en sachant s’ouvrir à la complexité mathématique.
Conférence qui s’adresse aux passionnés comme aux curieux et curieuses qui veulent découvrir ce domaine et se joindre à la discussion.
Le samedi 14 janvier de 16h à 19h au Théâtre Cinéma de Choisy-le-Roi
4, avenue de Villeneuve Saint-Georges
94600 Choisy-le-Roi
Entrée libre
En visio conférence et streaming sur https://streaming.tmplab.org
En lien avec la création Screenagers vol.2 accueilli le 18 janvier au théâtre, la conférence sera aussi l’occasion d’interroger la place de l’IA dans le spectacle vivant. A cette occasion, la directrice artistique Barbara Matijevic viendra partager son expérience et les perspectives ouvertes aux créateurs par l’IA.
Infos pratiques : entrée libre au théâtre de Choisy (4 avenue de Villeneuve Saint-Georges) ou en visio conférence et streaming sur https://streaming.tmplab.org.
We’ve had some great talks this weekend and for once we recorded that!
Nizar Ouarti spoke about perception, natural and artificial with a nice introduction to Deep Learning.
Hedi Soula told us about a university research he participated in which aimed at recognizing amongst a group of birds every individual based on their song.
Thanks to Nizar and Hedi again for their time and kindness.
Here’s the audio + screencast recording of the talks, one after the other.
Mix’Art Myrys fait l’objet d’une fermeture administrative depuis le 20 janvier 2021.
Ce lieu toulousain nous est cher.
Sa vivacité artistique, aussi indépendante qu’originale, nous a toujours semblé exceptionelle. Nous n’en connaissons pas beaucoup de pareilles.
Mix’Art Myrys fait l’objet d’une fermeture administrative depuis le 20 janvier 2021.
Ce lieu toulousain nous est cher.
Sans compter les éditions du THSF (Toulouse Hacker Space Factory) qui s’y sont tenues, les universités des quatre saisons du Tetalab, ou la rencontre Sonoptic, ce lieu est un symbole. Sa vivacité artistique, aussi indépendante qu’originale, nous a toujours semblé exceptionelle. Nous n’en connaissons pas beaucoup de pareilles.
Au delà de cette éviction décidée en quelques jours, il apparaît aujourd’hui qu’il s’agit d’une opération coordonnée destinée à faire disparaitre ce lieu unique : la ville de Toulouse et le conseil métropolitain ont décidé en décembre de couper les subventions à l’association Mix’art Myrys en 2021 sans en prévenir préalablement l’organisation, ses salariés, les artistes, et les associations qui y résident.
Nous vous encourageons à relayer ces informations et participer au combat politique qui s’annonce visant à obtenir qu’une solution pérenne et satisfaisante soit conclue.
La résidence SONOPTIC, dont nous avons fourni un compte-rendu ici pour les aspects collaboratifs, a été une période de production assez intense pour la Teamlaser composée de membres du Fuz et du /tmp/lab. Nous allons exposer ce travail afin que toutes et tous puissent profiter des outils que nous produisons via liens et explications.
La résidence SONOPTIC, dont nous avons fourni un compte-rendu ici pour les aspects collaboratifs, a été une période de production assez intense pour la Teamlaser composée de membres du Fuz et du /tmp/lab.
Nous allons exposer ce travail afin que toutes et tous puissent profiter des outils que nous produisons via liens et explications.
Si vous ne connaissez pas la brique logicielle centrale de notre système nommée LJ, lisez plus bas la note qui le concerne sans quoi vous risquez de ne pas comprendre certaines informations qui vont suivre.
Cette partie est un peu hardue mais nécessaire. Afin de piloter les lasers via du logiciel libre, nous avons besoin de toutes sortes d’utilitaires et de processus résidents, voici ceux sur lesquels nous avons travaillé dans le cadre de SONOPTIC.
Mise au point d’un système de génération de programmes utilisant les pipes UNIX
Présentée simplement, cette solution permet de produire des lignes de commande comme ceci :
L’exporteur envoie ainsi dans la base Redis (cas le plus courant) les données générées par le generateur puis passées par les différents filtres.
Cela est possible grâce aux pipes UNIX, les "|" qui se trouvent entre les programmes. Ce sont des opérateurs en ligne de commande qui transfèrent au programme suivant la sortie standard du programme précédent. Ainsi, le générateur produit une liste de point qui passe de filtre en filtre avant d’être exportée sur le réseau.
Cette solution offre plusieurs avantages :
elle simplifie la démarche de création de programmes pour LJ : on peut utiliser toutes sortes de programmes et de langages pour générer des tracés, tant qu’ils ont une sortie (output, fichier, osc, etc.)
elle offre une grande capacité d’adaptation et de variation : on peut passer les génerateurs dans toutes sortes de filtres.
Cette solution a été particulièrement utile lors de la résidence pour prototyper rapidement des programmes.
Mise au point d’un système de transmission des spectogrammes et informations de tempo temps réel
Afin d’avoir une réactivité aux environnements sonores, nous avons développé un logiciel qui effectue des analyses temps réel ensuite envoyées au server redis central. Ce qui permet à plusieurs générateurs de points d’utiliser une source commune d’analyse.
Originalement développée en python2, elle est devenue complexe à compiler sur Debian et nous allons la convertir en python3.
Cette solution a été particulièrement utile durant SONOPTIC, notammment pour les systèmes de particules.
Il y a une grande différence ce qu’on envoie aux lasers et ce que dessinent ces derniers : leurs moteurs (galvanomètres) sont très rapides et ont en particulier tendance à “arrondir les angles” si on ne force pas leur dessin.
Ce travail a abouti à un filtre permettant effectivement d’optimiser les points d’un tracé, ce qui impliquait de supprimer l’optimiseur existant de LJ sous peine d’avoir une trop grande quantité de points. Un travail intéressant mais que nous devons benchmarker et intégrer dans LJ pour qu’il soit vraiment utile.
Mise à disposition du logiciel LJ sous forme de VM
LJ est un logiciel avec de nombreuses dépendances, prévues pour installer sur une distribution debian.
Nous avons donc entrepris de le fournir sous la forme de machines virtuelles via Packer. Pour le moment, seule une image KVM est disponible mais d’autres pourraient être déployées à terme permettant de tester le logiciel sur différentes plateformes.
La nécessité de ces images n’a pas fait ses preuves durant la résidence, entre processeurs ne supportant pas la virtualisation et personne préférant simplement utiliser le script d’installation standard.
Les pistes créatives poursuivies durant la résidence
En partant en résidence, les idées ne manquent pas. Voici celles que nous avons effectivement exploitées sur place.
Création d’un générateur de points basé sur les trames OSC et UDP
En utilisant des protocoles temps réel assez répandus et en les passant dans notre chaîne de traitement à base de pipes UNIX, nous avons pu recevoir des participations externes décidées sur place.
Ce type de receveurs de flux est très intéressant et montre la capacité de LJ à s’interfacer avec des sources hétérogènes.
Création d’un jeu en Rust avec contrôle par joystick
La création d’un jeu codé avec le langage Rust était l’objectif d’une partie de l’équipe, qui a recodé un moteur physique simple pour créer un jeu de plateforme interfacé à LJ via un exporteur en pipe UNIX.
Création d’un générateur de points utilisant une interface de détection de mouvements
Un membre de l’équipe a travaillé sur l’exploitation dans un cadre laser d’une double caméra infrarouge capable de reconnaître les mouvements de la main. Associé à une génération de particules, ce générateur a pu être utilisé en live.
Création de programmes de tracés utilisant l’analyse de spectrogrammes
Plusieurs programmes basés sur les analyses spectrographiques ont été développés. Les formes simples, comme un spectrogramme défilant, ont rapidement été jugées insuffisantes. Un système de particules plus complexe et plus réactif a été jugé beaucoup plus intéressant par le public.
Application d’un programme de simulation de particules moléculaires
Une chercheuse en biologie moléculaire qui utilise le logiciel Netlogo pour ses représentations spatiales a sorti en mode texte des simulations qu’elle a envoyé sur les lasers.
Création d’un pilotage de playlists laser via le clavier
L’utilisation des programmes en ligne de commande est peu pratique dans le cadre d’une performance live : interrompre le programme, changer la ligne de commandes, corriger les erreurs de frappe éventuelles…
Pour changer rapidement de programmes, un programme pour piloter une “playlist” dans un terminal a été produit. Il permet de créer / éditer / sauver une playlist de commandes et autres usages pratiques liés à une performance live.
Ce programme a été fort utile lors des restitutions, offrant plus de réactivité et de contrôle rapide des lasers.
Utilisation du logiciel OpenFrameworks pour piloter les lasers
Une personne a fait des tests concluants de pilotage des lasers directement via un plugin du logiciel openFrameworks connu pour simplifier l’interconnexion avec toutes sortes de périphériques, environnemens 3D, etc.
Quelques recherches visuelles avaient été faites pour explorer des visuels filaires fonctionnant en 3D anaglyphique (lunettes colorées). Un filtre a été produit à cet effet mais les résultats sont peu probants.
N’ayant qu’un temps limité, nous avons du faire des choix. Voici les pistes qui n’ont pas été suivies.
Utilisation à distance de synthés nozoid via une interface en ligne
Une interface en ligne a été produite pour les synthétiseurs nozoids que nous avions utilisés lors de précédents festivals. Nous n’avons pas eu le temps de faire de live à distance durant la résidence.
Création d’un générateur de points utilisant de la reconnaissance vidéos temps réel
Pouvoir tracer en temps réel un flux vidéo était un de nos objectifs. Après avoir identifié la librairie pypotrace qui pilote potrace pour reconnaître des segments dans une image en noir et blanc, nous avons essayé de lire des images vidéo depuis ffmpeg, puis depuis opencv mais dans les deux cas le débit était trop lent pour être satisfaisant pour du temps réel.
Gestion d’une platine en USB pour simuler des scratchs laser
L’idée étant de “scratcher du visuel” nous avions apporté une platine DJ en USB mais malheureusement celle ci ne disposait pas d’une connexion USBMidi fiable et le projet a été remis à plus tard, le temps de trouver un périphérique fonctionnel.
Affichage de textes élaborés sur place
Nous avions dans l’idée de diffuser des textes avec les lasers, mais avons abandonné l’idée par manque de temps et par souci d’adéquation avec les pièces acousmatiques diffusées qui ne se prêtaient pas nécessairement à ce type de visuels.
Utilisation des données de spectogrammes dans les jeux vidéos pour réagir à la musique
Par manque de temps nous n’avons pas eu l’occasion d’implémenter au jeu vidéo les événements audio.
Création de générateurs de points et de filtres utilisant l’analyse de tempo
Bien que partiellement implémentée dans un filtre nous n’avons pas utilisé cette possibilité qui aurait été utile si nous avions joué sur des musiques plus rythmées.
Association vidéoprojections et lasers
Cette piste était transversale à d’autres (reconnaissance vidéo / shaders) mais nous ous n’avons eu ni le temps ni les moyens techniques de l’exploiter.
D’autres idées ont émergé lors de la résidence
Idées venues en discutant et en observant les résultats de nos expérimentations lors de la résidence.
Idées créatives
Utilisation de micros répartis dans l’acousmonium pour avoir chacun son analyse de spectre
L’idée générale étant d’initier de nouvelles expériences avec l’acousmonium de Module Étrange, nous avons réfléchi à comment spatialiser l’analyse audio pour répondre aux évolutions sonores visuellement.
Une des pistes serait d’utiliser plusieurs sources de captation pour la spectrogrammétrie : au moins quatre micros répartis dans l’espace.
Création de paysages visuels associés à l’acousmonium
Simultanément à une meilleure détection spatiale des événements sonores survenant dans un acousmonium, il nous a semblé intéressant de réfléchir à une proposition graphique où les lasers seraient projetés sur différents “écrans” également spatialisés.
Création de nouveaux filtres : optimisation spatiale des formes
Certains des programmes conçus sur place ne s’affichaient pas en “plein écran” avec les lasers. Un simple programme qui redimensionnerait automatiquement ce qui lui est envoyé pourrait être utile.
Création de nouveaux générateur à base de particules
Les générateurs de particules sont intéressants sur les plans graphiques et conceptuels. Nous avons eu plusieurs idées pour en produire : simulation de partages ADN, comportements mutualisés, paramètres modifiables en temps réel.
Partage des points, attracteurs, et répulseurs entre plusieurs générateurs
La génération de particule utilise fréquemment des objets invisibles qui attirent et/ou repoussent les particules. Il serait intéressant que différents programmes puissent partager ces objets pour faire interagir leur production.
Utilisation d’un “Director Pattern” pour gérer les événements à envoyer aux lasers
Les systèmes de générations de particules sont “passivement réactifs” : ils n’ont pas de conscience de leur agitation et du spectacle qu’ils produisent. Importer le concept de directeur utilisé en intelligence artificielle pour les jeux vidéo permettrait de mieux gérer la tension dramatique des programmes, par exemple en modifiant lui même les paramètres des générateurs de particules pour augmenter / réduire leurs paramètres, ou les (dés)activer.
Utilisation d’appareils USB à touches / sliders / potentiomètres pour modifier les programmes envoyés aux lasers
Nous allons certainement continuer à expérimenter les dispositifs tactiles permettant de contrôler en temps réel les programmes de génération de particules. Ce qui nous permettrait d’activer/désactiver des comportements, ou d’en modifier les caractériques.
Utilisation de Machine Learning / DNN pour générer des textes lus dans les pièces acousmatiques
Il pourrait être intéressant dans le cadre d’une collaboration avec des diffusions acousmatiques d’utiliser les recherches contemporaines menées dans le domaine de réseaux neuronaux avec apprentissage profond et le traitement de la voix. Ceci permettrait de générer des textes visualisables et “lus” par des interprètes synthétiques.
Reconnaissance et mise a disposition des elements d’un visage analysé sur smartphone en temps reel
Nous disposons d’une librairie qui Utilise la reconnaissance faciale et permet d’envoyer les points d’un visage aux lasers. Il reste à déterminer dans quel cadre cette génération de points serait pertinente.
Création d’un programme adapté à une perfomance scénique utilisant la lumière (jonglage, prestidigidation, cirque)
Traduire et retranscrire en temps réel un spectacle vivant en jouant sur les ressorts de la lumière et de l’ombre pourrait être une idée intéressante, sous réserve de trouver des artistes intéressé.e.s par la démarche.
Utilisation d’algorithmes audionumériques pour les analyses de spectrogrammétrie et les programmes de génération de points
Dans le domaine des différents types d’analyse spectrogrammétriques. Nous utilisons essentiellement la Transformée de Fourier pour l’analyse spectrale, mais il existe aussi entre autres :
Analyse du son non Fourier
Analyse par banque de filtres à Q constant
Analyse par ondelettes
Analyse du signal par distribution de Wigner
Analyse spectrale par autorégression
Dans le domaine des filtres audio numériques. Par exemple implémenter des phénomènes de réverbération, de passe haut / passe bas, de délai, etc.
Amélioration de la partie détection de tempo
Cette partie pourrait être très intéressante dans le cadre d’une collaboration avec des musiciens électro. Pour l’instant la logique et son implémentation est trop naïve. Nous pourrions utiliser des standards existants ou développer notre propre formule en la perfectionnant.
Technique
Analyse du code et des solutions utilisées par OpenLase pour le tracé des points et la vidéo temps réel
La solution OpenLase / Github qui dispose de bindings python semble atteindre des performances intéressantes dans différents domaines. Il serait judicieux de mener une analyse pour comprendre de quels processus nous pourrions nous inspirer.
Solutions d’optimisation des points afin d’améliorer le tracé
L’optimisation des tracés est un processus clé pour les lasers : trop de points et le tracé ralentit, pas assez et il devient imprécis. C’est l’objet de plusieurs recherches académiques et de diverses implémentations qu’il faudrait intégrer au mieux dans le système.
Creer un exporteur TCP en plus de celui via UDP
Afin de favoriser les lives à distance, un exporteur en TCP pourrait améliorer la qualité du transport pour les collaborations sur Internet.
Creer un exporteur vers le simulateur web
Le simulateur web nous permet de prévisualiser ce qui sera envoyé au laser. Une solution envoyant les listes de points dans une page html locale via websocket sans avoir besoin d’installer LJ serait intéressante.
Intégrer une synchronisation via des timecodes réseaux
La synchronisation de vidéos et de musiques est possible via des solutions de timecode comme MTC et SMPTE. L’idée serait de généraliser cette synchronisation dans les programmes laser, par exemple en utilisant le projet timecode generator disponible sur
Rappel : le logiciel LJ
Voici donc un point sur le logiciel LJ qui se trouve au coeur de notre système.
LJ est notre outil de pilotage des lasers. Il démarre des services qui s’interfacent entre les clients qui generent des points et le hardware (tracé par les lasers) :
Un serveur de websocket communiquant avec des pages web (voir plus loin)
Un serveur OSC proposant également l’interaction avec l’ensemble des fonctions disponibles
Une interface vers differentes synchronisations : Artnet, midi, Link.
Les tracers qui envoient les informations aux lasers (via etherdream)
Un gestionnaire qui relaie les informations entre les composants
L’un des nombreux avantages de LJ est son interface web qui permet de changer en temps réel les paramètres des lasers pilotés (taille, position, nombre de points par seconde, intensité, etc.) mais aussi de simuler les points qui sont envoyés au laser via un canvas HTML5.
Un aspect fondamental de LJ est l’ouverture à de nombreux protocoles, notamment pour recevoir les listes de points à tracer et le partage d’informations en temps réel. À cet effet, LJ utilise la base de données clef/valeur REDIS pour stocker les points qui seront envoyés.
Une note au sujet des licences : l’auteur original de LJ n’est pas un fan de licences et avait choisi une licence Creative Commons, malheureusement déconseillée pour les projets logiciels. Une discussion interne est en cours pour décider de la meilleure licence pour le projet (GPL copyleft ou MIT/Apache).
Enregistrement de la projection laser réalisée lors de la diffusion d’une pièce acousmatique de Rémy Carré, le samedi 10 octobre 2020.
À l’invitation de MixArt Myrys des membres des hackerspaces /tmp/lab et Fuz ont participé à la résidence de l’événement SONOPTIC à Toulouse du 5 au 11 octobre 2020.
Il serait trop long d’énumérer ici les rencontres, discussions, et projets qui auront essaimé cette résidence, en voici néanmoins un compte-rendu général et partiel.
L’ambition de SONOPTIC était de pousser l’expérimentation sonore et visuelle. Pari réussi, au vu de la qualité des échanges et des productions.
Après quelques jours de workshop entre artistes, le public a pu malgré la COVID19 visiter les expositions et assister à des restitutions et des lives préparés lors de la résidence.
Une des installations présentées dans l’exposition.
Nous -membres des collectifs /tmp/lab et Fuz- avions été placés dans l’expace mutualisé, une grande salle ouverte à la circulation que nos voisins –membres du collectif “Module Étrange“– avaient sonorisés avec plus de 40 enceintes : un acousmonium exceptionnel dont nous avons pu profiter durant toute la semaine !
L’acousmonium a aussi servi pour diffuser les pièces acousmatiques d’autres musicien.ne.s, comme Melodie Duchesne ou Rémy Carré.
Les expérimentations de lasers dans une dimension artistique renouvelée étaient notre choix de médium pour cette résidence, avec quelques pistes créatives comme trame d’expérimentations. Nous les détaillerons dans un prochain post.
Les lasers ont été l’occasion de collaborer avec plusieurs personnes
Nina Verstraete, chercheuse en génétique moléculaire : affichage sur le laser de plusieurs simulations de bactéries
Tth, hacker au Tetalab : Pilotage en C d’un joystick
Rep, artiste visuel : expérimentations des capacités du logiciel OpenFramework pour le pilotage de Lasers
Aux organisateur.ice.s de Sonoptic, tous nos remerciement !
Et à tou.te.s, notre joie d’avance de participer à une prochaine édition !
Discover how to install bots for Matrix, a fun and exciting federated protocol
Matrix is a fun and exciting federated protocol that we’re using more and more at /tmp/lab.
If you want to join the discussion, head to our riot channel and check it out!
Riot is a well-known web GUI for the Matrix protocol which could be defined as “a chat interface between IRC and Slack”. It’s cooler than IRC to some extend – backlogging is easier- and it is free software, not like Slack 🙂 Still, IRC, Slack and Riot have in common a capacity to use bots, and that’s what we’ll be drilling today: Matrix bots. Onward, my mechanical steed!
Note: Our privacy-aware assistance might interject here with some well founded critics of the Matrix ecosystem, which is not free enough as of now. Find here a list of concerns as a github issue tracker for more information.
Well, first, it’s python, which we like. Also, it’s actually well coded: Tulir Asokan -the author- did an impressive work at providing his own implementation of the matrix api which he plans to use to provide a number of bridges. It is modular, meaning that you can extend the functionnalities in a clean manner. And that leads us to hackability, writing your own plugins should be easy with maubot, more on that soon hopefuly.
Deploying Maubot on a server
Though maubot proposes a docker install, we were not fans of that for system administration reasons. So we’ve made an install script in bash you can find in this git project.
The maubot installer project
This install script should really simplify your job. Assign in the DNS a subdomain name -say botsinspace.example.com- to your server IP address and the installation should be as simple as
git clone https://git.interhacker.space/alban/maubot-installer.git
cd maubot-installer
bash install.sh
After indicating your chosen subdomain, you can go for default answers, including the matrix.org homeserver, and should be fine for the rest of this tutorial.
Et voilà ! You should have a maubot instance running with Letsencrypt on https://botsinspace.example.com
Creating your first bot
Once the maubot instance is up, understanding the maubot concepts will help you configure it.
Plugins
Plugins are the bots “brains”. They are python code and configuration files, ran in background by maubot. Ther are stored on the server as mbp files, which are archives using a zip compression.
Clients
Clients are the bots “physical presence”. They are in fact user accounts on matrix servers, no more no less.
Instances
Instances are associations of a plugin and a client. Once you have an instance, you have a bot!
Log in your maubot instance, click on the plugins “⊕” button. A big UPLOAD button (cf. screenshot) shows up, click on it, select a plugin zip file on your disk, and there you go !
The maubot plugin menu
Easy right?
Well except one thing: where do you get that zip file in the first place? From the github “Get a zip copy of the project” button of a plugin page? Well, nuhuh, nope, that won’t work. Maubot will reject that zip file. Why? The github zip file contains the file “in a directory” called “$projectname-$branch” and maubot expects files to be at the root of the zip archive. So, the right way to go is: ٭ Download a zip file from a plugin repository home page ٭ Extract it locally ٭ Enter the newly created directory ٭ Select all its files and sub-directories ٭ Create a new zip archive with these ٭ Upload that zip file to maubot.
Or if you will, plugins might available as “mbp” files in the “release” section of their github page. Sadly, they’re not always up to date, so you might be left with a manual job to do.
Option 2. Use the command line interface
Well seeing this could be a bit complex and annoying to repeat we came up with a script in the “maubot installer” project, called plugin-install.sh
You will need to use a config file or edit the variables at the beginning of the script for it to work though.
Once you’ve done it you just have to ٭ Run the script ٭ Select a plugin in the list ٭ Login (once only) with your maubot user and password ٭ And the script will call the “mbc” executable provided by maubot.
It is worth mentioning that some plugins might require a few additional dependencies. For example the trump plugin required to run an install command in the virtualenv of the project:
cd /opt/maubot
source bin/activate
pip install Pillow
But now, you should have at least one plugin available. Let’s head to the next stop.
Add a client
We won’t cover here the run-your-own-bot-factory approach, which requires running your own synapse server, in other word running your own matrix instance. So we will create an account on an existing server and retrieve its token used for interacting with the API.
We will use the default web interface https://riot.im/app and request a free matrix.org account.
The Riot.im home
You have to pick a username, for example rook_the_bot, which will provide a matrix identifier/address such as “@rook_the_bot:matrix.org” after creation.
The riot account creation interface
One your mail is validated, log in the web interface and head to the settings page to retrieve the token.
A Riot settings menu link
You will find it token at the end of the “Help & About” page: click on the <click to reveal> link, and copy the string that appears.
Riot token finally shows up!
Time to head back to your maubot instance, and click on the Client “⊕” button. Fill the requested informations : the username you created and the access token are mandatory. Validate.
The maubot client menu
And that’s it. You’re ready for the last stage.
Add an instance
Head your maubot instance and client on the Instances “⊕” button.
The maubot instance menu
Justpick a client and a plugin before validating.
And now you should have your first bot ready! Congratulations!
How to use your bot
Now if everything went well, you should be able to invite your bot in a room, using the matrix handle you created earlier, as in our example rook_the_bot@matrix.org.
Let’s say you created an “Instance” associating the dice “Plugin” to the rook_the_bot “Client” .
Once you invited rook_the_bot to your channel, simply type a !dice command. Your bot should after a while reply to you.
Each plugin has its own commands, and you can attach multiple plugins to a single client. But all commands use the front ! mark.
That’s it, have fun. And for questions or anything else… see you on matrix!
Le /tmp/lab est une association loi 1901. Afin de fonctionner plus conformément à sa vision de l’organisation interne d’un hackerspace, elle a procédé en 2019 à une modification de ses statuts.
Ces statuts sont accompagnés d’un Règlement Intérieur ; les deux documents sont disponibles sur ce dépôt git. Ceci a deux buts. D’abord suivre les modifications qui adviendraient. Mais aussi servir d’inspiration pour d’autres ; les statuts d’associations comme Lautre.net ou Lorraine Data Network nous ont été une source d’inspiration essentielle, ce n’est que justice de publier les nôtres.
Statuts + Règlement Intérieur : quel intérêt ?
Les statuts sont généraux et relativement immuables. Ils définissent les règles fondamentales de l’association et en particulier son mode d’organisation dit autogéré, sans le triumvirat habituel (secrétaire / trésorière.er / présidente).
Ils délèguent au Règlement Intérieur les modalités d’application de certaines règles. Ainsi, les statuts précisent que l’Assemblée Générale est réunie de manière permanente via la mailing list de l’association ; c’est le règlement intérieur qui définit les délais impartis à la prise de décision sur cette mailing list.
De plus le Règlement Intérieur définit le cadre de la vie collective au sein du hackerspace.
Retour d’expérience sur le fonctionnement
Nous sommes satisfaits de cette solution et de la liberté qu’elle nous offre. Elle place au coeur de l’activité les échanges sur la Mailing List et permet des prises de décision assez rapides.
Le délai avant qu’une décision soit prise pose encore question : est-ce que 7 jours sont trop peu ? un délai 15 jours trop long ? Il est également prévu d’écrire un script qui automatise l’enregistrement des propositions et au terme du délai imparti notifie sur la mailing-list leurs validations. Mais le rythme actuel n’a pas encore nécessité cet outil.
Au terme d’une année, alors que se profile notre Assemblée Générale Ordinaire, il est satisfaisant de se dire que pour l’Ordre du Jour, il suffira de synthétiser les décisions proposées et votées sur notre mailing-list interne !
Organizing collective events is an important moment in the life of a hackerspace. The /tmp/lab was happy to organize a new edition of HSF on the 7th and 8th of February 2020.
A number of people helped us for HSF2020, we would like to thank all of them in no particular order or exhaustivity : Choisy’s city employees, participant hackers, lab’s members, and of course everyone who came.
Speaking of audience, the success of such an event is often measured by the attendance. Well, we chose to move that target.
We decided early to respect a few principles for this edition. These were presented as No stress, Auto organize, Party Time, Less conferences, No budget.
Turns out the event was generally perceived as welcoming and had few material constraints. The suburbian city of Choisy-le-Roi, which hosts the /tmp/lab, lent us for free a nice and well equiped room with an additional place for storing and restoring staff. We had no sponsor and required no entrance fee, other than a small “tip box.”
It was globally perceived as a success.
We had a good amount of visitors who appreciated the contact quality, having the time to speak with exhibitors and speakers who themselves liked the relaxed atmosphere and the self-organisation.
Of course, not everything worked perfectly. For example some exhibitors expected we would have more attendance. Some people felt the Friday+Saturday format was a bit short and would have liked a Sunday prolongation. Food for Thought.
So, What About Next Time ?
This event wasn’t too much effort —you know what we mean if you’ve organized such events yourself— nor too costly, which means it can be done more often. But it’s even better if we collectively organize these events in different places every time and this leads us to an interesting effort we associated the HSF2020 event with: the interhackerspaces cooperation.
People from ~10 hackerspaces came and we had a nice panel about how we could do more together. A few notes and links can be found on this pad.
Amongst other proposals, we presented this PDF document which explains what hackerspaces are, how they work and some of their today’s goals.
On ne présente plus le logiciel Wekan distribué sous license MIT, alternative bien connue à Trello, la référence en terme de Kanban.
Si vous avez sauté la case «Développement Agile», et que «kanban» ça ne vous dit rien, pas de souci : on vous explique.
C’est une méthode de développement on l’on prend des petits papiers qui représentent chacun une tâche. Puis on colle ces papiers dans les colonnes d’un tableau. En fonction des progrès du projet et de l’équipe, les papiers progressent de colonne en colonne, de “Todo” à “En cours” à “À tester” puis “Fini”, libre à vous de choisir le mode de tri et de circulation.
Wekan est une solution efficace pour virtualiser ce genre de tableaux. Développée avec Meteor, un framework Javascript orienté vers les applications temps réel et partagée, c’est assez fluide et rapide pour l’utilisateur et raisonnablement bien pensé en terme d’IHM comme on dit dans les écoles de développeurs sérieux, les autres diront UX.
De bonnes raisons de vouloir héberger son instance; dont acte avec https://wekan.interhack.space, une instance ouverte au public et plus précisément aux hackerspaces. Mais si l’utilisateur peut se réjouir du service, nous allons voir que côté hébergement la vie n’est pas si rose.
Nous avions déjà eu l’occasion d’auto-héberger un Wekan pour le /tmp/lab mais l’instance s’était avérée difficile à maintenir : elle plantait régulièrement et n’était pas mise à jour.
En lançant le projet nous avions donc en tête une meilleure prise en charge du monitoring et des backups, ce qui désormais nous est simplifié grâce à nos instances Proxmox, à Icinga2 et à Borgbackup.
Mais le plus difficile aura finalement été de trouver une solution d’installation qui nous satisfasse sur le plan de la sécurité et de la dette technique. Les options proposées par le projet n’avaient rien pour nous convenir. La pire est Univention dont le code n’est pas libre. Sandstorm est une solution libre (Apache) mais qui impose son environnement pour faire tourner de multiples applications dans un cadre fermé. Snap ne nous convenait pas dans le cadre de nos conteneurs LXC.
En conséquence, nous avons développé notre propre script d’installation pour Wekan qui vous permet d’auto-héberger en HTTP2/HTTPS votre instance Wekan sur Debian et qui se met toute seule à jour. Seule contrainte : utiliser une image Debian 9 Stretch, si vous voulez l’histoire complète c’est ici.
Nous aurions pu développer cette installation sous forme de script ansible mais l’expérience démontre qu’un script BASH est une solution bien plus conviviale pour des utilisateurs de tous niveaux.
Et vous noterez enfin que le code est hébergé sur l’instance git interhack car nous sommes en cours de migration depuis Github.
Tout d’abord un grand merci à toutes les Paulines de Toulouse sans qui rien de tout cela n’aurait été possible !
Il faut que vous sachiez que, conformément à une tradition ancestrale, la recette des BBA nécessite deux pads.
L’un murit toute l’année, alimenté en liens et en idées.
L’autre est joyeusement saccagé par l’assemblée à l’occasion du vote, live and direct.
Voici donc un lien vers ces deux pads, ces gais outils du savoir numérique à forte valeur collaborative :
La complète du chef avec oeuf, tomate, mayo, chorizo et tous les liens ;
La sucrée au Nutella-temps réel expurgée et ratifiée par l’assemblée souveraine.
La vidéo
Que serait-on sans quelques codecs ?
À quoi servirait cette belle fibre optique, porteuse d’espoir dans un avenir de gouvernance meilleure ? Je vous le demande. Non vraiment. Allez-y, puis revenez. C’est bon. Repartez ? Mais cessez d’obéir comme des enfants, enfin.
Cette année nous avons décidé d’accorder quelques prix spéciaux. On pouvait, alors on l’a fait.
Microsoft et le Linux Subsystem for Windows
Que dire de plus ? Microsoft et Linux dans la même phrase. Si c’est pas le monde cul par dessus tête, ça, que vous faudra-t-il ?
Remerciements à la #TeamSocio qui nous a mis dans sa conclusion.
«Des commentaire musclés !» Isabelle Berrebi-Hoffman
«Des discussions au caractère parfois véhément !» Marie-Christine Bureau
«Des reproches formulés sans guère d’aménité !» Michel Lallement
On pourrait s’arrêter là dans notre vaste entreprise je-t’en-fou-triste, car aujourd’hui l’Université nimbée de sa neutralité bienveillante, la Sociologie couronnée de méthodologie scientifique innée, la Science infaillible et moralement pure elle-même, nous ont consacré : nous sommes dans la conclusion de Makers – Enquête sur les laboratoires du changement social qui nous a d’ailleurs enterré un peu tôt, mais on ne leur en veut pas car quand on vent du flan on peut pas toujours courir après les canards.
Disruption protestante : immersion audio dans la startup nation :
Nous avons découvert cet enrichissant site que nous nous empressons de partager, allez hop, c’est cadeau.
Et maintenant les voilà, vous les attendiez ! Les Bullshit Bingo Awards 2019 !!!
1. Bullshit Bingo Award des alters donneurs de leçon
Vainqueur : L’Église Française Transhumaniste
Nous les avons découvert cette année, ils sont venus, ils ont réjoui nos coeurs et réchauffé nos esprits. Les voici en images !!!
Étaient nominés : Les Bullshit Bingo Awards, bien sûr, mais on ne peut pas gagner à tous les coups.
2. Bullshit Bingo Award du Buzzword des 12 derniers mois
Le programme de cette nouvelle édition du festival toulousain THSF s’inspire du manga AKIRA. Bienvenue en dystopie post-apo !
Lien vers le plan et le programme complet du Festival
C’est quoi le THSF ?
Franchement, ils le disent mieux que nous. Copier, coller.
Depuis 2010, la THSF est un rendez-vous autour des différentes facettes de la culture hacker. Logiciels et matériels libres, DIY, réappropriation et détournement des technologies, art et science, défense des droits et libertés sur Internet, sécurité informatique, médias et investigation citoyenne, politique et société… sont parmi les sujets que nous vous invitons à venir découvrir, questionner, partager et construire ensemble.
On y retrouvera le public toulousain mais aussi de nombreux hackerspaces dont la fréquentation est bonne pour la santé : les toulousains du Tetalab bien sûr, mais aussi le Fuz (Paris) ou le Labomedia (Orléans), parmi ceux qu’on connaît le mieux.
Au programme cette année
Comme vous pourrez le constater en lisant le programme, le choix ne manque pas entre installations, résidences, conférences, conférences….
Le /tmp/lab en fait partie avec du classique et de belles surprises !
Usinettes dans le bendo
Le Monde Parallèle : création d’un fanzine
Tous les jours, 2h pour écrire et imprimer un fanzine et le distribuer le lendemain matin!
Textes, photos, dessins, à propos du festival, à propos du quotidien…
Pas raciste, pas LGBTQ-phobe.
Le dôme géodésique : Carnet d’une auto-construction collective en cours
Présentation du dôme par les membres d’Usinette avec des vidéos, des slides, ça va envoyer du bois – de construction bien sûr.
/team/laser en action
Atelier lasers / Lasers et livecoding / Lasers et musique
Tous les jours vers 17h / 17h / 21h le /tmp/lab invite des artistes à hacker du laser pour la plus grande joie des grands qui sont restés petits.
Shader Laser Showdown
Tous les jours à partir de 23h, le Collectif Cookie & /tmp/lab enflamme le plafond du THSF avec ses projections laser.
Passage en douane
On a tou·tes quelque chose à cacher changer dans notre identité.
Du bullshit, encore du bullshit
Une fois de plus, les bullshiters ont frappé à notre porte ! Les éternels rouleaux de PQ dorés seront de nouveau décernés après un vote du public pour les manieur·ses les plus habiles de la novlangue qui fait de la deep-ruption.
Les traditionnels rouleaux de PQ dorés ont été remis en présence de nos invités d’honneur, Cédric Le Vilain-Cambadeloro et Xavier Fiel que nous remercions chaleureusement pour leur participation.
C’est au terme d’un vote hautement démocratique, sous le contrôle de Me Sournois, notaire de la région Toulousaine venu rôder anonymement au THSF, que les gagnants ont été désignés.
Toutes les personnalités récompensées recevront leur rouleau de Papier Hygiénique doré attestant de leur victoire, ainsi qu’un bon d’achat au Grand Bouzier, notre partenaire commercial.
Sans plus attendre, voici les résultats !
1. Le Bullshit Bingo Award du Buzzword des 12 derniers mois
La catégorie reine, celle qui désigne le mot ayant le mieux bullshité dans l’année.
Une belle victoire pour les _ICO_, ces Initial Coin Offering qui combinent avec talent escroquerie intellectuelle et économique !
Les challengers ont été les _Cryptomonnaies_ en général, et l’_Innovation Disruptive_ au plus haut de sa forme.
2. Le Bullshit Bingo Award des Gens les plus au Top
Comme toute compétition, les Bullshit Bingo d’Or ont leurs athlètes !
C’est _Thomas Landrain_ qui a remporté le premier prix haut la main pour l’ensemble de son oeuvre et en particulier Pili, l’encre bio financée par la BPI.
Il a été suivi de très près par le _Dr Laurent Alexandre_, un spécialiste auto-proclamé des IA, opposé à la RGPD et fondateur de doctissimo.fr
Belle 3e place, fut-ce prémonitoire, pour _Laurent Wauquiez_, le premier politique qui a reconnu sa nature bullshiteur.
3. Le Bullshit Bingo Award du Bullshit Job
Le bullshit job, ça a le goût et l’apparence du travail, mais ça ne sert qu’à abrutir les gens en attendant qu’ils rentrent regarder la télé à la maison !
Victoire cette année pour le _Cloud Architect_, ceux qui dessinent des maisons dans les nuages privateurs.
Il est passé devant le _C*O_, cette belle formule chapeau déclinable à envie. Quand tu es Chief Truc Officer, quelque soit le mot sandwich, c’est toi le boss!
Enfin, loin derrière est venu le _Pitch Master_, celle ou celui qui t’enroule dans le petit pain au bullshit plus vite que son ombre.
4. Le Bullshit Bingo du Media Qui Survend Le Mieux La Révolution Digitale
Le bullshit, c’est une aubaine pour les vendeurs de publicité : comme les gens n’y comprennent rien, il faut qu’ils reviennent pour se convaincre que ça existe !
C’est _KissMyFrogs_, un média pseudo-trash mais financé par Microsoft, qui a remporté la victoire avec son article: “De la SexTech comme sport de combat”
Sont venus ensuite _LesEchos_ pour : « Apprendre ne sert à rien, c’est dangereux et ça rend idiot » par le boss de 42 et _WeDemain_, pour : La série “Les nouveaux travailleurs”
5. Le Bullshit Bingo des Startupeurs qui se rendent compte qu’ils vont trop loin.
Même dans la crème du Bullshit, de sérieux doutes naissent quant à la possibilité que les bornes du «Too Much Bullshit» aient été franchies. Dont acte.
Le vainqueur a été le média _TheConversation_, dans lequel des universitaires ont découvert que «Les start-up, moins cool qu’elles n’en ont l’air»
Deuxième place pour _Medium_ “Ne me parlez plus d’open innovation!” et troisième pour _MediaFactory_ “Startup washing : tous agiles, innovants et disrupteurs ?”
6. Le Bullshit Bingo Award du Buzzword qui a Fait Une Sortie de Route
Le Bullshit c’est bien, mais c’est une mode : comme la houle, les nouveaux buzzwords remplacent les anciens dans un cycle impitoyable de péremption bullshitique.
Première place pour _Uber_ : entre les impôts et le fait que ça tue des piétons, ça a perdu de sa superbe, fini les Ubers de ceci, Ubers de cela.
L’IOT s’est positionné derrière : pas de bol pour l’Internet of Shit, toujours pas de “killer app”…
Enfin, 3e place pour la VR qui s’est essoufflée à peine lancée.
7. Le Bullshit Bingo Award du Hackaton Qui Ne Veut Pas Mourir
Les hackatons ça marche encore ! Même s’il s’agit aujourd’hui de mort-vivants pilotés par le lectorat assidu de l’Usine Nouvelle et les agences de com.
Belle performance pour le _Hackaton du lieu de travail_ qui a laissé l’audience interrogative sur son contenu.
Il a été suivi par le _Hackaton des réfugiés/migrants_ qui a laissé la médaille de bronze au méritoire _Hackaton des RH de la Sécu_.
8. Le Bullshit Bingo Award de la Startup Nation et des Startups Régions
Avec LAREM, le bullshit institutionnel s’est mis aux drogues dures. Attention les dégâts !
C’est le _#DataDrink à l’ETALAB_ qui a remporté la palme.
Sans démériter, _Le Rapport de Vilani_ sur l’IA et _Le Disruption Day à Matignon_ sont arrivés derrière.
9. Le Bullshit Bingo Award de la Multinationale Agile Hacker Startup
Les courses des multinationales dans les incubateurs les ont rendu discrètes : les oeufs n’étaient pas très frais apparemment.
Performance remarquée néanmoins pour _Carrefour fait de la Blockchain alimentaire_ qui se propose justement de blockchainer la traçabilité de ses poulets cotons… Bon appétit bien sûr !
10. Le Bullshit Bingo Award de la Startup qui Disrupte Mieux que les Autres
Cette année, c’est sur une thématique immobilier que s’est déployé cette catégorie.
C’est la _Hacker House_ qui a remporté le prix. Accueillir des consultants pour des missions d’architecture web ou de conseil en transformation digitale, ça c’est de la win.
Dans l’arrière cour, mais sur le Rond Point de l’Étoile quand même, est venu _Scaleway et sa «Maison»_ où une fois encore personne ne travaille : c’est rien que du bonheur et des nounours Haribo.
11. Le Bullshit Bingo Award de la Gauche Révolutionnaire et Prolétarienne
Le Bullshit est partout, il est grand temps d’ouvrir les yeux de nos amis anarcho-libertaro-fémini-syndicalo-trans-géronto-racisés.
La _Décroissance_ est passée en tête, suivie du _Journalisme vrai_, dans un salon à Paris, et _L’écritur.e inclusiv.e_ vient juste après.
12. Le Bullshit Bingo Award de la Droite Qui a des Valeurs, mais pas que…
On pourrait croire que la Droite Française se complaît dans un conservatisme des Idées qui la maintient à l’écart des mouvements de mode. Si seulement…
Le _Grand Remplacement_ a pris la première place, suivi de l’_Agitateur professionnel_. Formes modernes de dire Immigration et Gauchistes, certes.
13. Le Bullshit Bingo Award du Hashtag le Plus Glorieux
Enfin, pour les vrais amateurs et amatrices de belles choses, pour les esthètes, les fins gourmets de la chose sociale : le hashtag qui tue.
#CodingApero s’est placé en tête, suivi de #AIforHumanity.