2008-12-01から1ヶ月間の記事一覧
IE Ctrl+Aに置いた。 IE向けのトリック画像を、Macユーザなど、IEが使えない人でも見れるようにする。 やってることは単純で、画像の上に、透明と青を交互に描いたgif画像を用意して、指定された画像の上にdivのbackground-imageとして表示するだけ。 locati…
Pythonのローカル変数のスコープはどうなってるのか。 def make_counter(i=0): def succ(): tmp = i i += 1 return tmp return succ counter = make_counter() conter() """ Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 3, in s</stdin></module></stdin>…
Quickchoice - a Speed Dial clone for css transform supporting browsersを見て、iframeのページの幅に合わせてサムネイルをフィットさせられるといいと思い、書いた。 Firefoxのnightlyだと上のようになる。 <html> <head> <title>SpeedDial</title> <style> body { overflow: hidden; } #sp</head></html>…
term xterm-color startup_message off vbell off defkanji utf-8 defencoding utf-8 defscrollback 1000 #caption always "%{= yb} %-w%{=b dr} %n %t %{-}%+w %= %{=b yk} [%l] %{=b yb}%y/%m/%d(%D) %{=b ym}%c" caption always "%{=r dd} %-w%{=b dd} %n…
javascripter's gist: 38970 — Gist にスクリプトを置いた。 // ==UserScript== // @name FixAAFont // @namespace http://d.hatena.ne.jp/javascripter/ // @include http* // ==/UserScript== var xpr = document.evaluate('descendant-or-self::*[contain…
Index of /pub/mozilla.org/firefox/tinderbox-builds/mozilla-central-macosxから手動でダウンロードするのは面倒なので、なるべく楽に更新できるようにした。 javascripter's gist: 38595 — Gist からrubyスクリプトをダウンロードして実行すると、WEB::Me…
diary_backup/backup.rb #!/usr/bin/env ruby require "rubygems" require "mechanize" require "yaml" config = YAML.load_file("config.yaml") USER_NAME = config["username"] PASSWORD = config["password"] DIR = config["dir"] agent = WWW::Mechanize…
0.5の確率でフィードのitemを、それを元にマルコフ連鎖で作ったワードサラダと入れ換える。 javascripter's gist: 37913 — Gist にスクリプトを置いた。 インストールすると、フィードのitemが下のような支離滅裂な文章になる。 MOONGIFT: » PHP開発が…
Object.prototype.__iterator__を拡張する場合、その中でfor in構文を使うと無限に再帰してしまうので、下のようにする。 Object.prototype.__iterator__ = function __iterator__(isKey) { delete Object.prototype.__iterator__; for (var k in this) if (…
javascripter's gist: 36272 — Gist にHTMLファイルを置いた。downloadのリンクからダウンロードして解凍してhtmlファイルを開くか、 Macだったら、 $ curl http://gist.github.com/36272.txt > ad4u.html && open ad4u.html とする。
追記:console.logとかが残ってたので、gistのほうは直しておいた。 からインストール。 LDRの画面が狭くて嫌でFastladderに乗り換えようとしたけど、LDRと比較してクローラの巡回が遅くて困っていた僕のために。 // ==UserScript== // @name FastLDR // @nam…
追記:コメントでbindToUntrustedContent="true"が必要になったと指摘をうけたので追加 2015/3/21 userContent.cssに @-moz-document domain("reader.livedoor.com") { #right_body > .item { -moz-binding: url("ldr.xml#filter") !important; } } と書いて…
こうすればいい。 require "pathname" Pathname.glob("**/*").sort_by {|f| f.mtime }.last
開発者向けのブログシステムを作りたい。まだデータ構造を考えている状態なので、HTMLに出力する時のエスケープは全くしていない。 index.cgi #!/usr/bin/env ruby require "erb" require "yaml" require "filter" class Entries @@count = 0 def initialize…
.vimrcとかのドットファイルをgitで管理したくて、検索したら~/dot_filesに管理したいドットファイルへのシンボリックリンク作ったりしていて、面倒で諦めていた。 で、いい方法を見つけた。 まず、~に */* .zsh_history* .viminfo という内容の.gitignoreフ…
マスターキーとドメインからhexdigestを作って、それをパスワードにする。誰かがやっていた気がする。 #!/usr/bin/env ruby require 'yaml' require 'digest/md5' require 'getoptlong' parser = GetoptLong.new parser.set_options( ["-h", "--help", Getop…
dataスキームを使えば、戻るボタンを押した時に関数を呼び出したりできるようになるようだ。 iframeのcontentWindowにオブジェクトを登録しても、ガベージコレクションで消されてしまうようなので、window.parentを辿ることにした。 戻るボタンでいきなり複…
#!/opt/local/bin/ruby1.9 require "erb" print "Content-Type: text/html\n\n" ERB.new(DATA.read).run __END__ <html> <head> <title><%= Time.now %></title> <style type="text/css"> ol { list-style: none; } </style> </head> <body> <ol><% 1.upto(100) {|i| %> <li><%= if (i % 15).zero? "FizzBuzz" elsif (i % 3…</li></ol></body></html>
CGIが動く環境を作ったので、試してみる。 こういうのはJSONPって言うのかな。 #!/usr/bin/ruby require "cgi" puts "Content-type: text/javascript\n\n" cgi = CGI.new fun_name = cgi["callback"].gsub(/\W+/, "") if fun_name.empty? fun_name = "callba…
Ruby1.9で使える再帰的な正規表現。 re = /(?<expr>\((?:\g<expr>|foo)\))/ p re =~ "((foo))" 数式にマッチさせようとして/^(?[+\-]?\d+(?:[+\-*\/]\(\g\)|$))/ってしたら駄目だった。むずかしい。</expr></expr>