猫と目が合った 
月曜日, 2月 26, 2007, 06:00 AM - 戯れ言
単車で出かけた。
信号が赤になったので止まった。
交差する信号が青になった。
交差する道の横断歩道に人影はなかった。
チリンチリンという音が聞こえた。
辺りを見回すと猫が交差する道の横断歩道を渡っていた。
さっきの音は猫の首輪の鈴だった。
思わず「ネコー」と声が出た。
猫はこっちを見た。
目が合った。
数秒すると猫は去っていった。
そして自分の道の信号が青になり発進した。

猫が青信号を渡っていた。
それだけのたわいのないことだ。
ただその猫は青信号を見て渡ったのか、
たまたま通りかかったときに信号が青だっただけなのか、
それが気になった。
車通りの多い道だから確認もせずに道を渡っていると
いずれ車に轢かれてしまうだろう。
だがその猫は生きていて僕と目があった。
猫自身が信号や車に注意することで轢かれないようにしてきたのか、
運良く今まで轢かれなかったのか、
どちらなのかを知る術はない。

首輪をしていたということは飼い猫なのだろう。
ただ車通りが多い道の近くで住んでいる人が放し飼いにするのだろうか。
室内飼いで脱走してたのではなかろうか。
もしそうならばその猫は信号や車に注意することは知らないだろう。
その猫は脱走して飼い主の知らないところで死んでいたかも知れない。

道路を通るとき「信号や車に注意すること」は当然のことだ。
さもなくばいずれ事故に遭い、命を落とすことになる。
事故に遭って無くても所詮それは運が良いだけだ。
もっとも注意してても事故に遭うときは遭う。

道路を通るときのことに限らず、
知っている危険な事象に対して注意すべきことを知り、
それに注意するのは誰でもやっていることだ。
だが知らない危険な事象に対して何に注意すべきを知らないまま、
運だけで生き残っていることがあるのではなかろうか。
僕はこれが恐ろしいと思う。

もっともこれをいいだしたら
人は見えない何かに常に注意を払い続けなければならない。
だから人はそこそこに無知で、あとは運に任せるようにするのが
ベストではないがベターなのではなかろうか。
ただ悲しいことに無知すぎる人も多い気もする。

そんなことを考えた帰り道。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 1083 )

ウイルスの臨界 
土曜日, 2月 24, 2007, 09:08 PM - 戯れ言
ウラン235の臨界のことを考えてて思った。
ちなみに臨界とは下記のようなこと。
りんかい 0 【臨界】

さかい。境界。特に原子炉で、核分裂が持続的に進行しはじめる境目。
「―に達する」

三省堂提供「大辞林 第二版」より


天然ウランには核の燃料にウラン235が微量含まれている。
このウラン235に中性子をぶつけると分裂して熱と中性子を出す。
そして出てきた中性子が別のウラン235にぶつかり、また分裂して熱と中性子を出す。
これが連鎖が起こり続け、大量の熱と放射線を発生させる。
この現象を原子核分裂における臨界と呼ぶ。
もっともウラン235の密度が一定以上がないと臨界は起こらない。

この話をネットワークを交いして観戦するウイルスに例えてみよう。
ウイルスが脆弱なコンピュータに攻撃すると、
そのコンピュータはウイルスに感染し、他のコンピュータに攻撃を始める。
これが連鎖してネットワーク上に大量の攻撃や通信のパケットが発生する。
もっとも脆弱なコンピュータの密度が一定以上ないと連鎖は起こり続けない。

どちらも重要なのは密度が一定以上ないと連鎖が起こり続けない。
「上の例えが正しいとするならば」、
コンピュータウイルスが蔓延しているのは脆弱なコンピュータ多いからだろう。

ということを、臨界という単語を何かで聞いてイメージして思い浮かべた。
もっともマクロとミクロの関係の話だから
熱統計力学なり量子力学なり代数学なり経済関係なり
似たような例え話は他のことでもできるんだけどね。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 2.9 / 1112 )

Debian+etch+Xgl+beryl 
火曜日, 2月 20, 2007, 06:58 AM - Linux
やっぱりUbuntuからDebian(etch)に戻した。
そしてetchでXGLが使えないか試行錯誤してみたところ、
パッケージを作成することでetch上でfglrxを使ってXglを動かすことができた。

