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…
Rainbow Brackets – Android Studio / Intellij IDEA plugins
My first Android course ended a few days ago, but good old habits stay: let’s keep talking about my always-installed Android Studio / Intellij IDEA plugins 😄 One of my favorite programming habit is keeping my functions short and clear. Even with this approach it happens more often than I like that I struggle to…
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…
IntelliJ IDEA / Android Studio Tricks: “Presentation Assistant” plugin
One of my great passions related to programming is “Pair programming” or in its group version “Mob programming”. I have been fascinating by Extreme Programming for a long time and I strongly believe in its effectiveness. However something that often added friction while practicing PP was my extensive use of keyboard shortcuts. It’s a personal…
D’oh!! There is no copy method for Sealed Classes in Kotlin!
A few weeks ago we looked at one of my pain points of working with Kotlin Data Classes: nested copy and we improved on a basic Kotlin solution using a Lens. Today we look at another type of nesting: Sealed Classes nesting. When we wanted to create some sort of restricted hierarchy in Java we…
IntelliJ IDEA / Android Studio Tricks: “Save Actions” plugin
One of my favorite plugins that I constantly suggest to install is Save Actions Save Actions plugin allows me to run a few code quality actions whenever a file is saved: pretty straightforward. The configuration is accessible from Preferences -> Other Settings -> Save Actions and the default looks pretty much like this: This is…
How to fix the pain of modifying Kotlin nested data classes
When Kotlin arrived a few years ago one of the selling points was immutability: In object-oriented and functional programming, an immutable object (unchangeable object) is an object whose state cannot be modified after it is created. https://en.wikipedia.org/wiki/Immutable_object This is very cool! Value objects are such a huge help when it comes to reasoning about code, safety and avoiding weird subtle misbehaviours due to “things…
IntelliJ IDEA / Android Studio Tricks: Surround With
In one of my previous posts I wrote about one of my favorite features of IntelliJ IDEA/AS: Live Templates. “Surround With” is a sort of LT’s cousin. When you want to wrap a piece of code with a specific snippet, you select the code and hit the “Surround With” shortcut. On Mac you can access…
IntelliJ IDEA / Android Studio Tricks: Live Templates
One of my favorite features of IDEA are Live Templates. To give you a bit of context, Live Templates are those things you see appearing when you start typing in IDEA 😂 OK OK, let’s be a bit more precise. If you are writing some Java code and you type foreach and then press TAB,…
On intermittent fasting
Lately I’m having a lot of chats about intermittent fasting and I think it’s a good time to write down my whole experience. As I kid I was slim, super slim, a tiny skinny kid. Then puberty hit me like a train and I started to gain weight. I tried to put some training in…