... a good thing. Then we'll see how we can properly get our flows to run on multiple coroutines.
The video premieres on Wednesday at 10 AM CDT. Add to your calendar:
Google: typea.li/as/st6kmpb
Outlook Web: typea.li/as/khd6sjv
Download ICS: typea.li/as/gk7vnn2
YouTube: typea.li/as/yt2607
(2/2)
Posts by Dave Leeds
Thumbnail Image - "Context Preservation and Multi-Coroutine Flows" over an IDE with Kotlin code.
Kotlin's flows really become fun once we start putting our emitters and collectors on separate coroutines... but we can't just call `emit()` from inside a `launch` block, because of Context Preservation!
In this week's video, we'll see what Context Preservation is and why it's...
(1/2)
Livestream this week! We'll look at updates in the #Kotlin and #AndroidDev worlds, like:
- Kotlin 2.3.20
- AS Panda 2
- Android Bench
- Updates on sideloading
- and more!
Google Calendar: typea.li/as/cwnvzvk
Download Invite: typea.li/as/3gvy7yb
Livestream Page: typea.li/as/live10
See you there!
Yes, #Kotlin flows have a lot of familiar operators from the collection and sequence APIs, but since they run on top of coroutines, they also have many operators that you won't find in those APIs.
In today's video, I show off some operators that you'll only find on flows!
youtu.be/SfS4KOfjc4E
This #Kotlin update was easy to miss! You can now use `return` in expression bodies. On the surface, it sounds useless, but I put together this 6-minute video to show the reasons why it's actually an important update.
www.youtube.com/watch?v=Y8hu...
#AndroidDev
Thanks so much to @kotlinweekly.bsky.social for including my video about Kotlin 2.3's Explicit Backing Fields in this week's issue! If you're a #Kotlin developer, go follow them for weekly updates with all the latest Kotlin news.
Have you seen the Explicit Backing Fields feature in #Kotlin 2.3? I cover what you need to know about them in this week's video. Add to your calendar π
Google Calendar: typea.li/as/d8jvsz3
Download invite: typea.li/as/ybv8kcj
"Notify" on YouTube: typea.li/as/yt2602
Premieres Wed at 10 AM CST.
Concurrency + Mutable State = Risk
Kotlin's design of coroutines prevents a lot of problems, but not race conditions. It does give us some great tools to help, though! Here's a 9-minute video that covers what you need to know about each one. I hope you find it helpful!
π youtu.be/Ap-cVIM5ORY
I can't wait to start up the livestreams again! We're kicking off the fall season this Wednesday at 10 AM CDT with special guest Kevin Tang, who's going to show us what Firebender can do!
typea.li/as/live08
Add to your calendar:
Google - typea.li/as/vvcxd6l
Download Invite - typea.li/as/8lxgxw2
Need to put those #Kotlin flows together? The merge(), combine(), and zip() functions are available, and each one works a little differently - I break them down for you in this video.
youtu.be/Jmwr9vcmWWs
Wow, that's a lot of growth in one year! π
It's been a few years since I've worked on a Spring service, but the new Spring Debugger plugin in the latest @intellijidea.com looks really cool! Stuff like...
- Loaded vs unloaded beans
- Active vs inactive configs
- Debug beans at use site
More about 2025.2: www.jetbrains.com/idea/whatsnew/
Hey, Valère! Thanks for asking! My video editing is done in Davinci Resolve. Some of the annotations (basic lines and circles) are just my own hand-drawn annotations, but the ones that zoom in like that are plugins from MotionVFX. I believe the one in your screen grab is from mHowTo.
ποΈ Super Early Bird tickets for KotlinConf 2026 are live!
πΊοΈ Weβre heading to Munich, Germany β a brand-new venue in the heart of Europe.
Secure your spot now π kotl.in/conf26-tickets
π¨ Want exclusive KotlinConf news before everyone else?
Newsletter subscribers get early access to the Super Early Bird and Early Bird ticket launches, key dates, and more.
Subscribe to the KotlinConf newsletter π kotlinconf.com/subscription/
Yeah!! We got to be partners for #KotlinConf this year! π
Yeah! I thought it was funny that this photo made a brief appearance in your presentation when you clicked over to the notifications page. π
Building a Bluesky Bot powered by AI at #KotlinConf, by @raphaeldelio.dev
Ah, there ya go, that would do it! π
I'm not on my usual Windows machine here, but on Mac I get the println() output regardless of the dispatcher I choose.
Thanks for looking into it! For what it's worth, I'm using Windows here, and Ctrl+C copies just the selection for me.
You can add it to your calendar here:
Google Calendar - typea.li/as/by6y4dm
Outlook Web - typea.li/as/9zckxmx
Download Invite - typea.li/as/9m7snbs
So many exciting announcements in the #Kotlin and #AndroidDev worlds, even ahead of KotlinConf and Google I/O! Let's dig into them during this week's livestream. Plus, we'll check out lots of cool things we can do with Kotlin Notebooks. Wednesday 10 AM CDT. typea.li/as/live07
Double dispatch - let's see what it is, how it's traditionally handled in single-dispatch languages, and how we can get a similar effect in #Kotlin. www.youtube.com/watch?v=4cUQ...
This Wednesday's #Kotlin video is about Double Dispatch - gotta understand it before we get to the Visitor Pattern!
Premieres this Wednesday:
typea.li/as/x9lrbng
Add it to your calendar here:
Google - typea.li/as/gy9sbvv
Outlook Web - typea.li/as/njypjzr
Download Invite - typea.li/as/gl5l7c8
#Kotlin Notebooks - Now included in IntelliJ IDEA Community Edition! πblog.jetbrains.com/idea/2025/04/kotlin-note...
JetBrains' Junie AI coding agent has been promoted to general availability. No need to hang out on a waitlist any more! www.jetbrains.com/junie/
Thanks so much, Maxime! I hope you enjoy it!
Hey, it's a big day! After over 5 years of writing, illustrating, and updating, Kotlin: An Illustrated Guide is finally available in paperback!
amazon.com/Kotlin-Illus...
Thanks so much to all of you in the #Kotlin community for all the encouragement every step along the way! π
What's new in Kotlin 2.1.20? During this Wednesday's livestream, we'll take a look at the new atomic types, some UUID updates, datetime changes, and lots more!
typea.li/as/live06
Google Calendar - typea.li/as/4xrb3gm
Outlook Web - typea.li/as/zjdkbjs
Download Invite - typea.li/as/chnz9lp