The writings of Ashley Davis on coding, data, visualization, microservices, game dev or whatever is exciting at the moment

Microservices for startups, part 1

Startups can use microservices. Sortal is living proof. In this blog post I describe the microservices architecture behind Sortal, why we couldn't do without microservices and how as a startup we bootstrapped microservices in a cost effective way. »

Node.js memory limits

Node.js has memory limitations that you can hit quite easily in production. You'll know this if you ever tried to load a large data file into your Node.js application. But where exactly are the limits of memory in Node.js? In this short post we'll push Node.js to it's limits to figure out where those limits are. We'll also cover some practical techniques you can use to work around the memory limitations and get your data to fit into memory. »

Node.js chart rendering with C3 and Nightmare

I've been doing a lot of data analysis in JavaScript. It makes sense for me to work in JavaScript, because I already use it and that's where my visualizations normally end up. JavaScript has a very rich ecosystem of visualization libraries so that's not surprising. All these visualization libraries are browser based... which is great if that's where you want your visualization to be. It's not so great if you just want to render a chart to an image, say to store for later or to include in some kind of report. »

Threads, promises and Unity

Are you interested in using threads with Unity? Wondering what promises, if anything, have to do with threads? In this post I answer an interesting question from Morgan Moon of Cerebus Interactive about the C# promise library, threads and Unity. I've been wanting to talk about threads for a while, so let's get into it. »

Intraday price alert

Are you interested in stock trading but don't have time to watch prices all day? Why stare at the screen for hours on end when you can automate this kind of thing. This post talks about a small app I created to continuously and automatically detect when the price of particular companies have risen to specified levels. »

Linear regression

Linear regression is a technique that is very useful when analysing the trajectory of a stock. In this post I'll show how to compute and render a linear regression trend line. »

Average true range

Average true range is an indicator that is useful for judging the volatility of a stock. I use this to set the level for my stop loss orders. In this post I'm going to show how to calculate and visualise average true range in JavaScript. »

Highstock + Data-Forge + Yahoo

In this first post on The Data Wrangler I show how to visualise financial data from the Yahoo API using Data-Forge and Highstock. I also demonstrate how to apply a simple moving average to the price data. »

Dependency injection for Unity - Part 2: What does dependency injection replace?

Have you ever struggled to keep a game or application working as it evolves and as the complexity ramps up? Software is composed of a suite of interacting components that are wired together in a particular way. As the number of interacting components grows the wiring and the number of connections between components grows exponentially (a phenomenon known as Metcalfe's law). »

Dependency injection for Unity - Part 1: About dependency injection

Have you ever struggled to keep a game or application working as it evolves and as the complexity ramps up? Software is composed of a suite of interacting components that are wired together in a particular way. As the number of interacting components grows the wiring and the number of connections between components grows exponentially (a phenomenon known as Metcalfe's law). »

Scene query recipes for Unity

There are times when you need to search the Unity hierarchy for particular game objects. Often you need to find them by name, tag or component type. I have found that on occasion I've wanted to wanted a more expressive and flexible way of finding game objects. Some years ago when I was attempting to improve my skills in CSS hackery I made an important connection. »

Unity and DLLs

In my previous article I talked about Unity and Visual Studio: using Visual Studio to edit and maintain your Unity code. In that article I talked about working with source code directly in your Unity project. »

Unity and Visual Studio

Introduction This article will help get you started using Visual Studio 2015 in combination with Unity 5.2. If you already know how to do that then this article isn't for you. »

Creating a native Android plugin for Unity3d

Introduction This short article is a guide to creating a plugin to access the Android API from Unity3d. This is aimed at intermediate developers. You should be comfortable using the command line. You should be familiar with C#, Unity3d development and the Unity Editor. We'll gloss over some Java code, it won't be difficult if you already know C#. »