In this episode, we talk to our good friend and immutability champ Ryan Harter. We start off talking about the benefits and disadvantages of immutability, then we dive into Value types and the subtle difference with Value types. Finally we close out by talking about AutoValue and how you can extend it using the super nifty auto-value extension system for functionality like Parcelability, Json parsing etc.
Donn Felker: Kaushik, we’re back again, my friend.
Kaushik Gopal: Yes, we are. It’s another morning. What’s the time there?
DF: It’s 9:45 in the morning. It’s pretty early for you, right?
KG: Yes, it’s 6:45 here.
DF: Thank you so much for getting up that early. I know it’s difficult, especially when you’re working all hours of the night for a startup.
KG: Well, it’s enjoyable, especially when we have great guests on the show and great topics to talk about. So, who do we have on today?
Continue reading 066: Let’s talk Immutability, Value Types and AutoValue with Ryan Harter
In this episode we talk to Ty Smith about all things Developer Platform. Currently a tech lead at Uber, Ty has quite the illustrious career having worked on some of the biggest names you’ve heard like Uber, Twitter(Fabric), Evernote, Zagat etc.
Unlike regular client app development, Developer Platform spans a variety of interesting topics like building consumable SDKs, building libraries with good APIs, creating Android integrations and App to app communication via components like Content Providers, AIDL Integrations, Intent APIS and deep links.
We ask Ty how he got started in this field, how one should go about thinking about it and the interesting challenges that one would run across in this intriguing field.
Ty’s all star Dallas crew
Donn Felker: Okay, here we are again. How are you doing, Kaushik?
Kaushik Gopal: I’m doing well. How are you?
DF: I’m doing really well. I’m very excited about today’s topic. It’s something I’ve dabbled in for a couple of clients, but not at the level of the gentleman who we have on today’s show.
KG: Yeah, this gentleman is known for having a sound understanding of the subject.
Continue reading 065: Developer Platform engineering with Ty Smith
In this mini-Fragment episode, Kaushik talks about the process of Garbage collection and how it compares to Reference counting (which is the equivalent process in iOS).
How does each work? What are the differences? Which is better 😁 ? Listen on for all the juicy details…
Garbage collection (Android)
Reference counting (iOS)
Kaushik Gopal: I was talking to one of my colleagues who works on our iOS applications the other day. We started off the conversation talking about advantages and disadvantages of the different local database options—like Realm and SQLite.
Then he mentioned something that blew my mind. A parent-child relationship is a typical use case in any marginally complex system, and we were talking about how to model them in a local database. Then he said, “Yeah, you’ve got to be extra careful with those relationships. You don’t want retain cycles.” This sounded a lot like a memory leak to me, so I probed a bit further, and that led me to the idea behind this mini-Fragment episode: the world of garbage collection and reference counting.
Continue reading 064: Garbage Collection (Android) vs Reference Counting (iOS)
In this mini-Fragment episode, Donn talks about Item #13 of the Effective Java series – Minimize the accessibility of classes and members. You’ll learn why it’s important to limit the access on your public API, how it can help you with development and performance. You’ll also learn how changing a public API can affect the consumers of your API, for good and bad.
Donn Felker: Today, I’m going to talk about Item #13 from Effective Java, by Joshua Bloch. For those of you who are just joining us, Kaushik and I are covering all of the items inside this book in relation to how they apply to Android developers. We’ve already gone through the first 12, so I’ll be talking about #13: Minimize the accessibility of classes and members.
Joshua puts this very well right out of the gate, so I’m going to read this verbatim:
Continue reading 063: Effective Java for Android Developers – Item #13: Minimize the accessibility of classes and members
In this mini-Fragment episode, Donn talks about Item #12 of the Effective Java series – Consider Implementing Comparable. You’ll learn about how you can use the Comparable interface to give your code the extra sorting boost it needs. Work with Arrays.sort(), Collections utilities and even sorted data structures. Donn breaks down what it takes to implement the compareTo method of the Comparable interface.