[Top] > [Records May, 2007]

Platitudinous Records May, 2007

【<旧日記】【一覧】【新日記>】

● May. 9, 2007 (Wed.)

_なんだか文体で誰が書いたかバレバレ等といわれたらしい.そんなに私の文体は特徴があるのか.文体っていうよりむしろ言い回しなのかもしれないが.内容も内容でいつも代わり映えしないよなぁとかそういう感じだ.匿名掲示板とやらですらそこそこの精度で予想されていたのだからよっぽどなのかもしれない.まあある意味それはそれでいいじゃないかという気もするな.

_巷はごーるでんうぃーくなどという長期な休暇があったらしいのだが,私といえば何をしていたのかというと,新マシンという大変楽しげなおもちゃを手に入れてしまったがためにそれで遊んでいた.おかげで部屋のど真ん中にマシンが入っていた段ボール箱が鎮座したままになってしまい,カタン会をやりそこねてしまったわけである.日曜日は雨降りやがったしなぁ.とりあえずカタンを広げられる場所があるかどうかを確認する必要があるな.

_で,RAID1である.新マシン.つい入れてしまった.ぶっちゃけ無駄くさいよなという気はとてもするが.物理的に同じ場所に存在することは事実なので,地震とか火事とかからはどのみち保護できない.それはメディアにバックアップするのであっても同じことなので,天災に備えるならネットワーク越しに物理的に違う場所にストレージを置いてバックアップでもとっておけということになる.

_CPUはCore 2 Duoを選んでしまったわけだが,ぶっちゃけお値段がびみょかった.もう少し安くなってから買うべきだったのではないかという気がする.でもやっぱり時代は省電力なのだよ.電気代どうこうじゃなくて単に冷却ファンがやかましいのが嫌なだけだが,どのみち夏はやかましそうだな.

_OSも一緒にVistaになってしまったわけだが,なんというかどの設定がどこにあるのかわかんないのは相変わらずである.バージョンあがるたびにあの設定どこだろうという状況に陥るのはなんともいえない感じはあるが,そういやXPのコントロールパネルもclassicで使っていたんだっけな.XPの新モードに慣れていたら多少は違ったのかもしれないが,まあ一度分かってしまえばなんとかなるっぽいのでよしとしよう.2000からXPに移ったときよりはマシな気がするのは,単に私がそういうのに慣れたというだけだろうか.

_VistaといえばやっぱりAeroなんだろうか.まあ,少なくともXPでLunaをみたときのような「げ,なんじゃこりゃ!」というのはなかったのでこれはこれで悪くはないんじゃないかな.Lunaより遥かにマシである.もっともタイトルバーが半透明なことにどれだけの意味があるのかは大変疑問なのだけど.Aeroのいいところは単純に,バックグラウンドアプリケーションの作画も行われているということなのかもしれない.Aero機能を停止しても,Look & FeelはAero入りの状態とほとんど変わることなく使えるので,グラフィックカードが弱いとか,あるいはエディションがHomeでAeroが使えないのだとしても,単純に見た目だけなら"Vista風"にできるからさほど心配はない.タイトルバーは半透明ではなくなるが,正直個人的には半透明であることにあまり価値を感じない.ただ,バックグラウンドアプリケーションのいわゆる"隠れた部分"の作画が停止されるので,Alt+Tabやタスクバーボタン上にマウスオーバーすることでのプレビューウィンドウが表示されなくなる.このことにどれだけの価値を感じるかは分からないが,"あったら便利"なのは事実ではある.そいや,Alt+Tabの選択肢で"デスクトップ"が増えているな.これを選ぶとすべてのウィンドウを最小化してくれる.

_あとがらっと変わったのはUACだろうか.Program Files以下等へのアクセスに昇格が必要になり,ファイル操作やアプリケーションのインストールのたびに毎回毎回許可を求めてくるようになった.コントロールパネルでの設定もほとんどが昇格許可が必要だ.ある程度うっとうしいのは否定しないが,少なくともUnix系に慣れてる人は素直に受け入れられるだろう.問題はなにかというと,Unix系のsudoに相当するコマンドライン上の昇格手段がどうもないらしいという点だ.これには大変困らされる.runasというコマンドはあるのだが,これは実行ユーザーの変更は可能だがどうも昇格はできないらしい.GUIならショートカットや実行ファイルを右クリックすれば「管理者として実行」メニューが表示されるのでこれで昇格が可能なのだが.仕方ないので昇格するオプションを入れたcmd.exeへのショートカットを作成し,cmd.exeそのものを昇格させて使っている.しかし,これってぶっちゃけ,どうなのよ.セキュリティ的にさ.そのcmd.exeから起動されるアプリケーションは全部昇格済みだ.なんてこったい.

