雑記


2005-09-11 (Sun)

曲がり角で, 出会い頭に尋ねられただよ。「カストコってドコ?」みたいな。 ケータイを見せられて Costcoってことと, ソレが大きな店ってことを聞いたけど, やっぱし分からない。
どー考えてもカルフールではなさそげだし, 他にもうひとつ大きなトコがあるけどアレは何だっけ … とか思い悩んでるうち, その外国人は諦めたっぽい。

「カルフールじゃないんだよね」。 もう向こうに歩きはじめてる相手に そう聞いたんだけど, 日本語じゃ通じなかったかも。 (← ぉぃ)
別れたあと, そのもうひとつがコープって名前なのを思い出したんだけど, やっぱし似てない。

大きな店ならググれば出てくるかも … そんな訳で帰った後 調べてみると, 確かに見つかっただよ。カルフールの隣に。 ときどき見かけてたんだけど, そーゆートコとはずっと気付いてなかったりして。あはは。 んで, webで見てみると 一度見学してみたい気になるけど, 年会費払って会員にならないと入店もできないっぽい。くわー。 (T-T)


2005-09-10 (Sat)

JavaScriptの日本語マニュアルって, webで見る限り, よいものは見つからない。 本だと サイの絵が付いてるのがあるはずなんだけど, 読んだことない。 そんな訳で, この言語を勧めることすらできなかったのら。って, スタンドアロンで使うことないかもだけど。
で, 英語版であれば, 以前は Netscapeの DevEdge (devedge.netscape.com) ってトコに資料があったんだけど, 現在は封鎖中。 そう, そこは σ(^^) が JavaScriptを覚えたトコなのら。

で, なんでこんなことアレしてるかとゆーと, Devmoを紹介してみよーと思ったから。 ここは MediaWiki を使った wikiサイト, 内容は Mozilla関係の技術資料, HTML/DOM/CSS/JavaScript などがてんこもり … て訳。 先ほどの JavaScriptの資料も JS1.5 リファレンス, JS1.5 ガイド と, 様式を変えて再登場してるのら。

ま, ソレはソレでよいとして, それらを各国の言語に翻訳しよーとゆー試みもあったりする。 たとえば, 日本語の JavaScriptのページとか。
ところが, その翻訳の手順・ルール, そんなのが必要なのにまだまとまっていない。 「wikiだから 勝手にまとまる」とかゆってる人もいるし, 「元々は英語版の人達のプロジェクトなんだからその方たちの意向を伺わなければ」みたいな, ハレモノに触るかのごとく慎重な人もいる。つか, 多いみたい。

wikiとゆー, 分かったよーな分からないよーなものを使うことでの勝手な思い込み・誤解とか, お上の/上の人のゆーことには逆らえない ってゆーアレ ・・・ そんなのが蔓延してる。 どこでこんな風になったんだろ。
ホントは, ただ単にルールを決めて翻訳にとりかかればよいだけの話で, そしてそこで問題が起きれば英語版側の人と話し合う・交渉すればよいだけ, ただソレだけなのに。


2005-08-30 (Tue)

さてさて, その異常終了する部分なんだけど, FPUについても調べてみただよ。 つーか, マジなんとかしないと, cairoの浮動小数点周り & ソレを駆使する PMモードのプログラム(cairoは vector graphicsな訳だし) って構図なんだから, 他に道は無い訳なのら。ギャワーン。

fld         qword ptr 0x10[esp]
call        __CHP
fistp       dword ptr 0x18[esp]   ; ← 問題の箇所, らしい

fld, fistp は, FPUの命令。 advanced optimization FPU のページから察するに, fldldは load, fistpstは storeなのかも。 で, pは popね。
つまり, メモリーにある 8バイトの浮動小数点数を FPUのレジスターに読み込んだあと, __CHPを呼び出して, その後, FPUのレジスターからメモリー (0x18[esp])に, 整数へ変換して(4バイトで) 保存する, と。 で, そのときに(丸めるとき?) Invalid Operationの例外が発生してるとゆー話。

それから, __CHPは, こんな感じ(↓) らしいだよ。

PUSH 00000C3Fh   ; chop, 24bit, all exception masks
FNSTCW word ptr[ESP+02h]
FLDCW word ptr[ESP]
FRNDINT
FLDCW word ptr[ESP+02h]
LEA ESP,[ESP+04h]
RET

