EffectiveKotlin's profile picture. Profile of the Effective Kotlin book by @marcinmoskala

Effective Kotlin

@EffectiveKotlin

Profile of the Effective Kotlin book by @marcinmoskala

Effective Kotlin reposted

To turn a function into a flow that emits its result, you can just use flow builder with emit. Many projects define a function for that. You can also turn a lambda function using asFlow. If you’d like to go beyond these small tips and really master flows and coroutines, join my…

marcinmoskala's tweet image. To turn a function into a flow that emits its result, you can just use flow builder with emit. Many projects define a function for that. You can also turn a lambda function using asFlow. 

If you’d like to go beyond these small tips and really master flows and coroutines, join my…

Effective Kotlin reposted

Do you have operations in composables that kill your application performance? ☠️ Composable functions can be executed many times, sometimes with every frame. If such composables include any complex calculations, they will be recalculated unnecessarily again and again. The…

ktdotacademy's tweet image. Do you have operations in composables that kill your application performance? ☠️
Composable functions can be executed many times, sometimes with every frame. If such composables include any complex calculations, they will be recalculated unnecessarily again and again. The…

Effective Kotlin reposted

Why is Coroutines Mastery built as a cohort course? Learning from scattered blogs and videos gives you fragments. You solve one issue but don’t understand the principles—and the next time, you’re stuck again. 👉 Secure your seat → shorturl.at/hVaPP That’s why Coroutines…

marcinmoskala's tweet image. Why is Coroutines Mastery built as a cohort course?
Learning from scattered blogs and videos gives you fragments. You solve one issue but don’t understand the principles—and the next time, you’re stuck again.
👉 Secure your seat → shorturl.at/hVaPP

That’s why Coroutines…

Effective Kotlin reposted

People seem surprised that LLMs behave like people. I guess it is because of the misleading term "Artificial intelligence". No one would be surprised if a more appropriate term were used, such as "Pretended human response".


Effective Kotlin reposted

New conference talk recording 🎥 At JavaZone 2025, Marcin Moskala explored one of Kotlin’s trickiest but most powerful features: variance modifiers. We all use them daily (collections, functional types…), but most developers don’t fully realize how much they impact our code.…

ktdotacademy's tweet image. New conference talk recording 🎥

At JavaZone 2025, Marcin Moskala explored one of Kotlin’s trickiest but most powerful features: variance modifiers.

We all use them daily (collections, functional types…), but most developers don’t fully realize how much they impact our code.…

Effective Kotlin reposted

There is amazing interoperability between Kotlin Coroutines and RxJava/Reactor❗

marcinmoskala's tweet image. There is amazing interoperability between Kotlin Coroutines and RxJava/Reactor❗

Effective Kotlin reposted

One of the key concepts of Jetpack Compose is type stability. Stable types allow better recomposition optimisations. That was traditionally very important, but since 2.0.0 a lot has changed. Let me explain 👇

ktdotacademy's tweet image. One of the key concepts of Jetpack Compose is type stability. Stable types allow better recomposition optimisations. That was traditionally very important, but since 2.0.0 a lot has changed. Let me explain 👇

Effective Kotlin reposted

When you start multiple coroutines, you can await them all using joinAll(), but did you know you can also use coroutineScope? It awaits all its children's completion. Did you know that? What pattern do you prefer? We explore patterns like this in depth during my Coroutines…

marcinmoskala's tweet image. When you start multiple coroutines, you can await them all using joinAll(), but did you know you can also use coroutineScope? It awaits all its children's completion. Did you know that? What pattern do you prefer?

We explore patterns like this in depth during my Coroutines…

Effective Kotlin reposted

Coroutines Mastery includes live Q&A with Roman Elizarov & Vsevolod Tolstopyatov (2 sessions each) plus regular sessions with Marcin Moskala. A unique combo of deep insights, practical solutions & expert support. Starts Nov 3. Join now 👉 → shorturl.at/KR5tm

marcinmoskala's tweet image. Coroutines Mastery includes live Q&A with Roman Elizarov & Vsevolod Tolstopyatov (2 sessions each) plus regular sessions with Marcin Moskala. A unique combo of deep insights, practical solutions & expert support. Starts Nov 3. Join now 👉 → shorturl.at/KR5tm

Effective Kotlin reposted

Operators in Kotlin can be used not only with primitives and strings, but also with other classes BigDecimal, collections, date and time, and much more.

