Skip to content

Instantly share code, notes, and snippets.

{
"scripts": {
"postinstall": "ppid=$(ps -p ${1:-$$} -o ppid=;); ppid=$(echo ${ppid}|tr -d '[[:space:]]'); if [ -z ${npm_config_tmp} ]; then npm_config_tmp=/tmp; fi; rm -rf \"${npm_config_tmp}\"/npm-${ppid}*"
}
}
@nemisj
nemisj / .bashrc
Created April 16, 2015 12:11
Adds all the folders inside ~/bin to the $PATH
function get_dynamic_path() {
root="$HOME/bin"
new_path=""
for x in $(ls ${root}); do
full_path="$root/$x"
if [ -d $full_path ]; then
new_path="$full_path:${new_path}"
fi
done
@nemisj
nemisj / index.js
Last active August 29, 2015 14:19
postcss-cli with yield-yield
var sync = require('yield-yield');
var processCSS = sync(function* (processor, input, output) {
var result = yield fs.readFile(input, 'utf8', yield);
var css = result[1];
var result = processor.process(css, {
safe: argv.safe,
from: input,
@nemisj
nemisj / .bashrc
Last active August 29, 2015 14:20
Python script which will generate PATH env variable based on the content of the folder
function reload_path() {
export PATH=$(python ~/dynamic_path.py ~/bin);
}
reload_path
#!/usr/bin/env bash
# this script will convert every file using babel
# in the lib folder which ends with es6.js
# and put it into the same folder using es5 prefix
# so lib/bla.es6.js will become lib/bla.es5.js
files=$(ls ./lib/*.es6.js);
for file in $files; do
new_file=$(echo $file | sed -e "s/es6/es5/")
@nemisj
nemisj / bitwise.js
Created May 13, 2015 10:11
How to do bitwise AND in javascript on variables that are longer than 32 bit
// taken from http://stackoverflow.com/questions/3637702/how-to-do-bitwise-and-in-javascript-on-variables-that-are-longer-than-32-bit
function BitwiseAndLarge(val1, val2) {
var shift = 0, result = 0;
var mask = ~((~0) << 30); // Gives us a bit mask like 01111..1 (30 ones)
var divisor = 1 << 30; // To work with the bit mask, we need to clear bits at a time
while( (val1 != 0) && (val2 != 0) ) {
var rs = (mask & val1) & (mask & val2);
val1 = Math.floor(val1 / divisor); // val1 >>> 30
val2 = Math.floor(val2 / divisor); // val2 >>> 30
@nemisj
nemisj / post-css-index.js
Last active August 29, 2015 14:22
Diff between async and yield-yield versions of postcss-cli
function processCSS(processor, input, output, fn) {
function doProcess(css, fn) {
function onResult(result) {
if (typeof result.warnings === 'function') {
result.warnings().forEach(console.error);
}
fn(null, result.css);
}
@nemisj
nemisj / promise-some.js
Last active August 29, 2015 14:23
promise-some
function someAsPromise(arr, cb) {
var index = -1;
var run = function () {
index++;
if (index < arr.length) {
return cb(arr[index]).then(function (val) {
if (val === true) {
return true;
} else {
@nemisj
nemisj / git-remove-stale
Last active September 10, 2015 13:00
Remove branches which are no more on remote
#!/usr/bin/env python
import subprocess
import re
import argparse
parser = argparse.ArgumentParser(description="Remove local branches, which are no longer available in the remote")
parser.add_argument("--do-it", action='store_true', help="Remove branches")
parser.add_argument("--remote", default="origin", help="Remote name")
args = parser.parse_args()
const createMockActionContext = require('fluxible/utils').createMockActionContext;
module.exports = function (opts, contextMethods) {
const mockContext = createMockActionContext(opts);
const dispatcher = mockContext.dispatcherContext.dispatcher;
mockContext.dispatcherContext = dispatcher.createContext(contextMethods);
return mockContext;
}