Skip to content

Instantly share code, notes, and snippets.

shell = Components.classes["@mozilla.org/browser/shell-service;1"]
.getService(Components.interfaces.nsIShellService);
var ios = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var ssm = Components.classes["@mozilla.org/scriptsecuritymanager;1"]
.getService(Components.interfaces.nsIScriptSecurityManager);
var dsm = Components.classes["@mozilla.org/dom/storagemanager;1"]
.getService(Components.interfaces.nsIDOMStorageManager);
@MeyCry
MeyCry / gist:7e1cc95d5584bbc1d805
Last active August 29, 2015 14:18
helpers js
function truncate(str, maxlength) {
return (str.length > maxlength) ? str.slice(0, maxlength - 1) + '…' : str;
}
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function getRandomKey(arr) {
return arr[getRandomInt(0, arr.length - 1)];
@MeyCry
MeyCry / webworker-as-promise.js
Last active August 29, 2015 14:27 — forked from rohozhnikoff/webworker-as-promise.js
web worker as a promise
// Usage
var workerFibo = createPromiseWorker(function(x){
return (function fibo(n){
if (n > 1) {
return fibo(n - 1) + fibo(n - 2);
} else {
return 1;
}
})(x)
});
_appsHash = {}
_appsArr = []
getAll = -> _appsArr
getAppById = (appId) -> _appsHash[appId]
_fetch = (apps) ->
appsHash = {}
_appsArr = apps.map (item) ->
appsHash[item.id] = _appsHash[item.id] or assign({}, item)
category = [
{id: "animals", parent: null}
{id: "mammals", parent: "animals"}
{id: "cats", parent: "mammals"}
{id: "dogs", parent: "mammals"}
{id: "alliance", parent: null}
{id: "labrador", parent: "dogs"}
{id: "chihuahua", parent: "dogs"}
{id: "siamese", parent: "cats"}
{id: "persian", parent: "cats"}
var initialFirst = 0;
var initialLast = 1;
var index = 0;
var calcFib = function selfCall (num) {
if (num < 1) return;
index++;
var result = initialFirst + initialLast;
initialFirst = initialLast;
initialLast = result;
// https://stackoverflow.com/questions/9260501/html5-video-background-on-ipad-iphone
var cvpHandlers = {
canvasClickHandler: null,
videoTimeUpdateHandler: null,
videoCanPlayHandler: null,
windowResizeHandler: null
};
var CanvasVideoPlayer = function(options) {
@MeyCry
MeyCry / schema-org-structured-data-markup-using-microdata.html
Created April 24, 2018 11:13 — forked from milanaryal/schema-org-structured-data-markup-using-microdata.html
An example of how to mark up a HTML5 webpage using the schema.org schemas and microdata.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Site Title</title>
<link rel="stylesheet" href="/assets/css/style.min.css">
var OnScroll = (function () {
function OnScroll(config) {
if (!config) {
config = {}
}
this.listeners = [];
this.timeout = config.timeout || 300;
var handler = _scrollHandler.bind(this);
if (window.addEventListener) {
/**
* @example for (let {key, val} of listeners) { console.log("2", key, val); }
*/
const listeners = {};
listeners[Symbol.iterator] = function () {
const keys = Object.keys(this);
const self = this;
var current = 0;
var last = keys.length;