In one of my recent courses, we talked about Java 5 annotations. I told my students that before that time, one had to use marker interface instead: an interface without any method. Then, I showed the Serializable interface as an example. I started to explain it, then realized I would need a lot of time to fully cover it. This post is an attempt at that. Serialization is the process of transforming an existing in-memory
I’ve been following GraalVM with a lot of interest. One of the interesting areas is its ability to compile bytecode Ahead-Of-Time, and create a native image. Such images have a lot of advantages, including small size, no dependency on a JRE, etc. However, AOT has some limitations. In particular, the native image executable cannot compile what it
Last week, I wrote on how to migrate an existing Spring Boot application with a functional approach toward configuration. Since then, I got interesting feedback, and I had a presentation on that subject at Rockstar Night in Kiev, which made me think further. Here's how I would refine my previous code.
In the latest years, there has been some push-back against frameworks, and more specifically annotations: some call it magic, and claim it's hard to understand the flow of the application. It's IMHO part of a developer's job to know about some main frameworks. But it's hard to argue in favor of annotations when there are more annotations than actual code.
It seems pretty popular right now to bash widespread software design practices, e.g. dependency injection, frameworks, annotations, etc. While there are some downsides of adopting those practices, I believe there are more benefits. In that post, I'd like to address those points, and come up with arguments in favor.
I'm not a regular StackOverflow user, neither as a contributor, nor to ask questions. However, I recently stumbled upon a question, tried to help... and failed. I was pointed out my answer was wrong - thanks for everyone who did. I think failures are great occasions to learn something new! In this post, I'd like to detail what I learned after digging further: there are several ways to combine elements from an existing collection in Kotlin stdlib.
Distributing Java webapps via Docker is pretty widespread. However, regarding replacing desktop applications, it suffers from a not-so-great integration with the user's desktop. On OSX, a quite popular distribution channel is Homebrew. Let's dedicate this post to check how to distribute our desktop webapp via Homebrew.
I admit the title is a bit provocative. Of course, you need to push your changes. I should probably have renamed it Don't just git push, or Don't simply git push. But I'm sucker for clickbait titles. My point is, you should never ever type: git push This begets the question, why? Answering this question is the subjet of this post.