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

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