頭に Fが付くのは, やっぱり FPU関係の命令。 で, store control wordで一時的に保存して, load control wordで 0x00C3をセットするって訳。 (← ホントに略が合ってるのかどーかは不明だよん)
0x00C3の意味は, Linux でアセンブリプログラミングによると, 切り捨てモードで(chop), 24bit精度, それからすべての例外をマスクする(通知されないようにする), ってこと。

んで, FRNDINTで丸める (つか, 切り捨てる)。
コレは, 浮動小数点数の整数への変換によると, C言語ではそんな感じらしいだよ。

てことで, 問題点をまとめてみると …


2005-08-27 (Sat)

てな訳で, なんだかいろんな人巻き込んで … えーと, 解決したんだろーか? とにかく, 問題なかった方もいたけど まったく同じ現象の方もいて, そんな訳で個人的な問題って訳でもないのは分かったにょ。

解決策としては, 浮動小数点数を long型に変換するとき その型からオーバーしそうなら迂回するとか。 ほかには, そのアプリケーションが PMに移行するとき, _fpreset()を呼び出して FPU control wordをリセットするとか, そんな方法があることが分かっただよ。 もうひとつはアプリケーションを変更しなくても済むもので, kernelを最新のものにすると直る … かも知れない。未確認だけど。デヘ。

んで, もしも kernelを変更することで直るのなら, ソレが原因だったといえなくもないかもネ。
にしても, (異常終了になる) その値が特別なのは確かかも。 単にオーバーしそうな値を使っても異常終了って事態にはならないし, 有効数字 20桁で途中までの計算を行って単純化しよーとしても, やっぱり異常終了しない。 とにかく一風変わった値みたいにょ。


2005-08-19 (Fri)

OS2.jp 経由で, cairo for OS/2 が出たって話を聞いただよ。 まだ, mozilla/firefoxにはアレしてないらしいけど, コレは期待できるかも。なーんちて。

そんな訳で早速 download してみたにょ。 でも, 付属のサンプルを試してみたトコ, 3つのうちひとつしか動かなかったりなんかして。あははのは。 (← ダメじゃん)
つか, 動かないうちのひとつ svg.exeは, 浮動小数点数の丸めによるオーバーフローが原因っぽい感じ。 cairo-traps.c のトコ少し変更したらなんとか動いただよ。

だけど問題はここからなのかも。その部分は OS/2独自のトコかも知れないし, そーじゃないかも知れない。 そして, その計算部分, ホントのトコどーすりゃよいのか分からなかったりするのだ。エヘヘ。 普段できるだけ浮動小数点を使わないようにしてて —— つまり, こーゆーことがあるから —— そんな訳で対処方法が分からなかったりする。

ま, フォーラムで聞いてみよっかな。


2005-08-08 (Mon)

以前, 0/0は 0とかゆってる変な番組があった ことを書いたんだけど, たぶんソレと同じ番組の話かもしれない。

最近, 似たよーな感じの話題で, 「nの 0乗はなぜ 1なのか?」 ってのを聞いただよ。 理由が分からないのだとか。0回かけるのなら 0ではないか? みたいな。

コレも, よくよく考えてみれば分かるはずなのに, なんとなく答えだけ聞いてソレを覚え込んでしまって, その後すっかり数学から遠ざかって今となってはさっぱりワケワカメ, て感じみたい。
てゆーか, ソレ分からなかったら こんぴーた関係のこと行うのは無理だと思うにょ。

/* 加算 */
res = 0   /* 初期値 */
data = 3 1 4 1 5 9 2
do i = 1 to words(data)
  res = res + word(data, i)
end
say res

/* 乗算 */
res = 1   /* 初期値 */
data = 3 1 4 1 5 9 2
do i = 1 to words(data)
  res = res * word(data, i)
end
say res

べき乗とか乗算では, 初期値として 0をアレすると結果は 0になってしまう。だから 正しくは 1。 そんな訳で, その後なにも掛け合わせなかったら 1のままってこと。
「なにを当たり前のことを」って反応ばかりだとよいけど, プログラマーから「前から疑問だった」とか反応もらうと哀しくなるかも。


