2006-12-25

クリスマス

ふと日付をみたらすでに25日に! イブはどこにいったのー?

ていうか、ここまで国民的行事が気にならないってのは、もう人として終わってるかもね orz...

単語のクロスリファレンス作成用PukiWikiプラグイン

仕様書に出現するパラメータの一覧を出力するPukiWiki用のプラグインを探してみたけどなさそうだったので作成。
正規表現で指定した範囲のページから、特定のパターン(例えば《単語》など)を正規表現で抽出し、単語ごとに出現ページと出現頻度を出力するというもの。
これも実用になりそうだったら本家に出してみるか…

しかし、PukiWikiのプラグインは数が多すぎるなあ。見出し混みでページの一覧を出してくれるプラグインを作ってみたのだけど、ls2プラグインに含まれている機能だったりしてとほほんですよ。
まあ、良く読まない自分が悪いんだけどさw

2006-12-23

Solarisの周期処理のジッタ測定

さて、実時間の測定方法を押さえたところでSolarisの周期処理のジッタ測定をやってみる。

周期の作り方はnanosleepによるウェイトを利用したものと、setitimerによるシグナルを使ったもの。JDS上でxmmsを実行している、というかなりラフな負荷状態で、10/15/17/20msの周期処理を1000回繰り返した結果が以下の表(単位はすべてms)。

nanosleep
周期(=目標値)平均 標準偏差 最小 最大
10
15.4782 4.91366 10.002 20.8937
15
20.0454 1.21523 15.4322 56.6567
17
20.013 0.303867 18.8926 26.6976
20
28.4769 3.5365 20.0017 33.5873


itimer
周期(=目標値)平均 標準偏差 最小 最大
10
10 0.695859 6.40657 13.4345
15
15.0299 5.01306 6.96788 32.863
17
17.0228 4.80681 6.43815 32.7525
20
20 1.25318 7.29573 32.7424


統計からは見えてこないけど、いずれの測定でもスレッドの起床周期はタイマ割り込み周期である10msに丸められているようだ。ただ、setitimerの測定平均値が狙い値に近いことをみてもわかるように、この丸めは累積しないようになっている。

まあ、普通はsetitimerでいいのかなあ… ただ、タイマ割り込み周期の倍数にならない周期を使いたい場合は適不適が分かれそう。1/30sごとの処理とかしたいんだけどなあ…

Solarisの実時刻計測

Solaris10/amd64で経過実時間を測定する方法を調べてみた。

  • gettimeofday(): 分解能1μs。UNIX系OS全般で使えるかも。
  • RDTSC命令: 分解能1/CPUクロック周波数。自分のマシンだと1/1.8GHz=0.55ns。x86系専用。SPARCマシンにも同等機能のものがあった気がする。
  • clock(): C89の時代からある関数だけど、プロセスが使用したCPU時間がベースなので実時間ベースではない。分解能自体は1μs。
  • gethrtime(): 分解能は1ns。Solaris用? time.hを見るとRDTSC命令をラップしているようだが確証はない。

RTLinuxのカーネルとサイトがダウン

自社開発のシミュレータはRTLinuxを使っているのだけど、近頃担当者が代わって何度か相談を受けている。「USBメモリの使い方」とか「gccの警告の対処法」とか「デバッグのやりかた」とか他愛のない内容なんで、Linuxユーザじゃない自分もなんとか答えられる範囲ではあるんだけど、カーネルのバージョンが2.4.4とかすごいことになっているのでなんとも返答に困ることが多い。

例えばUSBメモリを刺してもUSBデバイスとして認識すらしない場合がある。当然USBサポート自体は有効にしているんだけど、それでも認識できないもののほうが多い。なので今時フロッピーディスク渡し。うはw

カーネルのバージョン上げればいいじゃんと言っても、わからんからやらないとか言い出すし。じゃあ分かるように調べればいいじゃん仕事なんだからさ、と言って放置しといたけど、さすがに酷だった気もしないでもない。

で、この間はgdbで実行してみたんだけど、RTLinuxごとお亡くなりに。RTカーネル側で死んだのかOopsも出さないし、syslogにも残ってない。Linuxだからクラッシュダンプもないし、かといってPCベースのマシンだからICEも使えないし。

しょうがないのでprintfデバッグないしcppunit-xあたりを使うように言ったけど、いずれ新しいバージョンのRTLinuxにせざるを得ないでしょうな。
その時は質問攻めにされそうな気がするので今のうちから情報収集をしてみようかと思い、RTLinuxをダウンロードするため公式サイトでユーザ登録をしてみた。ところがいくら待てどもアクティベーション通知が全然来ない。あそこのサイトはライセンス違反でつるし上げをくってたところだからなんとなく信用できない印象があって、アドレス蒐集だけされたか!?と一瞬思ったのだけど、単にサイトが落ちていただけだった。クリスマス近いのに大変ね。

2006-12-21

HHK lite2購入

W1100z用のメモリをネットで購入。DIMM DDR SDRAM PC3200 512MB CL3 ECC Registeredを2枚、約13000円。これで少しはFirefoxによるスラッシングが減るかなあ…

で、送料同じならついでに何か買っとこうと思って、HHK lite2(黒のUS配列のUSB版)を注文。会社で使ってるDellマシンの付属キーボードがヘロヘロで反応が鈍くてしかもスペースキーも小さくて気に入らなかったので、ちょっと替えてみようかなと。

続Solaris10 11/06 (u3)リリース

以前からSun Blade 100にSolaris 10を入れるとPCIがらみのエラーがdmesgに出力されてたんだけど、u3ではメッセージも出さすにリブートするように!
いよいよハードウェアがおかしくなってるのかなあ…と思っていたのだけど、Solaris9を入れたらあっさり動いてしまって嬉しいやら悲しいやら。

続続: ○本の住人

結局7&yで注文した > ○本の住人

ところで。

百合星人ナオコさん買ってしまいましたよ。
電撃大王は苺ましまろのフィギュアがついていた号しか買ってなかったので、あんなナイスなツンデレ幼女が出てたとは嬉しい予想外。やおい星人はさすがにどうかと思ったけど。

以前「CDビミョー」と書いたけど、あれは撤回ということでw
なかなかの電界強度ですばらしい。

2006-12-17

整数の対数

整数の平方根を求めるアルゴリズムは奥村先生の本やHacker's Delightで紹介されているけど、整数の対数を求めるアルゴリズムはないようだ。

いや、log2(x)やlog10(x)を求めるのはあるんだけど、使いたいのは1024*log2(x)とかのあらかじめスケーリングされた値。固定小数点形式で得たいというべきか。ちなみにNewton法は遅くて使い物にならなそうだった。

ちょっと考えてみたんだけど、(1<<K)*log2(x)についてはlog2(x)をベースにしてrange coder風の求め方でいけるんじゃないかなと思ってこんなのを作ってみた。

#define K 7

/**
* (1<<K)*log2(x)を求める。
* xは0≦x<(1<<16)を満たす必要がある。
*/
unsigned ilog(unsigned x)
{
int i;
unsigned r, th, tl, tm;

/* log2(x)の整数部分を得る */
for(i = 31; i > 0; --i) {
if(x >= (1u << i)) {
r = i;
break;
}
}
if(i == 0) return 0;

/* range coderを使ってlog2(x)の小数点以下の桁をKビット決定する */
th = 0x10000;
tl = 0x8000;
x = x << (15 - r);
for(i = 0; i < K; i++) {
tm = isqrt(th * tl);
if(x >= tm) {
r = (r << 1) | 1;
tl = tm;
} else {
r = r << 1;
th = tm;
}
}
return r;
}

intが32ビット(以上)のマシン用。どうでしょう?

コンピュータの構成と設計 ハードウエアとソフトウエアのインタフェース 第3版

いわゆるパタヘネ。これも順次読み進めていって、今下巻にさしかかっているところ。

妙にIntelをバカにしている(ように思える)記述があり、その度にニヤリとしてしまうw しかし、やはり名著と呼ばれるだけのことはあって、RISC(MIPS)の設計理念が非常に良く伝わってくる。

8年ほど前に大学の講義で8ビットCPUを設計・実装したことがあったのだけど、この本が出ていたらもっと良いものが作れていたに違いない。

…いや、それはないか。だってあの時は74LSシリーズを手配線していたからなあw メモリ空間が8ビットしかなかったけど、それでもA4サイズ強の基板がワイヤで埋め尽くされたのだっけ。写真取っとけばよかった。

それはそうと、この本の付録CD-ROMを今日になって見てみたのだけど、VHDLやVerilogのチュートリアルが入っていてかなり得した気分。素晴らしい。

Solaris10 11/06 (u3)リリース

Solaris10 11/06 (u3)がリリースされた。Wnnがなくなったらしく、ちょっといただけない。とはいえ、6/06でATOK17になったらしいので、これを機会に乗り換えてみましょうかね。

あと、ZFSがシーケンシャルアクセスで爆速らしいと聞いたので、いまさらながらZFSを試そうかなあと思っていたり。

コードコンプリート 続き2

「コードコンプリート」はやはり素晴らしかった、というのは前回書いたけど、多少は気にいらない点もある。

1つめはプログラミング言語としてC/C++/Javaといった"一級言語"と、VB"ごとき"を同格に扱っている点。まあ、気に入らないというだけであって、現実世界におけるVBの価値を否定するというわけではないのだけれど… なんか身びいきな感じで良い印象を受けない。

2つめはMSローカルな型の命名規則を、あたかも普遍的な慣習であるかのように紹介している点。C/C++の世界でstructタグ名/typedef名を大文字だけで表記するのはFILE型くらいなのに、C/C++、あるいはUNIX/Linuxの伝統であるという嘘が書いてある。STL(あるいはC++の仕様書)やPOSIXの仕様書を確認したほうがいいんじゃないか。

3つめはどうでもいいんだけど、カッコの内側のスペースの入れ方がまちまちなこと。

for ( i = 0; i < 100; i++ ) ...
if( type == 2 ) ...
corpExpense[ crntQtr ][ i ];
などと書いてある一方で、

profit[i] = 0;
index = (key - 10) / 5;
などという書き方もあって統一が取れておらず、ちょっと気持ち悪い。自分なら後者に統一するところ。

まあ、ケチはつけてみたけど、こういった難癖程度しかつけられないってことはやっぱり良い本だからなんだよね。

続: ○本の住人

売ってneeeeeeeeeeeeeeeeeeeeeeee!
三省堂とSATYと近所の駅ビル探してもない。
またAmazonさんに頼むか…

ていうか、意外と(と言っては失礼か)あちこちで話題になってる気がする。だからなのか。むむむ、なんだかジェラシー

2006-12-16

遅刻

同僚(後輩くん)の披露宴に呼ばれたので、30分前に式場到着の予定で家を出たら… 見事に遅刻。恥ずかしいーーーー

いや、だって、みなとみらい線のホームって分かりづらくありません? みなとみらい駅だって地下3Fにホームがあって、地上に出るのも時間かかるし、出たら出たでホテル遠いし… すいません、そういうのも考慮に入れろってことですよね。

お祝いも式が終わった後でご両親に直接渡すハメに。こちらが悪いのに丁寧なご挨拶までして頂いて、本当に申し訳ありませんでした orz...

新郎上司(つまり自分の上司)の挨拶が聞けなくて残念w
社内結婚、しかも同期同士の結婚なので互いに顔見知りなゲストが多く、楽しいふいんきで式がすすんだのは良かったなと。

トラブルトラブルトラブル

ああ、今週は忙しかった…
QAテストが始まる直前にあるトラブルが発覚し、自分のせいじゃないってのを証明し、最適パラメータを見つけるための評価用プログラムを作った。
バスがなくなって久しぶりに駅まで歩いていったり、その電車すらなくなってタクシーで帰宅したり。
んで、上司と弁理士さんとシミュレータの業者さんと面談があって… いやはや、なんでこの時期に集中するかなあ。

ただ、会社の勤怠管理システムが"25:30"などという時刻を受け付けてくれるのには感動したw

2006-12-11

PCDN News Letter 休刊

PCDN News Letterがいつのまにか12/3に休刊していた。
確かにRSSがあるから、リンク集としての価値は低下していたのは確かだなあと。
そういえばURLのみを列挙したニュースサイトもほとんどなくなったね。

年末

はー、いよいよ年末。

忙しいし、でもプライベートは暇だしwwww

年賀状の準備も面倒だな〜 ていうか忌中だけど。

2006-12-01

CppUnit/cppunit-xのPukiWikiプラグイン

例えば

* ファイル操作/File
ファイルに関する操作をまとめたクラスです。

** オープン/open
ファイルを開く
** クローズ/close
ファイルを閉じる

とPukiWikiに書いたら、

/// ファイルに関する操作をまとめたクラスです。
class File {
/// ファイルを開く
open();
/// ファイルを閉じる
close();
};




class FileTest: public Test {
/// File::openのテスト
void test_open();
/// File::closeのテスト
void test_close();

static Test *suite() {
TestSuite *ts = new TestSuite();
ts->addTest(new TEST_CALLER(FileTest, test_open));
ts->addTest(new TEST_CALLER(FileTest, test_close));
return ts;
}
};


を出力するプラグイン作った。実戦投入して、便利だったら上流に投げてみようかなあ…

テキスト届いた

情報処理技術者試験(TE(ES))のテキストがamazonから届いた。

む、難しい… orz

なんか1ページ目からいきなりアナログ/ロジック混在回路の問題ですか。
一応電気電子工学科卒だけど、ピュアな論理回路くらいしかやらなかったから、かなりキビシイ。まあ、早めにテキスト買ってよかったと思うことにしよう。

ただ、紙が薄いから意外とページあるんだろうな。しくしく…

