
Fragmented - Android Developer Podcast
The Fragmented Podcast is the leading Android developer podcast started by Kaushik Gopal & Donn Felker. Our goal is to help you become a better Android Developer through conversation & to capture the zeitgeist of Android development. We chat about topics such as Testing, Dependency Injection, Patterns and Practices, useful libraries, and much more. We will also be interviewing some of the top developers out there. Subscribe now and join us on the journey of becoming a better Android Developer.
Latest episodes

Jun 8, 2020 β’ 5min
βπ½βπΎβπΏ
We interrupt our regular programming for this extremely important message.We stand with our black sisters and brothers against the evil that is racism. The recent events of police brutality and oppression against black people have been truly horrifying.Please take the time to listen to the audio snippet on the #BlackLivesMatter movement from today's episode. It is a TedX talk by the far more eloquent Kennedy Cook who's voice and words are more powerful than ours.We've never been very vocal about political issues at Fragmented. But that doesn't mean we don't care about these issues. On the contrary! We do our best to have our actions speak louder than our words and let others with first hand experience speak out. Then importantly we aim to listen.But these aren't regular times are they? The horrifying brutality we're seeing against people of color is nauseating. The Covid-19 outbreak has made action particularly difficult so for today we will start with these words.How to help:change.org [racial justice]

