# how-to

Monday, February 21, 2022

Implementing a single class Java parser for semantic versioning with correct precedence ordering

I have this love/hate relationship with semantic versioning. It’s great for libraries, but not so great for apps as it tends to confuse users. The really annoying thing, though, is the rattail of pre release and meta tags that may be appended and the insanely complex rules that must be followed when you do. I mean, just take the following three examples: 0.9.1+Yellow 0.9.1-alpha.1.one 0.9.1-alpha.1.1+Blue All of them are valid semantic version identifiers.[…]
Tuesday, December 7, 2021

Programmatically calling into the Android runtime from ADB shell commands

A step by step instruction for building ADB shell tools that can be run from the commandline and call into the Android framework.