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:
| ; Comments start with semicolons. | |
| ; Clojure is written in "forms", which are just | |
| ; lists of things inside parentheses, separated by whitespace. | |
| ; | |
| ; The clojure reader assumes that the first thing is a | |
| ; function or macro to call, and the rest are arguments. | |
| ; | |
| ; Here's a function that sets the current namespace: | |
| (ns test) |
| // Defines a yet undocumented method to add a warning if super isn't called. | |
| #ifndef NS_REQUIRES_SUPER | |
| #if __has_attribute(objc_requires_super) | |
| #define NS_REQUIRES_SUPER __attribute((objc_requires_super)) | |
| #else | |
| #define NS_REQUIRES_SUPER | |
| #endif | |
| #endif | |
| @interface UIViewController (SubclassingWarnings) |
| NSString *safe = self.keys.url.port.stringValue; | |
| NSString *unsafe = @"url.port.stringValue"; | |
| assert([safe isEqualToString:unsafe]); |