Skip to content

Instantly share code, notes, and snippets.

@piranha
piranha / uuid.js
Created April 16, 2013 16:28
UUID4 (almost) in Javascript, for when you need some more or less unique id.
function S4() {
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
}
function UUID(short) {
if (short) {
return S4() + S4();
}
return S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4();
}
@piranha
piranha / git-cleanup
Created February 20, 2013 09:54
Script to cleanup git branches
#!/bin/sh
current_branch=$(git symbolic-ref HEAD | awk -F / '{print $3}')
if [ "$current_branch" != "master" ]; then
echo "WARNING: You are on branch $current_branch, NOT master."
fi
echo "Fetching merged branches..."
git remote prune origin
remote_branches=$(git branch -r --merged | grep -v '/master$' | grep -v "/$current_branch$")
@piranha
piranha / md5ize-index.js
Last active December 10, 2015 22:38
Custom RequireJS packer/optimizer & md5 map generator.
#!/usr/bin/env node
// (c) 2012-2013 Instant Communication Bhd, under terms of ISC License.
//
// Process index.html to add md5ized path mapping for RequireJS.
//
// Needs empty CacheBust variable to be defined (see replacement logic), which
// afterwards should be used in `require.config({paths: CacheBust});` call.
@piranha
piranha / github-upload.py
Created July 9, 2012 11:08
Github upload script. Pretty much useless now.
#!/usr/bin/env python
#
# (c) 2012 Alexander Solovyov under terms of ISC License
# to use, install dependencies:
# pip install opster requests
import os, sys, json
from subprocess import check_output
import requests
@piranha
piranha / git-req
Last active November 9, 2019 14:43
Script to create pull requests right from the shell
#!/bin/sh
# git-req -- make a pull request
#
# Assumes branch is pushed to same repo as pull request is made to (origin)
#
# How to obtain GITREQ_TOKEN:
#
# curl -u "$USER:$PASSWORD" -d '{"scopes": ["repo"], "note": "git-req"}' https://api.github.com/authorizations
#
# Usage:
@piranha
piranha / mixin-vs-dec.py
Created May 28, 2011 09:30
Mixin vs class decorator
import logging, timeit
class LoggedSetItemMixin(object):
def __setitem__(self, index, value):
logging.info('Setting %r to %r' % (index, value))
super(LoggedSetItemMixin, self).__setitem__(index,value)
class LoggingDict(LoggedSetItemMixin, dict):
pass