Cliquez sur un ou plusieurs tags pour appliquer un filtre sur la liste des notes de type "Journaux" :

[ << Notes plus récentes (1051) ] [ Notes plus anciennes (8) >> ]

Samedi 3 février 2024

Journal du samedi 03 février 2024 à 20:00 #JaiDécouvert

#JaiDécouvert SilverBullet.mb.

J'aime cette déclaration dans l'introduction du projet :

SilverBullet is a note-taking application optimized for people with a hacker mindset.

source

Lundi 29 janvier 2024

Journal du lundi 29 janvier 2024 à 20:00 #linux, #fedora, #bug

Sujet : Doctrine Linux Desktop.

Suite aux bugs décrits dans ma note du 2024-01-28, je pense que si je devais installer un Linux Desktop pour des amis non hackers, comme ma petite amie ou ma mère, je choisirais une version de Fedora n-1.
La dernière version de Fedora est actuellement la numéro 39, donc j'opterais pour la version 38.

Les versions de Fedora sont maintenues pendant un an.
Après six mois, les mises à jour se concentrent exclusivement sur les corrections de bugs et de sécurité, sans mise à niveau du kernel ou des autres composants principaux.

Bien que la version la plus récente de Fedora soit très stable, les mises à jour sont fréquentes et proches des versions upstream.
Cela peut exposer les utilisateurs à des bugs upstream, comme cela m'est arrivé récemment.

Journal du lundi 29 janvier 2024 à 11:09 #iteration

#iteration Projet GH-339 - Implémenter un POC de Automerge.


J'ai une première version de https://github.com/stephane-klein/automerge-playground en vrac, mais qui fonctionne 🙂.

Todo :

J'aimerais à terme réaliser à partir de ce POC un outil comme Toggl basé sur Automerge, avec une version Web + TUI.

Dimanche 28 janvier 2024

Samedi 20 janvier 2024

Mercredi 10 janvier 2024

Vendredi 17 novembre 2023

Journal du vendredi 17 novembre 2023 à 17:16 #mise, #asdf, #dev-kit

J'ai migré de Asdf vers rtx avec succès 🙂.

Jeudi 16 novembre 2023

Journal du jeudi 16 novembre 2023 à 15:45 #CRDT, #library, #JaiDécouvert

#JaiDécouvert #library CRDT nommé Loro : https://github.com/loro-dev/loro.

Loro draws inspiration from the innovative work of the following projects and individuals:

  • Ink & Switch: The principles of Local-first Software have greatly influenced this project. The Peritext project has also shaped our approach to rich text CRDTs.
  • Diamond-types: The Event Graph Walker (Eg-walker) algorithm from @josephg has been adapted to reduce the computation and space usage of CRDTs.
  • Automerge: Their use of columnar encoding for CRDTs has informed our strategies for efficient data encoding.
  • Yjs: We have incorporated a similar algorithm for effectively merging collaborative editing operations, thanks to their pioneering work.
  • Matthew Weidner: His work on the Fugue algorithm has been invaluable, enhancing our text editing capabilities.
  • Martin Kleppmann: His work on CRDTs has significantly influenced our comprehension of the field.

Passionnant !

Vendredi 10 novembre 2023

Lundi 6 novembre 2023

Vendredi 6 octobre 2023

Journal du vendredi 06 octobre 2023 à 20:00 #JeMeDemande, #doute, #coding

Cette après midi, j'hésite à migrer le projet sveltekit-tendaro-webshell-skeleton de Javascript vers TypeScript.

Je me demande si :

  • cela en vaut la peine ;
  • étant donné que je n'ai jamais fait pour de vrai un projet en TypeScript, est-ce que je ne risque pas de tomber dans un Yak! 🤔.

Actuellement ma doctrine concernant TypeScript est la suivante.

Si je dois coder et publier une librairie sur npm alors, je choisis TypeScript.
Quand je dis librairie, je parle de librairie qui contient des classes, des fonctions ou des composants importés par d'autres projets.

