I am Kevin Mahoney, I'm a software developer.

My interests include functional languages, geeking out about type systems, pondering databases, and daydreaming about game design. I'm especially fond of Haskell and Clojure.

Articles

I weigh in on the age old debate of static vs. dynamic languages, and fix some misconceptions I've seen argued against type systems.

A short introduction to my structural editor project. Some advantages and disadvantages of structural editing.

Projects

Pool tracker

Pool Ball Tracker

A fun side project at GoCardless to track pool balls with a GoPro camera. More information in the write-up.

Uses C, C++ and OpenCV.

GoCardless: Pool Ball Tracker

Data Story

Data Story

A runner up in a World Bank competition entry that visualises climate change data provided by the World Bank API. A SpineJS, javascript-heavy web application with a Flask back end.

Worked on in collaboration with Decio Battaglia and Xiaoying Riley of 3rd Wave Media.

YouTube: Data Story

Eluminate

Eluminate

A simple, free “lights-out” puzzle game released to the android market.

This was my first Android app and my attempt at learning Android development by creating a very simple game.

The objective of the game is to turn out all the lights. Pushing a light toggles that light and four surrounding ones. The levels are randomly generated each time and gradually increase in difficulty. You must complete a level within a certain number of moves or you lose a life.

Written in Java with the Android SDK.

Android Market: Eluminate

Github Projects

Open Source Projects

  • StrictScript — A language experimenting with row-polymorphism.
  • kpm-list — An Emacs buffer list.
  • Django-bulk — Bulk insert/update for Django.
  • Dochi — Concatenative language interpreter.
  • Roots — Python web framework.
  • DRel — Relational algebra for Django.
  • pyhandy — Some handy Python stuff.
  • Convolution — Sound file convolution.

Who I've Worked For

Mobile Vikings

I'm currently working for Mobile Vikings, a mobile virtual network operator based in Hasselt, Belgium. I'm helping them out with some Django.

GoCardless

I was the tenth hire at this YCombinator-backed, London-based payments startup. I mostly worked as a back-end Rails developer, but did a little DevOps too.

Maplecroft

Maplecroft is a small global risk analytics company. I worked the full stack using Django and Javascript. A lot of work with maps.

Switch Call Ltd.

I worked for this (now defunct) telecomms startup for two years. I produced some websites, SMS and telephone tools in PHP and ASP classic. I have made a full recovery.