git github gitlab provider

GitLab, the overlooked Git solution in the cloud

When one thinks about hosting one’s Git repository online, one’s first choice is just Github, no questions asked. It’s so successful that it has become the de facto standard of Git solutions in the cloud. It’s so well-entrenched that developers are advised to use it as their portfolio. At first glance, Github has it all: public repositories, group collaboration, metrics, page hosting, on-premise install option, etc. Major players host their Open-Source code on Github: Sp

algorithm

Maze-walking algorithm

Last week, a colleague pointed out to my team an online developer recruitment challenge. As I find it fun and there was no need to disclose one’s email, I decided to try, just to check if I could to it. The problem is quite simple but not easy: consider a rectangular maze of finite size. One has to find a specific cell on the board - the exit, starting from the origin. One has 2 move options: one cell at a time in one of the 4 cardinal points or jumping to any previously visited cell. Of

kotlin mutation testing pit

Experimental: Kotlin and mutation testing

Since about a year and a half, I do a lot of presentations on Mutation Testing. In those, my point is to show that Code Coverage’s only benefit is that it’s easy to compute but that it’s meaningless - hence Mutation Testing. Since some time, I’ve been interested in Kotlin, a language from JetBrains that runs on the JVM. It’s only natural that I wanted to check how Mutation Testing could be applied to the Kotlin language.

kotlin vaadin

Feedback on customizing Vaadin HTML template

Last week, my post was about how you could customize the default Vaadin HTML template so you could add a lang attribute for example. I didn’t ask for feedback, but I got it anyway, so let’s use the occasion to analyze it. First, I must admit that my solution was not Vaadin-esque as I used AOP to get the job done. My friend Matti Tahvonen from the Vaadin team was kind enough to provide not only one but 2 alternatives to my proposal.

algorithm kotlin

Feedback on the Josephus problem

My last week article was about the solving the Josephus problem in Kotlin. For ease of comparison, here’s the version I wrote originally: class Soldier(val position: Int) { var state = State.Living lateinit var next: Soldier fun suicide() { state = State.Dead } fun isDead() = state == State.Dead } enum class State { Living, Dead } class Circle(private val size: Int, private val step: Int) { private val first = Soldier(0) init { var p

algorithm kotlin

Solving the Josephus problem in Kotlin

I recently stumbled upon a post telling about the Josephus problem and trying to solve it in different scripting languages. For the sake of brevity, here’s the problem (taken from the referenced post): Flavius Josephus was a roman historian of Jewish origin. During the Jewish-Roman wars of the first century AD, he was in a cave with fellow soldiers, 40 men in all, surrounded by enemy Roman troops. They decided to commit suicide by standing in a ring and counting off each third man. Each

interview recruiting

The sad state of developer interviews

Recruiting is a complex process, and recruiting developers even more so. In this post, I will focus solely on the interviewing part (and leave the rant about recruiters who are paid 1 year of the candidate’s salary to just match buzzwords for another time). I recently stumbled upon an article about interview questions, again, telling you about 'right' answers for such and such questions. There are plenty of such articles on the World Wide Web, full-fledged sites dedicated to this topic an

logging spring boot

Log management in Spring Boot

Logging is for sure not a glamorous subject, but it’s a critical one - at least for DevOps and Ops teams. While there are plenty of material on the Web describing how to change your ASCII banner, there is not much on how to efficiently manage the log output. By default, Spring Boot will output log on the console and not use any file at all. However, it’s possible to tell Spring Boot to log in an output file. At the simplest level, the path where Spring Boot will put the spring.log