Skip to content

Instantly share code, notes, and snippets.

Nathan Rajlich TooTallNate

Block or report user

Report or block TooTallNate

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@TooTallNate
TooTallNate / now-files.sh
Last active Apr 16, 2020
Uploads a single file as a Now deployment
View now-files.sh
#!/bin/bash
set -euo pipefail
input="$1"
shift
files_dir="$HOME/files"
mkdir -p "$files_dir"
# Delete old files
rm -f "$files_dir"/*
@TooTallNate
TooTallNate / convert_to_hevc.sh
Last active Mar 24, 2020
Transcodes input video file to use the h265/HEVC codec
View convert_to_hevc.sh
#!/bin/bash
# Transcodes input video file to use the h265/HEVC codec.
# Outputs the same filename but with x264/h264/xvid/etc. replaced with HEVC.
sed=sed
if type gsed >/dev/null 2>&1; then
sed=gsed
fi
get_streams() {
@TooTallNate
TooTallNate / on-macos.txt
Created Feb 11, 2020
Does anyone know why this script takes >2s to receive the `error` event on Windows? On MacOS it's essentially instant…
View on-macos.txt
$ time node slow-windows-error.js
Error: connect ECONNREFUSED 127.0.0.1:4
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1134:16) {
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 4
}
View add.sh
add() {
expr "$1" + "$2"
}
@TooTallNate
TooTallNate / test.sh
Created Aug 15, 2018
Running `shakedown` HTTP unit tests through `import`
View test.sh
#!/usr/bin/env bash
eval "`curl -sfLS import.pw`"
import "import.pw/robwhitby/shakedown" # load the framework
shakedown GET /foo # make a GET request
status 404 # assert on http status code
content_type 'text/html' # assert Content-Type header contains string
contains 'Not found' # assert body contains string
matches 'No.*' # assert body matches regex
@TooTallNate
TooTallNate / test.sh
Created Aug 14, 2018
Running `shunit2` shell script tests through `import`
View test.sh
#!/bin/sh
testEquality() {
assertEquals 1 2
}
# Load shUnit2.
eval "`curl -sfLS import.pw`"
import "import.pw/kward/shunit2"
@TooTallNate
TooTallNate / Dockerfile
Created Jul 17, 2018
Node.js + Dockerfile
View Dockerfile
# This is the "base image" which contains Alpine Linux and Node.js v10.x.x preinstalled
FROM mhart/alpine-node:10
# Use the `NPM_TOKEN` build arg to create the `~/.npmrc` file
ARG NPM_TOKEN
RUN echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/.npmrc
# Set the working direcrory to `/usr/src`
WORKDIR /usr/src
@TooTallNate
TooTallNate / add.sh
Created Jun 23, 2018
Basic "add" function for bash, for demonstration purposes
View add.sh
add() {
echo "$(( $1 + $2 ))"
}
@TooTallNate
TooTallNate / jsfunc.sh
Created Jun 20, 2018
Write JavaScript functions - use as bash functions
View jsfunc.sh
#!/bin/bash
jsfunc() {
local code="$(cat)"
local fn="$(cat <<EOFF
$1() {
node <(cat <<EOF
require('stream').Readable.prototype.then = function (...args) { return new Promise((res, rej) => { const bufs = []; this.on('error', rej).on('data', buf => bufs.push(buf)).on('end', () => res(Buffer.concat(bufs))); }).then(...args) };
(async () => {
${code}
})().then(val => typeof val !== 'undefined' && console.log(typeof val === 'string' ? val : JSON.stringify(val, null, 2))).catch(err => console.error(err.stack) || process.exit(1));
@TooTallNate
TooTallNate / config.js
Last active Aug 4, 2017
Ghost config.js file for the official Docker image
View config.js
// # Ghost Configuration
// Setup your Ghost install for deployment to Zeit Now.sh.
// This is a stripped down version of the default `config-example.js`
// file with only a single ("production") environment for simplicity.
// Full documentation can be found at http://support.ghost.org/config/
var path = require('path');
You can’t perform that action at this time.