From the blog
Latest writing
Older posts from Ivan Morgillo.
Android
Show layout bounds from command line
Two adb shell aliases to toggle Android's Show layout bounds debug overlay from the terminal — faster than digging through Developer options every time.
IDE / Programming
Rainbow Brackets – Android Studio / Intellij IDEA plugins
Rainbow Brackets is the IntelliJ IDEA / Android Studio plugin I use to color-match every parenthesis, brace, and bracket — install, configure, and customize.
Android / Kotlin
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...
IDE / Programming
IntelliJ IDEA / Android Studio Tricks: “Presentation Assistant” plugin
The Presentation Assistant plugin for IntelliJ IDEA / Android Studio shows your keyboard shortcuts on screen as you press them — perfect for pairing or demos.
Kotlin / Programming
Sealed Classes in Kotlin: How to handle the missing .copy() method (2026 Update)
Sealed classes in Kotlin don't have a .copy() method like data classes do. Here's how to update them anyway using Arrow Optics Prisms for clean immutability.
IDE / Programming
IntelliJ IDEA / Android Studio Tricks: “Save Actions” plugin
The Save Actions plugin for IntelliJ IDEA / Android Studio runs code-quality fixes (formatting, imports, optimizations) every time you save a file.
Kotlin / Programming
How to fix the pain of modifying Kotlin nested data classes
Using Arrow Lenses to simplify deeply nested data class updates in Kotlin, replacing verbose chained .copy() calls.
Android / IDE
IntelliJ IDEA / Android Studio Tricks: Surround With
IntelliJ IDEA's Surround With wraps selected code in try/catch, if/else, or Kotlin-specific snippets — Mac (⌥⌘T) and Windows (Ctrl+Alt+T) shortcuts.
IDE / Kotlin
IntelliJ IDEA / Android Studio Tricks: Live Templates
How to use Live Templates in IntelliJ IDEA / Android Studio — the keyboard expansions that turn `foreach` into a full loop and `logd` into Android's Log.d.
Life
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....
Kotlin / Programming
Sealed Classes in Kotlin: How to handle the missing .copy() method (2026 Update)
Sealed classes in Kotlin don't have a .copy() method like data classes do. Here's how to update them anyway using Arrow Optics Prisms for clean immutability.
IDE / Programming
IntelliJ IDEA / Android Studio Tricks: “Save Actions” plugin
The Save Actions plugin for IntelliJ IDEA / Android Studio runs code-quality fixes (formatting, imports, optimizations) every time you save a file.
Kotlin / Programming
How to fix the pain of modifying Kotlin nested data classes
Using Arrow Lenses to simplify deeply nested data class updates in Kotlin, replacing verbose chained .copy() calls.
Android / IDE
IntelliJ IDEA / Android Studio Tricks: Surround With
IntelliJ IDEA's Surround With wraps selected code in try/catch, if/else, or Kotlin-specific snippets — Mac (⌥⌘T) and Windows (Ctrl+Alt+T) shortcuts.
IDE / Kotlin
IntelliJ IDEA / Android Studio Tricks: Live Templates
How to use Live Templates in IntelliJ IDEA / Android Studio — the keyboard expansions that turn `foreach` into a full loop and `logd` into Android's Log.d.
Life
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....