Romain Lanz

Romain Lanz

@romainlanz.com

Developer at FIVB.com @adonisjs.com core member 🔗 romainlanz.com 🔗 https://boring-money.app ✉️ hello@romainlanz.com

906 followers339 following337 posts

On se retrouve dimanche en live pour parler Cloud & Infrastructure ! ☁️ On reviendra notamment sur les bases théoriques : VPS, Bare Metal, Cloud Public, Docker, Kubernetes, Pods, Deployments, ReplicaSets, Operators, Load Balancers, etc.

J'en profiterai aussi pour vous parler de ma migration vers le Cloud Public @infomaniak.bsky.social et des raisons qui m'ont poussé à faire ce choix. Et pour celles et ceux qui attendent l'article sur K3s, c'est le live à ne pas louper ! 🚀

Au vu des dernières supply-chain attaques, il y a une dernière étape que vous pouvez ajouter si vous êtes dans l'écosystème JS, Python ou Rust (en plus de tout ce que j'ai déjà cité dernièrement). Mettre un firewall devant votre package manager 🔐 socket.dev/blog/introdu...

Encore une supply-chain attack... Pour réduire les risques : 1. Activez l'AgeGate de votre package manager 2. Passez par Renovate/Dependabot pour les updates 3. Scannez vos PRs automatiquement (@SocketSecurity) Ne faites jamais confiance aveuglément à une dépendance fraîchement publiée.

Socket@socket.dev

🚨 UPDATE: Mini Shai-Hulud has crossed from @npmjs.bsky.social into @pypi.org and is still spreading. Newly confirmed compromised artifacts: @​opensearch-project/opensearch: 3.5.3, 3.6.2, 3.7.0, 3.8.0 (1.3M weekly downloads) mistralai: 2.4.6 on PyPI guardrails-ai: 0.10.1 on PyPI

OpenAI vient de release un nouveau modèle open-weight pour la privacy 👀 Un petit modèle (1.5B) capable de détecter et masquer automatiquement les données sensibles (emails, noms, API keys…) directement dans du texte, et même en local github.com/openai/priva...

We just added dedicated guides for France in Boring Money 🇫🇷 After Switzerland, we're expanding with country-specific content to help you make better financial decisions.

Romain Lanz@romainlanz.com

Tracking your money is great. Understanding how it works is better. We just shipped a Learn section for Boring Money. 13 free guides on personal finance fundamentals. Savings rate, compound interest, ETFs, and more. Plus dedicated guides for Swiss residents (pension pillars, 3a, investing in CH).

Tracking your money is great. Understanding how it works is better. We just shipped a Learn section for Boring Money. 13 free guides on personal finance fundamentals. Savings rate, compound interest, ETFs, and more. Plus dedicated guides for Swiss residents (pension pillars, 3a, investing in CH).

boring-money.appLearn Personal Finance - Boring MoneyFree guides on personal finance fundamentals: emergency funds, savings rate, investing basics, and more. Learn how to take control of your money.

Romain Lanz reposted

DOOM.css is getting somewhere. Gameplay is pretty much done completely in JavaScript, but the whole rendering is 100% CSS. This map is 768 div's with 3D transforms. Added a nice spectator view as well which is literally just adding a couple of CSS custom properties override for the rendering.

Romain Lanz reposted

I love reading posts like this on Reddit. To answer the question… yes, we do. That's exactly why we built @adonisjs.com 10 years ago. So you stop rewriting the same things and stitching together 30 different libraries.

Si vous voulez être un meilleur développeur qu'hier, ne vous arrêtez pas au "comment". Comprenez pourquoi vous faites les choses et comment elles fonctionnent. C'est encore plus vrai à l'ère des IA. Écrire moins de code ne dispense pas de le comprendre. 🤓

Romain Lanz reposted

We've released security fixes addressing two vulnerabilities in AdonisJS multipart body parsing (Prototype Pollution & DoS). Update now: - v6 users → adonisjs/core 6.20.0 - v7 users → adonisjs/core 7.0.0-next.28

State of JS Survey is out. Interesting to see that many backend framework pain points people mention are things already addressed by @adonisjs.com. If you haven't tried it yet, now might be a good time 👀

"We need more batteries-included backend frameworks like Rails, Laravel or Django." That's literally what AdonisJS has been doing for years.

Romain Lanz reposted

Sneak peek of what's coming next in BoringMoney 👀 An AI agent that understands you and helps you manage your budget: "I want a new laptop, it costs 3000. can you create a goal?" More soon.

