
Fragmented - AI Developer Podcast
269 episodes — Page 2 of 6

Ep 218218: Growth Mindset with Software Developer Alan Hill
In this episode, Donn talks to software developer Alan Hill about the Growth Mindset and how it applies to software development and life in general.They chat about pull request feedback lifecycle, learning new tech, and how applying a growth mindset can advance you in your career further than you could have imagined. They wrap up by going through Fixed Mindset vs Growth Mindset "back and forth" to discuss the differences.Mindset imageAlans LinkAlan Hill Social and Web LinksLinks from the showCan't Hurt Me - David GogginsMindset by Carol S. DweckExtreme Ownership - Jocko WillinkTom Bilyeu InstagramAndroidJobs.IOJob postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording).Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IODonn's Free E-Book on Freelancing/Consulting RatesFree E-Book on Freelancing RatesContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 217217: Working at a Big Tech Company vs Freelancing
In this episode, Donn talks about the difference between working at a big tech company vs freelancing.There are many pro's and con's for each. What is best for you? Listen to the episode and find out. AndroidJobs.IOJob postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording).Sign up to get notified of new jobs on a weekly basis as well. AndroidJobs.IODonn's Free E-Book on Freelancing/Consulting RatesFree E-Book on Freelancing RatesContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 216216: Code Conventions - Why It's Important to Follow Them
In this episode, Donn talks about the importance of following code conventions and coding styles in codebases. You'll run into various different coding conventions throughout your career. Sometimes it's as an employee, sometimes it's as a freelancer or consultant or just a small side project. The number of coding "styles" that you'll see will blow your mind as you work through your career. The big question is ... should you adhere to the current coding convention that is used in the app/file/etc or should you use your own favorite or an industry standard? In this episode, I'll help explain the differences so you can make an informed decision going forward.Links from the showMartin Fowlers BlogAndroidJobs.IOJob postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording).Sign up to get notified of new jobs on a weekly basis as well. AndroidJobs.IODonn's Free E-Book on Freelancing/Consulting RatesFree E-Book on Freelancing RatesContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 215215: From Side Project to Full Time via Watch Faces with David Whittaker and Ross Manges
In this episode, Donn talks to David and Ross from Squeaky Dog Studios about building a business out of a side project.David and Ross are long-time serial side project developers with experience that dates back to the Palm era. They've built games, apps, and now Watch Faces.We dive deep into how they went from building their watch faces for Android as a side project and how they turned it into a full-time business in which one of the co-founders works full-time. We talk about building the app, pricing, support, which features to build, paid vs free, trial conversions, supporting your app and much much more.If you've ever wanted to build a side project into a business, and it's app-based... this one is for you.Links from the showDavid and Ross's LinksAndroid Apps by Squeaky Dog Studios on Google PlayPhotowearJust A MinutePride TimeUnicornWearOther links by Squeaky Dog StudiosSqueaky Dog StudiosYouTubeCompany TwitterLinkedInInstagramFacebookDavid's TwitterAndroidJobs.IOJob postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording).Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IODonn's Free E-Book on Freelancing/Consulting RatesFree E-Book on Freelancing RatesContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 214214: 3 Things Every Developer Needs To Know How To Do
In this episode, Donn talks about the three things that every developer needs to know how to do. These three things include: How to identify and stop premature optimizationHow to write tests and know the difference between unit, integration and end-to-end tests.How to set up a continuous integration serverWhile there are vast arrays of other things all developers need to know how to do, and we will cover them in future episodes, this small list will help you vastly in your career. It has helped mine (Donn) a ton.Links from the showContinuous Integration Server PlatformsManaged ServicesGithubGitLabBitbucketAzure DevopsCircleCIBitriseCodemagicSelf hostedJenkinsTeamCityBookWorking Effectively with Legacy Code by Michael FeathersAndroidJobs.IOJob postigns are FREE on AndroidJobs.IO during the early release phase (at the time of this recording).Sign up to get notififed of new jobs on a weekly basis as well. AndroidJobs.IODonn's Free E-Book on Freelancing RatesFree E-Book on Freelancing RatesContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 213213: How to Pick What Technology to Learn Next
In this episode, Donn answers a listener's question. The listener wanted to know how to choose what to learn next in Tech.Donn provides 6 tips (actually 7 if you count a hidden one) on how to pick what technology to learn next. He provides a simple framework that will help you check whether you should pursue a particular technology or not.Links from the showStartups for the Rest of Us PodcastRob WallingAndroidJobs.IOJob postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording).Sign up to get notified of new jobs on a weekly basis as well.Post jobs and sign up here: AndroidJobs.IODonn's Free E-Book on Freelancing/Consulting RatesFree E-Book on Freelancing RatesContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 212212: Growing an Online Presence in the Software Industry with Philipp Lackner
In this episode, Donn talks with Philipp Lackner about growing an online presence within the Software Industry with Instagram and YouTube.ShownotesYou'll learn how Philipp went from 0 to over 80,000 followers on Instagram. This was done all organically by posting valuable content every single day to his feed.You'll also learn how he uses YouTube (as well as Instagram) as a marketing channel for his own course products that he sells via his site. We wrap up by talking about content strategy, what tools are used, captions and hashtags. This episode is chock full of great info if you're learning how to grow your following online.Tools that Philipp MentionedCanvaAdobe Creative Cloud - Photoshop/After Effects/IllustratorFreePik - Images and IconsCamtasiaLater.com - Social SchedulingContentRow.comFind Philipp Lackner online hereInstagramYouTubeTwitterLinkedInWebsiteDonn's Free E-Book on Freelancing/Consulting RatesFree E-Book on Freelancing RatesContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 211211: Why Learning React is Good For You as a Developer
In this episode Donn talks about why you need to learn React (or Flutter) - so you can truly understand the Unidirectional data flow pattern in a framework that was built for that purpose alone.Working with other frameworks which bolt on a custom unidirectional data flow is often hard to understand. When you work with React and learn how it works, the concept of Unidirectional data flow starts to make much more sense as that is the default way to implement UI's in technologies like React (and Flutter).This exposes you to the pattern and helps you understand it. In turn, this will help you become a better developer.Show NotesUnidirectional Data flow ImageHow to learn React:Tyler McGinnis Course on React (this is how I learned it)Tyler McGinnis React Hooks CourseHow to Learn FlutterRohan Taneja's Flutter from Zero to Hero Course (Free)Flutter Crash CourseDonn's Free E-Book on Freelancing RatesFree E-Book on Freelancing RatesContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 210210: Kotlin Multiplatform Mobile (KMM) with Mitch Tabian
In this episode, Donn talks with Mitch Tabian about Kotlin Multiplatform Mobile, also known as KMM.Mitch explains what KMM is, why he decided to use it, and how it works from a developer's perspective. The goal was to build an app and develop both the iOS and Android versions. Mitch talks about his experience in building a KMM app. We cover the pros and cons, what worked vs what did not, and his advice on using KMM going forward. Mitch also shares content about how to build native components in Jetpack Compose and SwiftUI as well as architectures used in his KMM project.Links from the showKMM DocsKMM Getting StartedJohn O'Reilly TwitterDiagram from Mitch for KMM clean architectureSQL DelightKtor Librarykotlinx-datetimekotlinx.serializationExpect-actualHacking with Swift Course100 days of SwiftUIIs KMM ready for production? - A Video by MitchD-KMP architectureFind Mitch online here:Mitch's TwitterMitch's InstagramMitch's YouTubeMitch's Website and CoursesMitch's KMM Clean Architecture diagramDonn's Free E-Book on Freelancing RatesFree E-Book on Freelancing RatesContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 209209: Secure Development Lifecycle with Glenn Leifheit
In this episode, Donn talks with Glenn Leifheit from Microsoft about a concept known as "Secure Development Lifecycle". Glenn is a Senior Security Program Manager at Microsoft.Glenn explains to you what the secure development lifecycle is, how it works and how you can implement something like this in your company. He also shares the top tips you can implement in order to get the quickest benefit of the Secure Development LifecycleLinks from the showApplication Inspector: GitHubDevSkim: GitHubAttack Surface Analyzer: GitHubOSS Gadget: GitHubRecursive Extractor: GitHubMicrosoft SDL: Microsoft Security Development LifecycleCodeQL: CodeQL for research | GitHub Security LabOWASP: OWASP Foundation | Open Source Foundation for Application SecurityOWASP Top 10: OWASP Top Ten Web Application Security Risks | OWASPOWASP Web Security Testing Guide: OWASP Web Security Testing GuidePython basic code analysis: Pylint - code analysis for Python | www.pylint.orgTypeScript basic code analysis: GitHub - typescript-eslint/typescript-eslint: Monorepo for all the tooling which enables ESLint to support TypeScriptFind Glenn online hereGlenn's LinkedInGlenn's TwitterDonn's Free E-Book on FreelancingFree E-Book on Freelancing RatesContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 208208: Developing Software at Startups with Jason Roberts
This is the original story of how Uber was built ... this is a fascinating story. You don't want to miss this. Donn talks to Jason Roberts. Jason was chosen to be Uber's CTO when the company was in its infancy (but didn't accept the offer). Jason shares the story of developing the code that eventually ran Uber from a couple of cars to a highly distributed system with an impressive amount of rides.We talk about building what is needed when it's needed, the tools that he chose to build Uber's platform on. Early startup learnings, and how Uber originally ran on PHP before he chose to move it to Node.js.Jason shares his story of how he met Travis (Uber's CEO who took it from a small company to a huge international corporation), how they built the systems, and team and much more. You'll learn how networking, working on interesting things, and seizing the moment and luck played into him landing his role at Uber.Finally, we wrap up by chatting a bit about how being a generalist in an early-stage startup is beneficial (vs being a specialist).Find Jason online hereJason's TwitterJason's BlogHow I Screwed up My Google AcquisitionJason's New Project - Math AcademyContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Consulting for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 207207: How to Optimize Your Home Office
In this episode, Donn outlines how you can optimize your home office so that you look, sound, and perform the best that you can. From audio to video, to your body, and everything beyond, it's covered here.ShownotesIn this episode, Donn outlines how you can optimize your home office so that you look, sound, and perform the best that you can. From audio to video, to your body, and everything beyond, it's covered here.Donn talks about everything you can do to improve your home office. From microphones, lighting, and webcams for your video calls to chairs, standing desks, and more. This episode has all the links below for all the products discussed.Take even 20% of the recommendations and apply them to your home office and you'll see a drastic difference in your productivity and happiness in your home office.Links to Items DiscussedMicrophonesAudio-Technica ATR2100x-USBBlue SnowballBlue YetiShure MV7Shure SM7B (High End) & CloudLifterLower Cost PreampHigh End PreampBoom arms for MicsRode PSA 1 Boom ArmHeil PL-2TGator Frameworks Boom (same one used on Joe Rogans podcast)WebcamsLogitech C920x HDLogitech Brio Ultra HD 4kDSLR HDMI Capture Card by Elgato - Camlink 4kDocking HubCalDigit TS3 Docking Hub for MacBrydge Vertical Dock for MacLightingLumeCube Video Conference Lighting KitLumeCube Suction Cup Mount (indluced in kit above)Benq Desklap (high end)HeadphonesJVC Xtreme-Xplosivs Wired Earbuds - Donn's Go toSony MDR-7506 Professional HeadphoneAudio Technical M20xNo, I don't use Bluetooth headsets at work, though many do. If they work for you, you might want to check out the Audio Technica ATHM50XBT's or the Bose Quiet Comfort 35'sChairsHerman Miller Aeron - make sure you know your sizeHerman Miller MirraSteelcase Leap V2Standing DeskAutonomous AI Standing DesksIKEA Bekant Standing DeskJarvis Standing DesksVariDesk Adjustable Standing DeskAnti-Fatigue MatsErgoDriven Topo Comfort MatCheap Anti-Fatigue MatMonitor and Monitor ArmsLG 5K Monitor - this thing is amazingAmazon Basics Monitor ArmErgotron Tall Monitor Mount (this is what I have)KeyboardKinesis Advantage 2 (my keyboard)Moonlander KeyboardMouseMagic TrackpadLogitech Trackman Marble Ergonomic MouseLogitech M570 Wireless Trackball MouseAir QualityAwair ElementDHH Video on Air QualityFocus MusicBrain.fmCoffitivityFreedom.toHeyFocus Mac AppSerene BlockerCold TurkeyMobility, Desk Ergo, and Back Pain ResourcesDeskbound Book8 Steps to a Pain Free BackFoot RubzLacrosse BallShoulder Pain ProtocolStanding Desk Video 1Standing Desk Video 2Standing Desk Video 3Contact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Consulting for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopalDisclaimer: Many of the links are affiliate links. They help suppor the production of Fragmented. Thank you for your support.

