• Go Lang and interfaces and generics

    Hey everyone,

    Today, I want to dive into Go language and talk about interfaces, with a specific focus on generics. Generics have been one of the most highly anticipated features in Go, and they are finally here with the release of Go 1.18. Let’s explore how interfaces and generics work together in Go and how they can make our code more flexible and reusable.

    Read on →

  • Quick introduction to Augeas in Puppet

    Recently I came across an interesting problem. I had to install a kernel from the 3.10 branch on CentOS 6 and there was a need to update grub.conf - change the default kernel plus add a boot option. Both mentioned operations had to be done in Puppet 3.7 (Augeas is of course also available in higher versions of Puppet). Sounds easy, right?

    Read on →

  • How to pass variable to Jinja template in Salt

    Yesterday I faced a quite interesting problem. In my SLS definition I was iterating over a hash of hashes and wanted to pass the hash from the current iteration to a Jinja template.

    Read on →

  • Add new key to APT AKA tell APT to trust given key

    On one of my desktop boxes I recently got this message when I wanted to update it via apt:

    Fetched 1448 B in 8s (180 B/s)
    Reading package lists... Done
    W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used.
    GPG error: http://xxxxxxx ./ Release: The following signatures couldn't be verified because
    the public key is not available: NO_PUBKEY 0000000000
    

    Read on →

  • Why you should not use kill -9

    I recently found this advice given by Randal Schwartz. I think most programmers have some idea who he is. Anyway, if you have never had to touch Perl, here is the link to his wiki page.

    Here is the advice from Randal:

    Read on →