Pourquoi est-ce que je choisis d'utiliser TypeScript pour les librairies ?

  • Je permets aux développeurs qui utilisent TypeScript dans leur projet, de pouvoir bénéficier de la documentation, l'autocomplétion, la détection des erreurs… de la librairie que j'aurais mise à disposition ;
  • Je n'ai pas vérifié, mais je pense que le typage de TypeScript permet à des outils d'auto générer une grande partie de la documentation d'une librairie.

Si je dois coder une application web, alors pour le moment, je choisis JavaScript.
Le code implémenté dans une application web, n'est généralement pas utilisé par des utilisateurs "externes". Par conséquent, je ne trouve pas très important de mettre à disposition une documentation aux autres développeurs. Je pense qu'à petite taille, l'effort ne vaut pas la peine. Ma réponse est peut-être différente si 10, 20… développeurs contribuent à la même base code 🤔.

  • Généralement, le code d'une application web est plutôt simple, beaucoup de CRUD et peu de librairie complexe.
  • Pour le moment, je pense que l'effort d'ajouter le boilerplate code de typage TypeScript (importer les types, d'ajouter le typage dans le code) ne sera pas compensé par les fonctionnalités de détection d'erreurs , d'autocomplétions et de refactoring que permet TypeScript.

Mais je me dis que je me trompe peut-être, peut-être que si j'essaie, je vais me rendre compte que j'aime bien cela et que cela me fera gagner du temps ou alors améliorera mon confort, mon plaisir de développement 🤔.

Tâches à faire si je souhaite migrer à TypeScript :

  • [ ] Implémenter une déclinaison de sveltekit-ssr-skeleton en TypeScript
  • [ ] Modifier mon environnement Neovim pour activer les fonctionnalités suivantes :
    • [ ] Support de l'autocomplétion TypeScript
    • [ ] Support de la détection des erreurs TypeScript
    • [ ] Support des fonctions de refactoring TypeScript
    • [ ] Affichage en "live" de la documentation des composants, fonctions…

Ressources à lire avant pour avancer sur ce sujet :

Lundi 21 août 2023

Journal du lundi 21 août 2023 à 11:57 #iteration, #projet

Pour le moment, j'ai passé 17h sur le Projet GH-289 - Créer un simulateur de manque à gagner suite à une rupture conventionnelle, licenciement économique ou licenciement simple.

Je ne comprends pas comment j'ai fait pour y passer autant de temps.

Peut-être le cumul de la recherche d'information juridique, le refactoring UX de la page 🤔.

À noter que je ne suis pas satisfait de cette version de l'UX.

Le projet est déployé sur Vercel à l'adresse suivante : https://comparateur-rupture-conventionnelle-cdi.sklein.xyz/

Mercredi 16 août 2023

Idée d'un site "Homo Economicus" #idée

Cela fait plusieurs années que j'aimerais réaliser des petits simulateurs, comme celui que j'ai commencé à implémenter : "Simulateur de rupture conventionnelle à CDI".

J'ai même une idée de nom pour ce site "Home Économicus" : homo-economicus.fr (qui est disponible).

Quelques idées de simulateurs :

Par le passé, j'avais trouvé un comparateur open-source très complet entre vélo, voiture neuve, voiture occasion, voiture électrique, leasing… J'ai fait quelques recherches, je ne retrouve plus 😌.

Vendredi 11 août 2023

Mardi 1 août 2023

Lundi 24 juillet 2023

Journal du lundi 24 juillet 2023 à 20:46 #signature-électronique

Voici le résultat de mes recherches d'alternatives à Docusign.

YouSign est un service de signature électronique Français basé à Caen, lancé en 2013, en mode SaaS.

LibreSign, projet brésilien, lancé en 2020, disponible en mode SaaS. Le code source semble disponible sous licence AGPL. Ce projet est une application Nextcloud : https://apps.nextcloud.com/apps/libresign. Je trouve ce choix très judicieux 🙂. Le projet semble bien actif, développé principalement par Vitor Mattos.

Concord, service SaaS de signature électronique fondé en 2014 par des Français (CEO Matt Lhoumeau, CTO Florian Parain).

BulkSign, projet d'un Indie Hacker néerlandais, nommé John Fonesca. Le projet n'est pas open-source, mais propose une version OnPremise : https://bulksign.com/main/OnPremiseVersion.html.

Lex Persona, encore un service Français, un projet lancé par François Devoret en 2005 depuis Troyes à taille humaine (11 personnes).

Documenso, une Open Startup (https://documenso.com/open) lancée en 2023 par un allemand nommé Timur Ercan et un australien nommé Lucas Smith. Le code source est disponible sous licence AGPL. Le développement est plutôt actif avec 4 développeurs.

Cosuno est un service de signature électronique allemand en mode SaaS.

Mardi 4 juillet 2023

Journal du mardi 04 juillet 2023 à 17:35 #WebDev, #JaiDécouvert, #JaiLu, #JeMeDemande

#JaiDécouvert la fonctionnalité Skew Protection de Vercel : Introducing Skew Protection.

#JaiLu aussi Version Skew.

#JeMeDemande comment implémenter le même système que la fonctionnalité Skew Protection de Vercel en self hosted, par exemple, avec SvelteKit 🤔.

Jeudi 15 juin 2023

Journal du jeudi 15 juin 2023 à 17:34 #JaiLu, #startup, #SaaS

J'ai lu cet article de Ploum : De la merdification des choses.

Je fais le même constat que Ploum 👌.

Lundi 12 juin 2023

Journal du lundi 12 juin 2023 à 13:48 #postgresql, #POC

Voici le repository de la première version de mon POC qui avait pour objectif d'implémenter un système de tags en PostgreSQL, en me basant sur l'article "Tags and Postgres Arrays, a Purrrfect Combination" : https://github.com/stephane-klein/postgres-tags-model-poc.

Mercredi 7 juin 2023

Journal du mercredi 07 juin 2023 à 19:37 #llm, #MachineLearning, #selfhosting, #JaiDécouvert

#JaiDécouvert le projet PrivateGPT (https://github.com/zylon-ai/private-gpt).

Cela fait plusieurs mois que je souhaite trouver une solution pour self hosted une alternative à ChatGPT. J'ai bien envie de tester ce projet.

Mardi 30 mai 2023

Jeudi 18 mai 2023

Je commence à utiliser Toggl pour analyser la répartition de mon temps #quantified-self, #JaiDécidé

Je suis président du club de Tennis de Table d'Issy-les-Moulineaux depuis le début de l'année. Cette fonction me prend beaucoup plus de temps que je ne l'imaginais initialement, et j'ai du mal à quantifier précisément cette charge de travail. J'ai l'impression qu'elle est importante, mais j'hésite : représente-t-elle un jour par semaine ? Deux jours ? Ou est-ce simplement ma perception qui me trompe ?

J'ai l'intuition que cette mission est trop lourde pour quelqu'un qui exerce une activité professionnelle. Je pense qu'elle ne peut être remplie efficacement que par une personne à la retraite, disposant de suffisamment de temps et d'énergie pour gérer tous les aspects administratifs et organisationnels.

Si je dois prématurément démissionner, je souhaite pouvoir rationaliser ma décision. Je veux la fonder sur des mesures concrètes et précises, et non sur un simple sentiment.

Pour cela, #JaiDécidé d'essayer d'utiliser l'application quantified self de suivi du temps nommée Toggl Track pendant 1 mois, afin d'avoir des données précises pour analyser la répartition de mon temps sur différentes activités :

  • Tâches domestiques (préparation des repas, ménage, vaisselle) ;
  • Mon emploi en CDI ;
  • Lecture ;
  • Hobbie : coding, apprentissage, veille technologique ;
  • Sport (Footing, Tennis de Table) ;
  • Repas et restaurant ;
  • Transports ;
  • Tâches liées à mon rôle de président de club ;
  • Temps de sommeil.

Je me demande si je vais être assez discipliné pour faire ce suivi.
Je suis curieux de savoir ce que vont m'apprendre ces mesures !

Samedi 6 mai 2023

Journal du samedi 06 mai 2023 à 07:39 #WebDev, #Doctrine, #api, #JaiLu

#JaiLu l'article Don’t Build A General Purpose API To Power Your Own Front End.

TL;DR YAGNI, unless you’re working in a big company with federated front-ends or GraphQL.

It’s popular in web dev nowadays to build a backend that serves JSON, and a frontend that renders the app. This is fine. I’m not the biggest fan, but it’s really okay. Except it’s not okay if you think that your backend needs to be designed like a generic public API. This will not save you time.

Je partage à 100% cette opinion.

Jeudi 27 avril 2023

Samedi 1 avril 2023

Mise en œuvre du module Nginx Brotli #WebDev, #devlog, #nginx, #compression, #brotli

Pour accélérer un peu la vitesse de chargement de https://sklein.xyz et améliorer mon score Lighthouse, j'ai activé la compression Brotli dans nginx.

Voici le dépôt GitHub qui convient le Dockerfile de l'image Docker qui j'utilise : nginx-brotli-docker.

Cette image contient nginx + le module ngx_brotli.

J'en ai profité pour étudier un peu l'histoire de Brotli.

Je découvre que Brotli a été créé par un employé de Google pour accélérer le chargement fontes de caractères :

Google employees Jyrki Alakuijala and Zoltán Szabadka initially developed Brotli in 2013 to decrease the size of transmissions of WOFF web font.

source

Le support de Brotli semble avoir été ajouté à Firefox en janvier 2016 et à Chrome en avril 2016.

Au sujet de son nom :

Comme pour zopfli, un autre algorithme de compression de Google, Brotli porte le nom d'une viennoiserie suisse. C'est la transcription de Brötli (petit pain en suisse allemand).

source

Concernant les performances, je lis :

Compared to gzip compression, JavaScript files compressed with Brotli are roughly 15% smaller, HTML files are around 20% smaller, and CSS files are around 16% smaller.

source

Le changement n'est pas "exceptionnel", mais comment c'est simple à activer, autant en profiter 😉.

Voici ce que cela donne pour le téléchargement de la page https://sklein.xyz/fr/ :

$ curl -s -H "Accept-Encoding: gzip" -o /dev/null -w "%{size_download}\n" https://sklein.xyz/fr/
5566

$ curl -s -H "Accept-Encoding: br" -o /dev/null -w "%{size_download}\n" https://sklein.xyz/fr/
4846

Mercredi 22 février 2023

Journal du mercredi 22 février 2023 à 10:47 #tailwindcss, #WebDev, #css, #html, #JaimeraisUnJour

J'ai sans doute découvert Tailwind CSS lors du lancement de sa version 1.0.0 en mai 2019, ou alors en février 2020 en parcourant ce thread Hacker News qui contient plus de 300 commentaires.

Après 2 années partagées entre scepticisme et grande curiosité au sujet de cette technologie et voyant la traction croissante de ce projet, début novembre 2022, j'ai décidé de creuser le sujet et de tester Tailwind CSS sur un side project.

En lisant de nombreux threads Hacker News ou Reddit sur Tailwind CSS, je constate toujours la même chose : c'est une technologie très clivante. Il y a ceux qui l'adorent et ceux, plus conservateurs, qui la trouvent complètement absurde.

Après plus de 3 mois d'utilisation de Tailwind CSS, je suis converti, je trouve l'expérience développeur (DX) excellente !

Un des éléments qui m'a fait reconsidérer ma position concernant Tailwind CSS est l'article "Why Tailwind CSS" de Shawn Wang (dit swyx), en particulier cette toute petite phrase :

A lot of production CSS is append only.

source

Cette déclaration me semble totalement juste et reflète exactement ce que je constate dans tous les projets CSS depuis 20 ans.

Cet article m'a aussi convaincu : Oh No! Our Stylesheet Only Grows and Grows and Grows! (The Append-Only Stylesheet Problem).

Cependant, je ne suis pas encore convaincu de l'intérêt de Tailwind CSS pour un site de contenu. Pour ce type de site, l'implémentation CSS me semble assez simple, par conséquent, je pense que le paradigme du CSS traditionnel, c'est-à-dire un CSS sémantique, reste plus pertinent.

Par ailleurs, je m'interroge sur l'impact du paradigme Tailwind CSS (utility CSS) concernant l'empreinte mémoire des pages.
J'ai le sentiment que la profusion d'attributs class="..." va probablement augmenter considérablement la taille des pages.
#JaimeraisUnJour prendre le temps de mesurer cet aspect.

Lundi 30 janvier 2023

Journal du lundi 30 janvier 2023 à 11:13 #thinkpad, #laptop, #achat

Je viens de commander un Thinkpad T14s AMD Gen 3 :

Samedi 7 janvier 2023

Jeudi 29 décembre 2022

Journal du jeudi 29 décembre 2022 à 11:29 #JaiDécouvert, #JeMeDemande

#JaiDécouvert la Mémoire transactive.

Quand je dis « j'aime travailler dans une équipe sur le long terme, tout devient fluide, elle a une culture commune… », #JeMeDemande si cela veut dire que j'aime la mémoire transactive 🤔.

#JeMeDemande si la mémoire transactive équivaut plus ou moins à une culture de travail ? 🤔.

Dimanche 13 novembre 2022

Journal du dimanche 13 novembre 2022 à 14:32 #neovim, #mémo, #mémento, #aide-mémoire

Pour effectuer une rotation du layout de mes windows Neovim comme la commande ctrl-b space sous tmux, j'ai trouvé les combinaisons de raccourcis suivantes :

  • ctrl-w J
  • ctrl-w H

Attention, les majuscules sont importantes.


2025-01-27 : voir 2025-01-27_1051.

Lundi 19 septembre 2022

Jeudi 1 septembre 2022

Journal du jeudi 01 septembre 2022 à 20:26 #Doctrine, #software-engineering

Je trouve que Best current practice est intéressant pour éviter de tomber dans la rigidité d'un process 🤔.

Je pense que je vais l'utiliser.

Mercredi 31 août 2022

Dimanche 3 avril 2022

J'ai décidé de placer autant que possible des marqueurs de modestie épistémique dans ma communication écrite #communication, #JaiDécouvert, #DébattonsMieux, #JaiDécidé

#JaiDécouvert le concept de marqueur de modestie épistémique en mai 2019 dans cette vidéo de Lê Nguyên Hoang : « Modestie épistémique #DébattonsMieux ».

#JaiDécidé d'essayer à partir d'aujourd'hui de mettre cela en pratique autant que possible dans ma communication.

Mon intuition, c'est que cela va être très difficile à l'oral, dans le flux de la communication, mais je pense qu'il n'y a aucune raison que je n'y arrive pas à l'écrit.

Pour l'écrit, j'aurais tendance à dire que c'est une question de rigueur, équivalente à ma rigueur d'utilisation des conventional comments quand je poste des commentaires de review.

Voici quelques exemples de marqueurs de modestie épistémique que je pourrais utiliser :

  • il me semble que …, ça serait …
  • j'aurais tendance à dire que …
  • peut-être ...
  • probablement ...
  • sans doute ...
  • si je devais parier ...
  • mon intuition dirait que ...
  • je me trompe sans doute…
  • il me semble extrêmement probable …
  • il semble que …
  • selon cette article ....
  • je pense que .....
  • j'ai entendu dire que ....
  • il paraît ......
  • selon ce consensus ....

Jeudi 24 mars 2022

Samedi 29 janvier 2022

Journal du samedi 29 janvier 2022 à 15:35 #software-engineering, #monolith, #microservices, #JaiLu

#JaiLu ce thread Hacker News : Why our team cancelled our move to microservices.

There is no reason even a significantly larger org - say 40+ people in 8-10 teams cannot work effectively in a single repository and monolith architecture. Beyond that there are certain growing pains and if you don't effectively manage those then I could see how you end up going with micro-services.

source

Je partage cette opinion 👍️.

Vendredi 28 janvier 2022

Journal du vendredi 28 janvier 2022 à 20:00 #selfhosting, #hardware

J'ai acheté un Serveur NUC i3 gen 5 d'occasion pour 150 € sur LeBonCoin, avec pour objectif de l'utiliser comme serveur Homelab.

Je prévois d'y installer Proxmox pour déployer des Virtual Instances.

Mardi 5 octobre 2021

Journal du mardi 05 octobre 2021 à 14:00 #OnMaPartagé, #JaiDécouvert, #livre, #software-engineering

Je viens de déjeuner avec un ami qui m'a fait découvrir le livre Team Topologies.

Vendredi 19 avril 2019

Journal du vendredi 19 avril 2019 à 17:33 #dev-kit, #software-engineering, #vocabulaire, #Git

Cela fait des mois que je me demande comment nommer le repository #Git « chapeau », « umbrella » qui est le starting point d'une boite ou d'un projet.

J'ai trouvé une réponse chez GitLab, {compagny_name}-development-kit : https://gitlab.com/gitlab-org/gitlab-development-kit.

Ce repository est un "development kit".

Mardi 15 janvier 2019

Journal du mardi 15 janvier 2019 à 15:22 #monorepo, #multirepos, #git, #software-engineering, #JaiLu

Ce mois de janvier est riche en article au sujet des Monorepo !

#JaiLu le contre pied du l'article "Monorepos: Please don’t" : Monorepo: please do! !

As a leader, I’ll pick the monorepo every time: because tools must reinforce the culture I want, and culture comes from the tiny decisions and behaviors of a team every day.

source

👌

Son thread Hacker News : 161 commentaires.

Mardi 8 janvier 2019

Journal du mardi 08 janvier 2019 à 17:28 #monorepo, #git, #software-engineering, #JaiLu

#JaiLu ce thread Hacker News au sujet des Monorepo : "Monorepos and the Fallacy of Scale | Hacker News".

J'ai trouvé l'article très intéressant ainsi que les commentaires.

Jeudi 3 janvier 2019

Journal du jeudi 03 janvier 2019 à 15:13 #git, #monorepo, #multirepos, #software-engineering, #no-silver-bullet, #JaiLu

#JaiLu ce thread Hacker News au sujet des Monorepo : "Monorepos: Please don’t".

Il contient de très bons commentaires biens argumentés qui expliquent les avantages des Monorepo, j'ai trouvé cela passionnant 🙂.

Jeudi 22 novembre 2018

Journal du jeudi 22 novembre 2018 à 15:09 #monorepo

Au début, j'avais une sorte de jouissance à créer des dépôts pour chaque service de mon projet (je précise que tout seuls, ils ne servent à rien), j'avais l'impression d'être un bon élève. Mais, que c'est pénible d'en maintenir une cohérence ! Je suis plus heureux en Monorepo.

-- Témoignage d'un ami

Jeudi 25 octobre 2018

Mercredi 17 octobre 2018

Journal du mercredi 17 octobre 2018 à 17:59 #monorepo, #monolith, #microservices

Confusion à ne pas faire « MonolithMonorepo :

Monolith

Monolith ≠ monorepo. Monolith is huge amount of coupled code of 1 application that is hell to maintain.

source

Un projet en microservice peut très bien être hébergé dans un Monorepo.

J'ajoute aussi Multireposmicroservices.

Il est tout à fait possible — voire courant — d'héberger un Monolith dans plusieurs repositories, mais d'après mon expérience, cela s'avère peu pratique, je peux même dire, pénible !

Journal du mercredi 17 octobre 2018 à 16:06 #software-engineering, #monorepo, #multirepos, #git, #JaiDécouvert

#JaiDécouvert le site "Advantages of monorepos" (https://danluu.com/monorepo/).

Avantages :

  • « Simplified organization » 👌
  • « Simplified dependency management » 👌
  • « atomic changes » 👌
  • « Extensive code sharing and reuse » 👌
  • « Unified versioning, one source of truth » 👌
  • « Code visibility and clear tree structure providing implicit team namespacing » 👌
  • « Large-scale refactoring » 👌
  • « Collaboration across teams » 👌

[ << Notes plus récentes (1051) ] | [ Notes plus anciennes (8) >> ]