helm-unittest is a tool for unit-testing Helm charts. Helm is like M4 for writing Kubernetes manifests, which are YAML files. I prefer M4, because I consider the Go templating language an abomination (mutable data structures, unclear scoping, and so on and so forth). But it’s what’s used in the project, so I don’t really have a choice. Getting back to unit testing: What…
Opening Chrome manually and navigating to teams.microsoft.com gets old when you have to do it multiple times. Luckily, I found out that you can just write a small script that launches Chrome with the PWA 1 already open. I think I found it in a desktop file that was generated by Chrome when I installed the PWA. Anyway, without further ado, here’s the script: #!/bin/dash google-chrome --app =…
Pandas ist eine mächtige Python-Bibliothek, um mit Daten zu arbeiten. Ihre Beliebtheit erklärt sich neben einer guten Performance 1 auch durch eine hohe Ergonomie. Viele Aktionen, die man mit Pandas-Daten ausführen kann, lassen sich mit Standard-Python-Operatoren ausdrücken. Leider führt dies auch dazu, dass sich Pandas fast wie eine Mini-Sprache, welche in Python eingebettet ist, anfühlt. Das…
A colleague of mine has just posted a shell script for calculating TOTP secrets. From my POV, using a Python virtual env is overkill, and I was pretty sure that you could do it with bash and a few extra utilities as well. The bash script would probably even be faster (albeit not necessarily more secure, unless you’d gotten all the quotes right). There’s a “proper” shell…
I’ve been building a little project with Clojure to automatically switch my IKEA Trådfri lights when I start playing a video and restoring them when I pause. I’m lazy, I know. I used Clojure because it’s fun, and I like to use fun languages when not writing code for money. Also, there’s a good CoAPS library available for Java, which is a big plus, as many other languages…
In this article, I’ll try and demystify text generation via neural networks by explaining how the technology works in very basic terms. Hopefully though, my explanation will be complete enough to give the reader an understanding that’s good enough to critically examine the hype around text generators and correct some misunderstandings I’ve seen around me. There’s also some…
I’ve had the pleasure of having had to analyse multi-gigabyte JSON dumps in a project context recently. JSON itself is actually a rather pleasant format to consume, as it’s human-readable and there is a lot of tooling available for it. JQ allows expressing sophisticated processing steps in a single command line, and Jupyter with Python and Pandas allow easy interactive analysis to…
Some of my colleagues are regular users of Clojure , a JVM-based Lisp. I do like Lisp-based languages. I’ve attempted last year’s Advent of Code in Racket, and it was a great experience (although I am apparently not as great a coder as I thought I was 😢). Anyway. JVM-based languages are normally not great for scripting, on account of the longish startup time of the virtual machine.…
3D modelling can be fun for making purely virtual models of things. With the advent of 3D printing, however, you can now model things that don’t exist yet, and get them delivered to your home for modest fee (or even printing it yourself, if you happen to own a 3D printer). However, 3D CAD tools are often complicated, expensive or both. I’ve found and grown to like Solvespace .…
I’ve recently recently built a new storage server (post coming up). This being the first time I’ve had access to a server board, I had some problems accessing the IP management interface that is provided by Supermicro mainboards. This IP management interface (IPMI for short) allows you to do all sorts of nifty things, like powering the server on or off remotely, or configuring the BIOS…
I’ve recently bought hardware for a new NAS server build. Some of that is still in the throes of shipping (postal services have been pretty unreliable as of late), but most of it has arrived: A Supermicro mainboard, case, M.2 SSD and a PSU allows me to get started on the build. As I like to live dangerously, I also upgraded the BIOS on the mainboard 1 . Since the process was somewhat…
I’ve been trying to get Wireguard to run on my oldish VServer. The kernel is either too old, or the provider hasn’t compiled it with the necessary modules. wireguard-go seemed like a solution for this problem. However, I did not want to install a Go toolchain on the server, so I built the program locally. Go places a premium on easy distribution, so this might have worked. However, it…
I've written some useful shell scripts during my time with Linux (which is coming up on 20 years now). I'm posting them here as a) a reminder to myself and b) because they might be useful for other people. In contrast to Stupid ZSH tricks , these are written in Bash to work more universally.
ZSH is a powerful shell, and there's just oodles of ways to configure it. In this post, I've collected a number of tricks that make my life easier, and are simple to implement.
I'm a consultant at INNOQ with a Master's degree in Computer Science from the Technical University of Munich . See the Elsewhere page for more on my research, or my CV for more detailed information about my work. I'm interested in networking, application security and programming languages, but I can find interest in nearly any area of study. A non-exhaustive list of stuff I've worked with: In…
Studying abroad in China In China, I studied as a regular exchange student for a full semester. I enrolled at the Beijing Institute of Technology for the winter term 2012 from September to December. At the BIT, I attended an Artificial Intelligence lecture, a Computer Graphics lecture as well as an intensive chinese course. Campus and Accomodation The BIT is a campus university as well, so…
Studying in Singapore As I've mentioned before, my two-month stay in Singapore was not a full exchange semester, but only a relatively short research internship at the School of Computer Engineering of the Nanyang Technological Institute of Technology. The program I attended was the Summer Research Internship program (for which registrations are still open!). The program (designed to lure…