James Monger
Play Creature ChessProjectsTalks
  • The trading market used for almost every Cities: Skylines interaction

    In Cities: Skylines, as your city grows you’ll notice people moving around the city - whether on foot, or in a vehicle. They move around for a number of purposes: residents look for jobs and families, tourists visit entertainment centres, and city services such as the fire and police departments will attend calls. There’s even a supply chain where logs, coal, goods, etc, both raw and processed, are taken from one business to another (or exported!) as they get refined.

    developmentcities-skylines
    Read more...
  • Building a Super-Robust HTTP API with Isomorphic TypeScript

    I’ve been a fan of TypeScript for a few years now, but it wasn’t until I used it isomorphically that I really appreciated how beneficial it can be when it comes to making systems more robust.

    development
    Read more...
  • Return Early, Return Often

    The cognitive load introduced by having a single return statement in a function (normally accompanied by a result variable) is often underappreciated, but luckily with a little refactoring it’s fairly easy to resolve.

    development
    Read more...
  • The Builder Pattern and How It Will Save Your Bacon When Unit Testing

    When writing unit tests around classes, often each test will call the constructor for our class and provide dependencies as arguments. However, this introduces some coupling between the tests and the signature of the constructor, which can make it very difficult to change our constructor in future.

    development
    Read more...
  • Hassle-free site rebranding with Tailormade

    I’ve worked on a number of projects throughout my lifetime that have had something in common: they’re tools used internally in businesses and each business wants the tool rebranded slightly to match their site. In fact, they’ve got another thing in common: it’s always been a major pain to do.

    development
    Read more...
  • Tuples vs Interfaces in TypeScript

    A tuple is effectively an array with specific types and a specific length. They’ve been supported in TypeScript since TypeScript 1.3 (it’s now 2.0) and I’m going to do a quick investigation about when they should be used (if anywhere!)

    development
    Read more...
  • Unit testing TypeScript with Alsatian

    TypeScript is a superset of JavaScript which allows developers to use static typing in their projects. It runs through a “transpiler” (unlike a compiler which turns source code into a lower-level language, a transpiler turns source code into a language at the same level) which turns it into plain old JavaScript.

    development
    Read more...
  • Dependency Injection for React Components

    Dependency Injection, often written as DI, is a great way to ensure your code is as reusable and as clean as possible. The main benefit, with the help of an “injection container”, is that you can switch modules out for other modules easily and in a single place.

    developmentreact
    Read more...
  • Global dependencies: they're insecure and they harm your contributors

    Global dependencies are everywhere: task managers like Grunt and gulp, test runners such as Karma and ava, transpilers like CoffeeScript and TypeScript.

    development
    Read more...

Like my blog? Try my game!

Creature Chess is a lofi chess battler

It's free, you can play it from your browser, and a game takes 10 minutes

Play Creature Chess

Software developer, car enthusiast, 3D artist

  • jameskmonger
  • jameskmonger
  • Subscribe with RSS