Advertisement · 728 × 90

Posts by Egor Andreevich

Preview
Release 0.13.0 · ZacSweers/metro New Circuit codegen Metro now includes experimental built-in support for Circuit, a Compose-first architecture for building kotlin apps. See the docs for more details. In the long term, this will e...

Metro 0.13.0 adds top-level contribution providers, Circuit code gen, and a new @DefaultBinding annotation.

This also removes most deprecated APIs as Metro prepares to go stable (!!). If you have runtime API feedback, now is the time!

github.com/ZacSweers/me...

3 days ago 25 7 1 1

I believe their food options here are actually quite similar to local cafes. No sausage biscuits sadly!

5 days ago 1 0 0 0
Post image

Timmy's at the train station in Alicante, Spain

5 days ago 6 1 0 1
Video

I built a tiny IntelliJ IDEA plugin for something that had been bothering me for years github.com/saket/intell...

6 days ago 28 9 5 0
Preview
Release 2.3.0 · square/kotlinpoet Thanks to @haruue, @hfhbd, @yz4230, @mina-jaff, @BoD, @RaoPrashanth for contributing to this release. New: Kotlin 2.3.20. New: KSP 2.3.6. New: Support for defining type aliases inside other types....

KotlinPoet 2.3.0 supports typealias declarations inside types, has new convenience API for adding annotations and ships with a healthy dose of bug fixes. Time for a version bump! 🤜🤛

github.com/square/kotli...

1 week ago 13 3 0 0
Preview
Release 0.12.0 · ZacSweers/metro [MEEP-2014] Implicit class (map) keys MapKey.implicitClassKey is a new API to allow for class-based map keys to have their class parameters inferred on classes and @Binds declarations. This means t...

Metro 0.12.0 introduces implicit class keys, raises some min JVM/Gradle versions, drops some deprecated targets, and the usual host of other improvements and bug fixes!

github.com/ZacSweers/metro/re...

2 weeks ago 21 3 0 0
‘Humans use Energy and Water too’ An engineer I admire was lamenting about AI. He said that his new programming agent is excellent at fixing bugs! And all that it costs is a bunch of energy and many litres of water. He said that he co...

✊🏻

1 month ago 23 8 0 2

What happens to Square / Block Android OSS projects post layoffs?

Let's start with some context

OSS at Square is mostly a happy accident. Jack hired Bob, who's job was attracking world class engineers, and he did that through talks & OSS.

1 month ago 82 25 2 1
Metro 0.11.0 and MEEPs! Metro 0.11.0 is out now and it's a fun milestone in Metro's development. Up to this point most of the work in Metro has been focused around the foundation, interop, and frankly feature parity. It's in...

Metro 0.11.0 is out now, along with a new proposal system called MEEPs!

www.zacsweers.dev/metro-0-11-0...

Release: github.com/ZacSweers/me...

1 month ago 16 3 1 1
Preview
Butterfly, by Daphni 16 track album

v1.117 is live!

We rolled out support for Bandcamp embeds. Now you can play songs right inside posts!

We're big fans of Bandcamp and everything they do to support artists.

Upgrade to the newest app version and give it a try 👇

caribouband.bandcamp.com/album/butter...

1 month ago 6257 1163 257 416
Advertisement
Keep Android Open Google is building a digital lock into Android. It's a very bad idea and I hate it. The excellent organizers at keepandroidopen.org encouraged me to complain to the Competition Bureau of Canada. What ...

Dear Competition Bureau Canada...

1 month ago 19 9 1 1
Re: Dependency Injection vs. Service Locators This is a port of a write-up I did in the Kotlin Lang slack here in response to the question "Dagger vs. Hilt vs. Koin vs. Metro vs. <what comes next>. Serious question: Are there any compelling reasons to switch from Koin to Metro in a Compose Kotlin multiplatform project?" I think it's</what>

Re: Dependency Injection vs. Service Locators

www.zacsweers.dev/re-dependen...

1 month ago 35 9 2 0
Relationship Status of minSdk, compileSdk, targetSdk It is year 2026 and yet Android developers continue to be mystified about minSdk, compileSdk, and targetSdk. There are some myths and false claims floating i...

It is the year 2026, people are still confused about compileSdk and targetSdk. (e.g. you can have targetSdk that is higher than compileSdk)

www.liutikas.net/2026/02/13/R...

Maybe this will explain it a bit more.

#android

1 month ago 15 7 0 0
Preview
Where are all the staff+ Android product engineers? Over the years I've heard (and experienced) both sides of a rather odd coin in the Android developer world. * Side 1: Companies, particularly startups and small teams, want staff+ Android product en...

Just published "Where are all the staff+ Android product engineers?"

www.zacsweers.dev/where-are-th...

1 month ago 40 6 3 2

