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.
- Demo (no hardware is connected)
- Error screen
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).
- Web designs
- Adobe Flash (AS3) component: Image carousel
- Graphic design: Flyer
- Logo design
Blogs etc.
Some blog posts and tutorials…
- BSD sockets tutorial
- Visualizing non-strict evaluation
- Number representation in digital electronics
- Asymptotic time-complexity analysis
- Reference counting in C++
snap-rabbit
WebSockets chat in Haskell using RabbitMQ and the Snap server.
Lambdapants
An experimental REPL for the untyped Lambda Calculus, written in Idris.