This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
| # Get IAM Role name from Instance Profile Id | |
| curl http://169.254.169.254/latest/meta-data/iam/info | |
| # Get credentials | |
| curl http://169.254.169.254/latest/meta-data/iam/security-credentials/<role-name> | |
| # More info | |
| http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html | |
| var BatchStream = require('batch-stream2') | |
| var gulp = require('gulp') | |
| var coffee = require('gulp-coffee') | |
| var uglify = require('gulp-uglify') | |
| var cssmin = require('gulp-minify-css') | |
| var bower = require('gulp-bower-files') | |
| var stylus = require('gulp-stylus') | |
| var livereload = require('gulp-livereload') | |
| var include = require('gulp-include') | |
| var concat = require('gulp-concat') |
| Copyright (c) 2015, Shahar Evron | |
| All rights reserved. | |
| Redistribution and use in source and binary forms, with or without modification, | |
| are permitted provided that the following conditions are met: | |
| 1. Redistributions of source code must retain the above copyright notice, this | |
| list of conditions and the following disclaimer. | |
| 2. Redistributions in binary form must reproduce the above copyright notice, |
| # Bulk convert shapefiles to geojson using ogr2ogr | |
| # For more information, see http://ben.balter.com/2013/06/26/how-to-convert-shapefiles-to-geojson-for-use-on-github/ | |
| # Note: Assumes you're in a folder with one or more zip files containing shape files | |
| # and Outputs as geojson with the crs:84 SRS (for use on GitHub or elsewhere) | |
| #geojson conversion | |
| function shp2geojson() { | |
| ogr2ogr -f GeoJSON -t_srs crs:84 "$1.geojson" "$1.shp" | |
| } |
| /* | |
| * parse_link_header() | |
| * | |
| * Parse the Github Link HTTP header used for pageination | |
| * http://developer.github.com/v3/#pagination | |
| */ | |
| function parse_link_header(header) { | |
| if (header.length == 0) { | |
| throw new Error("input must not be of zero length"); | |
| } |
| cd /usr/local/Library/Formula | |
| git checkout 9e18876 tomcat.rb | |
| brew install tomcat |
| '''Provides utility functions for encoding and decoding linestrings using the | |
| Google encoded polyline algorithm. | |
| ''' | |
| def encode_coords(coords): | |
| '''Encodes a polyline using Google's polyline algorithm | |
| See http://code.google.com/apis/maps/documentation/polylinealgorithm.html | |
| for more information. | |