2010年8月28日土曜日

Vim Kaigi 2010に行ってきました

昨日からRuby Kaigi 2010が開催され、その中の企画イベントとして「Vim Kaigi 2010」が開催されました。
これなかったVim使いもたくさんいると思うので、詳細について詳しく書きたいと思います。

Highlights of Vim 7.3 by kana


最近リリースされたばかりのVim 7.3の新機能についてkanaさんから解説がありました。
Vim 7.3は日本語情報が少ないので貴重ですね。

Persistent undo


アンドゥ情報の保存をする機能。有効にするためには、set undofileを.vimrcに追加する。デフォルトでは開いているファイルと同じ場所に保存するが、別の場所にすることも可能。

Conceal text


マーカーなどを隠す機能。前からパッチは存在していたが、ようやく本体に取り込まれた。
texのシンタックスファイルも対応していて、対応する記号を変換したりできる。
これを利用すれば、Haskellのlambdaも置き換えたりできる。やってみたが微妙だったらしい。

relative number


「私はいらない」とはkanaさんの談。たしかに番号が気持ち悪い。jやkをcount付きで移動するときには便利なのかな。

colorcolumn


人によっては欲しいらしい。カラムをハイライトできる機能。複数のカラムもハイライトでき、相対的にも設定できる。

その他


gettabvar(), undotree(), など。みなさんVim 7.3を使いましょう! という内容でした。

neocomplcacheで実現する究極補完環境 by ShougoMatsu


私の発表。内容はneocomplcacheについてで、スライドを見た方が早いと思います。
neocomplcacheで実現する究極補完環境
時間が余ったので、unite.vimやvimshell, vimfilerをデモしたりしました。が、かなりグダグダになってしまった。

Yokohama.vim by guyon


内容はスライドが公開されているので、それを見たほうが……。
Yokohama.vimの宣伝もありました。私は参加する予定。unite.vimの宣伝ができるといいなぁ。

ぼくがEmacsからVimに乗り換えた3つの理由 by _shimada


Railsのエンジニア。ジュンク堂に本が売っているらしい。Emacs歴は10年以上だが、左小指が限界になってVimに移行。左肩までダメージがくるようになったそうです。リアルでそういう人がいるんですね……。
rails.vim, surround.vim, snipMateを使っているそうです。

苦労したこと


サーバに入ると素のviが使えない


S式が使えない


Vimの中でEval bufferする方法がない


→quickrun, vimshellを勧めておきました。

vi怖い by nanki


sudo viしてファイルを壊してしまったという恐怖の体験談。compatible modeこわいです。
nankiさんはObjective-Jのオムニ補完を書いたらしいので、それの紹介もありました。
ちなみに、neocomplcacheはObjective-J対応を果たしました。

gdgd Q & A


LTも終わると、あとは質疑応答と私とkanaさんが適当にデモをやったりしました。が、さすがにそれでも長すぎた……。

まとめ


kanaさんを始めとする色んなVimmerと会えて、面白かったです。自分のプラグインの宣伝もできたし:-P。ちなみに、隣の席がbasyuraさんだったので驚きました。
ku.vimの読み方は「くー」らしいです。ちなみにkanaさんは現在Vim scriptを書いていないらしく、ku Ver.0.30のリリースは期待できなさそう。
やはりunite.vimを頑張るしかないのかな。
Vim Kaigiは最初50人くらいいて、Emacs部屋から椅子を借りてくるなど、「どうしてこうなった!」状態でしたが、3時間後にはメンバーが三人になり、強制撤収となりました。

2010年8月22日日曜日

x86勉強会

昨日、x86勉強会に行ってきました。

Javaで作るx86エミュレータ d_kami


x86エミュレータを作るためにどのようなJavaのコードを書いたか。
x86命令について丁寧に説明してくれていました。しかし、x86の符号化は大変難しいので、
あの説明だけできちんと理解できる人がいたのかは謎です。

x86とプロセスについて masami256


プロセスがx86上でどのように動いているかという話。これも濃かった……。大体分かったのだけれど、ちゃんと復習しないとこれは忘れてしまう。

実行トレーサで学ぶx86再入門


これは入門だったのだろうか……。すごく濃いです。OSのメモリ保護を書き換えて、アプリケーションに検出されない
トレースを行う話。Exploitなプロセスを解析する際に必要であるらしい。

今どきのx86開発環境 Shougo


私の発表です。内容については実際のスライドを見た方が早いと思うよ! 誰ですか? Vim勉強会と勘違いしていた人は。ぼくはまじめにx86のはっぴょうをしました。

