Functional programming • Haskell
JS & React • C/Modern C++ • Qt


I am Johannes. Here are some of my projects:

Voxbox client

The Voxbox is a hardware device developed by Farm Radio International to support radio broadcasters in sub-saharan Africa. The client UI is a browser-based JavaScript single-page application, built on the Polymer web component library.

Hashids

This is a Haskell port of Hashids – a library used to encode numbers to a format suitable to appear in visible places like urls. It converts numbers like 347 into a string like yr8, or a list of numbers like [27, 986] into 3kTMd.

Qt Material Design Desktop Widgets

C++/Qt widgets-based implementation of the Material Design specification.

mbs

A C command line tool to keep track of the amount of data sent and received over a network interface. This can be convenient for monitoring data usage against a pre-paid bundle or some other fixed usage limit.

Liquid Epsilon

A smorgasbord of modules to assist in building single-page, client-side web applications, using Haskell and the UHC compiler.

fuzzyset-haskell

A fuzzy string set data structure for approximate string matching. It takes an input string, matches it against the entries of the set and returns a list of results ordered by similarity score, with the closest match first.

Dyckword

A Haskell library for working with binary Dyck words. In formal language theory and combinatorics, the Dyck language consists of all strings of evenly balanced left and right parentheses.

Example:

rank $ fromText' "(())()(((())))"
480

React Shopping Cart Starter Kit

Reusable shopping cart component for React with no extra fluff.

Web & graphic design

These are from a few years back (2012 and earlier).

Blogs etc.

Some blog posts and tutorials…

snap-rabbit

WebSockets chat in Haskell using RabbitMQ and the Snap server.

Lambdapants

An experimental REPL for the untyped Lambda Calculus, written in Idris.