2005-08-02 (Tue)

少し前のに Firefox 1.5は9月に登場予定 [slashdot.jp] てのがあって, その中に興味深い投稿があっただよ。 OSSコミュニティの「日本病」フレームのもとになってるけど, すごく現状を言い表してる感じ。

てゆーか, 内容がすべて当たっているのかは知らないけど, ある集団ではまさにこの通りだったりする訳なのら。 んで, ある事にハッとさせられたり, うすうす気付いてたけど改めて考えてみるとソレってやっぱ変だよネ, みたいだったりする。

でも, ときどき見かけるのは, 現状のソレが当然, 何の不自然さもない みたいな反応。 てゆーか, ソレを不思議に思わないトコが日本病なのかも。なんてね。


2005-07-15 (Fri)

OS/2の営業活動終了 (OS/2のサポートに関するアナウンス), らしいだよ。
でもだからっつって, いきなり起動しなくなったりする訳じゃなし, ソレなりに使い続けるかも。 って, 前にも書いたよーな気が …

で, ソレはソレとして, んじゃ OS/2を使ってる理由は何かとゆーと, 考えてみるに, そんなにこだわるほどでもなかったりする。 WPSはまったく使ってないし, Rexxは Linuxにも移植されてて ほかに Reginaって手段もあったりするし (MacOS X用とか), Rhinoも, Javaさえ動けば他の環境でも大丈夫。 Mozilla/Firefox, Thunderbirdもいろんな環境で動くし, あとはエディター (EPM)くらいかな。

つーか, こんぴーた環境的に かなり質素な感じも。

ODINってのがあるけど, Linuxに OS/2版のソレがあって EPMが動かせるのなら, すぐにでも OSを替えたりできるんじゃないだろーか, なんて。
とか思いながら, ひとつ 大切なモノを忘れてただよ。
OS/2コマンド窓はほかの環境でも動くカナ。 (← 無理だっつーの)


2005-07-14 (Thu)

HDD/DVDレコーダーの調子が悪くなっただよ。 以前から DVDドライブに異音, てゆーか爆音が響いてたんだけど, ついに DVD-RAM入れても「ディスクをチェックしてください」みたいなメッセージが出て認識しなくなったりして。

で, ホントならレンズクリーナーなのかもだけど, 慌てていて, いきなり分解とゆー行動に出てしまったり。 んで, レンズ部分をめん棒で拭くとソレなりに正常に戻ったりなんかして。… だけどソレは一時的なものだったり。
今は, 新規の DVD-RAMなら認識するんだけど, 一度書き込んだものは「ディスクをチェックしてください」になってしまう。 どーゆー状態なのかは分からないけど, 結局ドライブ, しかもレンズなのは明白。 あとは修理できるのかどーか, なんだよね。分解でいろいろアレしちゃたりしたから。あはは。


2005-07-10 (Sun)

「テレビ録画の番組予約」についてのコト … nii.nさんとこより。

時刻の入力がドロップダウンリストから選ぶのしかないんだもんよ。"00"分から"59"分に変えるのなんか気が遠くなるほどスクロールせんければならん。阿呆か。入力チェックするのがめんどくさいもんだからテキストボクス省いたんだろなー。ソニー様,あなたは堕落してしまいましたっ。

すべてが HTML(の form) になってて, CGIのよーなもので予約するよーになってるのなら, そしてその formはユーザーが自由に作ることができるのなら どんなによいか。 へんなインターフェース押しつけられなくて済むし。

録画が終わって残り容量が ××分以下なら, いくつかの録画済みなブツを DVDに転送するとか, そんな JavaScriptを作って動かすことができたりしたらもっと便利。 … って無理だよね。


2005-06-24 (Fri)

サインはV より

これは、2バイト文字の1バイト目が来た時に、もう1バイト取って、int 型にまとめてしまう関数だ。 「ch ==0xE0」って、あからさまにありますなぁ。

キーボードの拡張コード(?) のはずだけど, コレって OS/2だけなのかも。(もしかすると)

同じ数字キーでも, テンキーとフルキーを区別したいときは (あるモードにしておいて)コレで判断できたり … そんなことも可能だったはずだお。 でもソレは英語版では便利だったかもだけど, 日本語版では漢字とソレとの区別が難しくなって, すごく邪魔だった気がするにょ。


