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:
| require 'fileutils' | |
| class Ruby2Pack | |
| attr_reader :source_path, :ruby_version, :platform, :rel, :output_path | |
| def initialize(source_path:, ruby_version:, platform:, rel:) | |
| @source_path = source_path | |
| @ruby_version = ruby_version | |
| @platform = platform | |
| @rel = rel |
| #lang racket/base | |
| ; One way to define a logger | |
| (define lg (make-logger 'my-logger)) | |
| ; Define a receiver for this logger, along with a log level | |
| (define rc (make-log-receiver lg 'error)) ; also try with 'debug | |
| ; Another way to define a logger, with additional forms | |
| (define-logger lg2) | |
| (define rc2 (make-log-receiver lg2-logger 'debug)) |
| <template> | |
| <div id="app"> | |
| <router-view></router-view> | |
| <div class="refresh-container" v-if="hashChanged && $root.env !== 'development'"> | |
| <div class="notification-header"> | |
| <button type="button" class="close-refresh-modal" @click="closeModal" aria-label="Close"> | |
| <span aria-hidden="true"><i class="fal fa-times fa-sm"></i></span> | |
| </button> | |
| </div> | |
| <div class="notification-body"> |
| import axios from 'axios'; | |
| export const refreshPageMixin = { | |
| data() { | |
| return { | |
| currentHash: '{{POST_BUILD_ENTERS_HASH_HERE}}', | |
| token: localStorage.getItem('user-token'), | |
| hashChanged: false, | |
| newHash: '' | |
| } |
| { | |
| "scripts": { | |
| "build": "node build/build.js && npm run post:build", | |
| "post:build": "node build/post-build.js" | |
| }, | |
| } |
| const path = require('path'); | |
| const fs = require('fs'); | |
| const util = require('util'); | |
| // get application version from package.json | |
| const appVersion = require('../package.json').version; | |
| // promisify core APIs | |
| const readDir = util.promisify(fs.readdir); | |
| const writeFile = util.promisify(fs.writeFile); |
| #!/usr/bin/env bash | |
| set -e | |
| # Uninstall Java 9 off the bat, so we can fix our local installation | |
| if brew cask ls --versions "java" &>/dev/null; then | |
| echo "Uninstalling Java" | |
| brew cask uninstall java | |
| fi | |
| # Install jenv, java8 and java9 | |
| brew install jenv | |
| brew cask install caskroom/versions/java8 |
| #! /bin/bash | |
| ###################### USAGE ###################################### | |
| usage() { | |
| echo " | |
| Usage: mongotos3 [-t n] mongo_host mongo_collection s3_bucket | |
| -t : number of parallel processes to use | |
| mongo_host : the host of the mongodb server | |
| mongo_collection : the collection to collecthe gridfs data from | |
| s3_bucket : the name of the bucket you want to cp the files to | |
| " |
| const a = new Set([1, 2, 3, 4, 4, 4]) | |
| const b = new Set([3, 4, 5, 6]) | |
| const intersect = (set1, set2) => [...set1].filter(num => set2.has(num)) | |
| const differ = (set1, set2) => [...set1].filter(num => !set2.has(num)) | |
| const joinSet = (set1, set2) => [...set1, ...set2] | |
| const myIntersectedSet = new Set(intersect(a, b)) | |
| console.log('myIntersectedSet', myIntersectedSet) |