Sign in

Ivan “CLOVIS” Canet

@ivcanet.bsky.social
414 followers 348 following 1.3K posts

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

PostsRepliesMedia
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 4h
👀 I'm doing a roundtable conference about the future of Java and Kotlin at the end of the month.... should I.......
100
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 6h
I've used multimc for a while and then it broke, so I migrated to CurseForge, and it's pretty nice to have auto-updates and stuff. I'll take a look next time I play!
110
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 6h
Ohhhh so it's fine if I don't have a ticket for just a small bit of the journey?
000
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 11h
What would you say are the main reasons to use this vs another launcher, eg, CurseForge?
110
Reposted by Ivan “CLOVIS” Canet
bryan newbold @bnewbold.net · 07/10/2026
ah damn, RIP Margaret Hamilton. she took safety-critical software engineering seriously, and got people to the moon and back. news.mit.edu/2026/margare...
old photos of a woman (Margaret Hamilton) standing next to a tall stack of books (printouts of Apollo space mission software source code)
102143914733
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 06/10/2026
En soutient aux lycéens, qui se font gazer, éborgner, rouler dessus et chasser à cheval pour leur apprendre à arrêter de se plaindre du 45°C dans les salles de classe
Manifestant portant une pancarte affichant "La jeunesse vise le BAC, la BAC vise la tête" avec un dessin d'arme à feu.
0155
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 03/10/2026
Honestly even if I was right I'd still think it was very misleading and dishonest
010
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 02/10/2026
Are you sure it says 500GB and not 500Gb?
100
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 02/10/2026
I got the open source exemption, and you probably did too, so we're safe I think
100
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 02/10/2026
Yep, they confirmed it here: www.reddit.com/r/MavenCentr...
reddit.com
HokieGeek's comment on "New in Maven Central: Relative Popularity and usage trends in Usage Center"
Explore this conversation and more from the MavenCentral community
110
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 01/10/2026
Yay new art!! Love your work!
050
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 01/10/2026
Interesting morning, getting gassed by the cops
100
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 29/09/2026
More seriously, it's great, and it cannot be understated how much a value proposition is "it happens instantly". It's night and day compared to other tools I've tested However, the forums are a hell, so take that into account
011
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 29/09/2026
@obsidian.md is to Electron what Mamdani is to mayors "wait, it can do that??"
120
Reposted by Ivan “CLOVIS” Canet
Alejandro Serrano Mena @serranofp.com · 28/09/2026
I'm super happy to announce my latest project: the Builder Lambda plug-in! github.com/serras/build... This plug-in re-exposes builders from Java in a Kotlin-idiomatic way: as a lambda in which you set the different properties. The generated code has no trace, though, it calls the builder directly.
131
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 28/09/2026
We are! But I see more and more people burned out and/or considering leaving the industry altogether.
100
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 28/09/2026
I'll be organizing a workshop on Ktor at BDX I/O next month 👀 bdxio.fr/talks/814
bdxio.fr
BDX I/O
BDX I/O est une conférence pour les développeur•euse•s, sur les technologies de demain, organisée tous les ans depuis 2014 à Bordeaux.
010
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 28/09/2026
This is something I've been worrying about too. If we all hack around solo, where is the community? autonomousapps.com/blog/how-to-...
autonomousapps.com
How to lose a friend
On anti-systems approaches to software development
140
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 25/09/2026
Yeah probably. What were the grounds? API surface is protected I believe, and a Postgres impl wouldn't reuse internal code
000
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 25/09/2026
Ah :/ Will DocumentDB be next?
100
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 24/09/2026
What's the status of DocumentDB & co? FerretDB seems inactive
101
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 24/09/2026
I wish they took the pic just sliiiiightly more right
000
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 24/09/2026
Official KotlinConf 2026 pictures @lilywhiteout.bsky.social look bottom right on the screen 👀
250
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 22/09/2026
France has dozens of cities named variations of Chateauneuf for this reason
120
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 22/09/2026
eheheh it doesn't stop
010
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 22/09/2026
Ah, organizing events Tonight we're doing the Kotlin Birthday. We had ~20 registered people last weekend when we ordered the cake. In the last 24 hours, 10 more people registered 😮
100
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 21/09/2026
Fun fact, if you create a `suspend` function that returns `COROUTINE_SUSPENDED`, the entire KotlinX.Coroutines library breaks down
110
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 20/09/2026
New design of the plugin settings, without different 'Marketplace' and 'Installed' tabs
030
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 19/09/2026
:/
000
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 18/09/2026
It's a new 4th graph in the Usage Center, next to the release count and file counts
100
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 18/09/2026
yay, I'm 72 popular Anyone knows what that means?
200
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 18/09/2026
Nope, not using any
000
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 18/09/2026
come ooooooooon
110
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 18/09/2026
am I cursed or does nothing work anymore?
Iberia Airlines website with a blank page that says "Sorry, we can't show you the flights. A general error has occurred."Air France with the search button that loads forever.easyJet showing "Error. We're very sorry but something has gone wrong. Please try again or get in contact with us if this issue continues to occur."
110
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 18/09/2026
It feels like the project opening is faster, but that could be an illusion due to the window already being full-size
010
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 18/09/2026
New IntelliJ home page 👀
140
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 16/09/2026
I made it to the KotlinConf front page 👀
070
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 12/09/2026
Just once, but I really liked it and took many pictures
010
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 12/09/2026
I knew I recognized the plaque!
110
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 12/09/2026
Glyptotek?
111
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 10/09/2026
1600 belligerents, 1 wounded? That's not a war, that's a football match!
2301
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 10/09/2026
Soon in KtMongo: integrated debug mode to understand why your aggregation pipeline doesn't do what you want!

A complex aggregation pipeline broken in multiple subfunctions can be tough to understand, especially when it returns the wrong results or no results at all. To facilitate understanding complex pipelines, KtMongo provides a [`debug`](../api/driver-api/opensavvy.ktmongo.api/-mongo-aggregation-pipeline/index.html#debug) method which returns intermediate results:
```kotlin
users.aggregate()
	.match { User::age gte 18 }
	.sort { ascending(User::age) }
	.limit(1)
	.also { println(it.debug()) } // Temporarily add when debugging, or call using the debugger
	.toList()
```
```terminaloutput
Pipeline debug (first 10 resulting documents after each stage):
  Stage: {}
    {"_id": {"$oid": "6aa304b526a3e786897e397a"}, "name": "Alice", "age": 30}
    {"_id": {"$oid": "6aa304b526a3e786897e397b"}, "name": "Bob", "age": 17}
    {"_id": {"$oid": "6aa304b526a3e786897e397c"}, "name": "Charlie", "age": 22}
  
  Stage: {"$match": {"age": {"$gte": 18}}}
    {"_id": {"$oid": "6aa304b526a3e786897e397a"}, "name": "Alice", "age": 30}
    {"_id": {"$oid": "6aa304b526a3e786897e397c"}, "name": "Charlie", "age": 22}
  
  Stage: {"$sort": {"age": 1}}
    {"_id": {"$oid": "6aa304b526a3e786897e397c"}, "name": "Charlie", "age": 22}
    {"_id": {"$oid": "6aa304b526a3e786897e397a"}, "name": "Alice", "age": 30}
  
  Stage: {"$limit": 1}
    {"_id": {"$oid": "6aa304b526a3e786897e397c"}, "name": "Charlie", "age": 22}
```

If a stage throws an exception, the debug method will say which one explicitly.
010
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 09/09/2026
“Romance is dead” Carrefour:
020
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 09/09/2026
Right. github.com/advisories/G...
github.com
GHSA-525m-456x-w57c - GitHub Advisory Database
Malicious code in chai-as-promised-plus (npm)
100
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 09/09/2026
How do you determine what is a C mistake and what's not?
101
Reposted by Ivan “CLOVIS” Canet
Jaewoong Eum (skydoves) @skydoves.bsky.social · 08/09/2026
I just published a new open-source project, Now in Android KMP! This is a full Kotlin Multiplatform and Compose Multiplatform port of Google's Now in Android sample on Android, iOS, Desktop, and Wasm, github.com/skydoves/now...
github.com
GitHub - skydoves/nowinandroid-kmp: 📱 Now in Android KMP is a full Kotlin Multiplatform port of Google's Now in Android sample.
📱 Now in Android KMP is a full Kotlin Multiplatform port of Google's Now in Android sample. - skydoves/nowinandroid-kmp
3233
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 07/09/2026
BIG MILESTONE. The KtMongo Multiplatform prototype passes the integration test suite. Now it's the (long) stretch of 100%'ing the API
13,939 tests passed, 24 ignored, 13,983 tests total
011
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 05/09/2026
KtMongo Multiplatform is progressing so much these past weeks 👀
000
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 02/09/2026
I'd love to :)
010
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 02/09/2026
I won't be at KTConf Belgium this year :/ too close to other events + financial constraints
110