Skip to content

Instantly share code, notes, and snippets.


Ian Webster typpo

Block or report user

Report or block typpo

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
typpo / textbelt-example.js
Created Sep 10, 2019
Textbelt node example
View textbelt-example.js
var request = require('request');'', {
form: {
phone: '5555555555',
message: 'Hello world',
key: 'textbelt',
}, function(err, httpResponse, body) {
if (err) {
typpo / gist:79bf3e82d81f886d01f14c872b755057
Created Jul 4, 2019
QuickChart/Chart.js transparent radar chart
View gist:79bf3e82d81f886d01f14c872b755057
type: 'radar',
data: {
labels: ['Jan', 'Feb', 'March', 'April', 'May'],
datasets: [{
data: [ 50, 60, 70, 80, 90 ],
backgroundColor: 'transparent',
borderColor: 'red',
typpo / no-gridlines
Last active Jun 14, 2019
Chart.js without gridlines
View no-gridlines
type: 'bar',
data: {
labels: ['January', 'February', 'March', 'April', 'May'],
datasets: [{
label: 'Dogs',
data: [ 50, 60, 70, 180, 190 ]
}, {
label: 'Cats',
data: [ 100, 200, 300, 400, 500 ]
typpo / quickchart.json
Created Jun 5, 2019
QuickChart / Chart.js pie chart without data labels
View quickchart.json
"type": "pie",
"data": {
"labels": [
typpo / orbit.js
Last active Feb 17, 2019
Heliocentric position of object - kepler orbit
View orbit.js
const sin = Math.sin;
const cos = Math.cos;
* Get heliocentric position of object at a given JD.
* @param {Number} jd Date value in JD.
* @return {Array.<Number>} [X, Y, Z] coordinates
getPositionAtTime(jd) {
const eph = this._ephem;
View gist:555f11bfc6ce9ba0e49004c9e5e0b4bd
View async analytics.js
// Create a queue to push events and stub all methods || ( = {});
window.analytics_queue || (window.analytics_queue = []);
(function() {
var methods = ['identify', 'track', 'trackLink', 'trackForm', 'trackClick', 'trackSubmit', 'page', 'pageview', 'ab', 'alias', 'ready', 'group', 'on', 'once', 'off'];
var factory = function(method) {
return function () {
var args =;
typpo / .vimrc
Created Aug 3, 2017
macbook vimrc 2017-08-03
View .vimrc
set nocompatible
filetype indent on
set backspace=indent,eol,start
set cul " cursor line
set cpo+=J
" Exit visual mode without delay.
set timeoutlen=1000 ttimeoutlen=0
typpo /
Created Feb 6, 2017
Mail Forwarding With Mailgun and CloudFlare


Mail Forwarding With Mailgun and CloudFlare

After moving my DNS from Namecheap to CloudFlare I lost the ability to use Namecheap as a mail forwarder. For anyone not sure what that is, essentially it allows you to receive email at and have it automatically forwarded somewhere else (like your personal Gmail account).

So, what I did is leverage a free account with [Mailgun][1] to setup the same thing.

Mailgun Setup

typpo / gist:abc09519d8c7939ebc30762edd80e654
Last active Jan 8, 2017 — forked from mmcgahan/gist:9fa045d98c7c122f1c0b
Handlebars template inheritance - with a bug fix (see handlebars.loadPartial)
View gist:abc09519d8c7939ebc30762edd80e654
# Template composition with inclusion
Every template language I have seen provides some mechanism for one template to include another, thus supporting the reuse of repeated elements like headers and footers. The included templates are called partials in Mustache parlance:
<!-- home.hbs -->
{{> header}}
<p> HOME </p>
{{> footer}}
You can’t perform that action at this time.