kt.academy Logo

Articles

In the world of AI, companies will need MORE developers, not fewer
1/11/2026
Marcin Moskała
Marcin Moskała

In the world of AI, companies will need MORE developers, not fewer

Why the rise of AI means an increased demand for skilled developers.

Learn morelearn more icon
The power of exercises: How to design them well
12/29/2025
Marcin Moskała
Marcin Moskała

The power of exercises: How to design them well

What are the main priorities when designing good exercises for a course or a book.

Learn morelearn more icon
Minimal setup for Compose Desktop
12/22/2025
Marcin Moskała
Marcin Moskała

Minimal setup for Compose Desktop

How to setup Compose to use it on desktop, for providing UI for scripts or a simple project.

Learn morelearn more icon
Suspending functions vs. Flow: When to use which?
10/28/2025
Marcin Moskała
Marcin Moskała

Suspending functions vs. Flow: When to use which?

A comprehensive guide to understanding the differences between suspending functions and Flow in Kotlin Coroutines, and when to use each.

Learn morelearn more icon
How to implement a random coroutines challenge generator
10/20/2025
Marcin Moskała
Marcin Moskała

How to implement a random coroutines challenge generator

A behind-the-scenes look at how to implement a generator of interesting challenges for learning Kotlin Coroutines.

Learn morelearn more icon
Discussing Kotlin Coroutines on Talking Kotlin Podcast
10/17/2025
Marcin Moskała
Marcin Moskała

Discussing Kotlin Coroutines on Talking Kotlin Podcast

An insightful discussion about Kotlin Coroutines on the Talking Kotlin podcast.

Learn morelearn more icon
Coroutines vs Reactor: When Elegance and Simplicity Crush Complexity
10/6/2025
Marcin Moskała
Marcin Moskała

Coroutines vs Reactor: When Elegance and Simplicity Crush Complexity

A comparison of Kotlin Coroutines and Reactor, highlighting the elegance and simplicity of Coroutines over the complexity of Reactor.

Learn morelearn more icon
Suspending functions into blocking functions or CompletableFuture
9/29/2025
Marcin Moskała
Marcin Moskała

Suspending functions into blocking functions or CompletableFuture

A guide on how to correctly convert suspending functions into blocking functions or CompletableFuture in Kotlin Coroutines.

Learn morelearn more icon
Kotlin Flow to RxJava or Reactor and vice versa
9/22/2025
Marcin Moskała
Marcin Moskała

Kotlin Flow to RxJava or Reactor and vice versa

A guide on how to convert Kotlin Flow to RxJava or Reactor streams and vice versa.

Learn morelearn more icon
Kotlin Coroutines and Swift
9/15/2025
Marcin Moskała
Marcin Moskała

Kotlin Coroutines and Swift

How to use Kotlin Coroutines in Swift projects, or Swift libraries from Kotlin Coroutines.

Learn morelearn more icon
Kotlin Coroutines and JavaScript
9/8/2025
Marcin Moskała
Marcin Moskała

Kotlin Coroutines and JavaScript

How to use Kotlin Coroutines in JavaScript projects, or JavaScript libraries from Kotlin Coroutines.

Learn morelearn more icon
runBlocking in practice: Where it should be used and where not
9/1/2025
Marcin Moskała
Marcin Moskała

runBlocking in practice: Where it should be used and where not

A comprehensive guide to using runBlocking in Kotlin Coroutines, including best practices and common pitfalls.

Learn morelearn more icon
New Cohort of Kotlin Coroutines Experts
8/25/2025
Marcin Moskała
Marcin Moskała

New Cohort of Kotlin Coroutines Experts

The grand goal of the Coroutines Mastery course.

Learn morelearn more icon
Flow from suspending functions and vice versa
8/18/2025
Marcin Moskała
Marcin Moskała

Flow from suspending functions and vice versa

A guide on how to convert suspending functions to Flow and vice versa in Kotlin Coroutines.

Learn morelearn more icon
Suspending functions or flows into callbacks
8/11/2025
Marcin Moskała
Marcin Moskała

Suspending functions or flows into callbacks

A guide on how to correctly convert suspending functions or flows into callback-based functions in Kotlin Coroutines.

Learn morelearn more icon

Loading more articles...

enpluatr