Skip to content

Instantly share code, notes, and snippets.

Avatar

K Adam White kadamwhite

View GitHub Profile
@kadamwhite
kadamwhite / korosawa.sh
Created Sep 11, 2020
A shell script to add "Kurosawa mode" (as implemented in the videogame Ghost of Tsushima) to your webcam, tested with a Logitech c920 on Ubuntu. Run "bash kurosawa.sh on" or make it an executable and run `kurosawa on` to activate high-contrast black-and-white; run with "off" to disable/reset.
View korosawa.sh
#!/usr/bin/env bash
MODE="$1"
if [ $MODE = "on" ]; then
v4l2-ctl -d /dev/video0 --set-ctrl=saturation=0,contrast=190,brightness=105
elif [ $MODE = "off" ]; then
v4l2-ctl -d /dev/video0 --set-ctrl=saturation=128,contrast=128,brightness=120
fi
@kadamwhite
kadamwhite / convert-to-gif
Created Mar 9, 2020
Gif conversion script
View convert-to-gif
#!/usr/bin/env node
/*
This script will clip a segment of a video file into a gif, using techniques
described in these resources:
https://engineering.giphy.com/how-to-make-gifs-with-ffmpeg/
https://video.stackexchange.com/questions/4563/how-can-i-crop-a-video-with-ffmpeg
https://askubuntu.com/questions/648603/how-to-create-an-animated-gif-from-mp4-video-via-command-line
https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo
View rotary-bar-chart.pde
float fillColor;
void setup() {
size(300, 200);
background(255, 255, 255);
fill(0, 0, 0);
// Draw one bar graph on the left, starting from the bottom and working clockwise
//===============================================================================
@kadamwhite
kadamwhite / store-provider.test.tsx
Created Dec 10, 2019
TypeScript Gutenberg connected component test
View store-provider.test.tsx
import React from 'react';
import { render, cleanup, fireEvent } from '@testing-library/react';
import { useSelect, useDispatch } from '@wordpress/data';
import '@testing-library/jest-dom/extend-expect';
import { storeProvider } from '../store-provider';
describe('storeProvider', () => {
afterEach(cleanup);
View .bach_profile
Johann Sebastian Bach (31 March [O.S. 21 March] 1685 – 28 July 1750) was
a German composer and musician of the Baroque period. He enriched established
German styles through his skill in counterpoint, harmonic and motivic
organisation, and the adaptation of rhythms, forms, and textures from abroad,
particularly from Italy and France. Bach's compositions include the Brandenburg
Concertos, the Goldberg Variations, the Mass in B minor, two Passions, and over
three hundred sacred cantatas of which nearly two hundred survive. His music
is revered for its technical command, artistic beauty, and intellectual depth.
http://en.wikipedia.org/wiki/Johann_Sebastian_Bach
@kadamwhite
kadamwhite / access-vscode-extension-list.md
Last active May 8, 2019
Visual Studio Code Preferences
View access-vscode-extension-list.md

From Joe M, "you can get your current extensions list by typing code --list-extensions in CLI" His list:

alefragnani.Bookmarks
annsk.alignment
dbaeumer.vscode-eslint
donjayamanne.githistory
eamodio.gitlens
EditorConfig.EditorConfig
eg2.vscode-npm-script
@kadamwhite
kadamwhite / dashed_rectangle.pde
Last active Apr 24, 2019
Dashed Rectangle (Processing)
View dashed_rectangle.pde
import processing.pdf.*;
//boolean saveOneFrame = false;
int randomInt( int min, int max ) {
return floor( random( min, max ) );
}
void dashedHorizontalLine( int x1, int y1, int x2, int y2 ) {
if ( y1 != y2 ) {
@kadamwhite
kadamwhite / invader.css
Created Sep 5, 2012
Pure-CSS Space Invader
View invader.css
/**
* Pure-CSS Space Invader, adapted to a 2px pixel size from
* the original example at CSS-Tricks "The Shapes of CSS"
*
* @link: http://css-tricks.com/examples/ShapesOfCSS/
*/
.invader {
box-shadow:
-4px -2px white, 4px -2px white,
@kadamwhite
kadamwhite / api-testbed.js
Last active Mar 18, 2019
wpapi lightweight testbed
View api-testbed.js
/* eslint-disable no-console */
/**
* A little module that adds a wpapi() method to the window object.
*
* wpapi() takes an API path (e.g. /wp/v2/posts), optionally containing string query parameters,
* or a query-less API path and a hash object of query param objects.
*/
( context => {
const { root, nonce } = context.WP_API_Settings;
View Thing.js
var { convert, svgify } = (() => {
function sum( collection, prop ) {
return collection.reduce( ( sum, item ) => sum + item[prop], 0 );
}
function testEq( a, b ) {
if ( a !== b ) {
throw new Error( `Expected ${ a } to equal ${ b }` );
}
}
You can’t perform that action at this time.