2008-01-01から1年間の記事一覧
yasnippet を導入してみた - gan2 の Ruby 勉強日記ではたくさんのブクマを頂いたわけだけども 当の僕はといえば、実はあれ以来日に日に yasnippet の使用頻度が低下していき 遂には全く使わないようになってしまっていた。 というのは、「スペーストリガー…
以下のように Hatena.Haiku.EntryForm.prototype.showDrawForm に フックさせてやればいいと思っていんだけどなんかうまくいかない。 (function (orig) { Hatena.Haiku.EntryForm.prototype.showDrawForm = function () { orig.apply(this, arguments); // …
こういう書き方をする。 location.href = 'javascript:(' + function() { (function (w) { // ... // unsafeWindow.hogehoge.prototype とかはここに書く // ... }) (this.unsafeWindow || window); }.toString() + ')()'; 結論からはじめるメソッド使ってみ…
Emacs で JavaScript を書くを参考にして少し設定を追加した。 ;;; js2-mode ;; エラーの判定処理が気になる (autoload 'js2-mode "js2" nil t) (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode)) (add-hook 'js2-mode-hook '(lambda () (setq js2-bou…
上の画像は僕がハイクでよく使う色を抽出して作ったパレットです。 以下のグリモンスクリプトをインストールすると ハイクで元々用意されているパレットを 上のような自分好みのパレットに変更できるようになります。 インストールはこちらからどうぞ → http…
使いたいアドオンが使えないので 3 を使うことを躊躇っていたのだけど 今回正式版を導入してみたら前よりもずっと対応しているアドオンの数が増えていたので 本格的に 2 から 3 へ移行しようと思う。 以下、2 でお世話になってたのに 3beta 時は使えなくて困…
AutoPagerize と LDRize を同時に有効にすると Google の検索結果の3ページ目以降が AutoPagerize で足されなくなったりして困っていた。 AutoPagerize、LDRize、ついでに Minibuffer をインストールし直してもよくならない。 グリモンのアイコンを右クリッ…
YYYY年mm月dd日HH時MM分SS.xxx秒なら、「YYYYmmddHHMMSS.xxx」のようにミリ秒まで含んだ文字列を返すプログラムを書いてください。 エロと風俗情報満載 どう抜く? というお題に対して以下のスクリプトが投稿されていた。 ただし、自分好みになるように少し…
プログラムコード中の文字の頻度は言語によって相当にばらつきがあると思います。ある言語はピリオドが頻出するとか、別の言語はカッコの頻出頻度が高い、とか。そこで、 * 文字の頻度解析をするプログラムを作成し、 * 適当なプログラムに対して実行し、結…
こんな重要なことに今更気付いた。 ここのところ毎日のようにハイクで絵を描いているというのに…。 なんというボケっぷり。 はてなハイクのお絵描きツールでは、さまざまなキーボードショートカットを使った機能があります。試験的に試していたものも多いの…
Array#replace は a = [1, 2, 3] a.replace [4, 5, 6] とかって使うらしいんだけど これって a = [1, 2, 3] a = [4, 5, 6] ってやっても結果は同じだと思うんだよね。 ベンチマーク取ってみても require 'benchmark' num = 100000 Benchmark.bmbm(10) do |x|…
Benchmark を使うときに require 'benchmark' puts Benchmark::CAPTION puts Benchmark.measure { a = [1, 2, 3] a.replace [4, 5, 6] } このように { } を使うのは OK なのに { } を do end に変えると require 'benchmark' puts Benchmark::CAPTION puts B…
require 'net/http' require 'uri' def save_file(url) filename = File.basename(url) open(filename, 'wb') do |file| file.puts Net::HTTP.get_response(URI.parse(url)).body end end url = 'http://d.hatena.ne.jp/images/diary/g/gan2/gan2_p.gif' sav…
もうさすがに忘れないだろーとは思っているものの 以前もそんな風に思っていてしばらくしたらあやふやになっていたので 記憶に定着されることを祈りつつちゃんと書いておく。 基本 以下の2つを覚えておけばまず大丈夫。 文字化けしてるとき (UTF-8 のファイ…
d2.hatena.ne.jp じゃなくて 普通の d.hatena.ne.jp でも「おえかき機能」が使えるようになってたみたい。 「その場編集モード」の「写真・商品などを挿入」から使える。 2月くらいから使えるようになってたみたいで 今更感があるけどまあとりあえずテストし…
主にはてなハイクで描いている。 そして感じる。僕の絵に対する考え方が変わってきたことを。 僕は小さい頃から絵を描くことが好きだった。 絵を描いているときの一番古い記憶は ウルトラマンがうまく描けなくて半べそをかいている自分。 ウルトラマンの顔は…
とりあえず CodeRepos にコミットした。 ブラウザからアクセスする場合はここからどうぞ。 Subversion がある場合は以下のコマンドでソースを持ってこれます。 svn co http://svn.coderepos.org/share/lang/ruby/StarLife 簡単な説明として README の内容を…
Emacs では「C-SPC」でマークをセットして、以降リージョンを選択できる状態になるが sense-regionを使うと「C-SPC」を押すごとにリージョンの選択と矩形選択を切り換えられるようになる。 「C-x r」ではじめる通常の矩形選択だと、リージョンの選択と視覚的…
普通に関連付けすると「再生」が選ばれたことになり 既に開いていたプレイリストの内容が上書きされちゃうので 「プレイリストに追加」を選ぶ。 でもこれ拡張子ごとに設定しなくちゃいけなくて面倒だなぁ。
最初に最新版(2008/05/11現在)の 5.531 をインストールしたんだけど モダンスキンのまま nfs のプラグインを入れると スクリプトエラーで Winamp 自体が起動しなくなるという とてもかわいくない不具合が見つかったので消した(´・ω・`) 聞くところによると…
xmpfilter が便利らしいのでぐぐってみたら、rcodetools に含まれていることが分かった。 rcodetools。見覚えはあるけど何なのかはよく分かってない。 とりあえず gem で入るみたいなので入れてみる。 gem install rcodetoolsrcodetools には Emacs 用のイン…
Ruby 1.8.7のinjectはSymbolを引数に取ることができる。つまり、合計は「inject{|s,x| s+x}」から「inject(:+)」でよくなった。 1+2+3+4 # => 10 (1..4).inject(:+) # => 10 1*2*3*4 # => 24 (1..4).inject(:*) # => 24 今はinjectよりもtapだよね〜 - http:…
任意の偶数Nのチームの総当たり戦を最短日数(N-1日)で 行う場合の日程表を1つ作成してください。 解はひとつではない場合もあります。 もし、余力があれば、全ての可能性も求めてください。 これは、スポーツスケジューリングと言う分野の問題で、 数学的…
次のような書式で与えられた「あみだくじ」があります。 (あみだくじはコード中に埋め込んでも、標準入力や 外部ファイルから読み込んでも、書きやすい方法でかまいません) A B C D E | | |-| | |-| | |-| | |-| |-| |-| |-| | |-| | | | このあみだくじをた…
日付のRangeを週に切り出すスクリプト - はこべにっき#を僕なりに書いてみた。 こんな感じでいいのかな? gen-weeks.rb 2008/04/01 から 2008/04/21 までの Range を週ごとに分ける require 'date' def gen_weeks(range) weeks = [] week = [] range.each do…
こんな感じにアイコンが挿入される。 (ちょうど僕の前のコミットだったので id:tokuhirom さんのフィードを例に使わせて頂きました!) インストールする場合はこちらからどうぞ。 // ==UserScript== // @name LDR add profile icon for CodeRepos // @namesp…
僕のダイアリだとエントリの一番下に表示されている。 これをタイトル付近に表示したい。 でも探してもその方法が見つからない。 はてなブックマーク - ヘルプ - 自分のブログに「○○users」を表示にも 位置を指定する方法については全然書かれていないし 管…
今のところ .emacs にこんな感じの設定をしている (都合によりほとんどの設定はコメントアウトしてある)。 ;;;; 日本語環境の設定 ;; ;; 以下の3つは set-language-environment よりも先に書いておく必要がある ;; (require 'un-define) ;; (require 'un-too…
「#' (シャープクォート)」が何なのか分からなくて調べたのでメモしておく。 「#'」は「function」と同じ意味 「'」を「quote」のかわりに使えるのといっしょ 関数をクオートするときは「'」よりも「#'」を使う方がよいとされている しかし「'」と「#'」は実…
Emacs Lisp TIPS なんでこれ今まで使ってなかったんだろう…。 考えてみたらいちいちコマンドラインから「ruby hoge.rb」とかって実行するのって面倒だよなぁ。 「smart-compile」を使うと、ファイルを編集中に自分の好きなバインドでコンパイルを実行できて …