2006-08-30

法事につき帰郷

親族の葬儀のため、午前のみ会社に行き、その後あわただしく帰郷。疲れたなあ...
親族ばかりの式ではあるけど、知らない顔ばかりで将来自分が喪主になった場合にどうしたものかと今から不安だ。まあ、両親ともに健在であり、いまのところ取り越し苦労で済んでいるのがありがたいところなんだけど。

ところで、自分が幼かった頃は公民館や自宅を使う場合が多かった気がするが、いつの頃からか宿泊施設付きの会場を借りて通夜や告別式をやるようになった。これはこれで非常に便利で、時代は変わるなあと思うんだけど、一方で仏式がデフォルトってのは容易に変わらず、ちょっと不思議。

自分は無宗教式がいいなあ。そして墓石にはNetHack風にR.I.P.を刻んでほしいw ああでも貯金額まで書かれてしまうのは嫌かな... はは

仏教

そういえば、タイでは男子は一生に一度は僧侶になるほどの仏教国(たしか国教が仏教)だけど、タイから来ていた留学生が日本の仏教にいろいろ驚いていたっけ(僧侶が結婚することや、簡単に肉食してしまうこと等)。
(留学生といえば、日本からはるばるメッカを律義に拝礼するイスラム教徒の留学生も印象深かった。習慣とはいえ)

たしか高校のときにインドから日本に至る仏教の伝播の話があったはずだけど、見事に覚えてないねえ... いや、思い出したところで、葬式に来る僧侶にそのネタを振っても困るだろうけどw

2006-08-28

lifehack

最近、lifehack系のネタを良く見かける気がする。といっても、次のサイト(どちらも同じ人)や本屋の品揃えだけでしか判断できないのだけど。まあ、新人君に教えてあげるのにちょうどいいかな。

ITmedia Biz.ID:シゴトハック研究所
シゴタノ!!

CNET Japan Blog - 佐々木俊尚 ジャーナリストの視点

CNET Japan Blog - 佐々木俊尚 ジャーナリストの視点:「これを読めばすべてわかるっていうブログはないんか?」

おじさんはポータルがお好き、という結論はちょっと判断できないんだけど、次の分析は言われてみると実にもっともだ:
新聞という紙のメディアが好きな中高年は、わざわざ紙のメディアをパソコン画面で見たいとは思わないし、30代前半以下のネットの世代にとっては、新聞の記事なんていうのは新聞社のサイトでマイクロコンテンツ化されたものを読めばいいわけであって、わざわざ紙のイメージのものを読むメリットはまったく感じていない。
Wordで200MB近い開発資料を12人の開発メンバに紙で配布させようとしていた年上の同僚(40代半ばかな?)を思い出して妙に納得。メモメモ。

個人的には、活字や紙媒体というものへの愛着は年上世代に負けているつもりはない。若い時に読んで感動した本はいまでも大事に取ってあるし、電子書籍で買い直すつもりもない(たとえBookOffで買うことはあっても)。けれども、特に仕事で使う資料を紙に出すとなると強い抵抗感がある。我ながらこの差はなんだろうね?

ところで、新聞の内容を低価格で提供するサービスがあるというのは初めて知ったのだけど、これはなかなか魅力的じゃないだろうか。うるさい拡張団も来ないし、重い新聞紙の束を捨てに行かなくてもいいのは素晴らしい…ってそっちかよw
とはいえ、読む時間ない、紙面がイデオロギーで片寄っていることが多い、当用外漢字を使ってない、科学技術関係の記事が正確ではないことが多い、であることを除けば、ちょっと購読してみようかという気になるサービスだ。

2006-08-27

ウィルコムファン W-ZERO3: 第1回 アプリケーションの開発環境を構築する

ウィルコムファン W-ZERO3: 第1回 アプリケーションの開発環境を構築する
willcom-fanでアプリケーションの開発環境の構築方法の連載が始まった。すばらしい。

HotfixIntegrationInst

HotfixIntegrationInst - PukiWiki

Windowsのホットフィックス適用済みインストールCD作成の情報。
非対話型インストーラが作成できると分かっていても、あちこちぐぐらないと手順が分からない。情報がまとまってて便利そうなのでメモ。

2006-08-26

送別会