Sneak peek of what's coming next in BoringMoney 👀 An AI agent that understands you and helps you manage your budget: "I want a new laptop, it costs 3000. can you create a goal?" More soon.

BoringMoney is officially moving to Open Beta 🎉 What's new: - Privacy mode for demos & screen sharing - New dashboard charts (categories & month-over-month) - Broker transfers tracking - Daily / weekly / monthly time scale 👉 Registration is now open to everyone boring-money.app

Il est très possible qu'au prochain stream, un Wordle apparaisse sur l’écran d'attente… et peut-être d'autres mini-jeux 👀🤪

boringnode/queue v0.3.0 is out! 🚀 This release adds bulk dispatch with dispatchMany(), job grouping, and full job retention/status tracking. ⚠️ Breaking: New storage layout for Redis & Knex adapters requires migration.

Romain Lanz reposted

Romain Lanz reposted

Team management is here! 🎉 You can now invite your partner to share your Boring Money account. The foundations are set. Next up: payment system to exit beta and open the doors to everyone. ✌️

Team management is here! 🎉 You can now invite your partner to share your Boring Money account. The foundations are set. Next up: payment system to exit beta and open the doors to everyone. ✌️

boringnode/queue v0.2.0 is out! 🚀 This release reworks the Job architecture to be DI-first. The constructor is now fully reserved for your dependencies, payload and context are handled internally. Job naming also defaults to the class name now.

Romain Lanz reposted

We've published a security fix for a Path Traversal vulnerability affecting multipart file uploads in AdonisJS (CVE-2026-21440). Update now: - v6 users → adonisjs/core 6.19.2 - v7 users → adonisjs/core 7.0.0-next.18 github.com/adonisjs/cor...

github.comAdonisJS Path Traversal in Multipart File Handling### Summary **Description** A Path Traversal (CWE-22) vulnerability in AdonisJS multipart file handling may allow a remote attacker to write arbitrary files to arbitrary locations on the server...

We're officially out of alpha with the queue package! This release introduces Persistent Job Scheduling, Job Context with attempt tracking, dependency injection support, graceful shutdown, and a custom logger option.

Fresh features just landed in Boring Money! - Balance reconciliation to adjust liquid assets when they drift from reality - Month navigation on dashboard - Filter expenses & incomes by month, category, search - Pagination & skeleton loading states Beta codes in the follow-up 👇

Fresh features just landed in Boring Money! - Balance reconciliation to adjust liquid assets when they drift from reality - Month navigation on dashboard - Filter expenses & incomes by month, category, search - Pagination & skeleton loading states Beta codes in the follow-up 👇

a67565eda844bc95301c592d8d8197ef 2e2e1c535ca68efd815ada6de75484e3 cf9b669b46fd1eae38fbeb28f4e427b4 272d91fedf65410fefd44cae42c916bb 4b4ac13654a0b10b98aebfe4570aa087

For the curious ones, here's the tech stack: - @adonisjs.com 7 powers the backend (auth, queue, ORM, e2e type-safety with RPC-like calls) - @tanstack.com Start for the frontend - @tailwindcss.com 4 for styling - Brevo for emails - Self-hosted on K3s Simple, boring, reliable.

Romain Lanz@romainlanz.com

After having this idea in my head for a long time, I’m really happy to finally release the first beta of Boring Money 🎉 A simple app to track your cash flow, expenses, budgets, goals, net worth and savings rate. No bank sync, no unnecessary complexity. Join the free beta. 👇

Boring Money beta is invite-only for now. Each account can generate up to 3 invites. If you have one you don't need, feel free to share it in the replies so others can join 🙌 Thanks for helping shape the product 💙

Romain Lanz reposted

The next AdonisJS docs will ship with dedicated LLM endpoints. Not just an llms.txt listing pages. Actual cheat sheets crafted for AI assistants. Minimal context, maximum accuracy. Your AI pair programmer is about to get much better at AdonisJS 🤖

Romain Lanz reposted

Your app is slow. But where exactly? Introducing OpenTelemetry for AdonisJS with zero-config setup. One command. Full observability. - Auto-instrumented HTTP, DB queries, Redis - Traces, metrics, and logs correlated out of the box - Works with v6 and upcoming v7 adonisjs.com/blog/introdu...

adonisjs.comOpenTelemetry for AdonisJSIntroducing @adonisjs/otel, a package that brings OpenTelemetry to AdonisJS with zero-config setup and sensible defaults.

Romain Lanz reposted

Shipping a new ESLint rule: no-backend-import-in-frontend Catches accidental backend imports in your Inertia frontend files at lint time. Type imports still allowed, and you can whitelist shared paths. One less runtime surprise 🙌