_で,UACにより一般アプリケーションのProgram Files以下へのアクセスが遮断されたわけだが,では今までによくあった,実行ファイルと同じフォルダに設定ファイルを置くような古いアプリケーションは動かなくなるのかというと,そういうわけではない.それらのプログラムのProgram Files以下へのアクセスは,ホームフォルダのAppData\Local\VirtualStore以下に転送されるようになった.たとえば,Program Files\app\app.exeがProgram Files\app\app.iniを作成しようと試みると,この試行はAppData\Local\VirtualStore\Program Files\app\app.iniに転送される.このシステムによってユーザーごとに違う設定が使用可能というわけだ.今のところこれで普通に動いているアプリケーションばっかりなのでそこそこ安心した.旧マシンから設定を引き継ぐときも,VirtualSotre以下に同名のフォルダを作成して突っ込んでやればちゃんと引き継いでくれる.

_あと,リモートデスクトップ接続も微妙にバージョンアップしているようで,Vistaがホストの場合はフォントのClear Type作画もちゃんと転送してくれるようになったらしい.これは大変ありがたい.まあもっとも,Vistaで標準になったメイリオフォントはClear Typeか少なくともアンチエイリアシングは前提なフォントで,こいつをどちらもなしで作画すると"たいへんなこと"になるから,やらざるを得なかったのだろう.

_そうそう,あとterapperのVistaでの使い方をメモしておこう.XP時代はterapperを使うにはセーフモードで起動するというtipがあったわけだが,Vistaはセーフモードで起動しても無理なようだ.ではどうするのかというと,こんな感じでやる.

  1. notepad.exeのプロパティを開く
  2. セキュリティタブの詳細設定を開き,notepad.exeの所有権を取得する
  3. プロパティウィンドウを開きなおす
  4. 「監査」の項目をすべて削除する
  5. ファイルへのアクセス権を取得する

_これでnotepad.exeの名前変更も削除も自由自在になるはずなので,どいていただいてリネームしたterapperをおけばよい.notepad.exeはWindowsフォルダとSystem32フォルダの両方に居るから,両方やってしまえば完了である.セーフモードでの起動の必要はない.まあ,監査の項目を削除する必要性があるのかどうかは確認してないけど.てか,今やったら別に所有権取得しなくても監査項目の削除は可能だなあ.アクセス権の取得はまず所有権取得しないと無理っぽいけど.

● May. 21, 2007 (Mon.)

_AIRこんが終わったらしい.やっていたのは知っていたのだが,まぁ私自身に二次を書く気がさっぱりないのもあって完璧にスルーである.というか二次を書く気がまったくない上に,AIRほど二次やりづらい作品もないわけで.ただ今回容量制限が緩かったらしくその点に関してはちょっと羨ましいかもしれない.まあ別に容量制限が緩ければ良い作品が書けるとかいう話ではないが,要は単にだらだら書いていると長くなってしまうのでというだけだ.そういう意味では容量制限が緩いのはむしろ悪いともいう.ただある程度の尺はほしいなあ個人的には.

_で,なにやら結果を見るとえりくらさんが上位にいらっしゃいますね.3位おめでとう! それにしても,匿名が1位と2位を掻っ攫っていっているのはそれはそれでどうなのかなと.いや,匿名にする理由は色々あるだろうから別にいいんだけども,ちょっと寂しいかな.そういう意味で名前公開でトップに立ったのはえりくらさんというわけである.すばらしい.