中国製のMIPSエミュレータがどうやってx86をエミュレートするのか syuu1228


MIPSとx86のエミュレートの話。MIPS勉強会おいしいです。きれいなMIPSがだんだんよごれていくさまがよくえがかれていました。誰得なんだろう。ちなみにスライドが英語でした。

8088のエミュレーションについて hdk_2


伝説のプログラマーであるhdk_2の少年時代の話と、中学生の時に作った(らしい)8088エミュレータの話。これを中学生のときに作るだなんて恐ろしいです。私は中学生の時、RPGツクールだったなぁ。自分も端末エミュレータ頑張りたくなりました。

新しいx86トレーサの作り方 a4lg


x86トレーサを作るために、どのように設計したかという話。egggardenさんの発表と似ていましたが、すごく理論的な話でした。学会発表おいしいです。

オマケ:
hdk_2さんはkterm, vi使いでした。Vimは入っていませんでした。高度な開発を行うときはEmacsのようです。私はもうviや素のVimなんて使えません……。

昔からCPUの話が好きなので、x86は大好物なのですが、内容があまりに濃すぎておなかがいっぱいです。
これは復習が必要だ……。
発表資料が早く公開されないかなぁ。
ちなみに、私の資料も後日公開予定です。当日見れなかった人はもう少しお待ちください。

※ 8月28日追記:資料を公開しました。
今どきのx86開発環境

2010年8月8日日曜日

レビュー:Emacsテクニックバイブル

ついにEmacsテクニックバイブルが発売されました。
購入者の感想を見ると、おおむね好評のようです。
しかし残念なことに、購入者の詳細なレビューがまだありません。
そこで、私がレビューすることにしました。

はじめに


まず、現在のEmacs本には大きな問題点があります。※1
Emacsはデフォルトの状態ではひどく使いにくく、プラグインをインストールして拡張するのが当たり前となっているのに、普通の本にはプラグインのインストール方法やその特徴についてほとんど触れていないのです。これにはプラグインが流行り廃りが激しく、時が経つとすぐに時代遅れになったり、新しいプラグインが出てくるという理由もあるでしょう。確かに、時が経っても有用性を保っている「入門 GNU Emacs 第三版」のような本は必要です。しかし、世の中にあるのがそういう表面をなでただけの本ばかりでは、初心者がいざ本格的にEmacsを使おうとしたときに挫折することは目に見えています。Software Design紙で連載されている「Emacsのトラノマキ」が好評であるように、現在には現在なりのEmacsの使い方があるのです。私は以前からそう言う本が必要だと考えていて、「るびきちさんがそう言う本を書いてくれるといいな」と妄想していたんですが、最近になって「Emacsテクニックバイブル」を執筆中だということで、自分の妄想が現実になり、大変驚いています。

内容について


内容については、「今までのるびきちさんのブログに書いてあったことをまとめた」というのが適切です。
るびきちさんのブログをよくチェックしている人には、あまり目新しい情報がないかもしれません。しかし、「今までばらばらだった情報がまとまっている」ことに大きな価値があります。
特に秀逸なのは後半2章のanything.el特集です。anything.elに関する情報が適切にまとまっています。
私は現在Vimにおけるanything環境として、unite.vimを開発中です。Emacsテクニックバイブルの購入理由も、「もっとanything.elを勉強して、unite.vimの開発に役立てたい」ということだったのですが、期待以上の出来だったので満足しています。
難点なのは一部のプラグインを除き、一つ一つのプラグインの解説は1ページ~2ページ程度と少ないことです。これはページ数の関係でやむを得ないことだったのでしょう。私としては、多少値段が上がっても良いから、もっとページを割いて欲しかったのですが。特にskk(ddskk)の解説は少ないです。そこは続刊に期待しましょう。

おわりに


「Emacsテクニックバイブル」という本ですが、それぞれのVimユーザーにも勉強になります。私はぜひともVimユーザーに本書を購入してもらい、Vimの「カイゼン」に励んでもらいたいと考えています。この本に込められたテクニックの数々は、あのKanaさんの「Vimの流儀」並に有用であることでしょう。
るびきちさんによると、この本が好評ならEmacs Lispプログラミング本を出す予定があるようです。
これは期待ですね。みなさんもEmacsテクニックバイブルを購入して、るびきちさんの次回作を応援しましょう。

※1:現在のVim本にも同じ問題点があります。
Vim Hacksでその状況をある程度改善していますが。Vim Hacksが本になるときは、「Vimテクニックバイブル」になるかもしれません:-)