Ivan “CLOVIS” Canet's Avatar

Ivan “CLOVIS” Canet

@ivcanet

Kotlin developer & teacher @ 4SH, learn more about me: ivan.canet.dev Open source at https://opensavvy.dev • @opensavvy.techhub.social.ap.brid.gy Organizing the Kotlin Bordeaux User Group at https://bordeauxkt.io

353
Followers
295
Following
1,045
Posts
14.09.2023
Joined
Posts Following

Latest posts by Ivan “CLOVIS” Canet @ivcanet

I'm nominated in ‘online presence’, vote for me!

07.03.2026 15:40 👍 3 🔁 0 💬 0 📌 0
‘Humans use Energy and Water too’ An engineer I admire was lamenting about AI. He said that his new programming agent is excellent at fixing bugs! And all that it costs is a bunch of energy and many litres of water. He said that he co...

✊🏻

07.03.2026 04:33 👍 22 🔁 8 💬 0 📌 2
Un mail de la BNP Paribas dont le sujet est "Ivan Canet, je vous aime… et votre argent encore plus"

Un mail de la BNP Paribas dont le sujet est "Ivan Canet, je vous aime… et votre argent encore plus"

Ils ont pété un câble…

(oui c'est un mail officiel)

06.03.2026 09:39 👍 2 🔁 0 💬 0 📌 0

again? :/

05.03.2026 13:09 👍 0 🔁 0 💬 0 📌 0

Yes, 100%

04.03.2026 19:30 👍 0 🔁 0 💬 0 📌 0

Oh yes you could. Have random ‘I'm adult’ paper tokens that you can buy at liquor stores or other places that already age-check.

Protection for children. Full anonymity. It can be done.

04.03.2026 16:46 👍 0 🔁 0 💬 1 📌 0
Preview
The AI Vampire This was an unusually hard post to write, because it flies in the face of everything else going on.

steve-yegge.medium.com/the-ai-vampi...

04.03.2026 11:02 👍 1 🔁 1 💬 0 📌 0

...I *hope* they would find a better name

04.03.2026 11:50 👍 2 🔁 0 💬 0 📌 0

I'm sure with hindsight they wouldn't name them this way 😅

04.03.2026 11:36 👍 2 🔁 0 💬 1 📌 0
Preview
Gradle vocabulary: projects, builds, artifacts… - Ivan “CLOVIS” Canet Software engineering, open source and computer security

Are you confused by Gradle terminology? What's a module, a configuration, a build, a project? Unless you're deep into Gradle, they probably aren't what you think.

I wrote an article to organize all of that → ivan.canet.dev/blog/2026/03...

04.03.2026 10:45 👍 8 🔁 2 💬 0 📌 1

Idea: halfway through your integration tests, switch to the new version, see what happens.

Just a heuristic, not as powerful as what the article describes, but it could be quite simple to set up?

28.02.2026 14:14 👍 3 🔁 0 💬 0 📌 0
What Functional Programmers Get Wrong About Systems - Ian Duncan Type systems verify properties of programs. Production correctness is a property of systems. The gap between these is where the interesting failures live.

This is a *very* interesting read on managing new versions of existing deployments.

www.iankduncan.com/engineering/...

27.02.2026 16:42 👍 5 🔁 1 💬 0 📌 0
Preview
Better Immutability in Kotlin aka "Value Classes 2.0" -- Motivation and Design Space · Kotlin KEEP · Discussion #472 We are happy to finally share a new KEEP proposal exploring the motivation and design space for better value classes in Kotlin -- an evolution of the current inline value classes aimed at making im...

Though, it won't be a big change on behavior, since value classes are moving towards doing what we use data classes for.

The Kotlin team is asking for your thoughts on what will probably become the roadmap for the next few years → github.com/Kotlin/KEEP/...

26.02.2026 17:40 👍 7 🔁 1 💬 0 📌 0

This may look like a small feature on the outside, but it will radically change how we write #Kotlin code.

Once this is implemented fully, almost all existing data classes will be replaced by value classes. This may be the most impactful change in overall code style in a while!

26.02.2026 17:40 👍 4 🔁 0 💬 1 📌 0
This is a screenshot from the Cucumber test framework titled "Sharing state between scenarios", with the content "Don't do it."

This is a screenshot from the Cucumber test framework titled "Sharing state between scenarios", with the content "Don't do it."

Nice xD

26.02.2026 15:48 👍 2 🔁 0 💬 0 📌 0

I'm curious, how are people positioned? Is it mainly based on follows?

26.02.2026 11:13 👍 0 🔁 0 💬 1 📌 0
Preview
Rework the BSON hierarchy (#112) · Issues · OpenSavvy / KtMongo • Alpha · GitLab Currently, we have: Bson: a stored BSON document BsonArray: a stored BSON array BsonValueWriter: a writer...

Have you used KtMongo? Are you planning to?

I'd love your thoughts → gitlab.com/opensavvy/kt...

24.02.2026 18:17 👍 0 🔁 0 💬 0 📌 0

It's not even fully rolled out yet!

21.02.2026 11:12 👍 0 🔁 0 💬 0 📌 0
Post image

British folks at 3 AM

20.02.2026 16:51 👍 17 🔁 2 💬 1 📌 0

My brain isn't made for little-endian IEEE754

19.02.2026 20:38 👍 0 🔁 0 💬 0 📌 0

It's also much easier to write a test that verifies the actions of a component is isolation.

19.02.2026 10:40 👍 0 🔁 0 💬 0 📌 0

This is better than a two way binding (though more verbose) because the data flow is the same as the component hierarchy, so a parent component can ‘intercept’ writes to veto/augment them or anything else.

19.02.2026 10:39 👍 1 🔁 0 💬 1 📌 0

Usually this is done by having a prop that contains the value and a second one that contains a function to change the value. The value is only mutable in the common parent, but all components that are given the callback can change it.

19.02.2026 10:39 👍 0 🔁 0 💬 1 📌 0

youtrack.jetbrains.com/issue/KT-844...

18.02.2026 22:39 👍 1 🔁 0 💬 0 📌 0
<============-> 93% EXECUTING [7m 57s]
> IDLE
> IDLE
> IDLE
> IDLE
> IDLE
> IDLE
> IDLE
> :server-arrow:compileKotlinJvm

<============-> 93% EXECUTING [7m 57s] > IDLE > IDLE > IDLE > IDLE > IDLE > IDLE > IDLE > :server-arrow:compileKotlinJvm

Well, what I can tell you is that it absolutely tanks the performance of the compiler 😅

That module only has 177 LOC total

18.02.2026 21:28 👍 2 🔁 0 💬 1 📌 0

This is also the reason why LLMs alone are very specifically poorly suited for engineering because automation is fundamentally about *removing* repetition whereas LLMs are built to *amplify* repetition

18.02.2026 05:59 👍 30 🔁 2 💬 1 📌 0
Preview
Dependency upgrades (!155) · Merge requests · OpenSavvy / Build and automation / Vite for Kotlin · GitLab Gradle plugin to use Vite and Rollup in Kotlin Multiplatform projects

yup that works

gitlab.com/opensavvy/au...

15.02.2026 11:06 👍 1 🔁 0 💬 1 📌 0

“too big to render” 😅

But yeah that's a good idea

15.02.2026 10:21 👍 0 🔁 0 💬 0 📌 0

Any recommendations on what I can put in the hello-world so it stays bigger than 4kB so my tests pass? 😅

15.02.2026 09:57 👍 0 🔁 0 💬 1 📌 0

The Vite for Kotlin test suite fails with Kotlin 2.3.0 because...

Kotlin Wasm has been optimized enough, that the generated Wasm file is so small, that Vite decides to inline it entirely, so there is no visible Wasm in the output

15.02.2026 09:18 👍 12 🔁 5 💬 1 📌 0