Meet The CraftCodeCrew

This blog began in 2018, created by a group of students from DHBW (Duale Hochschule Baden-Württemberg) in Karlsruhe, Germany. At the time, we were all employed at major German enterprises, spending half our time on-site and the other half in university.

Originally called Billige Plätze (Cheap Seats) due to our habit of sitting in the back row of the classroom, the blog was soon renamed to CraftCodeCrew. After graduating in 2018, we pursued different career paths, and in 2020, three of us came together to found CraftCoders.

Please note that the older posts were written in our early 20s by non-native English speakers. You may notice some youthful tone and minor language errors. We've chosen to keep these articles as they were originally written. We hope you enjoy reading them!

Building a simple domain name based firewall for egress filtering on Linux with iptables and dnsmasq

Sebastian GellweilerTutorials

This blog post shows you how you can build a simple firewall on Linux system to only allow requests to a list of whitelisted domains using dnsmasq and iptables. Using the newer nftables that replaces iptables with the iptables compatibility layer (iptables-nft) will also work. To follow this blog post you will need to have basic knowledge of networking and ... Read More

Solving the Knapsack Problem with the Jenetics Library

Dominik JülgJava, Machine learning

According to its official documents, Jenetics is a library that is used for programming evolutionary algorithms written in Java. Jenetics is implemented using the Java Stream interface, so it works smoothly with the rest of the Java Stream API. Evolutionary algorithms have their roots in biology, as they use mechanisms inspired by biological evolution, such as reproduction, mutation, recombination, and … Read More

Time Management: Doing Less lets you Achieve More

Jan Hendrik WinterTutorials

"There is surely nothing quite so useless as doing with great efficiency what should not be done at all." - Peter F. Drucker [1] Effectiveness and Efficiency Do you know the difference between effectiveness and efficiency? Effectiveness is the relationship between a goal achieved and a goal set, whereas efficiency is the ratio of the achieved goal to the effort. Thus ... Read More

WordPress without the security hassles – using GitLab CI/CD to automate transforming WordPress into a static website

Sebastian GellweilerTutorials, WordPress

Our Gitlab pipeline will have two phases for now: crawl and deploy. They are going to run the commands that we discussed in the previous sections in different docker containers. This is the .gitlabci.yml: That’s pretty much it, now you have a pipeline that will generate a static copy of your WordPress site and upload that back to your web … Read More

Regolith Quickstart: Creating a Custom-Theme

Dominik JülgTutorials, Ubuntu

Component Description Influencing style of i3gaps i3gaps is a fork of i3 with additional functionality. i3 is a dynamic tiling window manager, but you probably know it already if you chose to read this post. i3xrocks Xresources Xresources is a user-level configuration dotfile, typically located at ~/.Xresources . This is more or less our “root-config” that loads all other component-configs … Read More

Sophisticated Google container structure tests

Dominik JülgDocker, Tutorials, YAML

Last week we did an innovation week at our company, crowding up together and trying to figure out what can be done to improve our systems. Our group chose to setup a private docker registry and to automate the creation of docker images for our test-system. After some research we came up with Google’s framework named container structure tests, to … Read More

Startup: To join or not to join?

Sören HemkenGamification, Hackathon, Self Improvement, Startup

Hey everybody. A few days ago a friend of mine asked me for advice about joining or not joining a startup. After I answered him, I got excited to share my condensed thoughts with you in this blog post. He asked me since I was very enthusiastic about founding my own startup. Back in the days, I told him about … Read More

Clean Code: The hard facts and figures

Sebastian GellweilerClean Code, Field Report, Java

A couple of weeks ago I began to read Uncle Bob’s old developer bible: Clean Code. I was excited about the presented concepts and put a lot of thought into applying them into code. One day I was lying on the couch of our office, reading Chapter 2: Meaningful Names. Meanwhile, I overheard our team discussing the best troll name … Read More

The Stuttgart Hackathon Diary

Dominik JülgField Report, Hackathon

Day one on the Stuttgart Hackathon. Our team arrived in three parts: – The hardcore ones who even took some vacation to get there in time. – The cool ones who arrived later – and there is Leon…In this blog post, I am going to give you an impression of the hackathon. Day 1 Dear diary, it’s the first day … Read More

3 Lessons about Education

Danny NatemeE-Learning, Gamification, Self Improvement

I was going to write a plain old blog post with a lot of letters following one another, you know, the usual way, when suddenly ** wild inspiration appeared **. And I thought, why do you guys always have to do all the reading. So I made a video for you. It is 6 minutes long and it took me … Read More

Explore the Unexplored! (Tech world)

Dominik JülgBASIC, E-Learning, Self Improvement

Autumn is coming. This is the time when I like to grab a cup of hot tea and crawl under a warm blanket with my laptop. As a developer, it’s a good time to broaden your horizons with new knowledge. I want to motivate you to use that time as well to explore the tech world. Whilst working on tech … Read More