O君の送別会。家の事情で埼玉の事業所に移動するとのこと。
DSをプレゼントされてたけど、実は実物がまだ入手できてなくて、ひとまず空箱のみ贈呈w

TOEIC受けた #2

Fansubもいいんだけど(いいのか?w)、よくかんがえたら「もえたん」もいいかも。
今読み返してみると、特に初代のは無理な文が多い気がするんだけど、モチベーションを維持するには悪くない。
ただ、もえたん3まで手を出すかはちょっと…

あとは英訳コミックですか。CCさくらとフルーツバスケットくらいしか知らなかったのだけど、Amazonを覗いてみるとOne Pieceやらドラゴンボールやらいろいろあるようで。苺ましまろがStrawberry Marshmallowだというのも初めて知ったよ。だが、$9.99/\1100はちと高いぞお orz...

2006-08-23

TOEIC受けた

TOEIC受けた。
といってもIPテストというやつで、certificationがもらえるやつではない。
周囲の傾向をみると若い人のほうがスコアが高い傾向があるので、やはり使わないとどんどん英語力が落ちていくものらしい。入社時(1999年)に受けさせられた時が660点、1年後に上司にだまされて受験した時が730点。それから6年経っているので、どれくらいスコアが落ちているかちょっと見ものかなと。

前回のスコアはソフト屋としては悪くない程度だとは思うんだけど、最後に英語教育を受けたのが大学1年の一般教養(1993年)なので、考えてみるとUNIX関係の調べものだけで得た英語力なのかなと。仕事では使わないし、英語を使う地域に行ったこともないし、英会話教室に行くとか洋楽を聞くとかもない。なんだか誇りにしたい気もするけど、微妙に間違っている気もするw

まあ、これを商売にするほどには高いスコアではないし、そもそも仕様書英語でしかなく、リスニングが激しくニガテという自覚もある。きっと語彙も片寄ってるんだろうなあ。serial experiments lainのムックや"Catcher in the rye"もずっと歯が立たないまま放置してあるし。

ヌルヲタとしてはFansubで生きた英語を勉強してみましょうかね? うはww

ハードウェアオーバレイの質問 (bt848x)

パキスタンに在住とおぼしき方から、ハードウェアオーバレイの質問をもらった。
オーバレイを使っているとスクリーンキャプチャできないが、なんとかこれを回避することはできないだろうかという内容。

自分なんぞが答えて良いものだろうかとは思いつつ、通常のRGBプレーンとは別の場所だからうまく読み込めないだけで、ビデオサブシステムを良く研究すればできるかもよという旨のお返事をしたためた。

まあ微妙に専門外(SourceForgeでメールアドレスを見たらしいのだけど、あれはビデオキャプチャであってスクリーンキャプチャのプログラムではない)だけど、まあいいよねw 実際、ビデオビューアはビデオカードのハードウェアアクセラレーションを生で使ってるし。

2006-08-22

Java ELF Reader

JavaからELF32フォーマットのファイルを読むクラスを作成中。
仕事でルネサスのSH-Cコンパイラを使っていて、これが実行ファイルをELF+DWARFで出力する。もしこの情報が読めれば、ログビューアから変数の読み書きが可能になる。

で、ELFは意外と簡単な感触。ELFヘッダ・プログラムヘッダ・セクションヘッダの3種類のヘッダと、シンボルテーブルの構造を理解すればいいだけ。

それに対し、DWARFはいろいろ難しそう。タグづけされたデータを階層状に復元する必要があるらしいのだけど、どういうデータで表現すれば良いのやら…

SMART on Solaris/x86 #6

前回の続き。

コマンドを詰めた部分をクリアしないようにしてもう一回チャレンジ。するとカーネルパニックw

PIOを使うとなぜかバッファの実体が割り当てれず、そこでzero page dereferenceになるらしい。メモリを要求してそこにレジスタのリード結果を格納し、パニックを回避するのは簡単だけど、それじゃユーザ空間にデータを渡せない。ap_v_addrを設定する場所を洗い出さないと…

2006-08-21

はやてフィギュア

ワンダーフェスティバル2006夏・一般ディーラー編その2 フィギュア注意報/ウェブリブログ

RinRin王国経由、フィギュア注意報さん。
なんとはやてのフィギュアを出品したディーラーさんがいたらしい。ううう、これは欲しい、欲しいぞぉ…

