Brian Norman
Brian Norman
@bnorm.dev
I do the clickety-clackety that make the computer go brrr! @KotlinLang.org compiler developer at @JetBrains.com; all opinions are my own.
131 followers56 following31 posts
Kotlin 2.4.0 ships with a HUGE power-assert update I've been slowly working on for *years*. It's the culmination of efforts I started before joining JetBrains. It's subtle from the user's perspective, but it helped fixed a bunch of problems and unblocks tons of future improvements! 🚀
I talked about all of this recently at KotlinConf '26. The recording isn't available quite yet, but here are the slides. deck.bnorm.dev/kc26 And if you want to dive deep, there is a KEEP with all the technical details. github.com/Kotlin/KEEP/... The future is bright for power-assert!
Kotlin 2.4.0 ships with a HUGE power-assert update I've been slowly working on for *years*. It's the culmination of efforts I started before joining JetBrains. It's subtle from the user's perspective, but it helped fixed a bunch of problems and unblocks tons of future improvements! 🚀
5 years ago, while it was still a third-party compiler plugin, I realized power-assert needed a runtime library: github.com/bnorm/kotlin... 3 years ago I started experimenting with how that could work: github.com/bnorm/kotlin... Now power-assert is both first-party and has a runtime library! 🎉
We're done being Minnesota Nice to ICE. Get the fuck out of our city.
Brian Norman reposted
I'm fucking exhausted.
Brian Norman reposted
⚡ The Kotlin Power-assert is now available for 🪶 Maven! The plugin makes debugging easier with detailed failure messages and no extra libs needed. Enable it in the <plugin> section of `kotlin-maven-plugin` in your `pom.xml`. Read more in the docs 👇 https://kotl.in/wtpugg
Brian Norman reposted
Blogged - Kotlin: Emerging Patterns with Context Parameters rakhman.info/blog/kotlin-... #programming #dev @kotlinlang.org
For KotlinConf, I presented "Writing Your Third Kotlin Compiler Plugin". This talk was about much of my current (and future!) work in the Kotlin compiler. A recording is already available: youtu.be/9P7qUGi5_gc and I've made my slides available as well: deck.bnorm.dev/kc25.
Speaking of slides, for DroidCon NYC, I presented "(Re)creating Magic(Move) with Compose"! I talked about how I've been writing all of my presentations recently with Compose, but still wanted MagicMove from Keynote. A fun talk exploring diff algorithms of all things: deck.bnorm.dev/dcnyc25
*I'm* speaking at Droidcon NYC? About *Compose*? Who approved this?! nyc.droidcon.com/brian-norman/
Brian Norman reposted
Omg, I love this 😍 I think this convinced me to try it! Really amazing showcase of alternative use-cases for Compose and #Kotlin power assert at the same time 😄👏👏 If you don’t know about power assert check it out here, kotlinlang.org/docs/power-a...
Not from this weekend, but I have to brag about this slide: I defined a list of code samples which are each highlighted by Storyboard using an ANTLR parser, and each transition is completely automatic thanks to a "MagicText" Composable. LaunchedEffect to loop though samples and done.
Wanted to share a project I've been working on for the last year: github.com/bnorm/storyboard It's a library for building presentations in #kotlin and Compose! I've built a couple presentations using it, and I'm really excited about the potential!
Brian Norman reposted
Wanted to share a project I've been working on for the last year: github.com/bnorm/storyboard It's a library for building presentations in #kotlin and Compose! I've built a couple presentations using it, and I'm really excited about the potential!
Brian Norman reposted
A palette cleanser for your timeline today: Introducing Metro! Metro is a compiler-plugin-based dependency injection framework that draws heavy inspiration from Dagger, Anvil, & Kotlin-Inject. www.zacsweers.dev/introducing-...
Brian Norman reposted
I just had one of the coolest calls in quite some time with @bnorm.dev. We wanted to talk about a potential issue, but then drifted into him explaining his project, github.com/bnorm/storyboard, to me. I wish he had shown me this before I started preparing for my next talk. 🤯🔥
Open source is so cool! 7 years ago I made a big change to UTF-8 processing in okio. I moved on to other things. Meanwhile, kotlinx-io copies a lot of code from okio (with approval, nothing shaddy). I then join the Kotlin team. Today I found the same code I wrote for okio, comments and all. Wild.
Oh hey, look! PeekSource. I wrote that too! What a trip down memory lane. These were some of my first open source contributions. Can't say enough good things about @swank.ca, @egorand.dev, and Jake. They welcomed an absolute newbie and mentored him in the ways of open source. Thank you!
Brian Norman reposted
We know that publishing a library to Maven Central is a nontrivial quest. Take this guide to aid you on your journey! www.jetbrains.com/he...
Want to know something cool? The multiple output values for interactive scripts is thanks to the same code transformation behind Power-Assert. That's how it can display a before and after result. So cool to see that technology find its way into unexpected places!
IntelliJ IDEA 2025.1 EAP 6 is out! ✅ Enhanced dependency resolution in Kotlin script files ✅ Interactive scratch files in Kotlin K2 mode ✅ Insights into code changes by Kotlin compiler plugins Learn more 👇
You are up to date.