Archives: Page 2

Some ScalaCheck generators fail too much

ScalaCheck comes with generators which will happily try and, with high probability, fail to construct sets.


Combining git repositories

A quick run down of combining git repositories which do not share history.


Recommended Podcasts

Here's a list of the podcasts I've been listening to lately.


Using Let's Encrypt

Here's a quick guide to requesting free certificates with Let's Encrypt and installing them on Nginx.


Second Annual FP-Syd Coq Fight

Last night was the second annual FP-Syd Coq Fight, the only competitive theorem proving event in the world! Here are some notes and a recording of the final round live stream.


Retcon and dynamic programming talks

I've given two talks in the last week or so: one on Retcon and another on dynamic programming in Haskell. Here are the slides.


My presentations on Speaker Deck

I've just created a Speaker Deck account to host slides from presentations I've given.


Testing multiple GHC versions on Travis CI

We're currently in a transition period between GHC releases so it's important to be able to test packages with multiple versions of GHC. Here's the standard approach and what I learned doing it to a package of mine.


Released some Haskell packages

I finished and released a couple of packages written in Haskell today. Here are a few details about them.


Reading from processes safely in Haskell

The naive approach to invoking a process and reading it's output is not safe. Here's a snippet of code which does this safely.