Hi! My name is Lucas and I’m a software engineer. If you want to reach me, awesome! Contact me by E-Mail (public • x3ro • de), which I swear I read regularly. Or give me a shout-out on Twitter. If you’re interested, you’ll find my GitHub profile here!

Continuous deployment setup with Gitlab CI

Continuous deployment (CD) is all the rage these days. And, if you ask me, it’s a good feeling to push to a branch, wait for some time, and eventually see your changes in production. Getting this to work within the confines of Gitlab CI can be a little tricky, so I’m going to share my preferred set-up in this post.

Stand-alone testing a Spring security configuration

Many examples of testing Spring Security configurations out there focus on how to write an integration test covering your security configuration as well as your controller(s). This post examines one possible way of testing a security configuration in a (mostly) isolated fashion.

On a scale from one to ten, …

Today we got a new intern (lets call him Tom), and while my colleague (that would be Jane) was trying to find a suitable task for him to get started with, I overheard a conversation similar to the following:

Jane: On a scale from one to ten, how proficient would you say you are in JavaScript?

Oh my god! My blog takes 50 seconds to load...

… on a 56k modem (remember those?). Okay, that might not be a valid benchmark nowadays. But the fact that the homepage of my blog, without any real content, was weighing in at almost 350KB did startle me a little. Why? Because, you know, that’s 50% the size of “Zelda: A link to the Past”, one of my favorite SNES game I spent countless hours playing, or about the size of Commander Keen, one of the first video games I’ve ever played. Compared to these really awesome bytes, the bytes of my homepage should really be ashamed of themselves, so let’s get rid of them. But where do they even come from?

Integrating a submodule into the parent repository

Git submodules can be very useful, and there are many guides on how to extract a certain directory of your repository and make it a submodule, while preserving history. This post is about the opposite operation – re-integrating a submodule into the parent repository without loosing any history.