Journal

2024-01-31 15:41:13

Depuis plusieurs années, je téléchargeais beaucoup de PDFs, essentiellement des publications en rapport avec les sujets qui m'intéresse et j'utilisais une nomenclature de nommage un peu récurrente : nom-auteur-titre-approximatif. Cette approche posait plusieurs problèmes :

  • parfois, certaines publications avaient beaucoup d'auteurs
  • je n'étais pas vraiment consistant sur l'ordre des auteurs, rendant donc l'ordre des publications, dans mon système de fichiers, un peu aléatoire
  • pas de tags, donc impossibilité de trouver rapidement des publications
  • obligé de retrouver la provenance du document quand je voulais le citer.

Il y a plusieurs années, j'avais utilisé le logiciel Papiers, qui avait le bon goût d'être écrit en OCaml, cependant, j'ai, au fil du temps, rapidement perdu l'habitude d'indexer mes documents, me plaçant dans une situation où, à postériori, j'avais beaucoup trop de documents à traiter.

Comme souvent, j'ai pensé réinventer la roue, mais je pense que je n'aurais pas pu faire mieux que Papiers. J'ai donc décidé de me tourner vers une solution existante, dont j'avais déjà entendu parlé, mais que je n'avais jamais essayé !

Zotero

Zotero est un logiciel libre, permettant l'indexation facile de publications scientifiques. Son énorme point fort est qu'il permet d'importer rapidement des documents depuis un ISBN, un identifiant DOI et beaucoup d'autres. De plus, il est possible d'ajouter des tags par entrée et de générer une référence bibliographique (Bibtex, entre autres) très facilement. Il existe des solutions de synchronisation mais j'avoue ne pas m'y être intéressé pour le moment, l'indexation me suffit largement.

Je suis encore loin d'être un expert, mais j'ai pu très rapidement indexer les documents éparses de mon disque. Je suis donc très satisfait du logiciel pour le moment. Si jamais vous connaissez des alternatives qui valent le coup, n'hésitez surtout pas à m'en faire part via les différents canaux de communication par lesquels il est possible de me contacter !

Liens

Liens relatifs à l'article

2023-12-31 15:22:41
  • rétrospective
  • 2023
  • bilan
  • prise de parole
  • événement

Suivant la rétrospective de mes contributions à des projets libres, voici le bilan de mes présentations et organisation d'événements ! C'est la troisième partie de ma rétrospective de 2023 !

Comme pour 2022, je n'ai pas été très productif en présentations, cependant, reparticiper à des événements m'a beaucoup remotivé à proposer plusieurs sujets dans les semaines/mois à venir pour différentes conférences !

IfThisThenDev sur la Blockchain et Tezos

2023 a été l'année où j'ai pu participer pour la première fois à un podcast ! En effet, Bruno m'a offert l'opportunité de parler de Blockchains et de Tezos dans un épisode de plus d'une heure pour son émission IFTTD.

L'exercice est très intéressant, tout en étant compliqué. En effet, même si la conversation informelle entre deux personnes (Bruno et moi) est un format agréable, je ne suis pas un expert de la synthèse et de la clarté et il faut garder en tête le fil de la conversation. En complément, j'ai eu l'occasion de faire un compilé d'un autre épisode : Mettre le feu aux bases de données, que j'ai fièrement écouté dans le train pour me rendre au studio.

Je suis assez fier de l'épisode, pour lequel j'ai reçu beaucoup de retours positifs. J'ai été très impressionné par l'organisation de l'épisode et la mise en oeuvre logistique et je suis très impatient d'entendre la version compilée. Pour conclure, je suis très heureux d'avoir pu participer à cette série d'épisodes et de parler de Tezos ! J'espère que l'occasion se représentera.

Codeurs en Seine

