Skip to content

Instantly share code, notes, and snippets.

View ashleydavis's full-sized avatar

Ashley Davis ashleydavis

View GitHub Profile
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
/// <summary>
/// A simple free camera to be added to a Unity game object.
///
/// Keys:
@ashleydavis
ashleydavis / example-vega-lite-chart.json
Created August 10, 2017 10:08
Example vega-lite chart with two time series and multiple layers.
{
"$schema": "https://vega.github.io/schema/vega-lite/v2.json",
"data": {
"url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
},
"layer": [
{
"mark": "line",
"encoding": {
"x": {
@ashleydavis
ashleydavis / example-vega-lite-chart-with-second-series-on-the-right.vl.json
Created August 11, 2017 01:33
Example vega-lite chart with two time series and multiple layers - the second Y axis is moved to the right hand side of the chart.
{
"$schema": "https://vega.github.io/schema/vega-lite/v2.json",
"data": {
"url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
},
"layer": [
{
"mark": "line",
"encoding": {
"x": {
@ashleydavis
ashleydavis / example-vega-lite-chart-with-series-that-have-different-scales.vl.json
Last active March 22, 2019 14:12
An example vega lite chart with two series that have two different scales. This shows a problem that the scales aren't independent.
{
"$schema": "https://vega.github.io/schema/vega-lite/v2.json",
"layer": [
{
"data": {
"url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
},
"mark": "line",
"encoding": {
"x": {
@ashleydavis
ashleydavis / example-vega-lite-chart-with-independent-y-axis.json
Created August 21, 2017 05:11
Example vega-lite chart with independent y axis'
{
"$schema": "https://vega.github.io/schema/vega-lite/v2.json",
"layer": [
{
"data": {
"url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
},
"mark": "line",
"encoding": {
"x": {
@ashleydavis
ashleydavis / grademark-first-example.md
Last active December 24, 2018 23:12
This notebook exported from Data-Forge Notebook is an example trading strategy that demonstrates the grademark API for backtesting financial trading strategies.

Grademark mean reversion example

This notebook demonstrate backtesting of very simple mean reversion trading strategy.

It uses the Grademark JavaScript API for backtesting.

For a version of this code runnable on Node.js - please see the Grademark first example repo.

To keep up with what I'm doing checkout my blog or YouTube channel.

@ashleydavis
ashleydavis / server.js
Created December 7, 2018 00:17 — forked from bencentra/server.js
An HTTPS server for static content (Node.js)
/*
This module creates an HTTPS web server and serves static content
from a specified directory on a specified port.
To generate a new cert:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
To remove the passphrase requirement:
@ashleydavis
ashleydavis / event-source.ts
Created January 15, 2019 06:12
C# style events in JavaScript
// https://stackoverflow.com/a/15964759/25868
export type BasicEventHandler = () => void;
export type SenderEventHandler<SenderT> = (sender: SenderT) => void;
//
// Simulate C# style events in JS.
//
export interface IEventSource<HandlerType extends Function> {
//
@ashleydavis
ashleydavis / prototype.ts
Last active March 5, 2019 08:06
A prototype multi-core task processing API
/*
This a prototype / pseudo-code in TypeScript for a new multi-core task scheduler that I'm planning to open source.
This is based on my earlier private code that I've used to munge masses of stock market data and also talked about in my
book Data Wrangling with JavaScript.
To give me private feedback on this please email me on ashley@codecapers.com.au.
The basic premise of this is that we can split up a complex data processing job into mulitple 'tasks' each of
which can potentially run in parallel on a multi-core machine.
[
{
"ORDERNUMBER": 10107,
"QUANTITYORDERED": 30,
"PRICEEACH": 95.7,
"ORDERLINENUMBER": 2,
"SALES": 2871,
"ORDERDATE": "2/24/2003 0:00",
"STATUS": "Shipped",
"QTR_ID": 1,