今まではfglrxとAIGLXの相性が悪いため、
xorg付属のradeonのドライバを使う必要があった。
ATIのドライバのfglrxを使ってberylを使用するならばXglを使う必要があった。
しかしDebian(etch)ではXgl用のパッケージが無いために
xglを使用するためには手動でインストールしなければならなかった。

UbuntuはDebianベースなのでUbuntuのxserver-xglパッケージを
Debian上でリビルドしてインストールして、
これでDebianのetchでXglを動かせるようになった。

リビルドしたパッケージの置き場

あとは以下のサイトを見ながら設定する。
Install Beryl on Ubuntu Edgy with GC Drivers
Install Beryl on Ubuntu Edgy with XGL
以下はそのサイトの抜粋と訳。

/etc/X11/xorg.confを設定する。
DRIのセクションで以下のようにMode 0666になっているか確認する。
Section "DRI"
Mode 0666
EndSection

以下の行を追加する。
Section "Extensions"
Option "Composite" "Disable"
EndSection


/usr/local/bin/startxgl.shファイルを作成して実行属性を付ける(root権限が必要)。
ATI系の場合はファイル内容は次のようになる。
#!/bin/sh
Xgl -fullscreen :1 -ac -br -accel glx:pbuffer -accel xv:pbuffer &
sleep 4
export DISPLAY=:1
exec gnome-session

NVIDIA系の場合は次のようになる。
#!/bin/sh
/usr/bin/Xgl :1 -fullscreen -ac -br -accel xv:fbo -accel glx:pbuffer &
sleep 4
export DISPLAY=:1
exec gnome-session


/usr/share/xsessions/xgl.desktopファイルを作成して内容を次のようにする。
[Desktop Entry]
Encoding=UTF-8
Name=Xgl
Exec=/usr/local/bin/startxgl.sh
Icon=
Type=Application

そしてGDMを再起動するとセッションの中にXglが増えているので
それを選んで起動するとXglでセッションが起動する。
あとはberyl-managerを実行してウインドウマネージャをBerylに変更すれば
グリグリのデスクトップになる。

GNOMEの標準のアニメーション、ランチャーを押したときのエフェクトが極端に重い。
これはgconf-editorによりオフにすることができる。
gconf-editorを実行してapps -> panel -> globalのenable animationsをオフにすればよい。



  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3.3 / 177 )

自分で勝手に騙される 
木曜日, 2月 15, 2007, 03:20 AM - 戯れ言
嘘をいっているわけではないけど騙される人がいる。
自分のいいたい事を主張するとき、自分にとって都合のいいことは良いことは主張し、悪いことは隠す。
僕はこれに疑問を持ってはいるが、これは基本だ。
もっとも「自分のいいたい事」が「隠した都合の悪いこと」と矛盾するとき、
それは嘘をいっていることになる。
この場合、主張した「自分のいいたい事」を信じた人は騙されたことになる。
だから「自分のいいたい事」と「隠した都合の悪いこと」は矛盾してはならない。

では、自分のいいたい事を主張せずに、
自分にとって都合のいいことは良いことは主張し、悪いことは隠した場合はどうだろう。
つまり「自分のいいたい事」を一切主張せず、
「自分にとって都合のいいことは良いこと」は主張することで
「自分のいいたい事」を暗に伝えるわけだ。
この場合、「自分にとって都合のいいことは良いこと」は主張しているが
「自分のいいたい事」は一言も振れていないため、
「自分のいいたい事」と「隠した都合の悪いこと」と矛盾しても嘘にはならない。
(実際には詐欺で逮捕されている人もいる)

僕はこれを「自分で勝手に騙される」という(出展は少年アシベ@集英社)。
今の世の中、物事が多すぎて専門家でも
「自分で勝手に騙される」ことがあるから難儀だと思う。


と、↓を読んでて思った。
昨日もまた捏造棒グラフ NHK「日本の、これから」
図1(3)のグラフを見てほしい。
見ただけだと「労働力人口が半減する」と印象を受けるかもしれない。
しかし棒グラフには省略の波線が入っているから、半減するということを読み取ることは不可能。
そして数字は約2/3になることしか示してない。
あと番組中では「半減する」とは一言もいってないらしい。
「労働力人口が半減する」と感じた人(自分で勝手に騙された人)が悪いのか、
このグラフを掲示したNHKが悪いのか、どっちなんだか。
資意的に印象操作をしてる気がするから、「僕は」NHKが悪いと思う。

