Not every agent task needs a plan. Two tasks helped me decide when to go straight to implementation and when planning has something useful to settle. Either way, testing and review stay. chrisbanes.me/posts/not-ev...
Chris Banes
Chris Banes
@chrisbanes.me
🕸️ https://chrisbanes.me 👨💻 Senior Staff Software Engineer
1.6K followers66 following178 posts
Haze 2.0 is here, and it's a big one! 🎉 For Compose Multiplatform: 🫧 Glass with refraction & lighting ⚡ Faster blur 🎛️ Adaptive rendering quality 🎨 Reusable styles 🛠️ Build your own effects chrisbanes.me/posts/haze-2...
Compose now has progressive blur. Do you still need Haze? chrisbanes.me/posts/compos...
🚀 Haze 2.0.0-alpha05 has been released! 🔎 Glass visual effect (finally) ⚙️ New Style-like API structure 💨 HazePerformanceMode toggle This should hopefully be the last alpha release chrisbanes.github.io/haze/
You can also try everything out in your web browser here 👇 chrisbanes.github.io/haze/latest/...
Introducing Portico: a native macOS menu-bar app for private HTTPS doorways to services running on your Mac, via your @tailscale.com tailnet localhost:1234 → https://my-service.<tailnet>.ts.net github.com/chrisbanes/p...
🛍️ Shopping isn’t a category I got Hermes Agent to match marketplace orders with my bank transactions, then categorise each item by what I actually bought. Same spending. A much clearer picture of where the money went. chrisbanes.me/posts/shoppi...
Hunting down Jetpack Compose recomposition issues manually is a huge time sink I’ve spent the past few weeks using @mmckenna.me’s Dejavu to simplify this: - Write Dejavu tests to establish a baseline - Tell the agent to hunt for issues and A/B fixes - Profit
🤖 I've just open-sourced a new set of skills, covering Kotlin, Compose and Android development. Very early days, but it covers a lot of things which crop up in code review regularly. github.com/chrisbanes/s...
💠 Haze 2.0-alpha01 is out! This is a big release, splitting Haze up into layers, with the goal of enabling pluggable visual effects. Let me know what you think! chrisbanes.me/posts/haze-2...
Starting hacking on an AI Agent orchestration tool (for myself). Decided to build it in Rust (because why not), and holy cow: the entire CI run takes ~40 seconds, and most of that is setting up the toolchain. github.com/chrisbanes/e...
Chris Banes reposted
After becoming infuriated by Codex (the tool) lately, I've switched to @mariozechner.at's `Pi` and it's like a breathe of fresh air 🧘 All of the stuff I actually use, it's super fast, and most importantly it doesn't constantly ask permission to run `git` shittycodingagent.ai
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...
About a hour later, the Agent was in full swing. It had fully fleshed out the plan, and began implementing… github.com/chrisbanes/h... 3/
I wasn’t quite happy with the final solution, so added a review with some comments… github.com/chrisbanes/h... 4/
Started an ‘Agent Chat’ via the GitHub app. I gave it the URL of the GitHub issue, and we iterated on the high-level proposed plan to fix. Once happy, I asked it to “Upload a Draft PR” It created a placeholder PR immediately: github.com/chrisbanes/h... 2/
I've been looking into Liquid Glass details (experiment for Haze), and stumbled across this article by @kubekhrm.bsky.social. Simply wow. kube.io/blog/liquid-...
As a little experiment I asked Gemini 2.5 (Pro) to compare itself to ChatGPT-5. It ended up telling me about Gemini 1.5 and that “Google has not announced a Gemini 2.5 model.” I think I’ll be sticking with ChatGPT… g.co/gemini/share...
My team is looking for a new Android + KMP engineer! 🇺🇸/🇨🇦 Looking for someone in Boston, New York, Toronto, Washington DC 📺 Working on Ventura TV OS (www.thetradedesk.com/ventura-stre...) If you have any questions, feel free to ask! 🔗: careers.thetradedesk.com/jobs/4870331...
Looking forward to being back at @droidcon.bsky.social London this year. I spent quite a while on this talk title…
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.
Metro wouldn’t be where it is without the road that Anvil paved before it. I’ve really enjoyed working with Joel and Jacob on several Metro features already, with @ralf-wondratschek.com in its early design phase, and really looking forward continuing to work with all of them. Future’s bright 🚇
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).
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.
💠 Haze 1.6.0 has been released! This is a big release: 🤖 Blurring for all versions of Android 🎨 Foreground (content) blurring 📐 Blurred edge treatment 🔗: github.com/chrisbanes/h...
💠 Haze 1.6.0-beta01 has been released! 🐛: Android 12 is now enabled by default 🤖: Experimental blurring support for all Android versions The video below is recorded on a Pixel 3 running Android 11, but it works back to Android 5. Please give it a try and report back! 🔗: github.com/chrisbanes/h...
Haze 1.5.0 has been released: 💨 Optimised blur shader implementation (thanks to Kyant) 🖌️ New: HazeProgressive.Brush for custom progressive effects 🐛 Usual load of bugfixes github.com/chrisbanes/h...
🪢 Multiplatform Strings This blog post talks through a solution which we've landed on, using a single file as the source of truth for all strings, across all of our apps. chrisbanes.me/posts/multip...
🚀 Should you use Kotlin Sequences for Performance? I have always thought that using asSequence() was the way to optimize chained operations in Kotlin. But after benchmarking, the results shocked me: Sequences are often slower! 😱 #Kotlin #AndroidDev chrisbanes.me/posts/use-se...
Spent 10 mins integrating Bluesky comments into my Hugo blog Shamelessly reusing @kau.sh’s code from bsky.app/profile/kau....
Invest in a feed you control - powering a Hugo blog with Bluesky Comments kau.sh/blog/bluesky...
Haze 1.3.0 has been released! 🔵 Radial Progressive (gradient) effects 🖌️ Brush support in tints 🧑💻 New samples 📑 New docs courtesy of @markallison.social github.com/chrisbanes/h...
Big +💯 to this However, the same can be said about AndroidX bumping up the compileSdkVersion
AndroidX upgraded to Kotlin 2.1.0 and just learned that we are forcing all non-JVM/Android (iOS, WASM, etc) users of our KMP libraries to upgrade to KGP 2.1.0, that ... is not great. Learn why that is important for JDK and KGP and how to set that up. www.liutikas.net/2025/01/10/C... #gradle #kmp
💠 Haze 1.2.0 has been released The big change in this release is that it now supports overlapping blurred areas. 🔗: github.com/chrisbanes/h...
I'm thinking about renaming the modifiers in Haze but not quite sure what to use. If you want to help, you can comment here: github.com/chrisbanes/h...