2006-08-20

会社の夏祭り

勤務している会社には夏祭りというものがある。敷地を解放して、芸人のステージと屋台と花火をお客さんに楽しんでもらおうというもの。そこそこ規模は大きく、自分が小学生だった時の町内祭くらいの人は来ている。もっとも会社関係者の家族サービスの面もなきにしもあらずw。金曜日はこれに駆り出された。

雑事は新人君があらかたやってくれたので、どちらかというと単純労働力を提供した程度。裏方でバルーンアートの作成と、屋台の出し物のフランクフルトの焼き係を担当。高温の油に手を突っ込んだりもしたが、めちゃめちゃお客さんに来てもらったので久しぶりに充実した夏祭りになった。

ただ、忙しすぎてトリの花火がほとんど見られなかった orz... あれのために組合費を払っているようなものなのにwww

SMART on Solaris/x86 #5

前回のさらに続き。

定義されていない関数はstrategyドライバに含まれていることがわかり、OpenSolarisのもので置き換え。

すると、おお、きましたよ! ioctlが拡張されてますよ!?

んが、すぐに問題発覚。生コマンドをATAコントローラに投げてはいるんだけど、すべてコマンドがアボート終了になってしまう。調べると、COMMANDレジスタに常に0が入ってしまう模様。でさらに調べると、cmdkioctl()中でstruct rwcmdのstatusフィールドを0クリアしていることが判明。だからCOMMANDが0なんだね orz...

2006-08-17

SMART on Solaris/x86 #4

さらにこれの続き。

ataドライバとdadkドライバ(どちらも改造版)だけじゃだめで、cmdkドライバ(無改造だがOpenSolaris)もさらに交換。

Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'cmlb_alloc_handle'
Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'qsort_create'
Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'qfifo_create'
Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'cmlb_partinfo'
Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'dsngl_create'
Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'dmult_create'
Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'cmlb_detach'
Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'cmlb_attach'
Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'cmlb_invalidate'
Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'cmlb_get_devid_block'
Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'cmlb_ioctl'
Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'cmlb_free_handle'
Aug 17 22:50:42 etta genunix: /kernel/drv/cmdk: undefined symbol 'cmlb_validate'
Aug 17 22:50:42 etta genunix: WARNING: mod_load: cannot load module 'cmdk'
Aug 17 22:50:42 etta genunix: WARNING: cmdk: unable to resolve dependency, module 'misc/cmlb' not found

うはwww cmlbドライバは無印Solarisにはないので、単純に追加。そのうちディスクサブシステムをまるまる入れ替えることになるんじゃないだろうか。

Aug 17 23:07:16 etta genunix: /kernel/drv/cmdk: undefined symbol 'qsort_create'
Aug 17 23:07:16 etta genunix: /kernel/drv/cmdk: undefined symbol 'qfifo_create'
Aug 17 23:07:16 etta genunix: /kernel/drv/cmdk: undefined symbol 'dsngl_create'
Aug 17 23:07:16 etta genunix: /kernel/drv/cmdk: undefined symbol 'dmult_create'
Aug 17 23:07:16 etta genunix: [ID 472681 kern.notice] WARNING: mod_load: cannot load module 'cmdk'

先生、そろそろカンベンしてください… orz

SMART on Solaris/x86 #3

前の話題の続き。

non-data, PIO-read, PIO-writeの3種類のプロトコルを使い分けなければならない時点で、何かの関数を単独で置き換えるだけではダメだという結論になった。
いろいろ考えてみたが、DIOCTL_RWCMDという直接入出力(セクタ番号指定でR/Wできるioctl)機能を拡張してやるのがいいかなと。非常に都合が良いことに、このioctlを発行する際にCOMMANDレジスタやFEATURESレジスタに格納する値を滑り込ませることができる。

んで、OpenSolarisから持ってきたata_cmd.h, ata_disk.[ch], dadk.c, dadkio.hあたりを書き換えて、改造版ドライバを作成してみた。初めてOpenSolarisのモジュールをコンパイルしてみたので、いろいろ苦労したのだけどそれは省略。

さて、Solaris10(1/06)のataドライバとdadkドライバを改造版に差し換え、ネットブート… devfsadmしてデバイスファイルを再作成してみると… あ、あれ、/dev/rdskの下が空っぽだww
なんでも、PCIコンフィギュレーション空間にアクセスする関数の実体がないのだそうで、さっそくOpenSolarisとSolarisの違いを見せ付けられたかたち。

