2009年3月3日火曜日

【pe】キーボードショートカット

キーマッピングが終わった。まったく完全!とはいかないがこのくらいで実用には耐えるかなという感じ。

* あらゆる制作ファイルをSubversionで管理。どの環境からも使えるように。 [完了]
* shell, screen, terminal, emacs, firefoxを日本語入力含めて最低限使えるように。[完了]

* キーマッピングがどの環境でも完全に同じである。[完了]
- Alt(Meta) tab がGnomeのアプリスイッチャに取られるのをなんとかしたい。
-> システム->設定->キーボードショートカット にて調整
- たまに予期せずuim-skkがあがっている。これを解決したい。
-> uim-skkにつながるショートカットをon/offのC-\のみにした。
- Firefoxのキーバインドが変なので、調整する。
-> Firemacsを導入。快適。

* Emacsのライブラリがどの環境でも完全に同一である。[ほぼ完了]
- XML関係が未整備。
* Common Lispの環境が基本的に等価である。[ほぼ完了]
- clbuildはおわったので、あとは手動でいれるライブラリを少々。
* SSH環境が等価である。[これから]

よろよろ。

【pe】Common Lispまで来た!

とりあえず、UbuntuでCommon Lispの開発ができるところまで構築できた。
また無理をしてしまった。。。体調が、、、

* あらゆる制作ファイルをSubversionで管理。どの環境からも使えるように。 [完了]
* shell, screen, terminal, emacs, firefoxを日本語入力含めて最低限使えるように。[完了]
* キーマッピングがどの環境でも完全に同じである。[ほぼ完了]
- Alt(Meta) tab がGnomeのアプリスイッチャに取られるのをなんとかしたい。
- たまに予期せずuim-skkがあがっている。これを解決したい。
- Firefoxのキーバインドが変なので、調整する。
* Emacsのライブラリがどの環境でも完全に同一である。[ほぼ完了]
- XML関係が未整備。
* Common Lispの環境が基本的に等価である。[ほぼ完了]
- clbuildはおわったので、あとは手動でいれるライブラリを少々。
* SSH環境が等価である。[これから]

う、本格的に体調が悪くなってきた。。。

【pe】Gnome端末の問題?

Gnome端末 - Screen - Emacs - paredit

の状態でM-<up>やC-<right> (すなわちBarfageやSlurpage)がきかない。
Emacs(gtk)ならうまくいくので、Gnome端末の問題か?

これはこれで深そうな??
うーん。とりあえず、gtk版に退避するか、、、

2009年3月2日月曜日

【pe】Gnome,XでのM-> (解決)

とりあえず解決した。

システム->設定->キーボード->レイアウト->Other Options...->Layout switching
にて Alt-Shift changes layout のチェックを外した。(外すだけでは駄目ないようで、代替なものにチェックをいれた。何かひとつは選択されていないと駄目みたい)

これはxmodmapあたりで設定できることなのか、そうではないのか。
GUIからの設定というのはできるだけ避けたい。

よろよろ。

【pe】Gnome,XでのM->

ううむ。xevで調べる限り、M->を上手く発効できない。


  • 'Shift'をkeydownしつつ、'.'をkeydownすると'>'となる。'Shift'をkeydownしたまま、'Alt_L'もkeydownして、'.'をkeydwonしてもM->にはならず単なる'>'である。
  • 'Shift'と'Alt_L'とをkeydownした状態で、'.'をkeydownすると'Shift'が認識されなくて、M-. (find tag)になる。

うむー。Parallelsだからかなぁ。。。

より詳細に見てみると、'Alt'と'Shift'を押えながら'.'を打鍵すると、"keycode 50 (keysym 0xffe1, Shift_L)"ではなく、"keycode 50 (keysym 0xfe0a ISO_Prev_Group)"となっている。このあたりが鍵か?

【Subversion】運用開始

とりあえず、現在の母艦であるMac proにリポジトリを立てる形で運用を開始できた。

Ubuntu DesktopはParallelsで動かしている。

Subversionを介して、各種設定ファイル(.emacs, .bashrc, .clinit.cl etc)と制作中のプロジェクトファイルを共有できるようにした。

