Trello Android recently converted from using Gson [https://github.com/google/gson] to Moshi [https://github.com/square/moshi] for handling JSON. It was a bit tricky so I wanted to document the process. (For context, Trello Android primarily parses JSON. We rarely serialize JSON, and thus most of the
Kotlin comes with several high-level, generic standard functions that apply to any object: let(), run(), with(), apply(), and also(). If you're new to Kotlin you may be wondering when to use them. They're fairly inscrutable; the source [https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/src/kotlin/util/Standard.
Here are a few interesting aspects of Kotlin ranges [https://kotlinlang.org/docs/reference/ranges.html], some of which I've found to be less-than-intuitive. Ranging on Empty Pop quiz: What does the following code output? (1..3).forEach(System.out::print) (3..1).forEach(System.out::print) If you think