で、アダプタ関数を追加してリブート… おお、こんどはデバイスファイルは作ってくれた。んが、

Aug 13 15:52:13 etta genunix: IDE device at targ 0, lun 0 lastlun 0x0
Aug 13 15:52:13 etta genunix: model ST315320A
Aug 13 15:52:13 etta genunix: ATA/ATAPI-4 supported, majver 0x1e minver 0x0
Aug 13 15:52:13 etta genunix: ata_set_feature: (0x66,0x0) failed
Aug 13 15:52:16 etta pci: PCI-device: ide@0, ata0
Aug 13 15:52:16 etta genunix: ata0 is /pci@0,0/pci-ide@11,1/ide@0
Aug 13 15:52:16 etta genunix: UltraDMA mode 2 selected
Aug 13 15:52:16 etta cmdk: WARNING: cmdk_create_obj: ERROR creating target disk dadk
とエラーになってしまう。当然、正常にI/Oを行なうこともできない。うーん、困った困った。

2006-08-12

smartmontoolsのC++化

smartmontoolsのプロジェクトでソースのC++化をすることになった。
そもそもの発端は忘れてしまったwけど、Windowsかなんかでメリットがあるとかなんとか。
Factory Methodパターンを使って各種OS各種RAIDコントローラにもスマートに対応できるようにもなるよね、というのもあるらしい。
個人的には出力フォーマッタを取り替えられるようにすると面白いと思う。XMLを吐けばそれを使ってくれるアプリありそうだし。

というわけでSolaris用の変更点をコミット。キャスト周りとコンパイラのオプションの変更のみ。

リリカルはやて

昔の日記にも書いたけど、なのは第3期をやるらしい。
しかもはやてメイン。素晴らしい、としか言いようがない!

まあ、何年後の世界になるのかが気になるところではあるけど、少なくともはやては6年後世界でもあんまり外見変わってなかったから、バリバリ魔法を使うところが見られて、騎士達との日常も描かれてればきっと満足かなと。

正直、なのはさんは魔法的にも精神的にも強くなりすぎてしまって、話として面白いかはちょっと不安な点がある。フェイトはフェイトで新しい家族を得て幸せそうなところは是非見てみたいんだけど、そうなるとクロノを兄や…じゃなかった、お兄ちゃんと呼ぶシーンは避けられないわけなので、相当複雑な気分w

後は… 残された謎というと、ロストロギアそのものの成り立ちやユーノ君の生い立ちあたりか。はやて+ユーノがロストロギアの謎を追っていると、それを悪用しようとする勢力とぶつかることになってなのはとフェイトが応援に逝く… というストーリーなどいかがでしょうね。ギャグに振ってしまうとギャラクシーエンジェルかよって感じだけどw

2006-08-10

SMART on Solaris/x86 #2

前のエントリの続き。

なんとかなりそう、と思ったけど甘かった。I/Oを叩いただけで操作が完了するのはnon-dataプロトコルだけ。で、SMARTにはさらにPIO readとPIO writeのプロトコルを使うものがある。何も考えずにI/Oを叩いてしまうと割り込みが発生し、ステートマシンがおかしくなる可能性がある(良く調べると、ata_disk_ioctl()からはnon-dataプロトコルしか発生しないのね… orz)。

じゃあ割り込みを一時的に無効にすればいいのかとも思ったけど、ATAコントローラの割り込み有効設定はマスターとスレーブで共通で、どちらもデバイスが接続されている場合はえらいことになってしまう。うーむ、どうしたらいいものか。

こうなったら、通常の読み書きと同等(ただし常にPIOプロトコルを使い、レジスタ設定もユーザ指定値を使う)の処理を行なうルーチンを設けなければならないようだ。

さて、通常の読み書きと言ってもなかなか難しい。cmdkデバイスはパーティションテーブルを考慮するので、ディスクそのものよりは一段抽象的なレイヤにあるからこれをいじるのはちょっとおかしい。
となると、対象となるのはdadkデバイスだろう。dadkデバイスは、devfsツリーでは出現しない(pci-ide→ide→cmdkなので)が、なぜかディスクを表現することが可能な不思議なデバイスである。
特に、dadk_ioctl(DIOCTL_RWCMD)や、cmdkread()からcmdkstrategy()経由で呼び出されるdadk_strategy()があやしい。例えば、struct uioやstruct bufをでっちあげて、それに対してあたかもcmdkstrategy()が呼んだかのごとくdadk_strategy()を呼び出してやればいいのかなと。

