List of blogposts:
Lockfiles Are Not the Only Option - written Sat, 26 Aug 2017 at 21:06 UTC
If you want to make a package manager, think before jumping straight to lock files.
From Transducers to Conduits and Back Again - written Sat, 11 Jun 2016 at 11:34 UTC
By realising that transducers are just conduits, we can create a transducer interface that is much easier to use than the current one.
Clojure's Transducers in Haskell - written Mon, 23 May 2016 at 16:20 UTC
Let's implement Clojure's Transducers in Haskell!
(rationalize Inlein) - written Mon, 14 Mar 2016 at 01:22 UTC
What does the new project Inlein bring to the table for Clojurians?
The Simplest Collection - written Sun, 10 Jan 2016 at 00:51 UTC
This blogpost explores what the simplest collection type is, and whether it is useful or not.
Parsing TeX with Recursive Transducers - written Thu, 12 Nov 2015 at 21:12 UTC
This blogpost experiment with recursive transducers, and how one could use them for composable nanopass parsers.
Commit Times and Work Culture - written Sun, 27 Sep 2015 at 15:55 UTC
Punchcards for a collection of projects may give you some indication of work culture.
Persistent Vector Performance Summarised - written Mon, 23 Feb 2015 at 00:38 UTC
The last post in the persistent vector series, explaining why 32 is chosen as branching factor and what "effectively constant time" is.
Swearjure is Turing Complete - written Tue, 03 Feb 2015 at 17:04 UTC
This blogpost dives into new discoveries in Swearjure, which makes it possible to prove that it actually is turing complete!
Persistent Vector Performance - written Sat, 24 Jan 2015 at 23:52 UTC
This is a very detailed blogpost related to persistent/transient vector performance, with benchmarks and plots. I also improved the overall vector performance "by accident".
Understanding Clojure's Transients - written Sun, 19 Oct 2014 at 17:28 UTC
Ever wondered how Clojure's transients work? Or perhaps you don't know how to use transients properly? Both things will be explained in this blogpost!
Improving RRB-Tree Performance through Transience - written Sat, 19 Jul 2014 at 21:06 UTC
A master's thesis properly describing the persistent vector, the RRB-tree as well as optimisations on the RRB-tree.
Understanding Clojure's Persistent Vectors, pt. 3 - written Wed, 09 Apr 2014 at 23:12 UTC
In this blogpost, we will have a look at how we reduce constant factors in the persistent vector through a tail implementation.
Advanced Clojure and Java Mixing with Leiningen - written Sun, 09 Feb 2014 at 00:56 UTC
An example of a Leiningen project using several java/clojure compilation steps.
Suboptimal Optimisations - written Mon, 30 Dec 2013 at 12:41 UTC
Sometimes, adding mallocs to a program increases performance.
Understanding Clojure's Persistent Vector, pt. 2 - written Thu, 24 Oct 2013 at 15:51 UTC
This is part 2 of the blog series which explains Clojure's Persistent Vectors.
Understanding Clojure's Persistent Vector, pt. 1 - written Wed, 25 Sep 2013 at 12:46 UTC
Ever wondered how Clojure's persistent vector actually works? This is part 1 of a blog series which aims to explain them.
Read RFC Documents in HTML Form - written Sat, 24 Aug 2013 at 12:58 UTC
Finding bugs in RFCs and why you should read them in HTML form.
Introduction to Open Source Workflows - written Sun, 28 Jul 2013 at 17:36 UTC
A short introduction to open source workflows.
Hello World in Swearjure - written Sun, 31 Mar 2013 at 16:47 UTC
A working Clojure program with a minimal amount of alphanumerics.
How To Cancel A Blocking Read In Java - written Thu, 21 Feb 2013 at 16:17 UTC
Cancelling blocking reads in Java is anything but sane.
A Language Without Conditionals - written Sun, 10 Feb 2013 at 14:50 UTC
Can you learn anything valuable by removing programming constructs?
Facebook Hacker Cup, Qualification round in Clojure - written Tue, 29 Jan 2013 at 00:24 UTC
In which an unfit language is surprisingly fit.
Swearjure - written Wed, 09 Jan 2013 at 17:14 UTC
Is Clojure turing complete without alphanumeric characters?
algdat - bad design - bugs - clojure - culture - dependency management - haskell - java - parsing - swearjure