This post explains how to treat a session with a local AI agent as a pair programming session, and how the four classic pairing styles map onto working with one. I’ll use Antigravity CLI for the concrete examples, though nothing here is specific to it. Swap in whichever agent sits in your terminal. The idea […] The post Pair Programming With Your AI Agent first appeared on Blundell.
Like every year, I binge-watched I/O. And like every year I came out the other side with more links than time. A fire-hose of announcements, most of which you’ll never touch, a handful of which will change how you work next week. Here I filter for you. Links to the sessions are inline so you […] The post Google I/O 2026: The Sessions Worth Your Time first appeared on Blundell.
Google just published a set of Android skills a collection of expert, AI-optimised instructions covering the most common and painful Android development workflows. (Upgrading to AGP 9, migrating XML layouts to Compose, wiring up Navigation 3.) AI automated step-by-step procedures grounded in official Android best practices. The GitHub repo defaults to wiring them into Gemini […] The post Android Skills: Expert Instructions for Your AI Agent first appeared on Blundell.
referenceaiexcerpt only · body stays at the source
Tired of fixing endless linting errors? What if an AI could do it for you? In this post, we’ll walk through how to build a Python script that uses Google’s Gemini to automatically fix static analysis issues, exploring the process and the lessons learned along the way. This is a journey from a simple idea […] The post Linting, Automated: AI-Powered Static Analysis with Gemini first appeared on Blundell.
referenceaiexcerpt only · body stays at the source
The forEach loop, are you using it without thinking? In Kotlin, empirically forEach is often the go-to loop, it’s pragmatically close at reach in the IDE auto-complete, but is it always the right choice? This post argues that for loops deserve more consideration, offering clarity and control that forEach sometimes lacks. Let’s discuss why a […] The post Choosing Wisely: for vs. forEach in Kotlin (A Thinking Dev’s Perspective) first appeared on Blundell.
This blog post explains how to create Room DAOs specifically for your Android debug build. These debug-only DAOs enable you to implement developer-centric features without affecting your production app. Keeping your codebase clean is essential for long-term maintainability. Debug-only DAOs help achieve this by isolating developer tools from user-facing features. Consider an app that caches […] The post Room Debug DAOs in Android: Streamlining Your Workflow first appeared on Blundell.
Learn how to have runtime control of all parts of an animation or image, the color, opacity, scale, rotation .. any property within your SVG animation using Lottie Dynamic Properties. This tutorial is going to explain Lottie Dynamic Properties. Dynamic Properties are a way of controlling at runtime, the different parts of your animation. You […] The post Android Dynamic Animated SVGs (with Lottie Dynamic Properties) first appeared on Blundell.
Bumble Inc.’s booth engagement projectIntroHaving a London office with lots of local colleagues and many more visiting from Barcelona, Droidcon London is always a fantastic opportunity for us at Bumble to meet the Android developer community as well as each other:Bumble Tech team at Droidcon London 2023We usually have a booth presence too. Instead of coding challenges we did in the past, this year we tried something new — We brought a big screen that attracted quite a crowd:Bumble booth at Droidcon London 2023We were running a collaborative message board, live mosaics, and lots of custom…
Wanting to use the latest versions of Compose, but your app compileSdk is falling behind? I’ve been there! If you have a compileSdk 1.5.0 you’ll come across a horrid build error. Let’s fix that! The error is question is this: Compose dependencies with a version > […] The post Emoji error! Using the latest Compose with compileSDK first appeared on Blundell.
The correct, complete, 2024, settings to configure the Java version in Gradle for Android. The post Setting JDK level in Android Gradle builds first appeared on Blundell.
I wanted to brighten the screen, but all articles said you needed Android permissions. Codswallop! Here's how! The post Set Activity Screen Brightness without Permission first appeared on Blundell.
Quick blog posting showing you the build.gradle.kts version of the default build.gradle file from the “empty activity” Android Studio template. This post will go stale fast, get it whilst its hot. 🙂 The original templates come from the New Project, other templates are explained here: https://developer.android.com/studio/projects/templates Google has an explainer of converting build configuration scripts […] The post build.gradle.kts conversion for Android Studio Empty Activity first appeared on Blundell.
Learn the steps needed in a typical Android take home test. Giving you the tools and knowledge you need to ace this part of any Android interview process. The post Android Job Interview – Take-Home Test Cheat Sheet first appeared on Blundell.
This post aims to demystify some of the steps in a typical Android interview process. We’ll discuss steps, strategies, targets and solutions. Getting you better prepared to get your next Android role. This blog is from personal experience, caveat up front that your experience could be completely different, but I’ve been through A LOT of […] The post Proven Prepping for Easy Android Interviews in 2023 first appeared on Blundell.
This post shows you how to wrap a 3rd party Gradle plugin in your own plugin, so that you can interactive with it programmatically. The post Applying a 3rd Party Gradle Plugin as a Composite Plugin first appeared on Blundell.
This post describes how you can share code between your side projects without code duplication, remote hosting or versioning. The post Make a monorepo for your Android projects first appeared on Blundell.
Optional Google Analytics helps us understand visits. Microsoft Clarity records masked interactions to improve the site. Optional tools stay off unless you choose them. Privacy details.