• Work continues on upgrading our elasticsearch cluster to version 5. This week I finished making rummager elasticsearch 5 compatible, and now we’ve run into the nitty gritty of how this is actually going to work: how we can run two elasticsearch clusters and two rummagers at once (to gradually migrate); how to set up a new app (for this second rummager); how we can get elasticsearch 5 into our continuous integration; and how this is all going to fit around the AWS Migration Team moving apps between hosting providers.


  • I decided to tackle some of the dejafu roadmap, which led to preparing a new release soon to be version

    • Everything deprecated has been removed.
    • #119: length-bounding now works for random testing, as well as systematic testing.
    • #202: I’ve replaced the hacky dontCheck and systematically functions with a more principled interface which rules out some incorrect uses of the API.

    There are a few more things I want to get done before cutting the release:

    • #177: invariants which get checked between scheduling points.
    • #225: a function to abort a test execution early.
    • More tutorial-style documentation in the Test.DejaFu module. For this I’ll be looking at other testing libraries and seeing how they present their documentation.

    Because this is a super-major version bump, I’ll be writing a short migration guide and also some sort of release announcement to share to /r/haskell and the haskell-cafe.

  • After roughly 6 days of fermentation, I started flavouring my second batch of kombucha. I’m flavouring the whole thing in one go (other than a little bit left behind to keep the starter culture alive), with 400g of crushed cherries and a little squash. I’m planning on flavouring it for at least three days this time before bottling it for carbonation.

  • I finished migrating all my passwords from LastPass to KeePassXC, something I started in October when I realised it was a bit hypocritical of me to trust LastPass with secrets but not AWS. Now I’m trusting KeePassXC and Syncthing, but it’s easy to verify that KeePassXC is locally encrypting my passwords, and I could migrate away from Syncthing (eg, to just using ssh/scp) with little effort.

    One of my monthly chores is to review old passwords, so each month I’ve been moving some more over (and moving passwords over as I use them), and closing old accounts I don’t need any more. From next month I’ll start rotating old credentials.