Skip to content

Instantly share code, notes, and snippets.

var Combinator = function(fun) {
if (typeof fun === 'function')
this.parse = fun;
};
Combinator.define = function(fun) {
var c = new this();
fun.call(c);
return c;
};
Combinator._rjoin = function(fun) {
@gifnksm
gifnksm / toDOM.js
Created October 20, 2010 11:13
method toDOM() for XML and XMLList object
default xml namespace = "http://www.w3.org/1999/xhtml";
(function() {
var parser = new DOMParser(),
range = document.createRange();
function toDOM(xmlns) {
var pretty = XML.prettyPrinting;
// disable prettyPringing temporary to avoid extra space inclusion
XML.prettyPrinting = false;
@gifnksm
gifnksm / nicovideo_createPanel.js
Created October 20, 2010 11:42
ニコニコ動画のwatchページのタブを追加する関数
function nicovideo_createPanel(id, labelText) {
let panelID = 'itab_' + id;
let label = document.createElement('a');
label.href = '#' + panelID;
label.innerHTML = '<div>' + labelText + '</div>';
// remove extra <a>...</a>
label.firstChild.textContent = labelText;
document.querySelector('#itab td').appendChild(label);
@gifnksm
gifnksm / .zshrc
Created October 25, 2010 09:08
ssh-agentをターミナル間で共有する
function ssh-start() {
ssh-agent -s > "${HOME}/.ssh/agent-env"
. "${HOME}/.ssh/agent-env"
ssh-add
}
if [ -e "${HOME}/.ssh/agent-env" ]; then
isAliveAgent=`ps -ef | grep "/ssh-agent" | grep -v grep | wc -l`
if [ $isAliveAgent = 1 ]; then
echo "ssh-agent is alive"
@gifnksm
gifnksm / nicovideo_getFlv.js
Created November 10, 2010 03:42
ニコニコ動画でgetFlvを呼び出す関数
(function() {
if (!('nicovideo_getFlv' in window)) {
const Getter = function(videoID) {
this._videoID = videoID;
this._callbacks = [];
};
Getter.prototype = {
_videoID: null,
_lock: false,
@gifnksm
gifnksm / data_format.txt
Created December 6, 2010 03:56
ニコタグからタグの履歴情報を取得する。
Data = {
count: Integer, // タグの個数
first: Date, // タグ情報を最初に取得した日時
last: Date, // タグ情報を最後に取得した日時
tags: [Tag] // タグ情報の配列
};
Tag = {
id: Integer, // タグのID
name: String, // タグ名
@gifnksm
gifnksm / datagrid.js
Created December 6, 2010 04:22
簡易的な DataGrid
(function() {
const NAMESPACE = 'mfp.xrea.jp';
if (!(NAMESPACE in window))
window[NAMESPACE] = {};
if (window[NAMESPACE].DataGrid !== undefined)
return;
const DataGrid = function(property, namePrefix) {
this._property = new DataGrid.Property(property);
this._namePrefix = namePrefix || '';
@gifnksm
gifnksm / pager.js
Created December 6, 2010 21:55
ページャ
(function() {
const NAMESPACE = 'mfp.xrea.jp';
if (!(NAMESPACE in window))
window[NAMESPACE] = {};
if (window[NAMESPACE].Pager !== undefined)
return;
const Pager = function(namePrefix) {
this._namePrefix = namePrefix;
this._callbacks = [];
// ==UserScript==
// @name Titech Portal Auto Login
// @namespace http://www.titech.ac.jp/
// @id titech-portal-auto-login@www.titech.ac.jp
// @description 東工大ポータルに自動的にログインします
// @author NAKASHIMA, Makoto <makoto.nksm@gmail.com>
// @include https://portal1.nap.gsic.titech.ac.jp/*
// @include https://portal.nap.gsic.titech.ac.jp/*
// @include http://portal.titech.ac.jp/*
// @jsversion 1.8
@gifnksm
gifnksm / Makefile
Last active December 10, 2015 01:38
subdirs=c d java haskell rust
.PHONY: all clean $(subdirs)
all: $(subdirs)
clean: $(subdirs)
$(subdirs):
make -C $@ $(MAKECMDGOALS)