The Developers' Bakery

The Developers' Bakery

By Nicola CortiTechnologyEducationHow To
Download on the App Store

The Developers' Bakery episodes

  • Anvil with Ralf Wondratschek

    “When all you have is an anvil, every problem looks like a hammer.” - Abraham Maslow

    So it starts the Anvil 🔨 README.

    Anvil is a plugin to make your dependency injection with Dagger 2 easier.

    We have the pleasure to host Ralf Wondratschek, Mobile Engineer @ Square. He’s going to tell us how Anvil can make your life with Dagger 2 easier and faster.

    Did you know that this project was originally called Hephaestus? Make sure to don’t miss this episode if you want to learn this and other stories behind this project.

    Enjoy the show 👨‍🍳

    Show Notes
    • 00.19 Intro
    • 01.05 Episode Start
    • 01.31 Ralf’s Introduction
    • 02.21 What is Anvil?
    • 02.51 What is Dagger?
    • 05.20 Ralf’s opinion on Dependency Injection
    • 07.27 Any bad experiences with Dagger?
    • 08.41 What problem is Anvil solving?
    • 14.03 Is Anvil useful if I have only one Android project?
    • 15.47 What’s the story of Anvil?
    • 17.56 Anvil Internals
    • 22.12 How stable is Anvil?
    • 25.00 Anvil vs Hilt
    • 28.57 What do you recommend using in a fresh Android project?
    • 34.37 Tips for project naming
    • 36.56 Shiny new features
    • 37.24 Anvil & Dagger @Binds
    • 38.29 Anvil & Dagger Factories
    • 40.51 Anvil extensibility
    • 44.53 What to expect for Anvil in the future?
    • 47.18 Further reading
    • 48.35 Where to find Ralf online?
    • Resources
      • square/anvil on Github
      • Official Documentation
      • Mentioned Resources & Projects:
        • Dagger Official Website
        • Hilt Documentation
        • Android at Scale @Square - Droidcon San Francisco 2019
        • @vRallev on Github
        • @vRallev on Twitter
        • Show links
          • Podcast Website
          • The Developers’ Bakery on Spotify
          • The Developers’ Bakery on Apple Podcasts
          • The Developers’ Bakery on Google Podcasts
          • @thebakerydev on Twitter
          • @cortinico on Twitter
          • 50 min
          • Apollo GraphQL with Martin Bonnin

            Today we have on stage Martin Bonnin, Android Engineer at Apollo GraphQL 🚀.

            Martin has the amazing opportunity to work full time for an open-source project: Apollo Android, probably the most popular GraphQL client for Android.

            In this episode Martin will tell us his experience with GraphQL, how he got involved with Apollo and how it is to work full time on a oss project.

            Enjoy the show 👨‍🍳

            Show Notes
            • 00.21 Intro
            • 01.07 Episode Start
            • 01.38 Martin’s Introduction
            • 02.59 What is GraphQL?
            • 06.31 Can you convince us that GraphQL is better than REST?
            • 09.38 What do you feel is blocking a wider GraphQL adoption?
            • 12.50 What is offered by Apollo?
            • 15.07 What is Apollo Android?
            • 16.45 The internals of Apollo Android
            • 20.17 Are the APIs inspired by OkHTTP or Retrofit?
            • 23.19 The Normalized Cache
            • 26.35 How you got involved in Apollo?
            • 28.25 How do you feel working fulltime for open-source?
            • 31.03 Who are the Apollo Android maintainers?
            • 33.09 Project governance
            • 35.08 Company open-source vs Fully open-source
            • 36.16 What’s next in 3.0?
            • 38.22 How to contribute to Apollo?
            • 39.33 Where to find examples?
            • 41.17 Further readings
            • 42.22 Where to find Martin online?
            • Resources
              • apollographql/apollo-android on Github
              • Apollo GraphQL Website
              • #apollo-android on Kotlinlang Slack (get an invite here)

              • Official Documentation:
                • Official Android Documentation
                • Official Android Tutorial
                • Normalized Cache
                • Mentioned Resources & Projects:
                  • Github GraphQL API Explorer
                  • ExpediaGroup/graphql-kotlin on GitHub
                  • joreilly/MortyComposeKMM on GitHub
                  • Kotliners - Apollo-Android: a Journey to Kotlin Multiplatform
                  • @martinbonnin on Github
                  • @martinbonnin on Twitter
                  • Martin’s Blog
                  • Show links
                    • Podcast Website
                    • The Developers’ Bakery on Spotify
                    • The Developers’ Bakery on Apple Podcasts
                    • The Developers’ Bakery on Google Podcasts
                    • @thebakerydev on Twitter
                    • @cortinico on Twitter
                    • 44 min
                    • refreshVersions with Louis CAD

                      Have you ever ventured inside the dependency hell 😈? Louis CAD has for sure. Today we’re talking about refreshVersions, a Gradle plugin to help you keep your third-party dependencies up to date.

                      The killer feature of refreshVersions is the possibility to see all the available versions as comments in your versions file. They’re just a ⇧ + down keystroke away to update:

                      Louis will also tell us his personal experience with pair programming in the open-source ecosystem. If you’re looking for a peer to get into open-source, make sure you send Louis a message!

                      Enjoy the show 👨‍🍳

                      Show Notes
                      • 00.25 Intro
                      • 01.11 Episode Start
                      • 01.41 Louis’ Introduction
                      • 02.56 What is refreshVersion?
                      • 04.56 The Dependency Hell problem
                      • 05.54 API breaking changes
                      • 06.35 The cost of bumping dependencies
                      • 07.25 Dependency bundles and versions alignment
                      • 09.27 The history of this project
                      • 13.18 How the find newer versions?
                      • 15.05 A new dependency notation
                      • 16.46 How to use refreshVersions?
                      • 19.14 New versions as comments
                      • 19.51 Java Properties vs JSON/YAML
                      • 22.24 refreshVersions vs Gradle Version Catalog
                      • 26.33 refreshVersions vs Dependabot
                      • 29.42 How to contribute to refreshVersions?
                      • 32.13 Pair programming in open source
                      • 35.36 Have you ever had bad experiences with pair programming?
                      • 37.59 Tools for pair programming
                      • 39.31 How to pair program with Louis?
                      • 42.02 What’s next for refreshVersions?
                      • 43.38 Where to find Louis online?
                      • Resources
                        • refreshVersions on Github
                        • Dependency hell on Wikipedia
                        • Official Documentation
                        • Contribution Guide
                        • #gradle-refresh-versions on Kotlinlang Slack (get an invite here)
                        • Other mentioned projects:
                          • ben-manes/gradle-versions-plugin on Github
                          • LouisCAD/Splitties on Github
                          • Pair programming resources:
                            • Open pair-programming. Let us know if you’re up for it!
                            • Code With Me - IntelliJ IDEA
                            • pop.com
                            • @LouisCAD on Github
                            • @Louis_CAD on Twitter
                            • Show links
                              • Podcast Website
                              • The Developers’ Bakery on Spotify
                              • The Developers’ Bakery on Apple Podcasts
                              • The Developers’ Bakery on Google Podcasts
                              • @thebakerydev on Twitter
                              • @cortinico on Twitter
                              • 46 min
                              • MoshiX and KSP with Zac Sweers

                                It’s time to talk about meta-programming, annotation processors and compiler plugins 🧙‍♂️. Today we have Zac Sweers on stage, Mobile Engineer @ Slack and maintainer of Moshi, a popular Json library.

                                Zac is the author of MoshiX, a set of extensions for Moshi. Between those, one that caught my attention was moshi-ksp. KSP (Kotlin Symbol Processing API) is set to revolutionize the landscape of annotations processors in Kotlin. Join us on this deep dive on code generation and more.

                                Enjoy the show 👨‍🍳

                                Show Notes
                                • 00.18 Intro
                                • 01.05 Episode Start
                                • 01.28 Zac’s Introduction
                                • 03.03 What is Metaprogramming?
                                • 04.42 What is KSP?
                                • 05.26 What about KAPT
                                • 08.20 Overcoming KAPT costs
                                • 09.50 Beyond KAPT
                                • 11.26 KSP API & Features
                                • 15.02 Your story of Moshi
                                • 17.46 Kotlin Metadata
                                • 19.16 Generating Moshi Adapters
                                • 20.18 What is MoshiX?
                                • 23.44 MoshiX & KSP
                                • 25.07 Adopters and Success Stories
                                • 28.02 From MoshiX to Moshi
                                • 30.57 Kotlin Compiler Plugins
                                • 36.20 Compiler Plugin opportunities
                                • 38.53 A Moshi Compiler Plugin?
                                • 41.00 Metaprogramming beyond Java/Kotlin
                                • 45.06 What’s next for MoshiX?
                                • 54.44 Further reading
                                • 60.15 Where to find Zac online?
                                • Resources
                                  • ZacSweers/MoshiX on Github
                                  • google/ksp on Github
                                  • square/moshi on Github
                                  • ZacSweers/redacted-compiler-plugin on Github
                                  • square/kotlinpoet on Github
                                  • KSP Quick Start
                                  • KotlinConf 2018 - Annotation Processing in a Kotlin World
                                  • @ZacSweers on Github
                                  • Zac’s Blog
                                  • @ZacSweers on Twitter
                                  • Show links
                                    • Podcast Website
                                    • The Developers’ Bakery on Spotify
                                    • The Developers’ Bakery on Apple Podcasts
                                    • The Developers’ Bakery on Google Podcasts
                                    • @thebakerydev on Twitter
                                    • @cortinico on Twitter
                                    • 1 hr 2 min
                                    • Press with Saket Narayan

                                      🎂 We’re happy to celebrate our 10th episode! 🎂

                                      And today we have on stage, Saket Narayan, Android Engineer at Square. Saket is an master of Android UI and Custom Views and today is on stage to talk to us about Press.

                                      Press is a beautiful App for taking notes as markdown. The app is completely open source and is a great inspiration for minimal yet elegant UI.

                                      Moreover, Press is developed with Kotlin Multiplatform. This project is a great example of how you can share Kotlin code between Android, iOS and MacOS. Make sure to don’t miss it.

                                      Enjoy the show 👨‍🍳

                                      Show Notes
                                      • 00:13 Intro
                                      • 00:59 Episode Start
                                      • 01:35 Saket’s Introduction
                                      • 02:34 What is Press?
                                      • 03:45 What makes Press special?
                                      • 05:40 What is Kotlin Multiplatform?
                                      • 07:27 Flutter vs Kotlin Multiplatform?
                                      • 08:37 How much code where you able to share?
                                      • 09:50 What are the challenges of shipping iOS/MacOS apps?
                                      • 11:51 From Mobile to Desktop
                                      • 12:45 Shipping to ChromeOS?
                                      • 13:20 What’s your Multiplatform Stack?
                                      • 14:12 Network in a Multiplatform environment
                                      • 15:12 KTor as a client library
                                      • 16:08 How have you wrote the UI?
                                      • 17:05 What are the benefits of Custom Views
                                      • 19:12 Is Jetpack Compose on the horizon?
                                      • 21:05 Which IDE for iOS?
                                      • 21:59 What is missing in AppCode?
                                      • 24:40 What would you do differently?
                                      • 26:22 Are you looking for contributors?
                                      • 28:37 Missing features?
                                      • 29:34 Further reading
                                      • 30:39 Where to find Saket online?
                                      • Resources
                                        • saket/press on Github
                                        • Press Official Documentation
                                        • Press on Play Store
                                        • cashapp/contour on Github
                                        • @saket on Github
                                        • Saket Blog
                                        • @saketme on Twitter
                                        • Show links
                                          • Podcast Website
                                          • The Developers’ Bakery on Spotify
                                          • The Developers’ Bakery on Apple Podcasts
                                          • The Developers’ Bakery on Google Podcasts
                                          • @thebakerydev on Twitter
                                          • @cortinico on Twitter
                                          • 33 min
                                          • JaCoCo with Evgeny Mandrikov

                                            This episode is going to be all about testing and code coverage 🧪 as we have Evgeny Mandrikov on stage!

                                            He’s going to tell use the story behind JaCoCo, aka Java Code Coverage, one the most popular code coverage library for Java, Kotlin and the JVM.

                                            If you’re curious to learn how a code coverage tool works internally, make sure to don’t miss this episode.

                                            Enjoy the show 👨‍🍳

                                            Show Notes
                                            • 00:15 Intro
                                            • 01:02 Episode Start
                                            • 01:42 Evgeny’s Introduction
                                            • 02:45 What is JaCoCo?
                                            • 03:52 One tool for one function
                                            • 04:59 Is JaCoCo in “maintenance” mode?
                                            • 07:03 Convince us that coverage is important
                                            • 09:59 JaCoCo as a debugging tool
                                            • 11:50 Where to use code coverage?
                                            • 14:11 Patch vs total coverage
                                            • 18:04 How JaCoCo works?
                                            • 21:57 Source based instrumentation
                                            • 24:54 Pattern matching and code coverage
                                            • 26:54 Is JaCoCo ever failing?
                                            • 29:57 Kotlin inline functions
                                            • 34:30 Integrating with JaCoCo
                                            • 36:00 JaCoCo vs IntelliJ Code Coverage?
                                            • 39:57 Is a mailing anachronistic?
                                            • 42:28 How to contribute to JaCoCo?
                                            • 45:13 What’s the future for JaCoCo?
                                            • 48:07 Evgeny’s dream about JaCoCo
                                            • 49:53 Learning Material
                                            • 51:04 Where to find Evgeny online?
                                            • Resources
                                              • jacoco/jacoco on Github
                                              • JaCoCo Official Documentation
                                              • JaCoCo Mailing List
                                              • JaCoCo on StackOverflow
                                              • Further reference:
                                                • JaCoCo & Language support
                                                • List of all the JaCoCo Integrations
                                                • Talks and presentations about JaCoCo
                                                • @Godin on Github
                                                • @_Godin_ on Twitter
                                                • Show links
                                                  • Podcast Website
                                                  • The Developers’ Bakery on Spotify
                                                  • The Developers’ Bakery on Apple Podcasts
                                                  • The Developers’ Bakery on Google Podcasts
                                                  • @thebakerydev on Twitter
                                                  • @cortinico on Twitter
                                                  • 54 min
                                                  • Tuist with Pedro Piñera Buendía

                                                    You don’t need a tooling team

                                                    That’s Tuist motto, and if you’re an iOS Developer 🍎 you really don’t want to miss it.

                                                    Today we have Pedro Piñera Buendía on stage. He’s the author and maintainer of Tuist, a tool to help you maintain and generate your XCode Projects. Pedro will tell us about the history of this tool and how it plays with monorepo and dependency management.

                                                    Enjoy the show 👨‍🍳

                                                    Show Notes
                                                    • 00:18 Intro
                                                    • 01:05 Episode Start
                                                    • 01:46 Pedro’s Introduction
                                                    • 03:04 What is Tuist?
                                                    • 05:36 Tuist vs Gradle
                                                    • 10:59 “Focused” projects
                                                    • 14:26 XCode’s pain points
                                                    • 15:42 3rd party dependencies
                                                    • 18:10 Monorepos
                                                    • 21:44 How you came up with Tuist?
                                                    • 25:25 The Tuist Core Team
                                                    • 27:06 Major adopters
                                                    • 29:09 What’s the future for Tuist?
                                                    • 31:23 Collecting Build Metrics
                                                    • 32:53 Tuist Internals
                                                    • 35:35 How to contribute to Tuist?
                                                    • 39:16 Slack and Tuist community
                                                    • 41:31 Documentation and Material
                                                    • 43:49 Where to find Pedro online?
                                                    • Resources
                                                      • tuist/tuist on Github
                                                      • Tuist Official Documentation
                                                      • Tuist Contributors Documentation
                                                      • @tuistio on Twitter
                                                      • Other mentioned tools:
                                                        • yonaskolb/XcodeGen
                                                        • spotify/XCMetrics
                                                        • redwoodjs/redwood
                                                        • Pedros’s Contacts
                                                          • Pedro’s website
                                                          • @pepibumur on Github
                                                          • @pedropbuendia on Twitter
                                                          • Show links
                                                            • Podcast Website
                                                            • The Developers’ Bakery on Spotify
                                                            • The Developers’ Bakery on Apple Podcasts
                                                            • The Developers’ Bakery on Google Podcasts
                                                            • @thebakerydev on Twitter
                                                            • @cortinico on Twitter
                                                            • 46 min
                                                            • VelocityX and Flutter with Pawan Kumar

                                                              Do you know Flutter 💙 ? I bet you do, if you’re into mobile development. Today, we have Pawan Kumar on stage, he’s a Flutter & Dart GDE and he is on stage to advocate for cross-platform development.

                                                              Pawan is the author of VelocityX, a framework that will make your UI development experience even faster. He will tell us more about this framework, how it started and what the inspiration came from.

                                                              Also, make sure to don’t miss the bonus question Kotlin vs Dart (39:50) ⁉️

                                                              Enjoy the show 👨‍🍳

                                                              Show Notes
                                                              • 00:37 Intro
                                                              • 01:12 Episode Start
                                                              • 02:02 Pawan’s Introduction
                                                              • 03:00 What is Flutter?
                                                              • 05:11 Android Native vs Flutter?
                                                              • 08:12 Kotlin Multiplatform vs Flutter?
                                                              • 10:43 What is VelocityX?
                                                              • 15:51 VelocityX Key Features
                                                              • 18:12 State Management & VelocityX
                                                              • 20:41 Who is using VelocityX?
                                                              • 22:58 Open-source examples?
                                                              • 24:50 What inspired VelocityX?
                                                              • 28:30 Is VelocityX production ready?
                                                              • 30:02 What’s missing in VelocityX?
                                                              • 32:35 Contributing to VelocityX
                                                              • 34:50 VelocityX’s future
                                                              • 37:36 Learning Material
                                                              • 38:50 Where to find Pawan online?
                                                              • 39:50 Bonus question: Kotlin vs Dart?
                                                              • Resources
                                                                • VelocityX on Github
                                                                • VelocityX Official Documentation
                                                                • VxToast #1 - Flutter Meets VelocityX
                                                                • PortfolioX Sample App

                                                                • Other mentioned frameworks and packages:
                                                                  • provider package for Flutter
                                                                  • Tailwind CSS
                                                                  • Swift UI
                                                                  • Pawan’s Contacts
                                                                    • @mtechviral on Youtube
                                                                    • @iampawan on Github
                                                                    • @imthepk on Twitter
                                                                    • Show links
                                                                      • Podcast Website
                                                                      • The Developers’ Bakery on Spotify
                                                                      • The Developers’ Bakery on Apple Podcasts
                                                                      • The Developers’ Bakery on Google Podcasts
                                                                      • @thebakerydev on Twitter
                                                                      • @cortinico on Twitter
                                                                      • 44 min
                                                                      • Koin with Arnaud Giuliani

                                                                        In this episode, we talk about Dependency Injection 🗡. We have Arnaud Giuliani on stage, Kotlin GDE and author of Koin, a popular dependency injection framework for Kotlin.

                                                                        Koin works well for Android projects, but it can be used also in backend projects and the Multiplatform support is just behind the corner.

                                                                        Arnaud will tell us the story of this framework: how it started, how it grew and how its feature will look like.

                                                                        Enjoy the show 👨‍🍳

                                                                        Show Notes
                                                                        • 00:36 Intro
                                                                        • 01:11 Episode Start
                                                                        • 01:46 Arnaud’s Introduction
                                                                        • 03:20 What is Koin?
                                                                        • 04:47 Reified Types & Annotations
                                                                        • 08:48 The path to success
                                                                        • 11:42 Koin’s killer feature
                                                                        • 13:47 What is missing in Koin?
                                                                        • 15:21 Compile time verification
                                                                        • 18:35 The DI ecosystem
                                                                        • 20:56 Koin in the Android world
                                                                        • 23:56 Koin in the Multiplatform world
                                                                        • 28:10 Koin internals
                                                                        • 31:00 Kotlin’s feature used by Koin
                                                                        • 32:08 What’s new in Koin 3.x
                                                                        • 35:16 Breaking API Changes
                                                                        • 39:24 Koin 4.x?
                                                                        • 42:35 How to contribute to Koin?
                                                                        • 46:46 Learning Material
                                                                        • 49:41 Where to find Arnaud online?
                                                                        • Resources
                                                                          • InsertKoinIO/koin on Github
                                                                          • Koin Official Documentation
                                                                          • @insertkoin_io on Twitter
                                                                          • Dependency injection from zero to hero with Koin on Youtube
                                                                          • Koin Developers on Medium
                                                                          • #koin on Kotlinlang Slack (get an invite here)
                                                                          • @arnaudgiuliani on Github
                                                                          • @arnogiu on Twitter
                                                                          • Show links
                                                                            • Podcast Website
                                                                            • The Developers’ Bakery on Spotify
                                                                            • The Developers’ Bakery on Apple Podcasts
                                                                            • The Developers’ Bakery on Google Podcasts
                                                                            • @thebakerydev on Twitter
                                                                            • @cortinico on Twitter
                                                                            • 52 min
                                                                            • Starship with Matan Kushner

                                                                              In this episode, we shift a bit from Mobile & Kotlin to talk about shells, prompts and Rust! 🦀

                                                                              Today we have Matan Kushner with us on stage to talk about Starship 🚀. From their website: The minimal, blazing-fast, and infinitely customizable prompt for any shell!

                                                                              Still confused? A picture is worth a thousand words:

                                                                              Starship in action, from starship.rs

                                                                              If you’re curious to know more about shells, prompts, customizations and what are the challenges behind Starship, make sure you don’t this episode.

                                                                              Enjoy the show 👨‍🍳

                                                                              Show Notes
                                                                              • 00:27 Intro
                                                                              • 01:13 Episode Start
                                                                              • 01:53 Matan’s Introduction
                                                                              • 03:05 What is Starship?
                                                                              • 04:20 Supported shells
                                                                              • 05:27 The idea behind writing a prompt
                                                                              • 08:49 Matan’s favourite plugin
                                                                              • 10:02 Missing features and space for improvements
                                                                              • 11:44 What is your current setup?
                                                                              • 13:36 Is there a “prompt market”?
                                                                              • 15:19 Would you write it again in Rust?
                                                                              • 17:07 Challenges of a prompt author
                                                                              • 19:40 Where is Starship collecting information?
                                                                              • 21:05 Async support
                                                                              • 22:37 Which shell is the hardest to work with
                                                                              • 24:14 The secret to build a vibrant community
                                                                              • 26:16 Communities and Discord
                                                                              • 29:41 What’s the future for Starship?
                                                                              • 32:16 Roadmap and Vision
                                                                              • 33:33 How to contribute?
                                                                              • 35:18 Translating Starship
                                                                              • 36:34 Learning Material
                                                                              • 37:40 Where to find Matan online?
                                                                              • Resources
                                                                                • starship/starship on Github
                                                                                • Starship Official Documentation
                                                                                • The Rust Book
                                                                                • Other mentioned prompts:
                                                                                  • romkatv/powerlevel10k - A Zsh theme
                                                                                  • IlanCosman/tide - The ultimate Fish prompt
                                                                                  • @StarshipPrompt on Twitter
                                                                                  • @matchai on Github
                                                                                  • @matchai on Twitter
                                                                                  • Show links
                                                                                    • Podcast Website
                                                                                    • The Developers’ Bakery on Spotify
                                                                                    • The Developers’ Bakery on Apple Podcasts
                                                                                    • The Developers’ Bakery on Google Podcasts
                                                                                    • @thebakerydev on Twitter
                                                                                    • @cortinico on Twitter
                                                                                    • 40 min

                                                                                    About The Developers' Bakery

                                                                                    From the publisher's feed

                                                                                    A developer podcast about tools, libraries, and productivity. The Developers' Bakery is a place for open-source developers and maintainers to share their experience and projects. A journey through the…

                                                                                    More shows like The Developers' Bakery

                                                                                    Decoder with Nilay Patel by The Verge

                                                                                    Decoder with Nilay Patel

                                                                                    3,156 Listeners