Sign in

rcardin.bsky.social

@rcardin.bsky.social
145 followers 116 following 64 posts
PostsRepliesMedia
rcardin.bsky.social @rcardin.bsky.social · 03/08/2026
#YAES 0.23.0 is out. 🚀 Concurrency 🧵is the theme: `Async` races for the first success, traverses with bounded parallelism, and the work that outlives its scope now lives in a new `Unscoped` effect. Still on `in.rcard.yaes`? A Scalafix rule moves you over in one line. #Scala
100
rcardin.bsky.social @rcardin.bsky.social · 22/07/2026
#Java is evolving, one piece at a time. 📈 Now, it's possible to implement Algebraic Data Types (ADTs) well using records and sealed hierarchies. They can help us avoid using exceptions 🔥 for expected business errors and check edge cases at compile time. rockthejvm.com/articles/alg...
rockthejvm.com
ADTs (Algebraic Data Types) in Java
Discover ADTs (Algebraic Data Types) in modern Java: how records and sealed interfaces bring sum types and product types to Java 25
021
rcardin.bsky.social @rcardin.bsky.social · 23/06/2026
#Scala devs, finally, #YAES has its own home! 🏡 Version 0.22.0 migrated all the libraries under the yaes-io GitHub org, and the root package to `io.yaes`⭐️. The website is now available at www.yaes.io. Here are the release notes: github.com/yaes-io/yaes...
000
rcardin.bsky.social @rcardin.bsky.social · 12/06/2026
We're approaching summertime again ⛱️, and before going on holiday 🍹 , there is time for a new version of #YAES! The main addition is the CircuitBreaker handler, which, together with the Retry handler, lets us develop #Scala resilient distributed applications using YAES 🚀 github.com/rcardin/yaes...
010
rcardin.bsky.social @rcardin.bsky.social · 30/05/2026
#Scala folks, in Italy 🇮🇹 we're approaching the Republic Day, and a new #YAES version is here to celebrate! 🎉 The focus was on testing YAES applications, so we introduced some utilities to deal with effects in tests (mainly for @scalatest). Check it out! github.com/rcardin/yaes...
000
rcardin.bsky.social @rcardin.bsky.social · 20/05/2026
It seems to me that in the era of #AI and agentic development, non-tech people are discovering software engineering. Many of the proposed processes had been around for 40 years, more or less, waiting for their time.
020
rcardin.bsky.social @rcardin.bsky.social · 15/05/2026
A couple of months ago, I had the pleasure of giving a talk at @scalar-conf.com . Now the video 📽️ is available! The talk was about how #Scala, #Kotlin, and #Java use continuations to implement their light version of threads 🧵 Enjoy! www.youtube.com/watch?v=2TA-...
youtube.com
The Concurrency Triangle by Riccardo Cardin | Scalar 2026
YouTube video by SoftwareMill
011
rcardin.bsky.social @rcardin.bsky.social · 12/05/2026
#Scala lovers, #YAES 0.19.0 is out! 🚀 We focused on making the HTTP Client more ergonomic and usable. We create a `uri(...)` interpolator checking URI validity at compile time. 💪 Moreover, we strengthen the decoding errors hierarchy. Here are the release notes: github.com/rcardin/yaes...
020
rcardin.bsky.social @rcardin.bsky.social · 04/05/2026
New version of #YAES is here, and this time it's huge! 🚀 We have a new integration with #Scala Jsoniter, a new testing library with primitives for testing the `Raise[E]` effect, a bunch of other stuff... and a new version of the `Reader[R]` effect based on opaque types 👻 github.com/rcardin/yaes...
000
rcardin.bsky.social @rcardin.bsky.social · 26/03/2026
The slides for my talk at the @scalar-conf.com are available. It's called "The Concurrency Triangle: Scala Fibers, Java Virtual Threads, and Kotlin Coroutines". Check'em out! github.com/rcardin/scal...
000
rcardin.bsky.social @rcardin.bsky.social · 19/03/2026
Today it's Father's Day in Italy! 🇮🇹 What better event for a new version of #YAES? Version 0.16.0 introduces HTTP Client! It's a wrapper around #Java HttpClient, but lifted to effect tracking 🚀 Plus, we reinvented the site: blog.rcard.in/yaes/ Here are the release notes: github.com/rcardin/yaes...
000
rcardin.bsky.social @rcardin.bsky.social · 03/03/2026
Spring 🌷 is approaching fast here in Italy 🇮🇹, and a new version of #Scala #YAES is here! - a new integration with Circe 🐍; - a new `Retry` effect handler ↩️, which allows retrying code execution using different policies; and much more! Checkout the release notes: github.com/rcardin/yaes...
000
rcardin.bsky.social @rcardin.bsky.social · 16/02/2026
I revamped my blog with a new look and feel. 🌻 There are articles about #Scala, #Java, #Kotlin, functional programming, and software engineering. EST. 2013 ⭐️ blog.rcard.in
blog.rcard.in
Big ball of mud
Writing about Scala, Kotlin, and the JVM — from functional programming and effect systems to design patterns and concurrency.
011
rcardin.bsky.social @rcardin.bsky.social · 06/02/2026
S. Valentine is approaching for #Scala lovers ❤️, and it brings version 0.13.0 of the #YAES library. 🥁 We added an HTTP server this time...yes, we did it! A fully effectful server, based on virtual threads, with graceful shutdown! 😱 It's still in its experimental phase, so any feedback is welcome 🤝
100
rcardin.bsky.social @rcardin.bsky.social · 16/01/2026
Here we go again, hashtag#Scala lovers 🎸! Version 0.12.1 of hashtag#YAES is here with big new features! ✨ We implemented the graceful shutdown for the `Async` effect! If you want, you can interact with the shutdown process using the `Shutdown` effect 😱 Release notes: github.com/rcardin/yaes...
000
Reposted by @rcardin.bsky.social
The Scala Programming Language @scala-lang.org · 19/12/2025
🤖 Direct-style programming can feel elegant until you try to compose it. This session explores what happens when flatMap enters the picture. Check out "Yo Dawg, Heard You Want To FlatMap Your Direct-Style" from Riccardo Cardin
youtube.com
Riccardo Cardin: Yo Dawg, Heard You Want To FlatMap Your Direct Style [Scala Days 2025]
The direct style in Scala 3, influenced by languages like Kotlin and Rust, simplifies functional programming by eliminating for-comprehension syntax on higher-kinded types. It offers an imperative approach supported by context functions. While many Scala developers support it, others prefer the tra
041
rcardin.bsky.social @rcardin.bsky.social · 23/12/2025
Hey, #Scala lovers 💕, Santa is coming 🎅, bringing version 0.11.0 of #YAES this year! 🎁 This time, we added the integration with Reactive Streams so that you can use YAES with any library implementing the standard (Akka, Vert.x, Http4s...). github.com/rcardin/yaes... Merry Christmas! 🎄
010
Reposted by @rcardin.bsky.social
Eric Torreborre @etorreborre.blog · 10/12/2025
Sad to learn that there will not be a #lambdadays 2026 conference in Krakow. As a consolation, all the 2025 talks have now been published including mine: www.youtube.com/watch?v=LDln...
youtube.com
Shoehorning dependency injection into a FP language (...)? - Eric Torreborre | Lambda Days 2025
YouTube video by Code Sync
041
rcardin.bsky.social @rcardin.bsky.social · 10/12/2025
#Scala lovers ,💕#YAES v0.10.0 is out! Bridge the gap between YAES and Typelevel Cats Effect 🐈 with the new `yaes-cats` module. Convert between IO monads, integrate with `Validated` types, and get `MonadError` instances for `Raise`. Check out the release notes: github.com/rcardin/yaes...
011
rcardin.bsky.social @rcardin.bsky.social · 27/11/2025
#Scala lovers, #YAES 0.9.0 is here! 🚀 Full I/O stream support with `Flow` 🌊. Read files, process lines, and write output with ease. In addition, we introduced `channelFlow`, the bridge 🌉 between channels and flows! Cold flows + concurrent emission = 🔥 Check it out 👉 github.com/rcardin/yaes...
000
Reposted by @rcardin.bsky.social
Stefano Cordio @scordio.github.io · 13/11/2025
Hack.Commit.Push Switzerland is just one week away! 🇨🇭 This is a great opportunity to get involved in Open Source projects like @assertj.github.io, with direct guidance from the maintainers!
078
Reposted by @rcardin.bsky.social
Scalar Conference @scalar-conf.com · 12/11/2025
We've closed the first round of applications for the Scalar Call for Papers! We'll be announcing the first speakers for the 2026 edition very soon! In the meantime, check out our #myscalastory series at sml.io/myscalastory, featuring insights from top Scala and functional programming experts!
021
rcardin.bsky.social @rcardin.bsky.social · 12/11/2025
A new month, a new version of #YAES 🥳 Version 0.8.0 finally introduces the `YaesApp`. Now, you can develop your direct style #Scala app, and Yaes will take care of the execution of most of the effects 🙌 Plus, we redesigned Channels and added overflow policies! 💪 github.com/rcardin/yaes...
000
rcardin.bsky.social @rcardin.bsky.social · 23/10/2025
#Scala Effects lovers, here is the Halloween 🎃 release of #YAES. We introduced Channels in the library. Now, fibers can communicate asynchronously through message passing 📨. #Kotlin Channels heavily inspired the feature. Here are the release notes: github.com/rcardin/yaes...
020
rcardin.bsky.social @rcardin.bsky.social · 21/08/2025
My first @scaladays.org just finished. Thanks to all the people who attended my talk and took some time to chat with me 🙏 There are a lot of engineers, data scientists, front-enders, and students who do extraordinary things using #Scala every day, and are the heart of our community 💕. Thank you all
030
rcardin.bsky.social @rcardin.bsky.social · 16/08/2025
Version 0.5.0 of the #YAES effect system is here 🚀 (just in time for @scaladays.org...fiuuu). We added the `State[S]` effect to the #Scala 3 party 🥳. However, be careful that the current version is not thread-safe. Here are the release notes: github.com/rcardin/yaes...
020
rcardin.bsky.social @rcardin.bsky.social · 08/08/2025
I'm reading @sam-cooper.bsky.social's "Kotlin Coroutine Confidence". It's a masterpiece💫, even if you already know #Kotlin coroutine machinery: It's worth your money 💰: pragprog.com/titles/sckot...
242
rcardin.bsky.social @rcardin.bsky.social · 22/07/2025
#DropsOf #Kafka: It's possible to force an order on messages read by consumers from a topic by using the same key for all messages to be read in order. Naive, but effective in most cases 😜
000
rcardin.bsky.social @rcardin.bsky.social · 20/07/2025
#DropsOf #Kotlin: Kotlin was the first language on the JVM implementing continuation passing style (CSP) directly in the compiler 🚄. It rewrites every suspending function using CSP, adding a `Continuation` object to the parameters and rewriting the body accordingly 🪄
000
rcardin.bsky.social @rcardin.bsky.social · 19/07/2025
#DropsOf #Java: Checked exceptions were a good idea ✨. They are some form of an effect system. You know precisely what kind of effects a function performs. To eliminate the effect, you need to handle it, and the compiler forces this behavior. However, they don't compose with lambdas 🤷‍♂️
021
rcardin.bsky.social @rcardin.bsky.social · 18/07/2025
#DropsOf #kotlin: Do you know you can implement the race primitive 🚗 for coroutines in just one line of code? The `channelFlow` has its coroutineScope, and when the `first` function cancels the Flow execution, it cancels all the running coroutines that did not win the race. 😍
000
rcardin.bsky.social @rcardin.bsky.social · 09/06/2025
#Scala lovers, version 0.4.0 of the #YAES effect system is out!🚀 What a journey.🤪 The new `Resource` effect is here, and now you can even zip two different `Flow`. Wow, concurrent programming on flows! 🎉 Here are the release notes: github.com/rcardin/yaes...
010
rcardin.bsky.social @rcardin.bsky.social · 30/05/2025
Hey, #Scala lovers! I'll give a talk at the next @scaladays.org 2025 🎉. I still can't believe it 🤪. Let's meet in Losanna to share our experiences on direct-style and monadic effect systems! I'll bring my (on-going) knowledge about the former, with my library #YAES ⭐️ See you there 👋
010
rcardin.bsky.social @rcardin.bsky.social · 28/05/2025
Today, I talked at Ticino Software Craft 🧑‍🔬. We discussed #Scala Effect Systems, both monadic and direct-style (in detail, the #YAES effect system). It was a pleasure to join the Ticino software community. Thanks, guys, for the opportunity 🙏 www.youtube.com/watch?v=PEiM...
youtube.com
Do You Even Handle Effects?
YouTube video by Ticino Software Craft
010
rcardin.bsky.social @rcardin.bsky.social · 26/05/2025
Save the date 📅! I will discuss #Scala and Direct-Style Effect Systems this Wednesday at the Ticino Software Craft meetup 🚀. See ya online 👋 www.linkedin.com/events/doyou...
linkedin.com
Do you even handle effects? | LinkedIn
Scala’s effect systems have come a long way from Monix and Scalaz, to Cats Effect, ZIO, and now Ox and Kyo. The debate between monadic and direct styles is at its peak or maybe, it doesn’t have to be ...
000
rcardin.bsky.social @rcardin.bsky.social · 20/05/2025
On Wednesday, May 28th, I will join the team from Ticino Software Craft to share some knowledge and ideas about Effect Systems in #Scala ⭐. Everybody's welcome 👋. You can't miss it 💯 www.linkedin.com/events/doyou...
linkedin.com
Do you even handle effects? | LinkedIn
Scala’s effect systems have come a long way from Monix and Scalaz, to Cats Effect, ZIO, and now Ox and Kyo. The debate between monadic and direct styles is at its peak or maybe, it doesn’t have to be ...
010
Reposted by @rcardin.bsky.social
Scala.IO @scalaio.bsky.social · 12/05/2025
Hello folks 👋 ScalaIO is back for another edition in 2025 🥳 🌐 It will be held at La Grande Crypte, Paris 🇫🇷 on the 17/10/2025 🎟️ Early birds tickets are already open to sales(f: Person => `scala.io`) 🤝 CFP & sponsorships will open very shortly See you soon 😊
scala.io
Scala.IO
Scala.IO is a conference for people having interest in the Scala ecosystem or simply being curious about the language, usages
075
rcardin.bsky.social @rcardin.bsky.social · 09/05/2025
Version 0.3.0 of the #YAES library just landed 🚀. No new effects this time, but the porting of the first bunch of methods of the #Kotlin `Flow` type! #Scala has flows now, and they compose well with YAES effects 🙌 Here are the release notes: github.com/rcardin/yaes...
010
rcardin.bsky.social @rcardin.bsky.social · 30/04/2025
Yesterday I played with the #YAES library to understand what is missing to gain RT. Guess what 🤔? Maybe I managed to introduce some form of RT in a #Scala direct-style approach. I need you 🫵 to join the discussion: github.com/rcardin/yaes... cc @scalatimes.com
000
rcardin.bsky.social @rcardin.bsky.social · 24/04/2025
Hey, #Scala devs! To celebrate the Liberation Day in Italy 🇮🇹(April 25th), here is a new version of the #YAES library! We added the `Log` effect that does what its name promises 😅 Keep on coding! 🙌 github.com/rcardin/yaes... @scalatimes.com
010
rcardin.bsky.social @rcardin.bsky.social · 22/04/2025
Someone tried to understand if #YAES can be successfully integrated into a Tagless-Final #Scala application 😍, and the pros and cons. I never thought someone would be interested in my library. I'm so excited 🎉
reddit.com
From the scala community on Reddit: YAES: Thoughts on context-based capability passing style for state threading and integration into tagless-final application
Explore this post and more from the scala community
000
rcardin.bsky.social @rcardin.bsky.social · 19/04/2025
I’ve been #coding for almost 20 years in the “traditional” way. 💻 Now, it's time to give AI a chance. I use it in its basic form, such as Copilot. Can someone point me to some resources to implement a more complex and effective workflow? 🙏
000
Reposted by @rcardin.bsky.social
Scalar Conference @scalar-conf.com · 18/04/2025
Yo Dawg, Heard You Want To FlatMap Your Direct-Style by @rcardin.bsky.social Subscribe to our our YouTube channel so you don't miss the rest of #scalarconf videos.
youtube.com
Yo Dawg, Heard You Want To FlatMap Your Direct-Style by Riccardo Cardin | Scalar Conference 2025
YouTube video by SoftwareMill
011
rcardin.bsky.social @rcardin.bsky.social · 16/04/2025
#Scala Effect Systems' lovers 💕, version 0.1.0 of the #YAES library is out! 🎉 We added the `Clock` and the `System` effect. I know, not too much, but it's still honest work 😜 Check it out: github.com/rcardin/yaes... cc @scalatimes.com
010
rcardin.bsky.social @rcardin.bsky.social · 15/04/2025
The video of my talk at @scalar-conf.com is finally out! 🎉 In the talk, I live-coded a mini effect system using nothing but #Scala 3 context functions, building it up step by step. youtube.com/watch?v=TXUx... Thanks, @softwaremill.com, for this marvelous opportunity! 🙏
youtube.com
Yo Dawg, Heard You Want To FlatMap Your Direct-Style by Riccardo Cardin | Scalar Conference 2025
YouTube video by SoftwareMill
041
rcardin.bsky.social @rcardin.bsky.social · 09/04/2025
I'm trying to use phantom types 👻 to create an alternative definition of the Effect in #YAES. As you know, YAES is a #Scala Effect System trying to use something similar to direct-style (Capability Passing Style). Does anybody want to join the discussion? 👋 github.com/rcardin/yaes...
github.com
Find a different effect definition, something like `Yaes[Random & Raise[E]] ?=> A` · Issue #19 · rcardin/yaes
Find a different effect definition, something like Yaes[Random & Raise[E]] ?=> A.
000
Reposted by @rcardin.bsky.social
Alexandru Nedelcu @alexn.org · 28/03/2025
I'd like to build some libraries that are usable across #Java, #Scala & #Kotlin, but I also want to be free to pick my implementation language & libraries (Project Loom, Cats-Effect, Kotlin coroutines). This helps me expose nice APIs to all devs. Work in progress: github.com/funfix/tasks
github.com
GitHub - funfix/tasks: Task datatype, meant for cross-language interop (Java, Kotlin, Scala)
Task datatype, meant for cross-language interop (Java, Kotlin, Scala) - funfix/tasks
1156
rcardin.bsky.social @rcardin.bsky.social · 29/03/2025
On my way to Italy 🇮🇹. Again, thanks to @scalar-conf.com and @softwaremill.com for such a fantastic organization 👏. The talks had an extremely high quality 📈 See ya! Don't forget to leave a star ⭐ to my project, github.com/rcardin/yaes 🙏
041
rcardin.bsky.social @rcardin.bsky.social · 28/03/2025
The last day of the @scalar-conf.com is over. Oh boy, what an adventure. 🎉 Many thanks to all the people who work to make it happen 🙏 Thanks to @rockthejvm.com for being such a great mentor and friend. Thanks to Martin for all the rest 😜
093
rcardin.bsky.social @rcardin.bsky.social · 28/03/2025
Yesterday was such a roller coaster! 🎢 I did my first talk ever to @scalar-conf.com, which was terrific. 🎉 Here is the deck: github.com/rcardin/scal... If you are there, let’s meet 🤩
github.com
GitHub - rcardin/scalar-2025: Slides' Deck for the Scalar 2025 Conference
Slides' Deck for the Scalar 2025 Conference. Contribute to rcardin/scalar-2025 development by creating an account on GitHub.
051