• Breaking DNS with consul and dnsmasq forwarding

    Last month, I broke DNS on a production cluster by attempting to resolve a hostname.

  • Automatically installing requirements for a Python CLI application

    Sometimes when I write small commandline applications in Python, I need to depend on some library in PyPi.

  • Nextcloud & Cloudflare: Investigation into excessive data usage

    Or, how 3 well designed components behave stupidly together.

  • Creating a parser in PHP

    For my latest project, Norch-PHP-Client, I had to create a simple parser for a user-supplied string.

    I'll try to describe the process I followed to create the parser here. It was a struggle to get to a minimal parser, but it certainly was an educational experience.

    The parser is built in two pieces, a lexer and a compiler. This is something I remembered from how C compilers and friends are built.

  • Instructions: Setting up Conky

    In this post, I'll show you how to set up Conky on Ubuntu in exactly the same way I did.
    This is a follow-up to my earlier post on Conky. (Some people say it looks like the user interface from Minority Report. I have never seen the movie, so I have no idea how it looks like.)

  • Tweaking Ubuntu Gnome with Conky

    Tweaking Ubuntu Gnome with Conky

  • Instructions: Using a GitHub OAuth token with Composer & Travis CI

    I use GitHub to host my open-source projects. Most of them are PHP libraries.

    For testing those libraries, I use Travis CI. Every commit I push to the GitHub repository gets tested by their CI (Continuous Integration) server.

    Of course, I use Composer for managing dependencies on my PHP projects.

    Usually everything works out fine, but sometimes the dependency installation fails because I reached the GitHub API limit. That's 60 calls per hour per IP address for unauthenticated requests. Since Travis runs a lot of tests for various projects, it is possible that an earlier project already exhausted the API limit.

    Because composer keeps waiting for input of a username and password, Travis aborts the build after 10 minutes, and it shows up as errored.

subscribe via RSS