Skip to content

Instantly share code, notes, and snippets.

@kei-s
kei-s / randomize.rb
Created January 6, 2010 18:51
custom random funciton
include Math
def custom(u)
u < 0.5 ? 0.5-sqrt(0.25-u/2.0) : sqrt(u/2.0-0.25)+0.5
end
(0..200000).map {
custom(rand())
}.group_by{|num| ((num*20).floor % 20)}.sort_by{|k,v| k}.each{|k,v|
puts "#{"%2d" % k} #{"*"*(v.size/500)} #{v.size}"
@kei-s
kei-s / ruby-kakasi.1.9.1.patch
Created November 2, 2009 08:38
kakasi patch
*** kakasi.c Mon Nov 2 16:22:49 2009
--- kakasi.c Mon Nov 2 16:24:58 2009
***************
*** 28,43 ****
Check_Type(src, T_STRING);
/* return "" immediately if source str is empty */
! if (RSTRING(src)->len == 0)
return rb_str_new2("");
@kei-s
kei-s / saykana.rb
Created June 19, 2009 02:44
saykana
#!/usr/bin/env ruby
# vim:fileencoding=utf-8
require 'MeCab'
require 'kakasi'
require 'kconv'
require 'uri'
# http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/33639
class String
@kei-s
kei-s / ext_nicovideo
Created April 28, 2009 17:17
nicovideo swf API
ext_play(Boolean):void
ext_setPlayheadTime(Number):void
ext_setMute(Boolean):void
ext_setVolue(Boolean):void
ext_setCommentVisible(Boolean):void
ext_setRepeat(Boolean):void
ext_setVideoSize(string):void
ext_isMute():Boolean
ext_getVolume():number
ext_isCommentVisible():Boolean
@kei-s
kei-s / CharacterReference.js
Created April 23, 2009 14:22
(encode || decode) character reference
function decode(line) {
return line.replace(/&([#0-9a-zA-Z]+?);/g,function(entity,code){
if (/^#[0-9]+$/.test(code)) {
return String.fromCharCode(code.slice(1));
}
if (/^#x[0-9a-fA-F]+$/.test(code)) {
return String.fromCharCode(parseInt(code.slice(2),16));
}
return referenceMap[code] ? String.fromCharCode(referenceMap[code]) : entity;
});
@kei-s
kei-s / word_count.rb
Created March 21, 2009 12:26
word count
open('oreilly_web_20.txt').read.
scan(/[^)(:;$*"@'>!\?\/,\s-]+/).
map{|word| word.sub(/\.$/,'').downcase }.
reject{|word| word.empty? }.
inject(Hash.new(0)) { |hash, word|
hash[word] += 1
hash
}.sort{|a, b|
(b[1] <=> a[1]) * 2 + (a[0] <=> b[0])
}.each do |array|
@kei-s
kei-s / Array.prototype.sortByParams.js
Created January 6, 2009 15:43
Array.prototype.sortByParam
Array.prototype.sortByParam = function(param) {
return this.sortByParams([param]);
};
Array.prototype.sortByParams = function() {
var params = arguments[0];
if( !params
|| (!params.length || params.length == 0)
|| typeof params !== 'object'
|| !params.constructor
|| params.nodeType
@kei-s
kei-s / motsu_tabetai.user.js
Created December 16, 2008 18:11 — forked from youpy/motsu_tabetai.user.js
motsu when submit form
// ==UserScript==
// @name Motsu Tabetai
// @namespace http://ikenie.com/
// @include *
// @require http://gist.github.com/raw/3242/1a7950e033a207efcfc233ae8d9939b676bdbf46
// @require http://gist.github.com/raw/34615/04333b7e307eb029462680e4f4cf961f72f4324c
// ==/UserScript==
(function() {
var DATABASE_URL = 'http://wedata.net/databases/Motsu/items.json';
@kei-s
kei-s / pager.rb
Created December 3, 2008 12:19 — forked from june29/pager.rb
crawl AutoPagerize NextLink
require "rubygems"
require "nokogiri"
require "httpclient"
require "uri"
require "json"
class Pager
@@siteinfo_url = "http://wedata.net/databases/AutoPagerize/items.json"
attr_accessor :doc