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:
| # Video: http://rubyhoedown2008.confreaks.com/08-chris-wanstrath-keynote.html | |
| Hi everyone, I'm Chris Wanstrath. | |
| When Jeremy asked me to come talk, I said yes. Hell yes. Immediately. But | |
| then I took a few moments and thought, Wait, why? Why me? What am I supposed | |
| to say that's interesting? Something about Ruby, perhaps. Maybe the | |
| future of it. The future of something, at least. That sounds | |
| keynote-y. | |
| #!/usr/local/bin/ruby | |
| require "hpricot" | |
| require "net/http" | |
| require "uri" | |
| TUMBLR_USER = "[email protected]" | |
| TUMBLR_PASS = "thepasswordlol" | |
| TUMBLR_DOMAIN = "mytumblrsubdomain.tumblr.com" | |
| ORIGINAL_DOMAIN = "http://myoriginaldomain.example.com/" |
| #! /bin/sh | |
| ### BEGIN INIT INFO | |
| # Provides: mongodb | |
| # Required-Start: $all | |
| # Required-Stop: $all | |
| # Default-Start: 2 3 4 5 | |
| # Default-Stop: 0 1 6 | |
| # Short-Description: starts the mongodb data-store | |
| # Description: starts mongodb using start-stop-daemon |
| $.fn.extend | |
| myplugin: (options) -> | |
| self = $.fn.myplugin | |
| opts = $.extend {}, self.default_options, options | |
| $(this).each (i, el) -> | |
| self.init el, opts | |
| self.log el if opts.log | |
| $.extend $.fn.myplugin, | |
| default_options: |
| function historySupport() { | |
| return !!(window.history && window.history.pushState !== undefined); | |
| } | |
| function pushPageState(state, title, href) { | |
| if (historySupport()) { | |
| history.pushState(state, title, href); | |
| } | |
| } |
| // On the page specific file: | |
| // "<controller_name>.js", and you import it after the init.js on your application.js | |
| // Replace the <controller_name> with the actual name | |
| RELASPHERE.<controller_name> = { | |
| init: function() { | |
| // Your shared code for the whole controller goes here | |
| }, | |
| index: function() { | |
| // Your code for the index page goes here |
| class PostsController < ActionController::Base | |
| def create | |
| Post.create(post_params) | |
| end | |
| def update | |
| Post.find(params[:id]).update_attributes!(post_params) | |
| end | |
| private |
| <!doctype html> | |
| <!-- http://taylor.fausak.me/2015/01/27/ios-8-web-apps/ --> | |
| <html> | |
| <head> | |
| <title>iOS 8 web app</title> | |
| <!-- CONFIGURATION --> |
| require 'octokit' | |
| require 'csv' | |
| require 'date' | |
| # Github credentials to access your private project | |
| USERNAME="USER_NAME" | |
| PASSWORD="SEKRIT" | |
| # Project you want to export issues from | |
| USER="REPO_OWNER" | |
| PROJECT="REPO_NAME" |