ghostdogpr Profile Banner
Pierre Ricadat Profile
Pierre Ricadat

@ghostdogpr

Followers
1K
Following
3K
Media
75
Statuses
2K

Software Architect | Scala Lover | Creator of Caliban and Shardcake

Seoul, Republic of Korea
Joined June 2007
Don't wanna be here? Send us removal request.
@ghostdogpr
Pierre Ricadat
2 years
Do you like Caliban? Or maybe Shardcake? Enjoyed OSS contributions I’ve done over the years? Have I helped you on Discord?. I’ve just setup a GitHub Sponsor page so if you’d like to give a little back or encourage future contributions, head up to 🙏.
Tweet card summary image
github.com
Scala developer and open-source contributor, creator of Caliban and Shardcake
2
20
55
@ghostdogpr
Pierre Ricadat
21 days
1. Someone contributed a typeclass instance to Caliban.2. After upgrade, my code doesn't compile anymore.3. Found I had the same instance in my code.4. With the comment "I should add this to Caliban" from 2021 🤦‍♂️.
0
1
31
@ghostdogpr
Pierre Ricadat
28 days
@tim_smart @MichaelArnaldi @MattiaManzati if you guys ever wanna talk about how we handle some edge cases (split brain, resilience), feel free to ping me. We’ve been using it in prod for 3.5 years now!.
1
0
9
@ghostdogpr
Pierre Ricadat
28 days
Just watched this talk on Effect Cluster, a library directly inspired by Shardcake. Super interesting to see what it became in a different ecosystem, with some very cool ideas (Effect Schema integration, persistence). There’s also a Rust port I know of!.
2
3
51
@ghostdogpr
Pierre Ricadat
1 month
The video for my talk "Anatomy of a Scala Game Server" at #LambdaDays 2025 is up!.
1
16
46
@ghostdogpr
Pierre Ricadat
1 month
What's on the screenshot shows interface calls coming from using Map (interface), and they disappear when using HashMap (concrete class).
0
0
3
@ghostdogpr
Pierre Ricadat
1 month
Tip if you work on high performance Scala code. If your profiler shows time spent in "itable stub" (typically megamorphic virtual/interface call dispatch) async-profiler has a handy option `-F vtable` that gives you more details about where those are coming from.
Tweet media one
1
7
37
@ghostdogpr
Pierre Ricadat
1 month
#LambdaDays were a blast! A perfect balance between thought-provoking keynotes from researchers and industry-grounded talks covering various languages and ecosystems. And of course the hallway track! Glad to have met lots of interesting people. Going home with a lot of ideas.
1
2
24
@ghostdogpr
Pierre Ricadat
2 months
Slides for my talk "Anatomy of a Scala Game Server" at #LambdaDays 2025:.
Tweet card summary image
github.com
Slides for my talks. Contribute to ghostdogpr/slides development by creating an account on GitHub.
4
14
55
@ghostdogpr
Pierre Ricadat
2 months
For Scala OSS maintainers migrating to Maven Central, you need to explicitly enable snapshot publishing on each namespace, otherwise publishing fails with a 403.
Tweet media one
1
7
23
@ghostdogpr
Pierre Ricadat
2 months
Soon!.
@LambdaDays
Lambda Days
2 months
🏗 Functional programming isn't just elegant, it's powerful in practice. At Lambda Days 2025, Merlin Pahic shares how Kotlin, event sourcing, and a local-first approach power education apps for kids in low-connectivity regions. Meanwhile, @ghostdogpr dives into building a
Tweet media one
Tweet media two
0
1
19
@ghostdogpr
Pierre Ricadat
3 months
The new version of Better Fors shipped with Scala 3.7.0 improves my benchmarks even further compared to the previous version, thanks to the map elimination for `yield ()` 🎉. Awesome work from @KacperFKorban! 🙏. More details:
Tweet card summary image
scala-lang.org
0
10
53
@ghostdogpr
Pierre Ricadat
3 months
Why did it take me all these years to find out about `sbt --client` 😄.
2
1
13
@ghostdogpr
Pierre Ricadat
3 months
I initially used Bloop but it behaved poorly with code generation so I switched to the sbt build server and it's working beautifully. What a pleasure to see code without false positive errors. This means I can finally give Cursor a try 😀.
3
0
10
@ghostdogpr
Pierre Ricadat
3 months
For the first time in 5 years, Metals is now able to load and compile my (large) work project. And after a couple days testing. it's working great! 🎉. Thanks to @TomekGodzik and all the other contributors for the continuous improvements. It has really paid off in my case.
2
11
99
@ghostdogpr
Pierre Ricadat
3 months
Only recently realized that Scalafmt was able to sort and group imports, which is much, much better than Scalafix. Scalafmt is awesome ❤️.
3
1
25
@ghostdogpr
Pierre Ricadat
4 months
I just discovered Turbolift, a library that allows combining various effects a bit like Kyo. I tested my main use case which is combining Reader/Writer/State and the performance is pretty good! ZPure is still quite ahead, but the UX is quite good.
Tweet media one
2
7
27
@ghostdogpr
Pierre Ricadat
4 months
Will be in Kraków at @LambdaDays in a little bit less than 3 months to talk about how my team built a new multiplayer game server using Scala and pure functional programming. I will explore the architecture, application design, and various techniques we used. See you there!
Tweet media one
0
7
32
@ghostdogpr
Pierre Ricadat
5 months
This is caused by the new encoding of lazy vals in Scala 3. Our scheduler ran out of threads after 48h (fortunately the issue happens at a slow pace). cc @lukasz_bialy.
1
0
1