Ep 206206: DevOps for Developers with Will Button
In this episode, Donn talks with DevOps expert, Will Button about everything DevOps-related. If you're ever wondered how and what DevOps is, then listen in.ShownotesWill walks you through the definition of DevOps and how it's used in a company. You'll learn the 20% of DevOps you should know that will get you 80% of the benefit. You'll also learn about a bunch of automation technology that will help you and your team level up your environments so that you can become super efficient in your day-to-day engineering activities. In this episode, Donn talks about the best way to learn a new technology from the ground up. Want to learn something new? This episode is for you.You'll learn Donn's proven 5-step methodology for learning new technology. This is the same method Donn has used for over 2 decades of learning new technology. We hope it helps you. Find Will OnlineDevOps for DevelopersWill's TwitterDevOps for Developers Website Contact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Consulting for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Ep 205205: How to Learn New Technologies
In this episode, Donn talks about the best way to learn a new technology from the ground up. Want to learn something new? This episode is for you. You'll learn Donn's proven 5-step methodology for learning new technology. This is the same method Donn has used for over 2 decades of learning new technology. We hope it helps you.ShownotesThe 5 Steps: Choose a Simple Problem Domain (Note Taking app or Calorie/Protein Tracker)Do not worry about best practicesStart Small, then go smaller: Super tiny nibbles of workBuild Something Ugly and just "Get it working"Don't Conflate Technologies if you don't have to. Keep it simple.Donn's Free 9+ Hour Kotlin CourseWatch the entire course here, for freeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Consulting for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Ep 204204: Quality over Quantity
In this episode, Donn returns for a solo episode to talk about his thoughts on Quality over Quantity and why it's important to software development and productivity in general. ShownotesWhat is being "in Flow"? - Learn more Contact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram) Consulting for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Ep 203203: Jetbrains Projector with Joaquim
In this episode, we talk to acclaimed Android developer Joaquim Verges. He recently embarked on a journey of making is laptop not burn like a furnace when using Android Studio. He landed up on this unknown effort by Jetbrains called Projector and seems to have found programmer Nirvana.Listen to his adventures.ShownotesHow to Run Android Studio on ANY Device With JetBrains ProjectorMirakle Gradle pluginJetbrains M1 Macbook updates:Jetbrains JBR-2526IntelliJ IDEA 2020.3.1 Is out with Apple Silicon SupportJetbrains ProjectorProjector-Server: GithubProjector DocumentationSwing UIJoaquim's Projector InstructionsContact @joenrv @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Ep 202202: Dagger on the Anvil with Ralf Wondratschek
Anvil is a Kotlin compiler plugin that makes your life a tad bit easier when using Dagger 2. In this episode we talk to Ralf Wondratschek from Square who created the library and open sourced it for all of us.After touching on some of the basics, Ralf dives into the thinking behind Anvil and how it evolved into the tool it is today. It's filled with nuggets of wisdom especially if your app uses Dagger for Dependency Injection.Enjoy!ShownotesAnvil for DaggerRalf's talk at Droidcon: Android at Scale @SquareSlides for above talkContact@vRallev@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Ep 201201: State of the Testing Union with Valera Zakharov
In episode 1 of Fragmented we talked about Testing. 200 episodes in, we decided it's a good time to do a state of the union for mobile testing. We talk with Valera Zakharov who's a Staff Engineer at Slack and considered one of the experts in the field of mobile testing. Hope you enjoy this one!ShownotesEspresso Testing with AndroidAndroid Test OrchestratorFlank : Fragemented EpisodeBluepill : LinkedIn's iOS Testing FrameworkValera's Droidcon Talk - E2E2U: Slack's Journey to Developer-driven End-to-end TestingValera's blog post on Slack - Android UI Automation: Part 1, Building TrustJake Wharton's Testing RobotsContact@valera_zakharov@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Ep 200200: Serverless Programming
EIn our 200th episode, we talk about Serverless Programming.What is it? What's an example of a service I could build with Serverless Programming? What are the advantages or disadvantages? We talk about it all in this episode.Also, 🙏 for being listeners. We've stuck together for 200 of these. Kaushik & Donn are incredibly grateful to have you folks as listeners.ShownotesHerokuPlatform as a ServiceDonn's gif service gifstagram.comFlippa : Buy and Sell services onlineFounder's Chats: Ep 41Options for different services:AWS Lambda FunctionAzure FunctionsPostman : The Collaboration Platform for API DevelopmentVercelContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Ep 199199: iOSDev vs AndroidDev.lazy().not()
A tweet from a famous tech journalist about Android vs iOS spurs a storm. In this episode, Donn and Kaushik given their honest thoughts on iOS vs Android; and being developers for the platform.ShownotesKG's post - iPhones, Pixels and lazy Android developersBen Thompson's tweetDonn's post - The Three Buckets (The Rule of Thirds)Garage Band - Apple iPhone appReeder 4 - iOS RSS Reader appCultureCode's Things - iOS Todo appContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Ep 198198: Fragmented.reset( Mode.Indie )
We're back and Fragmented is going Indie again. A quick episode on the future of Fragmented.New Artwork! Story on how Swapnil helped with our new artworkContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)kaushikgopal (on YouTube) or blog.kaush.co or @kaushikgopal

