Skip to content

Instantly share code, notes, and snippets.

View jamischarles's full-sized avatar

Jamis Charles jamischarles

View GitHub Profile
@jamischarles
jamischarles / main.js
Last active November 26, 2017 05:58
node debugging via inspector api
var http = require('http')
// Expectation: When I curl localhost:3000, I want to be able to
var server = http.createServer(function (req, res)
res.statusCode = 200;
res.write(e.stack); // throws exception
res.end()
})
@jamischarles
jamischarles / node_invalid_ssl.js
Created June 22, 2016 22:52
Node https request to server with invalid SSL certs
// use this when you can curl an https server, but node request() will return 'econnreset: socket hang up'
var options = {
url: 'https://some/site',
method: 'POST',
// these 3 lines matter
strictSSL: false,
secureProtocol: 'TLSv1_method',
rejectUnhauthorized: false
}
@jamischarles
jamischarles / npm_install_autocomplete_zsh
Last active July 4, 2016 07:23
npm install autocompletion for bash & zsh. Provides content of `~/.npm` as autocomplete options for `npm install` ✨ https://medium.com/@jamischarles/adding-autocomplete-to-npm-install-5efd3c424067#.8w0jzkh3w
#!/usr/bin/env zsh #adding this to force silly gist highlighting. REMOVE THIS
# ZSH standalone npm install autocompletion. Add this to ~/.zshrc file.
_npm_install_completion() {
local si=$IFS
# if 'install' or 'i ' is one of the subcommands, then...
if [[ ${words} =~ 'install' ]] || [[ ${words} =~ 'i ' ]]; then
# add the result of `ls ~/.npm` (npm cache) as completion options
#!/usr/bin/env bash #adding this to force silly gist highlighting. REMOVE THIS
# This is a modified version of the script generated by https://docs.npmjs.com/cli/completion to include `npm install` autocompletion.
# Basically we added `if` blocks to check for `install` subcommand.
###-begin-npm-completion-###
#
# npm command completion script
#
# Installation: npm completion >> ~/.bashrc (or ~/.zshrc)
@jamischarles
jamischarles / .npm_install_autocomplete
Last active May 27, 2016 15:46
Make these changes to augment your local npm autocompletion to include autocomplete for `npm install`
#!/usr/bin/env bash #adding this to force silly gist highlighting
# If you are already using npm autocompletion via (https://docs.npmjs.com/cli/completion), I assume that you have some code in
# your .bashrc/.zshrc file. Follow the instruction below to avoid clobbering the npm autocomplete script.
#####################
#### FOR BASH change THIS (in your .bashrc file)
#####################
IFS=$'\n' COMPREPLY=($(COMP_CWORD="$cword" \
@jamischarles
jamischarles / .npm_install_autocomplete_bash
Last active July 13, 2016 03:58
npm install autocompletion for bash. Provides content of `~/.npm` as autocomplete options for `npm install` ✨ https://medium.com/@jamischarles/adding-autocomplete-to-npm-install-5efd3c424067#.8w0jzkh3w
#!/usr/bin/env bash #adding this to force silly gist highlighting. REMOVE THIS
# BASH standalone npm install autocomplete. Add this to ~/.bashrc file.
_npm_install_completion () {
local words cword
if type _get_comp_words_by_ref &>/dev/null; then
_get_comp_words_by_ref -n = -n @ -w words -i cword
else
cword="$COMP_CWORD"
words=("${COMP_WORDS[@]}")
@jamischarles
jamischarles / es6_functions.js
Created October 13, 2015 16:51
es6 functions explained...
// method shorthand. ES6 version.
{
initialize() {},
doSomething() {}
}
// replaces (ES5)
{
@jamischarles
jamischarles / curry.js
Last active September 24, 2015 05:19
A simple example of currying in JS
// This is a 'curried' function. If it receives less params than it expects, it returns a function which expects the rest of the params.
function add(a, b) {
// if 2nd param wasn't passed, return a function that holds the 1st param via closure, but expects another param.
if (typeof b === "undefined") {
return function(c) {
a + c;
}
}
// if 2 params are passed return the result
@jamischarles
jamischarles / gitmove_several.sh
Last active August 29, 2015 14:18
Move Several git files over to a new repo with history. Very optimistic about errors
#!/bin/bash
# $ ./gitmove [destGitRepo] [src_file]
DEST_FOLDER=$1
# this will take all parameters AFTER the first. So you can give a list, or a glob (which is expanded into separate params)
SOURCE_FILES="${@:2}"
# SOURCE_FILE=$2
STARTING_FOLDER=$(pwd)
@jamischarles
jamischarles / gitmove.sh
Last active February 21, 2019 21:34
Git move - Move file to new repo and preserve history
#!/bin/bash
# $ ./gitmove [destGitRepo] [src_file]
DEST_FOLDER=$1
SOURCE_FILE=$2
# get the earliest hash of a source file to copy
HASH=$(git log --format=%H $SOURCE_FILE | tail -1)
# echo $HASH