3 liens privés
A minimalist, offline-first markdown note-taking app for macOS, Windows, and Linux.
Cadmium : la droite et l’extrême droite s’opposent à des mesures qui réduisent l’exposition de la population
Écologie –Santé environnementale
Enfants et adultes de France sont surexposés au cadmium. En cause, le laisser-faire de l’Etat qui autorise des seuils plus élevés qu’ailleurs en Europe. Un texte propose de réduire drastiquement la teneur en cadmium mais le RN s’y oppose.
LE RN VOTE CONTRE VOUS
Pourquoi cette campagne ?
Le Rassemblement National ment constamment aux français-es. Ce qu'ils disent faire ne se vérifie absolument pas dans leurs votes, et nombreux d'entre nous se font avoir par leurs discours bien huilés.
À l'heure où les médias télévisés ne relatent que des discours et des opinions, nous voulions remettre les faits au centre des décisions de chacun-e et montrer à toutes et tous que le RN n'agit pas dans votre intérêt. Le RN vote contre notre santé, contre les femmes, contre les personnes précaires, contre les personnes non blanches, contre les travailleurs et travailleuses, contre les demandeurs et demandeuses d'emploi, contre les personnes LGBT+, contre les malades, contre les agriculteurs et agricultrices, contre le vivant, contre l'écologie et contre la démocratie.
En soit, LE RN VOTE CONTRE TOUT LE MONDE.
A post-modern text editor.
Event Sourcing with Elixir
Today I learned
The pipe operator |> always passes the value as the first argument. But sometimes the function you want needs it somewhere else.
then/2 solves this by wrapping the call in an anonymous function so you can place the piped value in any slot via &1.
Example
"super-secret-token"
|> then(&:crypto.hash(:sha256, &1))
|> Base.encode16(case: :lower)
|> binary_part(0, 8)
Step by step:
- Start with a string.
:crypto.hash/2has signature (algorithm, data) — the data goes second, so we need then to slot our piped value into&1.- Hex-encode the resulting binary.
- Keep the first 8 chars as a short fingerprint.
Without then, writing "super-secret-token" |> :crypto.hash(:sha256) would expand to :crypto.hash("super-secret-token", :sha256) — arguments swapped, crash.
Think of then as an escape hatch: "pipe into this specific slot, not the default first one." Especially handy with Erlang stdlib calls (:crypto, :binary, :ets) whose signatures weren't designed pipe-first.
Travaillez Mieux, Pas Plus.
Gagnez du temps, puis trouvez votre format de semaine de 4 jours
parallel-rsync
Parallel rsync launcher with fancy progress bars.
LLMFit : Quel LLM faire tourner sur votre ordinateur ?
Contourner l’algorithme Youtube les fils RSS ?
grub windows
via https://korben.info/grub2win-multiboot-windows-linux.html
The free system maintenance suite your PC deserves.
15+ powerful tools to clean, optimize, and protect your Windows, macOS, and Linux machines. Open source, no ads, no bloatware. Just a faster computer.
Meshnetwork.fr : Communiquer sans internet ni opérateur, pour moins de 50 €
Run any GUI app in the terminal❗
via https://korben.info/term-everything-gui-terminal-linux.html
Complete Controller Testing
No software downloads required, just connect. Get real data on your controller's analog sticks, buttons, and vibration performance.
via https://korben.info/controllertest-io-suite-test-manettes.html
Markdown Architectural Decision Records part of ADR
“Markdown Architectural Decision Records” (MADR) [ˈmæɾɚ] – decisions that matter [ˈmæɾɚ].
An Architectural Decision (AD) is a justified software design choice that addresses a functional or non-functional requirement of architectural significance. This decision is documented in an Architectural Decision Record (ADR), which details a single AD and its underlying rationale.
Open source voice cloning studio with support for multiple TTS engines. Clone any voice, generate natural speech, and compose multi-voice projects — all running locally.
ai token compression
maintenant
Monitor everything. Manage nothing.
Drop a single container. Your entire stack is monitored in seconds.
Configurez. Sécurisez. Déployez.
Tout depuis votre terminal.
Aucun service tiers. Aucune donnée envoyée. Votre serveur, vos clés, votre contrôle.
ghostty config tool
Greywall your agent & let it cook.
Container-free sandboxing with real-time observability & dynamic controls, for Linux & MacOS.
An Elixir Devcontainer for Phoenix, Claude Code, and Tidewave
Blazing-fast Rust token usage tracker for Codex and Claude Code with unified reports, live monitoring, CLI/TUI/GUI dashboards.
If you’re running a Phoenix LiveView application and your iOS Safari users are experiencing frozen pages, slow reconnects, or 10+ second hangs after returning from sleep this article is for you.
I’ve been running a production Phoenix LiveView application. The app worked great on desktop, but iPhone users kept reporting the same thing: the page would freeze or hang for several seconds after switching back from another app or unlocking their phone. Sometimes the page would never recover at all.
Here’s what was actually happening and how I fixed it.
Using UUIDv7 with Ecto and PostgreSQL
postgresectoelixirphoenix
Posted on 2026-02-04 by Matt.
Postgres 18 adds support for generating UUIDv7s out of the box; no extensions required. Unfortunately, it's less obvious how to use these for the id in our Ecto schemas. But don't worry, it only requires a few small changes and no new dependencies.
Tidewave
Tidewave is the coding agent for full-stack web app development, deeply integrated with Phoenix, from the database to the UI. See our website for more information.
A recent study by Tencent showed that Elixir had the highest completion rate across models when compared among 20 different programming languages. When combining the results of all 30+ evaluated models, 97.5% of Elixir problems were solved by at least one model, the highest among all languages:
timeseries , ecto & postgresql
Phoenix LiveView Calendar with Drag-and-Drop
Markdown for Elixir _
Fast. Extensible. Phoenix-native. AI-ready.
An Elixir program consist of a large number of lightweight, concurrent processes communicating with each other via asynchronous messages. A process receives and handles incoming messages, transforming its internal state in a functional way. Inside a process, all code is sequential. The VM running Elixir, BEAM, normally utilizes all cores of a modern CPU and schedules processes for execution. By running many concurrent processes you can maximize the performance of current hardware.
When you're selling stuff, every click away from your website is a potential lost sale. Customers kept asking us to allow people to buy tickets without leaving their branded site. They loved the service, but wanted to retain brand presence and coherence.
The ask seemed simple enough. Drop a widget on any webpage, show some events, let people check out. But as we dug into it, the technical challenges started stacking up. How do you maintain cart state across page refreshes? How do you track marketing attribution when the purchase happens on someone else's domain? And how do you process payments securely in what is essentially a third party context?
This is the quick post of how we tried a bunch of approaches, hit walls, and eventually landed on Phoenix Channels as our solution.
Your Python Stack Can’t Do This
Free link here
The AI industry has a “Python Problem.”
While Python dominates model development, it’s catastrophically unsuited for agent orchestration. If you’re building an “Agent Swarm” with LangChain or AutoGPT on a Python backend, you’re fighting the Global Interpreter Lock (GIL), memory bloat, zombie processes, and concurrency nightmares.
I built a platform that actually scales. Using Elixir and the BEAM VM, I orchestrated millions of stateful, autonomous agents on a single cluster, with sub-millisecond message passing, automatic fault recovery, and zero external message queues.
Asynchronous Tasks and Streaming UIs in Phoenix Liveview
The Top 3 LiveView Form Mistakes (And How to Fix Them)
John Curran •
November 07, 2025
I’ve been writing LiveView since 2020. In that time, I’ve seen the same three form mistakes at multiple companies. Here’s what they are and how to fix them.
-
Slow, laggy forms with scattered logic because form state gets stored in socket assigns and server round-trips get used for dynamic UI (conditional inputs, toggles), instead of keeping that state in hidden form inputs where it belongs.
-
Brittle system where UI and database can’t evolve independently because database schemas get used directly for forms, coupling persistence logic to presentation.
-
Users stuck with valid data but can’t submit because changesets get manually manipulated with Map.put or Map.merge instead of Ecto.Changeset functions, leaving stale errors behind.
The common thread: don’t fight the framework. Keep form state on the client, create embedded schemas for your forms, and use Ecto.Changeset functions to modify changesets.
Hot code upgrades for Elixir and Phoenix apps
BEAM OTP: Why Everyone Keeps Reinventing It
What makes BEAM and OTP different from async/await, threads, and actors. Process isolation, supervisors, and why Erlang's model keeps winning 40 years later.
no-agents.md - Le fichier qui dit non aux IA dans votre code
7 mars 2026
/ PAR KORBEN ✨ / 2 MIN DE LECTURE /
IA POUR DÉVELOPPEURSVIE PRIVÉE & ANONYMAT
Ce qu’il faut retenir
no-agents.md est un fichier standard que les agents IA (Copilot, Cursor, Warp) lisent pour savoir comment interagir avec votre code. Ross Baker a créé une version qui interdit TOUT : lecture, analyse, modification, entraînement.
60 000 projets open source utilisent déjà AGENTS.md. Copier le fichier no-agents.md à la racine de votre repo suffit à bloquer les agents respectueux de la spec, sans configuration supplémentaire.
Le bonus CLAUDE.md est un troll intentionnel : Claude ignore la spec AGENTS.md, donc le fichier contient une fausse instruction lui ordonnant de "dormir trois siècles". C'est symbolique mais ça envoie le message.ny port 8000 sudo ufw route allow proto tcp from any to any port 8443
Introduction
So you want to deploy your Phoenix app. You head to the docs, and in typical Elixir fashion you find a number of thorough and well-written guides. Unfortunately, they're all guides for deploying to cloud PaaS platforms. Well, there is a Releases guide, but it only teaches you how to build a release. Not how to deploy it!
But what if you want to deploy to an actual server? Maybe you want to avoid vendor lock-in, or maybe you just want to manage your own system. You know, like the good old days. This is an opinionated guide for deploying an Elixir/Phoenix app to an actual server. VPS, bare metal - it doesn't matter. Just a server.
Nothing here is novel, but there aren't really any guides that spell it out.
I am going to spell it out.
Transfer podman images without registry
conventional: comments
Comments that are easy to grok and grep
Commits Conventionnels
Une spécification qui permet une signification lisible pour l'humain et pour la machine dans les messages des commits