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…
Mic and Cam off by default in Google Meet
A couple of weeks ago I was in an important company meeting. Everybody was quiet and listening to the CEO, everybody was focused on the slide deck the CEO was presenting and everybody had their mic and cam turned off. Well, everybody, but me 🤦♂️ While I was watching the stream, my Google account session…
My IntelliJ Plugin Collection – Kotlin Fill class
I spend on average 8 hours a day using Intellij and, over the years I created quite a collection of useful plugins. This is the first article of a series where I will present all the plugins I use every day 😄 Kotlin Fill Class One of the Kotlin tools I use every day are…
Open Chrome bookmark in a new tab
Web bookmarks are part of our tech life since 1993, sort-of. They usually come in a couple of shapes: they live in a menu, or they live in a bar. I’m mostly for the bookmark bar arrangement. Something like this: The usage is simple as a click: you click it, the website opens in the…