On The Subject Of Dev

  • Wrapping Async functions in Promises
    Wrapping Async functions in Promises
    A 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
    Functional Java 8
    I’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
    GL Shaders and Atom
    Coming 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
    Graphing with matplotlib
    Today 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
    Bootstrapping an HTTP server with Camel + Guice
    I 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 …
  • Cross platform audio with Portaudio and libsndfile
    Cross platform audio with Portaudio and libsndfile
    In 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)
    Building Docker Exec (Part 2)
    Continued 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)
    Building Docker Exec (Part 1)
    A 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 …
  • Simple HTTP Server in Python 3
    Simple HTTP Server in Python 3
    A while ago, I wrote about how to start a web server in an arbitary folder in Python 2. This can be done with Python 3 as well, but the module name has changed: python3 -m http.server
  • How I stopped worrying and learned to love Bash (part 2)
    How I stopped worrying and learned to love Bash (part 2)
    I wrote previously about the things I’ve learned about the Bash shell lately. This time I’m looking at two bits of functionality that are useful for scripts or functions with variable numbers of arguments. …
  • Simple HTTP Server in Python
    Simple HTTP Server in Python
    Note: This guide is for Python 2. See the follow up post for how to do this with Python 3. The other day my colleague Sam Starling pointed out an incredibly rapid way to start up an http server using Python 2’s …
  • How I stopped worrying and learned to love Bash (part 1)
    How I stopped worrying and learned to love Bash (part 1)
    Note: The second part of this series can be found here. For many years I have feared and avoided shell scripting. Perhaps my comfort zone was rooted in compiled languages. You might even say I’ve lived a very …

subscribe via RSS