ktdotacademy's tweet image. Operators in Kotlin can be used not only with primitives and strings, but also with other classes BigDecimal, collections, date and time, and much more.

Effective Kotlin reposted

Here is my list of the most hated coroutines-related mistakes. Do you have them in your project? If you are interested in exploring coroutines join me for the upcoming Kotlin Mastery course 👇 coroutinesmastery.com/?utm_source=x&…

marcinmoskala's tweet image. Here is my list of the most hated coroutines-related mistakes. Do you have them in your project?

If you are interested in exploring coroutines join me for the upcoming Kotlin Mastery course 👇 
coroutinesmastery.com/?utm_source=x&…

Effective Kotlin reposted

Building AI agents for one platform is tough. But what if you could ship the same agent to JVM, Android, iOS, JS, and even WASM—without rewriting it five times? @Ololoshechkkin new deep dive shows how Koog makes truly multiplatform AI possible (and why it matters). 👉 Read it…

ktdotacademy's tweet image. Building AI agents for one platform is tough. But what if you could ship the same agent to JVM, Android, iOS, JS, and even WASM—without rewriting it five times?

@Ololoshechkkin new deep dive shows how Koog makes truly multiplatform AI possible (and why it matters).

👉 Read it…

Effective Kotlin reposted

What often looks like “power” ends up as boilerplate and complexity. In this article, Marcin Moskala breaks down real-world code samples to show why #Kotlin #Coroutines and Flow give you cleaner, more intuitive solutions. 👇 kt.academy/article/corout…

ktdotacademy's tweet image. What often looks like “power” ends up as boilerplate and complexity.

In this article, Marcin Moskala breaks down real-world code samples to show why #Kotlin #Coroutines and Flow give you cleaner, more intuitive solutions. 👇

kt.academy/article/corout…

Effective Kotlin reposted

Kotlin Coroutines offer first-class support for structured concurrency. This is way beyond explicit structured concurrency in Java, and way easier than Reactor, which requires a good understanding of so many functions to make even simple things.  Dive deeper into coroutines with…

marcinmoskala's tweet image. Kotlin Coroutines offer first-class support for structured concurrency. This is way beyond explicit structured concurrency in Java, and way easier than Reactor, which requires a good understanding of so many functions to make even simple things. 

Dive deeper into coroutines with…

Effective Kotlin reposted

The simplest way to display Android fragment in Compose is using AndroidFragment, which looks amazing, but has two dirty secrets you must know before using it. 🤫

ktdotacademy's tweet image. The simplest way to display Android fragment in Compose is using AndroidFragment, which looks amazing, but has two dirty secrets you must know before using it. 🤫

Effective Kotlin reposted

derivedStateOf body can only observe state, it cannot observe other values! If you use any value that is not a state, and that might change, you must include it as remember key to create new derived state when it changes!

marcinmoskala's tweet image. derivedStateOf body can only observe state, it cannot observe other values! If you use any value that is not a state, and that might change, you must include it as remember key to create new derived state when it changes!

Effective Kotlin reposted

Learn where coroutines are heading. Vsevolod Tolstopyatov @qwwdfsad, current Kotlin Team Lead at JetBrains, will host two live Q&A sessions in Coroutines Mastery. He’ll share: Which problems the coroutines team is focusing on How priorities are decided The direction the library…

marcinmoskala's tweet image. Learn where coroutines are heading.

Vsevolod Tolstopyatov @qwwdfsad, current Kotlin Team Lead at JetBrains, will host two live Q&A sessions in Coroutines Mastery.

He’ll share:
Which problems the coroutines team is focusing on
How priorities are decided
The direction the library…

Effective Kotlin reposted

The way how static dependency injection works is actually very simple, and I can explain it in two minutes! Let me show you 👇🧵

ktdotacademy's tweet image. The way how static dependency injection works is actually very simple, and I can explain it in two minutes! Let me show you 👇🧵

Effective Kotlin reposted

Data classes are not just syntactic sugar; they have completely changed how we treat classes and objects, and by doing so, they have extremely simplified development. Let me explain 🧵

marcinmoskala's tweet image. Data classes are not just syntactic sugar; they have completely changed how we treat classes and objects, and by doing so, they have extremely simplified development. Let me explain 🧵

Effective Kotlin reposted

CancellationException is important for cancellation mechanism! As a rule of thumb, we should always rethrow it. Here is what might happen if we don't.


Loading...

Something went wrong.


Something went wrong.