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:
| require 'goliath' | |
| class Echo < Goliath::API | |
| use Goliath::Rack::Params | |
| use Goliath::Rack::Validation::RequiredParam, {:key => 'delay'} | |
| def response(env) | |
| EM::Synchrony.sleep params['delay'] | |
| [200, {}, params['delay']] | |
| end | 
| from fabric.api import * | |
| """ | |
| Base configuration | |
| """ | |
| env.project_name = '$(project)' | |
| env.database_password = '$(db_password)' | |
| env.site_media_prefix = "site_media" | |
| env.admin_media_prefix = "admin_media" | |
| env.newsapps_media_prefix = "na_media" | 
| require "openssl" | |
| require "net/smtp" | |
| Net::SMTP.class_eval do | |
| private | |
| def do_start(helodomain, user, secret, authtype) | |
| raise IOError, 'SMTP session already started' if @started | |
| check_auth_args user, secret, authtype if user or secret | |
| sock = timeout(@open_timeout) { TCPSocket.open(@address, @port) } |