Chris Banes's Avatar

Chris Banes

@chrisbanes.me.bsky.social

๐Ÿ•ธ๏ธ https://chrisbanes.me ๐Ÿ‘จโ€๐Ÿ’ป Senior Staff Software Engineer

1,516 Followers  |  64 Following  |  114 Posts  |  Joined: 03.05.2023  |  1.9951

Latest posts by chrisbanes.me on Bluesky

Nice. Whatโ€™s the backend stack look like?

01.08.2025 08:32 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Nice summary! I didnโ€™t know about the R8 prop

31.07.2025 13:55 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I donโ€™t know about banks in France, so canโ€™t comment. Most of the โ€˜appโ€™ banks in the UK are great (Monzo, Starling, etc).

For forex I now use Wise, and have had zero problems.

26.07.2025 21:10 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I seriously do *not* recommend Revolut for any serious amount of money.

Used to use them for large sums from the US (RSUs). One got triggered by some automated check, and my money was held for 2 months whilst they โ€˜investigatedโ€™. Customer services were useless and didnโ€™t help.

26.07.2025 21:01 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I like Cloudflare. It hosts my DNS anyway so makes everything very simple.

Itโ€™s also cost price, so cheap.

24.07.2025 19:18 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

It shouldnโ€™t matter. Zen syncs with Firefox Sync, although I donโ€™t use FF Mobile so canโ€™t say for sure that it works.

21.07.2025 06:44 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Zen Browser Beautifully designed, privacy-focused, and packed with features.

Nice post!

I've migrated to Zen Browser (zen-browser.app) for simplicity from Arc. Highly recommended!

20.07.2025 08:20 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

There was an example in one of the many splinter threads.

Either way, Iโ€™d still argue that the defaults are the safest option for all.

If you want something else, you could code-gen bindings (which we do a lot of for convenience purposes).

19.07.2025 10:30 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I think that this is very codebase specific. If anything, having singletons everywhere feels like a warning sign to me.

Why are view specific things heavy enough to warrant being created only once?

IMO scoping is for controlling lifecycle, and nothing else.

19.07.2025 07:19 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I migrated our entire codebase over to it last week, and weโ€™re now fully on the Metro train. ๐Ÿ’บ

It has pretty much everything yโ€™all will need, right now.

19.07.2025 07:09 โ€” ๐Ÿ‘ 25    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Ah true true, I forgot that it was an optional experimental feature :skeletor_mirror:

06.07.2025 16:15 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Have you found a way to enforce the usage of path dependencies?

I wonder if thereโ€™s a way for a `check` like task could inspect the dependencies across all configurations.

06.07.2025 08:27 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

From a Compose point of view I think itโ€™s better to talk about GraphicsLayers, rather than RNs.

RNs are cool, but theyโ€™re an Android-only implementation for a GraphicsLayer. In fact, GLs on older versions of Android use a View (since RN wasnโ€™t public then). On CMP, GLs use a SkPicture.

05.07.2025 14:40 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

302 bar would have a terrible business plan

03.07.2025 07:09 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

I donโ€™t know how they expect anyone to know the location of this barโ€ฆ

02.07.2025 15:51 โ€” ๐Ÿ‘ 43    ๐Ÿ” 1    ๐Ÿ’ฌ 5    ๐Ÿ“Œ 1

Iโ€™m not sure how they really could fix it. Theyโ€™d need to split the compilation somehow, but youโ€™d then lose the automatic ability to reference any `projects.foo` from any module.

02.07.2025 07:26 โ€” ๐Ÿ‘ 7    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Iโ€™d love to see their metrics on how many perform the call gesture, and then actually proceed to speak to someone. Iโ€™d bet that itโ€™s a tiny percentage.

25.06.2025 06:39 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

What is it with Facebook adding pull-up gestures for the most random actions:

Instagram DMs: Pull up to toggle disappearing messages.

WhatsApp: Pull up to call.

The amount of times Iโ€™ve triggered these actions: too many.
The amount of times that Iโ€™ve meant to perform them: absolutely zero.

24.06.2025 21:11 โ€” ๐Ÿ‘ 14    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Also, I read this and thought: I like to do both of these kind of things.

Does that make me a โ€˜bastardโ€™ engineer? I quite like that title tbh.

23.06.2025 05:25 โ€” ๐Ÿ‘ 8    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

K/N build speed, especially when running tests. When every module needs to be linked just to run tests, it gets very slow, very quickly.

18.06.2025 07:15 โ€” ๐Ÿ‘ 12    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Ah yes. I have both JB AI and Junie installed so wasnโ€™t sure what was coming from what.

17.06.2025 06:29 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I havenโ€™t tried Cursor tbh, but from what Iโ€™ve seen itโ€™s quite similar

16.06.2025 11:09 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
GitHub - cashapp/redwood: Multiplatform reactive UI for Android, iOS, and web using Kotlin and Jetpack Compose Multiplatform reactive UI for Android, iOS, and web using Kotlin and Jetpack Compose - cashapp/redwood

That's basically what Compose for Web is: a composable DSL over the native UI toolkit.

It's also reminds of what the CashApp folks are doing with Redwood: github.com/cashapp/redw...

15.06.2025 08:29 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I've been trying out @jetbrains.com Junie over the past few few days, and have pretty blown away with it.

I've managed to do everything from a complex refactoring of Haze (with follow up tasks), to fairly complex string manipulation (pretty printing data class toString).

15.06.2025 08:24 โ€” ๐Ÿ‘ 24    ๐Ÿ” 4    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0

Fine for one off use cases, like MapView, WebView, etc, etc. I wouldn't build my entire UI around it though.

15.06.2025 08:18 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Bit different (again). RN doesn't try to try to draw to it's own canvas, it's (mostly) wrappers around native components.

UiKitView is that too, but the rest of CMP on iOS _does_ have it's own Canvas. UiKitView works by punching a hole through the canvas (like SurfaceView). That comes with issues.

15.06.2025 08:18 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Very different. Calf will be wrapping the native SwiftUI views through UIKitView or similar.

Personally Iโ€™m not a big fan of building UIs like that, but YMMV.

14.06.2025 21:51 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

In fact, someone has already contributed a shader: github.com/chrisbanes/h...

My plan is to add support for custom shaders into Haze as public API, and then add a materials class which uses it for LG.

11.06.2025 07:11 โ€” ๐Ÿ‘ 7    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Seems to be a lot of talk about Haze and Liquid Glassโ€ฆ

At its core, Haze is a background content transform library, and the โ€˜visual effectโ€™ (blurring, etc) is just an implementation detail.

Liquid Glass will be a runtime shader like others which Haze already uses.

11.06.2025 07:11 โ€” ๐Ÿ‘ 27    ๐Ÿ” 4    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0

I know and jest.

But whilst Material might be the design language for Android, itโ€™s also a design language for other platforms. Itโ€™s a weird dual role.

Also, very few people watch talks. This needs to be better documented.

07.06.2025 18:24 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@chrisbanes.me is following 20 prominent accounts