
Fragmented - AI Developer Podcast
269 episodes — Page 1 of 6
310 - Mitchell Hashimoto on Ghostty & His Agentic Coding Workflow

Ep 309309 - Background Agents
Andrej Karpathy says the goal is to maximize how long an agent runs without your intervention. But there's a false summit most teams hit first: individual speed goes up while system speed stalls, your laptop roars under four parallel Gradle builds, and review queues back up. Kaushik and Iury trace the full arc — from local multitasking to cloud-hosted async work to fully autonomous agents that fire on repo events and put PRs in your inbox. Show Notes Andrej Karpathy on agents and token throughput - NoPriors podcast — maximize agent runtime, not token burn Cursor Agent Mode - Multiagent interface - introduced the multi-agent board as a new paradigm for local parallel agents Google Antigravity - Agent Manager interface Claude Code Agent Teams - spawn sub-agents from a main orchestrator, with tmux pane integration Git worktrees - /reddit Remote Background Agents in the cloud Google Jules - hosted GitHub-connected agent, proposes a plan, edits code, runs tests, opens a PR Cursor Cloud Agents - remote agents that clone your repo in the cloud and work in parallel OpenAI Codex - cloud software engineering agent for parallel tasks Claude Code on the web - cloud-hosted Claude Code sessions decoupled from your local machine Building trust Episode 307 - Harness Engineering - the earlier episode on shaping agent environments — and why this ceiling exists Get in touch We'd love to hear from you. Email is the best way to reach us or you can check our contact page for other ways. We want to hear all the feedback: what's working, what's not, topics you'd like to hear more on. Contact us Newsletter Youtube Website Co-hosts: Kaushik Gopal Iury Souza [!fyi] We transitioned from Android development to AI starting withEp. #300. Listen to that episode for the full story behind our new direction.

Ep 308308 - How Image Diffusion Models Work - the 20 minute explainer
You already know how LLMs work from our popular 20-minute explainer. Now we take it to images. What does Michelangelo have to do with stable diffusion? More than you'd think. Walk away knowing how image generation actually works — and what it has in common with the text models you already understand. Full shownotes at fragmentedpodcast.com. Show Notes Episode 303 - How LLMs work in 20 minutes - text generation VAE -Variational Autoencoder RGB Color model - wikipedia Word2Vec technique - wikipedia Efficient Estimation of Word Representation - original Word2Vec paper by Mikolov et al. High-Resolution Image Synthesis with Latent Diffusion Models - Rombach et al. (2022) — the paper behind Stable Diffusion Image Training data LAION-5B - 5 billion image-text pairs scraped from the web, used to train many image generation models WebLI - Google's internal image-text dataset Michelangelo Get in touch We'd love to hear from you. Email is the best way to reach us or you can check our contact page for other ways. We want to hear all the feedback: what's working, what's not, topics you'd like to hear more on. Contact us Newsletter Youtube Website Co-hosts: Kaushik Gopal Iury Souza [!fyi] We transitioned from Android development to AI starting withEp. #300. Listen to that episode for the full story behind our new direction.

Ep 307307 - Harness Engineering - the hard part of AI coding
The hard part of AI coding isn't generating code — it's controlling quality, safety, and drift. Kaushik and Iury break down harness engineering: the five pillars for shaping an agent's environment and what it looks like when teams build custom harnesses from scratch. Full shownotes at fragmentedpodcast.com. Show Notes Why it matters Harness Engineering - OpenAI's post on building their Codex codebase (~1M lines of code, 1,500 PRs merged, zero manually written) Shaping the harness The Feed's Lost and Found - Iury's newsletter consolidating harness engineering themes Agent legibility Closed feedback loops Persistent memory Entropy control Blast radius controls Building the harness Minions: Stripe's one-shot, end-to-end coding agents - Stripe forked Goose to build custom agents for their codebase Goose - open-source coding agent from Block Superpowers by Jesse Vincent - skills that enforce a proper software engineering process Open Code - open-source coding agent you can fork and customize Other resources Agent Harness Glossary - Latent Patterns Towards self-driving codebases - Cursor Agentic Workflows - GitHub Next Future of Software Development - ThoughtWorks Get in touch We'd love to hear from you. Email is the best way to reach us or you can check our contact page for other ways. We want to hear all the feedback: what's working, what's not, topics you'd like to hear more on. Contact us Newsletter Youtube Website Co-hosts: Kaushik Gopal Iury Souza [!fyi] We transitioned from Android development to AI starting withEp. #300. Listen to that episode for the full story behind our new direction.

Ep 306306 - Keeping your agent instructions in sync and effective
AGENTS.md is becoming the common language for AI coding tools, but keeping repo rules, personal rules, and tool-specific files in sync is still messy. In this episode, Kaushik and Iury break down the sync problem, compare their own setups, and unpack what the latest AGENTS.md research actually says. Full shownotes at fragmentedpodcast.com. Show Notes The sync problem AGENTS.md - Official spec Custom instructions with AGENTS.md - Open AI Keep your AGENTS.md in sync - Kaushik's post Rulesync - What Iury uses Tweet by Ryan Carson and Claude frustrations Other links Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents? Harness engineering - Check the section about using AGENTS.md as a table of contents OpenCode Get in touch We'd love to hear from you. Email is the best way to reach us or you can check our contact page for other ways. We want to hear all the feedback: what's working, what's not, topics you'd like to hear more on. Contact us Newsletter Youtube Website Co-hosts: Kaushik Gopal Iury Souza [!fyi] We transitioned from Android development to AI starting withEp. #300. Listen to that episode for the full story behind our new direction.

