• +43 660 1453541
  • contact@germaniumhq.com

Blog

Navigating Structured Code With CTags

As we discussed last time, we have the basic commands for searching around random files. Before dwelling into IDEs, for files that have a more esoteric language, CTags is the answer.


Read more

Navigating Legacy Code

After we can build our code, it's time to start addressing making changes. Now, not all code is created equal, and there are better ways to move around than simply opening every single file. Let's see how.


Read more

Dealing With Legacy Code

In the next miniseries of articles we're going to deal maintaining Legacy Code. We'll go with how to absorb faster bigger portions of code, how to reason larger codebases, and general day to day life. Since there's no one size that fits all, your mileage will vary.


Read more

Creating Python Handlebars Helpers

If you're using handlebars in python, you're probably using pybars3. In handlebars most commands are defined by the language, such as {{if}} or {{each}}. What you need to know is that you can also write your own helper functions to extend the language. Here's how to implement a switch clause:


Read more

Kubernetes Ingress Patching With Ansible

If you execute the default bare metal installation of an Nginx Ingress server you'll find out that it's actually not listening on the "normal" 80/443 ports, but rather on some client ports. What's worse is that there's a rather small limit for the proxying, so if you're exporting a binary registry, and you want to publish binaries from outside the cluster, you're in trouble. Here's how to fix this.


Read more

Allowing Docker Containers Inside the Kubernetes Network

Let's assume you're spinning up pure docker containers in your Kubernetes cluster. Not pods, but docker containers. For example you're using docker.inside in your Jenkins builds, and your Kubernetes is hosting the Jenkins instance. You'll notice that your docker container can't access services in your cluster.


Read more

Python Unit Testing

Python has bundled into it a rather decent testing framework, that resembles a lot JUnit, named unittest. This is packaged in the core python, and it's simple to use. While I'm a big fan of Behave, sometimes, especially if testing low-level APIs, it's less verbose to just write a core python unit test. In this article we explore how to create our first test.


Read more

pa11y Accessibility Testing With Docker and Jenkins

Testing a website for accessibility might prove challenging. Fortunately with the advent of some opensource tools, it's easier to test for problems, but automating this is a challenge. In this article we'll explore how to setup a Jenkins pipeline that runs pa11y - a popular opensource accessibility checker - inside a docker container.


Read more

Blacklisting Modules for the Linux Kernel

After the fiasco with the previous graphic card, I ordered a new one. Since Linux is Linux, nouveau was picked as the driver instead of the nvidia-drm. Because now we have a race condition: we just need to make sure that nouveau is never loaded first though.


Read more

Embedding Diagrams Into Documentation in AsciiDoctor

AsciiDoctor integrates well with diagram editors that take their input from text, in a seamless way. AsciiArt, GraphViz Dot, and even UML are supported. Here's how to achieve that.


Read more