Fragmented - AI Developer Podcast

Fragmented - AI Developer Podcast

By Kaushik Gopal, Iury SouzaScienceTechnologyEducation
Download on the App Store

Fragmented - AI Developer Podcast episodes

  • 171: Jetpack Compose with Leland Richardson

    This week Donn and Kaushik talk to Leland Richardson from the Android team at Google about Jetpack Compose.

    Jetpack Compose is declarative component-based UI runtime for Android. With compose you can build your UI with functions in Kotlin to easily "compose" what your UI would look like.

    We dive deep in this episode. We talk about the background and influence React had on the project, we dive deep into some of the decisions made regarding the library and much much more...

    We hope you enjoy ...

    Shownotes
    • Jetpack Compose First Principels
    • React, Meet Compose Slides
    • Jetpack Compose Android Dev Docs
    • Leland's Contact info:
      • Twitter
      • Website
      • Fragmented Contact
        • Discord chat or @fragmentedcast or our Youtube channel
        • @donnfelker and donnfelker (on Instagram)
        • @kaushikgopal and kaushikgopal (on Instagram)
        • 1 hr 12 min
        • 170: Developer Growth - Public Speaking

          In this episode, Donn talks about public speaking and how it can help you grow your career.

          He dives in by telling a story of his first speaking engagement and how he was riddled with fear, insecurity, doubt and anxiety. He then talks about why speaking can help you grow your career and life leaps and bounds. He wraps up with possible things you can speak about when starting out as well as where you can get your break into the speaking circuit.

          Shownotes
          • Fragmented #154 - Developer Growth: Start Writing
          • The Single Best Thing You Can Do For Your Career
          • Sponsor

            This episode is sponsored by Instabug.

            Squash bugs 🐞 in less than a minute with Instabug!

            Special offer for all listeners, go to instabug.com/fragmented

            Signup for free, install the SDK, and you will get Instabug's brand new t-shirt!

            Contact
            • Discord chat or @fragmentedcast or our Youtube channel
            • @donnfelker and donnfelker (on Instagram)
            • @kaushikgopal and kaushikgopal (on Instagram)
            • 33 min
            • 169: Testing and JUnit 5 with Marcel Schnelle

              Marcel Schnelle joins Donn in this episode to talk about how to get your application under test and some steps to go from scared to confident in your testing process. The second half of the show they dive in deep to JUnit 5 and its new features.

              JUnit 5 is backwards compatible with JUnit 4 and offers a slew of new features and extensibility points which make the framework much more appealing going forward. We're convinced you'll enjoy this episode and leave wanting to get your app under test - even more than it already is.

              Enjoy.

              Shownotes
              • Caster.IO JUnit 5 Course
              • JUnit 5 Android Plugin
              • JUnit5 User Guide
              • Danny Preussler: The next gen of testing - Droidcon NYC 2018 (YouTube)
              • Marc Philipp: JUnit 5 Extensions - Joker 2017 (YouTube)
              • Spek Framework Testing for Kotlin
              • Get ahold of Marcel:

                • Marcel Schnelle Twitter
                • Marcel Schnelle Website
                • Sponsors πŸ™
                  • sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/
                  • Contact
                    • Discord chat or @fragmentedcast or our Youtube channel
                    • @donnfelker and donnfelker (on Instagram)
                    • @kaushikgopal and kaushikgopal (on Instagram)
                    • 1 hr 7 min
                    • 168: Learning Kotlin: Lambda Expressions Part 2

                      In this episode, Donn continues his talks about Kotlin Lambda Expressions. He explains how you can use lambda expressions as function parameters and as return types for functions.

                      This is a very dense episode - if you get lost look at the code snippets below or view on them on fragmentedpodcast.com

                      class LogReader {
                      fun processFile(file: File, processLine: (String) -> Unit = {}) {
                      file.forEachLine {
                      println("Number of Chars: ${it.length}")
                      processLine(it)
                      println("Line Done Processing")
                      }
                      }
                      fun processFileWithHandlers(file: File, logHandler: LogHandler) {
                      file.forEachLine {
                      println("Start of Processing")
                      logHandler.handleLine().forEach { handler -> handler(it) }
                      println("Line Done Processing")
                      }
                      }
                      }
                      interface LogHandler {
                      fun handleLine(): List<(String) -> Unit>
                      }
                      val reader = LogReader()
                      val textFile = File("/Users/donnfelker/scratch/lorem.txt")
                      // Process with single lambda
                      reader.processFile(textFile, { println("First 10 Chars: ${it.substring(0..9)}") })
                      val logHandler = object : LogHandler {
                      override fun handleLine(): List<(String) -> Unit> {
                      return listOf<(String) -> Unit>(
                      { line -> println("${line.substring(0, 1)}") },
                      { line -> println("${line.substring(2, 4)}") },
                      { line -> println("${line.substring(5, 10)}") }
                      )
                      }
                      }
                      // Process with multipe handlers via the logHandler
                      reader.processFileWithHandlers(textFile, logHandler)
                      Sponsors πŸ™
                      • sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/
                      • Contact
                        • Discord chat or @fragmentedcast or our Youtube channel
                        • @donnfelker and donnfelker (on Instagram)
                        • @kaushikgopal and kaushikgopal (on Instagram)
                        • 22 min
                        • 167: Clean Architecture with Joe Birch

                          Donn sits down with Buffer Android Lead, Joe Birch. Joe is a GDE for Android, Google Actions, Flutter and Google Pay. In this episode Donn and Joe talk about Clean Architecture, what it is, and why you might want to use it.

                          They break down the concept of what Clean Architecture is in a manner that is easy for even a beginner to understand.

                          Enjoy.

                          Shownotes
                          • Caster.IO Course
                          • [Uncle Bob Clean Arch]https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
                          • Buffer Clean Architecture BoilerPlate
                          • Chord Assist Guitar
                          • Get ahold of Joe:

                            • Joe Birch Twitter
                            • Joe Birch Instagram
                            • Sponsors πŸ™
                              • sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/
                              • Contact
                                • Discord chat or @fragmentedcast or our Youtube channel
                                • @donnfelker and donnfelker (on Instagram)
                                • @kaushikgopal and kaushikgopal (on Instagram)
                                • 50 min
                                • 166: Cross platform development talk with Jesse Wilson

                                  Kaushik decides to hit record on a skype call he has with friend of the show Jesse Wilson. They start off by discussing building features across different platforms today. Jesse talks about a clever mechanism of using javascript to change logic on the fly across the Square cash app, that's worked out pretty well. They then go on to discussing how one can try and converge across platforms in terms of business logic, architecture, naming etc. They then wind it down by discussing the state of Flutter, Kotlin multiplatform and reaching the promised land.

                                  Enjoy.

                                  Shownotes
                                  • objc.io
                                  • Kevin Galligan
                                  • Alec Strong
                                  • Egor Andreevich
                                  • Sponsors πŸ™
                                    • Instabug
                                    • Instabug completely takes care of your beta testing and user feedback process so you can debug, fix, and improve your app quality faster. They're giving Fragmented listeners a special bonus when you go to instabug.com/fragmented - Signup for free, install the SDK, and you will get Instabug's brand new t-shirt

                                      Contact
                                      • @jessewilson
                                      • @chrismlacy
                                      • @donnfelker and donnfelker (on Instagram)
                                      • @kaushikgopal and kaushikgopal (on Instagram)
                                      • 45 min
                                      • 165: Learning Kotlin: Lambda Expressions Part 1

                                        In this episode, Donn talks about Kotlin Lambda Expressions. He explains the syntax and how to build a couple of simple lambda expressions with and without type inference and declaration. We wrap up with a small example of passing a small lambda with multiple values to a function. See the show notes below for more info. This is part 1 of a multi-part series on Lambda Expressions in Kotlin.

                                        The basic syntax of a lambda expression:

                                        val myLambda : Type = { argumentList -> codeBody }

                                        The codeBody is the only section that is not optional.

                                        Double lambda expression (doubles an integer) with type inference

                                        val double = { number: Int -> number * 2 }
                                        val result = double(4)
                                        // result = 8 now

                                        Double string multi-line lambda with type inference.

                                        val doubleString = { number: Int ->
                                        // codebody
                                        val doubleResult = number * 2
                                        doubleResult.toString()
                                        // Kotlin knows this will return a string
                                        }

                                        Type declaration in a lambda

                                        val myLambda: (String, Int) -> String = { str, int ->
                                        "$str - ${int.toString()}" // "Donn - 32"
                                        }
                                        val result = myLambda("Donn", 32)
                                        // result = "Donn - 32"

                                        Preview of next week … passing a lambda to a function

                                        fun doWork(name: String, favoriteNumber: Int, someLambda: (String, Int) -> String) {
                                        // Do some processing, this is a contrived example
                                        val repeatedString = "$name$name"
                                        val result = someLambda(repeatedString, favoriteNumber)
                                        println(result)
                                        }
                                        // Usage
                                        doWork("Donn", 32) { str, int ->
                                        val someNewValue = "$str is my parameter and so is $int"
                                        someNewValue.length.toString() // this is returned
                                        }
                                        // '37' is printed via println
                                        // Or use it like this, the lambda code body is what can change, this is where the power is at
                                        doWork("Donn", 32) { name, count ->
                                        var result = ""
                                        for(i in 1..count) { result += "$name" }
                                        result // this is returned
                                        }
                                        // loops over and concatinates "Donn" until the favorite number (aka count) is met.
                                        // Output looks like: "DonnDonnDonnDonnDonnDonn..." and so on...
                                        16 min
                                      • 164: Learning Kotlin: Sealed Classes

                                        In this episode, you'll learn all about Kotlin Sealed classes. Donn walks you through what they are, how to create them, how to use data classes, objects and regular classes to create a restricted type hierarchy.

                                        • Kotlin Sealed Classes
                                        • Sponsors πŸ™
                                          • sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/
                                          • Contact
                                            • Discord chat or @fragmentedcast or our Youtube channel
                                            • @donnfelker and donnfelker (on Instagram)
                                            • @kaushikgopal and kaushikgopal (on Instagram)
                                            • 21 min
                                            • 163: Parallelize Your Espresso Tests with Flank w/ Matt Runo

                                              In this episode, Donn talks to Matt Runo about the Flank project. Using Flank you can run your Espresso test suite in parallel on Firebase Test Lab (FTL). This allows you to lower your feedback loop time and increase developer productivity and throughput. You'll learn all about Flank, how it works and how to get started in this episode.

                                              Sponsors πŸ™
                                              • sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/
                                              • Contact
                                                • Discord chat or @fragmentedcast or our Youtube channel
                                                • @donnfelker and donnfelker (on Instagram)
                                                • @kaushikgopal and kaushikgopal (on Instagram)
                                                • 40 min
                                                • 162: Catching up on Google IO 2019
                                                  Shownotes
                                                  • Digital trends: Comparing Pixel 2, 3 and 3A
                                                  • Google Activity tracking
                                                  • Google Activity tracking Controls
                                                  • Flutter for Web
                                                  • New navigation paradigm in Android Q
                                                  • What's new in Android Deveopment Tools - Torr's IO talk
                                                  • Contact
                                                    • Discord chat or @fragmentedcast or our Youtube channel
                                                    • @donnfelker and donnfelker (on Instagram)
                                                    • @kaushikgopal and kaushikgopal (on Instagram)
                                                    • Sponsors πŸ™
                                                      • Instabug - Instabug is an SDK that completely takes care of your beta testing and user feedback process so you can debug, fix, and improve your app quality faster. Go to instabug.com/fragmented, signup, install the SDK, and you will get their brand new t-shirt and a 14-day free trial.
                                                      • 53 min

                                                      About Fragmented - AI Developer Podcast

                                                      From the publisher's feed

                                                      Fragmented is an AI developer podcast for engineers who want to go beyond vibe coding and ship real software.

                                                      More shows like Fragmented - AI Developer Podcast

                                                      Design Details by Brian Lovin, Marshall Bock

                                                      Design Details

                                                      360 Listeners

                                                      Developer Tea by Jonathan Cutrell

                                                      Developer Tea

                                                      403 Listeners

                                                      Does Not Compute by Sean Washington, Rockwell Schrock

                                                      Does Not Compute

                                                      53 Listeners

                                                      Toolsday by Una Kravets, Chris Dhanaraj

                                                      Toolsday

                                                      48 Listeners

                                                      Swift Unwrapped by JP Simard, Jesse Squires, Spec Network, Inc.

                                                      Swift Unwrapped

                                                      90 Listeners