各種設定ファイルは設定ファイル内の環境判定分岐にて、環境毎の設定を実施する形にした。

またSubversionでリビジョン管理するものとしないものとがディレクトリ木構造の中で混在しているので、それはsvn:ignoreの設定にて対応することにした。

このポータブル制作環境自体を作るスクリプトをpe-init.shとして作成した。
このスクリプトを走らせれば、vanillaなUbuntuやOSXを使いなれた制作環境に自動的に変えてくれる。
環境毎の使い勝手の設定は例えばpe-setup.gnome.shなどとして用意した。これはgconftoolでkey_themeを変更したりする。

結構使えるようになってきたが、まだまだ細部の詰めが必要。

目標としては次のレベル分けをしている。これらの環境を確立することだけではなく、スクリプトを書いて、これらの環境がvanillaから自動的に構築できることが必要。

* あらゆる制作ファイルをSubversionで管理。どの環境からも使えるように。 [完了]
* shell, screen, terminal, emacs, firefoxを日本語入力含めて最低限使えるように。[完了]
* キーマッピングがどの環境でも完全に同じである。[これから]
* Emacsのライブラリがどの環境でも完全に同一である。[これから]
* Common Lispの環境が基本的に等価である。[これから]
* SSH環境が等価である。[これから]

これができると結構実用的に環境フリーになれる。

これを可能にしているベースは、生活環境がほぼEmacsの中であり、日本語入力がSKKであるということだろう。
それであっても、今回やってみて、「使える」ということと「実用に耐える」ということはおおきく違うなぁ、というのが実感だ。

特に大きいのが、Xというかgnomeだ。Linuxはサーバーとしてはもう随分長い付き合いだが、Desktopはまともに使ったことがない。これはこれでかなり勉強しないといけない状態。

Shibuya.lisp TT#2を観覧

土曜日はShibuya.lisp TT#2をなんとか観覧できた。
TTもLTも、それぞれが特徴をもち、大変勉強になった。
御尽力された運営の皆様に感謝。

ああいう催しというのはほとんど参加したことがなくて、実はShibuya.lisp TT#1が初めてだった。そしてTT#2が二回目。参加して感じることは、興味深いのは、この人スゲーということではなく、スゲーと言われる人々がみせる折り合いの付け方というかこつこつ日々進んでいることの片鱗というかが垣間見えるのが勉強になる、ということ。

今回も全員の発表者の方からいろいろな観点で学ばせていただいた。その中で日々こつこつという視点で興味深かったのは、和田先生の「再帰、大好き。このseparateっていう関数くらいすごい再帰関数がすらすら書けたらなぁ、と思うんだけどなかなかそこまでいけてません」というような発言だったり、リトルウイングの藤田さんの「MacのSDLがよくわかってなくて、CPU使用率が60%くらいなんです。(中略) MacのSDLのマルチスレッドもよくわからず、止めるにはこうするしかないんですよ」(と、アクティビティモニタから強制終了を)。また、著名な方々が、休憩時間に、和田先生のTAOCPの例がよくわからんとか雑談されてたりとか、気さくにディスカッションする中からもそういうことが読取れた。

もう一回確認したいのが山下さんのLazyのお話。これはLT5分だからかプレゼンの自動タイピングというか再生スピードが結構速かった。体調が悪いこともあり、読むのがついていけなかった。

Common Lispを勉強中の身としては、黒田さんのTTにも触れておくべきだろう。内容的には自分自身がCommon Lispを第一言語として選択している身であることもあり、共感できることが多かった。ただし、Schemeへの懸念というか「Lispじゃないだろ」という点については半分くらい共感できたが半分はわからなかった。このわからない半分というのは、R5RSは読み込んだことがあるし、R5RSの処理系(当時のgauche、plt-scheme)は使ったことがあるが、R6RSは一読すらしていないことから発生している。黒田さんがR6RSに触れた部分は判断不能だったということ。

しかしながら、藤田さんがR6RSのpackageとsyntax-caseとについて仕様記述の不十分さと、いくつかのケースでの振舞の気持ち悪さを言明されていたので、Schemeも言語の基礎設計が終わるのにはまだ時間がかかりそうなのかな、とは感じた。

よろよろ。