_まあそんなわけで二次はかなりスルーな私はオリジナル笑顔でよんかいめ(またこの名前なのか?)をちょっと期待しているのだが,しかしなんというか,ネタがない.容量制限だけでも先に発表してくれないかな.前回ネタを考える時点で容量を明らかにミスっていたので次回は少しくらいは考えたい.ネタひとつぽんと用意して,そのネタでどんな容量でも書けます,みたいな実力は私にはないのだ.なのでネタの時点である程度容量を考える必要があるのだが,目的のサイズがわからないと如何ともしがたい,というわけである.とはいえ,無駄に主催さまに負担掛けるのも良くないよな.

_しかし一度決着が付いてしまうと次はなかなか難しい.こんな感じで書こうか,と頭の中で思い描き,それと上位層を比べて,これじゃダメだ,勝てない,と思う.もちろん,次は1位を取れるなどとはカケラも思っていない.ぽっと出な上に何の訓練もしてない生粋の素人が,突然前回上位層に入っていた人たちに勝る作品が書けるはずはないのである.とはいえ,上を見ていないことには自分自身が進まないのもまた事実なのかなと思うこともあって,妄想の中でくらい,これなら勝てる,と思えるものをなんとか考えたいとも思っているのだ.妄想で最高のものを考えたところで,出来上がるのはその1/10か,1/100か,それが現実だろう.逆に言えば完成予定品の100倍くらいの品質がある妄想でくらいは上位層を踏み倒さなければお話にならないわけで,それですらダメだと思っているようでは,正直,ダメなんだろうと思う.

_開催はもう少し先だと思うけど,少しくらいはなんとかしたいな.重要なのは怖がらないことなのかもしれない.最下位だって良いじゃない.素人だもの.

● May. 29, 2007 (Tue.)

_なんか,おりこんよんかいめの容量制限だけでも先に発表して欲しい,とか言っていたらそのあとすぐ発表があったらしい.これはつまり短編16KB中編40KBってことでいいんだろうか.16KBは前回同様なので多少のことはともかくとしても,40KBはこれはこれでサイズの感覚がない.しかし40KBの方に投稿する場合,短編程度の内容でだらだら膨れ上がったものを投稿して,40KBの価値なしという感想を付けられるのだけはなんとかして避けたいというのもあって,そんなに簡単な話ではない.せっかく機会を用意して頂いたというのに見合う作品が出せないのは色々問題ではないか?

_過去だらだらと書いていたものを見返してみたらどいつもこいつも100KBから120KBとかそういうレベルの分量らしい.これは,だらだら書いているとだんだん疲れてきてこの分量で力尽きるとかいうのが毎回のパターンなんじゃないかという予想が付く.単純な計算をすればざっくりいって1/3にしろということだが,このサイズになっている経緯を考えると単純な話ではなさそうな気がする.おおむねだらだら書く癖がついているのはこの雑記のせいなのかもしれない.雑記に関しては雑記は雑記なんだからいいんだよと開き直っているので割とどうでもいいのだが.

_妙な言い回しがいけないんだ.きっと.でもその言い回しの点についても大分開き直っている感はあって,あんまり何とかする気は起きていない.そうならそうで別の点でサイズの調節ができればいいんだけど,じゃあそれでなんかあるの? というと,特に思い当たらないあたりが大問題.

_まあその前にネタを出せと.

● May. 30, 2007 (Wed.)

_Java Collections FrameworkのSetインターフェイスにfindメソッドが存在しないのは何故か.

_不要だからである.

_なるほど.不要か.そうか.まあ実際にこのことそのものは,概念的には事実である.なぜならSetには同じオブジェクトを重複して含めることはできないという契約が存在するため,findの引数に指定するべきオブジェクトは,既にSetに含まれているのであれば当然それ自身であるからだ.従ってcontainsメソッドのみで用が足りる.なるほど納得できる話ではないか.この話が崩れるのは,オブジェクトのequalsメソッドがオーバーライドされており,このオーバーライドされたequalsメソッドがすべてのフィールドを調べない場合である.

_例えば,IDと名前を格納するクラスを作り,これにIDのみで同一性を調べるequalsを実装することを考えよう.このIDと名前を格納するオブジェクトをSetに格納し,IDから名前を検索するということをしたい場合,findメソッドさえあれば,検索したいIDだけを保持し名前欄を空欄にしたオブジェクトを引数にfindすることにより名前を得ることができる.しかし現在はfindメソッドが存在しないので,それはできない.