Ep 305305 - Subagents explained - What they are, when (not) to spawn them
Subagents are becoming a core primitive for serious AI-assisted development. In this episode, Kaushik and Iury disambiguate "agent" terminology, unpack plan mode vs subagents, and explain how parallel, scoped workers improve research quality without polluting the main thread.Full shownotes at fragmentedpodcast.com.Show NotesResources & DocumentationOfficial DocumentationAgents, Modes, Subagents: official harness docsClaude Code SubagentsGemini CLI SubagentsOpencode SubagentsCursor SubagentsAntigravity Agent ModesAOE ScoutingResearch Papers & ArticlesIntroducing Claude Opus 4.5Deep-Research Agents PaperPost: GPT-5 System Card by AlexXuSelf-Driving Codebases Blog -multi-agent systems making 1,000 commits/hourGet in touchWe'd love to hear from you. Email is thebest way to reach us or you can check our contact page for otherways.We want to hear all the feedback: what's working, what's not, topics you'd liketo hear more on.Contact usNewsletterYoutubeWebsiteCo-hosts:Kaushik GopalIury Souza[!fyi] We transitioned from Android development to AI starting withEp. #300. Listen to that episode for the full story behindour new direction.

Ep 304304 - Agent Skills - when to use them and why they matter
Agent Skills look simple, but they are one of the most powerful building blocksin modern AI coding workflows. In this episode, Kaushik and Iury break down whento use skills, how progressive disclosure works, and how skills compare withcommands, instructions, and MCPs.Full shownotes at fragmentedpodcast.com.Show NotesMain ReferencesProgressive Disclosure -how skills are loaded into contextAgent Skills Open SpecificationAAIF (Agentic AI Foundation) -Linux Foundation initiative for AI interoperabilityNeedle in a Haystack Problem - original"Lost in the Middle" paperAgent-Invokable vs User-Invokable -merging skills and commands in Claude CodeCreating SkillsSkill Creator -Anthropic's skill for creating new agent skillsClaude Code frontmatter referencesee model: * & context: forkUsing other SkillsAnthropic Skills GitHub Repository -official collection of Claude skills and examplesClawdhub - Clawdbot's skill hub. All versions arearchived hereSKILLS.sh - Vercel's skills hubWarnings before installing random skills[!warning] Don't install from hubs blindly.Inspect the repo code before adding anything to your agent.Prompt Injection Attacks -OWASP guide to LLM prompt injection vulnerabilitiesOpenClaw OpenClaw Security Analysis -analysis of prompt injection risks in open agent frameworksMalware found in a top-downloaded Clawhub skill -incident report threadAdditional resourcesFew-Shot Prompting -improving outputs with examples.agents/skills - proposalto standardize the skills folder pathVercel: AGENTS.md vs Skills -comparison of agent instruction methodsGet in touchWe'd love to hear from you. Email is thebest way to reach us or you can check our contact page for otherways.We want to hear all the feedback: what's working, what's not, topics you'd liketo hear more on.Contact usNewsletterYoutubeWebsiteCo-hosts:Kaushik GopalIury Souza[!fyi] We transitioned from Android development to AI starting withEp. #300. Listen to that episode for the full story behindour new direction.

Ep 303303 - How LLMs Work - the 20 minute explainer
Ever get asked "how do LLMs work?" at a party and freeze? We walk through the full pipeline: tokenization, embeddings, inference — so you understand it well enough to explain it. Walk away with a mental model that you can use for your next dinner party._Full shownotes at fragmentedpodcast.com.Show NotesWords -> Tokens:OpenAI Tokenizer visualizer -Visualize how text becomes tokensTokens -> Embeddings:RGB Color model - wikipediaWord2Vec technique - wikipediaEfficient Estimation of Word Representation -original Word2Vec paper by Mikolov et al.Embeddings -> Inference:Word embeddingTemperature, Top-k, Top-p sampingGet in touchWe'd love to hear from you. Email is thebest way to reach us or you can check our contact page for otherways.We want to hear all the feedback: what's working, what's not, topics you'd liketo hear more on. We want to make the show better for you so let us know!Contact usNewsletterYoutubeWebsiteCo-hosts:Kaushik GopalIury Souza[!fyi] We transitioned from Android development to AI starting withEp. #300. Listen to that episode for the full story behindour new direction.

Ep 302302 - MCPs Explained - what they are and when to use them
MCPs are everywhere, but are they worth the token cost? We break down what Model Context Protocol actually is, how it differs from just using CLIs, the tradeoffs you should know about, and when MCPs actually make sense for your workflow.Full shownotes at fragmentedpodcast.com/episodes/302.Show NotesMCP - Model Context ProtocolRemote MCP server example - GleanAAIF -Agentic AI Foundation setup by Linux foundationGithub MCPGithub gh CLIPlaywright MCPContext7 MCPAnthropic's announcement onAdvanced Tool UseTipsIury: use ast-grep to structurallysearch code fasterKG: use agent-browser by Vercel to give browsingpower to your agentGet in touchWe'd love to hear from you. Email is thebest way to reach us or you can check our contact page for otherways.We want to hear all the feedback: what's working, what's not, topics you'd liketo hear more on. We want to make the show better for you so let us know!Contact usNewsletterYoutubeWebsiteCo-hosts:Kaushik GopalIury SouzaWe transitioned from Android development to AI starting withEp. #300. Listen to that episode for the full story behindour new direction.

Ep 301301 - The AI coding ladder
Most folks reference "AI coding" like it's one thing. It's really not. In this foundational episode Kaushik & Iury walk through (at least) four paradigms — from super autocomplete to agent orchestration — each with different workflows, expectations, and mental models.What do most developers follow today? Where is the frontier? What's coming in the future?Listen to the episode and find out!Full shownotes at fragmentedpodcast.com.Show NotesGen 1: Super autocompleteIntellisense - regular autocompleteGithub CopilotCursor TabGen 2: Chat Oriented ProgrammingCursor IDEFirebenderGen 3: AgentNvidia's definition of an AgentReAct PromptingChain of Thought was a prompting hackDeepSeekDeepSeek - R1 paperTUI tools (or Harnesses):Claude CodeOpen CodeCodex CliGemini CliIDE style toolsCursor AgentCopilot (MS)Junie - IntellijAntigravity - GoogleHeadless Tools:Jules - GoogleClaude Code on the WebCodex WebGen 4: Agent OrchestrationGit worktreesTipsIury: Transfer between agents using your own compact commandKG: Ask the agent to clarify your promptConfirm if my requirements are clear. If you have follow up questions, ask mefirst and clarify before executing anything.Contact usNewsletterWebsiteContact usYoutubeCo-hosts:Kaushik GopalIury Souza

