Skip to content

Instantly share code, notes, and snippets.

@vermie
vermie / gist:9818c441d261ccf6219a
Created August 15, 2014 17:35
create worker form <script> blob url
function makeWorker(fn, args, callback) {
var fnString = 'self.addEventListener("message", function (e) {self.postMessage((' + fn.toString() + ').apply(this, e.data))});',
blob = new Blob([fnString], { type: 'text/javascript' }),
url = URL.createObjectURL(blob),
worker = new Worker(url);
worker.postMessage(args);
worker.addEventListener('message', function (e) {
URL.revokeObjectURL(url);
callback(e.data);
function hasIndex(array, index) {
return array.splice(index, 1).reduce(function () {
return true;
}, false);
}
var array = [];
hasIndex(array, 0); // => false
array[0] = 1;
var bacon = (function () {
var bacon = {},
defaultBase = 2;
function getEncodedWidth(alphabet, base) {
var width = 1 + Math.floor(Math.log(alphabet.length) / Math.log(base));
return width;
}