2005-06-06 (Mon)

Firefoxの 1.1くらいで SVG とか Canvas要素 とか 実装 されるっぽい。 前者は Libartか cairoが必要 で, 後者は cairoだったはず。 オススメのソレからしても Canvasにしても, 結局は cairo ってことだけど, OS/2版では まだダメっぽいにょ。 つか, CanvaSVG が動くカモなら Canvas要素さえあれば … とか考えたこともあったんだけどね。 (T-T)

そんなこんなで, 今後は JavaScriptでグラフィックを自由自在って感じだお (実装ができれば)。で, Webの表現力上がりまくり。 んじゃ, コレ使ってなにしよっかなぁー。
とりあえず, 矢印? (← オーバースペック)

そーいや, JavaScript自体も色々機能追加されたっぽい。 E4Xも実装済みっぽいし, Arrayオブジェクトにいろんなメソッド (forEachとか)が追加されたり, そりゃもーすごいアルヨ。
Rhino にも, Arrayオブジェクトのヤツ, 追加されないカナ。


2005-05-13 (Fri)

Java版 JavaScriptを最近はよく使ってる訳で (一般的なスクリプト言語として), だから, もっとちゃんとした Java環境が欲しいってのは, 切実なる願いだったりなんかするですよ。ホント。

なのに, Java 1.4.2は どこぞのコードの使い回しで (←ぉぃ)
日本語表示にも一抹の不安があるし … Java 1.4.1のばーいは, OS/2 ネイティブとはいえ, 1.4.2よりも起動とか少し遅いし, それに動かない Appletがあったりするし。 で, Appletの安定さから Java 1.4.2を主に使ってたんだけど, pluginの DLLの問題だとか, そんなこんなで結局 Webブラウザーでは使ってなかったりして。 つか, 使えないのかも。 (T-T)

てことで, Harmony待ちって感じだお。って, いつまでかかるのか分かんないけど。

Mozillaが出回りだしたとき, XULって存在も注目された訳だけど, Harmonyにもそーゆーのを期待したい感じ。 たとえば, Javaは プラットフォームに依存しないとかゆってる割に, 起動スクリプト (OS/2ではバッチファイル) が別々で, 結局そんなトコを考慮しないと使えなかったりするけど, そこを何とか … みたいな。
コードを自由に扱えず, ダイナミックなアレができなかった訳だけど, Harmonyでは 自由な発想で, 単なる Java環境ってトコから一歩抜きんでて欲しいアルヨ。


2005-05-09 (Mon)

プログラミング言語を習得するばーい, いくつかの (まったく)異なったのを覚えるのがよかったりする。 ひとつだけだと, ソレを当たり前に思っていたことが, 実はそーではない, とか。 あるいは, いくつかの他の言語では当たり前に使うことができる機能が, コレには付いていない, だとか, 気付くことがソレなりにあったりする。 なにより, 発想を変えることができたり, 引出しが多くなったり, そんなトコ。
つか, 他にも誰かそんなことゆってた気がして, 探してみると見つかったりして。 (T-T)

習得つっても, 言語仕様だけ見てても どーしよーもない。 実際に使ってみてモノにしていく … 会得つーの?
たとえば Javaプログラマーと話してて interfaceが身についていない人も居たりする。 「interfaceって何だと思う?」とか聞いてみると, どこかで聞いたよーな, マニュアル通りの答えだったり。 もっと具体的なこととか, abstractとの違いを聞いても, あまり説得力のある答えは返ってこない。
ソレだと, 知っているうちに入らないと思うだよ。

普通のやつらの上を行け — Beating the Averages
(上の文とは関係ないかもだけど)

たとえば Rexx のばーい, パワフルとは ほど遠かったりする。例を示そうにも 枚挙にいとまがない, って感じで。 ソレでも, 登場した当時から, ユーザーのリクエストに応えて進化してきたっぽい (そーゆー意味で「やさしい」とは言えるかも)。 実際に ORexx やら NetRexx とゆー, 進化の過程での分岐があったりして, いろいろ模索してたっぽい感じが伺えたりなんかする。

