All articles
- Tips and Tricks for GitHub Actions Jan 2, 2021
- Improvements to inline classes in Kotlin 1.4.30 Dec 22, 2020
- Manually parsing JSON with Moshi Dec 21, 2020
- Android Password Store October release Oct 22, 2020
- Android Password Store September release Sep 21, 2020
- Tools of the trade: SDKMAN! Sep 2, 2020
- Android Password Store August release Aug 18, 2020
- Tools of the trade: fd Aug 18, 2020
- Tools of the trade: fzf Aug 10, 2020
- Tools of the trade: direnv Aug 4, 2020
- Android Password Store 1.10.2 patch release Jul 30, 2020
- Android Password Store 1.10.1 patch release Jul 23, 2020
- Why upgrade Android? Jul 23, 2020
- Android Password Store July release Jul 22, 2020
- Making a Bluetooth adapter work on Linux Jul 17, 2020
- Simple tricks for faster Rust programs Jul 5, 2020
- How Cloudflare proxies CNAME records May 8, 2020
- Switching my email to Purelymail Apr 13, 2020
- Dagger the easy way - Part 2 Mar 6, 2020
- Sunsetting Viscerion Feb 9, 2020
- Creating a continuously deploying static statuspage with GitHub Feb 5, 2020
- Adding social metadata to your Hugo sites Feb 3, 2020
- Dagger the easy way - Part 1 Jan 20, 2020
- Integrating comments in Hugo sites with commento Jan 20, 2020
- My Dagger Story Jan 11, 2020
- Server-side analytics with Goaccess Dec 17, 2019
- #TeachingKotlin Part 3 - Caveats coming from Java Dec 16, 2019
- Deploying Hugo sites with GitHub Actions Dec 4, 2019
- Publishing an Android library to GitHub Packages Nov 21, 2019
- Why I went back to the Gradle Groovy DSL Oct 25, 2019
- #TeachingKotlin Part 2 - Variables Sep 30, 2019
- #TeachingKotlin Part 1 - Classes and Objects and everything in between Sep 23, 2019
- #TeachingKotlin - Kotlin for Android Java developers Sep 20, 2019
- Tools for effective Rust development Sep 7, 2019
- Understanding and resolving SELinux denials on Android Jun 8, 2019
- How to get involved in open source May 31, 2019
- I'm gonna blog! May 30, 2019