
Filtre actif, cliquez pour en enlever un tag :
Cliquez sur un tag pour affiner votre recherche :
[ << Page précédente (200) ] [ Page suivante (163) >> ]
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: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 à 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 jeudi 26 septembre 2024 à 17:32
#JaiDécouvert le client web Mastodon nommé Phanpy
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.
Journal du mardi 24 septembre 2024 à 16:01
Alexandre m'a partagé le billet Postgres webhooks with pgstream.
J'y découvre pgstream et wal2json.
Pour le moment, je ne vois pas à quoi cela pourrait bien me servir, mais je garde cet outil dans un coin de ma tête.
C'est amusant de voir que j'ai découvert hier un autre projet des mêmes auteurs que pgstream : pgroll.
Journal du mardi 24 septembre 2024 à 13:07
#JaiLu un excellent article sur NATS : NATS de A à Y du blog Une tasse de café de Quentin Joly.
J'aime beaucoup les fonctionnalités cli de NATS, très pratiques pour faire des démos ou des tests.
J'y ai découvert les requêtes synchrones de NATS : Core NATS - Request-Reply.
À la fin de l'article, j'ai découvert Nex (NATS Execution Engine) :
The NATS Execution Engine (we'll just call it Nex most of the time) is an optional add-on to NATS that overlays your existing NATS infrastructure, giving you the ability to deploy and run workloads.
...
While you can build virtually any kind of application with Nex, the core building blocks are made up of two fundamental types of workloads: services and functions.
...
Nex functions are small and can be deployed either as Javascript functions or as WebAssembly modules.
Je découvre aussi que Nex utilise Firecracker.
Je suis un peu embêté, car je réalise que cela fait 2 ans que j'ai très envie d'utiliser NATS. J'espère ne pas tomber prochainement dans les travers du Resume Driven Development 🙈.
À la suite de la lecture de cet article, j'ai offert un petit café à Quentin Joly.
Journal du lundi 23 septembre 2024 à 17:12
PostgreSQL zero-downtime migrations made easy.
#JaiLu en partie ce thread Hacker News de 2023.
Après avoir lu partiellement la documentation, j'ai l'impression que pgroll est simple à utiliser pour des migrations qui restent simples.
J'ai lu la section Raw SQL et #JeMeDemande si pgroll reste pratique à utiliser pour des migrations complexes, par exemple, split d'une table en plusieurs tables, merge de tables…
Je ne suis pas très motivé pour apprendre un nouveau DSL, c'est-à-dire, le format de migrations de pgroll à la place des instructions DDL (Data Definition Language) SQL (create
, alter
…).
Pour le moment, j'ai réussi à réaliser "à la main" des migrations en douceur : mise en place de view, de triggers… qui sont par la suite supprimés.
Je pense que pgroll serait très pratique avec une fonctionnalité Skew Protection pour un projet où les déploiements en production en journée sont fréquents et qui ne souhaite pas imposer aux utilisateurs de rafraîchir leurs pages.
Journal du samedi 21 septembre 2024 à 11:22
#JaiDécouvert better-sqlite3-migrate, #JeShouhaiteTester dans gibbon-replay.
#JaiDécouvert aussi better-sqlite3-helper qui propose un mécanisme de migration de base de données SQLite.
#JaiDécouvert aussi la méthode suivante, un peu plus "raw" : https://github.com/n1ru4l/character-overlay/blob/ed7b2e1a1f18982196b41fb544067db54cef433f/server/migrateDatabase.ts#L10
Journal du samedi 21 septembre 2024 à 11:09
#JaiDécouvert la fonctionnalité "PRAGMA schema version" de SQLite : https://www.sqlite.org/pragma.html#pragma_schema_version (from).
Journal du samedi 21 septembre 2024 à 10:46
J'aime utiliser la syntax de query de Postgres.js basé sur ES2015 tagged template string, par exemple :
const result = await sql`SELECT * FROM name = ${name}`;
Je cherche la même chose pour SQLite et #JaiDécouvert https://github.com/blakeembrey/sql-template-tag.
J'ai redécouvert squid et postguard.
Je pense que postguard est surtout utile avec TypeScript.
Journal du vendredi 20 septembre 2024 à 18:15
#OnMaPartagé l'article Wikipedia nommé Malleus Maleficarum.
#JaiDécouvert le mot Démonologie.
Journal du vendredi 20 septembre 2024 à 10:25
#JaiDécouvert et un peu étudié Temporal (workflow management).
D'après ce que j'ai compris, Temporal a été initialement développé par les auteurs (Maxim Fateev et Samar Abbas) de Cadence.
Je me souviens d'avoir étudié Cadence vers 2019. J'ai l'impression que ce projet est encore très actif. #JeMeDemande quelles sont les réelles différences entre Temporal et Cadence 🤔.
Une première réponse à ma question :
- Temporal supporte les langages Go, Java, PHP, Python, TypeScript, dotNET alors que Cadence est limitée aux langages Go et Java.
- Cadence propose une UI nommée
cadence-web
qui semble plus minimaliste quetemporalio/ui
.
D'après ce que j'ai lu, Temporal est totalement open-source, sous licence MIT. L'entreprise Temporal propose une version hébergée (managée) nommée Temporal Cloud.
#JaiDécouvert un exemple de projet d'Order Management System codé en Go et basé sur Temporal : https://github.com/temporalio/reference-app-orders-go.
Je n'ai pas étudié le code source, mais c'est un sujet qui m'intéresse, étant donné que j'ai travaillé par le passé sur le développement d'un Order Management System 😉.
Journal du jeudi 19 septembre 2024 à 09:54
#JaiDécouvert Comic Mono (from), j'aime bien 🙂.
Journal du jeudi 19 septembre 2024 à 09:49
J'ai redécouvert les lois de Goodhart et de Campbell (from), en lien avec l'effet Cobra.
Journal du dimanche 15 septembre 2024 à 10:38
#JaiDécouvert https://github.com/ghostdevv/svelte-hamburgers
Je l'ai utilisé dans https://sklein.xyz.
Journal du samedi 14 septembre 2024 à 22:53
#JaiDécouvert better-sqlite3, je vais sans doute l'utiliser dans gibbon-replay à la place de Redis.
Journal du samedi 14 septembre 2024 à 18:18
#JaiDécouvert https://meet.hn, je me suis inscrit, mais je ne suis pas encore présent sur la carte.
Journal du vendredi 13 septembre 2024 à 17:40
#JaiDécouvert l'acronyme Consent Management Provider, Axeptio est un outil de CMP.
Journal du jeudi 12 septembre 2024 à 19:14
#JaiDécouvert cet article pnpm "Working with Docker".
J'y ai découvert corepack.
Pour le moment, je ne comprends pas l'avantage d'utiliser :
FROM node:20-slim AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
plutôt que :
FROM node:20-slim AS base
RUN npm install -g pnpm@9.10
🤔
Dans ce Dockerfile j'ai tout de même utilisé cette technique pour tester.
J'ai utilisé le système de cache store de pnpm :
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
Je me suis posé la question de partage le cache de ma workstation :
$ pnpm store path
/home/stephane/.local/share/pnpm/store/v3
Mais je ne pense pas que cela soit une bonne idée dans le cas où cette image est buildé par une CI.
Journal du mercredi 11 septembre 2024 à 09:28
#JaiDécouvert NestedText (from).
Même en lisant la section Alternatives - YAML, je ne comprends pas encore précisément l'intérêt du projet. Je ne trouve pas YAML plus simple que NestedText.
Journal du mardi 10 septembre 2024 à 17:24
J'avais bien vu passer la news de sortie de Writebook, mais j'étais passé totalement à côté de la sortie du concept de Once.com de Basecamp.
Pour le moment, Once.com propose deux services de type SaaS without the aaS :
J'aime bien le concept de Finished software, cela me fait penser à Hare. J'aimerais utiliser davantage de logiciels qui ne nécessitent jamais de mises à jour, sauf pour les corrections de bugs.
Dans l'article Campfire is SaaS without the aaS, je lis :
It hasn’t even been a week since we started selling Campfire under the new ONCE model, but we’ve already sold more than quarter of a million dollars worth of this beautifully simple installable chat system.
Si c’est exact, 250 000 $ représentent 836 ventes, ce qui est vraiment impressionnant en moins d'une semaine !
Ce que j'apprécie particulièrement chez DHH, c'est son franc-parler et surtout son courage à aller à contre-courant. Par exemple, il défend le self-hosting, n’utilise pas TypeScript, et prône le SaaS without the aaS...
Journal du mardi 10 septembre 2024 à 15:05
#JaiDécouvert restic-exporter : « Prometheus exporter for the Restic backup system ».
Journal du mardi 10 septembre 2024 à 13:20
#JaiDécouvert l'option "append-only" mode de restic.
#JaiDécouvert rustic, un clone de restic implémenté en Rust (from).
Journal du mardi 10 septembre 2024 à 12:48
#JaiLu L'option ControlMaster de ssh_config.
J'y ai découvert l'open ControlMaster
de OpenSSH.
Journal du lundi 09 septembre 2024 à 21:33
#JaiLu Windows NT vs. Unix: A design comparison (from).
Je ne connais rien au kernel MS Windows, j'ai trouvé cela intéressant.
Journal du dimanche 08 septembre 2024 à 21:32
#JaiDécouvert Mini Spreadsheet Component with Svelte 5 : sveltejs.
Très minimaliste et sympatique 🙂.
Journal du dimanche 08 septembre 2024 à 20:18
Detect bots/crawlers/spiders using the user agent string
Journal du dimanche 08 septembre 2024 à 11:15
#JaiDécouvert Window.sessionStorage
L'objet global
sessionStorage
est similaire àWindow.localStorage
, à la différence que les données enregistrées dans sessionStorage ont une durée vie limitée et expirent à la fin de la session de navigation actuelle....
En revanche, une session de navigation n'est valable que pour le contexte de navigation actuel, c'est-à-dire que le fait d'ouvrir une page dans un nouvel onglet ou dans une nouvelle fenêtre provoquera l'initialisation d'une nouvelle session de navigation, ce qui diffère du comportement des sessions utilisant des cookies.
-- from
Je vais avoir besoin de sessionStorage
pour le projet Idée d'un outil de session recoding web minimaliste basé sur rrweb.
2024-09-14 : j'ai nommé ce projet gibbon-replay.
Journal du dimanche 08 septembre 2024 à 11:03
#JaiDécouvert le nom du concept "dichotomie du contrôle" (from).
Je n'ai pas trouvé d'article Wikipedia sur ce sujet.
La "dichotomie du contrôle" est un principe clé dans la philosophie stoïcienne, notamment développé par Épictète. Elle distingue entre ce qui est en notre pouvoir et ce qui ne l'est pas. Selon les Stoïciens, seules nos propres actions, nos jugements et nos choix (notamment comment nous répondons aux impressions externes) sont sous notre contrôle. Tout le reste — y compris la richesse, la santé, ou l'opinion des autres — est considéré comme étant en dehors de notre pouvoir et, par conséquent, ne devrait pas influencer notre tranquillité d'esprit.
Le concept est central dans les enseignements d'Épictète, qui insiste sur l'importance de se concentrer uniquement sur ce qui dépend de nous, afin de mener une vie vertueuse et en accord avec la nature. Cette approche est explorée dans ses "Entretiens" et d'autres textes stoïciens, et constitue une base de la pratique stoïcienne pour atteindre la paix intérieure et la résilience face aux événements extérieurs.
-- from ChatGPT
Journal du samedi 07 septembre 2024 à 21:44
#JaiLu ce thread Hacker News : Rrweb – record and replay debugger for the web.
#JaiDécouvert highlight.io, replay.io, Zipy et wirequery qui semblent être des alternatives à Posthog et OpenReplay.
Tous ces outils sont basés sur rrweb.
wirequery semble être un projet 100% open source.
#JaiDécouvert un autre projet basé sur rrweb : RecordOnce pour générer des tutoriels.
Journal du samedi 07 septembre 2024 à 11:53
#JaiDécouvert le package goatcounter-js
pour directement charger le code JavaScript de Goatcounter. Ce qui, je pense, permet d'éviter le blocage de chargement de ce script par uBlock Origin.
Journal du jeudi 05 septembre 2024 à 11:52
#JaiLu The SOC2 Starting Seven (from)
First: for us, SOC2 is about sales. You will run into people with other ideas of what SOC2 is about. Example: “SOC2 will help you get your security house in order and build a foundation for security engineering”. No. Go outside, turn around three times, and spit. Compliance is a byproduct of security engineering. Good security engineering has little to do with compliance. And SOC2 is not particularly good. So keep the concepts separate.
-- from
😉
Suite à cela, j'ai lu l'article Wikipédia sur System and Organization Controls.
This is not an instruction guide for getting SOC2-certified. Though: that guide would be mercifully short: “find $15,000, talk to your friends who have gotten certified, get referred to the credible auditor that treated your friends the best, and offer them the money, perhaps taped to the boom box playing Peter Gabriel you hold aloft outside their offices”.
-- from
😉
If there is one thing to understand about SOC2 audits, it’s: SOC2 is about documentation, not reality.
-- from
🙈
Puis ils vous remettront un questionnaire de 52 000 lignes appelé Liste de demandes d'informations (IRL), basé d'une manière occulte sur ce que vous leur avez dit que vous faisiez. Vous le remplirez. Vous aurez quelques réunions, puis vous leur enverrez un chèque. Le nom de votre entreprise figurera sur un rapport.
-- from
🙈
PRs, Protected Branches, and CI/CD
Enable Protected Branches for your master/deployment branches in Github. Set up a CI system and run all your deploys through it. Require reviews for PRs that merge to production. Make your CI run some tests; it probably doesn’t much matter to your auditor which tests.
We probably didn’t even need to tell you this. It’s how most professional engineering shops already run. But if you’re a 3-person team, get it set up now and you won’t have to worry about it when your team sprawls and new process is a nightmare to establish.
-- from
J'implémente systématiquement ce workflow dès que je travaille en équipe. Cependant, je me demande à partir de combien de développeurs cela devient réellement pertinent. Avant de lire cet article, je pensais que cela valait la peine à partir de trois développeurs.
À noter que ma motivation première de mise en place de ce workflow n'est pas la sécurité, mais la fluidité de développement en équipe et d'éviter les bugs.
Centralized Logging
Sign up for or set up a centralized logging service. It doesn’t matter which. Pipe all your logs to it. Set up some alerts – again, at this stage, it doesn’t matter which; you just want to build up the muscle.
-- from
Pour cela, j'utilise Grafana avec Loki branché sur un Object Storage.
The AWS console is evil. Avoid the AWS console.
Instead, deploy everything with Terraform (or whatever the cool kids are using, but it’s probably still just Terraform). Obviously, keep your Terraform configs in Github.
C'est aussi l'une de mes premières motivations pour utiliser Terraform ! 😊
#JaiDécouvert Munki, MicroDMD, NanoMDM qui sont des MDM.
Web Application Firewalls: Most SOC2’d firms don’t use them, and most WAFs don’t work at all.
-- from
🙂
Endpoint Protection and AV: You have MDM and macOS/Windows full complement of security features and a way to force them enabled, you’re covered. AV software is a nightmare; avoid it while you can.
-- from
🙂