Diary?::2006-09-10

01:14

Happy Hacking Keyboard Lite 2 英語配列の使い心地はやはり良い。 Professional に比べると確かに打ち心地は劣るというか、やや抵抗が大きいように感じるが、 Professional を購入する余裕は無かったし、それに 5,000 程度の値段でこの打ち心地なら及第点どころか大満足。それにほら、なんだかんだ言ってカーソルキーが付いていると便利だし。

ちなみに日本語配列のものを選ばなかった理由は、余計なキーがごちゃごちゃ付いているのがむかつくから。無変換キーとかを俺は一切使わないし、むしろそのせいでスペースキーと打ち間違えてげんなりということが時々起こる。特に会社で使っているキーボードはスペースキーの幅がバカみたいというかバカな狭さで、極めて運指の荒い俺には地獄に等しい。というかキーボードぐらい勝手に持ち込みたいよ。

そのうち Dvorak 配列も試してみようかと思うが、流石にそこまでいくとやり過ぎというか会社で QWERTY 、家では Dvorak というのは混乱しそうだ。

10:19

少しずつだが gedit のインターフェースに慣れてきた。まだプラグインの書き方その他諸々がよくわかってないが、まあどうにかなるだろ。そして俺が vim を支持していた理由の一つが、シェルとのシームレスな統合にあることにようやく気が付いた。

例えば俺は vim でコードを書いた後に、ターミナルに戻らずにそのままコマンドモードに移行してそこから :!python filename とやることが多い (基本的に大抵のコードにはメイン部分にテストコードを書いている)。で、今のところそれを gedit でやる方法が見付かってないというか出来ないっぽいので、これはプラグインを書くしかないかなあ。

もう一つの大きな理由は検索と置換のインターフェース。俺が多くのエディタで最悪にむかついているのは、検索や置換をするたびにダイアログがポップアップすること。これのどこが最悪というと、ダイアログが出てくることによって作業のリズムが悪くなると感じるのも当然あるし、何よりも大きいのはダイアログによって編集中のドキュメントの一部が隠されてしまうこと。これはやってられない。検索も置換も出来るだけドキュメントの全体を見ながら行いたい操作なので、これは俺にとっては極めて致命的 (スクリーンショットを見る限り Scribes はまともっぽいが、プラグインが書けなさそうなので今のところパス)。

それにしても人類は未だに標準的なコンピューティング環境でまともなエディタとウェブブラウザを手にしていないと感じるのだが、やっぱこれって間違ってるよな。 Windows はそもそもまともな OS ではないと思うのだが、そこに同梱されているソフトウェアも十分酷い。メモ帳はどう考えても使いものにならないし (あれで HTML やプログラムを書けとか言ってる奴は人間として終わってると思う)、 IE に至っては Opera 以上にインターフェースが終わってる。国内でもっとも普及しているテキストエディタは秀丸だと思うが、俺には秀丸が優れたエディタだとは到底思えない (何よりフリーソフトウェアでは無い。前に書いたと思うが、本当にまともなソフトウェアはフリーソフトウェアであることが必須条件)。 Word を始めとした Office 関係のソフトウェアは諸悪の根源なので可能な限り使わない方が良い (これは OpenOffice なども同類)。これは特に Excel と Power Point について思う事なのだが、この両者は合法的なコンピュータウィルスとしか思えない。

これらのソフトウェアは機能が少なすぎると全く使えないし、機能が多すぎてもやはり使いものにならなくなる。プラグインなどでの拡張でカバーするというアプローチも実は大変難しく、下手をするとバッドノウハウの塊が出来上がる (vim スクリプトの変態っぷりや IE の Active X の惨状)。つまり、プラグインによるアプローチはある程度は出来るけど何でも出来ないというボーダーラインの見極めがまず難しく、そしてプラグイン作成のインターフェースの設計も難しい (これについては Python をプラグイン作成言語に使えるようにした点に付いては gedit を褒めたいと思う)。 Firefox の拡張は書いたことが無いのでわからないが、あまり深いところまで弄れると問題になるケースが出てくると思う (未署名の Active X セキュリティの問題と同じ)。もしも今現在問題になってない理由がシェアの低さだとしたら、やはり Windows の寡占状態は本当に害悪でしかない (こういう問題は気が付いたときには手遅れというケースが多い。多分)。

一つ楽観的な見通しを建てるのなら、最近の gedit などはかなり理性的なインターフェースになっているし、間違いなく Firefox は Mozilla よりもましなソフトウェアだろう。 vim にしたって素の vi に比べればずっとましなソフトウェアに思える。だから別にソフトウェアのインターフェースは全く停滞しているわけじゃなく、少しはまともな方向性に向かっているとは思う (シェルスクリプトが相変わらずなのは馬鹿げているとは思うけど)。

全然関係ないけど、 GUI と CUI は互いに補間関係にあるものであって一方が一方に常に優越する関係では無いよな、やっぱり。いやそもそも GUI と CUI という表現は誤解を招きそうだから別の表現を考えたいところなんだけど。

14:08

俺は金属性のピックが結構好きで使ってるんだが、無理な弾き方をすると弦が切れるので結構神経を使う。

というわけで切れた弦をバラで買ってきます。

16:36

アンチエイリアスのフォントは嫌い。

19:28

輸入ものの食料品店でチェリーコーラを発見。今まで飲んだことが無かったので迷わず購入したが、普通のコーラよりもうまいぞこれ。

22:30

というかだな、とりあえずコマンドを打とうとするのは俺の悪い癖のような気がしてきた。あんまりそういうインターフェースに拘るのは賢い選択では無いような。

ところで最終的な作業効率やイニシャルコストってのはなかなか計算しにくい問題で、実際にこうすれば便利だろうと思って作ったツールが、インターフェースが腐っていたせいで全く使いものにならなかったことが実際にあるからな。

ソフトウェア開発において、ユーザインターフェースってのは間違いなく一番難しい部分だろう。何故ならそこは人間を直に相手にしなければいけない部分であり、そして誰もが知っている通り人間それ自体が難解な存在だ。これは不特定多数を相手にわかり易い文章を書くのが難しいのと似ているかもしれない。

23:06

そもそもプログラミング自体、人間相手に行わなければいけない行為である以上は難しさはあんまり変わらないか。ただ、ソースコードってのは開発者以外には見えない (ていうか他の人は見ようとしない) のと基本的に処理系が解釈できれば良いものだから、プログラマは人間相手の商売じゃないって思われるのだろうね。

そしてそのことに気が付く前の俺は本当に酷いコードを書いていた気がする。ていうか書いてたよ、間違いなく。その頃は Python に触る前だったのだが、思い出すだけで頭痛がするな。だって C++ を褒めていたし PHP なんてものを使っていたし、 Perl にも今ほどは悪感情を抱いてなかったんだから。人間、変われば変わるものだな。

結論としては、まともな感覚を身に着けたかったら Python 使えって事で。

ああ、俺がまともかどうかには議論の余地があるが、俺自身はここ数ヵ月はまともなつもりだ。

23:59

vim の利点として、ファイルタイプごとにインデントの設定とかを変えられるというものがある。アホみたいなやり方だけどな (言語ファイルごとにタブを使うかとかを書き込む)。

でもそれが必要なのは Makefile を書くときくらいで、そして俺は滅多に Makefile は書かない。それにその程度のことならどうにか出来そうだし。

Written by Kuwata Chikara
Creative Commons