A 4-line shell script to convert your movies into gifs. Defaults to 10fps, 700px wide.
WIDTH=420 FPS=12 togif input.mov
You'll need to have ffmpeg installed -- on mac, you can do this with brew
:
brew install ffmpeg
A 4-line shell script to convert your movies into gifs. Defaults to 10fps, 700px wide.
WIDTH=420 FPS=12 togif input.mov
You'll need to have ffmpeg installed -- on mac, you can do this with brew
:
brew install ffmpeg
import * as Govern from 'govern' | |
import axios, { AxiosInstance, AxiosResponse, AxiosRequestConfig } from 'axios' | |
export interface HTTPOperation<Success = any, Rejection = any> { | |
hasEnded: boolean | |
isBusy: boolean | |
wasCancelled: boolean | |
wasSuccessful: boolean | |
wasRejected: boolean |
<body> | |
<style> | |
body { | |
background-color: black; | |
overflow: hidden; | |
} | |
.firework { | |
top: 0; | |
left: 0; |
<body> | |
<style> | |
body { | |
/* background-color: rgb(195, 226, 224); */ | |
background-color: black; | |
overflow: hidden; | |
} | |
.petal { | |
position: absolute; |
<style> | |
body { | |
background-color: black; | |
} | |
.dot { | |
position: absolute; | |
top: 50%; | |
left: 50%; | |
} |
<link href="https://fonts.googleapis.com/css?family=Squada+One&display=swap" rel="stylesheet"> | |
<style> | |
body { | |
background-color: black; | |
} | |
h1 { | |
color: #EEE; | |
font-family: 'Squada One', cursive; | |
font-size: 60px; |
const PurgeDelay = 1000 | |
class Model { | |
fetcher: (id: string) => Promise<any> | |
cache = {} | |
callbacks = {} | |
holds = {} | |
purgeTimeouts = {} |
const requests = {} | |
export const createSubscribe = (asyncFn) => { | |
return subscribeToData = (params, onUpdate) => { | |
onUpdate('pending') | |
const key = JSON.stringify(params) | |
const request = requests[key] | |
if (!request) { | |
request = requests[key] = { |
export default class BlackTriangle { | |
constructor(selector) { | |
this.angle = 0; | |
this.innerEl = document.querySelector(selector).querySelector('.BlackTriangle-inner'); | |
} | |
rotate(amount) { | |
this.angle = (this.angle + amount) % 360; | |
} |
const CombinedStream = require('combined-stream2'); | |
function concatStringsAndStreams(strings, ...args) { | |
let combinedStream = CombinedStream.create() | |
combinedStream.append(Buffer.from(strings[0], 'utf8')) | |
for (let i = 0; i < args.length; i++) { | |
let arg = args[i] | |
let string = strings[i+1] | |
if (arg && arg.pipe) { | |
combinedStream.append(arg) |