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:
| module LL { | |
| ghost predicate distinct<T(==)>(items: seq<T>) { | |
| forall i,j :: 0<= i < j < |items| && i!=j ==> items[i] != items[j] | |
| } | |
| class Node { | |
| var data: int | |
| var next: Node? | |
| ghost var footprint: set<object> | |
| ghost var ancestorRepr: set<Node> |
| abstract module Group { | |
| type T(==) | |
| const elems : set<T> | |
| function identity(): (r: T) | |
| ensures r in elems | |
| ensures forall a :: a in elems ==> compose(a, r) == a && compose(r, a) == a | |
| function compose(a: T, b: T): (r: T) | |
| requires a in elems && b in elems | |
| ensures r in elems | |
| function inverse(a: T) : (r: T) |
| ------------------------------- MODULE mutex ------------------------------- | |
| EXTENDS Integers, FiniteSets, Sequences, TLC | |
| CONSTANTS threadcount, maxiterations | |
| ASSUME threadcount \in Nat | |
| (*--algorithm mutex | |
| \* https://disco.ethz.ch/courses/podc_allstars/lecture/chapter5.pdf | |
| \* Algorithm 5.3 Mutual Exclusion: Test-and-Set | |
| variables | |
| R = 0, | |
| X = 0; |
| https://github.com/lambdaconf/advanced-fp-in-scala | |
| https://github.com/data61/fp-course | |
| https://github.com/jdegoes/intro-to-ps | |
| https://github.com/safareli/talks | |
| https://github.com/coot/routing-with-cofree-comonad | |
| https://kvalle.github.io/diy-lang/slides/#1 | |
| https://github.com/kvalle/diy-lang | |
| https://github.com/data61/lets-lens | |
| https://github.com/gavwhela/lc2017-slides | |
| https://github.com/gavwhela/lc2017 |
| class Memory { | |
| data: number[]; | |
| constructor(data: number[]) { | |
| } | |
| set_location(location: number, value: number): Memory { | |
| } | |
| get_location(location: number): number { |
| autoconf: running /usr/bin/autom4te --verbose --force --language=autoconf --output=configure configure.ac | |
| autom4te: the trace request object is: | |
| autom4te: $VAR1 = bless( [ | |
| autom4te: '0', | |
| autom4te: 0, | |
| autom4te: [ | |
| autom4te: '/usr/share/autoconf' | |
| autom4te: ], | |
| autom4te: [ | |
| autom4te: '/usr/share/autoconf/autoconf/autoconf.m4f', |
| OASISFormat: 0.4 | |
| OCamlVersion: >= 4.02.0 | |
| Name: phonedb | |
| Version: 0.1 | |
| Maintainers: test | |
| Homepage: test | |
| Synopsis: Some short description | |
| Authors: [email protected] | |
| License: BSD-3-clause | |
| Plugins: META (0.4), DevFiles (0.4) |