úlfurinn

SQL AST builder for Go
I’ve been working on a library to bring arel-like functionality to Go.
Loosely coupled git hooks
Git hooks may need to execute deployment actions they have no permissions for. Messaging provides a simple way to bridge that gap.
Building Qt on Windows (revisited)

Latest revision: 2014-01-12

Qt is a great library, but the only officially provided Windows/Mingw package is a shared 32-bit release build, which obviously doesn’t really cover all development needs. If you want to build other variants, you’re on your own. This post documents how I do it. For the sake of completeness, I’ll show how to build the required libraries as well.

A less obtrusive RPC with AMQP

The RPC example that comes with the AMQP gem has all the dangly callback stuff on the outside; I thought I’d try to hide some of the loose ends. It’s pretty much standard EM+Fiber magic. I might try to further improve on it later on.

thin 'init.d' with individual server support

I’m using thin for several apps on my server, and the default init.d script only knows how to restart all of them at once, which obviously can sometimes be too drastic, so I hacked up a gentler version:

Unrolling a list with variadic templates
Some template hackery to dynamically collect arguments to a callback.
Qt for 64-bit Windows

This post has been rewritten.

Substring matching in Erlang
A syntax shortcut to match the head of a string.
Emergency 'epmd' recovery
Suppose you’re running an Erlang application (ejabberd, for instance). It’s been up for months and months but then you try to use a remote control script (like ejabberdctl) and it fails, probably saying things like “nodedown”, indicating it cannot communicate with the Erlang node; yet the application itself is apparently running just fine. Running out of ideas, you run epmd -names and, to your horror, it shows an empty list.