

Fragmented - AI Developer Podcast
Kaushik Gopal, Iury Souza
Fragmented is an AI developer podcast for engineers who want to go beyond vibe coding and ship real software.
We cover AI-assisted development the way working engineers actually use it: prompting strategies, code review, testing, debugging, workflows, and building production-grade software with AI tools. No hype. No "I shipped a SaaS in a weekend" stories. Just tactics that work.
Hosted by Kaushik Gopal and Iury Souza — software engineers using AI daily to build and ship real products.
From vibe coding to software engineering — one episode at a time. Our goal: help you use AI to become a better engineer, not be replaced by one.
We cover AI-assisted development the way working engineers actually use it: prompting strategies, code review, testing, debugging, workflows, and building production-grade software with AI tools. No hype. No "I shipped a SaaS in a weekend" stories. Just tactics that work.
Hosted by Kaushik Gopal and Iury Souza — software engineers using AI daily to build and ship real products.
From vibe coding to software engineering — one episode at a time. Our goal: help you use AI to become a better engineer, not be replaced by one.
Episodes
Mentioned books

Feb 22, 2016 • 9min
029: All about the infamous 65,536 dex method count
If you've been an Android developer in the last 2 years, you must have seen this dreaded exception: dex: method ID not in [0, 0xffff]: 65536
Quick googling would immediately bring up the phrase "65K method count" and the recommended solution "multi-dexing". But if you want to really understand this mysterious number and the reason behind its existence, listen on!
Show Notes
Official Dalvik specification [source.android.com] (look for invoke- prefix methods)
Android and the Dex limit (great post)
ADB Ep 11 : ART, pART 2 (Trash Talk) (discussion on ART)
MultiDexing [developer.android.com] (solution to your 65K method count woes)
Contact
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Feb 15, 2016 • 38min
028: Tips & Tricks for Android developers
Feast yourselves to a grand bonanza of tips and tricks with this episode! Donn and Kaushik talk about the tips and tricks they've picked up over the course of 2015.
Android Dev Summit demo - Structural replace [youtube.com]
Software Design patterns [wikipedia.org]
Reformatting code:
Reformatting Source code [jetbrains.com]
Reformat dialog [jetbrains.com] (only VCS changed text)
Library dependency management:
JitPack (publishing jvm and android libraries)
Internal library dependency managment - Kelly Shushter
Hadi Hariri on Fragmented Ep 20 talking Intellij shortcuts
Using UiAutomatorViewer to help write espresso tests - Ep. 23: Caster.io [caster.io]
git pre-commit hook [gist]
Intellij - work with embedded Terminal [jetbrains.com] (yes, you can customize btw zsh/bash)
KG's Update script - morning ritual [gist]
Cyril on Grid Spacing on Android [cyrilmottier.com] (showdividers/divider)
Tor's issue on maven vs jcenter [code.google.com]
Contact
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Feb 5, 2016 • 44min
027: Talking Realm with Christian Melchior
Realm pro and overall genius Christian Melchior joins us in this episode to talk about all things Realm.
Show Notes
Realm.io for Java/Android
Martin fowler on schema-less
github issue on extending Realm Object
Caster.io video tutorial - Intro to Realm for Android Devs
Christian's talk at Droidcon NYC 2015 [youtube.com]
Contact
@chrmelchior [twitter.com]
@realm [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Jan 21, 2016 • 41min
026: LetMeExplainYou AndroidDev like a pro
In this episode Donn and Kaushik chat with the one and only Israel Ferrer Camacho (@rallat). They discuss a talk Israel gave sometime back on "Android development like a pro", exchanging war stories on patterns like MVP, MVVP clean architecture etc.
Show Notes
Rallat's slides [pdf]
Rallat's sample repo using different patterns [github]
Burrito Design Pattern [twitter.com]
Working Effectively with Legacy Code [amazon.com]
The Clean architecture [blog.8thlight.com]
Uncle Bob's talk on Vimeo
Awesome Picks:
Rallat:
Rallat's tweet on Dagger 2 & Scope Provider
Music for the week! The Weeknd
Cmd Shift A - one shortcut to rule them all
Donn:
Philly ETE (April 11/12) (Donn's giving a talk)
Life is Short [paulgraham.com]
7 videos on UI Testing and TDD with Espresso : Caster.IO
Kaushik:
Create a pared-down "lite" version of the app
Pancakes library - alternative to Fragment Manager for views
Contact
@rallat [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Dec 28, 2015 • 12min
025: Effective Java for Android developers : Item 7
In this mini Fragment, we introduce Joshua's seventh Item and a momentous end to the first chapter: Avoid finalizers
Stay tuned for more items from our "Effective Java for Android developers" Fragment series.
Show Notes
Effective Java (2nd Edition) - Joshua Bloch
Avoid finalizers
If you don't know what they are, ignorance is bliss. If you know what they are, avoid them!
Finalizers in Java != destructors in C++ (C++ counterparts to constructors).
In C++ destructors
you reclaim resources here (Java has GC)
you also reclaim non-memory resources (use the try-finally block in Java)
(unpredicatable amt of time between object becoming unreachable and finalizer being executed) Never do anything time critical in finalizer!
System.gc + System.runFinalization increase chances - no guarantee
System.runFinalizersOnExit + Runtime.runFinalizersOnExit are the ones that do - but they are fatally flawed
Java 7 has try with resources, which is also interesting and auto-closeables. [Android] devs can only dream of these.
If an uncaught exception is thrown in a finalizer, it is ignored, and the finalization abruptly terminates.
Severe performance penalty for using finalizers - (one e.g.) time to create and destroy simple object goes from 5.6ns -> 2400ns
Only valid use: as a safety net or to terminate noncritical native resources.
[Android] you're probably better off using Android's lifecycle methods.
Contact
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Dec 15, 2015 • 13min
024: Effective Java for Android developers : Item 6
Joshua's sixth Item: Eliminate obsolete object references , in a distinctively croaky voice.
Stay tuned for more items from our "Effective Java for Android developers" Fragment series.
Show Notes
Effective Java (2nd Edition) - Joshua Bloch
Eliminate obsolete object references
Supplemental reading (for the diligent ones that follow shownotes)
Do click listeners leak memory? [stackoverflow.com]
Square's LeakCanary
How to leak a context - Handlers and inner classes [androiddesignpatterns.com]
Avoiding Memory leaks [android-developers.blogspot.com]
Contact:
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Nov 30, 2015 • 35min
023: Android Dev Summit Recap
Donn and Kaushik cover the happenings of Google's very first Android Developer conference - "Android Dev Summit". Together, they attended the conference both virtually and physically! Listen on for the highlights.
Android Dev Summit Schedule
AndroidDev Twitter account
Sessions
Android Dev Summit 2015 Keynote [youtube]
Android Studio for Experts [youtube]
Android Testing [youtube]
Firechat - Framework team [youtube]
Firechat - Android Tools and Testing team [youtube]
Sample projects
Android Topeka [github]
Android Bootstrap [github]
u2020 [github]
Google code labs + github link
Contact us:
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Nov 20, 2015 • 12min
022: Effective Java for Android developers : Item 5
In this mini Fragment, we introduce Joshua's fifth Item: Avoid creating unnecessary objects.
Stay tuned for more items from our "Effective Java for Android developers" Fragment series.
Show Notes
Effective Java (2nd Edition) - Joshua Bloch
Avoid creating unnecessary objects
Google says - Avoiding creating unnecessary objects too
Episode 10 with Michael Bailey - String optimization
Snippet to demonstrate AutoBoxing problems
// sum of all positive values
Long sum = 0L;
for (long i=0; i Integer.MAX_VALUE; i++) {
sum+=i;
}
Contact:
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Nov 13, 2015 • 1h 15min
021: Diving Deep with Dagger
In this episode, Kaushik and Donn dive deep into the Dependency Injection library - Dagger. We have a cameo by Dagger creator Jesse!
Show Notes
In other news
Donn in a Banana Suit
KG as a Storm Trooper
AndoridTO
020 – Talking Kotlin with Hadi Hariri
Google entering podcast scene and we're on it
Dagger
Topological Sort
Jesse Wilson Cameo
Dagger Linker class
Jesse's MiniGuice proof of concept
Avoiding injects with library
Assisted Injection for Dagger
AutoFactory
caster.io
Activity Test Rule
Other great references
Jake Wharton - Architecting Android Applications with Dagger
Awesome picks:
Donn's picks:
Dagger 1 [caster.io]
Intro to RxJava for Android Developers [caster.io]
Intro to Realm for Android Developers [caster.io]
Custom Silicone earbuds [howtogeek.com]
DHH - Reconsider [medium.com]
KG's picks:
Cold start illusion [github.com]
Song Exploder - House of Cards [songexploder.net]
Song Exploder - Game of Thrones [songexploder.net]
Contact us:
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]

Oct 26, 2015 • 1h 24min
020: Talking Kotlin with Hadi Hariri
A tonne of folks have been asking for a show on Kotlin. We got the best person in the business to take us through what could possibly be our new hope.
Show Notes
No tabs in Intellij [hadihariri.com]
Jetbrains products
Java - IntelliJ
.Net - ReSharper
CI server - TeamCity
Issue tracking - YouTrack
Smaller IDES
Web/Node.js - WebStorm
Python/Django - PyCharm
Ruby/Rails - RubyMine
C++ - CLion
ObjectiveC - AppCode
Hadi's 3 tips for Intellij
Don't use the Mouse! Mouseless driven development [vimeo.com]
Cmd Shift A - look up other commands
Don't use the Find box to find things: Prefer shortcuts like Cmd O/Cmd Shift O
Kotlin
Kotlin - An open source JVM targeted language
Jake's doc on Using Project Kotlin for Android [docs.google.com]
Execution in the kingdom of nouns [blogspot.com]
Kotlin : a new hope - talk by Michael Pardo [realm.io]
Tony Hoare saying Null is his Billion dollar mistake [wikipedia.org]
Getting started with Kotlin
Kotlin Tutorials [kotlinlang.org]
Kotlin Koans [kotlinlang.org]
Try Kotlin online : online & interactive [kotlinlang.org]
Kotlin in two minutes [youtube.com]
Kotlin Slack channel [slack.com]
Books:
Antonio's book on Kotlin [leanpub.com]
Kotlin in Action [manning.com]
Kotlin tools
Anko [github.com]
Kotlin Android extensions [kotlinlang.org]
Sample projects with Kotlin
Palette Helper [github.com]
Cinesapp Android Kotlin [github.com]
Kotlin demo [github.com]
Misc
Killing off Wasabi: Part 1 [fogcreek.com]
Killing off Wasabi: Part 2 [fogcreek.com]
Awesome picks:
Hadi Hariri
The collapse of the US-EU Safe Harbor: Solving the new privacy Rubik’s Cube [http://blogs.microsoft.com/]
JavaOne Conference [oracle.com]
Kaushik Gopal
When looking for solutions to a problem, search the source code first before StackOverflow
When working on a feature, change your launcher activity (temporarily) to the one you're working on
Donn Felker
git - assume unchanged [stackoverflow.com]
The Martian Audio Book [amazon.com]
Antonio's book on Kotlin [leanpub.com]
Also check out his blog [antonioleiva.com]
Contact us:
@hhariri [twitter.com]
@fragmentedcast [twitter.com]
@donnfelker [twitter.com]
@kaushikgopal [twitter.com]


