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. »

Data Wrangling with JavaScript: Printed!

The world of data is big and it can be difficult to navigate it on your own. With data all around us growing at an ever-increasing rate, it's more important than ever that we can deal with data effectively and efficiently to support our businesses and our customers, to be able to monitor and understand our processes and enable faster and better decision-making. »

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. »

Data-Forge Plot update 2

Another quick update on my progress developing Data-Forge Plot (DFP). The API has recently evolved but is remains relatively stable, although there are still features I must add to it. I'm sure it will continue to evolve as I integrate new visualization libraries and expand the API. The main thing I have done recently is to extract and restructure the export and capture code, which I talk about in this post. »

Data-Forge Plot update

Just a quick update of my progress developing Data-Forge Plot. The API has evolved a little bit and so has my thinking around it. I've also started adding examples and unit tests. »

A conversation with Athan Reines

This is the transcript of a conversation I had recently with Athan Reines, co-creator of the JavaScript stdlib library. We talked about why Athan created the library, why he needs to do scientific computing in JavaScript and the difficulties he has encountered. We also discussed the state of data science in the JavaScript ecosystem and how far off we are from equalling Python and what it would take for us to catch up. »

Introducing Data-Forge Plot!

Over the past couple of weeks I've prototyped a new API for plotting in JavaScript. You might rightly wonder why I've done this? Surely there's already enough JavaScript visualization libraries in the wild? »

Data-Forge v1 is away!

I have some big news. I've just published Data-Forge version 1 to npm! After over 2.5 years, 1,148 commits and 2 Github repositories it's finally here, and now rewritten in TypeScript no less! This software has been in gestation for sometime. »

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#. »