Daily Shaarli

All links of one day in a single page.

November 21, 2025

Signature PDF - Signer et manipuler des PDF en ligne librement

Free open-source software for signing and manipulating PDFs

Performance lessons of implementing lbzcat in Rust - Linux Engineer's random thoughts
How To Ask Questions The Smart Way
Home - The XY Problem
Your software is rotting | Terminal

How to avoid "software rot"? The author describes three pillars:

  1. Foundations: the first decisions we make, that all other decisions are laid upon. These are the ground upon which all other battles are fought - and here, hours of research and thinking can save months of future engineering work. Mistakes here compound like little else in the game.
  2. Workflow: The environment in which the codebase has space to grow and be changed, and the digital and human I/O that enables that.
  3. Maintenance: The energy, time and will that must be reserved for the ongoing care, support and security of the platform.
  • choose boring technology
  • automate the tedious or repetitive
  • good leadership is crucial
  • make it easy to do the right thing
  • reward clarity in code and communication
  • make it easy to recover from disaster
  • take external dependencies seriously, thoughtfully and defensively
  • build a team that feels co-operation is a superpower
  • technical debt is a strategy
OmniTools

Boost your productivity with OmniTools, the ultimate toolkit for getting things done quickly! Access thousands of user-friendly utilities for editing images, text, lists, and data, all directly from your browser.

From GraphQL to Zod: Simplifying Arte's API Architecture

GraphQL becomes burden when GraphQL can not be support by all clients. Thus a REST API layer is needed and at the end, "we had a REST API that happened to use GraphQL.js internally".

The solution comes to Zod: runtime validation, avoid JSON serialization gotchas and filter extra properties.

Learnings: question established patterns; start with complexity; tools matter but patterns matter more and simplicity always win.

The patterns are indeed underrated.

GraphQL for: diverse client types with vastly different data needs; query flexibility outweighs architectural simplicty.
Zod + REST for: runtime validation, architectural simplicity, prefer REST patterns, building internal APIs with known customers.

Renforcez l’internet du partage en contribuant à la robustesse de Framasoft – Framablog

Polaris fait tourner Framadate.

Framaspace s'agrandit. Les coûts estimés sont de 50€ par ouverture de space puis 12€ par an.

Peertube v8 qui a maintenant beaucoup de fonctionnalités.

FramaPDF se base sur SignaturePDF pour éditer des PDFs.

La framatoolbox regroupe pleins de petits outils pratiques.

Omnitools pour travailler sur les fichiers de données (CSV, txt, JSON, ...), développé par le projet Omnitoolbox.

Vert.sh permet de convertir des fichiers à différents formats.

Framapetitions est développé via le projet Pytition

et de nouveaux projets pour 2026

VERT.sh
Stéphane Bortzmeyer: "C'est parti, sans slides (HDMI ne marche pas sur …" - Mastodon - Gougère Network

« Le design, c'est faire des produits utilisables, limiter frictions, risques et déceptions »

« Idées reçues : pas la peine de demander aux utilisateurs, les designeurs ne savent faire que du cliquodrome, pas besoin d'UX pour le backoffice »

Intéressant, les orateurs disent bien qu'ils ne travaillent qu'avec des gens convaincus des beautés du libre. Sinon, la migration ne se passera pas bien. Il y a assez de travail avec les gens qui sont volontaires, il ne faut pas perdre de temps avec les autres. (C'était dit moins brutalement.)

Article Framaspace Luc JRES24 - paper146_article_rev1667_20241031_153401-4.pdf - Cloud asso

Comment Framasoft administrent 10000 instances Nexcloud

Personal blogs are back, should niche blogs be next? – disassociated.com
Dep First Search | clayto.com

Find dependencies already used in the project to avoid to install them again.

Quartz

Quartz is a tool dedicated to publish websites from markdown file. It has first-class support for Obsidian.

GitHub - hexagonal-sun/moss: Rust Linux-compatible kernel