May 4, 2020 β’ 57min
197: .git internals with Gordon π§
OK, If you really want to know how git works, this is the episode for you.
KG talks with his longtime colleague and mentor Gordon McCreight. Gordon is a
wiz in general but his knowledge of git goes deep. So in this episode, KG goes
solo and really dives in-depth about how git works.
Buckle up and listen on; you'll come out on the outer side with a much
sounder understanding of git.
Shownotes
Plumbing and Porcelain
commands
git gc vs
prune
Objects which are no longer referenced can be evicted with git prune; though this is a low-level operation which is often called from git gc. By default it will not remove commits newer than 2 weeks old, and of course the commits that are reachable from that; so provided the branch (or tag) deleted has recent commits, it will stay around in the git repository for up two a fortnight afterwards.
Git internals by John Britton of GitHub - CS50 Tech
Talk
Sponsors π
Educative.io
Learn and practice Android development from inside your browser. Visit Educative.io/Fragmented to get 10% off.
Contact
@gmccreight
@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Apr 27, 2020 β’ 45min
196: Composing with Leland π¨βπ¨
In this episode, we chat with friend of the show Leland Richardson. Leland is a
main contributor to Jetpack Compose. But in this episode, we pepper him with
questions on how he came to the position he's in viz. a reputed Software
Engineer contributing to probably the most cutting edge library in development
for Android.
This was a treat and inspiring episode! Listen on:
Shownotes
Jetpack Compose with Leland Richardson
Understanding Compose (Android Dev Summit
'19)
Adventures in Compose - The Doom fire
effect
Gap Buffer - Wikipedia
Learning Jetpack Conpose by example
Sponsors π
Educative.io
Learn and practice Android development from inside your browser. Visit Educative.io/Fragmented to get 10% off.
Contact
@intelligibabble
@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Apr 20, 2020 β’ 54min
195: Going on-call π¨
Have you ever gone on on-call rotations for your company? What is on-call? How
to operate a successful on-call strategy? What does on-call for mobile mean? What are some tools and
resources to help with on-call rotations?
In this episode Donn and Kaushik dive into these topics.
Shownotes
Firebase Crashlytics
Rollbar Integration
Ops Genie
Pager Duty
Statuspage.io
Status.io
Keyboard Maestro
Good resources
What happens when the pager goes off?
Why Your Engineering Teams need Incident Commanders
Steps to handle on-call
Triage
Coordinate
Mitigate
Resolve
Follow up (Root Cause Analysis or Post Mortem)
Sponsors π
Educative.io
Learn and practice Android development from inside your browser. Visit Educative.io/fragmented to get 10% off.
Contact
@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Apr 13, 2020 β’ 34min
194: Polyglot programmers π
What are Polyglot programmers, should you be one? Listen to this episode and find out!
Shownotes
KG's youtube screencast
awk programming language
Smart and Gettings Things Done : Joel
Sposky
Ep #119: Flutter with GDE Eugenio
Marletti
Learning Ruby: Why's poignant GUIDE to Ruby
Sponsors π
Educative.io
Learn and practice Android development from inside your browser. Visit Educative.io/Fragmented to get 10% off.
Contact
@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
kaushikgopal (on YouTube) or b.jkl.gg or @kaushikgopal

Apr 6, 2020 β’ 56min
193: Working from Home - Pandemic on hard mode π‘
Well, the world took a crazy turn and everyone's working from home now. How do
you work from home? An experienced developer who's done this before talks to a
newbie and discuss their thoughts.
Shownotes
Maker's schedule vs Manager's
schedule
git commit --allow-empty -m "todo: listen to fragmented" -m "send KG & DF tweet"
git squash &
merge
Instacart.com
Autonomous AI Smart desk
Android from the
trenches
Jarvis Bamboo Standing
desk
Ergo driven TOPO
footmat
Sponsors π
Educative.io
Learn and practice Android development from inside your browser. Visit Educative.io/Fragmented to get 10% off.
Contact
@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Mar 17, 2020 β’ 29min
192: What is your backup strategy? πΌ
Wordpress
title : 192: What is your backup strategy? πΌ
permalink : 192
In this episode, we talk about what a good backup strategy looks like and the
different kinds of data you should be backing up.
Stay safe and think about your backup strategies.
Shownotes
3-2-1 Backup Rule
The 3-2-1 Backup Strategy
The 3-2-1 Backup Rule β An Efficient Data Protection Strategy
Why 3-2-1 Backup Sucks
Backup Software
KG's primary Mac:
SuperDuper! by Shirt Pocket for bootable backups
Arq Backup for versioned backups -> Backblaze B2 Cloud Storage
rsync script that KG uses:
This mirrors both drives defensively (-n is dry run)
rsync --partial --progress --archive --update \
--verbose\
--human-readable\
--exclude='$RECYCLE.BIN' --exclude='$Recycle.Bin' --exclude='.AppleDB' \
--exclude='.AppleDesktop' --exclude='.AppleDouble' --exclude='.com.apple.timemachine.supported'\
--exclude='.dbfseventsd' --exclude='.DocumentRevisions-V100*' --exclude='.DS_Store'\
--exclude='.fseventsd' --exclude='.PKInstallSandboxManager' --exclude='.Spotlight*'\
--exclude='.SymAV*' --exclude='.symSchedScanLockxz' --exclude='.TemporaryItems'\
--exclude='.Trash*' --exclude='.vol' --exclude='.VolumeIcon.icns' --exclude='Desktop DB'\
--exclude='Desktop DF' --exclude='hiberfil.sys' --exclude='lost+found'\
--exclude='Network Trash Folder' --exclude='pagefile.sys' --exclude='Recycled'\
--exclude='RECYCLER' --exclude='System Volume Information' --exclude='Temporary Items' --exclude='Thumbs.db'\
-n\
/Volumes/xhd_strg/ /Volumes/xhd_strg_bkp
Misc
Wirecutter recommends SeaGate drives instead of the Western Digital Kaushik uses π€·ββοΈ
Sponsors π
Square
Check out the new Square YouTube channel for developers. Square has SDKs and APIs to make payments and run a business.
Contact
@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Mar 9, 2020 β’ 50min
191: Logging π²
Today we talk about logging. When to log, how to log, what to log - our thoughts on the subject.
Shownotes
GDPR
Android Logging priorities
LogDna
[Loggly](https://www.loggly.com/lp-loggly-general/
Datadog
Papertrail
Android logging: Timber by Jake
JS Logging: Winston
Google - libphonenumber
Fragmented Podcast Episode #145: Tracking Network Requests With x-Request-ID
Sponsors π
Square
Check out the new Square YouTube channel for developers. Square has SDKs and APIs to make payments and run a business.
Contact
@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and blog.kaush.co

Feb 24, 2020 β’ 33min
190: The Privacy of ***********
In this episode, Donn and KG talk about the post Tim Bray recently wrote - Why Google did Android. They then touch on Chrome becoming a monopoly and tips on what folks can do to be a little more privacy conscious on the web.
Shownotes
Why Google did Android
KG privacy notes 2019 -> 2020
DuckDuck Bang syntax
Google Chromium and Ad-blocking
Google to restrict modern ad blocking Chrome extensions to enterprise users
Google saying it isn't killing Ad Blockers. Ad Blockers Disagree
Misc
New Microsoft Edge is based on Chromium
Download Firefox
Firefox Multi-Account Containers add-on + Temporary Containers for the privacy conscious.
Follow up from a previous episode:
Svelte : framework that spawned from New York Times. Thanks Midhun.
Contact
@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal or blog.kaush.co

Feb 17, 2020 β’ 31min
189: The 2038 Problem
We've all heard of the Y2K problem, but there's also a similar coming up this 2038 for us programmers. In this episode we dive into the 2038 problem (... after of course talking about our opinions on new year resolutions).
Get 1% better every day folks... Listen here:
Shownotes
KG's 2020 New Year Resolution blog post
The Year 2000 problem
The Year 2038 problem
The Leap Year as Explained by Neil deGrasse Tyson
Contact
@fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal or blog.kaush.co