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

GNU/Linuxでの文書作成環境

Sakai Hiroaki's Home Pages/FreeBSD/GNU\/Linux/g; s/Perl/Ruby/g; s/make/rake/g; s/html/rd/ig; したのが俺の環境。 RDで書いていれば、RDtoolで簡単にHTML化できるので便利。わざわざ生HTMLをいじらなくてもよい。さらにeRubyがpreprocessorになる。

保存時実行属性付与

ubulog: Emacsの保存関係の設定Emacsにおいてスクリプト保存時に実行属性をつける設定は定番。俺も大昔から使っていた。あまりにも昔なのでいつ設定したのか覚えていない。 (add-hook 'after-save-hook 'executable-make-buffer-file-executable-if-script-p…

w3mで大量スクロール→そこで前置引数ですよ

w3m

2008-10-28 当時のたけくまメモ は著書とオススメ本のリストが本文の前にあったので、大量にスクロールを強いられ、w3m 使 いには面倒でした。今は本文の後ろにリストがあるので、すぐに記事が読めて快適です。 Amebloもそんな感じでヘッダのせいで大量スク…

EmacsがC-gで終了しなくなったときの対処方法

Emacs使いならば、Emacsが無限ループに陥ったときに「やめれ!」と叫ばんばかりにC-gを押すのが癖になっているだろう。しかし、それでも止まらないときがある。その原因は「inhibit-quit」変数がtになっているからだ。 -- Variable: quit-flag `inhibit-quit…

anything.elアップデート・重大なbug fix

anything.elをアップデート。変更点は以下の通り。M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/anything.el 無限ループで暴走するのを修正 inhibit-quitのせいで暴走する問題を解決。以下の2つのコマンドを実行したら今までは暴走し…

GNU GLOBALってYACCのファイルにも対応してるのか

Rubyのparse.yを解析しようとして非終端記号に対してgtags-find-tag-from-hereをやったら出現位置を全部リストしてくれた。GNU GLOBALはYACCのファイルも解析してくれているんだね。こりゃ助かる。もちろんanything-gtags.elを使っています^^どうぞ anythi…

grep-edit.el無双

複数のファイルにまたがる特定のパターンを置換する必要があった。そんなときにはEmacs使いならばgrep-edit.elがよい。M-x grepで置換箇所を出力して、M-x query-replaceで置換。これ最強。grep-edit無双。 unix wizardならばperlのワンライナーで置換するだ…

ブロックパラメータにおける配列と多値の違い

RUBY_VERSION # => "1.8.7" [:a,:b].each_with_index {|x| # !> multiple values for a block parameter (2 for 1) x # => [:a, 0], [:b, 1] } def y1() yield 1, 2 end y1 do |x| # !> multiple values for a block parameter (2 for 1) x # => [1, 2] end …

splat演算子の非互換

RUBY_VERSION # => "1.8.7" a = *1 a # => 1 a = *[1] a # => 1 RUBY_VERSION # => "1.9.0" a = *1 a # => [1] a = *[1] a # => [1] ぬぅー、このへんはあやふやだorz

Emacs22のプロセスサイズ257MiB、バッファ数533、文字数40M弱→富豪してます

Emacs22のプロセスサイズは約257MiB:VSZ=270472, RSS=263896 ;; バッファの総数 (length (buffer-list)) ; => 533 (#o1025, #x215) ;; バッファサイズの総和 (apply '+ (mapcar 'buffer-size (buffer-list))) ; => 39301115 (#o225727773, #x257affb) 日本…

結局mltermとmlclientを使うことに

rxvt系に浮気しようと思っていたが、結局mltermに戻った。mltermにserver機能があることを思い出したのでさっそくやってみた。すでに最初に立ち上げたmltermでは ~/.mlterm/main に daemon_mode=blend と設定してあるから有効になっている。あとは以後立ち上…

urxvtが速くて良いらしいので使ってみたが丸数字が化ける

EUC-JP環境なんだけど、urxvtを使ってみた。ふつうの日本語文字は問題なく表示できるのだが、丸数字が化けて困る。だめだ、ぐぐっても解決できない。諦めて普段通りmlterm使うか… 追記 krxvtならば丸数字も表示できる。mltermよりも速いのかな… $ krxvt -fn …

Emacs Lispでのワイルドカード展開関数

ワイルドカードを展開する関数がEmacs Lispには用意されている。 wildcard-to-regexpはワイルドカードを正規表現に変換する関数 file-expand-wildcardsはワイルドカード展開結果をリストで得る関数 (wildcard-to-regexp "*.el") ; => "\\`[^^@]*\\.el\\'" (s…

三平方の定理はMath.hypot・C言語でも使える

http://rubyist.g.hatena.ne.jp/kusakari/20081020/1224497314Rubyで三平方の定理を使う場合はMath.hypotを使う。hypotはhypotenuse(斜辺)の略。見かけないんだけど、あんま知られてないのかな。組み込みなのにね。 Math.sqrt(3**2 + 4**2) # => 5.0 Math.…

逆引きRubyをEmacsで編集するための設定

逆引きRubyをEmacsで編集するための設定を書いた。これで編集する人が増えてくれると嬉しい。http://www.namaraii.com/rubytips/?Emacs%A4%C7%CA%D4%BD%B8%A4%B9%A4%EB%A4%BF%A4%E1%A4%CE%C0%DF%C4%EA

初めてのRedmine

id:nurseさんの勧めで初めて Redmineを使ってみた。 プロジェクト「Ruby」に登録できなかったのでRedmineのチケットも登録しておいた。

逆引きRuby逝く→生き返った!

http://www.namaraii.com/diary/?date=20081018#p01逆引きRubyというRubyのTipsを集めたWikiが突然なくなった。namaraii.comの移転にともなうもので復旧予定はないらしい。572個もはてなブックマークがついてて、「便利」、「わかりやすい」等の賛辞を多くも…

anything.elが複数行対応になった

anything.elは通常、複数行ある候補を扱えなかったのだが、今回のリリースから複数行文字列も扱えるようになった。 Matsuyamaさん、パッチどうもありがとう。http://www.emacswiki.org/cgi-bin/wiki/download/anything.elからどうぞ。anythingの候補は文字列…

ontvjapanでテレビ番組のリストを得るスクリプトを修正

ontvjapanでテレビ番組のリストを得る - http://rubikitch.com/に移転しましたスクリプトを更新。バグ修正。

mp3gainをaptで入れる

Just another Ruby porter, 2008-10-bmp3の音量を正規化するコマンドmp3gain。 % mp3gain -k -d 96.0 foo.mp3で96dBに書き換えてくれる。バイナリはwindows用しかないが、 srcを取ってきてmakeすればLinuxでもok。 Debian GNU/Linuxならsudo apt-get install…

Rubyのsprintfは数字を3桁ずつコンマで区切る書式指定がない件

1,000,000等と表示することは多いというのに、いちいちgsub使うのはうざい。数字の表記方法でよく使われるのだからsprintfでサポートすべきだと思うな。スクリプト言語なんだし。sprintf.cと自前で実装してるんだからさ。 "%#d" % 100000 # => "100000" "%#x…

再起動したらkernel panicになったが解決

この前の再起動でkernel panicになってしまった。しかし、カーネルがアップデートされていないので「sudo dpkg-reconfigure linux-image-2.6.26-1-686」を実行してから再起動したらなおった。謎だ。 おそらくカーネルをアップグレードしてもなおるんだろうね…

DRb.start_serviceが激重

突然DRb.start_serviceするだけで5秒待たされるようになった。 $ time ruby -rdrb -e 'DRb.start_service' ruby -rdrb -e 'DRb.start_service' 0.02s user 0.00s system 0% cpu 5.036 total 原因不明。これじゃあdruby使えないよ><wineをコンパイルするた…

dbskkd-cdbが動かなかったのでinetdを再起動した

2ヶ月ぶりにマシンを再起動したらdbskkd-cdbが動いてくれなかったので、かなり悩んだ。inetdからskkservが起動するようになっているので、inetdを再起動したらなぜか動くようになった。謎だ。 $ sudo /etc/init.d/inetd restart 追記 ついでに ~/.zprofile …

String#gsub, String#split等は文字列パターンも指定できる

正規表現のメソッドだと思われがちなString#gsubやString#split、実はパターンに文字列を指定することができる。この場合は正規表現として解釈されるのではなくて、そのまま字面通りのパターンになる。初めて知ったよ。 'a+b'.gsub('+', '-') # => "a-b" 'a.…

/usr/share/emacs/22.1/lisp/の*.el.gzを展開してみた

Debian GNU/LinuxのEmacs Lispはなぜかgzip圧縮されて格納されている。GB単位のハードディスクが当たり前になってるというのになんでけちけちしてるんかと思う。1TBのハードディスクも1万円やそこらである御時世、ストレージの値段は安い。ケチケチすんなと…

anything.elでもうひとつのpersistent actionを定義する方法

前置引数でpersistent-actionを追加する http://www.emacswiki.org/cgi-bin/wiki/AnythingSources にておもしろい情報源が定義された。「Double persistent action for anything-c-source-buffers」だ。本来ならばひとつしか定義できないpersistent-actionに…