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:
| // Copyright (c) 2012 Calvin Rien | |
| // http://the.darktable.com | |
| // | |
| // This software is provided 'as-is', without any express or implied warranty. In | |
| // no event will the authors be held liable for any damages arising from the use | |
| // of this software. | |
| // | |
| // Permission is granted to anyone to use this software for any purpose, | |
| // including commercial applications, and to alter it and redistribute it freely, | |
| // subject to the following restrictions: |
| -- Exercise: prove Peirce’s law <=> law of excluded middle in Haskell | |
| {-# LANGUAGE Rank2Types #-} | |
| import Data.Void | |
| type Not a = a -> Void | |
| type Peirce = forall a b. ((a -> b) -> a) -> a | |
| type LEM = forall a. Either (Not a) a |
| function __prompt_duration | |
| if test $CMD_DURATION | |
| if test $CMD_DURATION -ge 8000 | |
| set_color white | |
| echo -esn ' ~> duration: ' | |
| set_color yellow | |
| echo -es $CMD_DURATION ' ms' | |
| set_color normal | |
| if hash terminal-notifier ^ /dev/null | |
| echo -es 'Finished in ' $CMD_DURATION ' ms' | terminal-notifier |
| function f | |
| set -l glob name "hello" | |
| # for comment case | |
| if something_true | |
| do_the_thing | |
| end | |
| begin; do_not_ignore_inliners; end | |
| begin; echo "1"; end; begin; echo "2"; end |
| using UnityEngine; | |
| namespace Assets.Phunk.Core | |
| { | |
| public static class Log | |
| { | |
| #region Error | |
| public static void ErrorFormat(UnityEngine.Object context, string template, params object[] args) | |
| { | |
| var message = string.Format(template, args); |
| { | |
| /* Keybindings for emacs emulation. Compiled by Jacob Rus. | |
| * | |
| * This is a pretty good set, especially considering that many emacs bindings | |
| * such as C-o, C-a, C-e, C-k, C-y, C-v, C-f, C-b, C-p, C-n, C-t, and | |
| * perhaps a few more, are already built into the system. | |
| * | |
| * BEWARE: | |
| * This file uses the Option key as a meta key. This has the side-effect | |
| * of overriding Mac OS keybindings for the option key, which generally |
| (defun projectile-replace-regexp () | |
| "Replace a string in the project using `tags-query-replace'. | |
| Less efficient than `projectile-replace' but at least allows | |
| usage of regular expressions. See | |
| https://github.com/bbatsov/projectile/issues/576 for more details | |
| on `projectile-replace' issue with regexps." | |
| (interactive "P") | |
| (let* ((old-text (read-string | |
| (projectile-prepend-project-name "Replace: ") | |
| (projectile-symbol-or-selection-at-point))) |
I hereby claim:
To claim this, I am signing this object: