-
Wrapping Async functions in Promises Jan 15, 2016A lot of core APIs in node.js have two forms for each function - synchronous and asynchronous. The synchronous versions block until the function has completed, while the asynchronous versions do not block - instead …
-
Functional Java 8 Nov 12, 2015I’ve been using Java 8 in some anger lately, and have encountered one or two tips that are worth sharing. I’ll start with some notes about lambda expressions and the Stream API that helped me thinking about …
-
GL Shaders and Atom Nov 10, 2015Coming from IntelliJ, CLion is my favourite C/C++ IDE. It also has many plugins that extend its functionality beyond C++, and one that I’ve found useful while experimenting with game development is the GLSL plugin …
-
Graphing with matplotlib Sep 5, 2015Today I wanted to draw some graphs. I started out using Wolfram Alpha’s excellent plot() functionality but wanted something that I would be able to use offline too. Mathematica & Matlab are beyond my …
-
Bootstrapping an HTTP server with Camel + Guice Aug 26, 2015I was tasked with creating a skeleton Java application that ran Camel for a project at work. As documentation was a bit sparse on how to achieve what I wanted, I’ve written this post on how to bootstrap a very …
-
Janus development so far Aug 3, 2015On the subject of Learning how to build a game Although it’s been slow, there has been progress with my C++ game. I’ve given it a working title of Janus and it’s taken the form of a 2d platformer. This …
-
Running a local Docker Machine at startup on OSX Jul 11, 2015The world of containers shifts rapidly. At the time of writing the former recommended method of running Docker on OSX - using the boot2docker CLI to configure a Virtual Box provisioned Linux VM that runs the Docker host …
-
Cross platform audio with Portaudio and libsndfile Jun 9, 2015In my recent efforts to make a game I’d reached a point where I had a rudimental 2d platform prototype which included a player character with animation via a sprite sheet, collision detection with the ground and …
-
Building Docker Exec (Part 2) Apr 7, 2015Continued from Building Docker Exec Part 1 Some of the programs I wanted to be able to run with my new tools used features that were enabled at compiler level, for example C++11 or C++14 features. I didn’t want …
-
Building Docker Exec (Part 1) Apr 7, 2015A while ago I made a start on the Project Euler problems - a set of mathematics-based programming questions - both because I wanted to improve my mathematical thinking and because their clear definition makes them a …