Setup a self-hosted Gitlab

As I now have my own domain, I wanted to have my own Gitlab server on a subdomain of my blog. There were multiple reasons for this:

  • Gitlab.com now requires you to provide them your credit card data for being able to use the CI/CD runners and for security reasons I did not want to provide them my data but I also wanted to be able to use the CI/CD pipeline
  • I didn’t want to have arbitrarly limits on my repository sizes
  • I wanted to make my open source projects better visible by being part of my domain and to be exclusive on the server
  • I wanted to get some experience in administrating a server that is accessible from the internet

For this I rented a root server which I have set up accordingly within the last week. While on the process I have written two new tutorials:

I hope you enjoy reading my tutorials. 🙂

Improved the priorized voltage source switch

For my efforts to migrating all important entries from the old blog to this one I decided to rework the priorized voltage source switch to make it more robust and allow for fine grained configuration of the voltage at which it shall switch to the backup supply by adding a Vref input. I also have tested it in more detail and add more documentation about dimensioning the components.

See also: A priorized voltage source switch

Reworked the plugin loader library

Yesterday I have rewritten the tutorial from my old blog about how to dynamically load plugins in Java at runtime and used the opportunity to rewrite the code of the plugin loader I created long time ago to make it more performant, clean up its API and improve the readability of the source code. I dropped the support for runtime compiling Java code which heavily improved the performance of the new plugin loader. The old loader needed some seconds for loading JARs, because it needed to bootstrap the Java Compiler Toolkit everytime it loaded a plugin, while with the new loader the plugin JAR is instantly loaded. I also added some tests to ensure that the code is of good quality and provided documentation about how to use it.

The new plugin is now available in Maven Central with the new coordinates:

<groupId>de.osshangar</groupId>
<artifactId>java-plugin-framework</artifactId>
<version>3.1</version>

See also: How to create a plugin library for Java