Today is Bandcamp Friday - Bandcamp is waiving their fees and passing the funds directly to the artists - so I went shopping. Got the entire Spiritbox discography and a few As I Lay Dying and Parkway Drive albums. One step closer to cancelling my Spotify subscription!

2 months ago 1 0 0 0
Don’t Block Suspend Functions Here’s a program that launches 3 jobs. The first runs forever and the other two exchange a value. @Test fun test() = runTest { val channel = Channel&lt;String&gt;() val deferredA = async { whi...

written ’cause we don't all get this right

2 months ago 16 4 1 0
Preview
The UK and the EU: best buds again? — The Europeans You’d be forgiven for forgetting that Europe is bigger than Davos this week, but we’ve got three great stories to remind you. First up: it’s been a good week for Berliners making Kartoffelsalat, Karto...

🚨 NEW EPISODE 🚨

Everyone’s watching Davos - so we’re talking about some of the other European news.
This week: potatoes in Berlin 🥔, a leaked “Made in Europe” proposal, and an interview with a sitting UK cabinet minister on the UK’s “reset” with the EU.

www.europeanspodcast.com/all-episodes...

2 months ago 8 2 0 1
Video

As great powers abandon rules and values for their own interests, middle powers like Canada have a choice: compete with each other for favour or act together with impact.

2 months ago 5332 1302 263 138
Preview
Release 0.10.0 · ZacSweers/metro Behavior Changes Enable contributesAsInject by default. See its docs for more details, but in short this means that @Inject is now optional on @ContributesBinding, @ContributesIntoSet, and @Contri...

🚇 Metro 0.10.0 is out!
- @Inject is now optional for most @Contributes* annotations!
- KMP Milestone: FIR hint/top-level function gen enabled by default in 2.3.20+!
- Perf: Sharding and switching providers support
- Lazy maps
- LOTs of fixes and improvements

github.com/ZacSweers/me...

2 months ago 28 3 1 0

Giving it a shot

3 months ago 26 7 1 0
Advertisement
Preview
The Disappearing Middle: How AI Coding Tools Are Breaking Software Apprenticeship How AI coding agents are automating away the developer apprenticeship ladder. Discover three personas for using agentic programming effectively, when it accelerates work, and critical guardrails to pr...

If your engineering team is 'senior-only' + AI-assisted… where do tomorrow's seniors come from?

New blog post on the 'disappearing middle':

chrisbanes.me/posts/disapp...

3 months ago 45 18 6 1
Preview
The Resonant Computing Manifesto Technology should bring out the best in humanity, not the worst—a manifesto for resonant computing built on five principles that reject hyper-scale extraction for human flourishing.

Sharing the Resonant Computing Manifesto I just signed: resonantcomputing.org, I agree with the vision it outlines. Check it out, and if it resonates with you - join me in signing it.

3 months ago 1 0 0 0
Screenshot of an article from Global News. The headline reads: Carney announces $2.5B for Ukraine in meeting with Zelenskyy.

Screenshot of an article from Global News. The headline reads: Carney announces $2.5B for Ukraine in meeting with Zelenskyy.

Canada stands with Ukraine. Our new loan guarantees and financing will support a just and lasting peace — and help the Ukrainian people rebuild and recover.

3 months ago 1536 312 62 23

I think it launches Siri by default? But maybe there's a setting to change that.

3 months ago 1 0 2 0

Next thing to try - carbonated coffee?

3 months ago 0 0 1 0

It makes no sense to me that the shutdown button for an iPhone is located under General Settings.

3 months ago 0 0 1 0
Preview
Release 0.9.0 · ZacSweers/metro This release significantly improves the runtime performance of Metro-generated graphs, bringing them to parity with Dagger components' typical runtime performance (without fastInit enabled). 🚀 Imp...

Metro 0.9.0 is a big performance release focused on optimizing generated graphs!

github.com/ZacSweers/metro/re...

3 months ago 17 3 1 0

Jesse and Jake were my CN Tower. I only worked with them occasionally, but I always felt reassured just knowing they were around if I needed help. I'm mad our company lost both of them in the same week, and I'm afraid the entire Android OSS community will feel the ripple effect in the days to come.

4 months ago 32 2 4 0
Advertisement
Preview
Cash Android Moves to Metro The Cash Android team have completed the migration to Metro.

Cash Android has recently switched to Metro, a new, fast dependency injection framework built for K2. That was a fun project and we're really happy with the results! Sharing details on how we approached the migration to help teams adopt Metro: code.cash.app/cash-android...

4 months ago 31 16 0 4

I'm surprised how bad Gboard's predictions still are in 2025, especially in languages that are not English. This feels like an area where LLMs surely would shine, but apparently not? Or Google just doesn't care enough about Gboard?

5 months ago 1 0 0 0