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 ab...
Jun 08, 2020β’5 minβ’Ep. 198
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 wi...
May 04, 2020β’57 minβ’Ep. 197
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 Doo...
Apr 27, 2020β’45 minβ’Ep. 196
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 Ste...
Apr 20, 2020β’54 minβ’Ep. 195
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 Instagra...
Apr 13, 2020β’34 minβ’Ep. 194
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 a...
Apr 06, 2020β’56 minβ’Ep. 193
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 bac...
Mar 17, 2020β’29 minβ’Ep. 192
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 bu...
Mar 09, 2020β’50 minβ’Ep. 191
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 Micro...
Feb 24, 2020β’33 minβ’Ep. 190
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 Instagra...
Feb 17, 2020β’31 minβ’Ep. 189
Shownotes In this episode KG and Donn talk about KG's recent jaunt with Docker. In the attempt to setup continuous deployment for his blog, KG explains his simple requirement and how it lands up requiring some basic Docker. Donn then closes it out with some interesting in-depth knowledge on how to use Docker Personal website hosting Donn Felker Kaushik's website html-proofer Wordpress jekyll static website blogging Domain checking services Domainr Lead Domain Search Docker Docker Hub Circle CI :...
Feb 03, 2020β’1 hr 4 minβ’Ep. 188
It finally happens! KG and Donn talk about Coroutines with two experts at Google Manuel & Sean. We've waited quite sometime on Fragmented to discuss this topic. We wanted to make sure Coroutines was mature enough to be compared with the contenders. Listen to find out more! Resources Chris Banes - Suspending over Views Animations & CoRoutines KotlinConf 2018: Exploring coRoutines in Kotlin Coroutines Guide Coroutines test library Codelab: Kotlin Coroutines Codelab: Kotlin Advanced Corouti...
Jan 21, 2020β’1 hr 5 minβ’Ep. 187
In this episode, Donn and Kaushik talk about some changes coming down the pipe for the podcast and what it means in the long run. Want to know what the changes are? Well, you're going to have to listen to the show... click play and listen away. Once again, thank you all for joining us on this journey, it's been a fun and wild one. Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)...
Jan 06, 2020β’11 minβ’Ep. 186
In this decompress episode, Donn and KG talk about how their 2019 went. It goes from Dagger talk to Kotlin talk to Kotlin Conf talk. Give it a listen and enjoy! Sponsors π Square Square has SDKs and APIs to make payments and run a business. Even better, Square has a new YouTube channel for developers! Check out Square's new YouTube Channel for Developers at youtube.com/squaredev and let them know you heard about it from us. Contact Discord chat or @fragmentedcast or our Youtube channel @donnfel...
Dec 16, 2019β’58 minβ’Ep. 185
In this episode, Kaushik tries to talk through this question. Thanks to friends of the show Jeroen , Yigit and a bunch of others who ran through some ideas on this one. Application.registerActivityLifecycleCallbacks Android X Lifecycle Component Ep 16: Favor composition over inheritance Sponsors π Square Square has SDKs and APIs to make payments and run a business. Even better, Square has a new YouTube channel for developers! Check out Square's new YouTube Channel for Developers at youtube.com/...
Dec 02, 2019β’23 minβ’Ep. 184
How do you know what to test when you don't even know how to write the code that you need to test? This is a paradox that many developers find themselves in daily. In this episode Donn talks about his strategy for dealing with unknowns in programming, namely around testing and how to figure out how to write tests for new code that might be difficult, unfamiliar or even legacy code. Links Ron Jefferies Tweet Luxman Tweet Donn Tweet What is a Spike? Sponsors π Square Square has SDKs and APIs to m...
Nov 25, 2019β’20 minβ’Ep. 183
App Modularization has plenty of benefits and a lot of Android devs today are starting to modularize their android app. A common problem though that most folks will start to run into is - how do you manage your database objects in these modules? do you create a single module with all your database dependencies (modularize by layer), do you do the right thing and modularize by feature so each module has it's own database file etc.? In this episode Kaushik grapples with that question and tries to ...
Nov 18, 2019β’28 minβ’Ep. 182
In the world of Functional programming where pure functions don't encourage side-effects, how does on actually do any IO? So in this brave new world where everyone is adopting more FP principles, do we just stop doing database operations? Listen to this episode to find out. Functional Programming basics Ep 83 : Learning the basics of functional programing with Anup Cowkur Ep 120 : Functional Programming with Kotlin Arrow team Ep 121 : Functional Programming with Kotlin Arrow team (Part 2) Unidir...
Nov 13, 2019β’22 minβ’Ep. 181
In this episode of Fragmented, Donn talks about when it's appropriate to comment your code. Donn then dives into the types of code comments, when you might want to comment vs when you might not want to (depending upon your consumer) and then gets into how he decides to comment his code with a simple two-step process. Enjoy! Things Mentioned Commenting Code Post Sponsors Bitrise Build amazing apps in Java, Kotlin or whatever tech you prefer and use Bitrise to automate your Android integration, bu...
Nov 04, 2019β’15 minβ’Ep. 180
In this episode of Fragmented, Kaush breaks down how he begins creating and writing technical talks, using a talk he's about to give at the Mobilization Conference. Enjoy! Things Mentioned Mobilization conference - KG is about to give a talk at Post it notes pic1 pic 2 My Speakerdeck San Jose Theme Nick Butcher - speakerdeck Cyril Motier - speakerdeck Sponsors Vettery Vettery is an online hiring marketplace that is changing the way people hire and get hired. Make a free profile, name your salary...
Oct 28, 2019β’42 minβ’Ep. 179
As Android developers we know Java and now Kotlin. But to become even more seasoned developers, learning newer languages can be a level booster. The list can go on and on, especially if you've been in the industry awhile. So, when does it make sense for you to learn a new language? When should you learn a new language? When does it make sense? How do you do it? In this episode KG and Donn discuss the merits of learning new languages, what new languages theyβve picked up and how they feel its imp...
Oct 14, 2019β’35 minβ’Ep. 178
How do you know if some code is over-engineered? What does that even look like? How do you know if you're over-engineering the code that you're writing? What if you recently started at a new company, how do you know if the code you're working with is over-engineered? In this episode, Kaushik and Donn go back and forth on this topic ... Sponsor This episode is sponsored by Instabug - Understand How Your App is Doing with Real-Time Contextual Insights From Your Users Contact Discord chat or @fragm...
Oct 07, 2019β’31 minβ’Ep. 177
Kotlin isn't a magic bullet that prevents NullPointerExceptions. Not at all. What Kotlin does do is force you to think about how you want to handle your nulls. through Kotlin forcing you to think this through, the hope is that you'll avoid NullPointerExceptions. The only problem is, Kotlin has the !! operator, also known as the "Not Null Assertion Operator". This operator basically says "Hey Kotlin, trust me, I'm a pro, I know what I'm doing ... I KNOW THIS WON'T BE NULL". This... is a code smel...
Sep 30, 2019β’16 minβ’Ep. 176
One question that Kaushik and I get all the time is this ... I'm starting to learn how to build Android apps, which language should I learn? Kotlin or Java? In this episode Donn answers this question and gives valid points on why both languages are valid options and why you might want to consider one over the other. He provides caveats to why you might want to use one language over another and some of the trade offs of Java and Kotlin and how they operate together. If you're wrestling with this ...
Sep 23, 2019β’20 minβ’Ep. 175
Kaushik is back in this weeks podcast. π Donn and Kaushik talk about testing RxJava streams with a Kotlin extension method and how and when to test various scenarios. Donn talks about his thoughs on the Testing Pyramid and why he think's its incorrect and how you can help shift your thinking in regards to it. They then talk about IDE themes and how the theme can help you with your day to day development and more. They wrap up with some talk about devleoping on Mac's vs Windows and Linux. We hop...
Sep 02, 2019β’40 minβ’Ep. 174
This week Donn talks about what pattern you should use when developing your application. Is it MVP? MVVM? Mabye MVI? Perhaps it's something else. Find out in this episode. We hope you enjoy ... Shownotes Patters MVP Pattern MVVM Pattern MVI Pattern MvRx Clean Arhictecture Mocking Out the API in Espresso MockWebServer Course WireMock Android Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)...
Aug 26, 2019β’13 minβ’Ep. 173
In this episode Donn and Kaushik sit down with Instacart Engineer Colin White to discuss a new image library he has created called Coil. Coil is a Kotlin-first image library that focuses on ease of use, simplicity and extensibility. In this episode we ask him the question you're probably wondering ... "Why create an image library, isn't this a solved problem already?" and then move onto the details of how the library works, and what it offers developers. From Donn's perspective - It's an interes...
Aug 12, 2019β’57 minβ’Ep. 171
This week Donn and Kaushik talk to Leland Richardson from the Android team at Google about Jetpack Compose. Jetpack Compose is declarative component-based UI runtime for Android. With compose you can build your UI with functions in Kotlin to easily "compose" what your UI would look like. We dive deep in this episode. We talk about the background and influence React had on the project, we dive deep into some of the decisions made regarding the library and much much more... We hope you enjoy ... S...
Jul 29, 2019β’1 hr 12 minβ’Ep. 172
In this episode, Donn talks about public speaking and how it can help you grow your career. He dives in by telling a story of his first speaking engagement and how he was riddled with fear, insecurity, doubt and anxiety. He then talks about why speaking can help you grow your career and life leaps and bounds. He wraps up with possible things you can speak about when starting out as well as where you can get your break into the speaking circuit. Shownotes Fragmented #154 - Developer Growth: Start...
Jul 23, 2019β’33 minβ’Ep. 170
Marcel Schnelle joins Donn in this episode to talk about how to get your application under test and some steps to go from scared to confident in your testing process. The second half of the show they dive in deep to JUnit 5 and its new features. JUnit 5 is backwards compatible with JUnit 4 and offers a slew of new features and extensibility points which make the framework much more appealing going forward. We're convinced you'll enjoy this episode and leave wanting to get your app under test - e...
Jul 15, 2019β’1 hr 7 minβ’Ep. 169