• +43 660 1453541
  • contact@germaniumhq.com

Tutorial

Command Line Drawing on SVGs With XSLT 2.0

If we want to post process images, one way to have basic post processing, is to just process the SVG file with XSLT. This is possible, since SVG images are just simple XML files. Let's achieve that.


Read more

Fixing Virtual Desktops on Multiple Monitors in Ubuntu 18.04

When using multiple monitors, Gnome in Ubuntu 18.04 picks only the monitor where the panel is as a virtual desktop, with the other attached monitors as a place to pin windows. Fortunately there's an easy fix with an internal settings editor for Gnome named dconf-editor.


Read more

Creating WebDriver Browser Instances With Germanium's open_browser()

If you want to open a WebDriver browser instance using Selenium, you need a few steps. The binary driver available is required to be in the PATH, and you need to create a specific configuration object, depending on the browser type, to get the browser instance. In Germanium it's only open_browser("chrome"). Since Germanium is Selenium, how is that working?


Read more

Staying Organized With Freeplane (and Scripts)

As the number of blog posts keeps increasing on this blog, organizing and keeping track of all the tags that are available becomes more complicated. Fortunately it involves only a mindmap program, and a small script.


Read more

Configuring Containers via ConfigMaps Volumes in Kubernetes

Kubernetes provides ConfigMap objects that allow storing key value pairs into its own etcd storage. The backup of Kubernetes also includes then those objects. Mounting a single key from the config as a file in a container is also straightforward. We'll see in this article exactly how.


Read more

Disabling Swap for Kubernetes in an Ansible Playbook

If you're trying to install a Kubernetes on bare metal, it's useful to document this experience in an Ansible playbook. This makes the installation of new clusters trivial. But after finishing the installation, on a reboot of the node, you might find out your cluster is not coming up. One possible reason is having the swap still enabled.


Read more

Writing Repeatable (Idempotent) Plays in Ansible

At its core, Ansible is a declarative system. You describe the state in which you expect your parts of the system to be in, and Ansible, via its modules, tries to get the system there. That's the reason why modules are idempotent. But how are we to approach simple shell executions?


Read more

Bootstrapping Non-Python Hosts With Ansible

Ansible is an agent-less configuration management system. While agent-less it's true, it still needs two things for it to operate: SSH and python. But what if on the brand new instance we only have SSH access, but no python? Is there a way to install python with Ansible?


Read more

Vim Ultimate Editing: Multiple File Types

As I mentioned in my previous article, were multiple reasons why I chose Vim over Sublime. I wanted to focus on UltiSnips, but I realized that some ground work needs to be set first. So as the title implies, we're looking today at Vim and multiple file types.


Read more

Make Gnome Look Like Unity in Ubuntu 18.04

If like me you switched to Ubuntu 18.04 LTS from Ubuntu 16.04 LTS, and had a small heart attack, well this article is for you. In this article we will try to get Gnome to resemble more the Unity interface. Here's what we will achieve:


Read more