
engelsk
Teknologi og vitenskap
99 kr / Måned etter prøveperioden.Avslutt når som helst.
Les mer Talking Kotlin
A bimonthly podcast that covers the Kotlin programming language by JetBrains, as well as related technologies.
How Major Metros Run on KMP
Every time you tap through a subway gate in New York City, you’re using Kotlin Multiplatform! In this episode, we sit down with Paweł Kwieciński from Masabi to explore how they brought a decade-old Java codebase to KMP, powering ticket validation across mobile apps, embedded devices, and backend systems for public transit agencies worldwide. Resources: * Masabi [https://www.masabi.com/] * J2ObjC (Java to Objective-C translator) [https://developers.google.com/j2objc] * Google Workspace Migration to Kotlin [https://www.youtube.com/watch?v=5sOXv-X43vc] * Large Scale Changes with AI – Uber | Ty Smith [https://www.youtube.com/watch?v=K2PN03AepC0] * KotlinX DateTime [https://github.com/Kotlin/kotlinx-datetime] * Ktor (Client & Server) [https://ktor.io/] * Burst library (archived) [https://github.com/square/burst] * Java ME (Micro Edition) [https://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition] * Mbed TLS [https://www.wolfssl.com/] * SQLDelight [https://sqldelight.github.io/sqldelight/] * Compose Multiplatform [https://www.jetbrains.com/lp/compose-multiplatform/] * JetBrains AI Assistant & Junie [https://www.jetbrains.com/ai/] Hosts: * Sebastian Aigner – Website [https://sebi.io/] | Bluesky [https://bsky.app/profile/sebi.io] * Márton Braun – Website [https://zsmb.co] | Bluesky [https://bsky.app/profile/zsmb.co] Guest: * Paweł Kwieciński Timeline: (0:00) Introduction (1:12) What is Masabi? (3:03) How does Kotlin fit into this? (6:30) System architecture overview (8:33) Embedded SDK and mobile apps (10:33) Ticket inspectors and validators (13:22) Offline operation (16:29) The KMP decision (24:42) Evaluating alternatives (27:21) Planning the migration (33:28) First lines of Kotlin (43:45) Translating Java to Kotlin (53:22) AI-assisted code translation (56:39) Early AI era challenges (1:05:01) Testing challenges (1:08:22) KMP dependencies (1:11:34) Domain-specific dependencies (1:16:55) Java ME and C interop (1:23:22) Backend-client sharing (1:26:59) Current status (1:31:48) Future plans: CMP (1:36:26) Wrap-up
Kotlin 2.3 Release Special (Audio Exclusive)
Sebastian and Márton host a special, audio-only episode where they discuss everything that’s new and noteworthy in the Kotlin 2.3 release. They touch on new language features like the unused return value checker and explicit backing fields, previously added features that became stable in this release, new APIs for time and UUID handling in the standard library, and improvements across all Kotlin platforms — from Native to Wasm and JS. Resources: * What’s new in Kotlin 2.3 [https://kotlinlang.org/docs/whatsnew23.html] * KotlinConf [https://kotlinconf.com/] * Golden Kodee Community Awards [https://kotlinconf.com/awards/] Hosts: * Sebastian Aigner – Website [https://sebi.io/] | Bluesky [https://bsky.app/profile/sebi.io] * Márton Braun – Website [https://zsmb.co] | Bluesky [https://bsky.app/profile/zsmb.co] Timeline: (0:00) Intro (1:13) Nested type aliases (stable) [https://kotlinlang.org/docs/whatsnew22.html#support-for-nested-type-aliases] (1:46) Data-flow based exhaustiveness checks (stable) [https://kotlinlang.org/docs/whatsnew2220.html#support-for-reified-types-in-catch-clauses] (3:28) Return statements in expression bodies [https://kotlinlang.org/docs/whatsnew2220.html#support-for-return-statements-in-expression-bodies-with-explicit-return-types] (4:19) Unused return value checker (experimental) [https://kotlinlang.org/docs/whatsnew23.html#unused-return-value-checker] (12:57) Explicit backing fields (experimental) [https://kotlinlang.org/docs/whatsnew23.html#explicit-backing-fields] (18:51) Context-sensitive resolution (experimental) [https://kotlinlang.org/docs/whatsnew23.html#changes-to-context-sensitive-resolution] (20:11) Clock and Instant in the standard library (stable) [https://kotlinlang.org/docs/whatsnew23.html#standard-library] (21:52) UUID v7 support and better parsing [https://kotlinlang.org/docs/whatsnew23.html#improved-uuid-generation-and-parsing] (26:14) Java 25 bytecode [https://kotlinlang.org/docs/whatsnew23.html#kotlin-jvm-support-for-java-25] (26:36) Faster Native release builds [https://kotlinlang.org/docs/whatsnew23.html#faster-build-time-for-release-tasks] (27:45) Swift Export: enums and varargs [https://kotlinlang.org/docs/whatsnew23.html#improved-interop-through-swift-export] (29:08) C and Objective-C library import (beta) [https://kotlinlang.org/docs/whatsnew23.html#c-and-objective-c-library-import-is-in-beta] (30:49) Apple target support changes [https://kotlinlang.org/docs/whatsnew23.html#changes-to-apple-target-support] (32:15) Fully qualified names in Kotlin/Wasm [https://kotlinlang.org/docs/whatsnew23.html#fully-qualified-names-enabled-by-default] (34:10) New exception handling for wasmWasi [https://kotlinlang.org/docs/whatsnew23.html#new-exception-handling-proposal-enabled-by-default-for-wasmwasi] (35:32) Suspend function export to JS [https://kotlinlang.org/docs/whatsnew23.html#new-export-of-suspend-function-with-jsexport] (37:51) LongArray export to JS [https://kotlinlang.org/docs/whatsnew23.html#usage-of-the-bigint64array-type-to-represent-kotlin-s-longarray-type] (38:40) Unified companion object access in JS [https://kotlinlang.org/docs/whatsnew23.html#unified-companion-object-access-across-js-module-systems] (41:05) @JsStatic inside interfaces [https://kotlinlang.org/docs/whatsnew23.html#support-for-jsstatic-annotations-in-interfaces-with-companion-objects] (41:43) Default exports in JS [https://kotlinlang.org/docs/whatsnew23.html#support-for-javascript-default-exports] (43:45) Compose stacktraces for minified Android apps [https://kotlinlang.org/docs/whatsnew23.html#compose-compiler-stack-traces-for-minified-android-applications] (45:23) Breaking changes 🐜 [https://kotlinlang.org/docs/whatsnew23.html#breaking-changes-and-deprecations] (46:14) Documentation updates [https://kotlinlang.org/docs/whatsnew23.html#documentation-updates] (47:24) KotlinConf, Golden Kodees Awards [https://kotlinconf.com/] (48:11) Wrap-up
Building AI Agents With Koog
Sebastian and Márton talk to Vadim Briliantov, the Technical Lead for Koog: an agentic framework built by JetBrains. We learn about what AI agents are, and why building them in Kotlin with Koog is a great choice. We also discuss all the different ways AI agents can connect to other systems and your existing code, and look at advanced features for agents like custom strategies, model switching, and history compression. Resources: * JetBrains/koog on GitHub [https://github.com/JetBrains/koog] * Koog Documentation [https://docs.koog.ai/] Hosts: * Sebastian Aigner – Website [https://sebi.io/] | Bluesky [https://bsky.app/profile/sebi.io] * Márton Braun – Website [https://zsmb.co] | Bluesky [https://bsky.app/profile/zsmb.co] Guest: * Vadim Briliantov – LinkedIn [https://www.linkedin.com/in/vadim-briliantov-087488232/] | Medium [https://medium.com/@vadim.briliantov] | GitHub [https://github.com/Ololoshechkin] | Bluesky [https://bsky.app/profile/vadim-briliantov.bsky.social] | Twitter/X [https://x.com/Ololoshechkkin] Timeline: (0:00) Intro (1:11) Vadim’s history at JetBrains (4:21) What’s an AI Agent? (5:47) Koog! (7:12) Applications for agents (12:43) Koog’s building blocks (15:05) Strategies, feedback loops (23:55) The Kotlin DSL (26:12) Persistent state (29:48) Subgraphs (32:33) Tools (39:52) MCP support (and A2A) (44:01) Entry point and type safety (49:39) Spring and Ktor support (51:27) LLM Providers (53:30) Model switching (56:02) History and memory (59:22) Enterprise-ready (1:02:12) History compression (1:11:47) Markdown?! (1:14:37) What’s next? (1:18:22) Going open-source (1:20:32) Conclusion
Discussing Kotlin Coroutines with Marcin Moskała
Sebastian and Márton chat with Marcin Moskała about coroutines. Resources: * Coroutines Mastery course [https://coroutinesmastery.com/] * Coroutines | Kotlin Documentation [https://kotlinlang.org/docs/coroutines-overview.html] * kotlinx.coroutines [https://github.com/Kotlin/kotlinx.coroutines] * Taming Asynchronous Beasts | Marcin Moskała [https://www.youtube.com/watch?v=QTX5_JV4TVU] * Coroutine Debugging in IntelliJ IDEA | Alexey Merkulov [https://www.youtube.com/watch?v=3vaAVtnrzAM] * Lifecycles, Coroutines and Scopes | Alejandro Serrano Mena [https://www.youtube.com/watch?v=VyBxy3_Mj6Q] * Collect Like a Pro | Manuel Vivo [https://www.youtube.com/watch?v=qJB5iX2cOu0] * Untangling Coroutine Testing | Márton Braun [https://www.youtube.com/watch?v=nKCsIHWircA] * JetBrains/lincheck – Concurrent testing framework [https://github.com/JetBrains/lincheck] * #talking-kotlin on Kotlin Slack [https://slack-chats.kotlinlang.org/c/talking-kotlin] Hosts: * Sebastian Aigner – Website [https://sebi.io/] | Bluesky [https://bsky.app/profile/sebi.io] * Márton Braun – Website [https://zsmb.co] | Bluesky [https://bsky.app/profile/zsmb.co] Guest: * Marcin Moskała – kt.academy [https://kt.academy/user/marcinmoskala] Timeline: (0:00) Introduction (1:18) Branding discussion (3:23) Handling preconceptions (4:54) What are coroutines? (7:17) Lightweight threads? (11:07) Where coroutines live (13:27) Sequence Builder Example (17:37) The design of coroutines (20:52) What Makes Coroutines special vs other languages? (26:56) Coroutines vs Loom (34:55) Easy to start, hard to master (41:07) Common mistakes (49:33) Flows (58:52) Thinking about Flows (1:02:41) Derailing the conversation (1:03:55) Flows for single values (1:12:27) Structured concurrency (1:18:53) The 4 advantages (1:24:40) Seb tries web dev / The web is broken?! (1:31:15) collectAsStateWithLifecycle (1:32:00) Gardening break (1:36:23) Scopes and contexts (1:43:22) Testing coroutines (1:50:29) Lincheck (1:51:32) Turbine (1:55:05) Coroutines Mastery course (2:01:43) Wrap-up
kotlinx.rpc
Sebastian and Alex chat about the kotlinx.rpc project, in a special episode recorded in the Munich JetBrains office. They explore all the different components of the library, how you can use it to define RPC services and clients, integrate with Ktor and existing gRPC definitions, and more. While the library is still experimental, it’s already feature-packed, and it has ambitious plans for the future! * kotlinx-rpc on GitHub [https://github.com/Kotlin/kotlinx-rpc] * #kotlinx-rpc on Slack [https://kotlinlang.slack.com/archives/C072YJ3Q91V] * kotlinx.serialization on GitHub [https://github.com/Kotlin/kotlinx.serialization] * gRPC [https://grpc.io/] Host: Sebastian Aigner * Website [https://sebi.io/] * Bluesky [https://bsky.app/profile/sebi.io] Guest: Alex Sysoev * LinkedIn [https://www.linkedin.com/in/mr3zee/] * GitHub [https://github.com/Mr3zee]
Velg abonnementet ditt
Mest populær
Premium
20 timer lydbøker
Eksklusive podkaster
Ingen annonser i Podimo shows
Avslutt når som helst
Prøv gratis i 14 dager
Deretter 99 kr / måned
Premium Plus
100 timer lydbøker
Eksklusive podkaster
Ingen annonser i Podimo shows
Avslutt når som helst
Prøv gratis i 14 dager
Deretter 169 kr / måned
Prøv gratis i 14 dager. 99 kr / Måned etter prøveperioden. Avslutt når som helst.