Functional Programming paradigm

From Imperative to Functional Programming, an approach

Last week, we ported the migration of a Scala application from imperative to functional in Kotlin with the help of the Arrow library. This was pretty easy: the example was laid out for us. This week, I’d like to go for more fundamental stuff. On HackerRank, there’s this problem: Consider a staircase of size 4: # ## ### #### Observe that its base and height are both equal to n, and the image is drawn using # symbols and spaces. The last line is not preceded by any sp

Functional Programming Arrow IO

From Imperative to Functional Programming using Arrow

Some time ago, I watched the talk FP to the max. While the end of the talk is quite Scala-ish, the beginning can be of interest regardless of the language. In the talk, the speaker tries to migrate a standard imperative-like application using a functional approach. I wanted to check if it was possible to do the same in Kotlin. The original code Translated in Kotlin, the original code looks like the following: private val random = SecureRandom() fun main(args: Array<String>) { pr

Git cloud GitHub GitLab Bitbucket

Git service providers comparison

Since its inception, the attitude of GitHub toward repositories was to allow unlimited public repositories, while make private ones paying. Whether it’s a consequence of Microsoft’s acquisition or not, this stance changed recently: GitHub announced private repositories were also made free, for up to 3 contributors. There was a lot of celebration on the Web, but not from my side. This move looks more like a (desperate?) move to keep developers on GitHub. Whether that’s the case

jigsaw modules java 9

A hard look at the state of Java modularization

When Jigsaw was released with Java 9, it was the end of a long process - it had been postponed already - and it had to be released. With the coming of Java 11, the latest Long-Term Support, I think it’s a good time to take a snapshot of the state of modularization. I’ll use the Top 20 Libraries and APIs Java Developer should know as a reference, and check for each of them if the latest version: provides an automatic module nameor has a module-info In the first case, the JAR has a

hack JavaScript web SPA

Hacking a web page's JavaScript

I recently acquired a Logitech Spotlight Presentation Remote to help me during my presentations. While some conferences propose clickers to speakers, not all of them do. And it’s quite inconvenient to be bound to the laptop to advance to the next slide when presenting, as I like moving around in general. When I received the remote, I was eager to test it, and I was happy to assert it worked on Google Slides. The root issue I went to a meetup just afterwards, and I couldn’t help no

coroutine concurrent programming thread

Even and odd with coroutines

Recently, I stumbled upon one of Baeldung’s post showing how to use threads to print odd and even numbers: one thread dedicated to print odd numbers, another one to print even ones. Since I became aware of them, I was very interested in Kotlin coroutines and how they make concurrent programming code easier to read and write. I wanted to check how using coroutines would yield better code. Show me the code This is what I came up with: import java.util.concurrent.ThreadLocalRandom imp