_よしわかった.それはSetではなくMapの仕事である.もろもろ理由によりIDと名前が同一のクラスに含まれている必要があったとしても,改めてMapのKey部分にIDを指定して検索できるようにすべきである.Key部分の参照変数が余分に必要になろうが,Javaはとても富豪的なので気にしてはいけないし,例示したようなSetの使用はプログラムの見通しを悪くするので行うべきではない.

_いやまてよ.だがC++のstd::setにはfindメンバ関数が存在する.これのおかげで先に述べたような検索データベースがsetで実現できるが,しかしそれをするためだけのメンバ関数なのか? そこで詳しく調べてみると,std::mapのfindメンバ関数は,対象のオブジェクトを指定して,それに対するiteratorを返すとなっている.つまり,メンバ関数の名前のとおり,その要素がどこにあるのかを探す関数なのである.しかしこれは,std::setが木構造で情報を保持しているという内部実装に依存する話であり,たとえばハッシュ法を使ったsetでは位置という概念が明確ではない.

_では,JavaのSetにおいて,意味ある順序付けが存在することを指示するにはどうすればいいか.それがSortedSetインターフェイスである.なるほど,私は名前にだまされていたというわけだ.C++のstd::setと真に比較すべき存在は,こちらだったのである.そんなわけで冒頭を改めよう.

_Java Collections FrameworkのSortedSetインターフェイスにfindメソッドが存在しないのは何故か.

_なんでないんだよ.

_とはいえ,Setの概念からして不要であるという論は,Sortedが付いたところで同様なのは間違いない.位置についての操作をしたい場合は,tailSetメソッドやheadSetメソッドが存在しているので,そのあたりを使えばおそらく相当する操作は可能だ.例示した検索データベースもset.tailSet(target).first()とかそういう強引なことをすれば実現そのものは可能そうである.もっともtargetがsetに含まれていない場合は別のオブジェクトがひっかかりそうだが.

_まあそれがJava流ということなのだろう.

● May. 31, 2007 (Thu.)

_二度寝の誘惑には何人たりとも抗えない.

_問題は二度寝することじゃなくてそのあと起きられないことなんだよな.マジで遅刻しかねない.二度寝専用に1.5時間くらい早く起きるとかいうのはそれはそれで面白そうだが,二度寝したというよりは「こんなに早く起こしやがって」としか思えないであろうことが大問題.というか実際そうとしか思えない.

_琉球行軍が仕事の精度を下げた気がとてもする.直接的には仕事に関係なさそうなところでは色々得るものはあったと思うけど,ぶっちゃけて言えば休みなしである.単純に体力的な問題を考えれば琉球行軍に行かないほうが消費が少なかったのは明らかで,個人的あるいは長期的な視点からいえば決して無駄ではなかったと思うが,しかし短期的な視点でいえばいろいろ精度が下がっているという点でよろしくないのもまた事実である.色々言っているがぶっちゃけ言いたいことはなんとなく疲れたってことだけだ.

_行軍中,鏡に映った自分の顔に妙に腹を立てていた自分がいたことを思い出す.造形がどうのというよりも,表情を作るのに失敗しているかのような壊れた表情がいかにも馬鹿馬鹿しかった.

_琉球から持ち帰ったガム親子は,最初に子供を渡したときの「ナニコレ」という反応と,親玉を見せたときの「でかっ」という反応の落差を二人から得たことで,個人的にはそこそこ満足している.ちんすこうとかよりはマシだったに違いあるまい.そいや二人とも無駄に写真を撮っていた気がするのだが,何に使うんだろう.

_前回の琉球行軍の記憶も,あやふやでありながらしかし断続的に残っているのが災いしていたのかもしれない.今思えば連れという表現は良かったのかもしれないな.だが借りは今でもそのままだ.死ぬまで借りっぱなしにするというのもまた失礼な気はするが,しかし.

_私は蝦夷に行きたいのに.でもだんだんと今更感が漂ってきている.ここまでくるといざ行ったときに固まること請け合いであろう.


【<旧日記】【一覧】【新日記>】
[Top] > [Records May, 2007]
管理者:Wayne mail address