2006-11-28

○本の住人

kashmirさんの単行本が出るらしい。これは買わねば。
http://blog.excite.co.jp/mangaword/6090022

って、百合星人ナオコサンもか! すばらしい! CDはビミョーw
http://www.mediaworks.co.jp/calendar/index.php

だが、サブカルっぽい芸風の人だから、あんまりメジャーになって欲しくないなぁ… なんつって。

2006-11-20

CNET Japan: MS、「ブルースクリーン」を模倣するジョークソフトを自社サイトで提供

個人的には面白いと思うんだけど… NAIは大人気NAIなあ。なんつってw

むしろ、sysinternalsにあったのに、買収したとたん公開しなくなったとしたら、そっちのほうが批判を浴びるんじゃないかなあ。

2006-11-19

NIOS II

組み込みCPUの検討をやることになって、AlteraのNIOS IIの資料をダウンロード。ついでにQuartus IIとNIOS EDSもインストール。で、でかい… 2GBオーバかよ… orz

しかし、この環境はなかなかよさげ。32ビットRISC CPUコアを持ち、Cygwinベースのgcc+gdbとそのGUIインターフェースを開発環境とし、newlibと各種RTOSが採用可能。ソフト開発者はHDLまわりのことは知らなくて良いし、逆もまた同じ。

これで従来のMCUベースのシステムより安く速くなるんだから、これはかなり期待できそう。ひとまず検討用の評価キットの予算を申請中。

コードコンプリート 続き

で、この「コードコンプリート」、今は会社に持っていってしまっているので、家で読めない(泣)。

ことの発端は、今年度の部の方針。
各機種ごとにバラバラで作っていたソフトウェアを標準化しろという話で、これ自体はよくある話なんだけど、下期になってかなり具体的な戦略を出さないといけないことになった。

で、偉い人が打ち出した方針がコンポーネント化による標準部品化。ここまではいいんだけど、何を部品にすればいいのかでまったく方向性が見いだせない状況。こういう時のために上流行程ってのがあるべきなんだけど、「下流行程ができなくなったので上流行程をやってます(やってることになってます)」的なノリの人たちが考え付くはずもなし。

# こういう人たちが「上流行程」と呼んでいるものっていったい何なんだろうね、というイヤミはさておき…

なぜか自分も参考人として召喚されてしまい、意見を述べるはめになったのだけど、「コンポーネント化と言ってみても、ソフトウェアの構成上は単なるモジュールでしかないよね」というわけでくだんの「コードコンプリート」を持っていき、モジュール分割の方法を講釈してあげたという次第。

まあ、どういう検討結果を持ってくるかはお手並み拝見といったところ。

コードコンプリート

先日購入した「コードコンプリート」は、評判に違わない良書だった。

上流工程をあまりに重視するあまり、「実際の設計活動」の知見が失われているんじゃないかと思うことがあるんだけど、これがあるなら大丈夫かもしれないw

(実際のところ、要求分析以降の作業について自分の上司やリーダーが指導してくれたことなんてなかったし、その能力があるのかも疑わしい。
まあ、そういう職種の人じゃないんで別にそれはいいんだけど、だからといって現実の問題を解決する能力を開発しなくていいということにはならないんだけど… ぶつぶつ)

ただ、まだ上巻の半分くらいしかまだ読めてない… ボリューム多すぎ orz
しかも会社に持っていってしまったからなあ(続く)

Googleグループ

Googleグループで久しぶりにnetnewsを見てみた。
fj.unixとかfj.news.usageとか巡ってみた。

…泣けてきたw

ダイヤルアップで初めて個人でIP接続した際は、わざわざmnewsとleafnodeをインストールして公開ニュースサーバに接続したものだけどなあ。
カオス的なところは2ちゃんねるに受け継がれてるし、純粋に情報を求めるならgoogleがあるし、たしかに立ち位置的にはつらいだろうなあ。

また、モヒカン族の元祖みたいなものがあふれていた場所でもあった。自分はそういうのは嫌いじゃない(というか、むしろそっち側だと思う)けど、ああいうのがダメな人はきっと多いだろうことは想像に難くない。

2006-11-17

ぉぃぉぃ

妹が男の子を出産した。めでたい!

んが、いよいよ名実ともにおじさんか。はっはっは。

2006-11-16

一線

ちびリインのクッションが3,000円ならリーズナブルだよなあ、買っちゃうかなあと思う今日このごろ。

でも、買ってしまうと越えてはいけない一線を越えてしまいそうで、ちょっと怖い…

2006-11-12

toppers/jsp

ITRON用のプログラムを単体テストするため、既存のOS上でμITRON環境をつくるソフトを物色中…

TOPPERS/JSPカーネルがよさげなんだけど、Cygwin対応はかなり微妙らしい。
ちなみにSolarisで動かした時もコンテクストの判定があやしい感じで、すぐE_CTXになる。
代替スタックというものを使っているらしいんだけど、こんな機能使うよりさくっとPOSIXスレッドで書き直したほうが移植性高くありませんかね? でも、タスクに割り当てられるスタック量をコントロールできないかな?

Blogger betaが日本語対応?

さっき日記つけて気が付いたけど、投稿後の"View Your Blog"というメッセージが"ブログを見る"みたいに日本語対応に!
スタッフさんがんばってねーv

# あとは"blog this"機能が復活してくれれば言うことなし。

Thunderbird入れた

# あ・ごー

自宅のメインマシンのSolarisでは長らくCSWのsylpheed-clawsを使っていたのだけど、ときたま日本語が化けるのと、SPAMフィルタが内蔵されていないのにほとほと嫌気がさし、ついに乗り換えを決意。

まずは本家sylpheedに復帰しようと思ったのだけど… うぐぅ、ビルドできない。
いや、実行ファイル自体はできるんだけど、すぐsegfault。GTKがらみっぽくて、おっかける体力もない(まあ、少なくとも朝の5時に試せるほど簡単じゃなかったw)。

そういうわけで、長芋にまかれてThunderbirdにしてみたのだけど…
なんと、MH形式からのインポートに対応していない罠www
時代の流れは残酷だw

まあそれでもpackfコマンドを使ってファイルを変換する方法があったので、さっそく実行。nmhというパッケージを使ったのだけど、ひさしぶりにMHを使ってちょっと感慨にふける。そしてThunderbirdではアカウントの設定(電話会社のアカウント)とSPAMフィルタの学習、振り分け設定を実行して… ああやっぱ新しいソフトは便利でいいねえ。

ところで、テキストエディタ・ウェブブラウザ・メールソフトがいずれも会社のWindowsマシンと同じソフトになった。これはEmacsとMeadowを同一視しての話だけど、だとするとMS OfficeとStarSuiteもいっしょと言えなくもない。クロスプラットフォーム万歳。

2006-11-10

ディスク暗号化ツール

ああ、そういえば会社でディスク暗号化ツールの乗り換えがあった。

もともと使わされてたのが十条電子のHardKey。
USBドングルみたいな感じで、共通鍵方式の暗号化キーが共有鍵方式で暗号化されて記憶されているような使い勝手だった。
あるディレクトリ以下を暗号化するタイプで、一気に数百MBのファイルを暗号化用フォルダに入れるとシステムが不安定になるとか、システムファイルを暗号化してはいけないとかイマイチ使い勝手が悪かった。

で、今後はSafeBoot(富士通ソーシアルサイエンスラボラトリ製?)。なんと、インストールのためだけにPC名を変更させられた。どうもサーバ側でクライアントを一元管理しているためらしいんだけど、そんなの内部生成したIDでやれよ… というのは言ってはいけないだろうか。それに、使用ライセンス料制なのも良くない。毎年予算申請するの面倒なんで、売り切りにしてくださいよ orz...
ただ、パスワードを何度も間違えると、OSさえ起動しなくなるというのはなかなか良い仕組みだ。パスワードの履歴を覚えているのも良い。

暗号ファイルの解読

http://www.host.or.jp/cgi-win/webboard/wb_cont.exe?pcunix+g+5294+NEW で

※現在の日本の法律では暗号化された情報を許可無く解読することはそれ自体が
※違法行為になります。
※技術的には上記の通りですが、正当な権利が無い場合は興味本位であっても
※違法行為には他なりませんので、注意してください。

と書いてあって、「あれっ? そんな法律あったっけ?」と思った次第。自分もあまり知らないので、ちょっと調べてみた。

まず関係ありそうなのが不正アクセス行為の禁止等に関する法律。
http://www.ipa.go.jp/security/ciadr/law199908.html
良く読むと、リモートアクセスに関する不正アクセスを禁止するものなので、ローカルでパスワード付きファイルをどうこうする話とは無関係。

次が不正競争防止法の第2条の10号と11号。
http://www.houko.com/00/01/H05/047.HTM
こちらは"営業上用いられている技術的制限手段"を取り外す装置や、そういう機能のみを持つプログラムの頒布を禁じるもの。
なので、例えば市販のプログラムファイルが暗号化されていたらそれを取り外すツールはまずいかもしれないけど、自分の作ったパスワード付きファイルをどうこうするのは対象外。
また、装置やプログラムを販売したり譲渡するのがまずいのであって、使用することや作成することは問題ない。

というわけで、調べた範囲では暗号化ファイルの解読それ自体が違法になるという根拠は見いだせず、という結果になりそう。

まあたとえ法律が許そうとも、そのテの情報をカタギの掲示板に載っけるのはいかがなものかとは思うけどね。

2006-11-04

クッキーの謎

Tracking cookieはスパイウェアではない…という文章を読んでみたんだけど、あくまで分類の話ということなのね。
たしかに個人情報を送っているわけではないから定義上スパイウェアではないんだけど、それを許容できるかという問題とは別の話かなあと。

個人的にはユーザ登録してあるサイトでブラウズ履歴を探られてはちと気分が悪い。googleやamazonやアクセス集計サイトにアクセスし、その後アフィリエイト画像付のサイトを巡ったら、googleやamazonに訪問先がばれてしまわないだろうか? まあ、よほどのことがなければわざわざ個別のユーザについて調べるはずはないってのは分かってるんだけど。

というのも、たまたまcookieのファイルみてたら、かなり多くのサイトから"__utm"+1文字というcookieが発行されていて、なんだかなーと思った次第で。ここの会社かなあ。

かくいうこのサイトも、アクセス集計のためにバナー貼ってるんだよね。これって、訪問者の情報を売り渡していることになるのかなあ… うーむ

書籍購入♪

おととしあたりに経費削減不公平感解消のために福利厚生がポイント化された。余暇で使った宿代や自己啓発のために買ったものの領収書を渡して、1000円ごとにキャッシュバックする仕組み。

年に20,000円分が支給される(使わなければ召し上げ)んだけど、独身の自分としてはどこに旅行するあてもないし、自己啓発のためにPCを買うには足りなさ過ぎ、書籍のためだとすると多すぎというわけで、単に財形に振り込んでもらっている。

だけど、5年勤続ごとに5万円分のポイントがさらに付加されるしくみになっている。ありがたい話なんだけど、こちらは財形には組み込めなくて、正直何に使って良いのやら迷う。

んで、ずっと欲しかった書籍をここらでぱーっと買ってしまうことにしたw

コンピュータの構成と設計~ハードウエアとソフトウエアのインタフェース 第3版 (下)
コンピュータの構成と設計~ハードウエアとソフトウエアのインタフェース 第3版 (上)
Modern C++ Design—ジェネリック・プログラミングおよびデザイン・パターンを利用するための究極のテンプレート
Code Complete第2版〈上〉—完全なプログラミングを目指して
Code Complete第2版〈下〉—完全なプログラミングを目指して
Write Great Code〈Vol.1〉ハードウェアを知り、ソフトウェアを書く
ハッカーのたのしみ—本物のプログラマはいかにして問題を解くか

最後のはまだ届いてないし、さらに後で情報処理技術者試験のテキストも買うつもりだけど、それでも6冊で24,000円くらいか。これは勢いがないと買えないねえw

というわけで、久しぶりに活字を堪能しますか!

2006-10-30

坂口安吾

青空文庫の坂口安吾の作品を読んだ。
「堕落論」「白痴」は偽悪的(?)な文章が面白かった。押し入れに女をかくまうってのはなかなかエロテックな設定で非常によろしい(そこに反応するかwww)。
「勉強記」、ちょっと下品というかアカデミズムをバカにしすぎって気もするけど、たぶん今よりそういうものに権威があった時代だったからこそ、そう書いてみたのかなあと。
「桜の森の満開の下」は未読。

2006-10-27

Solarisで無線LAN

