How to move projects between repositories [using git filter-repo]

Posted on March 31, 2023 in git

Context of the problem:

Move a couple of sub-projects from one github repository to another non-empty repository.

The source repository contains a multi-module Gradle project developed in Java. This project is structured as a modular monolith and has been evolving for over half a decade. Some of these modules are …


Continue reading

LED on and off on a button press using Raspberry Pi Zero

Posted on February 26, 2023 in diy-rpi

Context of the problem:

To re-introduce myself to electronics, I started from the simplest of experiments - turn an LED on/off on the press of a button.

I came across this article by Ian Buckley on MUO - Technology Simplified and found this really easy to do. I had some modifications …


Continue reading

Custom gradle plugins

Posted on December 29, 2022 in gradle

Context of the problem:

Any non-trivial production-ready server-side application has multiple independently deployable components. Some examples are microservices, libraries, and documentation.

For many of these components, all or some of the build logic is similar, hence repeatable. This article explains how to reuse repeatable build logic by building custom Gradle …


Continue reading

Return a temp file without creating one on disk

Posted on December 27, 2022 in Daily-Java

Context of the problem:

Last problem (flattening map of ) was about preparing the data for creating the CSV file. This problem is about creating the CSV file itself. The file is to be created in memory and returned to the caller. The caller is a ReST endpoint that will stream …


Continue reading

Flatten nested map with custom type as values

Posted on December 26, 2022 in Daily-Java

Context of the problem:

Last week, there was a feature request to re-create a downloadable CSV file and delete it as soon as the file is downloaded. The file can be quite large, so it's not a good idea to store it on disk, even on the temp folder of …


Continue reading