Ryan Harter
Incremental Maintenance
Values
Celebrate the code you didn't write
Start More Projects
Make Things Easy
Extending Coil
Screenshot Tests Are Manual Tests
Simple APIs are elegant APIs
Rounded Corners
Building Plugable Features on Android
Make a Prototype
Handling Dates & Times in SQLite
SQLDelight on the Server
Server Side Analytics with GoAccess
Replacing Mocks
Your Labor is a Product
Easy Android Scopes
Handling Transient Events
Encapsulating View State
Cloud Build Recipes - Saving the Build Cache
Cloud Build Recipes - Incrementing Build Numbers
Google Cloud Build for Android
Android Development on a Pixelbook
Introducing Billingx
Continuous Delivery for Android
AutoValue Extensions
A Deeper Look at AutoValue
An Introduction to AutoValue
Dealing with AsyncTask in Unit Tests
Should this be a library?
Wrapping Existing Libraries with RxJava
Using All the App Stores
Hosting a Private Maven Repo on Amazon S3
Custom Drawables
The Architecture effect of Test Driven Development
Styling Chromecast Icons
What's Your Intent?
Using Gestures
Kindly Asking for Ratings and Reviews
Building Dynamic Custom Views
Bringing Fragment to Android
A Modern CI Server for Android
Using Custom Compound Views in Android
Customizing the ListView
Two Months With the Moto X
Creating an Android Project
Getting Started with Git
Developing an Android App - Start to Finish
Android Emulation Done Right
What to Expect When Being Featured on Google Play
Almost Git-Flow
Automatic Versioning with Git and Gradle
Impress Your Users
Hashnote Version Distribution
Migrating Android Projects to Gradle
Going ICS Only
Introducing Gradle
Absorbing Google I/O
One Question: Why?
Credit Where Credits Due
Android Tips: Making a Custom Button out of Anything
Hashnote Featured on MakeUseOf.com
Everyone Should Code
The case for Fragment Callbacks
Hi There!