All Blogs
remember vs rememberSaveable
In Jetpack Compose, remember keeps the state across recompositions, whereas rememberSaveable also keeps it across configuration changes like screen rotation.
Evolution of HTTP
HTTP evolved from HTTP 1.0 to 1.1, 2.0, and 3.0, where each version solved the problem of the previous one, like new TCP connections and HOL blocking.
React Native vs Flutter
React Native uses JavaScript and the native UI components, whereas Flutter uses Dart and its own rendering engine to draw the same UI on all platforms.
Internals of RESP - Redis Serialization Protocol
RESP (Redis Serialization Protocol) is the text-based language that Redis clients and servers use to talk. The first byte of each message tells the data type.
Launch vs Async in Kotlin Coroutines
launch and async both start a coroutine in Kotlin. launch returns a Job with no result, whereas async returns a Deferred that gives us the result.
callbackFlow - Callback to Flow API in Kotlin
callbackFlow converts any Callback to Flow API in Kotlin. We send each value using trySend() and unregister the callback inside the awaitClose block.
Dalvik, ART, JIT, and AOT in Android
Dalvik is the old Android Runtime based on JIT (Just In Time) compilation, and ART is the newer one based on AOT (Ahead of Time) compilation.
Difference between == and === in Kotlin
In Kotlin, == checks structural equality using equals(), whereas === checks referential equality, which means whether both references point to the same object.
Configuration with Viper in Go
Viper is a Go package that finds, loads, and unmarshals configuration files. We will use it to load the configuration from an envfile in a Go project.