Kubuswoningen — Rotterdam, The Netherlands
Kubuswoningen — Rotterdam, The Netherlands
Kubuswoningen — Rotterdam, The Netherlands

My favorite feature of Github Action is: build matrix.

A build matrix is a set of keys and values that allows you to spawn several jobs starting from a single job definition. The CI will use every key/value combination performing value substitution when running your job. This allows you to run a job to test different versions of a language, a library, or an operating system.

In this blog-post, you will discover how to create a build matrix for your workflow with two real-world examples.

This blog-post is part of a blogpost series: How-to Github Actions. You can find the…


Image for post
Image for post
Waltershofer Hafen — Hamburg, Germany

One of the first things I set up when working on a project, is a Continuous Integration (CI) system.

I’ve recently spent some time migrating several projects of mine to Github Actions. I have to admit that I was amazed by how easy it was to set up, together with the performance boost I gained from it.

In this blog-post series, I will walk you through how to set up your CI with Github Actions. While I migrated real-world projects I collected tips and tricks that will help you get your CI up to speed. This first blog-post will serve…


Keikyū Line Haneda Station — Tokyo, Japan
Keikyū Line Haneda Station — Tokyo, Japan
Keikyū Line Haneda Station — Tokyo, Japan

Kotlin, as most of the programming languages, has several reserved keywords. You can find all of them listed on this page of the official documentation: keyword-reference


Image for post
Image for post
Tierpark Hagenbeck — Hamburg — Germany

Over the last couple of weeks, I had the opportunity to help other Android/Kotlin developers struggling with Gradle 🐘, specifically with Gradle custom plugins. To my surprise, none of them knew about a feature of Gradle called composite builds.

Composite builds are a great tool to support the development of custom Gradle plugin as they help to streamline the development cycle.

In this blog-post, we will discover the composite build feature, and how it can support you when writing Gradle plugins. Lately, we will walk through the pros & cons of this approach.

All the examples presented in this blog-post…


Walter Benjamin Platz — Berlin, Germany
Walter Benjamin Platz — Berlin, Germany
Walter Benjamin Platz — Berlin, Germany

Have you ever experienced something like this:

  1. Have a great idea for a weekend project
  2. Create a new repository
  3. Setup a proper CI to build your project
  4. Setup a code formatter to enforce code-style
  5. Start reading articles about [tool name here]...
  6. Weekend is over 😅
  7. Repeat

That’s how a lot of side-projects of mine died in the past.

I love developer-tools such as CIs and static-analysis tools. They’re crucial to deliver good quality code, and I can’t imagine working without them. They’re generally the first thing I set up before starting a new project.

Unfortunately, setting up such tools can…


Image for post
Image for post
Sarajevo — Bosnia and Erzigovina

Mangle

Verb
/ˈmæŋ.ɡəl/

To destroy something by twisting it with force or tearing it into pieces so that its original form is completely changed.
Cambridge Dictionary

If you’ve played a bit around with Kotlin, chances are that you faced name mangling during your development.

Name mangling is a technique used by the Kotlin Compiler to alter the name of identifiers (e.g. function or variable names). This technique can be used to make identifiers harder to access in the bytecode.

I discovered name mangling while preparing the release v3.1.0 of Chucker. Before releasing a new version of a library, I generally…


Image for post
Image for post

Hi fellow Kotliners,

Today I’m really excited to announce that a project I had in mind for a while is becoming reality: The Kotlin DevRoom at FOSDEM! 🎉

For the first time, Kotlin developers will be represented at the biggest European open-source conference, in Brussels on February 1st and 2nd 2020.

About FOSDEM

From the official FOSDEM website:

FOSDEM is a free and non-commercial event organised by the community, for the community.
The goal is to provide free and open-source software developers and communities a place to meet to:

* Get in touch with other developers and projects * Be informed about…


Image for post
Image for post
San Francisco — California

Nearly one year ago I stumbled upon this blogpost: Top 10 Android Libraries Every Android Developer Should Know About.

Initially, it looked like yet another top 10 android library list and I expected to know all the libraries already, but… not this time! That blogpost contained a surprise: Chuck, by Jeff Gilfelt.

Chuck is an OkHTTP inspector that allows investigating the ongoing HTTP(S) traffic showing all the details of every request & response. I generally love tools and libraries that can improve the Android Developer’s daily life. The idea behind Chuck was great so I gave it a try!

The…


Image for post
Image for post
Santa Cruz — California

If you’re working with Android nowadays, you’ll probably be familiar with Android X, the major package renaming of the Android Support library announced at Google I/O 2018. It’s time to migrate!

Although, you might be in the situation where you can’t yet migrate. Either because you’re working on a big project (that you’re not fully responsible for) or just because you love procrastinating. One of the tools can come handy in this case is Jetifier in reverse mode.

AndroidX

Google finally decided to clean up and re-organize the good old Support Library (launched in March 2011!). …


Image for post
Image for post
Golden Gate Bridge — San Francisco

Today I saw yet another JUnit test that was extending a superclass…this is me just after:

Nicola Corti

Kotlin GDE | Android Infra @Spotify | ex @Yelp | Open-source Lover | Community craftsman

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store