ただ、dadk_strategy()はGHDという良く分からない仕組みに深く関わっているし、dadk_ioctl(DIOCTL_RWCMD)→dadk_dk_buf_setup()→dadk_dk_strategy()→dadk_dk()と呼び出していくうちにやはりGHDにぶつかってしまう。うーむうーむ。

2006-08-08

SMART on Solaris/x86

/var/crash日記: OpenSolarisのバグデータベースとSMARTの続き。

ata_common.cとata_disk.cをつらつら眺めてみて、こんなシナリオはどうだろうというのを考え付いた。

  1. ユーザから渡されたcmdとargはdadk_ioctl()内でもそのまま保持されてる。もしcmdに入っているコマンドがdadk_ioctl()に理解できず、かつデバイスがリムーバブルメディアでないとすると、cmdとargを引数としてata_disk_ioctl()が呼ばれる。
  2. ata_disk_ioctl()ではPIOデータ転送パケットpioを確保してやり、ata_queue_cmd(ata_pio_in, pio, ata_ctlp, ata_drvp, gtgtp)を呼び出してやる。
  3. するとata_ctlp->ap_v_dataにpioのアドレスが入ってからata_pio_in(ata_ctlp, ata_drvp, ata_pktp)が呼ばれる。
  4. ata_pio_in()ではata_id_commin()似のPIOデータ転送を行なう(ata_id_common()だとCOMMANDレジスタ以外のレジスタが設定できないし、ata_command()はnon-data用の関数なのでデータ転送を行なう前にSTATUSレジスタを読んでしまう)。ata_pio_in()にはata_ctlpが渡せるので、そこからpio、すなわちSMARTデータ用のバッファのアドレスを得ることができる。作業が終わったら、ATA_FSM_RC_FINIを返してFSMに状態遷移を起こさせる。
完璧? 話のつじつまはあいそう。ただ、ata_command()もata_id_common()もata_disk_*_pio_in()すらも使わないのはちょっとカコワルイ。
それに仮にこのやり方がうまく逝ったとしても、ataドライバはかなり変更が大きいところなので、Solaris/x86のものをOpenSolarisベースのものに置き換えて大丈夫かはかなりギャンブルだと思う。外部インターフェースがそうそう変化しないことを祈るか、でなければobjmgrを使いこなすかか。
あと、OpenSolarisのコンパイル方法を調べておかないと…

2006-08-06

SolarisでのUDFと日本語ファイル名

ユニバーサルディスクフォーマット - Wikipedia

Solarisでは日本語のファイル名をサポートするファイルシステムはufsとnfsしかなく、pcfsとhsfsでは存在すら無視されてしまう。ファイルのバックアップをCD/DVD-R(W)に保存する場合は看過できない問題だ。

そこでUnicodeでファイル名を保存するUDFに目をつけた。

# mkfile 300m foo
# lofiadm -a `pwd`/foo
# /usr/lib/fs/udfs/mkfs /dev/rlofi/1
# mount -F udfs /dev/lofi/1 /mnt
# touch /mnt/日本語のファイル名
touch: /mnt/日本語のファイル名 を作成できません。

くそっ、妙にエラーメッセージが腹立たしいww

追記: これ、EUC-JPでのエンコーディングでファイルを作成しようとしていたからだった。UTF-8なエンコーディングを使うとファイル作成もOK。素晴らしい。

ただ、localeもgnome-terminalもEUC-JPで生活してるからなあ… 後は思い切りだけの話かなあ…

Amazonでメイド服(続)

Amazonでメイド服を扱っていることは先日記したとおりだけど、「入荷予定」のものも多かった。しばらく経ったので在庫はどんなものかなあ… と覗いてみたら。

ほとんど在庫切れかよ… orz
いや、最初から入荷してないのかもしれないけど、ロングテールの見本みたいなAmazonでそれはないだろう。ということは、やはりヲタが大挙して買い占めてしまったとしか考えられない。夏のお祭りも近いしねw

