Latest posts

Announcing serversession

January 2, 2016

I’m pleased to announce the serversession family of packages.


HTTP is a stateless protocol. Cookies are used to create sessions out of otherwise independent requests made by the browser to the server. There are many ways of managing sessions via cookies, but they can be mostly separated into two big camps:

Client-side sessions
The cookie data contains the session data. For example, it could contain a shopper’s login and cart contents.
Server-side sessions
The cookie data contains a session identifier, and the session data is kept on a database indexed by the session identifiers.
Continue reading →

Using stack on NixOS

September 22, 2015

I’ve got myself a new laptop recently and decided to try NixOS. It’s been a great experience so far, but there are some rough edges. One of them is stack not completely working out of the box for my projects.

Continue reading →

Using Caps Lock as Menu/Apps key on Emacs

September 3, 2015

I’m an ergoemacs-mode user, a mode that changes most key bindings so that they put less strain on your hands. For example, it uses Alt instead of Ctrl most of the time, which is easier to press: use your curled thumb instead of a karate chop. Also, many commands are activated by first pressing the Menu/Apps key (that key near the Right Ctrl which usually opens the context menu). For example, pressing Menu then T allows you to switch buffers.

However, the keyboard on my new notebook doesn’t have a dedicated Menu key. Instead, one needs to press Fn+Right Ctrl, which is of course extremely painful.

Picture of menu key on my notebook Menu key hidden on the Right Ctrl.

I’ve found a workaround, though. A very hackish workaround.

Continue reading →

Changing NetworkManager route metrics

May 29, 2015

If you use NetworkManager with more than one interface, you probably want to control the metric of their routes. Here’s one way you can do it.

Continue reading →

Sensors detective

December 8, 2013

I have an Asus M5A97 PRO motherboard, which includes the common set of sensors. The lm-sensors free software correctly detects two chips, k10temp-pci-00c3 and it8721-isa-0290, corresponding to my Phenom II and my motherboard, respectively. However, by default the output of sensors looks like:

Continue reading →

Esqueleto now supports IN and EXISTS

November 29, 2012

Since version 0.2.9 that I’ve just released, esqueleto supports IN and EXISTS operators (and their negated counterparts). For example:

select $
from $ \person -> do
where_ $ exists $
         from $ \post -> do
         where_ (post ^. BlogPostAuthorId ==. person ^. PersonId)
return person
Continue reading →

Announcing esqueleto, a type-safe EDSL for SQL queries

September 6, 2012

I’m very pleased to announce a preview release of esqueleto, a bare bones, type-safe EDSL for SQL queries.

Continue reading →
View post archive