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:
| #!/usr/bin/env python | |
| # encoding: utf-8 | |
| """ | |
| Mailer.py | |
| Created by Robert Dempsey on 11/07/14. | |
| Copyright (c) 2014 Robert Dempsey. All rights reserved. | |
| """ | |
| import sys | |
| import os | 
| // | |
| // UIView+CustomTimingFunction.h | |
| // Instants | |
| // | |
| // Created by Christian Giordano on 16/10/2013. | |
| // Copyright (c) 2013 Christian Giordano. All rights reserved. | |
| // | |
| #import <UIKit/UIKit.h> | 
| #!/usr/bin/env python | |
| """ | |
| from https://gist.github.com/JoeGermuska/561347 | |
| Like cut, but for CSVs. To be used from a shell command line. | |
| Note that fields are 1-based, similar to the UNIX 'cut' command. | |
| Should use something better than getopt, but this works... | |
| Usage: | 
| // Use Gists to store code you would like to remember later on | |
| console.log(window); // log the "window" object to the console | 
| // From this stackoverflow answer: http://stackoverflow.com/a/24607116/468310 | |
| private Uri getUriForDataItem() { | |
| // If you've put data on the local node | |
| String nodeId = getLocalNodeId(); | |
| // Or if you've put data on the remote node | |
| // String nodeId = getRemoteNodeId(); | |
| // Or If you already know the node id | |
| // String nodeId = "some_node_id"; | |
| return new Uri.Builder().scheme(PutDataRequest.WEAR_URI_SCHEME).authority(nodeId).path("/path_to_data").build(); | 
| //I had a need to use a different app delegate in Convene’s XCTest suite today, so I took the time to figure out how to do it. Quite simple really: | |
| //Switch your main.m to: | |
| @autoreleasepool { | |
| BOOL runningTests = NSClassFromString(@"XCTestCase") != nil; | |
| if (!runningTests) { | |
| return UIApplicationMain(argc, argv, nil, NSStringFromClass([CVNAppDelegate class])); | |
| } else { | |
| return UIApplicationMain(argc, argv, nil, @"CVNTestAppDelegate"); | 
| # Mac OS X clutter | |
| *.DS_Store | |
| # Windows clutter | |
| Thumbs.db | |
| # built application files | |
| *.apk | |
| *.ap_ | 
| package my.app; | |
| import android.graphics.Paint; | |
| import android.graphics.Typeface; | |
| import android.text.TextPaint; | |
| import android.text.style.TypefaceSpan; | |
| public class CustomTypefaceSpan extends TypefaceSpan { | |
| private final Typeface newType; | 
| import android.content.Context; | |
| import android.database.Cursor; | |
| import android.support.v4.content.AsyncTaskLoader; | |
| /** | |
| * Used to write apps that run on platforms prior to Android 3.0. When running | |
| * on Android 3.0 or above, this implementation is still used; it does not try | |
| * to switch to the framework's implementation. See the framework SDK | |
| * documentation for a class overview. | |
| * |