Berlindroid: Naming is Hard

Naming is Hard: How Naming Can Bite You in the Ass

Naming is hard, it’s no unfamiliar thing to software engineers that describing our software can sometimes be just as hard as writing it in the first place. But did you know that the names we give our well-intentioned ideas can come back to haunt us? It would turn out that naming is not just hard, but it has implications! Gradle will often not actually report when names collide! Which means you might end up with unexpected class resolutions! Which leads us down the rabbit hole of, how does Java resolve classes in the first place?! ...

Berlindroid: Demystifying Molecule

Demystifying Molecule: Running Your Own Compositions for Fun and Profit

Molecule is a library for turning Composables into Flows. But how does that happen? And why would you want to do such a thing? And why not? In this talk, Ash and Bill will dive a bit into how Molecule does what it does, and help you understand where, when, and how you should use it.

Berlindroid: Refactoring Legacy Code with Kotlin

Refactoring Legacy Code with Kotlin

Legacy code can be quite the challenge to manage, often resulting from untested scenarios, quick fixes, or less than successful initiatives. With few developers wanting to deal with it, it can end up with little remaining knowledge of its inner workings. We can take many learnings from Michael Feathers book on “Working Effectively with Legacy Code”, but we can also use Kotlin migration as an effective tool to leverage the management, reduction, and removal of legacy code in our applications. ...

Berlindroid: RxJava and Coroutines

RxJava and Coroutines

Kotlin has taken the Android world by storm, and is quickly becoming the most popular language, with coroutines approaching stability, does it make sense to replace your RxJava implementations for Coroutines? Despite the hype, it may not make sense to jump on the bandwagon just yet, with RxJava having already proven its stability and usefulness, and in many cases the comparison between the two frameworks showing that they simply fit different purposes. ...

Berlindroid: Kotlin Test Robots

Berlindroid: Kotlin Test Robots

Following the announcement at this years Google IO we’ve seen a dramatic uptake in Kotlin and over the last few months we’ve learnt how we can use it to improve and produce clean architecture applications and supercharge our unit tests, but what about our UI tests? In this session, I’ll show you how you can utilise Kotlin with the Robot pattern to build concise, terse and easy to read UI tests ...

Berlindroid: What the IOException!?

What the IOException!?