Quidquid Latine dictum sit altum videtur

You are here: Home


Automatically mounting instance store on an AWS AMI.

This post was originally published at quasardb. On Amazon’s EC2, using EBS as the backend storage for your application has been the de-facto standard. Using the local storage of an EC2 container is risky: data loss occurs when a container is stopped and it is not replicated by default. As such, people should default to using EBS, which is Amazon’s version of a SAN. However, if data loss is acceptable, there are lot of valid... Read more


On anonymous networking in Haskell: announcing Tor and I2P for Haskell

During the development of a Bitcoin-related project, I found the need to perform anonymous peer-to-peer communication in Haskell. When people want a solution for anonymous networking, they usually point to either Tor or the lesser-known I2P. I have developed a Haskell API for both projects. In this post I will outline the differences between these projects and illustrate how to use them within Haskell. Tor Tor is easily the most popular of the two projects,... Read more


On the state of cryptography in Haskell

In the past months, I was attempting to write an application that uses cryptographic primitives in Haskell. In the process I found out some disturbing things about the state of cryptography in Haskell of which I think more people should be aware. I am trying to present you with as many facts as possible, but I will also draw my own conclusions from these facts. My conclusions are fairly paranoid, since I think developing crypto... Read more


Why you expect too much from open source

There has been a trend in the last years where software companies completely embrace the open source model and release their product as open source for the community. This has been largely fueled by the free software movement: they have shown that groups of individuals, making software for the sake of sharing it with others, are just as capable as releasing quality software as traditional software businesses are. In a struggle to keep themselves relevant,... Read more


On writing non-blocking network parsers for attoparsec

The goal of Haskell’s Attoparsec has always been clear: where Parsec provides you with a friendly parser combinator that produces nice error messages, Attoparsec does everything that is possible to give you the best speed possible. Error messages can be cryptic at best: not enough bytes is a common error when you would actually expect a real parse error. However, when you are able to live with that, Attoparsec does bring real advantages: personally I... Read more