Ep 198✊🏽✊🏾✊🏿
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]

Ep 197197: .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

Ep 196196: 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

Ep 195195: 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

Ep 194194: 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

Ep 193193: 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

Ep 192192: 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

Ep 191191: 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

Ep 190190: 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

Ep 189189: 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

Ep 188188: Containerized applications with Docker
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 : dockerfile wizard KG's ruby-node docker container Docker Compose RabbitMq Kubernetes : K8s Udemy course: Docker & Kubernetes - The complete guide Vue Js Dockerizing a Node.JS Server Contact @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 187187: Coroutines with Manuel Vivo & Sean McQuillan
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 Coroutines Testing Coroutines Talk Cancellation and Exceptions in Coroutines Talk Sean’s Coroutines blog series Manuel's blog post about Flow in the Android Developer Summit app Contact Sean McQuillan @objcode Manuel Vivo @objcode Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 186186: Announcement 2020
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)

Ep 185185: Year End Decompress
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 @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 184184: Should I use a BaseActivity in my Android apps?
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/squaredev and let them know you heard about it from us. Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 183183: The Testing Paradox
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 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. Flatiron School Learn UX/UI design flatironschool.com/fragmented in 24 weeks and discover our global community on campus or online and go back to school with Flatiron School! flatironschool.com/fragmented! Change careers with confidence with 1:1 support from our dedicated Career Coaches and a money-back guarantee. Complete details at flatironschool.com/terms. See you in class! Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 182182: Where do I put DB objects in a modularized Android app?
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 come up with an answer. Shownotes Modularization (KG's favorite resources) Google IO 19 : Build a modular Android app architecture Jeroen Mols's posts : Modularization - Why you should care Joe Birch's posts : Modularizing Android Appications Ep 117 : Multi Module Builds in Gradle Karan Trehan's post : Writing a modular project on Android 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, and connect with hiring managers from top employers today. Listeners of Fragmented get a $300 bonus if you accept a job through Vettery! Sign up at vettery.com/fragmented -- Flatiron School Learn UX/UI design flatironschool.com/fragmented in 24 weeks and discover our global community on campus or online and go back to school with Flatiron School! flatironschool.com/fragmented! Change careers with confidence with 1:1 support from our dedicated Career Coaches and a money-back guarantee. Complete details at flatironschool.com/terms. See you in class! Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 181181: In Functional Programming how to do IO and database operations
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) Unidirectional State Flow Ep 148 and Ep 151 KG's speakerdeck slide KG's Movie search apps Android app + iOS app Resources for FP/IO contention StackOverflow Q&A Flying Frog Blog: Functional programming and databases Sponsors 🙏 Flatiron School Learn UX/UI design flatironschool.com/fragmented in 24 weeks and discover our global community on campus or online and go back to school with Flatiron School! flatironschool.com/fragmented! Change careers with confidence with 1:1 support from our dedicated Career Coaches and a money-back guarantee. Complete details at flatironschool.com/terms. See you in class! Vettery Vettery is an online hiring marketplace that is changing the way people hire and get hired. Make a free profile, name your salary, and connect with hiring managers from top employers today. Listeners of Fragmented get a $300 bonus if you accept a job through Vettery! Sign up at vettery.com/fragmented Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 180180: Code Comments
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, build, test and deploy process quickly and easily. Sign up for an exquisite pair of Bitrise Branded Socks at https://go.bitrise.io/fragmented Flatiron School Learn UX/UI design flatironschool.com/fragmented in 24 weeks and discover our global community on campus or online and go back to school with Flatiron School! flatironschool.com/fragmented! Change careers with confidence with 1:1 support from our dedicated Career Coaches and a money-back guarantee. Complete details at flatironschool.com/terms. See you in class! Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 179179: Kaushiks Top Tips For Giving A Technical Talk
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, and connect with hiring managers from top employers today. Listeners of Fragmented get a $300 bonus if you accept a job through Vettery! Sign up at vettery.com/fragmented Bitrise Build amazing apps in Java, Kotlin or whatever tech you prefer and use Bitrise to automate your Android integration, build, test and deploy process quickly and easily. Sign up for an exquisite pair of Bitrise Branded Socks at https://go.bitrise.io/fragmented Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 178178: Learning New Languages
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 important for them and their careers as developers. Sponsor Build amazing apps in Java, Kotlin or whatever tech you prefer and use Bitrise to automate your Android integration, build, test and deploy process quickly and easily. Sign up for an exquisite pair of Bitrise Branded Socks at https://go.bitrise.io/fragmented Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 177177: Over-Engineered Code
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 @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 176176: Kotlin's !! Operator is a Code Smell
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 smell. In this episode, Donn walks through why Kotlin's Not Null Assertion Operator (!!) is a code smell and what you can do to alleviate it. Thanks To This Week's Sponsor: Bitrise Build amazing apps in Java, Kotlin or whatever tech you prefer and use Bitrise to automate your Android integration, build, test and deploy process quickly and easily. Sign up for an exquisite pair of Bitrise Branded Socks, here! https://go.bitrise.io/fragmented Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 175175: Kotlin or Java - Which one should you learn?
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 question, this is the show for you ... Thanks to this week's sponsor: Bitrise Build amazing apps in Java, Kotlin or whatever tech you prefer and use Bitrise to automate your Android integration, build, test and deploy process quickly and easily. Sign up for an exquisite pair of Bitrise Branded Socks, here! https://go.bitrise.io/fragmented Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 174174: Testing RxJava, Debugging and More
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 hope you enjoy ... Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 173173: What Pattern Should I Use - MVP, MVVM, MVI ...?
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)

Ep 171172: Coil Image Loading Library with Colin White
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 interesting library and gives you what you need with minimal footprint but offers you the extensibility that you'd want in the future. Its a good balance of "just enough" and "I might need this". Enjoy Show Notes Coil library Colin's Twitter Colin's Website Introducing Coil: Kotlin-first image loading on Android Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 172171: Jetpack Compose with Leland Richardson
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 ... Shownotes Jetpack Compose First Principels React, Meet Compose Slides Jetpack Compose Android Dev Docs Leland's Contact info: Twitter Website Fragmented Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)

Ep 170170: Developer Growth - Public Speaking
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 Writing The Single Best Thing You Can Do For Your Career Sponsor This episode is sponsored by Instabug. Squash bugs 🐞 in less than a minute with Instabug! Special offer for all listeners, go to instabug.com/fragmented Signup for free, install the SDK, and you will get Instabug's brand new t-shirt! Contact Discord chat or @fragmentedcast or our Youtube channel @donnfelker and donnfelker (on Instagram) @kaushikgopal and kaushikgopal (on Instagram)