で、Linuxで無線LANなんて当たり前すぎるので(ry

http://www.opensolaris.org/os/community/laptop/wireless/なんてのがあるらしい。WN-B11/USBはさすがにダメみたいだけど、

# pcwl – Wireless Driver for Agere 11b and PrismII 11b Chipsets
# ral – Wireless Driver for RaLink RT2500 Chipset

なんてのがありますよ先生さん!

いまさら無線LAN

48ビットWEPしかなかった時代は「あんなもの危なくてつかえねー」と言いつつ、それらが時代遅れとして捨てられるとなると一転して喜んで拾ってくるルンペン気質の私。

さて、IO-DATAのWN-B11/USBと、WN-B11/PCMと、CoregaのWLCB54GLをもらってきた。

OpenBSDのサイトによればWN-B11/USBはAtmel AT76C50xで、Linuxだとhttp://at76c503a.berlios.de/のドライバが使えるらしい。

WN-B11/PCMはcardctl identすると

product info: "IO DATA", "WNB11PCM", "Version 01.02", ""
manfid: 0x028a, 0x0002
function: 6 (network)

と表示されるタイプ。Lucent OrinocoとかPrismIIというファミリらしい。3種類もドライバがあるようだけど、Debian 3.1だとorinocoドライバがattachされていた。

WLCB54GLはメーカサイトに説明あり。Coregaエライ。Ralink 2500というファミリらしく、ドライバもrt2500を使う模様。

2006-10-24

大麻栽培PC

ヒロポンに引き続きマリファナの話題w

大麻栽培PC
Engadgetはコメントが面白いなあ。

違法つながり・温度コントロールつながりで妄想してみたんだけど、どぶろくの発酵キットとか作れそうですなあ。

2006-10-21

ヒロポン

Wikipedia巡りネタ…

「ヒロポン」は商標なのだそうだ。
さっそく特許庁で検索してみると… おお、まだ登録されてますよ?
2005年2月1日に更新登録がされているので、まだまだ商標権を手放したくないらしい。
医薬品としてまだ使われてたりするのかなあ?

これも個人的にはびっくりだったけど、さらに驚きなのは特許庁の商標区分番号の分類中に「覚醒剤」が存在すること。いいのかな… うーむ。

pukiwiki-mode for PukiWiki 1.4.7

会社で入れたPukiWikiをヘビーに使い倒すためMeadowさんにpukiwiki-modeをインストールしたのだが、インデックスが表示されない orz...

四苦八苦した結果、以下のことが分かった:

日付の解析を間違えるので、default.ini.phpの$show_passageは0にしてはいけない。

一覧ページのフォーマットが変わったので、HTMLの正規表現を変える必要がある。

--- pukiwiki-mode.el.ORG 2005-02-22 17:01:47.001000000 +0900
+++ pukiwiki-mode.el 2006-10-20 12:58:44.031250000 +0900
@@ -2701,7 +2701,8 @@
"index として抽出する anchor の正規表現の Pukiwiki 1.3系用。")

(defvar pukiwiki-fetch-index-regexp-1.4-later
- "<li><a[^?]*\\?cmd=read&page=\\([^\"]*\\)\"[^>]*>\\([^<]*\\)</a>[<small>]*\\([^<]*\\)[</small>]*</li>"
+ ;;"<li><a[^?]*\\?cmd=read&page=\\([^\"]*\\)\"[^>]*>\\([^<]*\\)</a>[<small>]*\\([^<]*\\)[</small>]*</li>"
+ "<li><a[^?]*\\?\\([^\"]*\\)\">\\([^<]*\\)</a>[<small>]*\\([^<]*\\)[</small>]*</li>"
"index として抽出する anchor の正規表現の Pukiwiki 1.4以降用。")
これで快適快適。

ある日の会話

某氏「今期は何を見てるんですか」 (アニヲタってのは知ってる)
自分「Death Note面白いっすねー。ジャンプ全然読んでなかったから」
某氏「え、8等身キャラですよ? 大丈夫なんですか?」
自分「どういう意味だっつーのw」
某氏「死神とかじゃなく、妖精さんじゃないとダメなんじゃないですか?」
自分「あー、ビンに入ってるとかねー」

どういう人だと思われているんだろう orz...

2006-10-19

Wikiで仕様書作成

続き。

texiファイルはフィルタで形式を修正して(最近立ち上げた)Wikiに掲示してる。こうした理由はいくつかある。

○新しい手法を導入する際の、心理的な抵抗を減らすため。大部の資料を作成してわけのわからない専門用語で相手を圧倒するのもそれはそれで楽ではあるんだけど、今回はちゃんと布教したかったので、ページ単位にすっきり納め「なければならない」Wikiを採用した。

○文書サーバが分散していて関係者全員がアカウントを持つマシンがなく、だれでもアクセスできる配布手段が必要だった。ウェブならブラウザさえあれば良く、事業所をまたがってもいいし、もしかすると興味をもったお偉方にも読んでもらえるかもしれない。

○完結した資料を作ると、ただケチをつけるためだけにレビューしようと言い出す輩がでてくる。指摘できる俺ってカコイイ、というチンケなメンタリティが透けて見えていやなものだが、Wikiならば「指摘点があればあなた自身が直してこの文書の改良に協力してください」で済んでしまう(相手がよほど偉い人でなければだけど)。

○自分自身もそうなのだけど、レビューアの立場になるとどうしても「何かを指摘しなければいけない」という強迫観念にかられ、どうでもいいようなことを指摘した挙げ句、わけのわからない防御的な記述だけを増やしてしまうという悪いパターンに陥りやすい。しかし、文書作成者とレビューアの立場が同じWikiならば、「レビューアだから何か言わなければ」というしがらみから解放される(もちろん、Wikiだろうと何だろうと他人が読むことをまったく意識しない文章を書く人もいるけど)。

○Wordだと複数人で同時に編集することができない。自動的なマージもできないと思う。

○で、最後の理由。仕様書をいちいち印刷するバカがいるので、強制的に複数ページになるWikiを選んだw はっはっは

2006-10-18

texinfoで仕様書作成

仕事でちょいとしたチュートリアルを作る必要があったのだけど、いきなり本格的な資料を作ってもどうせ読んでもらえないと思ったので、少量ずつメルマガ形式で配布している。

で、元のフォーマットはというと、なんとtexinfo。これを複数HTML形式に変換し、数ページずつ「配信」する。1週間経つと完全なチュートリアルができるという、デアゴスティーニ商法も採用した。
HTMLで文書を配布するというのは多分前例がなくて、Word+Excel文化に毒されている職場にあってはなかなか思いきったことをしたぞとちょっと自己満足。

Project Blackbox

48本SATAディスクが入るマシンを発表した時も思ったけど、最近のSunはおかしい(誉め言葉)。

http://www.sun.com/emrkt/blackbox/

2006-10-15

SolarisとBoehm GC

w3mがよくsegfaultするのでビルドしなおそうとしてみた。
だが、調べてるとw3mだけが悪いというわけでもなく、Boehm GCライブラリとの組み合わせ次第らしい。

w3m-0.5.1と組み合わせてみた場合、gc-6.1, gc-6.2は大丈夫、gc-6.3, gc-6.5, gc-6.8はダメ。gc-6.3はα版がFTPに残ってるくらいなので、なにか大きな変化があったのだろうなあ。

というわけでlibgcをsysvパッケージ化。w3mも順次パッケージ化予定。

交通安全協会

これの続き。

自分が住んでる市の警察署だと運転免許証は即日更新できないのだけど、となりの市の警察署だとOK。なのでそちらで交通安全協会に入会したのだけど、今週になって住んでいる市の協会に登録を移しましたというハガキが来た。
例の個人情報保護法がらみでヤバくね?と思うんだけど、まあ電凸するほどヒマでもないし。でも、blogのネタにはしちゃうw

Spartan 3Eスタータキット うごいた

なかなか動かないのでイヤになっていたのだけど、ようやくSpartan 3Eスタータキットを動かせた。ふー、手ごわかった。
まあ、24ビット分周回路と8ビットカウンタをLEDにつないだだけの、本当に最初の一歩なんだけど。

しかし、FPGAの開発キットってのは規模がでかいよねえ。ディスク上の容量は1GBオーバー、前述の簡単な回路を合成するだけで数十秒。ソフト屋としてはやっぱりソフト作ってたほうが楽かなーというのが実感。

いや、逆にソフト屋がいかにテキトーにもの作ってるかってことの現れかもしれないな。コンパイルしてエラーでたら修正、とりあえず動かしてみて修正、リリースしてからさらに修正… うん、確かに甘いかもw

2006-10-14

改変期

いまさらだけど、ヲタとしては新番組のチェックはしないとなあ。

DEATH NOTE: コミックスは読んだことないけど、キャラも設定も面白い。ちょっと借りてみようかなあ。
Kanon: 噂の京アニ。さすがという感じ。名雪エロい。でも、北川くんがちょっと痛い人になっててかわいそう。
ネギま!?: 噂の新房監督。OPや黒板はいかにも「らしい」演出。ただ、ぱにぽにを連想してしまうんだよなあ。このかが一条さんにキャラ的にかぶってしまうとは思いもよらなかった。
ギャラクシーエンジェる〜ん: OPエロい。GAより全体的に年齢が下がって良い感じ。

2006-10-07

逆正弦定理

猫だっていろいろ考えているんです : 逆正弦定理

RinRin王国経由。逆正弦定理というのは良く分からないんだけど、リンク先のシミュレーションが気になる。


コインの裏、表を出す乱数はC言語のrand()関数を利用した。

と書いてあるからだ。奥村先生の本だったと思うのだけど、rand()関数の乱数としての性能はあまりよろしくないらしい。

まあ、「ツキの法則」はシミュレーションに頼らなくても日常で実感できている(させられている、と言ったほうが正確かもw)から、どんな乱数発生手段を使っても結果は変わらないと思うのだけど。

ところでたまたま前日にJIS Z 9031(乱数発生及びランダム化の手順)なんてのを発見していたのだけど、メルセンヌツイスターアルゴリズムまで載っていてちょっと感心。

P.S. OpenSolarisもglibc(のデフォルトPRNG)も線形合同法だった。

TEXHNOLYZEキターーー

ロボット義手を移植した女性 - Engadget Japanese

うーん、技術/医学の進歩ってすごいねえ。そのうち重いケガをした人だけじゃなく、一般の人もこういう機械のボディを使う攻殻機動隊な時代がくるかもしれないね。

自分としては機械の埋め込みはあまり必要性を感じないけど、頭の中にヘッドフォンを組み込みたいとひそかに思っていたりして。単純作業(仕事含むw)をする時、音楽が流れてないとダメなんだよね。素で電波を受信できる人になってしまうのかもしれないけど。

元記事の
資金の多くを提供しているのはもちろんDARPA。義手や義足を一番欲しがっているのが軍隊であることを思えば不思議はありませんが、どう考えても治療ではない方向の応用も狙っていることは間違いありません

だけど、これもまた映画の世界だなあ… リーサルウェポンだっけ?

2006-10-03

shell-script-mode と outline-miner-mode

バグってるソースをチェックしつつ、コメントをDoxygen形式に変更しつつ思ったこと。

「Emacsのoutline-modeがC/C++の関数に対して使えるとIDEぽくね?」

ちょっと調べてみると、C/C++ではさすがに無理らしい。C-Down, C-Upで諦めますか。
Doxygenの@fnタグをインデントのキーワードにすればできなくはないのだろうけど、そこまでしなくてもいいか。

しかしシェルスクリプトでoutline-modeという、ちょっと見過ごせない技もあるらしい。おもてなしの空間 - shell-script-mode を outline-miner-mode で使う

うは、こりゃ便利だ。さっそく使わせてもらう。デフォルトのキーバインドが少々使いづらいので(C-c @ C-aとかやってられない)、(setq outline-minor-mode-prefix "\C-t")を$HOME/.emacsに追加。

2006-10-02

NetHack用マクロ?

マクロと呼ぶにはおこがましいけど、xtermなどを使う場合に次のリソースファイルをxrdbに食わしてやるとF1キーで登り階段まで移動、F2キーで下り階段まで移動する。いまさらながら_コマンドの存在に気が付いたのでさっそく活用。

*VT100.Translations: #override <Key>F1: string("_<.")\n <Key>: string("_>.")

しかし… なんだかフーンのAAに似ている気がする。

久しぶりにNetHack

2ちゃんのNetHack 地下:32スレで+10武器の作り方が載ってた。

「dartなどが1200本くらい貯まったらまとめて一挙に+7まで強化」…いきなりすごいことをさらっと言われた気が…1200本もダーツ集まるのかなあ。ダーツの罠に延々とかかるのかな?
「120本づつ強化していって、+8になるのが大たい360〜480本くらい。」…dartとは言え+7 dartsを720〜840個壊すのですか…
「次に60本づつ強化(略)+9になるのが経験上120本くらい」… エリートの+8 dartsがさらに1/3〜1/4に…
「ここから5本づつ強化(+10になる確率は1/80らしい)」… 1〜2本程度しか残らないのですねorz

後は+10 dartを祝福して1本ずつpolymorphするのだそうだ。はぁ〜、あまりの難易度にため息が出そうw
ひとまずプリン祭で遊べるレベルにならないと… そういえばプリン祭も初めて知った時は感心したよなあ…

で、これに刺激を受けて久しぶりにNetHackをプレイ。うーん、面白いなあ。ゲヘナまではw
若干キー操作を忘れていたけど、すぐに復活。

なんというか、現実の生活にいっぱいいっぱいな時期に無性にやりたくなるんだよね。現実逃避としてぴったりなのだろうか。

2006-09-25

フルーツバスケット 21巻

運転免許更新の返り道購入。
「そういえばフルバの20巻まだかな〜」と思って書店に寄ってみたら、なんと21巻まで出ていましたとさ。
ストーリーが急転回なんてもんじゃなく進んでて、ちょっとびびった。
22巻で終わってしまうのかなあ… ちょっとさびしい。

苺ましまろは相変わらず新刊なしのようで。

Xilinx ISE

XilinxのISEをちょぼちょぼ触ってはいるんだけど…

4ビットカウンタすらシミュレーション動きやしない… orz

何が悪いんだろう? クイックスタートガイドを絶賛参照中。

欝欝欝

最近会社が忙しい。
特許にカイゼン活動にコストダウン活動に検査活動に仕様書レビューに検討会にチーム活動検討に…

それでもそれなりにはこなしてはいたんだけど、某マネージャ(元上長)から社内試験の小論文の準備をしておくようにと言われ、一挙に欝に。
文章を書くのもデータをまとめるのも嫌いじゃない、いやむしろ好きなほうではあるんだけど、それもちゃんと理解してくれる人がいてこそなんだよね。
QC活動あたりから派生した「科学的手法」と称する疑似科学的なロジックを使わなければならないというシバリがあるので、やりづらいことこの上ない。ただの技術報告書作成だったらどれだけ楽なことか。

