Don't reinvent the wheel
… unless you want to know how to make good wheels.
  • Published: 2015-06-18
    Tagged: flow, programming

    I describe what I call "The Flow" - a particular state I try to achieve when programming - in this article.

  • Published: 2014-06-22
    Tagged: cider-ci, continuous integration, microservices, software architecture, testing

    This article discusses problems we face when performing full stack integration testing. I will focus on the reason for false negatives and how to avoid them. The proposed approach integrates very well with the strategy of splitting a test suite in several tasks for achieving a faster execution time. This is part one of a three part series.

  • Published: 2012-12-10
    Tagged: clojure, java, jvm, restful http

    This article features an introduction to Ring. Ring provides access to the Java Servlet Api through a well-designed interface. It enables composition of so called middleware through higher order functions in a very interesting manner.

  • Published: 2012-06-19
    Tagged: coffeescript, d3, java, javascript, jquery, popularity, programming language, sql, stack overflow, visualization

    This post highlights the technical aspects of creating visualizations that compare the popularity of programming languages based on the number of questions posed on Stackoverflow.com. The running example compares Java with JavaScript.

  • Published: 2012-04-09
    Tagged: functional programming, functors, haskell progrmming language, io-monad, mathematics, monads, patterns

    This post features an introduction to performing IO in the Haskell programming language.

  • Published: 2012-03-31
    Tagged: applicative functors, functional programming, functors, haskell progrmming language, mathematics, patterns

    This post features an introduction to Applicative Functors in the Haskell programming language in a concise video-clip.

  • Published: 2012-03-03
    Tagged: applicative functors, functional programming, functors, haskell progrmming language, mathematics, patterns

    This post features an introduction to Applicative Functors in the Haskell programming language in a concise video-clip.

  • Published: 2012-02-11
    Updated: 2012-07-13
    Tagged: common table expressions, complexity, graph, network, recursion, relational model, ruby on rails, sql, web applications

    I will show how directed graphs should be encoded and queried in the relational model. I will contrast this with an existing and popular graph library that gets quite a few things wrong.

  • Published: 2012-02-04
    Tagged: functional programming, functors, haskell progrmming language, mathematics, patterns

    I will introduce Functors and related concepts in the Haskell programming language in a concise video-clip of just 10 minutes.

  • Published: 2012-01-28
    Tagged: functional programming, haskell progrmming language, mathematics, monoids, patterns

    Let me introduce the the Monoid typeclass in the Haskell programming language.

  • Published: 2011-12-11
    Tagged: eigenclasses, object hierarchy, object oriented programming, ruby programming language

    Learn all you need to known about Ruby's Eigenclasses in just 13 minutes.

  • Published: 2011-11-26
    Tagged: lost update problem, relational databases, ruby on rails, transactions, web applications

    The last part of the series features a hands on demonstration. We will create a web application from scratch and apply the rather theoretic concepts discussed in the previous posts.

  • Published: 2011-11-19
    Tagged: couchdb, lost update problem, relational databases, ruby on rails, transactions, web applications

    I discuss the problem of lost updates in web applications, and I also show how to prevent them.

  • Published: 2011-11-12
    Tagged: acid, isolation, lost update problem, postgresql, transactions

    I will introduce the lost update problem in the context of transactions in this post.

  • Published: 2011-11-05
    Tagged: couchdb, disqus, git, middlemanapp, ruby, sinatra, twitter

    This posts contains some notes with respect to the relaunch of my web page and blog posts.

  • Published: 2011-07-15
    Tagged: ajax, couchdb, full text search, javascript, lucene, mapreduce

    I will show how to exploit CouchDB's MapReduce mechanism to provide a minimalistic full text search on the documents in the database. In the end, I will use the map-phase (without reduce) and some client logic based on Ajax and JavaScript.

  • Published: 2011-06-21
    Tagged: availability, fault-tolerance, nosql, probability theory, reliability

    My forthcoming talk at Jazoon 2011 features a brief discussion on reliability (or fault tolerance if you like) of a cluster of machines. I expand on that in this post.

  • Published: 2011-06-18
    Tagged: coffee-script, map-reduce, nosql, riak

    Writing and queering MapReduce requests for riak by hand is rather cumbersome. My little tool riakqp provides a simple, fast and elegant way for prototyping those requests.

  • Published: 2011-05-29
    Tagged: performance, ssd, virtualization

    Did you ever consider upgrading your laptop with a solid state drive, and possibly replacing the DVD-drive with an additional hard-disk too? Read how that turned out with my first generation unibody MacBook in this post.

  • Published: 2011-05-22
    Tagged: coffeescript, couchdb, javascript, node.js

    Couchdev is a close to the metal utility to exchange data between the file-system and a CouchDB datastore.

  • Published: 2011-04-12
    Updated: 2011-11-03
    Tagged: postgresql, rails, sql, subqueries, web applications

    SQL subqueries provide a convenient and elegant way to formulate otherwise rather lengthy SQL expressions. I will show one example in a Ruby on Rails web application in this post.

  • Published: 2010-08-04
    Tagged: blog, couchdb, wiki