• +43 660 1453541
  • contact@germaniumhq.com

Tutorial

How to Automatically Upload Public Ssh Keys to Hosts

Whenever a new server needs to be managed, the first task is to upload my public key on that system, so I don't need to ever remember the password again, and use it again. Here's how I automated that process.


Read more

Force Named Argument Calling in Python

When calling functions in python, it makes sense to name the arguments, since they convey what values mean. A call to update(3, 5) is communicating less than update(major_version=3, minor_version=5). So how do we enforce that?


Read more

Essential Windows Subsystem for Linux (WSL) Settings

As an alternative to cygwin, I'm using more and more the Windows Subsystem for Linux (WSL). Unfortunately when trying to use it, esp. if coming from cygwin you'll need to consider the filesystem permissions, and how the drives are mounted so docker plays well when doing volume mounts. Here's how:


Read more

Venv, a Better Virtualenv

If you like me like to create virtual environments for everything, then you'll already sold on the idea of virtualenvs. The good news is that since Python 3.3 there's a new module part of standard python: venv.


Read more

Writing Better With Vim

How are we to write better quality texts, faster? The spectrum of assistant programs that aid us in writing texts has increased dramatically. From Word itself that has an outstanding grammar checker bundled in, to grammarly, or more into the command line tools diction and vim, the choices seem endless. Since my focus is using the same writing tool for everything, I settled on Vim, and I use only 2 settings.


Read more

How to Type Keys Using Germanium

One of the most common interactions in browsers is writing keys. Germanium has a trivially simple API to type keys, that includes shortcut handling, and special keys such as . Here's how:


Read more

Assigning a Function on File Type in Vim

Ok, we have now a new function with our own code in vim. We can manually trigger it when opening a buffer. Let's make this function automatically be called whenever opening a file, and fiddle with file types.


Read more

Creating a Command in Vim

I love vim. And one of the reasons that makes it so appealing is customization. One of the coolest things is the ability to create functions. You bind the functions to commands, and you simply call the commands for the execution.


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