All Stories

The Good Fight

The Good Fight

“Mom, you did real good. Love ya.”

Al Al
The MVP/MVVM Conundrum

The MVP/MVVM Conundrum

So here’s something I think about frequently. We hear so much about clean this clean that. Where does this go. Where does that go. Here’s...

Al Al
An Experiment in Test Driven Development

An Experiment in Test Driven Development

“Make it work. Make it right. Make it fast.”

Al Al
Test Everywhere

Test Everywhere

“While you should archtitect your applications very thoughtfully, the limitations of the tools shouldn’t dictate your application architecture.” - Frictionless Android Testing: write once, run...

Al Al
Why Use Two IDEs?

Why Use Two IDEs?

Android Studio is a great IDE. And so is IntelliJ. But why use IntelliJ for developing Android Apps if we can’t do any Android related...

Al Al
Retrofit and Coroutines

Retrofit and Coroutines

I was thinking about enqueue vs execute in Retrofit. One does it’s own threading and the other just calls the api. So if I want...

Al Al
Adding Dagger2 to Android

Adding Dagger2 to Android

Dagger2 is a powerful dependency injection library. However, it can be confusing for the first-time user. And unless things are created in the correct order,...

Al Al
Method to Extension

Method to Extension

Suppose you have some Kotlin function that takes an argument and you want to convert it to an extension. There’s a keyboard shortcut for that....

Al Al
Cartesian Confusion

Cartesian Confusion

I was working on a fun Java project the other day. Part of the project involved moving values in a two-dimensional array. The code for...

Al Al
Powerful things you can do with the Markdown editor

Powerful things you can do with the Markdown editor

There are lots of powerful things you can do with the Markdown editor

Sal Sal