昨年, オープンソースの道を歩きはじめたものの, すでにプログラミング言語としての「遊び」は少なく, 進化を遂げるとするなら, ソレはもう Rexxとは呼べないものになるのかも。 (それに, Rexx2005 とか出たとしても, ヒットするとは思えないし) (^^;

そーやって, 要望があり生み出され, 進化をとげ分岐し, そのうち遊びがなくなったり … そのよーにして, また新たな言語が生まれたりするんだね。 (つまりは ・・・)


2005-05-06 (Fri)

> 誰か偉い人、仲裁に入ってくれ〜〜〜〜

もちろん, 偉い人って訳でもなくて, それに仲裁にもならなくて火に油を注ぐかもだけど, ちょっち思うことを書いてみたいかなー … と考えてみたものの, まだまとめきれてなかったりして。あはは

てことでアレしてみると, なんだか それぞれ相手のこと分かってなさ杉, とか思ってみたりして。
てゆーのも, 車好きだとしても, スポーツカー LOVEな人もいれば, ジープこそすべて, 燃費が大事, それともエコロジーでガソリンを全く使わないのがよい, って人もいるかもだから。

元の方の発言は, 例えるとマンガの萌え話, みたいな感じカナ。 あるいは, 目玉焼きの片面焼き(サニーサイドアップ)と 両面焼き(ターンオーバー)のどちらがよいかの議論て感じ。 (萌え話と目玉焼きが同じ類 つってる訳じゃなく, そーゆー要素が含まれてるよーに思う, ってこと)

ソレに対しての反応が … こーゆーのは真剣に評価すべきで, 使う上での特徴は短所も示すべきだとか, まじめに考え過ぎかも。 日頃ソレを使ってるときに「厨」を目にすることも多く「コレでは評価が悪くなる一方」とか危惧したのかもだけど (でも, そんなの勝手/自由じゃん, で終わりそ)。 はっきりゆって議論かみ合ってなさそげ。 (^_^)
… もう解決したのかもだけど。

んで, 別の側面もあったりする。

「アレっていいよねー」みたいに盛り上がってるときに (第三者から)イチャモン付けられたら … 興ざめするか, それともキレて文句を言ってしまうか, になるのかもだけど, ソレも少し考える必要あるかも。
軽いつもりで吐いた言葉が, 知らない内に誰かを傷つけたりして, でもソレはソレとしても, そこから不毛な論争に発展してしまうよーではアレだから。

たとえば, (今回のとは違って) Lisperが怒鳴り込んできたらどーなのだろー。 「カッコな言語って何だ」と。 wizardや guruが冗談で口にするのならまだしも, ホントにそこんトコ判ってゆってんの? みたいな。 古代言語でありながら, 今なお各種のプログラミング言語に影響を与え続け, Tail-call eliminationやら Continuationやら, その他多くの参考になるものを持っている。 それなのに, カッコ付きとか中途半端なこと書いて, これからプログラミング言語を学ぼうとする人達に変な先入観持たせるな … と, そう言われたら。

悪気はないのにそんなこと言われても, とかゆってる場合じゃない訳で, まじめに・冷静に対処する必要があると思うだよ。 相手の怒りに対して, 怒りにまかせて返してちゃ解決できることもできなくなってしまう訳だし。


2005-05-02 (Mon)

XUL始めたですか
チュートリアルって, Firefox (とか Mozillaとか)に「登録」(?)する形で話が進む訳だけど … でも, ホントにソレが必要って訳じゃなければ, 「登録」しなくてもよいかも。

どーゆーことかとゆーと, JavaScriptで いかにもな機能を使う訳じゃなければ (XPCOMとか使わないのなら), 普通に *.xulファイルを作って Firefoxで読み込ませれば OK。 XULの要素を調べるだけならほとんどコレで大丈夫かも。 Webサーバーが対応してて application/vnd.mozilla.xul+xmlを返してくれるのなら, Webにも置けちゃう。 (たとえば Alice Corbin's pageXUL Periodic Tableとか)

こんなコード (↓)使って, 例えばローカルファイルにアクセスしたりするのなら, RDF用意して「登録」(?)しないとダメなんだけど。
var file = Components.classes["@mozilla.org/file/local;1"].createInstance()

んで, XULのキャッシュのクリアは, Firefoxでも有効なのかどーかは知らないけど, こんなページがあるですよ → Dev : Tips : Disable XUL cache


2005-04-28 (Thu)

Firefoxを 1.0.3の最新版に換えてみると, 起動 … しよーかなってトコで, またコマンドプロンプトに戻ってしまう。 Firefox 1.0.2のときもこんなだっただよ。(T-T)
でも, σ(^^) の環境の問題っぽい感じなので, ついでだからトコトン調査してみることにしただよ。 てゆーか, 必須の DLL (libc-0.5.1)だけにしてみると 何事もなかったかのよーに動いたんですけど, コレ。

てなことで, pluginsとか, ipluginw.dllとか, profilesとか, そこから少しずつ環境を戻していくと InnoTekの Java pluginが原因らしい, てトコに行き着いたりして。 そーいや, Java pluginのインターフェースの部分か何かに脆弱性があったとかどーとかニュース出てたカモ。 試しに [Options]の [Enable Java]を無効にしてみると, ソレだけでも OKだったりして。

だけどこのトラブル, ソレだけでは終わらなかったのら。 てゆーのも, しばらく使っていると Firefoxが落ちたりするし。 Webページを開こうとして落ちるなんて久しぶり, てな感じで JavaScriptを無効にしてみる。 で, ソレはソレで大丈夫なんだけど, でも変なスクリプトが埋め込まれているよーにも思えないだよ。 うーん, (ごく普通の)ニュースのページなんだけどネ。 (← "普通"って何だ)

フと思い立って plugins\npj2.dll を別のトコに移動してみると, これで再現しなくなったカモ。 [Enable Java]は無効にしてたし, JavaScriptにも関係ないはずなのに, 何故。
つか, もっとまともな Java環境が欲しいカモ〜 (速度も十分に速いヤツ)。


2005-04-20 (Wed)

マウスドラッグでスクロールする地図、gooが採用 … って, コレ Google Maps のマネッコじゃん。 てことで早速 エリア情報検索実験 に飛んでみると, 少し違ってることに気付いただよ。 スクロールの指定方法がちょっち馴染まないし, それに衛星写真 (Satellite)も出ない。ってダメじゃん, 後発なのに。

Googleでアレしてる Ajaxって, このほかに Google サジェスト とかある訳だけど, こちらは個人的に挑戦してみたいって感じのブツかも。 ローマ字 → かな変換だとか, 漢字 → 読み変換だとか … サーバーが欲しいトコだけどね。


2005-04-11 (Mon)

イモリとヤモリってことで, T.V.でそれぞれの特徴とか紹介されてただよ。 でもそーゆーこと以前に, イモリ見てると昔を思い出したりして。
てゆーのも, 幼稚園に行ってたころの話だけど, 雨の日の帰りに 通園の途中の田んぼでソレを見つけ, カッパのポケットに入れて帰宅したことがあったから。

泳いでいる姿をカッコイイとか思ったのか, つついたら赤い腹を見せてたのが気に入ったのか, とにかく何か惹かれるものがあったっぽい。 で, もう一匹見つけては, どっちがいいか見比べて気に入ったのをポケットへ, んで, 元のは返す, みたいな感じだったあるよ。 今から考えると理解できそーにない感覚だけど。

でも, ホントは毒があるらしいだよ。「テトロドトキシン」てゆー … 平気で触ってたんだけどね。 つか, イモリ以外にもアマガエルとか捕まえてたっぽいけど, そんなカエルの皮膚にもソレなりに毒があったりするから, イモリだけ気にしても仕方無いけどね。デヘ。

野生のイモリが珍しかったり, イモリをペットにするとか聞いたりすると, とても自慢できそうにないそんな体験が, かなり貴重な体験? とか思えてしまう。あはは。


2005-04-06 (Wed)

花粉症の時期らしい。 そーいや, 風邪でもないのに鼻水が出たり (水っぽくはないけど), くしゃみも数回 … 完全に直ったと思ってたのに。

んで, google: 花粉症 でググってみると, いろんな対策があることが分かったりなんかして。 まるでウルトラマンみたいな 超立体マスクとか, ホクロは花粉症になりにくいだとか。 (← ソレって対策?)


Rexx使いの織華
email: ori@drive.co.jp