ぎょーむ日誌 2002-04-(11-20)
2002 年 04 月 11 日 (木)
- 0650 起床.
よーし,
今日はちょっと早く起きれたぞ.
シャワー.
0715 自宅発.
ゴミだし.
晴.
京浜流刑地からストーカーのごとく追いかけてきた
東京電力・東京都水道局・NTT の料金を
北 11 西 1 のセヴンイレヴンで支払う.
(あれ? 領収書がみつからん).
0730 研究室着.
朝飯.
コーヒー.
- せっかく早く来たのに「ぎょーむ日誌」書きなど.
昨日はばたばたしててほとんど書けなくてですね.
- のんびりした北大事務がぽつぽつと五月雨式に提出要求だす
紙切れに文字をうめる.
なんかよくわからないけど,
こんどは文部科学省共済組合とやらに入らないといけないらしい.
ふう.
給料からさっぴかれるんだろうけど,
自分が受け取れると考えるより
現在使われる福祉の財源みたいなモノ,
とでも捉えていたほうがよさそうな.
- えーと,
私の基礎年金番号とやらは
……
7550-201434 か.
- 地環研ネットワークはこれまでわりと独立に運営されてきたんだけど
……
「できる」ヒトが徐々にいなくなったので,
ちかぢか大計 (大型計算機センター) に何もかも移管することになる.
その説明会の資料が事前に公開されているので
ちょっと見てみる.
ふーむ,
サーヴァー以外は全学 DHCP につなげ,
か.
どこの大学でもやることは同じだな
……
- などとやってると,
御結婚いらいすっかりふつーの周期
(すなわち朝起きて夜寝る)
にそって生活されるようになった
かとー先生が登校されてきたり.
- 午前中はあれこれ雑用で終る.
- 環境研の竹中さんが
枝の長さと側枝の数の関係をモデル化する
というおもしろそうなメモを公開されていたので,
ちょっとコメントなど.
この方式は牧さんが以前に同じ問題を解くのに考案されたのと
よく似ている
……
が,
いろいろと伺ってるうちにこの問題に関する
その後に尤度方程式の二通りの立て方の整合性がわからなくなる.
これは夜まで考えても解決しなかった.
- その合い間にも何人かのかたに別件メイルいただく.
なんか今日は含蓄にとんだコトバがいろいろと
……
順不同・匿名でいくつか紹介
(
は久保の注釈).
-
アロメトリ−がらみのものは、
生物学の伏魔殿ではなかろうかと思うことがよくあります。
-
ぎょーむ日誌から毒気が少し減っているような気がします。
-
ところで
こんな雑誌
を見つけました
。
最近出たものとは思えない宣伝文句です。
気分を害したら
……
-
頭を使わせてしまって申し訳ないです.
-
私の理解では、「久保的」とは「自虐的」です。
-
ひょっとしなくてもアプリケーションが悪いんでしょうね。
ほほほ
- 確率論の問題は難しい
……
人間の直感に最も反しているからである
(とは
今野さん
のコトバであるが),
ということで問題解決がススまないので,
かとーオフィスを出て廊下うろうろ階段上下行お茶部屋闖入
……
低インシュリンダイエットコントロールに関して
昨晩いろいろとご教示してくださった
某大学院生さんがアイスクリーム食べておられる.
「…… いろいろと複雑ですね」
「何がですかっ! 精神の安定のためにですねっ」
「も,もちろん! 安定は重要ですとも」
- 竹中さんの推定問題に関して,
ごく簡単な場合に関しては
(いや,おそらくたいていの場合において)
推定量が一致しそうだということはわかった.
しかし尤度方程式はどうやれば一致するのかわからん.
うだうだしてると牧さんが工夫された
推定方法を紹介するメモも送っていただいて,
私の脳内迷走はいよいよ悪化.
- アタマ休めると称してお茶部屋で晩飯食ってると,
外出されていた
(また別の) 某大学院生さんが戻ってきて怒りも激しく
お気にいりの美容師さんがいなくなったのでとてもがっかりして
パセオ (JR 札幌駅構内・地下の店舗群) に
新しくできた美容院に試しに入ってみたら
自分のチャームポイントまわりをひどくずさんに切られて
……
と憤っておられるので,
当方食事どころか言葉を発することもままならぬまま
背筋を伸ばしてそれを謹聴する.
- 谷さんがけーたい買って来られたので,
これでほぼ全ての大学院生は移動通信システムを持つことになった,
と皆から祝福されている.
一方で,
カ行・左利きの多い教官どもは誰も無線機のたぐいを持っていない.
- 石井さんから Functional Ecology 論文の別刷三通いただく
……
すごい.
- なんか今日も一日がよくわからぬままに終ってしまった.
2140 研究室発.
ちょっと買い物して 2200 帰宅.
あ,
今日は運動休養日になってしまった.
- 今日の食卓
- 朝 (0740):
お茶部屋.
米 0.6 合.
昨晩の炒めもの残り.
- 昼 (1320):
米 0.8 合.
昨晩の炒めもの残り.
- 晩 (1920):
米 0.8 合.
昨晩の炒めもの残りと卵 (これはニセコ実習残り)
まぜてフライパンで焼いた.
2002 年 04 月 12 日 (金)
- 0740 起床.
やはりもうちょっと早く帰らないと早くに就寝できない.
シャワー.
0715 自宅発.
曇.
0730 研究室着.
あいかわらずお茶部屋にて朝飯の準備.
朝飯.
コーヒー.
- お茶部屋まわりのゴミ捨てと掃除.
どうも私がこの部屋をもっともちらかしてるような気がするんで.
- 午前中あれこれ雑事をやったような気がするんだが,
実感としてはまたしても「何もススまなかった」状態.
北大近辺の時間の流れかたは独房区画内とずいぶんと異なる.
いまだに慣れない.
まぬけだ.
- 甲山さんが査読原稿いらないからあげる,
とかいって数式ならんだ紙切れをいただく.
著者は
……
おお,Ben Bolker.
さらに驚くべきことに,
かとー先生もこの人物を知っている.
なんでも
R-help mailing list
の常連投稿者であるから,
とのことのようで
……
はっかーははっかーを知る,
というか.
- お茶部屋で昼飯食おうとしたら,
とくに匿名希望する料理人氏が
チカ
(ワカサギの近縁種らしい)
の南蛮づけをタッパーウェアごとめぐんでくれた.
ありがたいことです.
- 午後は 平尾君 (D1) と無作為化検定 (の前段階の順列生成)
の問題を考えてすごした.
- 無作為化検定 (randomization test) の準備として,
ある条件をみたす順列をもれなく・重複なく生成したい.
今回は具体的には {1, 2, 3, ..., 9} という数字を
3 つのグループにわけたい.
- こういうグループ
{1 2 3} {1 3 2} {2 1 3} {2 3 1} {3 1 2} {3 2 1}
はすべて「同じグループ」とみなす.
- グループ {A, B, C} があったときに
(A, B, C はそれぞれ 3 個の数字を含んでいる)
{A B C} {A C B} {B A C} {B C A} {C A B} {C B A}
はすべて「同じグループ」の組み合わせとみなす.
- ……
という条件のもとで可能なグループ・グループ組み合わせを
列挙せよ,
という問題だ.
あるいは結果の例をみてもらったほうがわかりやすいかもしれない.
まず {1 2 3} を
{1 2 3} {1 3 2} {2 1 3} {2 3 1} {3 1 2} {3 2 1}
…… という「同じ」グループを代表する表記としよう.
- 数字を 1-9 まで使うと 280 通りの組み合わせがあるので,
1-6 の場合を考えると,
このとき生成されうるグループは以下の 10 通りとなる.
{1 2 3} {4 5 6}
{1 2 4} {3 5 6}
{1 2 5} {3 4 6}
{1 2 6} {3 4 5}
{1 3 4} {2 5 6}
{1 3 5} {2 4 6}
{1 3 6} {2 4 5}
{1 4 5} {2 3 6}
{1 4 6} {2 3 5}
{1 5 6} {2 3 4}
- で,
われわれが得たかったのは 1-9 つかった場合である.
- 解決に至る道のりをおってみよう.
そういうグループ化された順列を生成するプログラムが書きたいわけだ.
で,
最初は奥寺アルゴリズム本などまぢめに調べてみた.
ところが,
こういう「グループ化された順列」とでもいうべきものを生成する
ような方法は紹介されていない.
- とはいえ,
順列生成というのはよく使われる技法だから,
とりあえず Perl にそういうできあい (かつ高性能な)
順列生成モジュールがないかどうか調べてみた
(平尾君も Perl 使い …… Cygwin 上の,ではあるが).
で,
やはり CPAN
のなかに
Algorithm::Permute
があった.
- それをダウンロードして
make install
して,
なるほどこういうふうに呼び出すのか,
と試運転しているうちに
……
ひどく「富豪的」な (すなわち少々おバカな) 方法を思いついた.
-
Algorithm::Permute
モジュールを呼び出せるコードでは,
$p = new Algorithm::Permute([1 .. 9])
とすると,
「1 から 9 までのすべての順列」
つまり
(1, 2, 3, 4, 5, 6, 7, 8, 9)
から
(9, 8, 7, 6, 5, 4, 3, 2, 1)
までの 9! = 362880 個のリストのリストの参照が
$p
に代入される.
この 362880 とーりの順列のうち
条件に合致する 9! / (3! 3! 3! 3!) = 280 とーりの
順列を選抜すればよろしいのではなかろーか,
という贅沢な方法だ.
- で,
その選抜方法だけど,
じつは上の「1-6 使った実例」に解法のカギの大半は記されてしまっている.
-
{1 2 3}
というふうに
{小 → 大}
と並べるのを
三つ組数字のグループを代表させる記法とする.
-
(1-9 使うんで)
3 つの三つ組数字はすべて
{小 → 大}
となっていなければならない.
-
三つ組数字の並べ方は各グループの先頭数字が
{小 ○ ○} {中 ○ ○} {大 ○ ○}
と並んでいなければならない.
……
という条件を満たすものとする.
上の 1-6 使った 10 通りの事例は全て上の三条件を充たしている,
とわかるだろう.
- 数字 1-9 使った場合の 280 とーりの結果は
これ.
それを生成する Perl スクリプトは
これ.
これはコード中の
my ($group_size, $max) = (3, 9); # Setting #
を書き換えれば,
1-$max
の整数を使って
$group_size
ごとにグループ化した結果が得られる.
- で,
問題は計算に必要となる時間なんだが
……
私の ThinkPad240Z (Celeron 500MHz) では
362880 とーりの順列を生成してそこから 280 個を選抜して
ファイルに書き出すのに 19 秒かかった.
まぁ,
許容できる「富豪的」アルゴリズムではないでしょーか.
- いかにもすらすらと問題が解決したかのように思われるかもしれないけど,
かなり悪戦苦闘して夜までかかってしまった.
しかしこれをかとー先生に自慢気に報告すると,
(なぜか) ひどくお疲れぎみなのに
「そんなの R でもできますよ」
とあれこれ調べておられる.
で,
R ではよほどうまく関数を選ばないと
順列生成がすごく遅くなる,
とわかった.
- アタマばててるので,
体もばてさせようと北大構内ジョギングに出る.
1840 研究室発で
一昨日と同じようなコースを 40 分ほど走った.
- さらに晩飯食ってみたんだけど
……
このあとはお茶部屋雑談で終ってしまった.
- 2130 研究室発.
北 12 生協で買物して 2150 帰宅.
- 今日の食卓
- 朝 (0850):
米 0.6 合.
ナス・タマネギ・ニンジン・シイタケの炒めもの.
お茶部屋残留調味料を利用.
クレイジーソルト・ウスターソース・サンバル
(インドネシアの辛味調味料) など.
- 昼 (1300):
弁当.
米 0.8 合.
朝の残りととくに匿名希望する料理人氏の
チカ
南蛮づけ (かなり美味い).
- 晩 (1920):
米 0.6 合.
朝の残り.
南蛮づけ残り …… だけどサカナがすでにないので,
酢につけられたタマネギ・ピーマンのみをかじる.
2002 年 04 月 13 日 (土)
- 0820 起床.
朝飯.
シャワー.
- とりあえず室内を少し片づけてみようとする.
ダンボール箱のすき間で苦労して高脚ベッドを組み立てる.
ベッドの下に当面使いそうにないものをほうりこむ.
ふとんのたぐいをベッドにのせる
……
おお,
作業スペイスが少しできたぞ.
入り口から部屋の奥まで到達しうる
(直線距離で 4m というところだが)
の回廊も啓開された.
- カラーボックスと通称される三段式へなへな合板本棚
5 箱を組み立てる.
ぼろぼろに壊れつつあるので
再構築はなかなかに難しい.
- そのハコをふたつかかえて 1030 自宅発.
晴.
1045 研究室着.
机のまわりに配置してみる.
- 夕方に市内で用事あるんで土曜日出勤しておられる甲山さんが
かとーオフィスに来る
(新婚かとー先生はとうぜん休み).
雄花専用・雄雌花混在の奇怪な
苫小牧オオモミジのモデリングに関する議論あれこれ.
かとー博士論文データがないとハナシが進まないところまで煮詰まる.
しかしこの主査殿が 2ヵ月まえの審査に提出された
論文粉失してしまったので,
議論はここまで.
- 昼飯くうべくお茶部屋にいくと,
苫小牧研究林の村上さんが来ておられる.
おお,
一子もえこちゃん (2.5 歳) も.
みなの注目を集めているんだけど,
本人は居心地悪いらしくお父さんのかげに隠れて
周囲の危険を確認しているようだ.
私も利他的なふりをして手などをふってみたんだけど,
なにか悲しげなまなざしを返されただけであった.
- 村上さんのほうは誰か山スキー貸してということで
わざわざ来札されたようで
……
私のを使ってもらうことに.
しかしシールがない.
自宅においてきてしまった.
いそいで昼飯食ったあとに当家まで車で取りに来てもらう.
- 1305 研究室発.
なぜか地環研前では牧さん元所有の車が解体整備されている.
|
[牧さんお召し車]
大原研の院生たちが整備してました.
所有が何度か変わったようで.
|
- 自宅ちかくで車とめて待ってもらって,
シールを取ってもどる.
村上さんとはそこでお別れ.
車に乗ってかなり機嫌の良くなっている
チャイルドシートのもえこちゃんにも
「ばいばーい」
と手をふってみたものの,
またかえって警戒されてしまってしまって
……
- 北 12 生協で野菜など買って研究室にもどる.
昨日のぎょーむ日誌書きなど.
順列生成プログラムなど手直しして,
時間をくう.
まぬけだ.
- 北海道電力 (北電) に電気使用申請をネット経由で出す.
これは便利だ.
さらに北電 URL は「へっぽこ」と読める
http://www.hepco.co.jp/
なんで覚えやすい.
- 「そんな料理作るんですか」
となぜか周囲の非難をあびつつお茶部屋で晩飯作成.
とくに匿名希望する料理人氏も晩飯準備してるけど
「あ,サッカーの時間だ」
と A804 講義室にすっとんでいく.
当方は晩飯終って後かたづけしてから
サッカー観戦とはどういうものなのか見物にいく.
- 磐田-鹿島戦が NHK で放映されている.
蹴球に関する知識がないんで,
両陣営選手の一挙一足の批判に多忙な料理人氏に
解説してもらいつつ画面をながめる.
けっきょく 90 分の試合を最後まで見てしまった.
試合は 2-0 で磐田の勝ち.
DF たちがいろいろと面倒な戦術をとってるらしい,
ということは理解できたけど,
それ以外はよくわからなかった.
料理人氏はどちらかを応援していたわけではなく
本邦の競技レヴェル向上を一時間半にわたって祈念していた,
ということらしい.
- 2200 ごろになって,
酔っ払ったヒトたち多数が講座にやってくる.
OB の谷野さん
(私は以前に一度ぐらいしか会ったことないんだが)
の結婚祝賀会の二次会がこちらに流れてきたようだ.
動物生態関連のヒトたちが多い.
私もお茶部屋に潜入して,
道環研の高橋さんや染色体研の長谷川さんなどと話す.
- あ,
酔っ払った連中が私の晩飯残りなんぞ食ってる.
それって激しく糾弾されたブロッコリー豆腐カレーなんだけどなぁ.
一次会はもちよりパーティだったみたいで,
私もまたその残りを賞味させていただいてるんだけど.
野菜スティックだの,
浦口さん工夫のキムチマグロ飯だの.
- 2450 研究室発.
2500 帰宅.
今日も運動休養日になってしまった.
- 今日の食卓
- 朝 (0840):
にせバゲット.
コーヒー (紙パックもの).
自宅ではまだ湯もわかせない.
- 昼 (1300):
米 0.8 合.
昨晩の炒めもの残り卵とじ.
お茶部屋で.
- 晩 (1850):
米 0.8 合.
ブロッコリー・ニンジン・マイタケ・豆腐のカレー.
2002 年 04 月 14 日 (日)
- 0840 起床.
生活ずれぎみ.
朝飯.
部屋の片づけ少々
……
を試みるもあまり片づかない.
書籍書類は研究室に持っていってしまうか.
でれでれとぎょーむ日誌書きなど.
- きわめて効率のわるい部屋片付けを少々すすめて
1240 自宅発.
創成川ぞいに南進.
10 分ちょいあるくと,
ずいぶんと様変りした JR 札幌駅南面にでる.
ふらふらと歩く.
といっても紀伊国屋その他の本屋に出入りしてただけなんだけど.
|
[JR 札幌駅南面・新駅ビル]
JR 札幌駅といえば,
なんかどんよりと背の低い建物
……
というような印象を一新するかのような
背の高い新しい駅ビル.
北海道経済の現状を鑑みて
こんなもの作って大丈夫なのか?
ホントに後悔してないのか?
と関係者に問いつめたいところ.
|
- 北大最寄りの北 8 西 5 セイコーマート
(北日本局在のコンヴィニエンスストアー)
あとかたもなく取り壊されている.
内地の基準にてらせばすでに十分に広壮な道路を
さらに拡幅するための準備措置らしい.
また雪の降るころに同じ場所に再建の予定だとか.
1340 研究室着.
- お茶部屋まわりの片づけをしながら昼飯の準備.
鍋とガスレンジを使って高速炊飯.
昨晩のマグロキムチづけをいただく.
- どうも XFree86-4.2.x は不安定ぎみだ.
デスクトップの BookPC ではとくに問題ないんだけど,
ThinkPad 240Z では
apm やネットワークと連動するところがよろしくない.
で,
こいつが
ThinkPad の Canna の user 辞書をぶちこわしてくれたので,
BookPC の user 辞書を使って修復する.
-
ThinkPad で
kinput2
など Canna クライアントを止める.
-
BookPC で
catdic user > userdic.txt
でユーザー辞書をファイルに書き出す.
scp
で ThinkPad に移す.
-
ThinkPad で
mkdic -l userdic.txt user
として user 辞書を作り直す (上書きになる).
-
ThinkPad で
kinput2
など再起動.
- うーん,
日がくれるまえに北大構内走に出たい.
と思いつつ hosho のネットまわりユーティリティなんぞ
作り直してしまう.
気がつくと 2000 ちかい.
- 2000 研究室発.
地環研前でストレッチングして北大構内ジョギング開始.
あちこちまわってまた獣医学部のむこうまでいってもどってくる.
走行時間 50 分間ほど.
今日はゆっくりめの速度で走ったので終了時の脈拍 100 回/分.
ストレッチングなどして 2100 研究室にもどる.
- お茶部屋で晩飯.
同じく食事しておられた下野さんが
アイソザイム実験は立ち仕事多くて足が疲れるので
ジョギングどころではない,
といった雑談.
- 早く帰ろうと思いつつネットのあちこちふらふらみて
……
いかん,
時間の浪費だ.
- 2235 研究室発.
2245 帰宅.
- 今日の食卓
- 朝 (0900):
シリアル.
牛乳.
- 昼 (1430):
米 0.8 合.
マグロキムチ「づけ」.
昨晩のカレー残り.
- 晩 (2110):
米 0.8 合.
昨晩のカレーの残り.
カイワレダイコン・生食用ホウレンソウ・ミツバ
(これらは昨晩の二次会の残りもの)
のサラダ.
2002 年 04 月 15 日 (月)
- 0640 起床.
シャワー.
0655 自宅発.
曇.
0705 研究室着.
朝飯.
コーヒー.
お茶部屋片づけすこしばかり.
- 今日もまぬけなことに,
朝から自滅的雑用に没頭してしまう.
しかし雑用の中にあってもワザをみがく機会はある.
たとえば bash のコマンドラインから
for f in *.gif
do
convert -verbose $f `basename $f .gif`.png && rm -f $f
done
などとするとそのディレクトリにある
gif ファイルをことごとく png に変換してくれる
(ImageMagick
の convert
コマンドを利用).
小ワザではあるけれど &&
でファイル削除コマンド rm
とつなぐことによって
安全性を高めている
(convert
がうまくいった場合のみ
rm
が実行される).
- あるいは
find
という,
みょーなコマンドあるんだけど
……
find ~/public_html/ -name '*.html' -exec grep -H "src.*gif" {} \;
これは ~/public_html/
以下にある
すべての .html
なファイルの中身を調べて
src.*gif
と正規表現されうるような文字列の有無を調べることができる.
ということで,
計算機にはこういう「莫大な量の単調作業」をやらせると
道具を使うサルとしては嬉しいキモチになれたりするのである.
- というような作業を 1100 ごろまで続けてしまったり.
やれやれ.
- これで切り上げてまっとうな仕事に着手するつもりだったんだが
……
Netscape 4.x 系におけるスタイルシートに関する「呪い」
というべき現象と対決する.
- 1200 より研究室のセミナー.
今日は工藤さんだけ
(A午後に健康診断うけねばならぬ大学院生がいたりするので).
昨年度のカナダ帯在研究に関する報告が行われた.
マメ科 6 種の草本に見られる花序サイズと
花粉持ち出し効率の関係について
……
秘密兵器 particle counter で花粉の個数を数えてみたり.
いろいろと質問したかったんだけど,
今回は時間かぎられてたんで中途終り感アリ.
- 20 分ほどかけて,
今年度の研究室セミナーのススめかたに関する議論.
昨年度発表の順番がまわらなかった院生が 4 人もいたり,
M2 の review セミナー (別称いんとろセミナー) だの
M1/D1 の研究計画セミナーがあったり
……
野外調査の季節が始まりつつあるのにだいぢょうぶなのかね.
- セミナー後,
お茶部屋で昼飯.
昼飯後,
かとー先生・石井さん・浦口さんと
「グラフ描画を自動化する・しない」
論争など.
むろん私は自動化派最右翼.
- 真にばかげた時間浪費なんだけど
Netscape 4.x 系のスタイルシート問題なんぞに
1 時間ほど使ってしまう
……
ダメですね,
これは.
- 1630 より地環研 C 棟 (この建物には初侵入だ) 1F の講義室で
行われる研究科ネットワークに関する説明会に出席する.
あまり出席したくもないんだけど,
今年 6 月 18 日にルーター・DNS などが
地環研→大型計算機センター (大計)
に移管されてしまうんで,
そのあたりは聞いておかねばならない.
とくに闇ネットがらみの問題があるんだよね.
- 講義室内には 60 人ほどあつまる.
普段は某講座の院生を偽装している特に匿名希望する料理人氏だの
かとー先生だのも出席している.
説明会始まって 40 分はふつーのヒトむけの
一般的な説明なんで,
ThinkPad 240Z で「ぎょーむ日誌」なんぞを書いてみる.
- 後半,
大計移管ハナシに.
問題なのは闇ネット
(IP マスカレイドによる講座内 LAN)
の可否なんだが
……
今日の説明役の向川さんによると
「二次接続の申請」
とやらを出せばよい,
とのこと.
さらに闇ネットな連中に
(といってもわれわれだけなんだが)
「移管したら申請していただきたい
……
いや,まぁバレませんけどね」
と犯罪教唆があったので,
これは期待に応えねばならない.
つまり出さない.
- 1815 ごろ終る.
かとー先生が講座のセミナーペイジの手直ししているので,
そこにも
「Netscape 4.x だと表示がヘンになって,
それ以外の web browser だとまっとうに見える」
問題を持ち込んで事態を紛糾させてみる.
やれやれ.
どうしたらいいんだろうねえ.
- お茶部屋で米をたくさん炊いておくと,
空腹になった大学院生がふらふらと誘引されてくるので,
その行動を観察する.
- 明日は苫小牧研究林で土建業下請け作業員をやらねばならないので,
早めに帰るか.
現在時刻は 2135.
- くそう,
まだ北大時間を制することができない.
運動時間もとれなかったし.
- 今日の食卓
- 朝 (715):
一昨日のパーティ残飯整理.
「あたるか,あたらないか」
のロシアンルーレット状態,
というべきかも.
- 昼 (1320):
米 0.8 合.
一昨日の豆腐ブロッコリーカレーの残り.
- 晩 (2050):
米 0.7 合.
タマネギ・セロリの葉・エノキダケ・キムチの炒めもの.
今日も三食お茶部屋で.
2002 年 04 月 16 日 (火)
- 0530 起床.
シャワー.
朝飯.
0610 自宅発.
曇.
0620 研究室着.
- 今日は M2 森君の観察用足場組みあげ作業
(全工程 5 日を予定)
の手伝いに
苫小牧研究林
(TOEF)
まで行かねばならない.
0635 平尾君 (D1) の車に乗せてもらって北大発.
曇天.
- 札幌南下して支笏湖畔の国道を通って太平洋岸をめざす.
「なんか今朝は早くからパトカーたくさんいるね」
「春の交通取締りかなんかですかね」
などと眺めてたんだけど,
これはじつは強盗殺人容疑者が千歳市の病院から
脱走したために非常線がはられていた,
と後になって知った.
- 0830 苫小牧着.
森君はすでに来ている.
もうひとりのヘルパー井田君 (M2) もまもなく到着.
森林内に足場を作ることにも熟練している
技官の石井さんの指示にしたがって作業を開始.
- えーい,
無信心者のくせに「パイプモデル」な
PipeTree
なんか作ったバチがあたったのか,
今日は Abies 植林地におけるパイプ重労働となってしまった.
|
[6m 鉄管 20 本 × 3 束]
重い.
一本 15kg ぐらいあったから 1 束 300kg ぐらいか?
まずは車載クレーンつかってこれをトラックの荷台に
つり上げる.
|
|
[鉄管束つり上げ]
技官の石井さんに指示されながら,
つり上げ作業を手伝う.
つり上げベルトのはさみかた,
重心のとりかた,
回収の方法などいろいろな技法があり勉強になる.
|
|
[トラック荷台に乗って出発]
荷台乗り初体験してしまった.
舗装されてない林道を走ると
がたがたゆれるゆれる
……
|
|
[自信あふるる森主任設計者]
設計図片手によゆーの笑みをたたえつつ
……
数時間後
……
「あれ? なんでパイプ届かないのかな?」
「…… この図面の木の位置まちがってるじゃない」
|
|
[パイプ打ち込み]
石井さんが溶接して作った秘密兵器
「鉄管打ち込み器」を用いて,
長さ 1.5-2m のパイプを土中に埋めこむ.
これがタテ管を固定する基部となる.
|
|
[びるどあっぷ進行]
長さ 6m タテ管を自在クランプで垂直に固定する.
ナット締めつけにはラチェット
(これは何かの略称)
と呼ばれる道具を用いる.
樹木たちを包囲する「柱」がたったら
ヨコの管をわたして直交クランプで固定する.
|
|
[しかしときには再調整も]
人間のカンだけで組み立てると
がたがたになったりするんで,
後になって補正せねばならぬ場合もある.
なかなか複雑なアルゴリズムを用いる.
午後には水平儀が見つかったので,
この作業は効率化された.
|
- 1000 ごろから雨がぱらつきはじめる.
最初の足場の基部をひととーり組んで
1140 午前の作業終了.
研究林庁舎にもどる.
大学院生部屋におじゃまする.
TOEF のいろいろなヒトたちと雑談したり,
昼飯を食ったり.
1300 作業再開のため出発.
|
[TOEF 院生部屋]
院生さんのお部屋にお邪魔して昼飯くったり,
モデルの売り込みをやってみたり.
あいかわらず ISDN 回線.
また「月に二度は会いたい by ...」というような
ナゾ標語が掲示されていたり.
|
|
[鉄管切断]
午後の作業.
ヤマハ発動機で生成された電力を用いて
電動カッターで鉄管を切る.
切断というより研磨して摩擦熱で焼き切ってるような.
慣れると 1 本 15 秒ぐらいで.
|
|
[雨はふるふる作業は続く]
雨はしだいに強くなる.
カッパ着用して作業は続く.
当初の設計図はすでに破綻している.
寒さに震えつつ,
現場で工夫をこらす.
|
- 雨がやみそうにないので 1600 作業場から撤退.
今日は立てるべきタテ管の 7 割ぐらいをたてられたか.
まずまずの進捗だったとは思うんだけど
……
私の作業手伝いは今日のみ,
の予定.
ただし土曜日になって終ってなかったら
また救援に出ますかね.
お手伝い大学院生には講座からバイト代が出る.
なかなかよいですな.
- 1630 TOEF 発.
帰りがけに村上さん宅によってスキーなど回収.
帰りも平尾車にのせてもらう.
苫小牧から北の山のほうにむかう.
高度をとると雨ばかりでなく霧も濃くなる.
ふと異変に気づく.
帰路なのに支笏湖が右手がわに見えるってのはヘンではなかろーか,
と指摘してみると,
「あ,間違ってました」
と平尾君の冷静なる返答.
お疲れのようなんで支笏湖畔で休んでもらう.
- 1855 北大帰着.
苫小牧で研究してる院生さんたちがお茶部屋にいたので,
作業の写真みてもらったり.
- 晩飯食ったあとも雑談してると,
ここの石井さん (PD) がやってきて
今日は夫婦して野幌でマルハナバチ餌用の花粉を採集してた,
というようなハナシをされたので,
いろいろと
マルハナバチ
に関して教えてもらう.
なかなかかわった生き物だ.
- とくに匿名希望する料理人氏が地環研ネットワークの
メイリングリストでさいばー狼籍におよんでいる.
なにがあったんだ.
- でれでれと「ぎょーむ日誌」書きなど
……
もう 2220 か.
さっさと帰らなくては.
- 今日の食卓
- 朝 (0600):
シリアル.
牛乳.
- 昼 (1210):
TOEF 院生部屋で.
来るときに
近くのコンヴィニエンスストアーで買っておいた巻き寿司.
- 晩 (1930):
お茶部屋にて.
米 0.8 合.
タマネギ・セロリの葉・エノキダケ・キムチの炒めものの残り.
2002 年 04 月 17 日 (水)
- 0640 起床.
とくに用事はないんだけど気合いで起きる.
シャワー.
部屋の片付け少々.
すぐに投げ出す.
0700 自宅発.
晴.
0710 研究室着.
朝飯.
コーヒー.
- せっかく早くきたのに,
なかなか仕事できぬへっぽこ状況.
- 長谷川宣教師殿からメイルいただき,
宣教師としての心得を教えていただく
……
って私は宣教するわけではありませんが.
とはいえ,
他人のココロをつかみ,
その秘密を暴いて掌握する手法の技術的側面は
参考になる.
さすがは本職の人心くらっかー.
- 午前中は書類の整理で終ってしまう
……
と書くともっともらしいんだけど,
じっさいのところ,
「ニセ」アカマツとりまとめ続けようとしたものの,
必要な紙切れのたぐいが見つからず,
しょうがないので段ホール箱からそういうの取り出して
そのへんに並べてみた,
というだけのこと.
そして自宅にはまだ数箱ほど未整理なやつがある.
そういえば,
探していた文書・メモは見つからなかった.
- どうもいまいちだと思いつつ昼飯.
いつの間にか曇天.
今日も苫小牧研究林では足場組み作業が続いてるはずだ.
雨など降ってなければよいのだけど.
- 午後の仕事.
私の場合,
紙切れのたぐいは整理がはなはだしくよろしくないんだけど,
電子ファイルはよく統合されている
……
~/redpine/paper
に入り make
すると,
最新データとモデルにあわせて
自動的に図版・表生成して
参考文献データベイスと連動しつつ
本文 LaTeX ファイルに組み込んで
Postscript ファイルにコンパイルされて
……
うーむ,
なぜ計算機の外にでると make
コマンドが
使えないのだろうか.
- どらふと読み直す.
書き方が不必要なほど偏執的なので,
どういう意図で書いてるかは (自分には) よくわかる.
しかし適切な表現法を用いてるのかどうか,
よくわからない.
いつものことながら.
- 膠着したので外に逃げ出す.
雨.
大学生協
の北大南端・生協会館店に行ってみる.
2F 文具区画で「久保」印鑑 (400 円) 買う.
ついでに筆記具なんぞも物色してみる.
ふーむ,
いつのまにかゲル式とかいうボールペンがでまわっているな
……
しかし今回もいつものごとく Pilot の
直液式
ボールペン (120 円,これは耐水性) 買う.
同じく 2F の書籍部で良さそうな統計学本を数冊みつけたんだけど,
生協会員証ないとめんどうになるかもと思ったんで
今日はこれで撤退.
1F の購買部は生鮮食品なんかもあるんだけど,
これは高くてヘボい.
地環研にもどって研究科事務室に印鑑を堤出する.
- さらに逃避はつづいて
……
同時処理ジョブと称して,
いまや ThinkPad 240Z つまりノート PC の奴隷的 X 端末としてしか
使われていない BookPC (PentiumIII 733MHz)
に計算ぢょぶを与えてみる.
次の計算プロジェクトに備えて,
自作三次元ライブラリ (現在の仮称は
kubolib/fvision
)
の改善をもくろむ.
試験台として Abies PipeTree
を用いる.
- えーと,
まず現状のまま動かそうとすると
……
おっと,
先月の学会大会前の小川森林計算のために
ライブラリのインターフェイスを少し直したんで,
このままでは
PipeTree
動かんか.
利用側の関数呼び出しを直すのに約 1 時間を費す.
まぬけだ.
- で,
Abies PipeTree
20 個体を 20 年間育成するのに必要な時間は
……
{393 秒, 397 秒, 403 秒}
というところか.
これを短縮したい.
できれば使用メモリも少なくしたい.
- 指針となるのは先日に購入した新 Scott Meyers 本
Effective STL
である.
えーと,
まずは安直に
-
第 4 項:
size() で 0 を調べる代わりに
empty を呼び出そう
を試してみるか.
list.size()
を使ってるところが
何ヵ所かあるんだよね.
で,
STL の実装によってはこれが定数時間処理で片付かない場合がある,
と.
- 実験してみると
{392 秒, 400 秒, 405 秒}
……
あ,
ダメだ.
私の使ってる
GNU の libstdc++2_10
ではもともと定数時間だったか.
- 次.
PipeTree
を育てるうえで
計算時間くってる
Voxel
空間の手さぐり這い回りの高速化だけど
……
連想コンテナ map
に格納されている
Voxel
をどうにかしてやれば ……
-
第 23 項:
連想コンテナをソート済み vector に置き換えることを
考えよう
-
第 25 項:
標準以外のハッシュコンテナに慣れよう
さて,
どっちだ.
- GNU の
libstdc++2_10
は SGI の STL をベイスにしており,
hash_map
がすでに使えるようになっている.
ということで第 25 項のほうを試してみよう.
- 変更は簡単で,
// Voxels.h
#include <map>
...
typedef map<IndexVoxel,Voxel*> MapVoxel;
で map
となっているところを
hash_map
と書き直すだけ.
- さて,
実験してみると
……
{366 秒, 367 秒, 370 秒}
……
おお,
こんどは 8% ぐらい計算時間が短縮されてるような.
これはけっこう effective といえる.
しかもメモリ使用量が 3-4 割減っている.
なんとならば
map
では二分木を構築して
データを探索するのに対して,
hash_map
では
key から「hash 値」が計算されて
値に直結してるので簡単なデータ構造ですむからだ.
- これほど便利な
hash_map
をいままでなぜ使わなかったか?
それは 1998 年に決められた ISO/IEC C++ 標準には
含まれていなかったからだ.
しかし Meyers 本によると,
ハッシュ利用コンテナーが STL に入らなかったのは
「標準化委員会では,ハッシュテーブルを加えようとすると,
標準の完成が大きく遅れると見なした」
ためであり
「次の版の標準にはハッシュテーブルが含まれることは
間違いない」
らしい.
で,
hash_map
,
hash_multimap
,
hash_set
,
hash_multiset
といった名前が「事実上の」標準名として現在使用されている,
ということなんで,
私もその尻馬にのって hash_map
使ってみることにしたわけだ.
- 途中で晩飯食ったりしながら三次元計算に使われる
計算資源量を調べていた.
おっと,
もう 2300 ちかくか.
さっさと帰らなくては.
- 2250 研究室発.
明朝,
自宅から書類など持って来るために講座の台車を借用していく.
ごろごろと台車を押しながら夜の札幌を歩く.
さいわいにも雨はあがっている.
そういえば今日は運動休養日になってしまったな.
「ぎょーむ日誌」も書いてない.
2305 帰宅.
- 今日の食卓
- 朝 (0715):
お茶部屋でパン・コーヒー.
冷蔵庫残留物整理とゆーことで,
いつ開封されたかよくわからぬ
タマリンドペイスト残りを片付ける.
うう.
- 昼 (1220):
お茶部屋.
米 1.0 合.
昨晩の炒めもの残り.
- 晩 (1930):
お茶部屋.
米 0.8 合.
チンゲンサイ・シイタケ・豆腐の炒めもの.
またお茶部屋残留調味料の利用.
なんとなく味噌味ふうに.
2002 年 04 月 18 日 (木)
- 0730 起床.
昨日 3 週間ぶりに C++ なんぞいじったんで
C++ 呪わればてぎみ.
シャワー.
借用してきた台車に書籍書類のダンボール箱をつみこむ.
合計 80kg ぐらいか?
0810 自宅発.
晴.
過剰積載の荷物が落ちそうになるのをふせぎながら
北大まで台車を押していく.
0830 研究室着.
朝飯.
コーヒー.
- 昨日の
hash_map
まわり関連のぎょーむ日誌書く.
- おっと,
そういえば,
平八郎提督遭難のメイルいただいたんだ.
遭難と言っても海でも山でもなく,
くだんの武蔵-相模国境紛争領域
(そう,
あの生命保険を引き受けてもらえなかったあの危険地帯)
での出来事とのこと.
深夜に自転車で帰宅しようとしたら,
大学構内暴走してる自動車にはねられて
自転車は修復不可能なほど完全破壊,
提督自身は前まわり受身で頭蓋骨粉砕まぬがれて
足指骨折・擦過傷・歩行困難きたす打撲ですんで,
まったく幸運だったというほかない.
救急車に乗るのは二度目なので慣れたものだと
剛毅なのかあるいはやはりアタマ打ちつけられたんではというような
自慢しておられる.
いやはや,
夜の大学は危険だな.
いかに北大には内燃機関車両は少ないとはいえ,
構内ジョギングするなら昼間にしようか.
- その後日談.
その暴走車運転してたまぬけが提督研究室に
見舞いメロンもってきて,
それを賞味した研究室の教授のコメント
「美味しいね.毎月たのむよ」.
平八郎提督としては「毎週」でなくて助かったとのこと.
- 夜までかかって C++ な呪われと取り組んだ.
昨日導入した STL の非標準コンテナー
hash_map
をより便利に使えないだろうか,
という (結果的に無謀な) 試みであったわけだが
……
- SGI の
文書
によると,
このコンテナーのハッシュのキーとして使えるのは
……
The template hash<T> is only defined for template arguments of type char*, const char*, crope, wrope, and the built-in integral types. If you need a Hash Function with a different argument type, you must either provide your own template specialization or else use a different Hash Function.
とゆーことなんで,
自分でハッシュ関数を定義しないといけない.
- 当方としては自作ライブラリの
Grid
と
呼んでる三次元離散座標
(三次元なのに Grid
たぁ
どういうこと? と言われましても ……)
をキーにできれば,
と考えてる.
いままでは,
Grid
を一義的に整数に変換する関数を定義していた.
これはハッシュ関数として定義したのではなく,
もともと使ってた
map
で使うために作った.
で,
hash_map
にもそれをつかっていた
(この整数が STL のハッシュ関数によってハッシュキーに
変換される).
- 整数でなくて文字列にしたほうが便利ではなかろーか.
さらに
hash_map
コンテナーを定義するときに,
その変換関数もいっしょに定義してしまえば
……
などと考えたために
いろいろと苦労することになってしまったんだよねえ.
- 要約すると核心部のコードはこういうものだ.
ただし後述するようにこれではコンパイラー通らない.
class grid_hash_fuction
{
public:
size_t operator()(const Grid& g)
{
static hash<char*> char_hash_function;
static char buffer[32];
sprintf(buffer, format, g.X(), g.Y(), g.Z());
return char_hash_function(buffer);
}
};
int main (void)
{
hash_map<Grid, int, grid_hash_fuction> ghm;
...
}
……
つまり 3 つの整数を文字列に直して,
あとは STL の文字列→ハッシュ値変換関数つかってやろう,
という意図だ.
- で,
これをコンパイラー (
gcc-2.95.2 + libstdc++2_10
)
に通そうとすると,
このように STL まわりに特徴的な解読困難な警告文を吐き出す
(Netscape 4.7 系で見てるヒトにはさらにヒサンな表示になってるだろう).
/usr/lib/gcc-lib/i386-redhat-linux/2.95.3/../../../../include/g++-3/stl_hashtable.h: In method `size_t hashtable&<pair&<const Grid,int&>,Grid,grid_hash_fuction,_Select1st&<pair&<const Grid,int&> &>,equal_to&<Grid&>,allocator&<int&> &>::_M_bkt_num_key(const Grid &, unsigned int) const':
/usr/lib/gcc-lib/i386-redhat-linux/2.95.3/../../../../include/g++-3/stl_hashtable.h:521: instantiated from `hashtable&<pair&<const Grid,int&>,Grid,grid_hash_fuction,_Select1st&<pair&<const Grid,int&> &>,equal_to&<Grid&>,allocator&<int&> &>::_M_bkt_num_key(const Grid &) const'
/usr/lib/gcc-lib/i386-redhat-linux/2.95.3/../../../../include/g++-3/stl_hashtable.h:460: instantiated from `hashtable&<pair&<const Grid,int&>,Grid,grid_hash_fuction,_Select1st&<pair&<const Grid,int&> &>,equal_to&<Grid&>,allocator&<int&> &>::find(const Grid &)'
/usr/lib/gcc-lib/i386-redhat-linux/2.95.3/../../../../include/g++-3/stl_hash_map.h:176: instantiated from `hash_map&<Grid,int,grid_hash_fuction,equal_to&<Grid&>,allocator&<int&> &>::find(const Grid &)'
sample.cc:34: instantiated from here
/usr/lib/gcc-lib/i386-redhat-linux/2.95.3/../../../../include/g++-3/stl_hashtable.h:531: passing `const grid_hash_fuction' as `this' argument of `size_t grid_hash_fuction::operator ()(const Grid &)' discards qualifiers
いやはや,
しかしこれはまだ STL がらみでコンパイラーが吐き散らす
意味不明な呪言のなかでは,
まだしも読みやすいほうなのである.
言ってることは,
うえのコードは文法的には間違いではないけど,
STL hash_map
のハッシュ関数として使うには
形式を満たしていない,
といった内容である.
- あとは
/usr/include/g++_3/
以下にあるヘッダーファイル群を熟読して,
この自作 grid_hash_fuction
の形式的マズさを発見しなければならない.
このヘッダーファイルたちとゆーのがまた実に暗号的に書かれていて
……
- このへんは一字一句をゆるがせにすることできなくて
アタマおかしくなりそう
……
結局,
下のように
const
を付け加えることで
(この文脈での意味はつづく {...}
ブロック内で
メンバー変数に変更が加わらないことを保証する宣言
……
ここにはメンバー変数なんてねーよっ!!
という当方の意向は斟酌されない),
STL の悪意に満ち満ちた理不尽は解呪される,
とわかった.
class grid_hash_fuction
{
public:
size_t operator()(const Grid& g) const
...
あまりにもあまりなので,
コンパイル通った瞬間に「わー」とのけぞってしまって
椅子ごと後方にひっくりかえってしまった.
同室で執務中のかとー先生が床に倒れふしている私を眺めて
「なにしてるんですか!?」
といぶかしんでおられる.
- このあとの展開だけど
……
これほど苦労して実現したハッシュ関数は
かえって速度を落すものである,
とわかってしまった.
えーい,
われながらまぬけな
……
- 夜になって,
院生のみなさんがなぜかラーメン食べにいく,
と言っておられるんで私ものそのそとついていく.
外は雨.
北 11 西 4 つまり地環研のすぐ前にある
まるたか
(あ,
Yahoo!
のガイドにものってる).
ここらに書かれてるとーりのような.
- そもそもラーメンあまり食ってないんで,
他とくらべてどうこうというような論評できない.
しかし札幌ラーメンに共通する欠点,
というものを思い出させてくれた
……
どんなものであれラーメン一杯に 630 円もとってしまうのは間違ってる,
と一杯 400 円ぐらいが相場だった九大周辺ラーメン屋を思い出しつつ
私は確信しているのである.
- 自作ハッシュ関数
grid_hash_fuction
.
あきらめきれずにあれこれいじった末に,
やはり使いモノにならんと廃棄.
やれやれ,
なんたる一日.
- 2420 研究室発.
まだちょっと雨ふり.
2430 帰宅.
- 今日の食卓
- 朝 (0840):
米 0.6 合.
昨晩の豆腐炒めもの残り.
- 昼 (1250):
米 0.8 合.
朝の残り.
- 晩 (1930):
北 11 西 4 の
まるたか
の塩ラーメン.
630 円.
2002 年 04 月 19 日 (金)
- 0820 起床.
ダメだ.
C++ 呪われバテに加えて北大時間というものを
まだうまく扱えていない.
シャワー.
0840 自宅発.
晴.
0850 研究室着.
朝飯.
コーヒー.
- 「ぎょーむ日誌」に昨日の反省文を書く
……
とあれこれついでに STL 文書を調べてしまい,
また時間をくう.
- 東京出張からもどってきた甲山さんが
かとーオフィス来訪.
かとー先生の邪魔にならぬように受け付けの私が迎撃する.
甲山研 OB 会的なちと怪しげ
解析プロジェクト
(相場さんペイジ)
には巻き込まれぬよう注意しつつハナシを伺う.
- つづいて,
オス花専門個体・オス先/メス先両性花個体がいり混じる苫小牧の奇怪な
オオモミジ
(かとー先生ペイジ)
に関する議論になったので,
かとー先生にも参加していただく.
昼すぎまであーだこーだと議論してたんだけど,
ケリがつかない.
とりあえず,
使えそうなかとーデータの図を出してもらって,
その解説を拝聴し,
モデリングの基礎となる知識の共有,
というあたりで終った.
- 昼飯食ったあとに,
昨日を無駄に終らせた
hash_map
の修復作業.
どうも現時点では整数 int
以外は
key にしないほうがよさそうだ.
Abies PipeTree 使って試験運転ススめる.
|
[hash_map 利用試験]
どうも朝からカエデのハナシばかりしてきたせいか,
こいつらがなんとなくカエデに見えてしまう
……
|
- しばらくはこれでいくか
……
とライブラリの動作が確認できたので,
C++ 呪われバテのアタマを休養させるべくお茶部屋に退避.
そこでは,
苫小牧における林冠アプローチに関する議論あれこれ.
- 例の
苫小牧林冠クレーン
(彦坂さんペイジ …… 今日は個人ペイジからの引用多いな)
に乗っていると樹上の葉の動きから
「風がこっちにやってくる」
というのがわかるそーだ.
ゴンドラ塔乗時に風に揺られると気分悪くなるし
調査もできないんで楽しくないんだけど,
そういうときは「風を読むのよ!」と「ナウシカごっこ」やることで,
気分転換する,
というような
……
野外調査な生態学者たちと宮崎駿アニメイションの関係はナゾである.
- と思ったら,
苫小牧から森君メイルで先日の Abies (トドマツ)
植樹個体群包囲足場は無事に完成したとのこと.
さて,
あの「ミニジャングルジム」は彼の修論に
貢献できるんだろうか?
- 1900 北大構内走に出ようとしたら,
甲山さんにドラフトおしつけられる
……
うーん,
この熱帯林データの解析に当方がどう貢献したのか思い出せん.
- 北大構内走.
けっきょく夜に走ってるな.
地環研前でストレッチングしてから,
いつものごとく農学部・理学部ウラをまわって低温研まで北上,
獣医学部の前を通って北大北西端で折り返す.
40 分間ほど運動してから
今日はそのまま北 13 条門出て北 13 西 2 のヒロタまで走り,
晩飯用の野菜など買って買える.
- お茶部屋もどると,
なぜかしら小菅せんせー指導でカレー作ることになっており
(おそらく横須賀出身な小菅氏は
金曜日にカレー
作らずにはいられないためだろう),
さっそく野菜を供出しそれらを切断する作業にとりくむ.
- めでたく美味なカレーができたので皆で食べた.
- このプロジェクトにおける参謀役つとめた
とくに匿名希望する料理人氏から恐るべき指摘.
なんでもカスケイディングスタイルシート (CSS)
使ってる私のペイジは Macintosh 用 MSIE では
まったく無茶苦茶な表示になってしまう…… ?
- そりゃまたどうして,
と研究室の Mac で調べてみると,
たしかに変だ.
原因はあの呪われソフトウェア会社の作ったブラウザーが
CSS の
display: inline
の解釈を
全く間違えているためである.
- ばかばかしいんだけど夜中までかかって一部のペイジを修整した
(全部は無理).
修整すると Netscape 4 系での表示がさらにでたらめになる場合があり,
さらに Mozilla/Galeon など Netscape 6 系でも
ちょっと面白くないことになる.
で,
「Web ブラウザーなんか何でもいいや」
と考えている Mac ユーザー,
つまり多数派は OS とともにインストールされる
この MSIE5 を使ってるらしい
……
いったいどうしたらいいんだろうねえ
……
とこれを書いてるのはすでに 20 日夜なんだけど,
重大なヒント書かれている
ペイジ
を見つけてしまった.
これは試してみなくては.
- 2500 研究室発.
2510 帰宅.
- 今日の食卓
- 朝 (0910):
なぜか朝からスパゲッティー.
まぜりゃんせ
タラコ.
- 昼 (1320):
米 0.8 合.
韓国海苔.
キムチ.
ふえるワカメたくさんいれた粉末吸物.
- 晩 (2100):
米 0.8 合.
お茶部屋カレープロジェクトということで,
小菅プロジェクトリーダーの監督のもと,
ホタテ・ホウレンソウ・タマネギ・ニンジン・ジャガイモ・
エノキダケ・シイタケ投入カレーを作って
皆して食べた.
2002 年 04 月 20 日 (土)
- 1000 起床.
シャワー.
北 12 生協で買物して
朝飯.
コーヒー.
部屋の片づけ少しばかり.
書籍・書類を研究室に運びつつあるので,
徐々に段ボール箱の占有面積は減じてはいるんだが
……
えーい,
衣類とかどうやって整理したもんだろう?
タンスのたぐいを持ってないんだよねえ.
- 午前中はだらだらと時間浪費して
1210 自宅発.
晴.
1220 研究室着.
- 浦口さんが地環研前で切ってきた
イタヤカエデ
(Acer mono)
の枝の構造の解説してくれたので,
夕方ごろまでカエデ話をいろいろとうかがう.
ようやく単軸分枝 (イタヤカエデなど) と仮軸分枝 (オオモミジなど)
の違いがわかった
……
ような気がする.
Harvard Forest での調査結果なんかも見せていただく.
- カエデ樹木モデルつくるなら
striped maple
(Acer pensylvanicum)
みたいなやつのほうがいいのでは,
とのこと.
たしかに目の前のイタヤカエデ枝は複雑そうに見える
……
えーと,
striped maple というのは日本でいえば,
ウリハダカエデ
(Acer rufinerve)
が近いのかしらん?
系統樹上では
ウリカエデ
(Acer crataegifolium)
のほうが近いらしいんだけど,
葉っぱのカタチとかはウリハダのほうが似てる,
とのこと.
- まぁ,
データがたくさんあるほうが樹木の計算偽造にはむいてるんだけど
……
あとでネット上でざっと検索してみると,
ウリハダカエデの光合成・呼吸は半場さん他が調べておられるな.
小川群落保護林の
樹種別空間分布
みるとウリハダしかいない
(尾根上に局在?) みたいだし
……
- とはいえ,
針葉樹 Abies ごときで四苦八苦してるのに
広葉樹 Acer なんぞは無理って気もするなぁ
……
と少々ヨワってみる.
まぁ,
ぼちぼちと.
- 夕刻から夜にかけて,
web browser 依存で「表示がヘン」になる問題に取り組む.
結論からいうと
……
まぁ,
私のこれまでの
カスケイディングスタイルシート
(CSS) 使いかたにも過誤というか
よろしくない点があった,
ということのようで.
最終的にはいちおうの解決はしたんだけど.
- 問題になったのは
table
タグを block 要素とするかあるいは inline 要素とするか,
というところだ.
table
は通常は block として取り扱われる.
- 私はこれを CSS で
table {display: inline}
というふうに定義していた.
こうすると
div {text-align: center}
などなどとしておけば,
<div><table>...</table></div>
テイブルがセンタリングされる,
という使い方をしてたんだよねぇ
……
- こうすると,
Netscape6.x だの MSIE6 だのでは
table
が inline 化されて当方の望んだとーりに表示される.
Netscape4.x 系では,
後述するべつの理由によって,
これまた text-align:
でレイアウトできてしまう.
しかし Macintosh 用 MSIE5 では,
どういうつもりなのか
table
は block として扱うべし,
というふうに決められているようで,
上のようにすると表示がめちゃくちゃになる.
- ホントにテイブルは block として扱わねばならんのかどうか,
いまいち釈然としないんだけど
……
border つけてみたりしたかんぢでは,
どうやら今のところは block として扱ったほうが良さそうな
……
- では block 要素はどうやってセンタリングすればよいのか?
CSS リファレンス
など熟読してようやくわかったんだけど,
CSS で
table {margin-left: auto; margin-right: auto}
というふうに定義しておけば
(かつテイブルの幅をなんらかの方法,
たとえば <table style="width: 500px">
などと明示的に指定しておけば),
これでテイブルはセンタリングされる
……
なるほど!
- さて,
これで多くのブラウザーではそれなりの表示が得られることがわかった.
ただし Netscape4.x 系では block 要素として定義されたテイブルに対する
margin-...: auto
ワザが使えない.
どうすればよいか?
- じつはこいつのまぬけな CSS 解釈機構は
inline 要素・block 要素の区別をせずに
<tag style="text-align: ...">
などを適用してしまう,
という奇癖がある.
これを悪用してセンタリングしたい block 要素を
text-align: center
してしまえばよい.
他のブラウザーでは block 要素に text-align
指定しても無視されるばかりである
(ただし block 内のテキストには適用されてしまうけれど
…… 他に指示がなければ).
- こういうのも邪道ワザという気がするけれど,
ブラウザーによって
複数 CSS 読み分けるなどといった高尚な技法を使わずとも,
久保トップペイジなどはこれでなんとか
表示できてるような気がする
(Netscape4.x でみると画像のタテ位置とかヘンだけどね).
面倒なのでこれで問題解決,
としよう.
いやはや,
そもそも
table
タグを
レイアウトに使うのがそもそもへっぽこ,
と言われるかもしれないけど
……
うーむ,
当面の妥協策として CSS + <table>
ということで.
- CSS 改変が Mac MSIE5 でどう表示されるか確認するために,
今晩だけで
A803B かとーオフィスと Mac のある A801 を数十往復した.
お,
廊下で理髪店が営業されている
……
|
[美容院地球環境]
とくに匿名希望する料理人のアタマを
とくに匿名希望する理容師が刈っているところ.
白衣着用のこの理容師,
無免許なれどかなりの腕前です.
|
- あちこちの CSS 直していてバテた.
2420 研究室発.
2430 帰宅.
- 今日の食卓
- 朝 (1020):
パン.
牛乳.
- 昼 (1430):
お茶部屋料理.
パン.
タマネギ・エノキダケの炒めもの.
コーヒー.
- 晩 (2230):
昼と同じ.