Skip to content

Instantly share code, notes, and snippets.

View perry-mitchell's full-sized avatar

Perry Mitchell perry-mitchell

View GitHub Profile
@perry-mitchell
perry-mitchell / imgcat_remote
Created February 20, 2016 13:32
Remote download (wget) of images for printing
#!/bin/bash
# adapted from: https://raw.githubusercontent.com/gnachman/iTerm2/master/tests/imgcat
# tmux requires unrecognized OSC sequences to be wrapped with DCS tmux;
# <sequence> ST, and for all ESCs in <sequence> to be replaced with ESC ESC. It
# only accepts ESC backslash for ST.
function print_osc() {
if [[ $TERM == screen* ]] ; then
printf "\033Ptmux;\033\033]"
function promiseAllTimeout(promises, timeout, resolvePartial=true) {
return new Promise(function(resolve, reject) {
let results = [],
finished = 0,
numPromises = promises.length;
let onFinish = function() {
if (finished < numPromises) {
if (resolvePartial) {
(resolve)(results);
} else {

Keybase proof

I hereby claim:

  • I am perry-mitchell on github.
  • I am perrymitchell (https://keybase.io/perrymitchell) on keybase.
  • I have a public key ASAT5ktEnnlyXr6Bf22lUsboAkqfS-jZuaMMvmdrh7qpXgo

To claim this, I am signing this object:

@perry-mitchell
perry-mitchell / ecdh_iocane.js
Created November 12, 2016 16:19
ECDH key exchange with AES encryption using iocane
// To use this, you will need to `npm install iocane`!
const crypto = require("crypto");
let aliceECDH = crypto.createECDH("secp256k1");
aliceECDH.generateKeys();
let alicePublicKey = aliceECDH.getPublicKey(null, "compressed"),
alicePrivateKey = aliceECDH.getPrivateKey(null, "compressed");
@perry-mitchell
perry-mitchell / .hyper.js
Created November 21, 2016 08:04
Hyperterm config 2016-11-21
module.exports = {
config: {
// default font size in pixels for all tabs
fontSize: 12,
// font family with optional fallbacks
fontFamily: 'Menlo, "DejaVu Sans Mono", "Lucida Console", monospace',
// terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk)
cursorColor: 'rgba(248,28,229,0.8)',
@perry-mitchell
perry-mitchell / split-semver.js
Created December 1, 2016 06:30
Semver splitting
"use strict";
const VALID_SEMVER = /^(\d+\.\d+\.\d+)(-[a-z1-9][a-z0-9]*(?:\.[a-z0-9]+)*)*(\+[a-z0-9]+(?:\.[a-z0-9]+)*)*$/i
let lib = module.exports = {
splitVersion: function(ver) {
let [,
version,
prerelease,
@perry-mitchell
perry-mitchell / .babelrc
Last active April 28, 2017 19:26
Webpack 2 + inject-loader 2
{
"presets": "es2015"
}
@perry-mitchell
perry-mitchell / .babelrc
Last active December 4, 2016 13:09
Webpack 2 + inject-loader 3
{
"presets": "es2015"
}
@perry-mitchell
perry-mitchell / .babelrc
Created December 6, 2016 19:01
Webpack2 + inject-loader2.0.1 (blog post)
{
"env": {
"testing": {
"presets": [
"es2015"
]
}
},
"presets": [
["es2015", { "modules": false }]