
Cliquez sur un tag pour affiner votre recherche :
[ << Page précédente (400) ] [ Page suivante (2866) >> ]
Journal du mardi 08 octobre 2024 à 00:07
Un ami me dit :
« Tu as mis ton numéro et ton email en clair sur ton site. Tu n’as pas peur de te faire spam ? »
Je viens de vérifier sur Wayback Machine, mon numéro de téléphone est sur mon site personnel depuis octobre 2005.
À ce jour, à ma connaissance, je n'ai pas plus, pas moins de "spam" téléphonique que mes amis.
D'autre part, comme expliqué dans Agir contre les appels commerciaux sur LinuxFr, la législation a évolué dernièrement :
L’ARCEP (Autorité de régulation des communications électroniques et des postes) a publié le 1ᵉʳ septembre 2023 une liste de numéros que les démarcheurs sont obligés d’utiliser pour émettre des appels : si on reçoit un appel depuis un de ces numéros, on peut considérer que c’est du spam. Cela concerne les numéros commençant par 0162, 0163, 0270, 0271, 0377, 0378, 0424, 0425, 0568, 0569, 0948 ou 0949 en zone +33 (France métropolitaine), 09475 en zone +590 (Guadeloupe, Saint-Martin, Saint-Barthélemy ), 09478 ou 09479 en zone +262 (La Réunion, Mayotte et autres territoires de l’Océan Indien), 09476 en zone +594 (Guyane) et 09477 en zone +596 (Martinique).
-- from
Par le passé, j'utilisais DoisJeRépondre et depuis quelque temps, j'utilise SpamBlocker. Je pense que cela fait plus d'un an que je n'ai pas eu un spam sur mon téléphone.
Journal du lundi 07 octobre 2024 à 15:48
Je viens de déjeuner avec un ami qui m'avait fait découvrir Team Topologies. Cette fois, il m'a fait découvrir le modèle unFIX.
First, the unFIX model is a pattern library that provides many options for describing an organization design, ways of working within a team, decision-making, goal-setting, and more.
Think of the pattern options in the unFIX model as Lego blocks. Like these building blocks, they provide the flexibility to construct and adapt your organization according to your unique needs and preferences.
-- from
Je n'ai pas encore étudié le modèle unFIX.
Un autre sujet de notre discussion a porté sur la difficulté de définir des noms d'équipe générique pour des Stream-aligned team.
Il m'a raconté : « J'ai essayé de m'opposer à l'utilisation des Avengers comme nom d'équipe, mais je n'ai pas réussi ».
Cela m'a fait sourire, car j'ai rencontré un problème similaire avec des noms de Pokémon. Finalement, j'ai cédé et accepté ces noms, à condition de les accompagner de préfixes génériques comme "Team A - ", "Team B - ", etc.
Cette approche s’inspire du pattern de nommage des versions d’Ubuntu, qui utilise un format combinant un identifiant technique et un nom plus créatif, par exemple : "Ubuntu 24.10 - Oracular Oriole".
Pour ma prospection Freelance, il m'a conseillé de regarder du côté de la communauté Tech.Rocks.
Il a confirmé mes retours au sujet de Malt : ses amis ne reçoivent pas de propositions de mission via Malt.
Il m'a partagé cet article Building Stronger, Happier Engineering Teams with Team Topologies (Docker et Team Topologies).
Journal du lundi 07 octobre 2024 à 11:55
En étudiant Loomio, #JaiDécouvert le projet Enspiral (from).
You can do work you love, with people you love, on the biggest issues of our time and get paid well for it. At Enspiral we encourage and support each other to do just that.
We’re a collective of individuals who not only believe in, but practice a new way of organising.
-- from
Je n'ai pas encore compris ce que c'est.
Journal du lundi 07 octobre 2024 à 09:22
#JaimeraisUnJour prendre le temps de tester les logiciels de personal finance manager : Firefly III et Actual Budget.
#JaiDécouvert CommunityRule. Je suis vraiment impressionné par ce projet. C'est une idée à laquelle j'avais déjà vaguement pensé, et je suis ravi de voir qu'elle a été réalisée avec autant de qualité. Bravo aux créateurs !
Je suis tombé dans un rabbit hole et j'ai passé 2 heures à explorer le site en détail, à lire toutes les pages et à suivre divers liens externes, etc. Voici mes notes issues de cette exploration.
“For everyone to have the opportunity to be involved in a given group and to participate in its activities the structure must be explicit, not implicit. The rules of decision-making must be open and available to everyone, and this can happen only if they are formalized.” (Jo Freeman, “The Tyranny of Structurelessness”).
-- from
Chose amusante, quand j'ai commencé à lire ce paragraphe, je me suis dit « Cela me fait penser à The Tyranny of Structurelessness » et je constate que c'est le cas 🙂.
#JaiDécouvert les articles "Admins, Mods, and Benevolent Dictators for Life: The Implicit Feudalism of Online Communities" et "Modular Politics Toward a Governance Layer for Online Communities" (from) de Nathan Schneider, que je n'ai pas encore pris le temps de lire (#JaimeraisUnJour).
#JaiDécouvert Manuel de discipline (from).
La page "Points of inspiration" contient beaucoup de liens que je trouve très intéressants.
Je trouve les 8 templates de prise de décision particulièrement intéressants (chaque lien contient la traduction des templates) :
Le livre Comunity Rules décrit davantage ces modèles.
Ces documents m'auraient été très utiles au cours des dix dernières années pour formaliser et mieux communiquer mes propositions de gouvernance, tant dans le milieu associatif que dans le cadre professionnel.
La page Module documentation contient encore beaucoup de savoir que j'aimerais prendre le temps de lire.
#JaiDécouvert le livre The Magna Carta Manifesto - Liberties and Commons for All (from).
J'ai très envie de traduire le site en langue française.
Journal du dimanche 06 octobre 2024 à 19:26
#JeMeDemande s'il existe une communauté identique à social.coop, mais 100% francophone 🤔.
J'ai posté le message suivant :
Connaissez-vous une instance Mastodon gérée par des membres francophones ou des personnes localisées en France, dont le financement et la gouvernance s'inspirent de celle de "social.coop" ? Autrement dit, une instance financée par ses utilisateurs, avec un financement transparent via Open Collective et des décisions prises collectivement sur Loomio.
Traduction :
Do you know a Mastodon instance managed by French members whose financing and governance are inspired by that of “social.coop”? In other words, an instance funded by its users, with transparent financing via Open Collective and decisions taken collectively on Loomio.
Sur :
- Le Subreddit Fediverse : https://old.reddit.com/r/Mastodon/comments/1fxottc/do_you_know_a_mastodon_instance_managed_by_french/
- Message adressé à Nathan Schneider, un administrateur de social.coop : https://mamot.fr/@stephane_klein/113262176462779173
- Message adressé au compte administrateur de l'instance Piaille : https://mamot.fr/@stephane_klein/113262221066589302
Inscription et migration vers social.coop
Suite à l'étude de social.coop, #JaiDécidé de migrer mon compte Mastodon de l'instance Mamot.fr administré par La Quadrature du Net vers social.coop.
J'ai rempli le formulaire Registration Form.
À la question :
In up to 500 characters (the maximum length of a toot on Mastodon), can you tell us a bit about yourself? For instance, why you wish to join social.coop, and what hopes or aspirations you have for the site and/or your participation?
J'ai répondu :
Bonjour,
Je suis membre de la communauté Fediverse depuis 2018 (https://mamot.fr/@stephane_klein). J'ai décidé en novembre 2022 de réduire au maximum mon activité sur Twitter.
Cela fait plusieurs années que j'envisage de rejoindre une instance à laquelle je pourrais contribuer financièrement.
J'ai découvert social.coop et j'apprécie la gestion financière transparente du projet via https://opencollective.com/socialcoop ainsi que le mode de gouvernance basé sur Loomio.
Je serais ravi de rejoindre votre communauté.
Je suis français, basé à Paris. Plus d'informations sur https://sklein.xyz.
Bonne soirée, Stéphane
En rédigeant ce texte, je me demande s'il existe une communauté identique à social.coop, mais 100% francophone 🤔.
Traduction en anglais :
Hello,
I am a member of the Fediverse community since 2018 (https://mamot.fr/@stephane_klein). I decided in November 2022 to reduce my Twitter activity as much as possible.
For several years now, I've been considering joining an organization to which I could contribute financially.
I discovered social.coop and appreciate the transparent financial management of the project via https://opencollective.com/socialcoop as well as the mode of governance based on Loomio.
I would be happy to join your community.
I am French, based in Paris. More information on https://sklein.xyz.
Have a nice evening, Stéphane
J'attends la réponse à mon inscription.
Journal du dimanche 06 octobre 2024 à 11:46
#JaiLu la page de bienvenue du projet social.coop.
En lisant la page Code of conduct #JaiDécouvert beaucoup de choses au sujet du mouvement coopératif :
- Alliance coopérative internationale
- Déclaration sur l'identité coopérative
- Les principes de Rochdale
Dans Les principes de Rochdale, j'ai été intrigué par la règle suivante :
La rémunération limitée du Capital : les sociétaires, ceux qui ont investi pour acheter des actions, touchent chaque année un intérêt, proportionnel à leur nombre d'achats et non aux bénéfices : s'ils veulent toucher une forte part des bénéfices, ils ont donc intérêt à acheter beaucoup, plutôt que d'acheter beaucoup d'actions.
-- from
#JaiLu Conflict resolution guide, je trouve cette formalisation de process intéressante. Je souhaite garder ce document à l'esprit parce que je pense que cela peut être adapté à une équipe ou plus largement à tout type d'organisation.
#JaiLu https://buytwitter.org/
J'ai parcouru une grande partie des pages du wiki de social.coop : https://wiki.social.coop/wiki/Special:AllPages.
#Jaime l'utilisation de Open Collective de social.coop : https://opencollective.com/socialcoop :
social.coop: a coop-run corner of the fediverse with a co-operative and transparent approach to operating a social platform.
#JaiLu aussi la page Loomio de social.coop : https://www.loomio.com/socialcoop
Journal du samedi 05 octobre 2024 à 11:51
J'ai redécouvert Mailrise.
Journal du samedi 05 octobre 2024 à 11:43
Sonic is a fast, lightweight and schema-less search backend. It ingests search texts and identifier tuples that can then be queried against in a microsecond's time.
Journal du samedi 05 octobre 2024 à 11:38
Dans ce thread Reddit, #JaiDécouvert :
Cloud-native search engine for observability.. An open-source alternative to Datadog, Elasticsearch, Loki, and Tempo.
openITCOCKPIT is an Open Source system monitoring tool built for different monitoring engines like Nagios, Naemon and Prometheus.
🚀 10x easier, 🚀 140x lower storage cost, 🚀 high performance, 🚀 petabyte scale - Elasticsearch / Splunk / Datadog alternative for 🚀 (logs, metrics, traces, RUM, Error tracking, Session replay).
Journal du samedi 05 octobre 2024 à 11:07
#JaiDécouvert Btree un équivalent à APScheduler en Python.
Bree is a Node.js and JavaScript job task scheduler with worker threads, cron, Date, and human syntax.
Je crois avoir commencé à utiliser APScheduler aux alentours de 2010. Cependant, depuis que j'ai pris la décision de me consacrer pleinement à Javascript, je prévois de le remplacer par Btree.
#JaiDécouvert dans cette issue une application web (GUI) pour Btree : https://github.com/mihai-vlc/bree-dashboard.
Pour l'exécution de scripts shell simples, j'utilise Supercronic, un outil développé en Golang que j'intègre dans mes images Docker.
En revanche, si mes besoins en orchestration deviennent trop complexes pour Btree, je pense que Temporal pourrait être une solution intéressante pour gérer des workflows avancés.
Journal du vendredi 04 octobre 2024 à 21:18
Je suis triste de constater que SvelteKit ne propose toujours pas de hooks pour lancer une fonction au démarrage du serveur 😔, voir l'issue Expose a way to inject a start script into adapter-node.
Journal du vendredi 04 octobre 2024 à 20:58
Je viens de mettre en œuvre better-sqlite3-helper ici dans le projet gibbon-replay, afin d'utiliser son système de migration de schemas.
L'expérience développeur (DX) est bonne, j'ai apprécié les fonctions helpers query
, queryFirstRow
, queryFirstCell
, insert
, etc.
Journal du vendredi 04 octobre 2024 à 18:01
#JaiDécouvert meet.coop, un service SaaS de #visio-conférence basé sur BigBlueButton.
Journal du jeudi 03 octobre 2024 à 16:58
#JaiLu l'article Ode aux perdants de Ploum qui commente l'article fedi is for losers ( wingolog) qui traite de Fediverse.
La question est provocante et intelligente : le Fediverse semble être un repère d’écologistes, libristes, défenseurs des droits sociaux, féministes et cyclistes. Bref la liste de tous ceux qui ne sont pas mis en avant, qui semblent « perdre ».
Je n’avais jamais vu les choses sous cet angle.
-- from
Personnellement, je ne suis pas surpris, j'ai souvent reçu cette remarque de la part de profils non hackers, comme des CEO, des responsables marketing, ou des personnes issues de la culture startup.
J'utilise Fediverse, Reddit, Hacker News, Lobster, les forums… parce que j'y trouve des signaux faibles, des Maven, des hackers.
Je suis conscient que le Fediverse représente une barrière à l'entrée, mais je considère cela comme une qualité. Cela contribue à éviter, dans une certaine mesure, le phénomène du septembre éternel.
Personnellement, je trouve peu d'information sur Twitter et encore moins sur LinkedIn.
Je trouve que ces plateformes sont majoritairement saturées de bruit, de contenu promotionnel déguisé et de messages de signalement de statut social.
Pour être totalement transparent, jusqu'à présent, je trouve que mon feed Mastodon est de mauvaise qualité, j'y trouve peu d'Information. Je préfère nettement le contenu de mon flux RSS, qui agrège des sources provenant de Hacker News, Reddit et de divers blogs.
J'aimerais voir sur Fediverse plus de chercheurs, plus d'informations qui proviennent de revues à comités de lectures.
Je souhaite afficher une barre de progression d'importation dans le script import-to-es-database.js
du projet sklein-pkm-engine.
Je souhaite afficher deux lignes :
- Première ligne : barre de progression d'importation ;
- Seconde ligne : action en cours de traitement.
Je viens d'étudier les librairies blessed, ora et cli-progress et je pense que cli-progress est celle qui conviendra de mieux pour atteindre mon objectif.
Par contre, cli-progress ne semble pas supporter la présence d'un retour à la ligne dans le paramètre format
:
const bar = new cliProgress.SingleBar({
format: "Progress | {bar} | {percentage}% || {value}/{total} items\nProcessing: {currentAction}",
barCompleteChar: "\u2588",
barIncompleteChar: "\u2591",
hideCursor: true,
clearOnComplete: false,
linewrap: false
});
Finalement, non satisfait de cli-progress, je suis parti vers la #library listr2 (https://github.com/listr2/listr2).
Voici le résultat :
Voici le code source de ma mise en œuvre de Listr2 : https://github.com/stephane-klein/sklein-pkm-engine/blob/9bca16344dca075c595ceebb82b91bbbd3a267ff/import-to-es-database.js#L49.
J'ai trouvé la librairie très agréable à utiliser.
Journal du mercredi 02 octobre 2024 à 18:07
Nouvelle #iteration du Projet 11 - "Première version d'un moteur web PKM".
J'ai traité les tâches décrites dans ma dernière note.
- Comme me l'a signalé à plusieurs reprises Alexandre, je dois améliorer le rendu responsive sur smartphone. Jusqu'à présent, je n'ai pas encore consacré de temps à ce sujet.
- Je dois améliorer le script d'import des données dans Elasticsearch. Pour le moment, ici, je commence par supprimer toutes les données avant d'effectuer l'importation des données.
Problème : les pages ne sont plus accessibles pendant l'exécution de ce script.
J'ai enfin publié sklein-pkm-engine sur https://notes.sklein.xyz.
En mars 2024, j'écrivais :
Pour le moment, j'utilise Obsidian Quartz pour déployer https://notes.sklein.xyz.
Est-ce que j'en suis satisfait ? Pour le moment, la réponse est non, parce que je ne le maitrise pas assez.
J'ai une grande envie d'implémenter une version personnelle basée sur SvelteKit et Apache Age, mais j'essaie de ne pas tomber dans ce Yak!.
Début mai 2024, je suis tombé dans ce Yak!, j'y ai consacré 93 heures en tout, soit l'équivalent d'environ 15 jours de travail étalés sur 8 semaines.
J'ai enfin supprimé Obsidian Quartz
J'ai changé plusieurs fois de direction :
- j'ai exploré une implémentation basée sur Apache Age,
- ensuite pg_search,
- ensuite Typesense
- et pour finir, j'ai opté pour une implémentation basée sur Elasticsearch (voir détail dans Projet 13).
Je viens d'essayer de réaliser un screencast de présentation de la version actuelle de sklein-pkm-engine, mais le résultat de mon discours était vraiment trop déstructuré pour être publié. J'essaierai de publier un screencast prochainement.
Je viens de tenter de réaliser un screencast pour présenter la version actuelle de sklein-pkm-engine, mais mon discours était trop désorganisé pour être publié. Je souhaite enregistrer une nouvelle version prochainement.
Prochains objectifs concernant le projet sklein-pkm-engine :
- Traiter les dernières tâches que j'avais listées dans Projet 11 - "Première version d'un moteur web PKM" ;
- Dresser une liste des corrections de bug et des améliorations que je souhaite apporter à notes.sklein.xyz.
Journal du mercredi 02 octobre 2024 à 10:04
#JaiDécouvert Sourcebot (from) :
Sourcebot is an open-source code search tool that allows you to quickly search across many large codebases.
C'est une alternative à Sourcegraph.
Je suis ravi de voir qu'il existe de plus en plus d'alternatives communautaires à GitHub ou GitLab, comme Forgejo, Weblate, Woodpecker CI et maintenant Sourcebot.
Journal du mercredi 02 octobre 2024 à 09:55
#JaiDécouvert Kamal Proxy (from) « A minimal HTTP proxy for zero-downtime deployments » codé en Golang. Un projet Basecamp qui fonctionne avec kamal.
Cela attire ma curiosité, parce que la semaine dernière, je réfléchissais comment implémenter la fonctionnalité Skew Protection en self hosted, voir aussi 2023-07-04_1735.
Journal du mercredi 02 octobre 2024 à 09:52
En lisant L'évaluation des dépenses logicielles de l'État et des administrations centrales depuis 2017 - Contributions - 2024 - Aidez-nous à enrichir notre programme de travail - Plateforme de participation de la Cour des Comptes (from) #JaiDécouvert « La plateforme citoyenne de la Cour des comptes et des chambres régionales et territoriales des comptes permet à chacun de proposer des thèmes de contrôle et d’enquête pour les juridictions financières ».
Journal du mercredi 02 octobre 2024 à 09:47
En rédigeant 2024-10-02_0934, j'y ai découvert l'article Migrating from AWS to Self-Hosting. J'en ai profité pour créer la Evergreen Note : Ceux qui ont quitté le cloud pour du self hosting.
The thing is, ziglang.org is not an essential service. It's not really an emergency if it goes down, and 99% uptime is perfectly fine for this use case. The funny thing about that last 1% of uptime is that it represents 99% of the costs.
-- from
Je trouve cela très bien dit 👌.
Thread Lobster à ce sujet : Migrating from AWS to Self-Hosting
#JaiDécouvert le terme Repatriation 🙂 :
There’s even a technical term for migration from Cloud back to On-prem: “Repatriation”.
Journal du mercredi 02 octobre 2024 à 09:34
#JaiLu l'article Pledging $300,000 to the Zig Software Foundation de Mitchell Hashimoto. Très bonne nouvelle pour Zig 🙂.
Deux threads Hacker News à ce sujet : https://news.ycombinator.com/item?id=41712239 et https://news.ycombinator.com/item?id=41711601.
Journal du mercredi 02 octobre 2024 à 09:22
#JaiLu Mastodon Announces Fediverse Discovery Providers - We Distribute (from).
J'ai trouvé cet article très intéressant, j'y ai appris beaucoup de choses qui ont le potentiel d'améliorer l'écosystème Mastodon et plus largement, Fediverse.
J'en ai profité pour lire aussi Fediverse Discovery Providers — « Exploring decentralized search and discovery for the Fediverse ».
Journal du mardi 01 octobre 2024 à 11:55
Nouvelle #iteration du Projet 11 - "Première version d'un moteur web PKM".
Dans ma dernière itération du 31 août 2024, j'écrivais ceci :
Voici quelque erreur d'User Interface que je souhaite corriger.
Sur ce screenshot, les notes actuellement séparé par des
<hr />
ne sont pas facilement identifiable.
Depuis, j'ai travaillé dans la branche experimentation-ui
et pour le moment, j'ai le résultat suivant :
Je pense que les délimitations des notes sont maintenant mieux identifiables.
Problème User Interface que j'ai identifié : je pense que la présence d'un lien sur le titre de la note n'est pas facilement "découvrable".
Mon objectif est toujours le suivant :
Maintenant mon objectif est d'apporter le minimum de petite amélioration me permettant de remplacer l'instance notes.sklein.xyz propulsé actuellement par Obsidian Quartz par une version propulsé par
sklein-pkm-engine
.-- from
Voici la liste des choses que je dois implémenter pour atteindre cet objectif.
- Comme me l'a signalé à plusieurs reprises Alexandre, je dois améliorer le rendu responsive sur smartphone. Jusqu'à présent, je n'ai pas encore consacré de temps à ce sujet.
- Je dois améliorer le script d'import des données dans Elasticsearch. Pour le moment, ici, je commence par supprimer toutes les données avant d'effectuer l'importation des données.
Problème : les pages ne sont plus accessibles pendant l'exécution de ce script.
Je pense qu'après avoir traité ces deux tâches, je pourrais abandonner Obsidian Quartz et seulement ensuite implémenter toutes les idées pour améliorer mon Personal knowledge management "viewer".
Journal du mardi 01 octobre 2024 à 10:48
Suite à l'écriture de 2024-10-01_1016, #JaiDécouvert OpenSign (from) basé sur Ethereum et IPFS.
Le code source est disponible, mais n'est plus actif depuis 6 ans : https://github.com/atchai/opensign.
Voir aussi les notes 2023-07-24_2046 et 2024-10-01_1016.
Journal du mardi 01 octobre 2024 à 10:34
Suite à l'écriture de 2024-10-01_1016, #JaiDécouvert OpenTimestamps :
A suggestion: while I agree with other posters that this isn't a replacement for the third-party trust model DocuSign provides, you might as well use my OpenTimestamps project to timestamp the documents OpenSign produces. Being able to prove that a document was in fact created in the past, before a dispute existed about the document, is significantly better than not being able to prove that. OpenTimestamps is free and open source, using Bitcoin so that you don't have a trusted third party. Timestamps made with OpenTimestamps are free, as merkle trees are used to allow the whole world's documents to be timestamped with a single Bitcoin transaction.
A good example of how it's been used recently is by the official election authority in Guatemala to timestamp polling documents in their recent presidential election: https://www.youtube.com/watch?v=g0nnM5_Z90E
-- from
Il y a quelques jours, en explorant les outils de Consent Management Provider, j'ai découvert Amazon Quantum Ledger Database et j'ai commencé à réfléchir aux méthodes permettant de réaliser une alternative ouverte. C'est ce que propose OpenTimestamps.
Pour plus d'informations sur le fonctionnement de OpenTimestamps, je conseille la lecture de cet article (que je n'ai pas encore lu) : OpenTimestamps: Scalable, Trust-Minimized, Distributed Timestamping with Bitcoin.
Journal du mardi 01 octobre 2024 à 10:16
#JaiDécouvert au nouveau SaaS de signature électronique : OpenSign (from).
Le code source est disponible sous licence AGPL. Le projet semble actif.
Le projet semble avoir été créé en 2023 par un anglais nommé Amol Shejole.
Je viens de découvrir l'existence d'un long thread Hacker News qui date de novembre 2023 : Show HN: OpenSign – Open source alternative to DocuSign. Je n'ai pas encore pris le temps de lire tout le thread, mais il semble contenir des commentaires intéressants.
Voir aussi la note 2023-07-24_2046.
Journal du mardi 01 octobre 2024 à 09:48
J'ai redécouvert peer-calls (from), logiciel libre de visioconférence basé sur le backend Pion.
peer-calls propose deux types de réseaux : SFU et mesh. Le mode mesh semble être du p2p.
J'ai fait un petit test, le logiciel est très simple à utiliser et semble correctement fonctionner.
peer-calls semble être simple à déployer, un simple container Docker.
Journal du lundi 30 septembre 2024 à 12:08
J'ai lu en partie le contenu de ce slidedeck "Varlink Now!" de Lennart Poettering.
Journal du vendredi 27 septembre 2024 à 12:50
#JaiDécouvert le terme Cumulative Layout Shift (CLS) (from).
Journal du vendredi 27 septembre 2024 à 09:13
#bug très frustrant dans le Flatpak de Signal Desktop : Database Error
Le bug est arrivé dans cette Merge Request https://github.com/flathub/org.signal.Signal/pull/729/files.
Bug dans Signal-Desktop
: Database Error prevents Signal-Desktop to start.
En lisant ce commentaire, je pense comprendre que --password-store=basic
ne corrige pas directement le problème, mais permet d'éviter que le problème se reproduise après un reset.
Voici ma tentative d'ajout de --password-store=basic
dans le fichier .desktop
de Signal :
$ cd `flatpak info org.signal.Signal -l`
$ find . | grep "desktop"
./export/share/applications/org.signal.Signal.desktop
./files/Signal/signal-desktop
./files/bin/patch-desktop-filename
./files/bin/signal-desktop
./files/share/applications/org.signal.Signal.desktop
Après analyse du contenu de ces fichiers, j'ai l'impression que je dois modifier ./export/share/applications/org.signal.Signal.desktop
.
$ sudo nvim ./export/share/applications/org.signal.Signal.desktop
J'ai ajouté --password-store=basic
dans la ligne Exec=
:
Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=signal-desktop --file-forwarding org.signal.Signal --password-store=basic @@u %U @@
J'ai relancé Signal Desktop, mais je n'ai aucune idée si ma mise à jour a été prise en compte ou non. J'ignore comment vérifier cela 🤔.
Journal du jeudi 26 septembre 2024 à 17:32
#JaiDécouvert le client web Mastodon nommé Phanpy
Journal du jeudi 26 septembre 2024 à 17:28
#JaiLu l'article My Wayland Your Wayland Our Wayland de Mike Blumenkrantz un développeur Wayland.
Stratégie de grosse mise à jour de dépendances
Un ami m'a posé la question suivante :
Imaginez-vous face à un projet React avec des dépendances fortement obsolètes, fonctionnant sur une version de Node datant d’il y a cinq ans. En plus, il n’existe aucun test automatisé, qu'il s'agisse de tests unitaires ou d'intégration. Vous êtes contraint de réaliser cette mise à jour, car elle bloque les futurs développements et entraîne une accumulation excessive de dette technique. Quelle serait votre approche dans cette situation ?
- Affronter le problème de front : On prend le taureau par les cornes, on met tout à jour d’un coup, quitte à rencontrer des breaking changes ou des bugs non anticipés, que l’on corrigera rapidement (option rapide mais risquée).
- Prudence avant tout : On commence par ajouter des tests sur les parcours critiques, puis on met à jour les dépendances une par une, même si cela prend plus de temps (option lente mais sécurisée).
- Déléguer la décision : Ce n’est pas à moi de décider. Je présente ces options aux responsables et leur laisse la décision finale.
Avant de pouvoir répondre à cette question, j'ai besoin de déterminer la criticité business de cette application.
Est-ce que les décideurs acceptent que l'application puisse être en panne pendant 1 heure ? 1 jour ? 3 jours ? Ou aucune interruption n'est-elle tolérée ?
Si la réponse est "moins de 24 heures", alors je considère que l'application est critique.
Ensuite j'ai besoin de savoir si la mise à jour du projet peut être réaliser de manière iso-fonctionnelle (sans changement fonctionnel), sans changement d'User Interface et sans changement du modèle de donnée.
Si la réponse est positive, cela signifie qu'il sera facile de revenir à la version précédente en cas de problème, ce qui simplifie grandement le processus de refactoring.
Une de mes premières actions concrètes serait de "dockeriser" le projet pour faciliter son déploiement et permettre un retour rapide à une version antérieure si nécessaire.
Une autre question importante : d'autres développeurs interviendront-ils sur le projet pendant la période de refactoring ? Est-ce que des corrections de bugs ou de nouvelles fonctionnalités doivent être intégrées durant cette période ?
Si la réponse à l'une de ces questions est "oui", je recommande de dupliquer le projet dans deux dossiers distincts au sein d'un monorepo :
- Le premier dossier contiendra la version actuelle de l'application.
- Le second dossier contiendra la version en cours de refactoring.
Pendant toute la durée du refactoring, les corrections de bugs et les nouvelles fonctionnalités devront être appliquées aux deux versions.
Dans tous les cas, pour ne pas perdre pied, j'essaierai de mettre à jour l'application petit à petit.
Je commencerai par essayer de mettre à jour toutes les versions mineures des packages.
Ensuite, j'essaierai de me renseigner sur les breaking changes des mises à jour majeures des packages.
Ma réponse si l'application est critique
Si l'application est critique, alors il est inacceptable que les utilisateurs découvrent eux-mêmes les bugs et doivent contacter le support pour signaler les problèmes.
Si l'application ne comporte aucun test, je suppose qu'elle est testée manuellement et que son périmètre fonctionnel reste limité.
L'une de mes premières actions serait de définir un ou plusieurs scénarios de tests manuels prioritaires, que je ferais valider par les décideurs.
Ensuite, je proposerai aux décideurs d'envisager le développement de quelques tests fonctionnels automatisés. Une décision rationnelle à ce sujet dépendrait du temps nécessaire pour effectuer ces tests manuellement et, encore une fois, de la criticité business de l'application.
Enfin, je mettrai en place un système de déploiement progressif, de type A/B testing, permettant de déployer la nouvelle version de l'application à un nombre très restreint d'utilisateurs dans un premier temps.
Ma réponse si l'application est non critique
Si, d'un point de vue business, il est acceptable que les utilisateurs découvrent les bugs, alors je n'implémenterai pas de tests automatisés.
Je définirai tout de même quelques scénarios de tests manuels que le développeur seul exécutera.
Si cela ne demande pas trop de temps, je mettrai en place un système de déploiement progressif, tel que l'A/B testing, permettant de déployer la nouvelle version de l'application à un nombre restreint d'utilisateurs dans un premier temps.
Première itération de mon aventure Malt
Il y a quelques mois, j'ai envisagé de créer plusieurs profils sur Malt pour me présenter sous différentes "casquettes". Par exemple :
- CTO as a Service
- CPTO
- DevOps
- Expert en Web Scraping
- Développeur Frontend
- Développeur Backend
- Développeur Fullstack
- …
Cette idée m'est venue en 2022, lorsque j'étais CTO chez Spacefill et que je recrutais des freelances pour des missions très spécifiques.
Je m'étais alors rendu compte que la sélection des profils était fastidieuse et que je passais à côté de candidats intéressants simplement à cause de problèmes liés aux mots-clés.
C'est à ce moment-là que je me suis dit que si un jour je m'inscrivais sur une place de marché de freelances, il serait judicieux de créer plusieurs types de profils pour contourner ces limitations de filtres.
En août dernier, j'ai fait quelques recherches sur la possibilité de créer plusieurs profils sur Malt et je suis tombé sur cette page (webarchive):
Créer plusieurs profils dans Malt ?
Vous pouvez créer plusieurs profils dans Malt. Chaque compte doit être associé à une adresse e-mail différente.
Chez Malt, nous déconseillons de créer deux profils différents sur la marketplace sauf si vous avez deux activités très différentes, par exemple si vous êtes développeur et graphiste.
Vos filleuls et gains cumulés seront alors répartis entre plusieurs profils.
Si vous exercez deux activités indépendantes très différentes, nous vous conseillons de créer deux comptes distincts en prenant soin de télécharger les documents liés à votre(vos) activité(s).
Nous ne pourrons pas fusionner vos notes et projets entre vos deux profils.
Création de mon compte Malt
Je me suis ensuite dit qu'avant de mettre en place une stratégie complexe, qu'il serait plus judicieux de commencer par créer et publier un simple profil.
En remplissant ce profil, j'ai constaté que je pouvais renseigner une longue liste de compétences. J'ai alors pensé que l'idée de créer plusieurs profils n'était finalement plus nécessaire.
Premier point de difficulté, le choix de la catégorie :
J'ai opté pour une catégorie générique, celle de "Ingénieur logiciel".
Cependant, je doute fortement que ce soit le premier choix d'une personne que utilise le recherche de Malt 🤔 :
'ai fait un test en choisissant l'intitulé "Développeur". Après avoir filtré par mon tarif journalier exact et mon niveau d'expérience, je suis présent en page 6 des résultats.
Si je sélectionne la catégorie "Développeur Web Back-end" ou "Développeur Web Front-end" je ne suis plus présente dans la liste des résultats 😟.
Bilan Malt après 25 jours
Mon bilan Malt après 25 jours ? Pour le moment, personne ne m'a contacté. J'observe que mes statistiques sont plutôt mauvaises. De plus, je pense que les 3 personnes qui ont vu mon profil sont des amis.
Un ami freelance m'a confié qu'il n'avait reçu qu'une seule proposition de mission sur Malt en plus de trois ans.
Un autre ami freelance m'a confié avoir eu, sur un an, sur Malt, environ 40 propositions de mission, 5 échanges constructifs et signé deux missions.
Suite de stratégie Malt ?
Il est clair que mon profil Malt n'est pas optimisé.
J'ai visé trop large en listant mes compétences, et je pense que ce n'est pas la meilleure stratégie.
Le problème, c'est que si je veux rendre mon profil plus spécialisé, je vais devoir faire des choix et retirer des compétences que je ne souhaite pas supprimer 😞.
Pour éviter cela, je vois deux stratégies :
- Modifier mon profil chaque semaine, en ajustant les technologies, les catégories et le tarif journalier ;
- Créer plusieurs profils.
#JeMeDemande si l'étape de vérification des documents d'entreprise va m'empêcher de créer plusieurs profils 🤔.
#JeMeDemande s'il est préférable que je consacre prioritairement du temps à l'optimisation de mon profil Malt ou alors de travailler sur ma Stratégie de promotion de mon activité freelance sur LinkedIn 🤔.
#JaiDécidé de reporter l'optimisation de mon profil Malt.
Stratégie de promotion de mon activité freelance sur LinkedIn
J'ai lancé mon activité de freelance en juillet 2024.
Depuis, j'ai déjà travaillé pour deux clients en régie : l'un pour du développement web, et l'autre pour une mission DevOps. Actuellement, je suis en discussion pour deux nouvelles missions.
Jusqu'à présent, je n'ai fait aucune promotion de mon activité #freelance, même parmi mes amis. Très peu de personnes sont au courant de ma nouvelle activé.
Mon premier projet en tant que freelance a été la continuation d'un projet sur lequel je travaillais depuis près d'un an.
Quant au second projet, il m'est venu grâce à un ami développeur qui m'a mis en relation avec le client.
Place de maché de freelances
La dernière semaine d'août, j'ai créé et activé un compte sur Malt, mais pour le moment, personne ne m'a contacté.
Plus d'informations au sujet de mon aventure Malt dans la note suivante : Première itération de mon aventure Malt.
Je me suis aussi inscrit sur Collective, j'ai reçu cette semaine deux opportunités de missions auxquelles je dois répondre :
Je suis aussi inscrit sur Jean-Paul.io, pour le moment, je n'ai reçu aucun message.
J'ai prévu de m'inscrire sur Comet et LeHibou.
Ma stratégie de publication LinkedIn
Maintenant que les sections CV, Mes services et Mes disponibilités et tarifs sont a jours sur mon site personnelle et que j'ai enfin édité un nouveau CV au format A4 — ce fut difficile d'être concis — je me suis dit que je suis prêt à poster un message sur LinkedIn pour informer mon réseau de ma nouvelle activité.
Voici les messages que je souhaite poster :
Bonjour, petit message "publicitaire" 😉 pour vous informer que je suis #Freelance depuis juillet.
Depuis mon lancement, j'ai déjà travaillé pour deux clients en régie, pour du développement web et une mission DevOps. Actuellement, je suis en discussion pour deux autres missions.
Il me reste entre 30 et 40 jours de disponibilité d'ici fin décembre, et je suis donc à la recherche de nouvelles missions pour compléter mon planning.
Si vous avez des projets ou connaissez des personnes qui pourraient avoir besoin de mes services, n'hésitez pas à me contacter ou à partager mon profil. 🙏
#PayItForward : Un grand merci par avance pour tout partage (repost) ou recommandation en commentaire !
Pour plus d'informations :
- Mon CV : https://sklein.xyz/fr/cv/?campaign=ryxHYa
- Exemples de services que je propose : https://sklein.xyz/fr/services-freelance/?campaign=ryxHYb
- Mes disponibilités et tarifs : https://sklein.xyz/fr/availability-and-pricing/?campaign=ryxHYc
À bientôt ! 🙂
Et 3 jours plus tard :
Vous travaillez au sein d'une organisation et vous cherchez quelqu'un pour lancer une application web de type MVP (Produit Minimum Viable) soignée, développée et déployée à partir de zéro avec un minimum de bug ?
Si la réponse est oui, n'hésitez pas à me contacter, je peux peut-être vous aider à réaliser ce projet.
Pour plus d'informations :
- Mon CV : https://sklein.xyz/fr/cv/?campaign=ryxHYa2
- Exemples de services que je propose : https://sklein.xyz/fr/services-freelance/?campaign=ryxHYb2
- Mes disponibilités et tarifs : https://sklein.xyz/fr/availability-and-pricing/?campaign=ryxHYc2
À bientôt ! 🙂
3 jours plus tard :
En tant que #Freelance, je propose mes services en software engineering pour des prestations que je qualifie de "pompiers", par exemple :
- Correction de bugs sous forme de "quick win" ;
- Réduction des lenteurs de votre application sous forme de "quick win" ;
- Traitement en urgence de problèmes d'hébergement (hosting).
Si vous rencontrez de type de problème, n'hésitez pas à me contacter, je peux peut-être vous aider sur ces sujets.
Je souhaite également publier ces messages sur Twitter et Mastodon, et éventuellement le premier sur Facebook (même si je pense que ce n'est pas l'endroit idéal pour ce type de contenu).
Journal du mercredi 25 septembre 2024 à 11:50
#OnMaPartagé la vidéo YouTube nommée Pourquoi les projets informatiques vont dans le mur ?.
Je ne connaissais pas la dérive de ce projet de migration de SAP vers ERP Oracle Fusion de la mairie de Birmingham : La 2e ville du Royaume-Uni s'est déclarée en faillite, plombée entre autres par les dérives d'un projet de migration vers l'ERP Oracle Fusion. Après des années de retards, de problèmes de contrôle, de gestion hasardeuse, la facture du projet a quintuplé pour atteindre 115 M€.
J'ai fait quelques recherches dans les commentaires Hacker News et j'ai trouvé ceci :
My state of Oregon paid Oracle something like $250M for a healthcare system that never materialized. The lawsuit that followed was settled for $100M, but most of that was “free” Oracle licenses and no less than $60M of customer support.
-- from
🙈
Actually it's the opposite. I worked for an NGO half a decade ago, and they wanted to add 2FA authentication to their login system used by ~400 staff. I created a quick demo using Google Authenticator in less than a week.
However the director of IT didn't like this solution. He insisted we use RSA keys and hire IBM to build a solution using that - I think the original estimate was a few million $ and it would take six months or so for their team (of basically new graduates) to build.
I asked my boss why the director was pushing so much for IBM to build it:
He told me that if we build it, and it doesn't work, then the director has to take the blame. If IBM build it, and it doesn't work, then IBM take the blame.
-- from
😭
Yes. There’s also the revolving door problem. The bureaucrat making the decision is often angling for a cushy role at the contractor. And the contractor is making the offer under the table to get the gig. From the decision makers perspective, it doesn’t matter if the project succeeds, they’ll be long gone. I’ve seen this with my own eyes.
-- from
😔
How do they stay in business?
Oracle's main line of competency is not providing good software services. They are in fact, specialists of acquiring government contracts.
-- from
Has anyone ever heard of an Oracle project that has ever ended well?
After 25 years in IT consulting all over the US in different businesses, Oracle is never NOT a 4 letter world, where projects involving them always over-promise, under-deliver, and project costs end up some 3-10x any initial projection. Particularly any ERP, CRM, now EMR in hospitals as well since acquiring Cerner. Anyone that does use them only do as a necessary evil of some dubious or shady circumstances, otherwise Oracle is a term almost universally reviled and hated amongst end users and organization leadership alike.
An insider at Birmingham City Council who has been closely involved in the project told Computer Weekly it went live “despite all the warnings telling them it wouldn’t work”.
Discussing how the Oracle system failure impacted the council’s ability to manage its finances, the insider said: “We were withholding thousands of supplier payments because we couldn’t make any payments. We didn’t have any direct debits for cash collection. We had no cash collection, no bank reconciliation. When you do a project of this size, you must have your financial reporting and you must have a bank reconciliation system that tells you where the money is, what’s being spent and what’s being paid.”
Since going live, the Oracle system effectively scrambled financial data, which meant the council had no clear picture of its overall finances.
The insider said that by January 2023, Birmingham City Council could not produce an accurate account of its spending and budget for the next financial year: “There’s no way that we could do our year-end accounts because the system didn’t work.”
-- from
The June 2023 Birmingham City Council report to cabinet stated that due to issues with the council’s bank reconciliation system (BRS), a significant number of transactions had to be manually allocated to accounts rather than automatically via the Oracle system. However, Computer Weekly has seen an enterprise resource planning (ERP) implementation presentation given in 2019, which shows that the council was made aware of these issues at that time, three years before the go-live date.
...
The lack of a functioning BRS has directly contributed to the council’s current financial crisis. In BCC’s April 2024 audit report, councillor Grindrod said: “We couldn’t accurately collect council tax or business rates.”
As of April 2024, it is believed the manual intervention needed for the bank reconciliation process is costing the council £250,000 per month.
-- from
Peoplesoft/Oracle ERP has had over 30 year of experience selling to local governments globally.
When dealing with procurement in countries that aren't the US, riles and regulations are much more difficult and unintuitive, and also provide marginal RoI.
This is why companies like Workday and Salesforce don't care to compete with Oracle or SAPs in these kinds of contracts - they don't have the right relationships with channel partners and systems integrators needed.
When a city council places a tender for an ERP system, they won't be doing the work in-house due to regulatory and budget allocation reasons. Instead they'll farm out the work to local contractors, MSPs, and Systems Integrators instead.
PLG driven companies like Workday and Salesforce dislike working with SIs and MSPs as much because channel partners don't care about upselling features in the products they bought - they wanna keep the customer satiated instead.
Also, the dollars spent getting the contract might not have a significant RoI when factoring the contract size itself.
-- from
J'ai trouvé ceci sur Reddit :
I work as an implementation consultant for finance software, albeit a much smaller scale one than SAP/Oracle, but I’ve been in this line of work for several years. This kind of thing is fairly common, and I think a several year long project that Lidl undertook to do the same thing went the same way, which is money down the toilet.
All of the cost is in the services. The clients are billed at an hourly or daily rate for meetings, project management, issue resolution, emails etc. The problem with huge projects like these is that institutions like councils have their own very specific processes and are unwilling to change, because more often than not the employees are set in their ways and don’t want to learn anything, but also changing one or two things could have a huge effect on other things. In finance systems there are often several integrations, both incoming and outgoing, and the client will need a tailored solution to migrate everything. It would be easy if the client accepted that some things would have to change, but SAP and Oracle are very very customisable, and depending on the company doing the implementation everything will get customised to where there are all these new moving parts, new problems, and new things to learn. People also change their minds about what they want all the time, especially if the project wasn’t scoped or managed correctly.
In short, the software may be established, but the way it is implemented never is. Templates exist, but every business is different, and the public sector is particularly messy to deal with (underpaid and undertrained staff, tend to be a bit less motivated than private sector IME).
-- from
I tried several different SaaS solutions, mostly aimed at breweries. It was infuriating watching these things fit 98% of the requirement, but the missing 2% rendered the whole system inoperable. But the choice is just take it for £50/user/month or leave it.
I tried some open source options which were better, but were still far too rigid to a point where we'd be shaping our whole operations around the way our ERP wants us to do things, and getting to that point would take a lot of development.
In the end, it was legitimately easier to do it ourselves. And by that I mean me, a distiller, to develop a system from scratch. We now have a fully integrated ERP system that works around our processes, but was built using good practices so that things are very versatile and don't inherently depend on working a certain way. Some of these systems had moronic limitations that wouldn't even allow for an output to be used as an input into another process. Apparently everything has to be made in one process! Can you imagine how many use cases that single, completely unnecessary, restriction... restricts?
-- from
Journal du mardi 24 septembre 2024 à 17:41
gibbon-replay n'enregistre pas les sessions de Safari sous MacOS et iOS.
En analysant le problème, j'ai découvert le message d'erreur suivant :
Beacon API cannot load ... Reached maximum amount of queued data of 64Kb for keepalive requests
Je n'ai trouvé la limitation de 64Kb ni dans https://www.w3.org/TR/beacon/, ni dans https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon.
Cela semble être une spécificité de Safari.
#JaiDécouvert que posthog-js utilise fflate pour compresser les données. La compression a été ajoutée en décembre 2020, dans cette Merge Request : Compress events using fflate (gzip-js).
Ce que je compte faire pour corriger le bug que j'ai sous Safari :
- Si les données à envoyer ont une taille supérieure à 50ko, alors utiliser
fetch
sinon utilisersendBeacon
; - Utiliser fflate pour compresser les données.