Fully reproducible NixOS builds

28 Sep 2018

One of big strengths of NixOS is reproducible builds. Yet achieving full reproducibility requires a bit of effort. The minimal set of things needed is a configuration.nix and a reference to a nixpkgs commit. And the easiest way to achieve this is to have a git-repo with configuration, which also references nixpkgs as a submodule.

Tags: nix nixos Read more…

Sharing code position from emacs

23 Jul 2018 There are times when you want to share an exact code location with somebody. Maybe you’ve just shown them something and want to follow up with an IM message. Or you want to add something to a bug tracker issue. The thing is that a code is opened in your favorite editor, so you know everything about a commit, a file and a line number. But to share a link you need to go to some kind of a web git UI and search for exact same things there. Tags: emacs Read more…

Salomon X Ultra MID 2 GTX aren't good

18 Mar 2018

Looks like there are no normal boot manufacturers left on the planet. I welcome Salomon to my shit-list with their X Ultra Mid GTX (not sure about the exact model). Here what they look like after everyday use for just 8 months:

Tags: boots-of-shame Read more…

Auto-reload threepenny-gui apps during development

17 Mar 2018

When you are developing a threepenny app, you need to perform the same dance after every change: recompile and restart the app, and then manually reload a page in a browser. This becomes tiresome very quickly. But with the help of ghcid and with small changes to your Haskell code you can completely automate this process.

Tags: haskell gui Read more…

Notes about installing Lineage OS on Nexus 6P

15 Mar 2018

Checklist for myself for the next time I’ll be flashing my Nexus 6P (because official Lineage OS instructions are missing some important parts).

Tags: android notes Read more…

Perl `JSON::XS` can produce un-canonical JSON

14 Mar 2018

Sometimes you want to produce a canonical version of a data structure in JSON - with keys sorted and no additional whitespace. JSON::XS promises us that we can achieve such result with a canonical option. It only notes that canonicalization doesn’t work for tied hashes. But I’ve just spent half a day debugging to learn that this is a bit more complicated.

Tags: perl sadness Read more…

DIY power supply from AliExpress

14 May 2017

Just finished soldering and assembling a DIY power supply purchased from AliExpress.

Tags: electronics Read more…

RabbitMQ plugins in Elixir

19 Apr 2017

As RabbitMQ is gradually adopting Elixir (i.e. for the next generation of its CLI tools), it’s natural that one would also want to use Elixir for writing plugins. There is a blog post from 2013 on that topic and most things there are still relevant - except the build instructions, as there was a complete revamp of build system in RabbitMQ. And I’m going to fill that gap.

Tags: rabbitmq Read more…

RabbitMQ net-split messages explanation

30 Jan 2017

After experiencing a network problem RabbitMQ writes a record to logs that looks like this:

=INFO REPORT==== 30-Jan-2017::19:04:04 ===
node '[email protected]' down: connection_closed

Tags: rabbitmq Read more…
⇦ Older Newer ⇨