2008-01-01から1ヶ月間の記事一覧

Rubyは俺にオブジェクト指向プログラミングの作法を教えてくれた

Matzにっき(2008-01-29)でかなりアツい議論がなされているが。俺は大昔Perlのオブジェクト指向で何度も挫折した末にRubyに出会ったのだが、そのときに「オブジェクト指向とは何か」という何年もわからなかったものがものの数日でわかってしまったことは俺に…

mksquashfsが止まる

mksquashfs 3.3だとファイルシステム作成中に止まったまま動かなくなってしまう。毎回同じ場所で止まってしまう。デッドロックかなにかかな?mksquashfs 3.2-r2にdowngradeしたら正常に動作した。3.3になってenbugされたようだ。夜中に「apt-get upgrade」し…

ハードディスク換装

3ヶ月前に仕入れてきた500GBのハードディスクを装着した。80GBだとぎちぎちいっぱいだったのでいっそのこと交換しようと思い、ついに決行した。ぎちぎちいっぱいだと断片化が起きまくっているせいでアクセス速度がダウンすると聞いた。そういえば俺のハード…

Rubyのエンコーディングの実験

いつのまにか標準入力からのスクリプトはlocale依存になっているようだ。「-Ke」や「-E EUC-JP」ではrequireされるスクリプトのエンコーディングまでは反映されない。グローバルじゃないのね。一方、magic commentをつけたスクリプトをrequireすると「-Kn」…

oddmuse.elとmailcap.elの問題

http://d.hatena.ne.jp/khiker/20080123/oddmuse M-x oddmuse-edit としても, mailcap-parse-mailcaps がねえよと怒られてしまう. ちょっとソースを追ってみたら、oddmuse.el内部で使われているurl.elの問題だとわかった。 色々ググったりして調べた結果, 判…

M-x anythingに割り当てるキー

anything.elの熱気が高まっているようでなにより。みんなはどんなキーにM-x anythingを割り当てているかな? 俺は「C-;」と「C-:」。他に割り当てられてないホームポジションのキーなのでおすすめ。特等席だ。Emacsでキーバインドをカスタマイズするための覚…

EmacsWikiにanything.elの設定集がある

anything.elのサイトはないので、EmacsWikiが事実上の公式サイトになっている。そこでは世界中の熱狂的なユーザが情報を交換しあっている。 何か新しいアイデアがあったら、自作する前に以下のサイトを訪問してみよう。あなたの欲しいものは誰かがすでに作っ…

anything-rcodetools.elを修正

http://d.hatena.ne.jp/trotr/20080113/1200229066anything-rcodetools.elにバグがありましたので修正しました。

anything-dabbrev-expand.elリリース

複数候補を選択して補完できる動的略語展開 dabbrev-expand-multiple - とりあえず暇だったし何となくはじめたブログ に触発されてanything.elを使って動的略語展開するEmacs Lispをさくっと作ってみた。 これは、動的略語展開の候補をanything.elのインター…

icomp-0.0.9.el

http://d.hatena.ne.jp/khiker/20080113/emacs_compなにやらおもしろいものを作っているようだ。 とりあえず少しだけつこてみた。M-x install-elisp http://www.oti-orz.mydns.jp/~khiker/file/elisps/icomp-0.0.9.elこれって icicles みたいに絞り込み検索…

文脈に応じて最適なコマンドを提示するanything.elのソース

大昔から欲しいと思っていたものに、現在の文脈を読み取って最適なEmacsコマンドを提示するインターフェースがある。つまり、Emacsが空気を読んでくれるやつ。anything.elだからこそ実現できる。実質たったの10行なのだからanything.elの汎用性、Lispの表現…

膨大なanything.elの設定を公開!

anything.el関連の設定を抜き出した。これだけで1000行近くある。anything.elは俺のEmacsライフを根底から覆すものだ。anything.elを使ってこれまで作っては埋もれていった自作Emacs Lispを復活させる予定。せっかく作っても長いこと使っていないと存在すら…

寒い!寒すぎる

今日のあまりの寒さに音をあげている。東京都なのにもかかわらず18時現在で1度、明日の6時には-4度まで下がるらしい。-4度なんてまったくもって未体験ゾーンだ。ただでさえ寒いというのにさらに5度も低いなんて北国かと思うほどだ。部屋では夜中でも暖房をほ…