あー、めんどくさ orz...

運転免許更新

金曜日に午後半休を取り、警察署で運転免許を更新しにいった。

証紙は交通安全協会で売ってる、という張り紙があったのでいってみたら…

入会しちゃいました、警察OBの天下り機関交通安全協会にw

「書類の記入もこちらでしますよ、地域の交通安全活動に寄付しますよ」とうまいこと言われたんだけど、そんな難しい書類でもなかったし、こりゃ一本取られたなって感じ。優良運転者なので5年ごとしか用はないんだけど、昔住んでた東京都の公安委員会はそんな怪しい勧誘はしなかったぞー > 神奈川県公安委員会様

2006-09-20

安いPC

製造業においてコストダウンを図るには、という永遠の課題をなぜか押し付けられて(という表現も良くないのだろうけど)いる。
当初検討メンバを集めた際には「若い人の柔軟な発想で」とかうまいこと言っておきながら、中間レポートを発表(発表自体は代表の人がやったのだけど)したらまるで他人事のように批判しまくり。ぐぁー、理不尽だw

そもそも金勘定はおたくらお偉いさんの仕事でしょと言ってやりたいが、それはさておき特に気になった点。

こちらが「某PCベンダが価格破壊が出来たのは信頼性の低い部品を使った…」と触れたところ、勉強が足りないととりあわない。これは数年前に某メーカが国産メーカを蹴散らして躍進していた時期、新聞で紹介された話だったんだけどね。一般には、某メーカの安さは優れたサプライチェーンマネジメントの賜物であるという解説がされていて、それは決して嘘ではないんだけど、「その程度のこと」はどこのメーカでもできているわけで。

偉い人にとっては、自分の使っているペコペコに安っぽいキーボードや、memtest86をかけるとエラーを出しまくるメモリや、部品不良の電話をかけると怪しい日本語でいやにすぐ交換を手配してくれるサポート部隊という現実よりも、日経ナントカの記事のほうが信頼に足ると思ってるんだろうなあ。日経ナントカが取材に来るたび、広報部が「あの記事のこの部分は記者の推測であり事実と違います」と社内報で否定しまくっているのを知らないではないだろうに。

余分な話はさておき、「信頼性の低いソケットを使っている」というようなネガティブな話のソースはなかなか見つからないものだなあと実感。だから、たとえブレーンストーミング的な議論の中から出てきたこととはいえ、ある程度フォーマルな場にもっていくには裏付けがなさすぎた。それにそもそも日経ナントカを批判するなら、自分自身も「信頼性の低いソケット」のウラを取るべきだった。

ヒマな老人に翻弄されないように、次回はもちっと賢く振る舞おうか。

4年モノ

会社で4年モノのバグを発見した。
正確に言うと、他機種に移植されたあと、そこで出たトラブルの原因候補として残ってしまった。

少し前に「これは理論的にはアブナイかもしれないな」と気が付いていて、いつか直そうと思っていたのだけど、自担当の機種では何の問題もなかったので、何もしないでいたら、結果的には他の人の手を煩わせることになってしまったと。ショボーン

ま、黙ってパクっていったあいつらもあいつらだけどな ← 見苦しいぞ

まあ仮に発現したとしても爆発したり発火したりといったものではないし、そもそも発現したことすら一度も確認されていないわけだけど ← さらに見苦しい

ただ、当時はなんとも思わなかったけど、今見れば一瞬でアブナイと分かるようになったわけで、まあ1つの性徴成長なのかなと。

今後はすぐに直します。ごめんなさい。

TOEIC受けた#3

TOEICの続き

採点結果返ってきた。650点。ぐはw
ある程度は覚悟していたけど、ここまでスコアが急落するとは思わなかった。予想外に欝だ…
苦手なリスニングはpodcastの英会話番組を聞いてちょっといける気がしていたのだけど、結果は平均点を下回る始末。いやはや。

しかし、やはり点が出てしまうと「次回は頑張ろうか」と思ってしまう自分が悲しい。嗚呼、哀れなり団塊ジュニア世代。

2006-09-12

Java DWARF Reader #2

Java DWARF Readerの続き

チューニングを施したところ、実行時間は約25秒から5秒弱にまで減少。ヤター

分かったこと1: やはり配列とArrayListは速い。Map(HashMap)は遅い。
分かったこと2: byte[]からStringへ高速に変換するには、deprecatedなコンストラクタ(String(byte[] d, int hibyte))を使うしかない。もちろん7ビット文字集合である必要がある。符号化系に対応すると、非実用的なほど遅くなる。

あとメモリ消費量も相当になってしまったけれど、これはどうしょうもないのかなあ。

2006-09-10

Java DWARF Reader

ELF情報を読むクラスは作ったので、DWARFリーダに挑戦。

とりあえず.debug_abbrevと.debug_infoを読むところはできた(階層構造を復元したり、型の名前を復元したりするところはまだ)。
ただ、実行速度が遅いのでちょっとがっかり。14.5MB(デバッグ情報は10MBくらい。でかいなあw)ほどの実行ファイルを解析するのに25秒くらいかかってしまう。

そこでJavaのプロファイラを探してみたのだけど、NetBeansと組み合わせて使えるものが出ていたのね。ついでにバージョンも4.1から5.0に上げておいて、さっそく計測〜
測定手順は思っていたよりは遥かに簡単。ていうか、Javaはデバッグ機能もろくに使ってない(printlnデバッグがメイン)から、妙に感動してしまった。
で、20-80の法則とまではいかないけど顕著なボトルネックがあったのでさっそく改造予定。

Spartan 3Eスタータキット

前に書いたように、Spartan 3Eスタータキットを買ってみた。

注文したのはマルツパーツ館。他の商社っぽいところは支払いや配送方法をいちいち営業に聞かないといけないためパス。値段も同じだった。

で、8日の深夜に発注して10日15:00には郵便屋さんが届けにきてくれた。はやっ! 素晴らしい>マルツパーツ館&郵便局。

ただ、残念ながらヘッドホンをしていたため、チャイム音が聞こえずにお預かりとなってしまった orz
カナル型の遮音性能の高さに改めてびっくり。これをして毎日通勤してるんだから危ないよなあw

2006-09-08

Verilog HDL

これに影響を受けて、ここ数日Verilog HDLのことを調べていた。

参考になったのは次のところ:

ソフト屋にとってはVHDLより扱いやすい気がする。でも、もしかすると上記サイトの説明がうまいだけかもしれないw

XilinxのSpartan3Eのスタータキットでも買って遊んでみたいなあ…

でかっw

CG定点観測さん経由secretlyさん

2006-09-06

携帯音楽プレーヤ

現在携帯音楽プレーヤとしてCreativeのMuvo^2(1.5GB)を使っている。USBでつないだ時に時々I/Oエラーを起こすのが気になっていたけど、いったんデータを転送できてしまえば不満はない(むしろMDやカセットの時代より音質的にはずっと満足)。ただ、たまたまApple製品のキャンペーンが始まってiPodが1000円くらい安く買えるため、ちょっと買い換えを検討しはじめた。

まずAppleのiPod nanoだが、値段が高いことを除けば割といい線を行っていると思う。だが、数GBあれば十分なのでHD型のiPodはパス。東芝のgigabeatは安いがちょっと容量がムダに大きい気がする。Creativeは少し高い気がするし、Muvoユーザとしては同社製品は信頼性がイマイチな印象が拭えない。

で複雑なのがSONYで、メモリ型はAppleより安いのにむしろ逆に割高な気がしてならない。カラー液晶とブランド力の差だろうか。HD型は値段も容量も手頃なのだけど、曲線的なデザインが気に入らない。そしてソフトの評判が極めて悪い。立ち位置としてはAppleに近いはずなのに… 音自体や電池の持ちは良いらしいので、Sonic Stage次第かなあ。

意外なところでPanasonicがSDカード型のを出していて、ちょっと興味を引かれた。本体約8000円で、メモリが1GBで約3000円。もしUSBマスストレージとして使えるならなかなかオトクな気がする。

というわけで、Apple iPod nano, SONY, Panasonicあたりで検討中…

ついでにヘッドフォンも検討中。今SONY MDR-EX51SPを使っているのだけど、ケーブルが裂けてかなり恥ずかしい状態なので。
上をみればきりがないので、audio technicaのATH-CK32かATH-CK5かATH-CK7、あるいはもう一度SONYのMDR-EX51SP(ケーブルが丈夫になったらしい)かMDR-EX71SLあたりかなあ。

2006-09-05

サイエンス チャンネル

CATV世帯なので、ヒマな時はCATV会社が流した番組を見る。いや、もう今はほとんど見てないから「見ていた」とするべきか。

その中でひそかに楽しみにしていた番組が「サイエンス チャンネル」の「THE MAKING」シリーズ。なんでも科学技術振興機構という団体が無料でCATV各社に提供しているらしい。まあCATV会社としては通販番組と同列の穴埋め的な埋め草として使っていたのだろうけど、むしろそれらのほうが視聴の主目的だった視聴者もいたわけだ。

で、最初はCATVで見ていたのだけど、ネット経由でストリーム放送していると知ってからはサイトに直接アクセスしてバックナンバーを楽しんでいた。

ただ、マシンが変わったり忙しくなったりでちょっと間が空いてしまったため、一気に遅れを取り戻すべく特殊な手段でrmファイルをほにゃららしようとして、サイトを久しぶりに訪れてみた。

「ん、"スカイガール"? 航空力学になぜか興味を持つ女子小学生でも出るのか? これは見なければ!」と思い、さっそくクリック。すると驚愕の宣伝文句が目に飛込んできた…
小倉優子が演じる主人公、夢野なぎさは夢野質店の一人娘。彼女の夢は立派なキャビンアテンダント(CA)になる事です。ちょっぴりドジだけど、ひたむきに夢に向かってがんばるなぎさの一生懸命な姿と、彼女を取り巻く人達の模様を明るくコミカルに描きながら、航空産業や私たちの身近で利用されている放射線の応用技術を紹介していくコメディドラマです。

うわー、見たいような、見たくないような…w でもなかなか飛ばしてくれそうな感じなので、SolarisにReal Playerを入れたらまっさきに見てみよう。

