_ここ最近風邪が長引いているらしく,ずっと微妙な酩酊状態.酩酊ったってもちろん酒を飲んだとかそういうわけではないのだが,しかし状態を言い表すにあたってはそれなりに適切なんじゃないかと思ったりする.多少気だるい感はあるが,さして強い頭痛がするでもなく,飯も食えるしで,特に気兼ねするでもなく休めるなら,この酒に酔ったのと似ているようで違うぼーっとした感覚は悪くないなあ等と馬鹿馬鹿しいことも考えてしまうのである.私の場合体調を崩すとほぼ確実に喘息の方も併発するので厄介といえば厄介なのだが,まあ最近はこっちも軽いし.
_とはいえそうは言いつつもこれはこれでそれなりには弱っているらしく,活動レベルも思考レベルも低下してるなあと何かやらかす度に思ったりはする.色々危機感とかも弱りまくってる気がしたりして,後で焦ることにならなきゃいいんだけど,ある程度は諦めないとダメかなこりゃ.少なからず作業は停滞しているわけだし.ここでも妙なことを喋ったりしてなきゃいいけど.
_人は忘れる生き物である.人は,人は忘れる生き物であることを忘れる生き物である.
_ときどき富豪的プログラミングを勘違いしている人がいるような気がする.まあそこそこあちこちで言われていることみたいだけど.
_富豪的プログラミングとは,最近の計算機リソースは膨大なのだから,昔のようにケチケチするのは恥ずかしい,もっとふんだんに使ってユーザーの利便性を求めるべきだ,というような主張をする言葉である.というか,だと思っている.例えば,いまどき検索なんか一瞬なんだから1文字打つたびに反応させればいい,キーワードが全部打たれるまで応答しないなどケチケチしすぎだ,というわけである.昔の計算機では,1文字打つたびに検索などしていたらもたもたしていたかもしれないが,事実最近のマシンでは"インクリメンタルサーチ"は普通であるし,ストレスを感じるような遅延もない.理に適った主張である.
_勘違いしている,というのは,高速なアルゴリズムを実装すれば大幅にユーザーの利便性が上がるであろうにも関わらず,めんどくさいから簡易なアルゴリズムで済ましてしまう,というような場合に富豪的プログラミングという言葉を使うことである.いまどきサーチなど言語組込かあるいはライブラリで提供されるであろうからあまり適切な例ではないが,たとえばバイナリサーチが利用できるのに,めんどくさいし最近のマシンは早いから大丈夫だろ,といういい加減な理由でリニアサーチを書いてしまう,というような場合だ.これは決して富豪的プログラミングではない,と私は思う.これはただのプログラマの怠惰だ.
_富豪的プログラミングは,狭義には直接的にユーザーの利便性に結びつくなら,計算機リソースを消費してでもそれを優先すべきである,というものであるべきだと私は思っている.つまり,主にユーザーインターフェイス部分がこれにあたる.確かもともとの提唱者もそう言っていたはずだ.内部の目に見えない実装は,納期が許す限りきちんとチューニングして,ユーザーにより良いパフォーマンスを体験させるべきである.それにしても納期が許す限りって嫌な前提だよなぁ.
_しかし,先に怠惰として出した例と似たような場合でも,富豪的プログラミングと言える場面はあるかもしれない.あまり良い例が思い浮かばないのが残念だが,例えば高速なアルゴリズムはあるにはあるが,大変複雑で実装にも時間がかかり,バグを出したときに修正が難しい,などという場合は,計算機性能に任せて低速だが確実で,仮にバグや要求変更があっても修正が簡単なアルゴリズムを選択するのも良いかもしれない.この場合は,広義には富豪的プログラミングに含めても良いのではないか,と思っている.先の例と違うのは,明確な理由をもってアルゴリズムを選択していることにある.長期的に見れば,バグや要求変更が容易で短期あることは,間接的にユーザーの利便性に結びつく,ともいえるかもしれない.
_いかんなあ.例が悪すぎる.
_なお,なにも怠惰が常に悪であるという主張をしたいわけではない.単に,ただの怠惰を富豪的プログラミングという言葉で誤魔化すのはどうよ,と言いたいだけである.実際,プログラマとユーザーが同一かつ一人である場合はむしろ怠けてなんぼということも少なからずあると思う.
_まあ,なんだかんだ言ったが,使う人の事を第一に考えろっていうのは一般的な"ものづくり"の世界で共通することだろう.大事なのはなんとかプログラミングとかなんとか手法とかどうとかではなくて,プログラムとて"誰かが使う物"である,という意識の方なのかもしれない.忘れないようにしたいものである.
_ブラウザはここしばらくずっとSleipnirを愛用していたのだが,なんかタブ機能が増えたとかどうとかで実は少しだけ期待をしていたIE7を試しにインストールしてみようかなと思っていた矢先,妖精現実さんがIEさようなら宣言をされていた.まあいちサイトがIEで見られないからといってそう困るというほど困るわけでもないのだが,しかし面白くないのも事実である.妖精現実さんの主張も全くもって同感なことであるし,Sleipnir/IEに拘る理由ももはや現状維持のバイアスが主な理由という状況でもあったので,この期に比較的評判の良さそうなFirefoxに移行することにした.
_とはいえFirefoxもタブブラウザとはいうものの,ExtensionなしではちょっとSleipnirのように使うことはできず,いくつかExtensionをインストールすことになった.そんなわけで,Firefoxを再インストールまたは別の環境にインストールしようとする後の私のために,とりあえず私がSleipnirで使っていた機能を再現するために入れたExtensionをここにメモっておくことにする.だってメモっておかないと何のExtensionインストールしたのかわかんないんだもん.
_Tab Mix Plus.タブ機能の拡張だけど,多分これひとつでSleipnirのタブ機能の殆どが網羅されているんじゃないかと思う.もちろん詳しく調べたわけではないけども,とりあえず私がSleipnirで設定していたタブ関係の設定はできたのでよしとする.設定項目が多くて設定は大変だが,一度設定してしまえばテキストファイルに設定を書き出せるので,どこかに保存しておけば二度目からはインポート一発でOKなのは嬉しい.
_ViewSourceWith.ソース表示のときのビューアに外部アプリケーションを指定できるようにするもの.Firefox組み込みのソースビューアはどうも気に入らないので,これで外部テキストエディタを指定するようにした.やっぱり慣れたエディタで開いてくれるのが色々嬉しい.エディタの変更をしても問題ないし.これでソース表示もSleipnir時代同等に.
_Digger.URLの階層を上がれるようにするもの.Sleipnir時代はAlt+↑で上がっていたのでそれと同じ設定ができると嬉しかったのだが,どうもショートカットキーの設定項目はないようだ.ただアドレスバーのアイコンから数段一気に上がれる選択が可能なので,まあこれはこれでいいかなと.
_Resize Search Box.検索バーの横幅を変更できるようにするもの.Sleipnirは通常のツールバーカスタマイズでサイズ変更できたんだけど,Firefoxはどうも固定幅らしく,これを入れないと横幅を変えられない.デフォルトだとちょっと短すぎるので,これをインストールして長くしてみた.満足.
_NoScript.JavaとJavaScriptの実行を抑制し,ホワイトリストに登録されたURLだけ実行を許可するもの.Sleipnir時代はページセキュリティで基本OFFにして必要なサイトだけは逐一ONにしていたので,それの代わり.まあ全OFFでも一通りは困らない程度に世の中回ってくれればいいのだけど,サイトショートカットメニューが表示されないとかその程度ならともかく,有料サービスの公式サイトのくせにJavaScriptその他をONにしないと真っ白のページしか表示されず,JavaScriptの許可が必要との警告すら出さない酷いサイトがあったりするので,そういうところのためのもの.信用できるところはホワイトリストでいいし,そうでなくても一時的な許可も可能だしで,Sleipnir時代よりもちょっと良くなったかな.
_Compact Menu.メニューバーをツールバーのボタンひとつにまとめて隠してしまうもの.メニューなんて滅多に使わないものを表示しっぱなしで画面を占有するのも馬鹿馬鹿しいので,これでひとまとめにして短くし,その分空いたメニューバーにいくつかのツールバーボタンとアドレスバーと検索バーを乗せて,不要になったすべてのツールバーを非表示にした.これでSleipnir時代よりも薄いバーに.色々満足.
_あとこれはSleipnir時代にもなかった機能だが,Live HTTP Headersというのも入れた.HTTPのヘッダを表示してくれるもので,入れておくとCGIを書くときとかに重宝しそうだったので入れてみた.CGI以外にもその他もろもろに使えそう.これでもうtelnetでHTTPを喋らなくてもいいんだ! 素晴らしい.
_で,とりあえず一通りは満足したのだが,なんかFirefox 2が数日後にリリースだとかどうとか.なんだよせっかく1.5入れたのに.まあしばらく様子見でもいいかな.ここに挙げたExtensionが全部公式対応してくれるまでくらいは.
_Firefoxだが,おおむねどのサイトも困らない程度に閲覧できるようだ.よきかなよきかな.いくつかどうにもならないところはあったのでそういうところのためにIE TabなるExtensionを入れて殆ど解決と相成った.Sleipnir今までありがとう.
_で,DiggerがAlt+Upで階層を上がれないという話をしていたのだが,実はGo UpというもっとシンプルなものがAlt+Upも対応してくれていた.てっきりツールバーのボタンだけかと.そんなわけでこっちに入れ替えてDiggerは外した.別に共存できないというわけでもないのだろうけど,あんまりたくさん入れておきたくないので.
_NoScriptはなんだかもうすでにFirefox 2でも使えそうな雰囲気.Resize Search Boxに関しては,2から自動伸縮するようになったとのことで不要などという話もあるが,ロケーションバー(アドレスバーのほうが慣れてるんだけどな)と隣りあわせで設置したときにちゃんと任意調節できるのかが心配で,できないならまた入れないといけない.Go Upはもう2でも使えそう.ViewSourceWithは本体に取り込まれたので大丈夫.問題はTab拡張かなあ.
_とりあえずタブ機能で必要なのは,シングルウィンドウモードと,新規タブを開いたときにアクティブ化するかどうかの操作毎の任意設定,タブのダブルクリックでタブ閉じるが割り当てられること,タブの中クリックで更新が割り当てできること,である.これらの機能のうちどれだけが本体に取り込まれたのかがちょっと気になるところではある.全部設定できればExtension入れなくて良いから色々嬉しいんだけど,無理だったらTab Mix Plusの2対応を待たないといけないかも.まあでも一週間以内に対応するって公式で言ってるからそれほど問題ではないか.
_ところでタブのダブルクリックはどうやら世間では更新に割り当てるのが一般的らしい.でもって中クリックは閉じるである.どうやら私と逆らしい.一般的なものに慣れておく方が良いような気もするのだけど,この操作に関しては根本的に慣れてしまっているので如何ともしがたい.Windows 3.1時代から,ウィンドウを閉じるにはコントロールメニューボックスをダブルクリックなのである.右上の×ボタンなんか存在すらしない時代からの由緒正しき,かどうかはともかく古くからの操作方法なのであって,ダブルクリックで閉じるの機能はなかなか譲れないのだ.×ボタンが登場して随分経つにも関わらず,未だに私はコントロールメニューアイコンをダブルクリックしていることが多い.もっとも×ボタンもそれなりに使っているのだけども.あとは真面目にメニュー開いて閉じるや終了を選択していることも結構ある.まあもっともこの辺は殆ど意識してないので,それぞれの使用頻度に関して実際にどれがどの程度なのかはイマイチ分からないのだけど.
_最大の問題はCompact Menuだったりとかして.コレがないとメニューが邪魔で仕方がないのだが,早めに対応してくれると嬉しいな.何,自分で作れ?
_カタン.初期土地が生産力345のチャンスカードセットx2という脅威の土地に恵まれる.その代わり道セットが一切出ない困りもの.とはいえ盤面全体としても道セットが不足気味で,みんなしてアップグレードはするが道が延びないという戦いになった.さすがにチャンスカードセットx2の土地を持つだけにチャンスカード戦略に走り,ゲーム終了までに街道1,収穫1,独占1,ソルジャー2,2ptの計7枚を引いた.はじめはソルジャーでLARGEST ARMYを取る気だったのに,ソルジャーが全然出なくて激しく困った.木と土が出ない盤面だったので道も延びずLONGEST ROADもなかなか取れない移らない.まあそれでも土地が良かっただけに割となんとかなるもので,家x2,街x2の状態から最終ターンでアップグレードx2で8点にし,チャンスカード2ptを開いて私の勝利となった.LARGESTもLONGESTもナシであがるのって割と珍しいんじゃないだろうか.最後2ターンほど盤面+LONGESTで明示的に9pt稼いだ黄がHate値を上げまくっていて,周りの圧力がそっちに移っていたのはそれなりに大きかったとは思うけど.
_勝因は至って普通に有り余る鉄,小麦,羊の生産力だった.ぶっちゃけそれで負けるなよと言いたい感じの土地だったわけだが,それでも黄も緑もリーチ状態だったわけで,なかなか侮れない.まあ赤に関しては私が道を2回ほど止めてしまったのでちょいと圧力が過ぎた.もっとも赤は私からの理不尽な圧力もさることながら,どう考えても初期道の間違いが致命的だった.拡大再生産系のゲームなだけにあの初期ミスは後に響いたに違いない.あと黄がまだ2戦目であるにも関わらず見事に力を付けていた.賢い奴は怖い.
_パッケージには1戦約1時間とか書いてあるんだが,何度やっても2時間近くかかる.みんなもうちょっと早く回そうぜ.次にできるのはいつかな.