仮に「自分で勝手に騙された人」が悪くてNHKは全く悪くないとすると、
この先も注意しないと自分で勝手に騙されてしまうような情報を見せられることになる。
仮にNHKが悪くて「自分で勝手に騙された人」が悪くないとすると、
ちょっとでも誤解を与えるような情報を出したら悪者扱いされることになる。
前者を選ぶとマスコミが好き放題することになり、人が賢くならないと生きていけない。
後者を選ぶと人が自分で物事を判断するのを辞めてしまったのではないかと悲しくなる。
どちらも極論だから実際には適当なところで線引きをする必要がある。
もっとも線引きが難しいからこそ、こういったことが野放しになっているわけだが。

毎度書いてるけど今の世の中は知っておかなければならないことが多すぎる。
だから自分で勝手に騙されないようにするには骨が折れる。
難儀なもんだ。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 1132 )

BOM付きUTF-8でJavaにつまづきnkfのバグにぶちあたる 
水曜日, 2月 14, 2007, 07:56 PM - プログラム
Debian LinuxからUbuntuに乗り換えたときに
言語をeuc-jpからUTF-8に変更した。
そのときにファイル名とファイルのエンコーディングもeuc-jpからUTF-8に変換したのだが、
二重につまづいた。

まずファイル名の変換はconvmvコマンドで難なく成功した。
次に手持ちのJavaのソースコードを変換する。
Javaのソースコードを一個一個エディタで開いて変換していたら切りがないので
nkfとfindコマンドを使ってエイヤッと変換する。
nkfはファイルを直接変換しないのでqnkfというスクリプトを自分で作る。
qnkf
#!/bin/sh
cat $1 | nkf -w8 > oldfile.tmp
cp oldfile.tmp $1
rm oldfile.tmp

で、これを使って次のコマンドでエイヤッと変換する。
$find -name \*.java -exec qnkf {} \;


変換されたJavaのソースコードをコンパイルしようとしたらエラーが出た。
$ javac HelloWorld.java 
HelloWorld.java:1: \65279 は不正な文字です。
import java.util.ArrayList;
^
エラー 1 個

\65279って何だろう?
そう思ってググってみたらこんなのが見つかった。

UnicodeのUTF-16など16ビット幅のエンコーディング方式において、
エンディアンを指定するためにファイルの先頭に記入される16ビットの値。
IT用語辞典e-Wordより抜粋

つまりUTF-8のBOMのようでmUTF-8を使っているので別におかしなものではないようだ。
ではなんでエラーになるのかというとバグレポートで次のようなのがあった。
Bug ID: 4508058 UTF-8 encoding does not recognize initial BOM
結局javacがBOMを認識できないことが原因のようだ。

対処法はある。BOMを除去すればよい。
そもそもなんでBOMが付いたのかというと、上のqnkfのスクリプトの中で
nkfの-w8オプションを使用したからである。
nkfのオプションを-w8ではなく-w80にすれば良いわけだ。
           -w -w80
UTF8 コードを出力する。 (BOM 無し)

-w8 UTF8 コードを出力する。
nkf(2006-05-14)のmanページより抜粋

でもエラーがでた。
おかしいなと以下のようなコマンドを実行してみた。
$ echo -n "t" | nkf -w8 | od -t x1
0000000 ef bb bf 74
0000004

$ echo -n "t" | nkf -w80 | od -t x1
0000000 74
0000001

$ echo -n "t" | nkf -w8 | nkf -w80 | od -t x1
0000000 ef bb bf 74
0000004

一つ目はBOM付きで出力しているからef bbが付加している。
二つ目はBOM無しで出力しているからef bbが付いていない付加してい。
三つ目はBOM付きを再度BOM無しに変換しているのに付いている。
というわけで原因はnkfのバグだった。

使用していたnkfのバージョンはUbuntuのedgyの最新の2.0.7 (2006-06-13) だったけど、
本家の最新版の2.0.8 (2007-01-28) にしたらこの不具合は解消されていた。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 1143 )


Back Next