ちなみにこのシリーズを見ようと思ったのはあくまで科学的興味によるものであって、女子小学生がでてくるかと期待したからでは(以下略

Java Workstation W1100z

サン・マイクロシステムズ - Sun Java Workstation W1100z

ああ、そういえば今使ってるマシンは"Java Workstation"だったっけ。すっかり忘れていたw

なんだか最近Firefoxを使っているとswapが激しい。CPU自体は比較的idleが多いので、メモリが足りなくてI/Oで時間を食っているらしい。
メモリの価格を調べてみたが、ノーブランドで7286円ほどらしい(PC3200 ECC Registered 512MB)。実際には2枚単位で増設なので、さらにその倍。高いなあ… orz

2006-09-04

OpenSPARC T1 Version 1.3 Released

OpenSPARC T1 Version 1.3 Released
In version 1.3 exectuables are added for Solaris 10/X64 and Linux/X86 and a new addition is Open Boot PROM (OBP) source code.


ということで、OBPのソースまでついてくるのだそう。ほほう、と思ってさっそくダウンロード。

だが、Verilogはわからんなあ… トラ技のCPLDの付録でちょっとVHDLはかじったのだけど。
学生時代に8ビットCPUをVerilogで設計・実装したのだけど、もう10年も前になるので全然覚えてない。ははは。

ところでNiagaraとNiigataって似てるよね。

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クリア扱いになってしまったり、土管から地上に戻れなかったり、城の面が迷路になってなかったり。ただ、バリエーションはあまり多くなさそうだ。

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

2006-07-30

xkeropi

xkeropi (WinX68k for X)

xkeropiというX68000のエミュレータのビルドに挑戦した(on Solaris10/x86)。

makedependがC++に対応していなかったり、nasmが-iオプションを受け付けてくれないようだったりはしたけど、とりあえずコンパイルは終了。
さっそくHuman68kを起動… うーん、"Can't init screen"で終了してしまう。エラーチェックをはずして強引に起動させると、コマンドプロンプトを出すところまではいってるのだけど、表示がおかしい。
良くドキュメントを読むと15/16bppのvisualをサポートしてないとダメらしい。しかし実際にはgtk_widget_get_visual()でGdkVisualを1つしか取得せず、それでしか判断をしていないようだ。そこでgdk_visual_get_best_with_both()で置き換えてみたが、同じ結果。あれれ?
そこでxdpyinfoでvisualのリストを見てみると… 24bppしかないじゃん orz... Xサーバの拡張機能使ってカラーデプス変えられるかなと思ったけど無理。xorg.confをいじって16bppでXサーバを起動させようとしたけど、なぜか無視される。どうすりゃいいんだ…
んじゃ、描画部分を24/32bppに置き換えてやろうかとも思ったけど… これはこれで歯が立たず。うーん、泣きそう。

mdbとエミュレータのチート

Solaris/x86でInfoNESを動かしてみる… ヌルゲーマなので必然的にチートに手を出さざるを得ない、というかチートを使うがためのエミュレータ。だが、巷で出回っているコードはInfoNESでは使えない。そこでmdb。

例えば"0123-1-cd-ほにゃらら"というコードだったら、
% mdb -p `pgrep InfoNES`
> RAM+0x123/v0xcd
> ::cont
こんな感じ。イヤーンw

条件分岐や演算が必要なものはdumpしてから書き直せばいいけど、ちょっと面倒。そうでなくても毎回InfoNESの実行を止めるのはやっかいなので、メモリイメージファイルと同名の.soファイルがあったら動的にロードし、チートコードを実行するように微修正。

2006-07-29

バルーンアート

お祭りでバルーンアートをやることになった…
夏休みの間練習しないと後輩君に怒られる…w

バルーンアートでぐぐってみると、イベントに出張するタイプの業者もいるみたい。確かに子どもが喜びそうだ。我々もそれを狙っているわけだから、客寄せとしては悪くないのかも。

それっぽく見せるにはくびれをどこにつくるかがカギになるのかな? まあ結局のところただのゴムなので、うかうかしてるとどんどんくびれがずれてきてしまう。それなりに難しい。

失敗知識データベース

「失敗知識データベース」は知識の宝庫!?

存在は/.jで知っていたのだけど、なんとなく読む機会がなかった失敗知識データベース。紹介記事を読むとやっぱりおもしろそう。

あーでもやっぱどうなんだろうなあ… いや、データベースそのものが面白いとしても、自分が「楽しめるか」というところが微妙。図面のラベルを「ちょっと」間違えただけなのに、部長と役員の前でレビューさせられた人が最近身近にいたので orz...

2006-07-26

ブリーフケース

ブリーフケースをWSH、あるいはバッチファイルから作成する方法はないものだろうか? 一応作成するだけなら以下の方法で可能らしい:

  • foo.{85BBD920-42A0-1069-A2E4-08002B30309D}というディレクトリを作る。アイコンは変わるが、エクスプローラから見るとクラスIDがバレバレ。

  • 以下の内容のdesktop.iniをディレクトリに入れる。
    [.ShellClassInfo]
    CLSID={85BBD920-42A0-1069-A2E4-08002B30309D}
    ConfirmFileOp=0

    アイコンも変わり、クラスIDもばれないが、内部にある「ブリーフケースデータベース」ファイルをどういじったらいいのかわからない。

  • foo.{86747AC0-42A0-1069-A2E6-08002B30309D}というディレクトリを作る。クラスIDがばれることはないが、アイコンは変わらず。でも偽装にいいかもしれない。


「どこと同期を取るか」までスクリプトで設定したいのだけど…

技術文書

会社で目にする技術系文書なのだが、漢字の「おくり」や、そもそもどこまで漢字表記にするかという細かいところでひっかかる点が多い。もちろん「てにをは」を間違えた豪快な悪文も見かけないではないが、内容的にはそう難しい文章を扱うわけでもないのでむしろ少数だ(ただし特許関係の書類は除く。あれはそもそも日本語とは認めたくないwww)。

例えば身の回りでは「条件xxが成立する時、StackOverFlowが発生する事が有る。この為、呼出す時は注意する事」などという文章がまかり通っている。お前はいつの時代の人間ですかと小一時間(ry

これは個人的には「条件xxが成立するとき、スタックオーバフローが発生することがある。このため、呼び出すときは注意しなければならない」でないとしっくりこない(「とき」は「際」に置き換えるべきだが、ここは例文ということでご勘弁を)。
  • 条件を表わす「とき」は形式的な名詞であり、時間を表わす「時」とは別の表記を用いるべき。
  • 中途半端にアルファベットを混ぜるな。そもそも"overflow"で一語だぜ。それから単語の間にはスペースを入れろ。中学生でも知ってる。
  • 最初の「こと」は漢字のままでもいいかな… ただし、"事項"というほどの強い意味はないのでひらがなで十分だ。
  • 「有る」も間違いではないが古い。"存在すること"に強い意味がなければ、普通はひらがなを使う。
  • 「為」もわざわざ漢字にしない。明治期の作家かっつーの。漢字にする副詞というとたぶん「多分」くらいw
  • 「注意する事」ってそもそも仕様書に書く文体ではない。小学校の校則じゃあるまいし。
要するに漢字が多すぎるのだ。IMEで候補に漢字があったら必ず使ってやろうというくらいの心意気だ。文字の並びというビジュアルな情報も、文章を読んだ時の印象に影響を与えることを知らないのだろうか。

これはただの予想なんだけど、やたらムダに漢字を使いたがるバカ方たちって「漢字を使えると偉い」と思ってるのかなと。自分の身の周りを見てみると、虚栄心の強い、こけおどしの好きな人たちがこういう書き方を好むようだ。電子メールに平気で「御参集の程宜しく御願い致します」と書いてみたり、カタカナ言葉をわざわざアルファベットで書いてみたり、そのアルファベットは筆記体で書いてみたり。

はあ、よく考えるとそういう人が周りに多いな orz...

まあ自分だけは平易で肩の力の抜けたスタイルを維持したいものです、でもりんごタンハァハァというサイトではわざわざ気にすることもないよね…
という長い前振りだったけど、文章を書く際に参考になりそうなサイトがあったのでメモ:

国語審議会資料(文化庁), Sunの翻訳ガイド, ↑の紹介, JF 文書文体ガイド

2006-07-25

TableCellRenderer

JTableに対するTableCellRendererオブジェクトは、各列に対して1つ作成すれば良い。
その1つのオブジェクトを各行の描画に利用し、それを繰り返すことでJTable全体を描画するとのこと。

なんてこった、2000行近いJTableを使っていたので2000個の余分なJTextAreaを生成していたよ。そりゃ遅いわけだ… orz
で、書き直してみたら目が覚めるほど速くなった。うひょー

IBMのサイトSwingのJTableコンポーネントでセルを描くが詳しい。

ゼロの使い魔第3話

いまさらながらゼロの使い魔第3話を見てみた。
釘宮理恵さん演じるツンデレ… 別にテンプレじゃないから繰り返す必要もないか… 魔法使いさんはなんか2話以降もサービスいいですね。
まだストーリーは動き出していないので様子見だけど、ルイズ様の下僕テラウラヤマシス
はっ、私は何を口走ってしまったのか!?

おとぎ銃士赤ずきん第2話

いまさらながらおとぎ銃士赤ずきん第2話を見てみた。
釘宮理恵さん演じるツンデレ風味の幼なじみ小学生がかわいすぎる(*´∀`*)ポワワ
妙にヲタネタがちりばめられているけど、大きいお友だちが見ればわかる程度で、小さいお友だちには無害。
子どもにも安心して見せることができ、かつヲタも満足させるこのさじ加減は絶妙。素晴らしい。

貧乏姉妹物語第1話

いまさらながら貧乏姉妹物語第1話見てみた。
金田朋子さん演ずる小学生あすに激ハマり。かわいいなあ(*´∀`*)ポワワ
かといって今時のあくどい萌え路線というわけでもなく、「賢者の贈り物」系のほろっとくる良いお話。
あすがぶわっと泣き出す表情なんか最高っす。
ああ、あしながおじさんとして二人を応援してあげたい。

極魔界村

極魔界村Flashのアーサーは黒田アーサー氏が演じていた

なにこのおもしろニュースwww
Flashも面白かったけど、こんなオチは予想だにしてなかった。
カプコン超GJ、担当者偉すぎ

2006-07-22

ATA over Ethernet for Solaris

Coraid :: The Linux Storage People

さとうタンのきになるもの経由。iSCSIのATA版みたいなものと考えればいいのかな。ただしiSCSIがTCP/IPのパケットの中にSCSIコマンドを入れるのに対し、Ethernetフレームの中にATAコマンドを入れるものらしい。暗号化もない? いろいろ割り切ってるなあ。

カーネルモードドライバはdkio ioctlを受け付け、かつSTREAMSインターフェースを提供するようだ。これから推測すると、カーネルからはATAディスクに見え、ユーザ空間プログラムがEthernetフレームをioctlでカーネル空間に渡す方法なのかなと。

2006-07-19

貧乏姉妹物語

貧乏姉妹物語

ツインテールの悟りを開くさんで大絶賛されていたので見てみようかなと。

NTTドコモ、Windows Mobile搭載3Gスマートフォン「hTc Z」

NTTドコモ、Windows Mobile搭載3Gスマートフォン「hTc Z」

日本でもようやくスマートフォンの機運が高まってる、と考えていいのかな? W-ZERO3も意外と法人向けに売れているらしいし、リーマンがケータイの小さい画面と格闘している図もイマイチ「サマ」にならないしね。

W-ZERO3をいじってる自分は…ははは orz

ただ最近はオカ板の洒落怖スレの過去ログを読むことが多いので、顔はにやけてないはず。

2006-07-18

電卓さらに続き

Windowsと浮動小数点演算の誤差を調べてみる。

JDS(GNOME): [1][tan/atan][*][4][-][PI][=]で"0"表示、このまま[1/x]を押すと"11136696004.299135332"

Windows: [1][tan/atan][*][4][-][PI][=]で"-1.393267707463821448075635979701e-37"表示、このまま[1/x]を押すと"-7.1773715463506261657687196560427e+36"

…CPU/FPUは同じはずなんだけどねえ。πの定義が違うのかな?

JDS=3.141592653, Windows=3.1415926535897932384626433832795

違うらしい… これでいいのかJDS(GNOME)… orz

ちなみにWM5(RPN Calculator on W-ZERO3)では[1][atan][4][*][pi][-]で"0"を表示、[1/x]で"INV Error: Division by zero"。なかなかすばらしい。

電卓続き

Windowsの電卓ソフトは有理数を正確に扱えるらしい。
つまり1/3*3を計算させるとぴったり1になるとのこと。おお、知らなかったよ。実際に試してみても、確かに浮動小数点化したことによる誤差がでないようだ。すげー。

JDS(GNOME)で同じことを試すとどうなるか。1/3*3を計算させてみると"1"の表示。でもこれは単にまるめられているだけだろう。この状態で[-][1][=]を押してやると、"-0"の表示になる。さらに[1/x]を押してやると、"-1.004336278e+59"の表示に。まあ普通に作ればこうなるよね。

ところで、学生時代はSHARPのPC-U6000というポケコンを使ってたので、関数電卓は社会人になってから買った。
シチズンのSRP280Qだけど、とくにこだわりもなく、傷モノが1000円くらいで売ってたので買ってみただけである。
入力は数式を入力するタイプ(ってHP以外は当たり前か)で、演算子の優先度を考慮する([=]キーを押すまで計算されない)。グラフ機能なし、統計機能あり、ビット演算なし、財務機能なし。カーソルキーを多用するところが利点であり、欠点。だれか他に持ってる人いるのかなあ…

Tom Boldt's RPN Calculator

W-ZERO3用のよさげな電卓ソフトはないものかと思っていろいろ調査。Hello worldと電卓はプログラミング入門の二大テーマだが(ちょっと嘘)、10/16進数の四則・論理演算がきっちりできるものはあまり多くない。しかもWM5用のフリーのものとなると… また、RPN電卓にもちょっと興味があるので、これをサポートしてればなお良し。

というわけで週間Windows CE通信経由でHP16Cエミュレータを探してみたがデッドリンク。

で、HP電卓が一種のステータスwになっているらしいのでEmu48というエミュレータを探し出してインストール。…すごい高機能ですなあ。方程式を解く機能があるらしいので、多項式を入れたら余裕で解く。まあそれは簡単すぎかなと思って、ためしに入れてみたsin(x)+cos(x)=0をあっさり解いてしまってちょっと興奮。作った人、いい仕事してますなあ。

んがこのEmu48、動作がかなり重い。キー入力がすぐに確認できないようでは実用にならないので、残念ながらパス。とはいえかなり勉強になりそうなので、時間があったらマニュアルでも読んでみますか。

次にHP11Cというプログラマ向け電卓のシミュレータをゲット。
何のシフト動作もなしにA〜Fを入力でき、ビット演算はもちろん、シフト演算、はてはローテート演算までやってのけるところは確かに計算機屋が喜びそうなところだ。操作もきわめて軽快。ただ、残念ながら10進実数演算がかなり弱い。[f][FLOAT]で有効桁(表示桁かも)を設定してやらないと、妙に桁数が少なく表示されてしまう。とどめにフリーソフトではない。よってパス。

というわけで、Tom Boldt's RPN Calculatorを試しているところ。

しかし、普通の用途では100円ショップの電卓で済ましているけど、実はかなり濃い世界だったのね… いろいろ勉強になりました。

ゼロの使い魔

ゼロの使い魔 OHP

釘宮さんのツンデレキャラがまた見れますよ…
1話を飛ばし見してみたけど、なんかサービス良いなあ。

2006-07-17

N・H・Kにようこそ!

N・H・Kにようこそ!

第1話だけ見てみた… ああ、なんだこのもやもや感は… 言いたいことはいろいろあるが、天に唾する所業なのでやめておこう。親近感と近親憎悪の入り交じったこの妙な気持ち、どうにかならないか orz...
とりあえず岬ちゃん萌えと無難な感想を。サクラクロニクルのサクラの人がCVだったかな?

ところでマンガ版の作者が本気で大「槻」ケンヂだと思ってた。監修的な立場でシナリオ書いたのかと。しかもあのEDを作りそして歌っているわけで、すごいマルチな才能だよなあ…と思った純真な心を返して頂きたい。

OHP、「NHK」という表記じゃなくて「N・H・K」とご丁寧に中黒を入れた挙げ句、「N・H・Kとは、日本ひ○こ○り協会のことだよ」とよく分からない伏せ字付きの解説がついている。うーん、妙に面白いw おまけにこんなことを発見された方もいるようで。

2006-07-16

先読みの正規表現

Bayesian推定のプログラムを作っている途中で気が付いたこと。

ファイルをトラバースする際に、探索を打ち切るパス名を正規表現で表現したい。具体的には「パス要素がちょうど3で、第3要素が"image"ではない」パス名だけマッチさせたい。

で、最初は[^/]+/[^/]+/[^i][^m][^a][^g][^e].*かな?と思って試したんだけど、良く考えるとa/b/xxxがマッチしない(探索を打ち切れない)ので、これは間違い。

次に「幅ゼロの否定先読み」という難しい機能が使えるかなと思って[^/]+/[^/]+/(?!image)を指定したけど、何もマッチしない。

おかしいなあと思ってPerlの正規表現(Javaの正規表現はPerlの影響が大きいようだ)を調べてみると… うわ、よくある間違いだった… orz

上記の例だと、「imageが後続しない、第3要素が空の、3つのパス要素を持つパス」の意味になって、"aaa/bbb/"などにしかマッチしない。

正解は[^/]+/[^/]+/(?!image).+だった。しかし、Perl/Javaの正規表現は難しいなあ…

Bayesian推定を使ったファイル分類プログラム

CG定点観測などのサイトを巡る身としては、落してきた画像ファイルの分類は結構めんどうな作業だ。そこで、URL文字列に基づくBayesian推定を利用するファイル分類プログラムwを作り始めたり。

幸い、いままで「/a/flower/カテゴリ/image/取得元URL」というルールで画像ファイルを格納してきた。例えばダウソ元がhttp://www.haruhi.tv/img/sos_logo.gifならば、/a/flower/s/suzumiya_haruhi_no_yuuutu/image/www.haruhi.tv/img/sos_logo.gifに格納するといった具合。

だから、分類プログラムは/a/flower以下を走査し、カテゴリと分類キーワードを抜き出して出現確率を学習してやればよい。分類キーワードはURLから抜き出すものとし、上記の例ならば「www.haruhi.tv」「www.haruhi.tv/img」「sos_logo」が分類キーワードになる。

…で、試作品ができた。実行はこんな感じ
% java Bic learn
% java Bic prob nagato
P(An[s/suzumiya_haruhi_no_yuuutu])=577/23472 P(Bm[nagato])=43/92485 P(Bm|An)=41/2210 P(An|Bm)=0.9808896341240785

% java Bic prob sakura
P(An[c/card_captor_sakura])=465/23472 P(Bm[sakura])=42/92485 P(Bm|An)=35/2338 P(An|Bm)=0.6530529632379997
P(An[d/dc_da_capo])=177/23472 P(Bm[sakura])=42/92485 P(Bm|An)=1/684 P(An|Bm)=0.024276667975038708
P(An[n/nanika])=54/23472 P(Bm[sakura])=42/92485 P(Bm|An)=3/187 P(An|Bm)=0.08127281866455452
P(An[@Circle/neko_ni_terumin])=361/23472 P(Bm[sakura])=42/92485 P(Bm|An)=1/1467 P(An|Bm)=0.02308601651808125
P(An[m/mahojin_guruguru])=1304/23472 P(Bm[sakura])=42/92485 P(Bm|An)=2/5330 P(An|Bm)=0.04590418614808859

sakuraというキーワードから木之本桜だけではなく、芳乃さくら・任意さくらも自動的に候補としてくれるあたりが面白い。サクラ大戦の画像はほとんどないので、当然これはひっかからない。

んが、
% java Bic prob nanoha.com
P(An[l/lyrical_nanoha])=3229/23472 P(Bm[nanoha.com])=19/92485 P(Bm|An)=19/12567 P(An|Bm)=1.0124128163161337


100%越えてるよ!?www

2006-07-13

議論のしかた

議論のしかた
RinRin王国経由。とっても参考になりそうなのでメモ。

こちらのサイトでは特に言及されてなかったけど、詭弁のガイドラインに触れたページって多い気がする。
あれの元ネタってあるのかなあ。Morphy Oneの擁護派・批判派についてそれぞれ適用したものがあるので、その時代からあるものなのか。

さてこのサイト、他にもソフトウェア開発関係で良さげな文章があってハァハァ
新人君に教えてあげよう。ただ、参考になるサイトを「読んどけよ〜」と言って放置しておくだけなのに、何かを教えたつもりになってるのは良くないかもしれないw

Amazonでメイド服

Firefoxの普及イベントのレポート記事に入ってたアフィリエイト経由。
Amazonでメイド服の扱いが妙に充実していることを発見www
こんなに種類があったのか!とびっくり。
それぞれのスタイルの違いについてどなたか解説してくれませんかね?

2006-07-10

もしも、綾波・長門・ルリルリが3兄弟だったら

もしも、綾波・長門・ルリルリが3兄弟だったら

無口系キャラって、人工的な出生を経ている設定が多いのかな?

Yahoo!ニュース - 時事通信 - 男前豆腐店を書類送検=大豆殻を不法焼却−京都府警

Yahoo!ニュース - 時事通信 - 男前豆腐店を書類送検=大豆殻を不法焼却−京都府警

今さらではあるが、「男前豆腐」の小サイズ版が発売になったので買ってみた。
醤油をかけないで食べたほうが良かったんだっけ?と思って公式サイトを見たら、なぜか謝られた。
はて?…と思ったら、大豆殻の不法焼却で書類送検されていたのね。

大豆殻はおからのことなのかな? 炒り豆についてるような薄皮っぽいやつかな?

豆腐自体は大変おいしゅうございました。
甘みがあって、しっかりした味がある。
冷や奴にするならいつもこれくらいうまいものを食いたいものだ… でも高いんだよなあ orz

それはそうと、あのサイト見ると玄人志向のサイト連想するんだよねw

2006-07-09

JDS付属のディスク使用量レポートソフト

あまりじっくり調べたこともなかったJDSのメニュー。
アプリケーション→システム ツール→ディスクアナライザというのが
ちょっと気になったので起動してみる。

duを高性能にしたようなディスク容量の使用状況を調べるツールが起動した。
xduなんてのもあったけど、見栄えが良くなってる。
調べてみるとJavaで動作しているらしい。

でも、なんで「ディスクアナライザ」って訳なんだろう。
表面検査やSMARTのデータを読み出すツールだと思うじゃないか。

2006-07-06

たとえミサイルが飛んでこようが暑いものは暑い

会社でエアコンが壊れてぐったり…

たまたま何かで知ったのだけど、事務所に空調を設置することは
事業者の努力事項らしい。

あ、あったあった。事務所衛生基準規則っていうんだ。

第五条 3 事業者は、空気調和設備を設けている場合は、室の気温が十七度以上二十八度以下及び相対湿度が四十パーセント以上七十パーセント以下になるように努めなければならない。

他にもトイレの数とか部屋の広さについて規定があって、
個人的にはへぇーと思うことしきり。

2006-07-04

W-ZERO3 [es]

W-ZERO3 [es]発表。
かるい、うすい、ほそい、ぺったんこw

これはケータイユーザに歩み寄ったかたちなのかな?
QRコード読めるのは良いなあ。
あと落しづらくなってるかもしれない。
値段も安くなってるし。

2006-07-03

日清食品 : ニュースリリース : ご案内

日清食品 : ニュースリリース : ご案内


1.「カップヌードル 夏の辛口 スパイシーチリ」
(1) め ん
しなやかでコシとつるみのあるめんです。


「つるみ」ってなんだろうw

地図データ

W-ZERO3 Monitorがらみで公共の地図データを探していたのだけど…
なんだかずいぶん種類があるのにびっくり。

総務省統計局の統計GISプラザ(http://gisplaza.stat.go.jp/GISPlaza/)
国勢調査の結果を表示するために町丁・字等境界データもダウンロードさせてくれる。

国土交通省国土計画局の街区レベル位置参照情報ダウンロードサービス(http://nlftp.mlit.go.jp/isj/index.html)
街区単位の位置座標(代表点の緯度・経度、平面直角座標)がわかる。
使用条件的には一番融通が利いて使いやすい。

同じく国土交通省国土計画局の国土数値情報(http://nlftp.mlit.go.jp/ksj/index.html)
交通だけでも道路・鉄道などの基本的な情報だけでなく空港・航路も載ってるらしく、
さらには土地の利用用途・地価(笑)・公共施設などのデータも入っている。
これも使用条件的には使いやすい。

最後に国土地理院の数値地図(空間データ基盤)(http://sdf.gsi.go.jp/)
1/2500と1/25000のデータが入っていて、相当細かい(3m幅くらいの道路くらいまでは載ってる)街区データや、行政区分(番地表示)が入っている。
詳細さでは一番なんだけど、法律の関係か使用条件はかなり厳しい。

とこんな感じっぽい。
…まあ、用途ごとに調査項目が違うから、こんな別れてるんでしょうね(と信じたい)。
国土計画局と国土地理院でそれぞれ航空写真の閲覧サービスがあるらしいし…

2006-07-02

W-ZERO3: QRコードのデコード

さて、MIDPアプリががしがし書ける状況にはなったけど、本題のQRコードはどうしようか。

QRコードを解読するための画像をMIDPアプリに食わせるには、
多分2通りの方法があると思う。
1つめは直接Javaからカメラの画像を取得してしまう方法。
もう1つがJavaからファイルシステムに格納された画像ファイルを入力する方法。

第1の方法は、Mobile Media APIを使えば良いらしい。
だがMIDP的にはオプションなので、本当に使えるかはわからない。
そこで公式ページに乗っているサンプルコードをコンパイルして試してみたが… ダメっぽい… orz

カメラからの入力を受け付けるデバイスはvideo.snapshot.encodingsというプロパティを持つらしいのだけど、そんなものはない。(関係ないが、J2MEではPropertiesを列挙できないのでちょっと困った)

そこで第2の画像ファイルを読む方法を試してみた。
こちらはPDA Optional Packages for the J2METM Platformというもので、ネイティブ実行環境のファイルやPIMデータへのアクセスを提供する。

んが… これどう使ったらいいんだろう?
ん・ぱか工房さんのサンプルを試してみたけど、JBlendは黙ってすぐに終了してしまう。
らるるのメモ帳さんを参考にしてfile://localhost/に置き換えてもダメ…

というわけでお手上げ〜
画像ファイルのURLを入力して読ませることはできると思うんだけど、
画像ファイルをどううpするのとか、そのURLは手打ちかよ!とかいろいろ難がある。

Solaris/x86におけるMIDPアプリの開発環境 その3

Solaris/x86におけるMIDPアプリの開発環境の続き。

さて、どうにかJ2ME+CLDC+MIDPのコンパイル/エミュレーション環境がそろったので、
いよいよアプリケーションを作ってみる。

SunのMIDPのドキュメントについているHelloMIDlet.javaをsrc/に置き、
カレントディレクトリに以下のMakefileを置いてやる。
JAR = HelloMIDlet

MIDP_DIR = ../../j2me/midp2.0fcs/build/solaris
WTK_DIR = ../../j2me/WTK2.2

MIDP_CLASSES = $(MIDP_DIR)/classes
OPT_CLASSES = $(WTK_DIR)/lib/jsr75.jar

PREVERIFY = $(MIDP_DIR)/bin/preverify
EMULATOR = $(MIDP_DIR)/bin/midp
BOOT_CP = $(MIDP_CLASSES)
REF_CP = $(MIDP_CLASSES):$(OPT_CLASSES)
RUN_CP = classes:$(MIDP_CLASSES):$(OPT_CLASSES)
JAVAC = javac -bootclasspath $(BOOT_CP) -classpath $(REF_CP) -source 1.4

all: tmpclasses
$(JAVAC) -d tmpclasses `find src -name \*.java`
rm -rf classes; mkdir classes
$(PREVERIFY) -cldc -classpath $(RUN_CP) -d classes tmpclasses

jar:
@echo 'Manifest-Version: 1.0' > $(JAR).mf
@echo 'MIDlet-Name: $(JAR)' >> $(JAR).mf
@echo 'MIDlet-Version: 0.0.1' >> $(JAR).mf
@echo 'MIDlet-Vendor: unknown vendor' >> $(JAR).mf
@echo 'MicroEdition-Profile: MIDP-2.0' >> $(JAR).mf
@echo 'MicroEdition-Configuration: CLDC-1.0' >> $(JAR).mf
jar -cmf $(JAR).mf $(JAR).jar -C classes .

cp $(JAR).mf $(JAR).jad
@echo 'MIDlet-Jar-URL: http://localhost/$(JAR).jar' >> $(JAR).jad
@echo 'MIDlet-Jar-Size: '`ls -l $(JAR).jar | awk '{print $$5}'` >> $(JAR).jad
@echo 'MIDlet-1: $(JAR),, $(JAR)' >> $(JAR).jad

run:
$(EMULATOR) -classpath $(RUN_CP) -descriptor $(JAR).jad

tmpclasses:
mkdir tmpclasses

clean:
rm -rf classes tmpclasses $(JAR).mf $(JAR).jar $(JAR).jad

これでmake all jarしてやれば、jarファイルとjadファイルができる。
エミュレータを起動するにはmake run

MIDP_DIRWTK_DIRはそれぞれMIDPのリファレンス実装を展開したところと
Wireless Toolkitをインストールしたところを指定する。
WTK_DIROTP_CLASSESはMMAPIなどのオプションAPIを使うときだけ指定する。

2006-07-01

Java ME - Micro App Development Made Easy

Java ME - Micro App Development Made Easy

Solaris/x86におけるMIDPアプリの開発環境の続き。
J2ME Wireless Toolkitに含まれるエミュレータとpreverifyがプラットフォーム依存なため、
結局Solarisでは動かない(SPARCもx86)と判断した。
ある意味Sun純正の開発環境なんだけど… orz

そこでさらに調べると、素のMIDP開発キットがあって
Solaris(SPARC), Linux(x86), Windowsで動作するらしい。
前述のJ2ME Wireless Toolkitはこの開発キットが前身で、
これを簡易IDE風にまとめたものらしい。

ならばこれをSolaris/x86用にビルドしてやろうか… というのが以下のメモ。

  1. J2ME CLDC 1.0.4 RIJ2ME MIDP 2.0FCSを入手。
    どちらもSolaris/SPARC版を選ぶ。
  2. 伸長
    % unzip archive/j2me_cldc-1_0_4-src-winunix.zip
    % unzip archive/midp-2_0-src-solaris-sparc.zip
  3. パッチあて
    % ln -s j2me_cldc kvm
    % (cd j2me_cldc; gpatch -p0 -b -z .ORG < ../patch/j2me_cldc-1.0.4ri.patch)
    % touch midp2.0fcs/build/solaris/dummy_ssl.c
    % (cd midp2.0fcs; gpatch -p0 -b -z .ORG < ../patch/midp2.0fcs.patch)
  4. ビルド
    % cd midp2.0fcs/build/solaris
    % gmake
  5. サンプルを実行
    % bin/midp -classpath classes -descriptor games.jad


まあ、下のパッチを見ると分かるようにSSL関連の関数をダミーで置き換えていて、
相当あやしいシロモノである。

j2me_cldc-1.0.4ri.patch
--- ./api/Makefile.ORG Thu Nov 14 08:07:07 2002
+++ ./api/Makefile Sat Jul 1 17:46:51 2006
@@ -20,7 +20,7 @@
DEBUGFLAG=":none"
endif

-JAVAC = javac
+JAVAC = javac -source 1.4 -encoding ISO-8859-1
PREVERIFY = ../tools/preverifier/build/$(PLATFORM)/preverify
JAR = jar

--- ./tools/jcc/Makefile.ORG Thu Nov 14 08:07:09 2002
+++ ./tools/jcc/Makefile Sat Jul 1 17:43:27 2006
@@ -15,7 +15,7 @@
include $(TOP)/build/Makefile.inc

JAVA = java
-JAVAC = javac
+JAVAC = javac -source 1.4 -encoding ISO-8859-1
JAR = jar

JAVAFILES = $(shell find src -name "*.java"|grep -v SCCS)
--- ./tools/kdp/Makefile.ORG Thu Nov 14 08:07:10 2002
+++ ./tools/kdp/Makefile Sat Jul 1 17:43:27 2006
@@ -14,7 +14,7 @@
all: tools

JAVA = java
-JAVAC = javac
+JAVAC = javac -source 1.4 -encoding ISO-8859-1
JAR = jar
JAVAFILES = $(shell find src -name "*.java"|grep -v SCCS)

midp2.0fcs.patch
--- ./build/share/makefiles/Defs.gmk.ORG Fri Nov  8 06:02:05 2002
+++ ./build/share/makefiles/Defs.gmk Sat Jul 1 17:36:03 2006
@@ -156,7 +156,7 @@
#
JAR = $(BOOTDIR)/bin/jar$(EXE)
JAVA = $(BOOTDIR)/bin/java$(EXE)
-JAVAC = $(BOOTDIR)/bin/javac$(EXE)
+JAVAC = $(BOOTDIR)/bin/javac$(EXE) -source 1.3 -encoding ISO-8859-1
JAVADOC = $(BOOTDIR)/bin/javadoc$(EXE)

# MIDP tools
@@ -304,7 +304,9 @@
PLATFORM_OBJ_FILES += $(patsubst %.rc,$(OBJ_DIR)/%.res,$(filter %.rc, $(PLATFORM_SRC_FILES)))

SSL_OBJ_DIR = ssl_obj$(g)$(ARCH_DIR)
-SSL_SRC_FILES = nativecrypto.c MD5.c SHA.c bnlib.c MD2.c messagedigest.c
+#SSL_SRC_FILES = nativecrypto.c MD5.c SHA.c bnlib.c MD2.c messagedigest.c
+#SSL_OBJ_FILES = $(patsubst %.c,$(SSL_OBJ_DIR)/%.o,$(SSL_SRC_FILES))
+SSL_SRC_FILES = dummy_ssl.c
SSL_OBJ_FILES = $(patsubst %.c,$(SSL_OBJ_DIR)/%.o,$(SSL_SRC_FILES))

# generate OBJ_FILES list; we need to sort the files due to a linker
--- ./build/solaris/makefiles/Defs-pre.gmk.ORG Fri Nov 8 06:02:07 2002
+++ ./build/solaris/makefiles/Defs-pre.gmk Sat Jul 1 14:34:19 2006
@@ -76,6 +76,7 @@
endif
ifeq ($(ARCH), i386)
_BOOTDIR = /usr/local/java/jdk1.3/x86
+_BOOTDIR = /usr/java
endif

# Uncomment the following definition if you want to build both Solaris/x86
--- ./build/solaris/dummy_ssl.c.ORG Sat Jul 1 17:36:48 2006
+++ ./build/solaris/dummy_ssl.c Sat Jul 1 17:36:48 2006
@@ -1,0 +1,8 @@
+void Java_com_sun_midp_ssl_Alg2_modExp(void) {}
+void Java_com_sun_midp_ssl_Alg3_nativetx(void) {}
+void Java_com_sun_midp_ssl_MD5_nativeUpdate(void) {}
+void Java_com_sun_midp_ssl_MD5_nativeFinal(void) {}
+void Java_com_sun_midp_ssl_MD2_nativeUpdate(void) {}
+void Java_com_sun_midp_ssl_MD2_nativeFinal(void) {}
+void Java_com_sun_midp_ssl_SHA_nativeUpdate(void) {}
+void Java_com_sun_midp_ssl_SHA_nativeFinal(void) {}

ソフト開発について - W-ZERO3 Wiki

ソフト開発について - W-ZERO3 Wiki

MIDPアプリのSolaris/x86用開発環境を探してみるが… 微妙に敷居が高いなあ。

W-ZERO3 Wikiを見るとまず、
* J2SE Development Kit 5.0 Update 6 with NetBeans 4.1 Bundle
* NetBeans Mobility Pack 4.1
が挙げられているのだけど、すでにNetBeans 5に移行しているため
4.1のファイルはダウンロードできなくなってる。
5は5で問題があって、英語版しかMobility Packが用意されていないようだ。

* Java 2 SDK, Standard Edition, v 1.4.2_10 (J2SE)
* J2ME Wireless Toolkit 2.2
マシンにはJ2SE SDK 5.0が入っているのだけど、
これにLinux(x86)用のJ2ME Wireless Toolkit 2.2を入れてktoolbarという
ツールが動くところまでは確認した。

ただし、WTK2.2/wtklib/SunOSというシンボリックリンクがWTK2.2/wtklib/Linuxを
指すようにしないといけない。
また、WTK2.2/bin/*.soやWTK2.2/bin/{preverity*,zayit}はLinuxのバイナリ/ライブラリなので、
これを使うところでこけることになりそう。

SourceForge.jp: Project Info - QR Code

SourceForge.jp: Project Info - QR Code

W-ZERO3でQRコードを解読させてみたくて、デコードライブラリを検索してたらこんなプロジェクトが。
さっそくダウンロードしてみたが… おいおい、ドキュメントの類がひとつもないじゃないか。不親切だなあ。
まあいいやコンパイルしてみるか、と気を取り直してantコマンドを… build.xmlもないのね。

Eclipseで作った形跡があるんだけど、Sun儲としては今さら入れるのも微妙だよなあ…
で、しょうがないのでMakefile作りますた(←オールドタイプ)。

JAVAC = javac -encoding shift-jis

compile: classes
$(JAVAC) -d classes -sourcepath src `find src -name \*.java`

jar:
jar cvf qrcode.jar -C classes .

classes:
mkdir classes

clean:
rm -rf classes

これでjarファイルはおk。

お次はサンプルプログラムのqrcodeExample.zipを伸長して…
って、できあいのjarファイル入ってたね… orz
まあ気を取り直してこんな感じのMakefileを書いてみる。


all:
$(MAKE) jar JAR=QRCodeDecoderSampleCUI
$(MAKE) jar JAR=QRCodeDecoderSampleGUI

jar:
echo 'Manifest-Version: 1.0' > $(JAR).mf
echo 'Main-Class: jp.sourceforge.qrcode.example.$(JAR)' >> $(JAR).mf
mkdir $(JAR)
(cd $(JAR); jar xf ../qrcode.jar; cp -rp ../classes/* .)
jar cfm $(JAR).jar $(JAR).mf -C $(JAR) .
rm -r $(JAR).mf $(JAR)

clean:
rm -rf *.mf
rm -rf QRCodeDecoderSample*

実行するのはこんな感じ。

% java -jar QRCodeDecoderSampleGUI.jar

おお、とりあえずなんとか動かせた。

2006-06-29

新人君と設計検討

をやっていると、必ず某マネージャがやってくる(気がする)。
で、必ず「特許提案書いてね」と話に割り込んでくるw
去年あんなに出したじゃないですか orz...

さてさてこの設計検討会、そんな大げさなレベルではない(議事録も残さない)んだけど、
あえてそう呼ぶ理由がある。

最近グループウェアが導入されていて、これはこれでとても便利。
だけど、自分の作業を行おうとして何も予定を入れずにおくと、
断りなしに会議の予定を入れられてしまうことがままある。いや、非常によくある。
しかも「え、時間空いてたんでしょ?」とか言われてしまう。

さらに、予定が入ってないと
「ヒマなんでしょ? ちょっとくらい手伝ってくれてもいいぢゃん」などと言われる始末www

なので、最近はなんでもないささいな検討でも
仰々しい名前をつけてグループウェアに登録している。
ぎっしり予定が詰まっていると妙な充実感があるのも否定できないところで、
これでいいのかと思いつつ「設計検討会」(実態は個人作業メイン)を行う今日このごろ。

バーミヤン

帰りの電車で某氏といっしょになったので、バーミヤンで食事。
仕事の話をしたり(意外につながりがある)、W-ZERO3を披露したり。
辛口マーボー食べたのでなんだか胃が痛い…w

ところでバーミヤンってベトナムの宮殿の名前だっけ? 洞窟の名前だっけ?

2006-06-28

xauthの使い方

恥ずかしながらxauthを素で使ったことがなかった(xonがやってくれてたので)が、
今回使ってみたのでメモ。

server% xauth extract filename server:0
client% xauth merge filename server:0

分かってしまえば簡単なことだった。

送別会

開発委託の人の送別会。近年まれに見るグダグダぶり。
というのも新しい職場がとなりのグループなんだそうで、
緊張感も寂寞感(?)もありゃしないw

W-ZERO3日記: W-ZERO3から更新

生存証明にこのblogを使おうと思っているのもあって、
必要性はともかくとして更新のテスト。

キーボードは思っていたよりずっと使いやすいが、
IMのモード切り替えが激しく面倒だ。
カタカナ入力モードなんていらないっちゅうねん。

2006-06-27

W-ZERO3日記: W-SIM搭載カスタムLinuxマシン?

W-SIM対応端末の開発を支援するLinux OS搭載PHS端末

W-ZERO3になかなか踏み出せなかったのは、
W-SIM対応のりなざうがあきらめきれなかったからなんだけど、
あっさりこういうのが出てくるとは…

とはいえ、個人向けに出すかは不明だそうで。ショボーン

W-ZERO3日記: 国土交通省

国土交通省国土計画局GISのページへようこそ

W-ZERO3 Monitorのからみで発見。
地図データ(や古いけど航空写真)をダウンロードできるらしい。
線路図と地図を重ね合わせて表示したら、方向音痴の私にはありがたいツールになりそう。

W-ZERO3日記: Outlookのアドレス帳と戯れる

あまり大きな声では言えないが、
会社のPCのOutlookですべての(つまり会社用と私用の)アドレスを管理しようと計画中…

連絡先をOutlookで検索しやすくするためにふりがなを入れたいのだけど、
これがThunderbirdにインポートしたときにインクリメンタル入力でき、
かつ表示名がローマ字表記になるようにすることはできるのだろうか…
(会社的にはFromやToにはローマ字以外は入れない方針)

JDS起動せず

前半休の連絡を入れようとしたらJDS起動しない!
かなり焦ったあげく、買ったばかりのW-ZERO3でメール送信。
こんなに早く役に立つとはww

本当は電話で連絡すべきなんだろうけど、
社員番号がわからないと内線で呼び出せないので、
前もって同僚の社員番号を控えておく必要がある。
でも、そんなマメなことしないよなあ〜

で帰宅してから調査、CSWのGNOMEパッケージが
LD_LIBRARY_PATHの関係で読み込まれていて、
競合を起こしていましたとさ。

新しいユーザのまっさらの環境を参考にして、
緊急復帰用の設定ファイルでも作っておこうかねえ…

まあ、いろいろいじってたらなんだか以前よりサクサク動くように
なっているようなのでよしとしましょう。

それにしても.xinitrcで済んでいた素朴な時代は
遠くなってしまったものだなあと思った一日。

docs.sun.com: Solaris 10 What's New

docs.sun.com: Solaris 10 What's New

Solaris 10 6/06が出てるいる模様。個人的に気になるのは…

・Predictive Self-Healing for x64 Systems
・Predictive Self-Healing Support for SNMP Notification

GA版が出たとき「SPARC版だけかよ〜」と腐っていたのだけど、
ようやくx86/x64版が出るようで。
x64サーバが売れてるのかなあ…

・cdrecord, readCD, and cdda2wav Available

/usr/sfw/あたりに入るのかな?
もともとデフォルトで入っていたcdrwコマンドはどうなる?

・x86: Xorg X Server Version 6.9
・x86: SATA HBA Framework Support

うむうむ、周辺機器のサポートが進んでいるようで。
ただ、USBAみたいにSATA HBA Frameworkがコロコロ変わるのは勘弁して欲しいなあ。
そのうちフルSATA構成のマシンとか出てくるだろうし。

・x86: Driver Support for AMD64 Platform

glmドライバがamd64にも対応したらしい… って、いままでしてなかったのかw

・HBA Drivers
Solaris EMLXS common driver for Sun and Emulex HBAs

Emulexというと、玄人志向の安いSCSI HBAのメーカではありませんか。
もともとSolaris8か9までのドライバは出していたし、
本来はサーバ向けの機器を出していた会社だそうで。

・IIIMF and Language Engines

おお、Input Method Switcherなんてものが。
それより何より、ATOKがATOK17相当になるそうで。使ってないけどw

・32-bit: RealPlayer for the Solaris OS

うーん、今はようつべがあるからあまり必要性は…
それよりAcrobat Readerの新しいの出して欲しい。

おいおい時間を見てアップデート予定。

2006-06-25

リリカルなのはA's DVD届いた!

6年後のシーンは何度見ても心が痛む…
はやてが元気そうなのはなにより。
放送版に比べるとミストルティンやラグナロクの効果が凶悪に表現できてて満足。
緊迫の12話が「ひっかかりなく」鑑賞できて、それも良かった。

それはそうと、リインフォースIIは
劇中たった1シーンしか登場しなかったんだねえ。しみじみ

特典映像で第3期の話が出てたけど… とくに否定はされてないと考えていいのカナ? カナ?
もしネタがなければ、リリカルはやて旅情編ということでよろしくお願いします。

Sun & Users - 熱いぜっ Firefox!!

Sun & Users - 熱いぜっ Firefox!!
slashdot.jpで「「安全と思われていて実は危険な15の有名ソフトウェア」発表される」なんてのをやっていて、
いまさらながらFirefox 1.0.4をアップデートすることに。
ほら、Solaris用のFirefoxへの攻撃なんてたぶんないから! (見苦しい)

てなわけで、最初はblastwave.orgのを使おうと思ったのだけど、
なんとバージョンが1.0.6。おかしいなあ。
Sun(ja)のサイトでさとうタンが記事書いてたっけと思い出し、
参照させてもらいつつFirefox1.5.0.4をインストール。
おお、ちょっと動作が速くなってる気がするよ!

んで、困ったのがnavi2ch。
URL上でReturnを押すと外部リンクを開くために"netscape"というコマンドを起動するのだけど、
今時そんなものはない。1.0.4を入れた時の小細工を思い出すはめに…

# cd /opt/sfw/lib/firefox
# ln firefox netscape
# ln firefox-bin netscape-bin
% cd ~/bin; ln -s /opt/sfw/lib/firefox/netscape

として、"netscape"コマンドをサーチパスの通ったところにおいておけばおk。
でも、もうちょっとまともな方法ありそう。

W-ZERO3のカスタマイズ

週末をほぼW-ZERO3いぢりに費やした。健康的w
W-ZERO3 Wikiを参照させてもらっていろいろソフトを入れてみた。
ひととおり試してみたあと、窓の杜で特集があったのを知る… 最初に言ってくれw

Magic Button, GSFinder+, EasyDial, Operaなどの定番ソフトのほか、
いくつかのゲーム類(JNetHackもあり)・W-ZERO3 Monitor・NotepadWMを入れてある。

個人的におもしろいなあと思ったのが、位置情報の取得ができるW-ZERO3 Minitor。
基地局が郵便番号を送出していたとは知らなかったよ…

りなざうよりは高速化+メモリ増加+高解像度していて、
PDFの閲覧と辞書引きが(あまり)無理なくこなせるのは評価が高い。
また、若干文字認識が賢くなっている気がする。

他方、レスポンスは期待していたほどには速くなってない。
メインメモリ空間も潤沢とは言えず、いちいちアプリを終了させないといけない。
そこらへんが気になる。

さて、お遊び系のソフトはほとんど入ったので、
月曜は会社のPCからOutlookのデータを移してみよう。本領発揮となりますかどうか。

2006-06-24

超メイドさんV

小中学生+きぐるみのメイドユニットが超メイドさんV
お姉さん+きぐるみのメイドユニットが超メイドさんA(18禁注意)。
マスコットキャラがはじいしゃのゆうなタンに似ていて気になるなんてことはありません。

超メイドさんAよりVのほうがやばい臭いがするのは何故だろうw
児童福祉法とか大丈夫なのだろうか。
…いや、気になってるわけじゃないですよ? 本当ですよ?

ていうか、写真の画質が悪くありませんか?
せっかくの素材がもったいなくありませんか?
…いや、残念に思ってるわけじゃないですよ? 本当ですよ?

2006-06-23

宅配便再配達申し込み先

ヤマト運輸 http://www.kuronekoyamato.co.jp/
日通(ペリカン便) http://www.nittsu.co.jp/pelican/noflash.htm

ヤマト運輸はメールによる不在連絡通知サービスや、
近所のコンビニでの店頭受取りサービスがあり、非常に便利だ。

日通ペリカン便は良くも悪くも普通。

佐川急便はWebによる再配達依頼はやってないのかな?
メールボックスを調べても佐川からのメールはないので、
電話での依頼だけなのかもしれない。不便。

FedExは… 土日に配達してくれなくて困ったことがあった。
5年くらい前の話だし、そもそも個人向けの運送屋じゃないからしかたないかもしれない。

2006-06-22

ランデブー失敗

午前半休を取って家で待ってたが、宅配便のおにいさんは来ず…
W-ZERO3もなのはA's6巻も受け取れないという散々な日。

GUNSLINGER GIRL

GUNSLINGER GIRL第7巻は7/27発売予定。
どれくらい絵が変わってるんだろう… やや不安。

ところで苺ましまろはいつ5巻が出るんだ!?

バンゲリングベイ - Wikipedia

バンゲリングベイ - Wikipedia
ブローダーバンド社の野望のほうに詳しく紹介されているが、

とある帝国のロボット兵が反逆し脱走するのが「ボンバーマン」のストーリーで、脱出に成功し人間になった男が帝国と戦うストーリーが「ロードランナー」

であり、「とある帝国」というのがバンゲリング帝国とのこと。

OpenSolaris for PowerPC

Evolution of the Species: OpenSolaris for PowerPC
素晴らしい! 次は玄箱か!?(マテ

2006-06-21

3分間スピーチ

自分の職場には3分間スピーチというものがあって、
昼礼(朝礼みたいなものだけど昼休み後にやる)のときに順番が回ってくる。

で、今日自分がそれの当番。
無難なところで職場においてあるスキャナの使い方をレクチャーした。

休暇の過ごし方とか趣味のことを話題にする人が多いのだけど、
ネットで集めた画像1000枚を整理した(実話)とか話しても地味すぎる…
というか、理解さえしてもらえなさそうw
会社で話せる程度に健全で、しかも面白い話題ってのはないものかなあ。

Sysinternals Freeware

Sysinternals Freeware
slashdot.jpのコメントで紹介されていたサイト。
Windowsのシステムの振る舞いを知るための細々としたツール類。
まだ試してないけど、便利そうなのでメモ。

500Mアクセス/s

ITmedia News:2ちゃんねる障害はDDoS攻撃が原因か
てっきりW杯のせいかと思ったんだけどなあ。
サッカーファンの皆様ごめんなさい。
しかし、"500 Meg+ per second"とかモーレツすぎ…

2006-06-20

大量の修正、修正、修正

りせっとはかく語りき * 魔法少女リリカルなのはA's DVD版第12話作画修正比較
いやはや、スタッフの方、リンク先の方、お疲れ様でした。
12話はやはりクライマックスなので、
こんなに直して頂けるとは本当にうれしい。
明日DVDが届くのが楽しみ…

リリカルなのはA's 6巻予約

はやて母さんの活躍が早くみたい…
願わくば、テキトーすぎた効果表現と、ベルカ式作画の改善を…

今日の会議

ある測定値の累積を求めるプログラムの話。
累積用のバッファがあるのでメンバ関数としてclear()とgetResult()を設け、
測定を行うのでstart()とstop()を設けた。

ユーザからclear()とstart()はたいてい連続で呼ぶだろ、ということで
start()をresume()にし、clear()とresume()を連続で呼び出すものをstart()とした。

そしたら別ユーザがclear()とresume()は要らないと言い出した。
あんたは要らないだろうが、機能的には必要で、仮になくすならstart()のほうだ、
と言ったが理解してもらえない。

というわけで結論は持ち越し。
これしきで給料もらってるんだから、我ながら良い商売してるなあ… orz

まあかようにモジュール分割はセンスの要求されるところだけど、
ソフトウェア原則が参考になりそうになりそうなのでメモ。

綿流し

今日(昨日?)は綿流しの日らしい。
アニメ版が放映中だけど、祟殺し編のエンディングはどう表現するんだろう?
まあ、初見の人はおいてきぼりなんだろうな…

UNIX MAGAZINE、季刊化第1号ひっそりと発売

スラッシュドット ジャパン | UNIX MAGAZINE、季刊化第1号ひっそりと発売
悲しいものだなあ、たとえ最近全然読んでなかったとしても。

2006-06-18

いつきログ - さすが京アニ…

いつきログ - さすが京アニ…
たいていこの手のシーンは意味不明な文字列が書いてあるだけなんだけど、
長門さんは本当に動くプログラムを書いていたらしい。すげーw

本当に動く(動きそうな)ソースコードが画面でてきたのというと、
これまた伝説的なserial experiments lainくらいしか知らない。
確か第1話がHello, world(C言語)で、第10話あたりがハノイの塔(Lisp)だったかな。

追記: ハノイの塔じゃなくてライフゲームだった(第7話)。こっちのほうがlainっぽいかも。

視聴候補

NHKへようこそ (TVK 7/10(月) 25:15〜25:45)
http://www.kadokawa.co.jp/hikky/

つよきす (TVK 7月(月) 26:15〜26:45)
http://www.tsuyokiss.jp/

2006-06-17

国産画像検索エンジン?

国産検索エンジン開発へ、産学官が一致団結 - CNET Japan
我が家の画像ファイルも自動振り分けできるような機能をつけてください。

% cd ~/work/download
% find . -type f | wc -l
1011

未整理ぶんだけでこれだけあるので orz

Magic Numbers

Hacker's Delightから。
ある固定値で割る処理を掛け算とシフトのみで行なう際の係数を算出してくれる。
たとえばxを10で割る処理は"x * 0xcccccccdULL >> 32 >> 3"みたいな。

ルネサスのSH2は32ビット×32ビット=64ビットの掛け算をハードウェア乗算器で行えるので、
この種の処理に向いている。
実際、純正コンパイラでは黙っててもこのコードに落としてくれる。
でも微妙に補正っぽい命令も追加されていて、そこがまだ理解できてない。

議場で青いユニホーム着用

asahi.com:議場で青いユニホーム着用
あー、そういえばW杯やってるんだよね < 非国民
サッカーには興味ないけど、非日常感あふれる写真はなかなかにインパクトがある。

さて、やはりというか「品位を損なう」とクレームがついたらしいけど、
そんなオレオレ基準をかざされてもねえ。
…と過剰反応気味にぼやいてしまうのも、会社でドレスコード?服飾規定がまさに昨日追加されたせいかも。

ネット通販

米国の若者はネット通販をあまり使ってないというニュース。
まあ、欲しいものがあれば平日に買いにいけちゃうものね。
通販はそれができない、つまり仕事を持っている人のためのものとも言えるわけで、
さもありなんというところ。自分もそこそこのamazon依存者だし。

…要するに毒男が一番のお客さんってことか orz

2006-06-16

りなざう

W-ZERO3の身分証明書をコンビニからFAX。
フリーダイヤルなのに料金変わらずw

ところで初代Linux ZaurusであるSLA-300はどうしてくれよう?
会社で欲しがってた人がいたけど、もうだいぶ塗装も剥げてきたし、そもそもお世辞で合わせてくれてただけかもしれないし。
Solaris用のドライバを作りかけなので、
まだだれかには上げたくないなあ。

図書館

ハルヒの長門さんの画像を探しているせいか、
図書館という空間に妙に惹かれる今日この頃。

学生の時は当たり前と思っていたけど、
落ち着いた空気の中で無為に時間を過ごす楽しみは
おぢさんにこそ必要なんじゃないかと。

んで、各種作品に「世界のすべての知識が記録された図書館」のモチーフが
よく出てくるんだけど、その一覧をまとめたサイトがあったようななかったような…

たとえばリリカルなのはの無限書庫とか、
ヤミと帽子と本の旅人でリリスが住んでいたところとか、
ネギまの図書館島とか。
クトゥルー神話にもあったような気がする。
どうってことないけど、思い出せないと妙に気分わるい。

フェイトのフィギャー

GOOD SMILE COMPANYからフェイトのフィギュアがでるらしい。
http://www.goodsmile.info/gsc060903.html
ザンバーフォームはあんまり好きじゃないんだよなあ。
それよりはやて母さんのフィギュアはまだか。

W004SHを注文

ウィルコムストアでW-ZERO3/W004SH(ガンメタル)を注文。
大昔にDDI Pocketを使ってたので、久しぶりにPHSユーザに復帰ということに。
定額プラン+データ定額を選択したけど、果たしてパケット数が定額部分に収まりますかどうか。

ところで今はauのプリペイド携帯を使ってるけど、
有効期限が切れたらどうしましょうかねえ。
ほとんど通話しないので10,000円で1年間は使えてたんだけど… うーむ

2006-06-15

KFCに新メニュー

Daily Portal Zより。
KFCに"アジアンスパイシーチキン"登場。
辛い系のメニューはいつのまにかなくなってしまうので、週末にでも食べてみようかなと。

はじめますた

「私もblog書いてるんですよ〜」と言ってみるためにとりあえず作ってみました。
なんて主体性がないw
とりあえず生存証明として使っていこうと思ってます。