Contributions

Article
Practice your collection processing skills with more complex processing of fruits, and guess what their output is.
Article
A must-read for every Compose developer: How modifiers order affects Compose UI appearance.
Article
Let's benchmark reflection and see how it affects the performance of your code.
Article
This fun and challenging game lets you deepen your understanding of how modifiers affect components.
Article
Are you struggling to balance safety and performance in Kotlin Coroutines? Blocking calls in non-blocking dispatchers can cause serious issues, but there is something that can help— BlockHound.

Learn how to set it up and track down those blocking calls.
Article
What is the best way to represent ViewModel events in Kotlin?
Article
In this article, we'll explore different dispatchers, find the best one for a backend request handlers and explain why different options are not appropriate.
Event
We are excited to invite you to a Live Q&A Session with Marcin Moskala, one of the leading Kotlin trainers.

Date: 27th August 2024
Time: 15:00 UTC+2
Duration: Approximately 1 hour
Article
Ever wondered how breaking abstraction contracts can turn your code into a ticking time bomb? Discover the hidden pitfalls and essential tips to keep your Kotlin projects stable with the article by Marcin Moskala.
Article
Discover why `Job` is crucial in Kotlin Coroutines!

Understand its role in managing states, lifecycle, and synchronization.
Article
Learn why defining contracts with documentation is crucial. Dive into the article by Marcin Moskala and elevate your Kotlin knowledge now!
Article
Learn how to:
👉 control thread execution with Coroutine Dispatchers,
👉 harness the power of coroutines with Dispatchers.IO and the limitedParallelism function,
👉 create custom dispatchers with independent thread limits to optimize your app's performance.
Block threads efficiently, and see the difference! 🔥
Article
Ever wondered why API stability is crucial for seamless development and how to specify it? 🤔

Don’t let unexpected shifts in a supposedly stable API surprise you. Learn how to navigate these challenges and dive deep into versioning systems like Semantic Versioning (SemVer). 💡✨
Article
Dive into over 40 new exercises, refined chapters, and practical examples to master Kotlin Coroutines. Whether you're a beginner or an advanced developer, this edition is tailored for you. Upgrade today and transform your Kotlin skills! 💡
Article
Marcin Moskala's groundbreaking article unveils the shocking truth about thread usage in popular Kotlin network clients.
The results will revolutionize your approach to optimizing applications with Kotlin Coroutines
Article
Discover how minimizing visibility enhances maintainability and reduces complexity.

Learn the art of crafting robust classes with restricted elements, ensuring easier maintenance and fewer surprises down the road.
Article
Learn more in Item 28 of Effective Kotlin. Wrapping offers stability amidst changes, freedom to adjust APIs, and seamless transitions to alternative libraries.
Article
In this article, Renato Costa explores practical examples and unleashes the full capabilities of Kotlin Flows for your application development needs.
Article
Everything you need to know about the cancellation mechanism in Kotlin Coroutines from predicted results to unexpected behaviour.
Article
The transition from traditional blocking systems to non-blocking systems often creates confusion. According to Renato Costa - it doesn’t have to be so tough.

Handling concurrent requests couldn’t be easier and here’s why.
Article
Now in Kotlin, you can use the underscore operator for generic type arguments, when you want one type argument to infer, when you specify another.

That is now explained in Kotlin Essentials book & this article 👇
Article
Please remember that even if you just implement a suspending function, and you specify some cleanup in the final block, and this cleanup requires a suspending call, you should use withContext(NonCancellable) to make sure that the cleanup will be done even in case of cancellation.
Article
Need to use SecurityContext or ThreadLocal on Kotlin Coroutines?
You can use them thanks to ThreadContextElement.
Article
Get to know the facts about how we abstract elements, and what are the consequences.
Article
Why each function should be written in terms of a single level of abstraction and how to achieve it.
Article
The most efficient dispatcher for blocking operations?

🤩 Dispatchers.Loom, which operates on virtual threads from Project Loom. But to use it, you need to enable this Java feature and create this dispatcher.
Article
What is abstraction in programming and why is it so important?
Discover the essence of abstraction and its role as the article unfolds the principles behind creating and using abstractions.
Article
Learn the importance of extracting utility functions for your programs.
Why? 🤔
To avoid reinventing the wheel and optimize your code.
Goodbye to repetitive algorithms! 👋
Article
All you need to know about Static Code Analysers and Detekt
Article
Why knowledge repetition is so problematic and how it relates to the single responsibility principle.

Showing the last 30 only...