Zac Sweers @zacsweers.dev · 09/09/2026Yeah my coach only recommends them on my quality workout days. Long and easy runs are all in normal shoes with good cushion and stability 011
Zac Sweers @zacsweers.dev · 08/09/2026My coach kinda compared it to how PED use works, in that a lot of it is actually about improving athlete recovery rather than purely improving performance. Similarly, this is a big reason swimmers can do so many events: so much less impact on their bodies let them bounce back quick 101
Zac Sweers @zacsweers.dev · 08/09/2026I had a follow up question/comment! Recorded a video, hope it makes sense. Loved the episode as a long time/semi-competitive runner myself. The TL;DR though being they’re def faster in the shoes, but they’re also legit in better shape because they can do higher volume training too 100
Zac Sweers @zacsweers.dev · 13/08/2026MadeByGoogle events continue to be weird influencer-washing and, at best, disingenuous 050
Zac Sweers @zacsweers.dev · 31/07/2026Suspend providers have been in the works for months, h/t @jingibus.bsky.social for writing up the original proposal. There's more work here but pretty happy with how this core runtime has shaped up! Please give feedback/ideas/etc on the original MEEP: github.com/ZacSweers/me...github.comProposal: Suspending providers · ZacSweers metro · Discussion #1941The Proposal Here's the idea: A "suspending provider" may be written as follows: @Provides suspend fun provideDeviceId(@Io ioDispatcher: CoroutineContext): String = withContext(ioDispatcher) { gene... 010
Zac Sweers @zacsweers.dev · 31/07/2026Metro 1.4.0 brings suspend providers! ⚡ github.com/ZacSweers/me...github.comRelease 1.4.0 · ZacSweers/metroNew Experimental support for suspend providers This release introduces experimental support for suspend providers. This is disabled by default and can be enabled by the metro.enableSuspendProviders... 1173
Reposted by Zac SweersNick Ames @nickames82.bsky.social · 29/07/2026Enough statements, enough words, enough "careful consideration", enough private disgust. It's time for UEFA and Europe to take action against what FIFA and Infantino are doing to football: www.theguardian.com/football/202...theguardian.comUefa has to show backbone: concrete action can make Fifa’s World Cup plans untenable | Nick AmesEuropean football has shown an increased willingness to talk tough with Fifa but words can only be wielded so many times 1230276
Zac Sweers @zacsweers.dev · 16/07/2026@reckless.bsky.social @davidpierce.xyz this week’s episode gonna be lit 000
Zac Sweers @zacsweers.dev · 16/07/2026Circuit 0.35.1 begins removing Parcelable requirements and migrating to AndroidX retain! github.com/slackhq/circ...github.comRelease 0.35.1 · slackhq/circuitNew Pluggable Screen/PopResult persistence with CircuitSaver Circuit's saveable back stacks no longer mandate how Screens and PopResults are persisted. A new CircuitSaver abstraction in circuit-run... 0131
Zac Sweers @zacsweers.dev · 06/07/2026Also handy for testing your library against R8/minification conditions. Good if you do some reflection and have proguard rules you ship with your library. Example of doing this (manually) here: github.com/ZacSweers/Mo...github.comMoshiX/moshi-ir/moshi-kotlin-tests/build.gradle.kts at main · ZacSweers/MoshiXExtensions for Moshi including IR plugins, moshi-sealed, and more. - ZacSweers/MoshiX 041
Zac Sweers @zacsweers.dev · 06/07/2026Contributed R8 support to shadow, main benefit is you could produce pretty optimized uber jars now (on top of just tree-shaking). Should be pretty handy for CLIs. github.com/GradleUp/shadow/re... github.comRelease 9.5.0 · GradleUp/shadowAdded Check DuplicatesStrategy for merging transformers. (#2026) This will log warnings when an incompatible DuplicatesStrategy (e.g., EXCLUDE) is applied in Gradle configuration for built-in Reso... 3182
Zac Sweers @zacsweers.dev · 02/07/2026Apologies for the contrast issues on some slides in the video. My slides were black and white, the video processing for some reason gave it a Solarized Light theme 010
Zac Sweers @zacsweers.dev · 02/07/2026My "Metro Under the Hood" talk from KotlinConf is available on YouTube now! Video: youtu.be/KVmogsSbic8 Slides: speakerdeck.com/zacsweers/met...youtu.beMetro Under the Hood | Zac SweersRecording brought to you by American Express. https://americanexpress.io/kotlin-jobs 1161
Zac Sweers @zacsweers.dev · 01/07/2026And finally, this release's copilot: Honey! She's a deaf 6-month-old red heeler and chaos incarnate. 180
Zac Sweers @zacsweers.dev · 01/07/2026Plus a bunch of other improvements to diagnostics and the usual laundry list of bug fixes! 100
Zac Sweers @zacsweers.dev · 01/07/2026Runtime tracing is a new integration with the upcoming androidx.tracing 2.0. If enabled, you just pass a Tracer instance into your graph and Metro will generate code that traces binding materialization throughout your graph. This is especially useful for profiling app startup or a CUJ. 130
Zac Sweers @zacsweers.dev · 01/07/2026Rich diagnostics is something I've wanted to work on for a while and takes a lot of inspiration from Rust. Same focus on detail and bouncing you in the right direction, but now with markup and diagrams! This works safely in the IDE as well, where IDE builds will gracefully fall back to plain ascii. 3132
Zac Sweers @zacsweers.dev · 01/07/2026Metro 1.3.0 has rich diagnostics and experimental runtime tracing! github.com/ZacSweers/metro/re...github.comRelease 1.3.0 · ZacSweers/metroNew [IR] Revamp graph-validation diagnostics with structured output. Taking some inspiration from Rust error messages. Stable diagnostic IDs Compact dependency chains Aligned binding traces... 1162
Zac Sweers @zacsweers.dev · 29/06/2026How to Take an 11 Month Sabbatical www.zacsweers.dev/how-to-take-...zacsweers.devHow to Take an 11 Month SabbaticalA sequel to the last one, but a bit longer. On Leaving Slack After nearly 6 years, I left Slack in August of 2025. It was for a combination of reasons that added up to "it's time". The biggest rea... 6430
Zac Sweers @zacsweers.dev · 24/06/2026Coming in Metro 1.3.0! Was awesome working with Rahul on this 0163
Zac Sweers @zacsweers.dev · 23/06/2026Introducing kempt: a single-entry point CLI that delegates to language-specific formatters with easy installation, automatic binary management, git hook integration, license headers, whitespace handling, and simple configuration. www.zacsweers.dev/introducing-...zacsweers.devIntroducing KemptFormatting should be boring, in the best possible way. 0142
Zac Sweers @zacsweers.dev · 21/06/2026Yes every game is effectively a home game for the other team. We were the ones partying in the stadium after 040
Zac Sweers @zacsweers.dev · 21/06/2026So fucking proud of this team 🇨🇼 . One more to go in Philly 181
Zac Sweers @zacsweers.dev · 18/06/2026One thing I’m not clear on is the repeated use of the word “unusual”, where it seems to mean anything that exceeds the given (small) limits. By this criteria, any KMP or gradle project is often “unusual” no? Or a maintainer that has more than a couple projects/artifacts 020
Zac Sweers @zacsweers.dev · 18/06/2026It's hard to square "it's not meant to be hard" with what appears to be a lot of signs warding me away from asking for this Some of these questions also don't make sense. What's "publishing pattern"? What if it's multiple projects? If FOSS alone is justification, why not allow me to say that? 100
Reposted by Zac SweersCommonhaus Foundation @commonhaus.org · 17/06/2026🎉 OkHttp, Okio, Retrofit, and SQLDelight join Commonhaus! www.commonhaus.org/activity/315...commonhaus.org🎉 OkHttp, Okio, Retrofit, and SQLDelight join Commonhaus!OkHttp, Okio, Retrofit, and SQLDelight join Commonhaus under the lysine.dev banner 04421
Zac Sweers @zacsweers.dev · 17/06/2026I’m not privy to internals but if I had a magic wand - transparent pricing model, no “contact sales” - transparent (even vaguely) view on infrastructure costs, specifically how publishing relates to that - proactively engaging large groups (companies or ICs with large OSS footprints) re: exemptions 120
Zac Sweers @zacsweers.dev · 17/06/2026Your blog post is not really clear on this, and the damage control you’ve been trying to do here and on Reddit since kind of speaks to that I think 😅 000
Zac Sweers @zacsweers.dev · 17/06/2026You do see why those solutions aren’t being warmly received though, right? 100
Zac Sweers @zacsweers.dev · 17/06/2026Your solution has so far been extremely harsh limits, “ask for an exemption”, no upfront pricing, and a sales contact for the rest. I totally get that it’s not a straight line but it does seem like some things could be more proactive and transparent. 110
Zac Sweers @zacsweers.dev · 17/06/2026That chart was included as an explanation in the post so that’s why I point to it being unclear. No one disputes that funding is needed, but if you’re going to point at a chart and also say “1% are responsible for 83% of traffic” in a post, it’s hard not to feel like there’s an elephant in the room? 110
Zac Sweers @zacsweers.dev · 17/06/2026Namely: it’s not clear. One company could be responsible for 90% of the volume with that scaling. Or maybe 100 are. It’s unclear, but there’s a general perception that we’re all paying a tax because of some whales at the end of the 100
Zac Sweers @zacsweers.dev · 17/06/2026Doing things by namespace means everything is under broad grouping. What if a branch is published locally and not pushed, for instance? What if it’s 10 OSS projects and one private SDK? I’m stuck on why this added friction is necessary at all, transparency on the numbers in this chart would help 100
Zac Sweers @zacsweers.dev · 17/06/2026Here’s me with 3 libraries (two very small) on the new limits this month 240
Zac Sweers @zacsweers.dev · 16/06/2026Super sympathetic to Sonatype's situation, hosting isn't free. But announcing this with paltry limits and no public pricing options (a sales contact ain't it) is bad for everyone and going to be a major disruption to the JVM and Kotlin ecosystems. central.sonatype.org/publish/mave...central.sonatype.orgMaven Central Publishing Limits 6297
Zac Sweers @zacsweers.dev · 15/06/2026Oh and ~4% of the island's population was in the stadium today. There's around 300k of us total on this little planet between the island and in diaspora. Today was a very special day for all of us. 000
Zac Sweers @zacsweers.dev · 15/06/2026My dad and I are regular listeners. He's born/raised/still lives there and attended all the WC qualifying matches too. If you ever want a connect to learn bout the country's football history (including the dutch players past and present with lineage there and Suriname), I'd love to put you in touch! 120
Zac Sweers @zacsweers.dev · 15/06/2026- after every German goal the second half, Neuer would run over to the ball boy and beckon for a ball. He'd then proceed to juggle it for a bit and throw it around during the celebrations before tossing the ball back. Is this a thing? - German team came and applauded us at the end too, class move 100
Zac Sweers @zacsweers.dev · 15/06/2026Was in the Curaçao supporters' section and have some fond stories to share! - Match was essentially a home game for Germany. More Mexican kits in the stadium than curacao - That equalizer was unforgettable. Watch the replay with stadium sound and hear the roar despite the numbers difference. 100
Reposted by Zac SweersBrandon Friedman @brandonfriedman.bsky.social · 11/06/2026Best thing about Mamdani is that he's one of the only Democrats who understands you can just do things 484805731