J'avais déjà parlé de Codeurs en Seine dans un billet précédent mais 2023 fût aussi l'occasion de redonner une présentation à une conférence grand public. En effet, depuis plusieurs années, je ne donnais que des présentations dans des petits événements confidientiels. Codeurs en Seine a été l'occasion de redonner une conférence et c'était très chouette ! Durant cette conférence, j'ai pu parler de Web3 (et de Tezos) et j'ai aussi reçu de très chouettes retours ! Ce qui est très motivant pour soumettre des sujets à pleins de conférences populaires !

Comme très souvent que je fais une présentation, certaines personnes ont trouvé la présentation trop technique (c'est très flatteur). Mais les retours sont assez unanimes, la conférence était fun. J'ai aussi reçu un avis écrit :

Très bon orateur, dynamique et fun. C'était très rythmé et passionné et même si je n'ai pas absolument tout compris, aucun risque de décrocher!

LambdaNantes

Depuis 2022, j'essaie d'organiser des événements à Nantes dédiés à l'usage de la programmation fonctionnelle : LambdaNantes. A l'heure où j'écris ces lignes, nous avons organisé 4 évenements (2 en 2022 et 2 en 2023). Même si le succès des événements est mitigé (je pense que l'on est plus proche de la conversations entre copains plutôt qu'un véritable événement formel), je pense que nous allons continuer en 2024, parce que c'est toujours rigolo de voir des présentations sur des sujets amusants et que le pot de l'amitié, après les présentations, est toujours un chouette moment !

Cette année, je n'ai donné qu'une seule présentation — ce qui est déjà beaucoup sur deux événements — qui portait sur les Build Systems.

OCaml User Group Parisien

J'aurai normalement du passer en 2022, mais ayant été frappé du COVID, ma présentation au OUPS a été repoussée à 2023, où j'ai eu le privilège de parler de YOCaml. C'était la première fois que je participais, en tant qu'orateur, à un OUPS et c'était très sympa. J'ai eu la chance d'avoir de chouettes questions, et les pizzas et les verres post-événement étaient très sympa avec des gens très intéressants. J'ai aussi eu la joie d'être impressionné par la logistique, en effet, l'événement est diffusé en live et la vidéo de ma présentation.

Pour conclure

J'ai aussi eu l'occasion de donner une petite présentation sur Tezos et OCaml pour l'équipe de développement du projet Hydra, sur la chaine Cardano. Même si je n'ai pas eu énormément de temps de préparation, l'expérience était amusante, et les conversations suivants la présentation furent intéressantes !

Même si j'avais un peu délaissé la prise de parole publique ces dernières années, j'espère que 2024 me laissera l'occasion de présenter de nouvelles choses, et probablement d'organiser le plus de LambdaNantes possible !

C'était la seconde partie de ma rétrospective ! Merci de votre lecture potentielle et passez d'avance de très bonne fêtes de fin d'année et tout le meilleur pour 2024 !

Rétrospective Présentations

Codeurs En Seine

Liens relatifs à Codeurs en Seine

LambdaNantes

Liens relatifs à LambdaNantes

2023-12-30 12:02:57

Après avoir brièvment parlé de mon site personnel en rétrospective, il est temps de faire le bilan des projets libres de 2023. C'est la seconde partie de ma rétrospective de 2023 !

Le gros projets de 2022 a été le développement du forum Muhokama. Développé en OCaml (évidemment) par dessus le cadriciel Dream. Même si, durant l'année 2023, il y a eu très peu de contributions (quelques fixes et fonctionnalités en Janvier), le projet a servi de base pour raisonner la construction d'une pile d'outils nous permettant de facilement décrire des applications full-stack avec OCaml. Une grande partie de mes contributions durant l'année 2023 ont porté sur cet ensemble de bibliothèque !

Avec The Funkyworkers

Nous avons, en Avril 2022, fondé un collectif, The Funkyworkers — dont le nom ne fait pas l'unanimité. L'objectif du groupe est de fournir — à la mesure de nos compétences — un support industriel pour le développement d'applications sûres et fiables, exploitant des langages avec vérification statique des types (comme OCaml et Haksell) et des assistants de preuves (comme Coq). En complément du développement de logiciels, nous offrons une expertise en technologies Web3 (essentiellement sur la blockchain Tezos). Pour des raisons contractuelles, je ne peux pas être très expansif sur notre activité commerciale (et dans le cadre de ma rétrospective, ça aurait peu de sens car je ne suis pas salarié de ma propre entreprise), par contre, les outils que nous développons sont généralement libres !

Nightmare

Nightmare est un ensemble de bibliothèques permettant de développer des applications web (back-end et front-end) uniquement avec OCaml. Même si le projet permet de n'utiliser que OCaml, il est tout de même très différent de Ocsigen, qui permet de construire des applications multi-tiers, car les différents tiers sont distincts. Cependant, une grande partie des outils développés dans Muhokama ont servi de base pour essayer d'utiliser au maximum le typage statique pour exprimer des invariants. Le projet avance lentement mais surement et 2024 sera probablement l'année où nous l'utiliserons pour réecrire Muhokama. Actuellement, le seul projet s'en servant (uniquement de la partie front-end) est ce site web. En effet, les dApps et les commentaires utilisent Nightmare.

Pour 2024, nous travaillons sur l'abstraction des formulaires et sur un DSL pour exprimer des requêtes SQL (un peu à la manière des expressions de requêtes en F#).

Yourbones

Derrière ce très mauvais nom (Yourbones pour Tes os, ce qui peut, phonétiquement, se prononcer comme Tezos) se cache l'embryon d'un kit de développement pour interagir avec la blockchain Tezos. Le but étant de se marier efficacement avec Nightmare pour construire des dApps de bout en bout. C'est d'ailleurs via Yourbones que les dApps de ce site web sont développées. L'ensemble des bibliothèques repose sur les mêmes idiomes que ceux mis en avant par Nightmare (dont certaines des bibliothèques sont des dépendances des bibliothèques qui décrivent Yourbones), soit l'usage, un peu immodérée, du typage statique pour exprimer un maximum d'invariants. Actuellement, un petit projet sert de showcase.

Même si, en l'état, il est déjà possible de construire des dApps peu ambitieuse, nous tâchons de dériver le développement par l'usage, implémentant, au fur et à mesure, les outils dont nous avons besoin pour augmenter le potentiel des dApps développable avec Yourbones.

Notre objectif pour 2024 est d'améliorer l'interaction avec les contrats en fournissant un DSL pour décrire des expressions Michelson valides et vérifiées statiquement. Une fois que ce sujet sera traité, nous tâcherons d'améliorer l'expérience développeur pour fournir un concurrent sérieux (et en OCaml) à Taquito et idéalement à Dip dup.

Note sur Js_of_ocaml

Même si je n'ai pas contribué concrètement à Js_of_ocaml, notre usage un peu brutal de ce dernier (pour s'interfacer avec l'écosystème JavaScript) à permis de soulever plusieurs bogues liés à la minification du bundle JavaScript généré. Ce qui me permet de remercier très chaleureusement Hugo Heuzard pour ses fixes rapides !

Les Amis d'ma mère

Les Amis d'ma mère est une ASBL belge qui vise à faire la promotion d'artistes belges — il se trouve que l'ASBL, Les Amis d'ma mère, a été fondée par ... des amis de ma mère, d'où la mise en contact. Une de leur activité est d'accompagner les artistes à estimer leur éligibilité au statut d'artiste — similaire au statut d'intermittent du spectacle en France. Comme très souvent, la bureaucratie rend ce suivi complexe, et, en collaboration avec des experts sur le sujets, nous avons développé un prototype pour faciliter (et potentiellement gamifier) le suivi des prestations pour calculer son éligibilité. Ça se matérialise par une application (écrite en OCaml) permettant de construire une feuille de suivi où il n'est possible que d'entrer des valeurs valides. L'application a été développée bénévolement pour mettre en avant la volonté de The Funkyworkers à allouer du temps pour la construction de projets pour le bien commun.

Même si le prototype est utilisé en interne, 2024 sera probablement l'année où nous écrirons une version plus ambitieuse, fonctionnant sur mobile, pour rendre accessible à tous les artistes, l'application et leur permettant de construire eux-mêmes leurs dossiers d'artistes.

Pour la suite

Même si chacun des projets présentés semble avoir des extensions/améliorations prévues, certains projets ayant reçu peu de mises à jour en 2023, nous avons aussi des perspectives pour ces derniers :

  • YOCaml, même si, par l'initiative de Romain Calascibetta, YOCaml a enfin été publié sur OPAM, le générateur, de générateur, n'a pas été fortement mis à jour. Par contre, comme évoqué dans la rétrospective précédente, la bibliothèque étant utilisée par d'autres utilisateurs, nous travaillons actuellement sur une nouvelle version (très inspirée par le papier "Build Systems à la Carte: Theory and Practice").

  • Preface a reçu quelques mises à jours (notamment l'intégration d'abstraction indexées et l'ajout de Lattices), un gros chantier est en cours de réflexion. Il est donc probable que l'on y alloue un peu de temps.

  • Muhokama, comme évoqué dans la section dédiée à Nightmare, il est probable que l'on exploite Nightmare et Yourbones pour implémenter une version plus ambitieuse !

Bref, pleins de perspectives amusantes ! En espérant que l'on arrive à construire des feuilles de routes réalistes pour faire progresser rapidement chacun de ces projets. De plus, il est possible que l'on passe un peu de temps à construire une véritable application web pour décrire notre activité publiquement et fournir des bacs à sable d'expérimentations.

En solo

Cette année, j'ai relativement peu travaillé sur des projets en solitaire, mis à part mon site personnel. Je n'ai pas de projets spécifiques en tête à réaliser seul, même s'il est probable que j'exploite les différentes avancées des projets cités ci-dessus pour faire des expérimentations et des retours d'expériences.

Cependant, je ne regrette pas cet excès de collaboration parce que c'est, de mon point de vue, largement plus motivant de travailler en groupe qu'en solo !

C'était la seconde partie de ma rétrospective ! Merci de votre lecture potentielle et passez d'avance de très bonne fêtes de fin d'année et tout le meilleur pour 2024 !

Rétrospective Sur les projets libres

Sources

Dépots de sources des différents projets

2023-12-29 18:23:07
  • rétrospective
  • 2023
  • bilan
  • site personnel

Nous arrivons à la fin de l'année 2023, et j'ai décidé de m'essayer à l'écriture d'une petite rétrospective ! Comme je n'ai pas grand chose d'intéressant à dire concernant mes expériences professionnelles, j'ai décidé de me focaliser sur mes projets personnels. Cette rétrospective sera découpée en plusieurs brèves et la première portera sur ce site web !

À propos de ce site

Alors que j'avais fièrement réinitié cette page personnelle en 2022, et qu'après n'avoir écrit qu'un seul article, il était tombé dans l'oubli jusqu'à ce que je me décide à écrire deux articles sur des bars et que je me décide à enregistrer un nom de domaine, le fameux xvw.lol.

Heureusement, j'aurai été, en 2023, largement plus actif ! Même si ma fréquence de rédaction est toujours trop basse, j'ai fièrement pu ajouter du contenu et implémenté des fonctionnalités !

Articles et rédactions

  • La rédaction du très long, mais inutile, article sur le Tetra Master. Un retour ambitieux dans le game de la rédaction d'article. Je pense que très peu de personne l'auront lu jusqu'au bout mais je suis assez fier d'être arrivé au bout de sa rédaction mais aussi de la compréhension totale des règles de cet horrible jeu de carte.

  • Un article sur les schémas d'importation en OCaml. Un article moins ambitieux que le précédent mais qui, selon moi, à le mérite de présenter quelques usages moins usuels du langage de module de OCaml.

  • Et même si ce ne sont pas des articles à proprement parlé, j'ai rédigé quelques nouvelles dans cette page Journal. Une page importante car elle me permet de rédiger des articles/nouvelles plus brèves, un peu à la manière d'un blog.

C'est évidemment toujours très peu, mais au contraire de la fin de l'année 2022, où je n'étais pas très inspiré, je suis assez confiant pour 2024 car j'ai beaucoup d'idées et de sujets que je désire évoquer sur ce site !

Fonctionnalités

Même si ma fréquence de rédaction n'a pas particulièrement augmentée, j'ai implémenté — de mon point de vue — beaucoup de fonctionnalités dans mon site :

  • La mise en place du journal, ce qui peut sembler anecdotique mais qui m'a permis de comprendre comment travailler avec des dépendances dynamiques dans YOCaml et me permettant de trouver des pistes d'amélioration (en terme de developer experience) pour la prochaine version de YOCaml, qui devra sortir en 2024.
  • La mise en place de fils de syndication, me permettant, au passage, de me réintéresser aux flux RSS, et de m'en servir pour me tenir à jour.
  • La construction d'une section galeries, ce qui n'est technologiquement pas une prouesse, mais m'a remotivé à dessiner, après plusieurs années de disette.
  • L'utilisation de Mastodon pour indexer des commentaires me permettant, enfin, d'avoir un espace de commentaires (très peu utilisé) pour réagir à mes articles.
  • L'intégration d'une dApp me permettant d'expérimenter l'intégration d'éléments Web3 dans une application générée statiquement.

Certaines fonctionnalités triviales à implémenter dans une application web dynamique classique sont plus fastidieuses à implémenter dans le contexte d'une page généré statiquement, mais YOCaml étant très versatile, il me permet de m'amuser en développant des features et de fournir des pistes d'améliorations potentielles pour la prochaine version de YOCaml. Donc c'est productif et rigolo !

Pour la suite

J'ai plusieurs objectifs pour ce site en 2024 et j'espère pouvoir m'y tenir !

  • Augmenter ma fréquence de rédaction (continuer à écrire sur la programmation, continuer à documenter les lieux que j'aime fréquenter, continuer à écrire sur le Jeux-vidéo mais aussi démarrer des nouvelles séries sur le café, la culture populaire et sur le Web3).
  • Développer plus de dApps embarquées pour faire écho aux articles en rapport avec le Web3.
  • Peupler les galeries.
  • Réorganiser le code, je ne sais pas encore si j'attendrai la prochaine version de YOCaml ou si je me lance au plus vite, mais le site étant devenu plus ambitieux qu'à ses premières heures, certains modules sont devenu gros et lourds à maintenir.
  • Construire un design-system dédié à ce site. Actuellement, le CSS est très mal organisé et impose beaucoup de redondance parce que je n'y ai pas pensé intelligemment. Une piste d'amélioration serait de penser factuellement la base CSS comme un système, me permettant de réutiliser intelligemment des composants.
  • Implémenter plus de fonctionnalités ! J'ai encore beaucoup d'idées (par exemple pour donner une utilité concrète aux tags).

Le bilan de plus d'un an d'utilisation de YOCaml est que, bien qu'il soit améliorable, il correspond assez bien à mon usage, me permettant d'implémenter, en OCaml, des bizarreries amusantes ! J'espère que 2024 me laissera encore plus de temps et d'ambition pour faire évoluer ce site qui ressemble, de plus en plus, à un jardin numérique !

C'était la première partie de ma rétrospective ! Merci de votre lecture potentielle et passez d'avance de très bonne fêtes de fin d'année et tout le meilleur pour 2024 !

Rétrospective Sur ce site web