ArchivesHere you can find a list of all articles in reverse chronological order.
Group Hakyll posts by year (for chronological archives)
This article shows how to create a listing of all Hakyll 4 posts (from now on referred to as articles) grouped by year in reverse chronological order.
Applying a function to all result rows of another function in PostgreSQL
We want to apply function
bar()on every table row returned by function
foo(), then return primary key of table returned by
foo()together with all returned rows from
Returning multiple errors from a Go function
A convenient way of returning multiple error values from a single function is to write a custom
MultiErrortype that itself imlements the
Beautify Hakyll post URLs: Removing .html extension and timestamp
Standard Hakyll post URLs end in
.htmland the file name starts with a timestamp. Furthermore, all posts (we’ll call them articles) are saved inside a common directory that we don’t want to show in our URLs because we are using category directories anyway.
Beautify URLs in Jekyll
Jekyll can hide the .html extension by rewriting paths like
/dir/file/index.htmland then letting the webserver’s “default index” feature do the work. If you don’t want to use this (arguably dirty) trick you can produce extension-free URLs of normal HTML files yourself and let your webserver handle the rewrite.
FreeBSD RC script for Go daemons
The best way of letting a Go program run detached from the terminal on a FreeBSD system is by starting it with daemon(8). We also need a startup script to be able to easily manage our new service. This is done by writing a simple rc(8) script.
Language detection in Go – Calling cld with cgo
A common task in natural language processing is the detection of the (human) input language. An easy approach to accomplish this is using the chromium compact language detector library1 which offers language detection functionality, extracted from the Chromium browser.
Go machine learning & NLP libraries
The Go programming language is getting increasingly popular for the purpose of natural language processing. At the moment there seems to be no central directory of useful libraries. Therefore, I decided to publish a list of corresponding packages that I am using or have been stumbled upon.
New CO2 inline atomiser & magnetic valve
I got a CO2 inline atomiser from U.P. and a magnetic valve for overnight shutdown from Bavaria FluidTech.
Fighting Planarians and Hydra with Panacur® anthelmintic
I detected several planarians and Hydrae in my 240 litre shrimp tank. Unfortunately there is no non-medicinal way of getting them out permanently. Hence, I decided to treat the system with Panacur®, an effective anthelmintic normally used to fight gastrointestinal parasites in cattle, sheep or seals. I’m trying to find the right dose that effectively eliminates the grown up specimens as well as the planarians’ eggs.
Breadcrumbs navigation plugin for Jekyll
There was no suitable plugin for creating a breadcrumbs navigation in Jekyll (a static site generator), so I decided to implement one.
Periodic MongoDB backup script
I wrote a periodic/cron script for backing up MongoDB databases. It is based on Palle Girgensohn’s backup script for PostgreSQL from the FreeBSD PostgreSQL port.