Ep 300300 - From Vibe coding to Software engineering
Fragmented is changing. New direction, new cohost. Kaushik explains the pivotfrom Android to AI development and introduces Iury Souza.From vibe coding to software engineering — one episode at a time.Full shownotes at fragmentedpodcast.com.Contact usNewsletterWebsiteContact usYoutubeCo-hosts:Kaushik GopalIury Souza

Ep 257257 - Future of AndroidDev in an AI world with Vinay Gaba
Join us as we talk with Vinay Gaba, Android GDE and leading voice in Android development, about the future of the field. Vinay shares insights from interviews with top Android devs on their three-year predictions, and offers his own perspective. We cover AI's impact, evolving development roles, and crucial future skills.You can find the full shownotes over at fragmentedpodcast.com.Show NotesVinay's personal websiteDispatch - Jetpack Compose newsletterIssue #11 - Future of AndroidDevCursor AI IDEJetbrains AI assistantJetbrains Junie - the coding agentPessimists avoid risk, Optimists change the world.Contact usfragmentedpodcast.comContact usYoutubeKaushik:kau.sh (links to everything)ThreadsBlueskyYoutube@kaushikgopal

Ep 256256 - Rapid prototyping with Kotlin
In this episode, we dive into the power of rapid prototyping for Android developers using Kotlin. We explore how this crucial skill can impress stakeholders, accelerate your workflow, and help you stay ahead in today's fast-paced tech landscape. We'll cover use cases across scripting, web development (with Ktor & HTMX), mobile apps (Jetpack Compose), and even touch upon how AI is changing the game!You can find the full shownotes over at fragmentedpodcast.com.Show NotesSimple scriptingState of Kotlin Scripting 2024 - Jetbrains blogKotlin mini-app repo playground-ktAdvent of CodeWeb sitesHugo static site generatorCloudflare PagesSlashdot effectFragmented Podcast Website powered by Henry (Kaushik's custom theme)Web appsKtorHTMXAjaxCSS TransitionsServer Sent EventsYoutube Video showing Ktor + HTMXMobile appsEpisode 252 talking about playground-androidFlutterKotlin Multiplatform KMPReact NativeLLM Based appsStreamlit.Snowflake acquires StreamlitGoogle AI StudioKotlin AIVibe coding an AirBnb cloneContact usfragmentedpodcast.comContact usYoutubeKaushik:kau.sh (links to everything)ThreadsBlueskyYoutube@kaushikgopal

Ep 255255 - Data Oriented Programming
In this episode, we dive into the programming paradigm — Data Oriented Programming (DOP) and why making data the star can simplify your code. Learn how well-modeled data reduces defensive logic, prevents invalid states, and keeps your apps stable. We’ll also contrast DOP with Object Oriented Programming (OOP) and Functional Programming (FP), sharing practical examples, tips, and resource links to deepen your understanding.The full shownotes with illustrations are on fragmentedpodcast.com.Show Notes[announcement] Fragmented has an email newsletter.Programming ParadigmsObject Oriented ProgrammingFunctional ProgrammingData Oriented Programming (DOP)UUIDRFC 4122Kotlin now includes UUID in the standard lib even for kotlin multiplatform.ResourcesBrian Goetz's seminal article on DOPTies Van de Ven Advanced Kotlin Dev Day in 2022Data Oriented Programming in Java by Chris Kiehl (by Manning Publications)Devoxx talk by Nicolai Parlog on youtubeContact usfragmentedpodcast.comContact usYoutubeKaushik:kau.sh (links to everything)ThreadsBlueskyYoutube@kaushikgopal

Ep 254254 - 8× faster 5× memory savings with Dan Rusu’s Immutable Arrays
In this episode, discover how Dan Rusu’s pods4k Immutable Arrays library can deliver 2–8× speed boosts and 5× lower memory usage in Kotlin/Android apps. We first revisit the fundamentals of autoboxing/unboxing and immutability to understand their impact on performance. Then we hear from Dan himself on his library, motiviations for building it, how the benchmarks were calculated and much much more. Our grand finale episode for 2024. Hope you enjoy it!Full Shownotes at https://fragmentedpodcast.com/episodes/254.Show NotesImmutable Arrays on githubImmutability episode #66 on Immutability with Ryan HarterJMH - Java Microbenchmark HarnessImmutable Arrays Benchmarks page for Immutable Arrays (pods4k)Dan's post - Kotlin avoids entire categories of Java defectsK2 compilerDan RusuWebsitepods4k github discussionsContact usfragmentedpodcast.comContact usYoutubeKaushik:kau.sh (links to everything)ThreadsBlueskyYoutube@kaushikgopalDisclaimer: Links shared might be affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 253253 - logcat - a new look at logging with Piwai from Square
Kaushik looks at a new logging library from Square called logcat. He starts by seeing how the popular Timber library does it along with the benefits. He then interviews Pierre-Yves Ricau (Piwai) of Square, the creator of logcat, to explore its origins and advantages.You can find the full shownotes over at fragmentedpodcast.com.Show NotesTimberlogcatMotivations in READMECompiler plugin issuePlayground android app demonstrating logcatbitdrift.ioDesign of everyday thingsPrevious episode #191 on loggingContact Piwai:WebsiteBlueskyContactYou can find us on a few places:fragmentedpodcast.comContact usYoutubeKaushik:kau.sh (links to everything)ThreadsBlueskyYoutube@kaushikgopalDisclaimer: Links shared might be affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 252252 - Everyone needs a starter template
In this episode of Fragmented, Kaushik dives into the importance of creating your own starter template to streamline app development and minimize decision fatigue. He shares insights from his own starter template - Playground Android.Looking to the future, JetBrains has an exciting tool called Amper that might make all of this much easier. Kaushik chats with JetBrains’ Márton Braun about Amper, an exciting new tool that could revolutionize Kotlin & Android project setups.Tune in to learn how to go from idea to code with less friction!You can find the full shownotes over at fragmentedpodcast.com.Show NotesPlayground AndroidThe Architecture Templates (blog post)Inspiration (Other starter templates):Bloco's starter template what i referenced a lotDonn's project - Jumpstart Android if you care about quickly getting a Rails app integrated with Android in a hybrid experienceNow in Android too much functionality for my tasteJake's u2020 for some good times nostalgiaPlayground Androidgradle version catalog - BOM & Bundles (one source of truth)sharing build logic with gradle convention pluginMakefile with common cli commandsCustom lint-rulesMulti module setupdependency injection with kotlin-inject-anvilEpisode 251 - There's a new king in DI townfunction-injection demo in @ComposableAmperlogcat lib and injecting multiple loggersbasic networking with ktor #10compose-navigation between feature modulesIury's post on Kotlin DevexAmperblog posts on AmperFeedback on Amper - kotlinlang slackContact Márton BraunContactYou can find us on a few places:fragmentedpodcast.comYoutubeKaushik:kau.sh (links to everything)Bluesky@kaushikgopalThreadsYoutubeDisclaimer: Links shared might be affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 251251- There's a new king in DI town
In this episode, Kaushik explores the evolution of dependency injection (DI) in Android development. Dagger has been the de-facto solution for DI in Android but there might be a new king in DI-town. He also chats with friend of the show and dependency injection expert Ralf Wondratschek for a final gut check.Shownotes: https://fragmentedpodcast.com/episodes/251

Ep 250250 - Bittersweet beginnings
We're back from the hiatus with our SemiQuicentennial episode! With the momentous 250 comes some big announcements and a shift in the way we do things.Listen to find out the details!Shownotes: https://fragmentedpodcast.com/episodes/250

Ep 249249 - Java and the JDK: Powering the Android Landscape with Michael Bailey
In this episode of our podcast, we explore the diverse landscape of Java versions within the Android ecosystem. Our guest is Michael Bailey, a seasoned Java expert who has been a frequent presence on our show since the early days of our podcast. We kick off with a solid foundation, discussing the differences between JDK and JRE, as well as the distinctions between the available Java JDKs. We also guide listeners through Android Studio settings, exploring how to select a suitable JDK, its utilization, and how it relates to JAVA_VERSION on one's home path/terminal.As we dig deeper, we start to unpack some of the crucial Android app settings. From compileOptions to sourceCompatibility/targetCompatibility, we shed light on why these versions are important. We also demystify the compileSdk vs minSdk vs targetSdk, and how they interconnect. Drawing from Kaushiks's recent experience in building a new app, we provide real-life examples that can better clarify these topics for our listeners.We conclude the episode by providing some valuable resources for further understanding and exploration. This episode is designed to be a comprehensive guide to understanding and navigating the intricacies of Java versions in Android development.LinksMichaely Fragmented Episode 9 (Google IO Special)Fragmented Episode 10 (core java)Fragmented Episode 78 (testing strategies)OpenJDK on GitHubFooJayCompile Options ReferenceSDK extensions@Yogurtearl explanationJpackageFind Michael Online@yogurtearl on TwitterDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO 🎉Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast on Twitter or our YouTube channelDonn@donnfelkerdonnfelkerDonn's YouTubeDonn's WebsiteKaushikkau.sh (has links to all my networks)twitter.kau.shmastodon.kau.shyoutube.kau.sh (on YouTube)Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 248248 - Feature Flags & A/B Testing: A Deep Dive with Ishan Khanna
In this edition of Fragmented, we're thrilled to host Ishan Khanna, a software engineer at Tinder who possesses great enthusiasm for feature flags and A/B testing. Donn discusses why he invited Ishan on the show, highlighting Ishan's passion for feature flagging and A/B testing. The conversation kicks off with an insightful story from Ishan about feature flagging at Booking.com, leading to a discussion on the difference between A/B Testing and Feature Flags, when and why to introduce feature flagging, and how to measure its effectiveness. The show also focuses on the benefits and risks of feature flagging, along with ways to manage potential complexities in the codebase.We then delve deeper into the topic of feature flagging, covering how to get started, what to look for in a tool, and the role of testing. Discussion points include the best practices for rollout percentages, considerations for multi-platform implementation, and the specifics of targeting in feature flagging. The conversation wraps up with an exploration of available tools for those looking to introduce feature flagging or A/B testing frameworks into their operations, examining when it might be necessary to build a bespoke solution.The episode offers a wealth of resources for listeners, including links to an array of feature flagging and A/B testing tools, such as Firebase Remote Config, Optimizely, and LaunchDarkly. For more insight into the topics discussed, Ishan recommends his Droidcon Berlin talk on 'Customer Driven Development' and Stuart Frisby’s talk on A/B Testing. To reach out to Ishan, listeners can contact him via Twitter, LinkedIn, or his website.LinksHere are the links mentioned in the document, in markdown format:Firebase Remote ConfigOptimizelyLaunchDarklyAWS AppConfig for Feature FlagsVWOUnleash - Open Source Feature FlagsPosthog Feature Flags and A/B TestingIshan's Droidcon Berlin TalkStuart Frisby's Talk on A/B TestingErindoesthingsContact IshanIshan on Twitter - @droidchefIshan on LinkedInIshan's WebsiteDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO 🎉Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast on Twitter or our YouTube channelDonn@donnfelkerdonnfelkerDonn's YouTubeDonn's WebsiteKaushikkau.sh (has links to all my networks)twitter.kau.shmastodon.kau.shyoutube.kau.sh (on YouTube)Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 247247: The Art of App Modularization with Siggi Jonsson
In this episode, we talk to, Siggi Jonsson. Siggi helps guide us through the complex and often confusing world of Android app modularization. Our conversation will begin by shedding light on the importance of modularization, what triggers the need for breaking projects into multiple modules, and how modularization relates to team size, feature teams, and code ownership. This discussion is aimed at demystifying how and why developers often choose to modularize their applications.As we move forward, we'll dive into more advanced aspects of modularization, such as the challenges of scaling and the potential missteps in over-modularization. Drawing on real-world experiences, we'll examine the red flags that signal a need for revising your modularization strategy. This part of our discussion will also highlight some specific tools and techniques that can help manage and visualize your project's modularization, and Siggi will share his own experiences and insights into how these tools have assisted in his modularization strategy.In the final part of the episode, we'll touch on the benefits and strategies of proper modularization. Siggi will share practical advice on how to tackle big projects, fix issues with modularization, and make a smooth transition from monolithic to modular structures. We'll also talk about some tools that can be handy in this process. Before closing, Siggi will offer his top tips for developers embarking on their modularization journey and share some valuable resources to help them. Siggi will also provide updates on his latest work and how listeners can reach out to him.LinksSure, here are the links provided in the text, formatted in Markdown:Siggi Jonsson's Droidcon TalkGraph Assert PluginDependency Analysis Android Gradle PluginGraph Untangler Plugin by Siggi JonssonGraphVizGephiDriving architectural improvements with dependency metricsInaki Villar Twitter - Build Engineer Siggi MentionedFind Siggi online here:Siggi Jonsson on TwitterSiggi Jonsson on GithubSiggi Jonsson's WebsiteSiggi Jonsson on LinkedInKindred - Use code SIG.JON to register.Donn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course, you'll learn everything you need to know to start working with Git daily. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO 🎉Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast on Twitter or our YouTube channelDonn@donnfelkerdonnfelkerDonn's YouTubeDonn's WebsiteKaushikkau.sh (has links to all my networks)twitter.kau.shmastodon.kau.shyoutube.kau.sh (on YouTube)Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 246246 - Dependency Injection: Kotlin Inject with Fred Porciúncula
In this podcast episode, we have the pleasure to host Fred Porciúncula, a Google Developer Expert (GDE) known for his work with Kotlin Inject and his invaluable contributions to the Android development community. Fred offers his expertise on Dependency Injection (DI), Kotlin Multiplatform (KMP), and how they intersect.We kick off the conversation by discussing Dependency Injection (DI), its importance, and the options available to developers, including Dagger, Hilt, Anvil, Koin, and Kotlin-Inject. Fred explains the use and impact of DI in the Kotlin Multiplatform (KMP) world, considering Dagger’s current lack of KMP support and debating whether one should use separate DI tools for Android apps and KMP components.Delving further into Kotlin-Inject, we explore its features, usage, and how it differentiates itself from other DI solutions. Topics discussed include its unique handling of Scopes, its support of constructor injection, and its utility in building dependency graphs. Furthermore, we examine the timeless debate of Dependency Injection versus Service Locator.Toward the end of the episode, Fred presents his thoughts on the advantages and disadvantages of exclusively using Kotlin-Inject throughout an application. We also tackle the concept of “Vanilla Injection” - refraining from using DI libraries at all.For further learning, we recommend resources like Fred's insightful article on transitioning from Dagger/Hilt to Kotlin-Inject, a Dagger issue discussing KSP support, and a Kotlin-Inject discussion on Anvil-like features. Links to these resources, among others, are provided below. Don’t miss out on this engaging and informative episode with Fred Porciúncula!LinksKotlin Inject LibraryFred's Kotlin Inject ArticleTesting with Kotlin InjectKotlin Inject Scope IssuePulling code out of the platform classDI vs Service LocatorsDagger KSP SupportKotlin Inject Anvil Like FeaturesMaking Your Android Application Work on iOS (Touchlab mentioning interfaces over expect)Moko ResourcesKlima EngineeringFind Fred Online HereTwitter - @tfcporciunculaandroiddev.social/@fredKlima Engineering BlogDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO 🎉Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast on Twitter or our YouTube channelDonn@donnfelkerdonnfelkerDonn's YouTubeDonn's WebsiteKaushikkau.sh (has links to all my networks)twitter.kau.shmastodon.kau.shyoutube.kau.sh (on YouTube)Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 245245: Treehouse, Redwood and Zipline with Colin White
In this episode, Donn and Kaushik talk to an old friend of the show, Colin White, about Treehouse, a combination of the Redwood and Zipline libraries.Colin is a Staff Engineer at Cash App (Block).Redwood is a multiplatform Compose library that allows you to target multiple UI toolkits on various native platforms. Ultimately this allows you to share presentation logic.Zipline is a multiplatform JavaScript engine for Android, iOS, and the JVM, which uses Kotlin for calls in/out of the JavaScript land. This allows you to update the application logic of your apps without the traditional song and dance of the app store approval and release process.Treehouse is the combination of both libraries, Redwood and Zipline. Listen in to learn more ...LinksRedwoodZiplineQuickJSKotlin Conf Talk on TreehouseDroicon NY talk - RedwoodDroidcon NY talk - ZiplineFind Colin Online hereTwitter - @colinwhiMastodonAndroidJobs.IOJob postings are FREE on AndroidJobs.IO!Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOContact@fragmentedcast on Twitter or our Youtube channelDonn@donnfelker (Twitter)donnfelker (Instagram)Donn's YouTubeDonn's WebsiteKaushikkau.sh@kaushikgopal (Twitter)mastodon.kau.shkaushikgopal - YouTube Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 244244: Reviving Our Passion for Android Development
In this episode, Donn and Kaushik announce that they are steering the podcast back into Android waters. In other words, the Fragmented Podcast is returning to its roots ... we're back to being a 100% Android Development focused show.We're glad to have you as a listener, here's to the future of Android Development. 🚀AndroidJobs.IOJob postings are FREE on AndroidJobs.IO 🎉Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or kau.sh/blog 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 243243: Mastering the Art of Switching Careers in Tech with Dan Lew
In this episode, Donn and Kaushik talk to long-time friend Dan Lew about his recent career switch from Android developer to TypeScript/Node.js/Progressive Web App Developer (and more).It's an interesting discussion that covers ...Why Dan decided to leave the Android worldThe challenges he faced when he moved from one tech stack to anotherHow to prepare for a big change like this (mentally, financially, etc.)How to create the life you want live vi by identifying what's important to youand much more ...LinksRheaplyDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course, you'll learn everything you need to know to start working with Git everyday. Watch it here.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 every week as well.AndroidJobs.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or kau.sh/blog 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 242242 - Kotlin Code Formatting with ktfmt and spotless
In this episode, Donn and Kaushik talk about one of the age old bike shedding topics - code formatting, and how you can solve it with automation and tools.Code formatting can turn into an endless debate amongst peers and teams, and what Kaushik and Donn have found is that this can be delegated to a tool and automated. Freeing you and your team of having to worry about proper indentation, bracket placement, etc. By relying on a well defined tool and some automation you can clean your code up, make it much more uniform and easier maintain.We talk about ktfmt, a Kotlin code formatter that was released by Facebook. We dive into ktlint, detekt and more. We also dive into spotless which can help you by integrating ktfmt into your gradle build pipeline.Linksktfmt - website, githubspotless - githubdetekt - websitektlint - websiteDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or kau.sh/blog 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 241241: The Pressure to Ship. Fear, Uncertainty and Doubt
In this episode, Donn and Kaushik talk about the fear of shipping, some impostor syndrome and how it contributes to uncertainty and doubt in your capabilities as a software developer.Recently Donn embarked on a mission to come up with an idea and ship it within 24 hours (which he did do). The end result was a net benefit of confidence, speed and skill acquisition. This helped reduce any doubt, uncertainty and ultimately fear of shipping a product faster.That's what this conversation is about ... how to doing a project like the 24 hour MVP can remove fear, uncertainty and doubt and help you ship your side project/products faster.LinksDonn's 24 Hour Project - EXIFRJumpstart Rails Template that Donn UsedBooks-AI App by Florian WaltherOpen AIDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or kau.sh/blog 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 240240: Important Kotlin Constructs
In this episode, Donn and Kaushik talk about 5 new-ish Kotlin constructs that you might not be aware of.The constructs that they talk about are:fun interface (SAM - Single Abstract Method), and they juxtapose them vs function typestype aliasimport aliasvalue classdata objectYou'll learn what they are, how you can use them and when or when you might not want to use them, and more. We hope you enjoy.LinksKaushik's Blog Post - Important Kotlin ConstructsSAM Interface - Kotlin DocsFunction Types - Kotlin DocsType Aliases - Kotlin DocsImport Alias - Kotlin DocsValue Class - KEEPData Object - KEEPEnjoy!Donn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 239239: Require PR Reviews with CODEOWNERS
In this short episode, Donn talks about the CODEOWNERS file and how it can help you ensure teams review the code that they are responsible for before merging.The CODEOWNERS file is a file that you drop into the root of your project (or into the /docs or .github/ directory) that tells GitHub (or whatever git host you're using) to require a review for any code changes that match the patterns as defined in the CODEOWNERS file. You'll specify a matching pattern and users, or teams that own that pattern of files and they will be required to review the PR before it can be merged. This helps prevent unwanted changes to files that may or may not be owned by one team or another. This is useful as teams grow larger and need more control over the changes in their application codebase.LinksCODEOWNERS GitHub DocEpisode 012 - CI and Collective Code OwnershipGitHub Organization TeamsDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 238238: How to Land a Job (if you got laid off or if you're just starting out)
In this episode, Donn talks about the tips and tricks he's used over the last 20 years of consulting, freelancing and working full time to find jobs and new opporftunities. We're hoping some of these tips help those affected by the recent tech layoffs.These are tips that Donn still uses to this day. They work wonders to help you land a job quickly when you do them.The tips:Update your LinkedIn Profile and Build a Resume with the LinkedIn Resume BuilderSet your LinkedIn status to "Open to Work" via the "Open to Work" feature on LinkedInDirectly Reach out to Recruiters you know or have interacted withManual Discovery: Visit various companies career pages and job board and apply directlyAncillary Tips to Boost Your Chances of Landing a Job:Blog about the technology you’re looking to get a job inCreate a demo app or an app you can use to showcase your talents and put it on GitHubRecord a How To Video and post it to YouTube showing how to do something, such as a tutorialRecord/Start a podcast or reach out to hosts of other podcasts and offer to share some deep knowledge you have, or even talk about soft skills, etcSpeak at local user groups or conferences (where you don’t need to worry about travel and costs, just show up and speak)LinksLinkedIn Open to Work FeatureLinkedIn Resume BuilderAndroid JobsDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 237237: Compose vs XML - Which one should you learn as an Android Dev?
In this episode, Donn and Kaushik talk about their thoughts on Jetpack Compose and XML for Android layouts and which one you should learn first.As with every conversation in tech ... it depends on what you're trying to do, where you are at in your career, what the company is doing and more. Donn and Kaushik go into both of their thought processes around Compose and XML and when you should learn one or the other, or even both and whether Jetpack is the future ... or is XML here to stay?LinksTutHub.ioCoding in Flow YouTubePhilip Lackner's Compose PlaylistEpisode 231: Learning Jetpack Compose with Vinay GabaEpisode 171: Jetpack Compose with Leland Richardson from GoogleDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO. Post your Android Job and get it in front of thousands of Android pros.Are you an Android Dev? Sign up to get notified of new jobs on a weekly basis.AndroidJobs.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 236236: A Terminal for Android?
In this episode, Donn and Kaushik talk about the thought of having a terminal for Android.Have you ever wished you could whip up a quick script to get the current location of a device, add it to cron and do some automated tasks on your phone? Wouldn't it be nice to have low level access to your system like you do on your desktop?In this episode, Donn and Kaushik dive into the details of what that might look like and why they find it intriguing.Donn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 235235: Pair programming with Ben Orenstein & Tuple
In this episode, Kaushik goes solo and interviews Ben Orenstein. Ben is a prolific Ruby developer, an amazing conference speaker, an ardent vim-ster, and now the CEO of Tuple.Kaushik has been a big fan of Ben's work and was super stoked to talk to Ben and pick his brains on a host of topics: starting the company Tuple, pair programming in general, learning different programming languages and technology, giving better conference talks and more!This episode is chock full of wisdom from Ben. Enjoy!LinksPragmatic ProgrammerTweet: Best Android Studio Pair Programming Servicelearntopair.com - Tuple's Pair programming guideSpeaking for HackersTuple App - OSSBen's talks:Refactoring from Good to Great by Ben OrensteinIdea to Validation to Launch - Microconf 2019Write code faster: expert-level vimContactBen is @r00k listen to his podcast - The Art of ProductFollow @fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)kau.sh's blog or @kaushikgopal (on Twitter)

Ep 234234: More Product. Less Architecture?
In this episode, Donn and Kaushik talk about how many Android applications seem to suffer from the disease of over-architecture while neglecting the product (UI/UX) itself. They discuss why this is deterimental to the user experience in the Android platform and how they've seen it evolve over the years. They attempt to provide some thoughful ideas on how this can be rectified in the future and more.We're looking for your feedback on this show. What are your favorite product apps that are just a joy to use on Android? Let us know on Twitter at @donnfelker and @kaushikgopal and @fragmentedcastDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 233233: UI Screenshot Testing with Paparazzi and John Rodriguez
In this episode, Donn and Kaushik talk to John Rodriguez (jrod) about the Paparazzi library which allows you to perform UI screenshot testing on Android without an emulator or physical device.They talk to John about what screenshot testing is, why it's important, advantages and it's disadvantages as well. You'll learn how to use Paparazzi and how it can test various different screen configurations without having to run an emulator. You read that correct ... without an emulator.If you're looking to incorporate screenshot testing into your app, this is the episode for you.LinksPaparazzi Project websiteGitHub RepoJohn's TwitterCashapp GitHubTestParameterInjectorFragmented Episode 52Donn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 232232: Frustration, Flow State and "The Madness"
EIn this episode Donn and Kaushik talk about frustration, finding "flow state" and how it's known as "the madness" and how to deal with it.We originally were going to talk about an other topic, but during the off air banter Donn brought up how he was frustrated with losing/burning so much time on a task that he had for his side project. He only meant to spend a little bit of time on it and then spent WAY more time than he meant to. He got to the point where he had to stop working on the project, yell at himself for not time boxing it and then he had to refocus. This piqued Kaushik's interest and they decided to hit record to talk about this topic as its something they both deal with and have also hear many other developers deal with too. The "Madness" is when you get consumed by your work and you're so passionate that you lose track of time, eating and more. You've become consumed ... you have "The Madness". This happens to all developers, and Donn and Kaushik talk about how to not let this derail your day when you have other responsibilities as well as life and work. We hope you enjoy today's off the cuff developer discussion.Donn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 231231: Learning Jetpack Compose with Vinay Gaba
In this episode, Donn and Kaushik talk to Android GDE Vinay Gaba about learning Jetpack Compose.They talk about how to learn how to use Jetpack Compose by example (and Vinay's excellent talk by the same name). How to use Jetpackcompose.app to help you find the right Jetpack Compose component and how to use ShowKase to organize discover and visualize your Jetpack Compose Elements. We then dive into why someone might want to learn Jetpack Compose and how to start learning it. They touch briefly on the parts of Compose, such as the compiler, runtime, UI, foundation, and more. They wrap up by talking about Unidirectional State flow and by answering the hot question ... "Is Jetpack Compose ready for production?" If you're looking to learn more about Jetpack Compose, this is an episode for you. LinksVinay's TwitterVinays Learning Jetpack Compose by Example VideoJetpackCompose.app (find the Jetpack Compose component you're looking for by typing in the XML equivalent)ShowKase - A library to organize, discover and visualize your Jetpack Compose ElementsJetpack Compose Official DocsCompose RuntimeInside Jetpack Compose DiagramOther Jetpack Compose EpisodesEP 172EP 196Donn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 230230: Feeling Like an Idiot
In this episode Donn talks about that pit of the stomach feeling we all get when we feel like we should know something but we don't. It's that voice in our head as developers that makes you feel like an idiot even when you're not.Donn gives examples of how even senior engineers are subject to this feeling and how they are often the ones to not speak up about it simply because of their experience level and seniority. This episode talks about why we get this feeling and how to combat it going forward. Donn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 230229: Native Where You Need It with Turbo (Launch Your Side Projects Faster)
In this episode, Kaushik peppers Donn with questions about his foray into Android Turbo, Hotwire, and the concept of "Native Where You Need It".Donn recently launched Android Jumpstart, the Android client for the Jumpstart Rails trifecta. Jumpstart Rails allow you to launch your SaaS business much faster than if you were to do it from the ground up.The Android client for Jumpstart Rails builds on top of Turbo and Hotwire, two technologies that help power the Hey email client and Basecamp (the project management app). By using Turbo and Hotwire you're able to get very fast response times and speed with "HTML Over the Wire" (aka Hotwire) with Websockets and much more. This allows your web app to be super fast and when packaged with Android Turbo, allows your web app to live within a native shell. HOWEVER, this doesn't mean its simply a web wrapper. With Android Turbo you can specify which URL routes you'd like to be as native and which ones you'd like to remain web-based. This means you can choose to use Native when you need it, and delegate back to the web for everything else.This is the solo founder, indie-hacker, and startup SaaS dream come true. You can come to market faster, iterate with a smaller team and get native benefits when and where you need it, all while also allowing your application to be flexible in a web manner.If you're thinking about building a SaaS app that needs a web presence, Android and iOS presence but want fully native experiences in certain areas then this will be the episode for you.LinksHotwired.devStimulus JSJumpstart AndroidJumpstart RailsJumpstart iOSEpisode 220 with Jay Ohms - Turbo Native for AndroidGo Rails TutorialsDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 228228: Expo Development with Konstantin Liakhovskii
In this episode Donn and Kaushik talk to Konstantin Liakhovskii about Expo development and how it takes cross platform development and its productivity to the next level. Konstantin dives deep into the usages and reasons why Expo (and React Native) are still very good options for companies that are looking to adopt a cross-platform application. Links from the showExpo.devKonstantin's TwitterReactive Native Episode with Gabriel Peal #129Reactive Native Episode with Gabriel Peal #130 (Part 2)StoaStoa is a community platform for creators and anyone who wants to monetize their community. Sign up at getstoa.com and get 3 months free when we launch. Early access coming soon.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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 227227: Exotic Car Salesman to Mobile Developer with Ephraim Schmitt
In this episode Donn sits down and talks to Ephraim Schmitt about how he changed careers from being an exotic car salesman to a mobile software developer. It's a fascinating and inspiring story for anyone looking to get into software development. We talk about the mental and financial struggles, how he learned to start coding, how you can find opportunities everywhere, how to interview better, where to look for positions when you're just starting out, why volunteering/doing something for free early on is fast way to open doors and build your network and so much more.If you or anyone you know is looking to break into the software industry, this is the podcast for you. You'll leave with a couple pages of notes, tips and the inspiration you need to jump into the world of software development.Links from the show1st Phorm (Ephraim's current employer) StoaStoa is a community platform for creators and anyone who wants to monetize their community. Sign up at getstoa.com and get 3 months free when we launch. Early access coming soon. 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.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 226226: The Reunion - Themes, VS Code and More
In this episode Donn and Kaushik are back together on the mic. After an extended break, they both returned renewed and ready to dive into all things software, starting off with IDE themes, plugins and what they've been up to since they were last on the show together.Links from the showMonokai Pro ThemeVS Code & AtomIntelliJ/Android Studio/WebStorm/etcVS Code PluginsBeautifyChange Color FormatFish VS CodePythonPylanceShell FormatGit LensES LintPrettierRainbow CSVTailwindCSS IntellisenseRubyTypeScriptCaper.AIStoa - Community Platform for CreatorsFreelance Faction - Donn's Freelance CommunityAndroidJobs.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.IOSoftware Freelancing Donn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 225225: Don't Give Up - Persevere
In this episode Donn talks about something not giving up and persevering when the going gets tough in software, your career and more. It's easy to give up, but the real reward is when you persevere.Links from the showGrowth Mindset BookAndroidJobs.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.IOSoftware Freelancing Donn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 224224: Our Latest Book Recommendations
In this episode, Donn and Kaushik talk about some of the books that they're reading and thoughts and recommendations on each.Links from the showDonn's BooksDesigning Data Intensive ApplicationsSystemologyWho Not HowSkin in the GameZero To SoldFreelance TacticsKaushik's BooksStaff EngineerAn Elegant Puzzle: Systems of Engineering ManagementGrokking AlgorithmsCoders At WorkA Philosophy of Software DesignAndroidsAndroidJobs.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 Book on Freelancing TacticsFreelance TacticsContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b 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 223223: Productivity with TODO Apps and Personal Knowledge Management Systems
In this episode, Donn and Kaushik reunite for an episode on how they use productivity tools like various todo apps as well as how the organize information for storage and easy retrieval in their day to day lives.ShownotesIn this episode, Donn and Kaushik reunite for an episode on how they use productivity tools like various todo apps as well as how the organize information for storage and easy retrieval in their day to day lives.Links from the showTaskwarriorGTD BookP.A.R.A. MethodBuilding a Second Brain CourseBullet Journal MethodTask WarriorWing Task for Task WarriorParkinsons LawNotionKanbanflowThings App for Mac and iOSQuiver Code Snippet OrganizerAndroidJobs.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.m* 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 222222: Managing Android devices (EMM) with Prabhjot
In this episode, Kaushik talks to his good friend Prabhjot and learns about "Android Enterprise". This is the official way for companies or organizations to enable the use of Android devices and apps in the workplace. Prabhjot talks about how he setup the infrastructure to provision devices and the different capabilities the solution allows.If you ever wondered what kind of control is possible, listen to this episode and get a nice scary reality check. After listening to this episode, you'll think twice before accepting free devices from companies or letting policy apps be installed on your phone.Links from the showAndroid EnterpriseTerminologyFeature ListOracle Cloud Free (not a referral link)10 TB of outbound data transfer free (vs 1GB from competitors)Contact@fragmentedcast or our Youtube channelPrabhjot on TwitterDonn@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)Kaushik@kaushikgopal and kaushikgopal (on Instagram)kaushikgopal (on YouTube) or Kaushik's 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 RatesDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

Ep 221221: How to Introduce Seams into Legacy Code
In this episode, Donn continues to dive into his favorite software book: Working Effectively with Legacy Code. He talks about one of the fundamental tactics of the book: Introducing seamsYou'll learn what a seam is according to the book, as well as how Donn interprets it so that you can get the same benefit he has gotten from it. You'll learn how to introduce seams into your codebase through method injection, interfaces, abstract classes, and the static gateway pattern (aka: wrapper pattern).Links from the showWorking Effectively with Legacy CodeAndroidJobs.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 220220: Turbo Native for Android and Hotwire with Jay Ohms
In this episode, Donn talks to Jay Ohms about Turbo Native for Android, Hotwire, and how to build apps faster with Hotwire, Turbo, Stimulus, and Strata. Jay is an Android developer at Basecamp.com and Hey.com and has been building Hey with Android Turbo since it has been released (he's one of the developers of it).You'll learn what Hotwire is, how to use it with Android Turbo (and Stimulus and Strata) and how you can create apps faster and more maintainable by marrying the concepts of the web with native code. It's a fascinating technology, and one that Donn will be using very shortly for a SaaS product he's working on.Links from the showHotwire.devTurbo Native for AndroidTurbo Native for iOSStimulusHeyBasecampBasecamp is Hiring an Android Dev - email jay @ basecamp dot comGet Ahold of Jays ContactJay's TwitterEmail: jay @ basecamp dot comAndroidJobs.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 219219: The Legacy Code Change Algorithm
In this episode, Donn talks dives into his favorite software book: Working Effectively with Legacy Code. He talks about one of the introduction level topics: The Legacy Code Change AlgorithmYou'll learn what it is and how you can use it as the basis for this new series that will be focused on the book, Working Effectively with Legacy Code.Links from the showWorking Effectively with Legacy CodeAndroidJobs.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.