Skip to content

Instantly share code, notes, and snippets.

/*
自分を返す関数+クロージャ
*/
function maketable() {
var retstr = "<table><tr>";
return function(s, f) {
if (!s) return retstr;
retstr += "<td>" + s + "</td>";
if (f) {
/*
Google ChromeでNotifications APIを利用するための簡易ライブラリ
*/
Notification = {
initialized : false,
NOT_ALLOWED : 1,
NOT_SUPPORTED : 2,
//初期化(標準仕様に準拠させる)利用前に必ず実行する
@ajalab
ajalab / choose.js
Created November 7, 2010 09:32
Permutation
function choose(arr, dup, len) {
var retarr = [], i, n, group = {}, gpos, p;
arr = clone(arr);
dup = !!dup;
len = len || arr.length;
function sub(arr, buf) {
var i, c, subarr, subbuf;
for (i = 0; i < arr.length; i++) {
subarr = clone(arr);
@ajalab
ajalab / combination.js
Created November 7, 2010 14:56
Combination
function combination(array, len) {
var buf = [], retarr = [];
function sub(arr, buf) {
var subarr, subbuf;
var max = arr.length - (len - buf.length);
for (var i = 0; i < arr.length; i++) {
subarr = arr.slice();
subbuf = buf.slice();
subbuf.push(subarr[i]);
subarr.splice(0, i + 1);
@ajalab
ajalab / parseString2DOM.js
Created November 26, 2010 08:49
convert string => DOM
function parseString2DOM(str) {
var xmlDoc;
if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(str);
} else {
parser = new DOMParser();
xmlDoc = parser.parseFromString(str, "text/xml");
}
@ajalab
ajalab / format.js
Created February 23, 2011 08:15
format strings like python3
function format() {
var args, fmt, result;
args = Array.prototype.slice.apply(arguments);
fmt = this instanceof String ? this : args.shift();
if (args.length === 1 && typeof args[0] === "object") {
args = args[0];
}
@ajalab
ajalab / kutabare
Created March 30, 2011 13:21
誰も幸せにならない
javascript:(function () {var t=document.evaluate("//text()",document,null,7,null);for(var i=0;i<t.snapshotLength;i++)t.snapshotItem(i).nodeValue=t.snapshotItem(i).nodeValue.replace(/いいね/gi,"くたばれ");})();
@ajalab
ajalab / grgr.js
Created April 3, 2011 13:52
ぐらぐら
(function () {
var f = 20, b = document.body;
setInterval(function () {
b.style.marginLeft = f + 'px';
f = -f;
}, 100);
})();
@ajalab
ajalab / gist:982916
Created May 20, 2011 13:47
sleepsort.js
function sleepsort(arr, callback) {
var res = [];
$.when.apply($, a.map(function (n) {
var dfd = $.Deferred();
setTimeout(function () {
res.push(n);
dfd.resolve();
}, n);
# Module Dependencies
express = require 'express'
app = module.exports = express.createServer()
# Configuration
app.configure ->
app.set 'views', __dirname + '/views'