
Hot take : When Encapsulation Becomes Ceremony
Who Are We Protecting From Whom?

Coroutines are a concurrency design pattern used in programming to write asynchronous code in a more sequential and readable manner. Both suspending and blocking play a role in managing the flow of asynchronous code. Suspending In coroutine terminolo...

Before releasing your Android application, it's crucial to take proactive steps that minimize the risk of encountering bugs in production. While you can't eliminate all bugs, this article outlines key pre-deployment tasks to help you prepare your app...

As developers, we strive to create applications that are not only functional and user-friendly, but also optimized to utilize system resources effectively. Proper memory management is crucial for optimizing resources, enhancing performance, and conse...

When you are working on an application interacting with a backend, you will surely need to know if all your requests are executed correctly, in case of an error, you will need to know the request as well as the server response in order to debug. For ...

Sometimes in our code, we want to use something only in a certain scope, without which it won’t work properly. We can use context receivers to express constraints. This article aims to demonstrate one of the many use cases and problems that Kotlin co...

States are one of the most important concepts in Jetpack Compose, knowing how to use them is an asset for anyone who wants to use this tool. In this article, we will try to dissect this concept in order to understand it, no matter if you are a novice...