Getting started with bleve

I recently made a little prototype for a search server. Normally I would have used Elasticsearch for such a case, but I wanted to write this thing in pure Go. After looking at some alternatives, like a lucene port to Go, which seemed to be “done” since 2015. Lucene 4.10 was also not very appealing to me. While searching for a solution, I stumbled over Bleve, which is a Go-only full-text indexing and search library implementation.

Read On →

I like systemd

systemd, people hate and cheer it in each way. Strong opinions arise around the over mighty system/boot/network/everything manager. Personally I like this piece of software, especially because it replaces old and rotten things like the system V init system, NetworkManager, ifupdown, and a variety of distribution specific things, depending through whom’s glasses you are currently looking (Debian-ish vs. RedHat-ish vs. the others™). One could argue, that e.g. upstart was a good approach to do so, but in one of the most important parts (the boot order) it failed miserably to get it right. Instead of expressing the boot order as a graph, it went for a declarative ordering way to express the order. And once again, one must maintain it by hand.Arch Linux adopted systemd a few years ago (in 2012) and I must say, that, even though the migration was quite painful if one did not read the instructions carefully (guess what …), it took only a short time, at least for me, to adopt it. I think they were the first, who went through the shit-storm of systemd adopters. Apparently they survived and did not die due to massive user loss or anything similar. In fact, the mental jump between the initscripts and systemd was gigantic, compared to Upstart and systemd.

Read On →

Visualizing trivago's search traffic on a heatmap

While evaluating a message queue for trivago’s architecture I wrote a litte demo to present RabbitMQ in one of our internal meetings. The demo should display live searches from the trivago platform and display them on a map using a heatmap layer. The demo should show that the MQ is able to cope the amount of traffic that would hit the queues and this type of technology solves some of our current near realtime problems. Read On →

using facebook's React with require.js

I recently stumbled upon facebook’s React library, which is a Javascript library for building reusable frontend components. Even if this lib is only at version 0.3.x it behaves very stable, it is fast and is fun to code. I’m a big fan of require.js, so I tried to use React within the require.js eco system. It was not as hard as expected and here are some examples and some thoughts about it. Read On →

Using tunnelbroker with Apple's Airport Extreme

Inspired by the IPv6 episode from ChaosRadioExpress I tried as a my 6in4 provider, because Unity Media cannot get native IPv6 running for long-term customers (ridiculous: new customers get it without any problem). tunnelbroker enables you to build a static tunnel, which is quite problematic if you have a DSL connection or something similar that changes it’s IPv4 frequently. I use my Raspberry-PI, running on ArchLinux ARM, together with this litte ruby script to keep my public IP updated. Read On →