Rob Janssen

Part 1: Introduction and Table of Contents

Part 2 is available here. If you’re in a rush, you can also go directly to Part 6, which is summarizing the content from all the other parts.

20 Free JavaScript Game Engines for Developers

The value of HTML5 coupled with Javascript and CSS3 can enable the Device Oriented Developer within creating extraordinary games incorporating 3D, Animation, Canvas, Math, Color, Sound, WebGL.

Quantum Mechanics: Fabric of the Cosmos - Documentary

Quantum Mechanics: Fabric of the Cosmos - Documentary Subscribe now for more documentaries! Thank you! "The Fabric of the Cosmos," a four-hour series based o...

Local state is harmful

Picture a tradiional webapp. We have a number of stateless workers connected to a stateful, relational database. This is a setup with a number of excellent properties: The database state is also pervasive, mutable and global.

Event Queue · Decoupling Patterns · Game Programming Patterns

Decouple when a message or event is sent from when it is processed. Unless you live under one of the few rocks that still lack Internet access, you’ve probably already heard of an “event queue”. If not, maybe “message queue”, or “event loop”, or “message pump” rings a bell.

Actors are overly nondeterminstic

Actors are useful as a low-level concurrency primitive, but as has been written elsewhere, they aren't the best high level programming model for writing concurrent programs. Let's look at the problems with actors from another angle.

Reactive Extensions (Rx) – Part 1 – Replacing C# Events

For those who have not tried Reactive Extensions (Rx) yet, I highly recommend it. If I had to describe it in a few words it would be ‘Linq to events’. If you have not already learned about it, this is by far the best resource on learning its intricacies.

You don’t have Big Data…

“Big Data”, to para­phrase Douglas Adams, “is Big. You won’t believe how vastly, hugely, mind-bogglingly big it is. I mean you may think there’s a lot of data in Wikipedia but that’s just peanuts to Big Data.

Your API versioning is wrong, which is why I decided to do it 3 different wrong ways

In the end, I decided the fairest, most balanced way was to piss everyone off equally. Of course I’m talking about API versioning and not since the great “tabs versus spaces” debate have I seen so many strong beliefs in entirely different camps. This was just fine.

Migrating from MongoDB to Cassandra

Long long ago (2011) in a Littleton founder’s basement not so far away, the decision was made to use MongoDB as the persistence engine for our Person API product. The idea of the Person API is pretty simple:

This Read-It-Later-list is just that, bookmarks of stuff I intend to read or have read. I do not necessarily agree with opinions or statements in the bookmarked articles.

This list is compiled from my Pocket list.