Skip to content

Instantly share code, notes, and snippets.

@tily
tily / delete_hatena_bookmark_tags.rb
Created December 30, 2009 09:57
delete hatenabookmark tag
require 'uri'
require 'rubygems'
require 'highline'
require 'mechanize'
class HatenaBookmark
ENDPOINT = 'http://b.hatena.ne.jp/'
def initialize(username, password)
@tily
tily / hatena_bookmark_tags_to_trac_wiki_notation.rb
Created January 2, 2010 10:56
hatena bookmark tag to trac wiki notation
# usage: ruby hatena_bookmark_tags_to_trac_wiki_notation.rb username tagname
require 'rubygems'
require 'mechanize'
link = "http://b.hatena.ne.jp/#{ARGV.shift}/#{ARGV.shift}"
mech = WWW::Mechanize.new
begin
page = mech.get(link)
page.search('//ul[@class="bookmarked_user"]/li').each do |bm|
url = bm.search('./h3/a/@href').first.text
title = bm.search('./h3/a').first.text
@tily
tily / solamimi.rb
Created January 6, 2010 13:23
extract solamimi from mp3 file
require 'rubygems'
require 'scissor'
require 'pit'
# = ABSTRACT
# extract solamimi text from mp3 file using scissor, ffmpeg and julius
# = USAGE
# ruby solamimi.rb /path/to/target.mp3 start_time length
# = EXAMPLE
# ruby solamimi.rb ~/Music/iTunes/iTunes\ Music/The\ Beatles/1962-1966\ \[Disc\ 1\]/1-02\ Please\ Please\ Me.mp3 ~/20100103/dictation-kit-v4.0/fast.jconf 1:02.22 2.3
@tily
tily / input.txt
Created January 7, 2010 14:14
make text stammer
文字を読みながら、そこに表現されてある音響が、いつまでも耳にこびりついて、離れないことがあるだらう。オセロオであつたか、ほかの芝居であつたか、しらべてみれば、すぐ判るが、いまは、もの憂く、とにかくシエクスピア劇のひとつであることは間違ひない、とだけ言つて置いて、その芝居の人殺しのシイン、寝室でひそかに女をしめ殺して、ヒロオも、われも、瞬時、ほつと重くるしい溜息。額の油汗拭はむと、ぴくとわが硬直の指うごかした折、とん、とん、部屋の外から誰やら、ドアをノツクする。ヒロオは、恐怖のあまり飛びあがつた。ノツクは、無心に、つづけられる。とん、とん、とん、とん、ヒロオは、その場で気が狂つたか、どうか、私はその後の筋書を忘れてしまつた。
@tily
tily / itunes_delete_redundant_files.rb
Created January 8, 2010 16:06
delete redundant files from itunes media directory
# USAGE: ruby itunes_delete_redundant_files.rb /path/to/iTunes\ Media
require 'md5'
class PlayList
def initialize(dir)
@file_list = Dir::glob(dir + '/**/*')
@file_list.reject! {|f| !f.match(/\.mp3$/) }
end
def uniq!
@tily
tily / fast_look_up_kihwanujish.user.js
Created April 2, 2010 14:39
fast look up kihwanujish
// ==UserScript==
// @name Fast Look up Kihwanujish
// @namespace http://kihwanujish.jottit.com/
// @include http://*
// ==/UserScript==
// based on scripts bellow
// - "Fast Look up Alc" by cho45 (http://userscripts.org/scripts/show/12024)
// - "Google Reader Full Feed" by mattn (http://coderepos.org/share/wiki/GoogleReaderFullFeed)
(function () {
@tily
tily / example.txt
Created April 10, 2010 16:27
convert text to japanese cafe name
マイクロソフト
COFFEE「舞黒想風人」
インターネット
歌声喫茶「伊多音都」
さむい
談話室「再夢伊」
はらへった
(function(){
if(window.storyGen && window.storyGen.data) {
window.storyGen.generateStory();
return;
}
StoryGen = {}
StoryGen.Util = function() {
return {
rand : function(num) {
return Math.floor(Math.random() * num);
@tily
tily / trac_sortable_ticket.user.js
Created April 24, 2010 17:03
make trac tickets sortable
// ==UserScript==
// @name Trac Sortable Ticket
// @namespace http://d.hatena.ne.jp/tily/
// @include https:/*/report/*
// @include http://*/report/*
// @require http://code.jquery.com/jquery-1.3.2.js
// @require http://tablednd.googlecode.com/svn/trunk/stable/jquery.tablednd.js
// ==/UserScript==
(function() {
@tily
tily / twitter_statuses_to_tumblr_chat.rb
Created April 25, 2010 13:34
twitter status urls to tumblr chat
require 'open-uri'
require 'rubygems'
require 'nokogiri'
while(line = gets)
next if !match = line.match(/\d+/)
status_id = match[0]
doc = Nokogiri(open("http://api.twitter.com/status/show/#{status_id}.xml"))
status = doc.search('/html/body/status/text/text()').to_s.gsub(/\&#(\d+);/){[$1.to_i].pack('U')}
username = doc.search('/html/body/status/user/screen_name/text()')