European Institutions

October 21, 2018

With European elections just around the corner it is with some embarrassment I admit I am far more knowledgeable about US institutions and political parties than I am about the European Union equivalents. I have decided to rectify this in a blog post that I hope will take some of the mystique out of the machinations of the EU.

Read More

Free Speech

August 8, 2018

I can’t say I was upset to hear about Alex Jones recent removal from social media and podcast platforms. The man is a steaming pile of garbage and I have zero sympathy for him. However, after a discussion with friends and some conversations on twitter I started thinking about my own position on censorship and what I believe is acceptable speech.

Read More

Rust and Swig

August 2, 2018

For a personal project I am working on I wanted to create Python bindings to a Rust library I am creating. The first port of call was Milksnake and I wrote a Python wrapper to make it nicer to consume. However, a few weeks later I wanted wrappers for a few more languages and rather than create each one individually I decided to see if I could use a tried and trusted tool like Swig. What follows is a short tutorial on how to use Swig to create bindings for a Rust library.

Read More

Integrate Django with Keycloak

February 19, 2017

Keycloak is an open source identity and access management (IAM) and single sign on (SSO) solution from Redhat. If you have multiple web applications or services that require authentication, keycloak saves you from having to write the same authentication code over and over again, and allows your users to authenticate against multiple applications without having to log in multiple times. In this post I will show how to set up Keycloak running locally, and how to use it as the authentication provider for a Django application. This post uses Python 3.x.

Read More

The Amiga

January 14, 2017

The Amiga 500+ wasn’t my first computer when I was a child (the ZX Spectrum has that honor), but it was the one I received at the age when I wanted to do more than just play games and for that reason it stands out in my memory as being something a bit special. With the demise of Commodore and the onset of my teenage years, I drifted away from computers for a while only occasionally playing a Playstation at a friends houses. It wasn’‘t until I started University that I got interested and excited by computers again. That period of my life was Linux, the free software movement and learning to code. When I began working, and had some cash I moved to Macs and I stopped spending my evenings compiling kernels. It is only in the past year or so I have started to take a look back at the 8-bit and 16-bit systems of my youth and appreciate them anew.

Read More

Elixir and Jupyter

September 30, 2015

When using Python I rely heavily on Jupyter (nee iPython) and now that they are pushing multi-language support I am excited to see what other language communities do with it. In this post I will look at setting it up with an Elixir kernel.

Read More

A Custom Query Language

August 31, 2015

If you recall, our CEP processor currently forces us to write elixir code to work on our windows of data, and our current implementation stores and operates on our data in the same function.

Read More

Elixir and ZeroMQ

July 31, 2015

ZeroMQ is an excellent, language agnostic messaging and concurrency library. It can be used to provide non-BEAM based languages with some (but not all!) of the features that we take for granted when writing code in Elixir on the erlang vm. For this post, we will focus on its capabilities as a messaging library. This post gives a brief overview of ZeroMQ but you really should read the excellent ZeroMQ guide to gain a more complete understanding.

Read More

Elixir, Docker and PG2

June 16, 2015

Over the next few posts I plan to look at ways of making the CEP processor created in the last post distributed. But, before that, I want to take a short diversion and jot down some notes on how to set up Elixir in a docker container and have nodes, running in seperatate containers, communicate with each other.

Read More

A CEP Processor in Elixir

May 26, 2015

CEP is the term used to describe systems that process streams of events. In this post, we will use the the data structures created in a previous post and a GenEvent server to create a simple CEP processor in Elixir.

Read More

Simple Sliding Windows in Elixir

April 1, 2015

As part of some research I have been doing I wanted a sliding window data structure and thought it would be interesting to see how to implement custom data structures in Elixir.

Read More

PostGrest Introduction

March 16, 2015

I recently came across an interesting project called PostgREST, an application that claimed to read the database schema of you’‘r PostgreSQL database and automatically create a “a cleaner, more standards-compliant, faster API than you are likely to write from scratch.”

Read More

Using OTP from Elixir

January 6, 2014

In this post we will port the TCP RPC server from Erlang and OTP in Action to Elixir. Elixir is an exciting new language targeting the Erlang VM (BEAM). The TCP RPC server will use the OTP libraries, these are a set of battle tested libraries that allow Erlang programmers to easily create reliable production ready applications. A big part of OTP is supervision trees, we will not use them in this example but will investigate them in a future post. More indept OTP information can be found on the Erlang site or in the excellent Learn you some erlang for great good book.

Read More

Clojurescript and Closure UI Tutorial

December 9, 2013

I am researching the available Clojure options for web and front end development at the moment and plan to create a series of posts that document what I learn as I go. This post will be an introduction to using the Google Closure libraries with Clojurescript. It assumes some basic familiarity with Clojurescript.

Read More

Clojure-py lite

November 21, 2013

I have been tracking the progress of clojure-py on and off for the past two years or so but unfortunately it has officially been dropped by its current maintainer. I know node.js and Clojurescript are Clojures “de-facto” scripting solution but I am more familiar with the Python ecosystem so I was looking forward to being able to use the libraries I know with Clojure. However, on the clojure-py mailing list Hy was mentioned as a possible alternative so I decided to take a look at Hy and see how close we can get to a Clojure “like” environment on cPython. Note: I am not suggesting anyone use this setup for serious systems, its just a fun exercise.

Read More

My Clojure Scratchpad

November 11, 2013

When I want to do a quick calculation or perform a few one off commands that are beyond my bash knowledge I normally reach for Python. My work flow is

Read More

Displaying MQTT messages in a browser in real time

November 2, 2013

I have recently been investigating how to display MQTT messages in a web browser in real time. The MQTT server I use is Mosquitto as it is light weight and can be run on low power (ARM) devices, ideal if you want to use a Raspberry Pi as a gateway for sensors around your house.

Read More

Conference Videos 2012

March 16, 2013

I wanted a list of video links to some interesting conferences so I will add them here as a reference for others.

Read More