Posts

  • How to test Renovate configuration changes in GitLab CI

    You’ve changed renovate.json, but of course you want to test the change before merging. There doesn’t seem to be a simple guide to this, so here’s what I’ve cobbled together.

  • Nix shell locale support

    If you need to do anything to do with locales in a Nix shell, you’ll want to add the following to your environment:

  • Nix shell IDE integration

    Most projects involve some CLI tools which can be useful to integrate into the IDE. For example, when using an interpreted language like Python, telling the IDE where to find the python executable means it should be able to find and auto-complete language-specific dependencies, detect any syntax errors based on the exact interpreter version, and run the tests without any extra setup. There’s just one snag: some IDEs require you to specify an absolute path to the interpreter, and Nix store paths are hashed:

  • Nix language-specific dependencies

    The following Nix shell declaration has a common bug:

  • AWS Azure login interactive profile selection function

    I’ve created a wrapper for aws-azure-login to let you interactively select the profile you want before logging in. I have a bunch of profiles, I can never remember what they are called, and some of them have short session lifetimes, so this has been a lifesaver.

  • Being open about openness

    tl;dr: Being open about what you’re open about is helpful to everyone involved, including maintainers.

  • Easy PostgreSQL testing with pgTAP and Nix

    This article explains one way to get from zero to a psql shell inside a local PostgreSQL instance with pgTAP enabled. It’s based on the Nix shell template article.

  • Nix shell template

    Nix shells are the best tool for creating software development environments right now. This article provides a template to get you started with Nix shells from scratch, and explains how to add common features.

  • Convert date/time from machine-readable to human-readable

    Enter a date/time string below to get the human-readable local time instantly.

  • On brevity

    There was a young joker, a git,
    Who thought himself quite the wit,
    But he wasn’t funny,
    His jokes were runny,
    Like “Conciseness, rather than prolixity, is the very being, the very body, the very soul, of wit!”