RSSAmplifier

Blog

mbonnin.net’s Blog

hiya 👋

mbonnin.netRSS feed ↗50 posts

Latest posts

Multiple versions of Kotlin

What does it mean to update Kotlin

SemVer is a great versioning scheme for Kotlin libraries

Both Maven and Gradle support strict SemVer

GraphQL loves REST

The best of both worlds

Is Gradle Metadata a better POM?

The curse of Turing complete dependency resolution

Gradle debug recipes

Get insights into your Gradle build.

Classloader isolation 101

Separation of concerns for your Gradle plugins

The case for `kotlin-gradle-plugin`

Writing Gradle plugins in Zen mode.

The case against `kotlin-dsl`

I fear no man. But that thing... It scares me!

Nmcp 1.0.0 and the "other 90%"

Open-source has peculiar maths where everything adds up to 180%.

KotlinConf 2025: the aftermath

Goodbye Copenhagen, Ahoy Munich!

`@InputDirectory` is a lie

It's always files!

2025 is the year of GraphQL error handling!

Lots of exciting things are happening in the GraphQL space this year!

November 2024: the state of Kotlin scripting

*.main.kts files can replace most of your shell scripts

Gradle brainteasers 2/2: relocatable input files

There is no such thing as a "File" input...

Gradle brainteasers 1/2: aggregating artifacts

Fun times with project isolation and dependency resolution...

My life after `afterEvaluate {}`

...

How Gradle compiles your build scripts

...

About the Android Makers app, security and google-services.json

...

Kotlin compatibility QuickSheet

...

Use latest Kotlin in your Gradle plugins

A relocating tale about R8, classloaders and metadata......

Gradle publishing plugins, a decision matrix

Jump to the conclusion for the matrix.

Actual footage of different kinds of Gradle Configurations

"Configuration" is a terrible name...

May 2020: The state of Kotlin Scripting

Time to ditch perl and bash.

A closer look at the Kotlin Multiplatform Artifacts

.pom vs .module files and a real-life exemple.

Loading Gradle plugins in 2019

Three different ways to load your Gradle plugins and a few ways to apply them....

An unofficial guide to Android Lint

Everything about gradle and XML configuration....

The different kotlin-stdlibs explained

Not sure you should use kotlin-stdlib-jdk8...

Publishing a maven artifact 3/3: step-by-step instructions to MavenCentral publishing

Wrapping up!

Publishing a maven artifact 2/3: jcenter or mavenCentral ?

Almost there..

Publishing a maven artifact 1/3: glossary

Warming up...

Android Makers 2019 Dessert Hunt, behind the scenes.

At Android Makers, we like desserts… a lot!🍦🍩😋...

Consume your GraphQL API with kotlin coroutines

At Dailymotion, we like GraphQL…a lot. We started using it in 2016, we are active contributors to apollo-android, we even have our own…...

A first look at Flutter from an Android Developer

A new UI companion

Run your Android CI in Google Cloud Build

Android emulators in Docker

Different kinds of Ripple

Android myth 2/2: config change and restoring state

Do we really need Architecture Components ?

setSytemUIVisibility() magic

Be together... Not the same !

Android myth 1/2: Activity.onDestroy()

Please prove me wrong...

Advanced refactoring with custom intelliJ plugins

Moving from AndroidAnnotations to ButterKnife using automatic processing from a custom intellij plugin

Espresso testing without dagger 2

The curious case of the Overflow Icon Color

Everything you didn’t want to know about Android Theming (or should it be Styling ??)…...

Hexamonkey

My daytime job is to develop video software. I like it but over the years I have been doing the same thing all over again and it is seriously beginning to bug me. Namely:1. Someone comes...

Security, Security, Security!

HTTPS is now the defaultFollowing recent advice, this website now uses an encrypted connection. You can browse all the wonderful content here (including rabbits) without (theorically)...

Bye Bye WordPress

New website !Like many others, I give up on wordpress and move my blog to static pages. There is plenty of discussion over the web about the rationale behind this. Basically:- no more...

Paris Chess Board

Another attempt of creating something with a laser cutter. After the Paris Circuit Board, I made another type of PCB, this time, Ill call it the Paris Chess Board. It still involves a...

DIY gobo

GOBOs (for GOes Before Optics) are used in theaters or fairs to display images or shadows on a flat surface. I saw one in a bar and found it nice, not knowing at that time it was called a gobo....

MSP430 based Teaaaaaa timer

My last project was fun but a bit overkill. Embedding a beagle board to make a speaking alarm clock is sure very flexible and evolutive but does not make the cheapest clock ever... Its...

Paris Circuit Board

This post is a speciale dedicace to anagrams map of Paris.I just received a bunch of cool new chips from my favorite dealer. The problem is that a lot of them are surface mount ( SOIC, SOP,...

Bwaaaaaaaaaaaaaaalarm clock

I first wanted to make a huge raving rabbid like this one... That was before I realized that most of my flat was already occupied by things like a bed, a table or a refrigerator. As I had no...

First post

Its been a while I wanted to see what this whole wordpress thing was about. Now I have an excuse to actually put something online. Lets see what this makes......