2006-08-05

OpenSolarisのバグデータベースとSMART

Bug ID: 4665068 SMART support in IDE driver

記載内容が「SMART support required in IDE driver」ってのもすごいよなあ…

で、なんでこのバグ(?)を見つけたかというと、Solaris/x86+ATAでsmartmontoolsを動かしたいという人がMLで参加表明をして頂いたため、現状でできない理由を説明するためにいろいろ検索していたら出てきた。つーか、2002年から放置プレイかよ orz...

Solaris/x86+ATAでSMART情報を利用できない理由は簡単で、単にカーネルがサポートしていないから。いや、Solaris/SPARCやその他のOSでSMARTが明示的にサポートされているわけでもないんだけど、任意のコマンドをディスクに送る機構が備わっていればそれが代わりになる。

で、そういった任意コマンド送信機能を追加するにはどうすればいいかというと、おそらくataドライバに手を入れるしか手段がない。けどまあこれは理論上可能であるというだけで、自分は実行できる知識がないんだ… と前述の人には伝えておいた。英語が通じてればだけどw

ちなみになんでサポートしてないと言い切れるかというと、DTraceで実行フローをおいかけてみてそれを処理している部分がないことをOpenSolaris(公開)とSolaris8 Source Foundation(非公開)で確認しているから。DTraceを使ってカーネル内の関数呼出しをおいかける方法は以下の通り。

まず、トレース対象となる関数を決める。ここではcmdk(Solaris/x86のATAディスクドライバ)のioctl(9e)関数である、cmdkioctl()とする。
次はこのようなDスクリプトを書く

int traceme;
fbt::cmdkioctl:entry { traceme = 1; }
fbt::cmdkioctl:return { traceme = 0; }
fbt::: /traceme/ { trace("\n"); }

スレッドをまたがっても追い掛けられるようにtraceme変数はグローバル変数にした。ただ、若干ノイズが入る懸念はある。
例えばこれをfoo.dという名前で保存したとすると、rootになってdtrace -Fs foo.dとする。さらに別コンソールから、cmdkデバイス(/dev/rdsk/cXdXpX)をopenし、それに対してioctlを発行するプログラムを実行する。実行例はこんな感じ(空行は除いてある)

# dtrace -Fs foo.d
dtrace: script '/xxx/foo.d' matched 48212 probes
dtrace: buffer size lowered to 2m
CPU FUNCTION
0 -> cmdkioctl
0 -> dadk_ioctl
0 -> ata_disk_ioctl
0 <- ata_disk_ioctl
0 <- dadk_ioctl

で、後は呼ばれた関数をOpenSolaris.orgのソースブラウザで追っ掛ければ良い。

NHKにようこそ

NHKにようこそ

N・H・Kにようこそ!

2006-08-04

manコマンドでいらないセクションを検索しないようにする(Solaris)

/usr/sfwの下にいろいろいれてみたり、Sun Studioを入れたりすると、いろいろ余分なマニュアルページが入ってしまう。すると、例えばman openするとTcl/Tkのopenがひっかかったり、man forkするとFORTRANのforkがひっかかったりするようになり、うっとおしいことこのうえない。

マニュアルページが置かれるディレクトリにman.cfというファイルをつくり、MANSECTS=検索対象のセクション名と書いてやればmanコマンドが探すセクションを制限できるらしい。

例えば/opt/SUNWspro/man/man.cfに
MANSECTS=1,3,3c++,3cc4,3m,3p,3pi,3x,4
/usr/sfw/man/man.cfに
MANSECTS=1,1m,3,4,5,7,8と書いておけば良い。
それぞれのディレクトリが含むセクションのうち、3f(FORTRANの関数)とn(Tcl/Tkのコマンド)を除外している。

これが終わったらwindexも更新しておいたほうがいいかも。これはcatman -wでおk

ITmedia エンタープライズ:最新技術で効率化!今どきバックアップ入門

ITmedia エンタープライズ:最新技術で効率化!今どきバックアップ入門中の特集。

DDS/DATテープストレージ、その知られざるベストセラーの秘密
LTOテクノロジー、メカ部分の秘密

スーパー ゼビビス

スーパー ゼビビス

超感動した。
名前の似た名作ゲームがあるけど、きっと関係ないはず。

