Programming, Life-style, Random

Category: Programming

  • New year, old and new challenges

    2023 ended with me falling in love with Rails again after 15 years. I have always been a huge fan of 37signals. I like their products in a weird way: I have always wanted to use Basecamp, but I always worked for people who used and hated Jira. Then Hey mail came out, and I decided to migrate…

    Read all

  • You won’t believe how much time you will save with this Git pre-push hook

    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…

    Read all

  • Run a IntelliJ/Android Studio configuration with a shortcut

    If you are like me, you have a few “Run configurations” when you develop an app: Run the appRun the testsRun the static analysisRun the UI tests You can generally only run the latest one using a keyboard shortcut. I found an IJ/AS plugin that lets you associate a shortcut to any existing Run Configuration!…

    Read all

  • 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…

    Read all

  • 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…

    Read all

  • 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…

    Read all

  • 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…

    Read all

  • 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…

    Read all

  • 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…

    Read all

  • 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 changing…

    Read all

Go to top