Skip to content

Instantly share code, notes, and snippets.

@ide-an
ide-an / a-da.bookmarklet.js
Created July 8, 2012 15:45
あーだ半自動化
// あーだ遷移半自動化ブックマークレット
// original
(function(q,d){
if(d[q](".result")!=null){
d[q]('img[src^="http://twitter-badges"]').parentNode.click()
}else{
d[q]("form[name=enter]").submit();
}
}("querySelector",document))
@ide-an
ide-an / sample.ts
Created October 28, 2012 07:33
TypeScript Class: TypeScript types by structure(, not inheritance?)
class Hoge{
constructor(public x:number,public y:number){}
}
class Fuga{
constructor(x:number,y:number){}
x:number;
y:number;
}
function f(v:Fuga){
@ide-an
ide-an / replace-soundcloud-player.js
Last active December 10, 2015 03:18
Webページに埋め込まれたFlash版SoundCloudプレイヤーをHTML5版に置き換える
var replaceSoundPlayer = function(obj_element){
var url=obj_element.getElementsByTagName("embed")[0].src,
el = document.createElement("iframe"),
parent = obj_element.parentNode;
el.src=url.replace(/^https?:\/\/player.soundcloud.com\/player.swf/,location.protocol+"//w.soundcloud.com/player/");
el.width = obj_element.width;
el.height = obj_element.height;
parent.insertBefore(el,obj_element.nextSibling);
parent.removeChild(obj_element);
};
@ide-an
ide-an / gist:4653258
Created January 28, 2013 05:18
YouTubeの再生画面からBGMShareHouseにキューを投げるブックマークレット(非同期版)
// YouTubeの再生画面からBGMShareHouseにキューを投げるブックマークレット(非同期版)
// javascript:(function(h,d,e){e=d.createElement("script");e.src=h+"code.jquery.com/jquery-1.9.0.min.js";e.onload=function(){setTimeout(function(){jQuery.post(h+"bgm.tokor.org/query.php",{qmode:"new",qvalue:/v=(.{11})/.exec(location.href)[1]})},500);};d.body.appendChild(e)})("http://",document)
// コード削る前
(function(){
var url="http://code.jquery.com/jquery-latest.min.js";
var el=document.createElement("script");
el.src=url;
el.onload = function(){
setTimeout(function(){
@ide-an
ide-an / bgmsharehouse-monitor.py
Created March 3, 2013 09:47
BGMShareHouseに人がいるかチェック
#-*- coding: utf-8 -*-
from urllib.request import urlopen
import re
url = "http://bgmshare.vis1.shinobi.jp/js/"
s = urlopen(url).read().decode("utf8")
pattern = re.compile(r">(.+)人でBGM共有中<")
match = pattern.search(s)
if match!=None:
// Foo.prototype.f = ...でメソッドを追加するスタイル
var Foo = function(){};
Foo.prototype.f = function(){
console.log("foo");
};
Foo.prototype.g = function(){
console.log("bar");
};
// Bar.prototype = { ... } でメソッドを追加するスタイルだと...
@ide-an
ide-an / bgmsharehouse-playhistory.user.js
Last active November 16, 2017 19:54
BGM ShareHouseでの再生履歴を保存するUser Script Google ChromeとOperaで動作確認済み
// ==UserScript==
// @include http://bgm.tokor.org/*
// ==/UserScript==
(function(){
var PersistentStore = {
read: function(key){
return JSON.parse(window.localStorage.getItem(key));
},
write: function(key,val){
// ==UserScript==
// @include https://*.google.co.jp/*
// ==/UserScript==
(function(){
var f = function(){
Array.prototype.forEach.apply(document.querySelectorAll(
'img[src^="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAIAAACR5s1WAAAAA3NCSVQICAjb4U/"]'),
[function(v){
if(v.style.display!=="none"){
@ide-an
ide-an / webcomke.user.js
Created June 15, 2013 11:29
Autopatchworkを有効にした状態でコミケwebカタログのサークル一覧(サークルカット表示)を開くと、続きのページは補完されるが、お気に入り登録済みのマーカーが表示されない。 このUserScriptは補完されたページでもお気に入りマーカーを表示するようにする。
// ==UserScript==
// @include https://webcatalog.circle.ms/Circle
// @include https://webcatalog.circle.ms/Circle?*
// ==/UserScript==
//
(function(){
var script = document.createElement("script");
script.textContent = "("+(function(){
var last_href = "";
var f = function(){
@ide-an
ide-an / yin-yang.js
Last active July 6, 2017 07:30
yin-yang puzzleをJavaScript(Rhino)に移植してみた。 参考 http://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3Acall%2Fcc%E3%83%91%E3%82%BA%E3%83%AB
var callcc = function(f){
var c = new Continuation();
return f(c);
};
// Original code
// (let* ((yin ((lambda (cc) (newline) cc)
// (call/cc (lambda (bar) bar))))
// (yang ((lambda (cc) (display "*") cc)
// (call/cc (lambda (foo) foo)))))