自分戦略研究室目的別インデックス 心身の健康 − @自分戦略研究所

自分戦略研究室目的別インデックス 心身の健康 − @自分戦略研究所

特にIT系の商売をする人にとってのヘルスケアの話題。
メンタルヘルス中心だが、たまにコンビニとうまくつきあう方法が載っていて参考になる。

キャリア開発シート

自分の勤めている会社には「キャリア開発シート」というものがある。これに勤務地や職種の希望を書いて上司と面談し、人事に反映するものなのだが、毎年何を書くか迷う。

というのも、「5〜10年後のキャリア目標」「〜3年後のキャリア目標」をまず考え、それを実現するためどんな能力を開発するかを書く必要があるので、相当面倒くさい。5〜10年後なんて鬼が笑うどころの話ではなく、大した出世欲もない平凡な人間にとっては100年後の未来と大差ない遠い先の話だ。

で、「能力の開発」のほうもやっかいだ。「能力」というものはすべてコード化されており、例えば「営業力」とか「検査技術」みたいな感じで一覧表になっている。たぶん数百くらいのコードがあるはずだが、探すには多すぎ、自分の能力を表現するには粗すぎ、なんとも中途半端である。
おまけに記述が異常に不足しており、例えば「OS技術」「デバイスドライバ」とだけ書いてあるような始末だ。PC用のOS(Windows)なのか、ワークステーション用のOS(UNIX)なのか、組み込み機器用のOS(ITRONとか)さえ記載されていない。専門能力を評価できない人事部担当者が、各々の職種の人事委員会に丸投げしているのが目に浮かぶようだ。

で、この能力コードに対し、自分がどれくらいのレベルにあるかを自己申告する。基本的には申告したレベルが人事に登録される。まあ、「おれはこれこれの能力がある」と自己主張する人に対して平等な機会を与えるシステムではあるけど、昇進は基本的に部門長推薦が必要なので何の意味もない。それにいつも思うのだが、部下に業務を与え、それを正当に評価できるから上司たりうるわけであって、こんな自己申告システムに頼るのはいかがなものかと。

そのレベル付けも昇進が近づいて来ると「上げておけ」という非公式な指示があったりして、まことに信頼性に欠ける(上げすぎてしまうとその次の年は何を上げようかで悩むことになる)。また、そもそもレベル付け自体が曖昧で、例えて言うとリニアスケールなのか対数スケールかはいかようにでも解釈できる。いや、もともと能力レベルをスカラ値で表そうというのが無理な話なのであって、揺れを許容できるのは悪くないことなのかもしれないけど。

で、なんでこんな文句をつらつら書いているかというと、夏休みが始まる前の日にこれを書こうと思ってたのだけど、難しすぎて家に持って帰って書かないといけないから。

…半分は自分のせいかな。あっはっは。

2006-08-02

InfoNESの続き

初代ファミコンが大流行していたころ、スーパーマリオブラザーズのステージ9なんてのがスクープされて大騒ぎだったことがあった。懐かしいなあ…

InfoNESで試してみましたともさ。あの頃は試す機会(機械?)がなかったけど、今は仮想マシンのメモリをちょいちょいっと書き換えてやるだけ。仕組みも今の知識で考えてみれば明らかで、コンティニュー用のラウンドを入れる変数が残っていたってだけだった。当時は「ノイズ」という説明がされていたけど、それはちょっと嘘っぽい感じ。まあ未初期化変数のことを小学生に説明することを考えるとしょうがないのかもしれないけど。

で… 正直感動した。ステージデータはほぼ正常ステージのものなんだけど、音楽・PCG・通常/水中・敵出現の各パターンがいろいろおかしい。クリアすると8-4クリア扱いになってしまったり、土管から地上に戻れなかったり、城の面が迷路になってなかったり。ただ、バリエーションはあまり多くなさそうだ。

小学生の時からずっと試してみたかったことをついに実現できて感無量(笑)なのだが、この歳になるまでその「やりたかったこと」を覚えていたというのはちょっと複雑な気分だ。大きくなったら何になりたい?という定番の問いに、「子どものころ出来なかったことをやれる大人になりたい」というメタな回答をしてしまう小学生はやはりイヤだ。やりたいことは若い時にやっておくべきだと強く思った次第。