140: ProGuard with Jeb Ware

We all know of ProGuard, we want to use it and like it. But let’s face it proGuard ain’t pretty. In this episode we have Jeb walk us through the magic of ProGuard.

We talk to Jeb Ware of American Express. Jeb works as an Android developer and has given some great talks on ProGuard. He walks us through what ProGuard is, how it works, advancements with R8 and more.

By the end of this episode, you should have a new found appreciation for proGuard and bravely approach adding proGuard to your projects.

Download

Shownotes

Contact

139: Static code analysis with Manu Sridharan

In this episode, Donn and Kaushik talk to Uber’s Manu Sridharan on static code analysis. Manu’s a badass who did his PhD on the subject! He explains how static code analysis works, how Uber leverages these tools in their app development pipeline and how we can use such tools to build high quality Android apps.

Download

Shownotes

Note from Manu:

I found the story I was thinking about: Reed Hastings founded the company that built the Purify tool for debugging memory errors in C programs before founding Netflix. But, that’s actually not a static analysis tool; it does dynamic analysis by adding extra metadata at runtime.

As far as the history of lint goes, from Wikipedia looks like Kaushik’s guess was exactly right as to why it’s called lint. Looks like the name goes back to the late 1970s.

Misc

Contact

138: Decompress – kotlin scripting

In this mini fragment, Donn asks KG about a recent hackathon side project that he worked on with Kotlin scripting.

We go into kotlin scripting (using kscript), pros cons, setting it up and more. We’ve added links some interesting resources, so you want to make sure you check out the shownotes for this one, so you too can explore kotlin scripting and see if it’s a fit for you.

Download

Shownotes

Existing solutions for poll/vote tabulation

Misc


// slick kotlin usage override fun onCreate(savedInstanceState: Bundle?) = super.onCreate(savedInstanceState).also { setContentView(R.layout.activity_something) // ... }

Sponsors

Contact

137: Decompress KISS DRY Testing

In this episode, DF and KG decompress. They start off talking about ideas around KISS vs DRY in software engineering. They move on then to talk about a dear topic – functional vs unit testing and then dive into some of the woes of having a testing infrastructure spun up. Also announcing our youtube channel!

Download

Sponsors

Contact

136: Kotlin Extension Functions

In this fragment episode, Donn talks about Kotlin extension functions. He discusses what they are, how to build them, why they’re useful, how to organize them, visibility and how to call them Java and much more.

Download

Show Notes

`

import android.view.View

fun View.gone() {
    this.visibility = View.GONE
}

fun View.visible() {
    this.visibility = View.VISIBLE
}

`

Contact