Software Design 2月号にEmacsの記事を書きました

http://gihyo.jp/magazine/SD/archive/2008/200802第2特集「Emacsマスターへの道」でinstall-elisp.el、oddmuse.el、anything.el、Ruby関係Emacs Lispについて書きました。 お楽しみに。

Ruby 1.9のEnumeratorはArray互換メソッドを持つと嬉しい

Ruby 1.9のArray#zipはArrayではなくてEnumerable::Enumeratorを返すようになった。しかも、EnumeratorはArray互換のメソッドを持たないのがタチが悪い。zipをブロックなしで使うことってあるんじゃないかな? で、思い付いたのが、EnumeratorにArray互換の…

今日やったRuby 1.9への移行方法

rcodetoolsがRuby 1.9に対応していなかったので、手許のバージョンで対応させておいた。そろそろリリースしないといけないな。 rct-completeコマンドはRubyのメソッド等を補完するプログラムなのだが、「Object#methods」などが文字列ではなくてSymbolを返す…

Rakeのタスクに引数が取れるようになったけど…ひどい

Rakeはバージョン0.8.0からタスクに引数が取れるようになった。タスクの引数はいろんな人から要望があったと思う。http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/44366 http://wiki.fdiary.net/rails/?RakeImprovementProjectまだドキュメン…

カレントバッファに関するanything.elのソースを設定する - 「bm.el」、「imenu」、「eevのアンカー」をanything.elで扱う

anything.elはユーザーひとりひとりのアイデアに柔軟に応えられる。 俺は「他のバッファへの切り替え」と「カレントバッファ内の移動」のソースを使い分けている。なぜなら、これらをひとまとめにすると余計な処理が入って重くなるし、余計な候補が入って選…

基本的な関数はC言語で書かれるべき

Emacs Lispにはいろいろな文字列処理関数が用意されているけど、Emacs Lispで書かれているものもある。split-stringとかreplace-regexp-in-stringとか結構使うんだけど、Emacs Lispで書かれていることを知ってショックを受けた…このあたりのベーシックな文字…

Rubyのメソッドの補完を行うanything-rcodetools.elをリリース

rcodetoolsに含まれているrct-completeコマンドを使うとRubyのメソッド等の正確な補完ができる。rcodetoolsパッケージ内にはEmacsインターフェースとして、rcodetools.el(通常版)、icicles-rcodetools.el(icicles版)が同梱されている。 俺はicicles-rcod…

かっこいい時刻計算

ActiveSupportを使えばわかりやすく時刻計算ができる。時刻の基本単位が秒であることから、Integerに時刻の単位をあらわすメソッドを加えている。min, hour, day, month, yearといったものだ。 だからたとえば1984/12/26から現在まで何年たっているかは次の…

Ruby リファレンスマニュアルを Emacs で参照・ anything.el との連携(改訂版)

前回の Ruby リファレンスマニュアル(通称るりま)と ReFe2 をインストール・ Emacs で参照する・ anything.el との連携 - http://rubikitch.com/に移転しました では欠点があったのでより強化してみた。 ライブラリのリファレンスが見られるようになった …

Ruby リファレンスマニュアル参照コマンド BitClust の検索で include されているモジュールを出力するパッチ

bitclust lookup で refe のようにリファレンスマニュアルエントリを引くことができるが、クラスエントリを引いたときに、 include されているモジュールが表示されない。だから表示するようなパッチを書いた。このパッチを当てると、 refe2x コマンド でも…

謹賀新年

あけまして、おめでとうございます。 今年も学んだこと、知ったことをどんどん書いていくので、みなさんよろしくお願いします。

Ruby on Railsの前にRubyの基礎をしっかりと

最近のRuby on RailsブームでRubyが一気に注目されている。おそらく今Rubyを始める人のほとんどがRuby on Railsがきっかけであろう。 巷にはRuby初心者向けのRails解説書が多く、Rubyを解説しながらRailsを解説している。だけどちょっと待ってほしい。Ruby on…

わかりやすい文章について:論文調の文章vs話しかけるような文章

【わかりやすい文書とは?】 例えば、技術文書を読む場合、論文… - 人力検索はてな俺は生まれついての理系人間だが、話しかけるような文章のほうが好きだな。結城浩さんの文章にはあこがれる。俺もああいう文章が書けるようになりたい。そのせいか、腰を据え…