Implementing Server-Sent Events with Spring Boot and Android
With HTTP/2 we can no longer use Web Sockets, so when we need to push data to the client from the server we need an alternative way. This is where Server-Sent Events come in. In this post, I will show how to implement it both in the backend, using Spring Boot, and on an Android client.
Bluetooth LE for modern Android Development - part 3
This is the final part of my new series on Bluetooth Low Energy for Android. It took much longer to complete this post than I expected, much because I rewrote parts of the code I show here when I found a better solution. In my last two [https://www.hellsoft.
Bluetooth LE for modern Android Development - part 2
In the previous post, I introduced the three major BLE-related news that came with Android 8.0. As that version was released in August 2017, I consider it safe to have Android 8.0 as the minSdkVersion today. The chance that you have a significant number of users on older
Profiling View performance on Android
I recently had a situation where I needed to change from LinearLayout to FlexboxLayout [https://github.com/google/flexbox-layout]. Before I could implement this change I needed to be sure we didn't make the UI slower in any way. In this post I'll describe the process for measuring the performance
Rendering Markdown with Jetpack Compose
Most developers are familiar with the Markdown format. We use it for simple README files in our git repos or for writing blog posts. It's a powerful and yet simple format that allows us to write documents with rich text formatting, without the need for an advanced word editor. The
Bike-shedding, or the Law of Triviality
A city council is presented with the plans for a new nuclear power plant and needs to make some decisions on some details left open by the planners. These details can span from highly technical to very trivial, like the specifications for the nuclear reactor to the colour and material
In this post I'll explain what non-blocking I/O is, how you can use it, and when it might be useful. The code examples will be in Kotlin and running on the JVM, but the principles behind this would work regardless of programming language as this is usually supported through the kernel of your OS.