LXD and Ansible for staging and development

Today I'll discuss a technique I use at my current gig to simulate our production environment using LXD. LXD is a container hypervisor by Cannonical. It's a bit experimental, but feels a lot more attractive than Docker. It's a system based on LXC, which allows users to run unprivileged containers…

Why functional programming?

As developers we want to write robust and correct code. This is our ultimate goal. To reach this goal, we write tests that assure us of the correct behaviour of our code. To make code testable, we define code in isolated units, that are also tested in isolation. Dependencies between…

Joylent - Day 1

So I've decided to not eat anything for a week. And live soley on Joylent. Day one was heavy. I had major headaches and felt fatigued, but that might had more to do with the party I had the day before. Anyhow. I decided to take the strawberry shake today…

Writing interpreters and compilers - An introduction to folds and algebras

So lets say we are building our own programming language because we're cool like that. For now our language will support simple arithmatic. So lets define an abstract syntax tree for it. data Expr = Val Int -- an expression is a value | Expr :+: Expr -- Or two expressions added together…

Lenses and prisms for modular clientside apps

Warning: This is just a mind dump. It's not a coherent story and it's mostly for me to read back on my thought. I'm publishing it in the hope that other people can learn from my thought process. To recap for the ones who aren't aware. Hom is a (hypothetical…

Hacking together GHCJS support for Servant

Source Demo So tonight I wanted to hack something together in 3 hours and I did! I wanted servant to work in the browser. Servant allows you to define routes at the typelevel and it automagically creates a whole freakin rest api from that. Yay for haskell. Anyhow. Having type-safe…