To help my kids learn programming, we decided to build our own Smart Home system. This is Part 1 of the series, setting up the development environment and getting the room temperature.[Read More]
Cancelling coroutines is easy, right?
Get notified when bound client is dead
New York Times: Asians 'vividly overrepresented'
Asian Americans are doing a fantastic job in the Winter Olympics. But instead of celebrating the success, New York Times decided to launch a new round of racial attacks.[Read More]
New Bluetooth permissions in Android 12
Understanding BLE throughput on Android
We have been told that the BLE can reach a throughput of 1 Mbps (or 2 Mbps with Bluetooth 5.0). But why do we always feel it’s extremely slow in practice? In this article, I will try to explain this, and how to improve throughput on Android.[Read More]
Getting started with Kotlin Multiplaform Mobile (KMM)
Model-View-Intent Design Pattern on Android
All Democratic Senators voted for racial discrimination against Asians in higher education
Yes, you read it right: today, all Democratic Senators voted to allow racial discrimination against Asians in higher education. And yes, all Republican Senators voted against the discrimination.[Read More]
Three Programming Paradigms
In this article, we talk briefly about the three programming paradigms that are widely used: structured programming, object-oriented programming, and functional programming.[Read More]