Skip to content

Instantly share code, notes, and snippets.


John Lancaster jlank

View GitHub Profile
View docker install
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
sudo apt-key adv --keyserver hkp:// --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
  1. Open the /etc/apt/sources.list.d/docker.list file in your favorite editor. If the file doesn’t exist, create it.
  2. Remove any existing entries. Add:

Keybase proof

I hereby claim:

  • I am jlank on github.
  • I am david_buoy ( on keybase.
  • I have a public key ASBnInN4O0dngJ1-J1FBdba8DVDMG-DiQltbw6XZL29zAQo

To claim this, I am signing this object:

jlank /
Last active Sep 4, 2015 — forked from dergachev/
OS X Screencast to animated GIF

OS X Screencast to animated GIF

This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.

Screencapture GIF


To capture the video (filesize: 19MB), using the free "QuickTime Player" application:

View gist:4f5664a4f8fbb46263fe
sudo apt-get install curl vim git -y && git clone ~/.dotfiles && mkdir -p ~/.vim/{backup,swap}s && . ~/.dotfiles/source_me && cd /vagrant/
jlank / dot
Created Feb 7, 2014
set up me files
View dot
git clone ~/.dotfiles && mkdir -p ~/.vim/{backup,swap}s && . ~/.dotfiles/source_me
jlank / GBP.markdown
Created Jan 29, 2014
A Pen by John Lancaster.
View GBP.markdown


A Great British Pound coin spinning, created with 3D transforms and animation in CSS. I was reminded of old PS1 loading screens, where they just spun the disc forever, and never actually loaded a game. Perhaps that was just my experience.

Webkit only for now, just because.

A Pen by John Lancaster on CodePen.


cd ~
sudo apt-get update
sudo apt-get install openjdk-7-jre-headless curl -y
cd /usr/local/share
sudo wget
sudo tar -xf elasticsearch-0.90.1.tar.gz
sudo rm elasticsearch-0.90.1.tar.gz
sudo mv elasticsearch-* elasticsearch
jlank / gist:5767973
Created Jun 12, 2013
Automatic HTTP OPTIONS for Expressjs routes... place after all other routes. Doesn't fully conform to the protocol spec per: w/r/t the `Max-Forwards` header. Would also like to add helper to automagically render a response body per: ..…
View gist:5767973
app.options('*', function (req, res) {
var path = req.originalUrl;
var allow = [];
for (var opt in app.routes) app.routes[opt].forEach(findRoutes);
function findRoutes (route) {
if (path.match(route.regexp)) allow.push(opt.toUpperCase());
View toString, ValueOf
var a = {
valueOf: function () {
return 100;
toString: function () {
return '__test';
// in this operation
jlank / gist:5021363
Created Feb 23, 2013
starting httpd with puppet
View gist:5021363
file { '/etc/passwd':
owner => 'root',
group => 'root',
mode => '0644',
package { httpd: ensure => installed; }
service { "httpd":
enable => "true",