Introduction A significant part of being a successful software developer is refining our workflows to optimize productivity. One method I’ve found incredibly useful is integrating Git hooks with static code analysis tools such as Detekt for my Android projects. The Role of Git Hooks and Detekt in Code Quality Before we dive into the actual…
Show layout bounds from command line
Lately I found myself clicking through Android Settings menu to enable and disable “Show layout bounds” to check if views are where are supposed to be a bit too often. Using the menu once is OK. Using the menu twice is still OK. I live by the Rule of three so when I hit the…
Diventa un Android Dev
Dal 1 febbraio 2021, in collaborazione con CGM Consulting, partirà il mio corso di programmazione Android destinato a tutti coloro che si stanno avvicinando al mondo della programmazione mobile: https://bit.ly/corso-android-ivan-morgillo Anche se sei già un dev, c’è sempre la possibilità di aiutare qualche amico o amica interessati ad una carriera come Android Dev 😉 Il…
Closing 2019 – Beyond Android
Since I started going around for conferences in 2015, I mostly attended Droidcons. Over time, I realized that I was building a weird sort of bubble and patterns started to emerge: Android vs iOS 💣 My library vs your library 🔥 My stack vs your stack My MVVM vs your MVI RxJava Vs Coroutines 😡…
SHIIIIIIIP IIIIIIT!!1!1!!
When I joined AsanaRebel, I picked up the project and I started to navigate through the repository, focusing especially on the build.gradle file. Sadly, I had no CI setup to understand how to build the project on one side and, on the other side, I was facing 3 build types and 4 flavors, with not…
Kotlin DSL Gradle files, multiple modules and shared variables
This doesn’t want to be a real article, but more a crash course about Kotlin DSL for Gradle. The crucial point is the possibility of migrating an existing project to the new Kotlin DSL for Gradle, in an incremental, modularized fashion. Below we have a pretty standard root project build.gradle file: https://gist.github.com/hamen/7fa25a3a7ad8452873051f7782c77db5 The parts that…
Push vs Pull: air conditioning system
By Ivan Morgillo, Sasa Sekulic and Fabrizio Chignoli This article has been excerpted from Grokking ReactiveX. After a life of imperative programming, switching to a reactive mindset could seem challenging: “Why should I give up all the control and bend to this <data are in control> thing?” Let’s look at it in an everyday life scenario:…
GDG Geneva — July event
GDG Geneva is a small GDG, but we try hard 😊 Last Monday we had our July event, and, despite the tremendous heat, spent more than one hour talking about MVP on Android. I prepared a small Android app to demonstrate how we can create an app that fetches data from a backend and shows…
My week at Droidcon Zagreb and App Builders
Last week was quite intense for me. For the first time I had two conferences in two countries in 3 days. I’m definitely too old for this 😜 Droidcon Zagreb Droidcon Zagreb started like this: The moment they dropped us at the hotel, we got a bag full of gifts and candy! There were plenty of…
Running Android Unit Tests before Git Push
This is a quick note about a Git hook I use to double check that everything is fine before pushing to our remote Git repo. This covers a paranoid scenario, I know, but sometimes a refactoring can go wrong and lose pieces between production code and tests: every now and then, one of my tests…