Twenty days out from Ironman Switzerland. I signed up to this race in 2019. I can’t believe it is so close now! The past two years have been rocky. Injuries and illness have plagued me. I spent October to March injured and unable to run or cycle without causing pain. But since April things have … Continue reading Ironman Switzerland D-20
Windsor Triathlon 2022
Back in 2019 Thais (my girlfriend) and a friend of hers did the Windsor Triathlon. They bought me in as coach and supporter for the day. It was fantastic. I am pretty sure there is no better way to spend a Sunday than wake up at 4:30 and go and watch people do a triathlon. … Continue reading Windsor Triathlon 2022
Practical Modularisation for Android Developers
Modularisation.. You cannot escape it as an Android Developer. As your code base gets larger well modularised code becomes crucial.
It can encourage code ownership, increased build speed, better organisation and increased productivity.
This post will help you to use the tooling available to you to modularise your codebase.
Waxing lyrical about Twitter
Twitter has been ever present in my life since I found out what a smart phone was. Alongside an AR night sky app, it was one of the first apps I downloaded. Getting excited about apps like this led me to become an app developer. My current Twitter account is new (follow me, I need … Continue reading Waxing lyrical about Twitter
Modular indirection with a dagger
Using a Dagger to dependency inject our modular application.
Modular indirection is the best direction
Introducing indirection into your modular structure can improve the incremental build times of your android application.
Learning a lot at Twitter
I recently joined Twitter as an Android Developer. So far, it is unlike anywhere I have ever worked before. In two months I have learned a lot and have been incredibly overwhelmed. I’ve recently felt like I have started to get on top of the learning curve and I can start to reflect a bit … Continue reading Learning a lot at Twitter
Merging multiple files into one with Kotlin
Kotlin lets us write top level functions, this enables us to write code that isn’t necessarily constrained to the concept of classes. It frees us from “util” classes of static methods (but it doesn’t free us from dumping methods or functions in one place). Under the hood, Kotlin is constrained to classes, the compiler must … Continue reading Merging multiple files into one with Kotlin
Experimenting in a legacy code base
I work on what could be called a “legacy code base”. We’ve just crossed the 10 year anniversary of the first commit. Between then and now over 40 developers have contributed. Many features have come and gone, and the platform we develop for has changed beyond recognition and so have our ways of writing code. … Continue reading Experimenting in a legacy code base
To abstract or not to abstract
The longer I’ve written software the more I debate with myself about whether I should be adding an abstraction or not adding an abstraction. Let us define an abstraction, it could be an interface, a trait, a protocol, or an abstract class. It is a structure that defines how a piece of code should interact … Continue reading To abstract or not to abstract