引用は正確に 2009-08-16 Googleを使っても見つけられないもの,Web
ペタバイトって? - 大きな数をやさしく説明するには 2009-07-17 Web,数学
M系列をハッシュに 2009-07-11 Web,数学
どの断面で見るか 2009-06-22 Web,個人的な好み
Wayback Machine 2009-06-12 Web,時間
恐怖の Unicode 降臨? 2009-05-25 Web,数学
知らない方がいいこと 2009-05-14 Blogger,Web,個人的な好み,数学
ひさびさにいいこと 2009-04-08 Blogger,CGI,Web
痛い解説 2009-04-05 Web,英語
地味にバグ取り 2009-04-01 Blogger,Web,自然言語
Shell 要らないもんね 2009-03-21 Blogger,CGI,Web,自然言語,数学
Lorem ipsum の "日本語訳" 2009-03-02 Web,英語,自然言語,数学
水中編籠インストラクター 2009-02-27 Web,ダイビング,英語,個人的な好み,自然言語
一書曰 天地初判 有物 2009-02-24 Web,個人的な好み,時間,小笠原
要注意外来生物 2009-02-23 Web,ダイビング,個人的な好み,小笠原


2009-08-16

引用は正確に

「グーグル情報革命の崩壊」なのだそうだ。

今、私は函館に居て、もうすぐ出発なのだが、そんな記事を見つけてしまった。どうしてもつっこみたい。そこで、めちゃめちゃ急いで書くことにした。乱文乱キーボードごめんなさい。

---

元記事はグーグル情報革命の崩壊(1)−(3)という、Voice に掲載の長文だ。著者は山本一郎(イレギュラーズアンドパートナーズ代取)。キリスト教徒にしか分からない珍妙な引用が何箇所か出てくるため、論旨ははっきり言って不明だ。私のような先祖代々の浄土真宗信徒には分からせようと思ってないらしい。

それでも、むりくり要約すると。
英語が優位の現在の言語情勢の下で、グーグルによる情報の独占が進行している。それにより、近い将来、世界がフラット化し、世界中の人が同じ価値観を持つようになるに決まっている。それゆえ、現実社会がネット社会との対立を深め、これからさまざまな規制が敷かれ、自由が制限されるだろう。

つまり、あからさまにそうとは書いてないが、「グーグルを規制すべきだ」というのが、この IT 屋さん(?)の本当に言いたいことなのかな?と。

---

論旨はいわゆる「とんでも」なので、反論しない。どんな価値観を表明するのだってその人の自由、ってのが、なにしろフラットなネットの特色だもの。

で、私がつっこみたいところは1点だけ:

聖書を引用するのなら、章と節の番号を明記せよ!

これは文章の説得力を上げるためには基本的なこと。もちろん、聖書の版によっては章と節の番号が異なっている場合があるが、メジャーな版で調べて、その版の名前も明記すると紛れがないよ。

さて、元記事「グーグル情報革命の崩壊(3)」に「ルカによる福音書」からの引用がある。
我、地に平和を与えんために来たと思う勿れ。我、汝等に告ぐ。然らず、むしろ争いなり。今からのち、一家5人あらば3人は2人に、2人は3人に分れて争わん。父は子に、子は父に。母は娘に、娘は母に

これは、聖書のどの版からの引用なのだろうか?章、節の番号も記されていないし…。一読して、日本語としてさっぱり意味が通ってないので弱った。

でも、いまは幸いなことにグーグルを使えば「ルカによる福音書」の全文検索は簡単だ。検索したところ、すぐにヒット。新共同訳版「ルカによる福音書」12章
(51)あなたがたは、わたしが地上に平和をもたらすために来たと思うのか。そうではない。言っておくが、むしろ分裂だ。(52)今から後、一つの家に五人いるならば、三人は二人と、二人は三人と対立して分かれるからである。(53)父は子と、子は父と、/母は娘と、娘は母と、/しゅうとめは嫁と、嫁はしゅうとめと、/対立して分かれる。

が引用したかったのですね?「分裂・対立して分かれる」という言葉をわざわざ「争い・分かれて争う」に改竄したのは、「分裂・対立して分かれる」という語が、筆者の記事の冒頭のバベルの塔の崩壊のエピソードの引用を想起させ、それは、論旨に反するからですね?わかります。ははは。この著者、しょぼいなあ。(新共同訳版でも日本語がまだ不自然なのは、ギリシャ語では響きの良かった同義反復の韻文を、逐語的に訳したためと思われる。)

というわけで、迷える私なりの結論:
グーグルを上手に利用すれば、詭弁は通用しない。情報革命万歳。

2009-07-17

ペタバイトって? - 大きな数をやさしく説明するには

Mozy (無料オンラインバックアップサービス)の公式ブログの1エントリを、しげふみ氏のブログ「1ペタバイトってどのくらい?」で紹介しているのを読んだ。

確かに、面白い。1テラのハードディスクなら今、家電量販店に行けば売ってるので、なんとなく実感が湧く(?)が、その上の「ペタ」となると、もう、抽象的にしか分からない。Mozy の記事によれば
  • 1ペタバイトあれば、13.3 年間録画しつづけた HD-TV Video を保存できる
  • 50ペタバイトあれば、人類が今までに(どのような言語であれ)書いたものを全て保存できる
のだそうだ。へ〜。へ〜。

Mozy の記事には、左のようなグラフも書いてあった。1GB のお値段のグラフ10年分だ。

本当に安くなったものだ。

私の記憶では、この折れ線グラフの始点よりさらに約10年遡った1989年には 1GB のハードディスクはたしか400万円だった(当時のレートはおおよそ 123円 = $1 なので、約 $32500 ということになる)。ディスク(筐体込み)の大きさも 幅25cm x 奥行60 cm x 高さ30 cm くらいだった。現在の市販品なら小指の爪半分くらいの micro SD が一番小さいのかな?

ちなみに、当時、 1GB のハードディスクは身近に2台あったのだが、1年の保証期間が過ぎた直後に両方とも壊れた。(笑)

---

そういえば。

「ペタバイトって?」のように、大きすぎる数とか(逆に)小さすぎる数は、なんだかピンとこない。そういうとき、最近公開された数学的検索エンジン WolframAlfa に数を入力してみると、 "Comparison" という欄に分かりやすい比較対象を表示してくれて、役に立つ。というか、そんなつまんない問題だけじゃなくて、もちろん、いろいろ他が役に立つんだけども。

Wolfram 先生によると、1ペタはおおよそ "56 x the number of red blood cells in human body" だそうな。分かったような分かんないような。。。

ついでに 10 の 100 乗を Wolfram 先生に訊いたら、Google 先生を引き合いに出しました。ははは、そりゃそうだけど。(下の画像がそれ。)


---
蛇足: Mozy の元記事で、細かいことが気になった。「ペタは 10 の 15 乗(=1000 の 5 乗)」であって、1024 の 5 乗ではないのだ。

詳しくはデータ量の比較を参照のこと。簡単に言うと、はるか昔に、1024byte を 1KB (K は大文字) と表し、 k (1000) も K (1024) もどちらも「キロ」と呼んでしまったという事情がある。たった 24byte の違いだからいいだろうという、この浅知恵は後の世に禍をなす: 1MB がその時々で 1000kB だったり、1000KB だったり、 1024KB だったりしたのだ。そのさらに後、1GB が普通の世の中になっても同様の混乱が残った。2002年になり、ようやく、この混乱を収束させるため、1000 と 1024 のベキ乗の系列に別の接頭辞(たとえば、T = テラ = tera は 1000 の 4 乗、Ti = テビ = tebi は 1024 の 4 乗)を使い区別するのがお勧めになったのだが、まだ、普及してないのかな? [ついでに:  通常使われている意味での "1byte = 8bit" も必ずしもそうでないとされた。"8bit " を単位にする場合は "o" (octet) という記号で書くことが推奨されている。]

というわけで、Mozy の元記事は、正確に言うと、P = ペタ = peta = "1000 の 5 乗" の説明ではなく、Pi = ペビ = pebi = "1024 の 5 乗" の説明になっている。1Po と 1Pio はヒト6.3人の赤血球の総数くらい違うので、きっちり区別しましょうね。えーと、赤血球を 8bit に1個ずつ貼ってね。

2009-07-11

M系列をハッシュに

"当面C#と.NETな記録" さん(Hatena::Diary) のところに、興味深いエントリ「[C#] 一番右端の立っているビット位置を求める「ものすごい」コード」があったので、以下に引用:

一番右端の立っているビット位置(RightMostBit)を求めるコードで速いのないかなーと探していたら、ものっっっすごいコードに出会ってしまったのでご紹介。2ch のビット演算スレで 32bit 値のコードに出会って衝撃を受けて、その後 64bit 値版のヒントを見つけたのでコードを書いてみました。

...(中略)...

public static int GetNumberOfTrailingZeros( long x )
{
    ulong y = ( ulong ) ( x & -x );
    int i = ( int ) ( ( y * 0x03F566ED27179461UL ) >> 58 );
    return table[ i ];
}

table は以下のようにして求めます。

static int[] table;

table = new int[ 64 ];
ulong hash = 0x03F566ED27179461UL;
for ( int i = 0; i < 64; i++ )
{
    table[ hash >> 58 ] = i;
    hash <<= 1;
}

注: 引用元のコードには x==0 で分岐させる if 文があったが、それは筋が悪いので引用部分からは除去した。この改竄の結果、上掲のコードは、
引数 x の最下位ビットが 1、あるいは、 x==0 のいずれの場合でも、 GetNumberOfTrailingZeros() は 0 を返す (★)

という仕様になった。


なるほど!

---

このアルゴリズムの主たる仕掛けは、次の (1)〜(3) だ。

(1) 有限体 上の6次多項式


原始多項式である(参照: 今回の記事の一番下の方にある、参考文献 [L&N1994] の表をスキャンした画像)。

(2) 一般に、 上の 次原始多項式を特性多項式とする非自明な無限数列は、M系列である(すなわち、周期 を持つ【この証明は、例えば [L&N1994] p.205 Theorem 6.33 にあるが、この事実を逆に原始多項式の定義と思っても構わない】)。

(3) 特性多項式が (1) である、次の線型漸化式と、その初期条件


で定まる 上の数列 を考える。 0 に引き続き、第 1 項 から第 までを順に並べ


とする。これを64bitの2進数とみなした 0x03F566ED27179461UL は、シフトを使ったハッシュに利用できる。

そういううまい話だ。

あったまいいなあ〜。M系列はこんな使い方もできたんだね。

---

でも、そういうことが分かると、元記事で挙げられている以外のマジックナンバーはないのかと気になる。

というのは、 上の6次原始多項式はこの世にたったの6個


しか存在しないからだ([L&N1994] の表を参照してね)。

だから、2進数で表したときの先頭が 0000001... となる(要するに、★の性質を持つ)ことを、上記の原始多項式のそれぞれに対応する線型漸化式の初期条件として要請すれば、マジックナンバーが6通り(うち、3番目は既出)得られる:

0x0218A7A392DD9ABFUL
0x02FCA8CF75A6C487UL
0x03F566ED27179461UL
0x03C953422DFAE33BUL
0x03848D96BBCC54FDUL
0x03731D7ED10B2A4FUL

また、逆に、★の性質をもつ64bitのマジックナンバーは、この6通り以外には簡単に(システマティックに)求められるものは存在しない

---

このエントリで用いた、「 上の全ての "既約多項式" とその "周期" を表にしたもの」の最初の部分が次の画像。(ただし、10 次既約多項式のリストは次のページに跨がっているので、この画像上では不完全。)


この画像は、文中でも参考文献として引いた、下記の本の p.385 をスキャンしたもの:

[L&N1994] R. Lidl and H. Niederreiter, Introduction to finite fields and their applications (Revised edition), Cambridge University Press, 1994.
ISBN978-0-521-46094-1

めちゃめちゃいい本です。絶対、おすすめ。(?!)

---
2009-07-12T01:40 追記: もし、128bit または 256bit、512bit のシフトがすばやい CPU とコンパイラをお使いなら、(★を満たし、かつ)"簡単に" に求められるマジックナンバーはそれぞれ 18 通りまたは 16 通り、48通りしかない。それぞれ 1 つずつを挙げておくと、
0x0106147916753E87126D6F634BB9957F
0x008E25C0C93720ADACB0FB7AE886C79CC5A452A7767BF4CD460EABE509FE178D
0x0042309CAB0DE9B9142B4FD925BF26A6603194697F458EB2CF1F741ADBB05AFAA814AF2EE073A4F5D448670BDB343BC3FE0F7C5CC8253B479F362A471B571311
こんなの誰も要らない?
2009-07-12T03:49 追記: 誤ったところを直しました。既に見た方、ごめんなさい。

2009-06-22

どの断面で見るか

自分が見えるもの、分かるもの。それだけが存在しているのではない。

と書くと、超いかがわしいか。

考え方、感性は人それぞれ。普段からそう思っているが、今回のエントリでは 2 つの物事を俎上にあげる。どちらの物事もマイナーすぎるが、この blog では PV とかそんなつまらないことをちっとも気にしていない。昨日のダンゴムシの方が断然、重要だ。(笑)

---

1.
中川淳一郎「ウェブはバカと暇人のもの」(光文社新書) という、ちょっと前に、ネット上で大 { | 不} 人気の本を電車の中で読んだ。内容も主張も薄く、繰り返しが多いので、目的地までの片道の暇つぶしに足りず、読破。

こういう意見は本じゃなくて、ネットで無料で読めるように書いて欲しい。内容はそれほど悪くないのだが、新書版1冊にするためにページ数が必要だからと内容を水増しした形跡が露骨。値段 (760円+税) には見合わなかった。

この著者には広告畑以外の知識がないようだ。「ネットはテレビに負ける」と。あー、そういう見方もできるでしょうね。

この著者の定義では、「バカと暇人」の補集合は『頭のいい人』だが、「『頭のいい人』はネットに書き込むなんて無駄なことはせず、ささっと情報を手に入れる場にしている」らしい。あー、そういう『頭のいい人』もいるでしょうね。

で、この著者はネットに対してとっても悲観的になって、
──ネット敗北宣言
という一行で著書をゆるくしめくくっている。あー、そういう風にも考えることができるでしょうね。

ネガティブ思考に陥っているこの著者をとても哀れに思ってしまった。アメーバニュース編集責任者、とっとと辞めて、ネットと関係ないとこに転職すれば?

2.
Wikipedia の 第一種圧力容器取扱作業主任者 の項目に、こんな記述を発見 (2009-06-22現在)。ちょっと長いが引用する:
労働安全衛生法の資格については、一般的には免許が上級の資格とされ、免許所持者に比べて技能講習修了者の権限が狭いことが多いが、第一種圧力容器に関しては次のような関係にある。
  • 最も範囲が広いのは免許でなく化圧技能講習の修了者であり、全ての第一種圧力容器に関する作業主任者になることができる。
  • 次に範囲が広いのは各級のボイラー技士免許所持者と普圧技能講習修了者であり、化学設備関係のものの作業主任者にはなれないが、それを除いた第一種圧力容器に関する作業主任者になることができる。ボイラー技士と普圧修了者とでは法令上の各種の権限は異なるが、第一種圧力容器取扱作業主任者に関する部分についての権限は全く同等とされている。
  • 特一圧免許は、「特定」と冠されるだけあって特殊な扱いとなっている。
あー、そういう断面でみればそうでしょうねー。としか言いようがない。

労働安全衛生法でいう「第一種圧力容器」「化学設備」は、他の法規でいう容器や設備と包含関係にない。つまり、どちらがどちらを含むということはないのだ。むしろ、労働安全法でいう2つの概念は、ボイラー+溶接 で必要になるものに限っている、と言える。


だから、上の引用文中の、"免許所持者に比べて技能講習修了者の権限が狭いことが多いが、第一種圧力容器に関しては(逆である)" は、そういう断面で見ればそうなってるに過ぎない。

たとえ話をすれば、「125cc以下の自動二輪車の世界では、小型限定の普通自動二輪車第一種免許がもっとも広い範囲を持ち、大型自動車第二種免許はその一部である原動機付自転車しか運転できない下位の資格である」という正しいが珍妙な解説と Wikipedia の上の説明は同じレベルだ。

---

以上。歪んだ目で見れば世界は歪んで見えるし、歪んだ目以外の目は存在しない。えっ、おまえの目はとくに歪んでるって?よくわかりましたねー。(笑)

注意: 2 に関して、「うだうだ言ってないで Wikipedia の当該項目をおまえが書き直せこのカス。バカ」という貴重なご意見は、スルーだよ。なにしろ、1 の本に書いてあるようなことが起こるかもしれないからねぇ。書き直すも書き直さないも私の自由。

2009-06-12

Wayback Machine

本当に久しぶりに Apple Developer Connection (ADC) のサイトにログインしたら、自分のプロフィールが文字化けで ???? だらけになっていた(いったい何年ぶりに見に行ったんだよ、というつっこみは無し。笑)。住所とかはその場で直せたのだが、名前の文字化けだけは、中の人に言わないと直せない。で、英語でそういうお願いメールを書いたら、あっという間に日本語で返事がきた:「直しました」と。対応がすばやすぎるぞぉ!

というわけで、Mac に、もうすぐ新しい OS が出るというのに、今回はちと古い話。

Mac OS 10.5 (Leopard) に新しく付け加わった機能で、今まで使って来て、けっきょく一番便利だったなあ、と思うのは「タイムマシーン」だ。まあ、実際にこれのお世話になったのは、ほんの数回しかないし、タイムマシーンがもしなかったら致命的だった、ということはなかった。しかし、あったおかげで時間が有効に使えた。消えてしまったものをもう一回入力する手間が省けたのだ。

それに、もし間違えてもそれを吸収してくれるので、削除が多い日も安心。これが「タイムマシーン」のありがたみだと思う。

---

以下は有名な話なので、わざわざこんな blog に書くようなネタでもないが。。。

Wayback Machine というのがある。これは、世界中のウェブページを約2ヶ月おきに訪れ、ひたすら集めている機関 (Internet Archive) があって、そこが、過去のウェブページを表示するサービスを提供しているというものだ。

Wayback Machine は Leopard の「タイムマシーン」をウェブでやっていると思えば良いだろう。

これがかなり面白い。

自分の過去を振り返る気にはならない(たぶん、あちこちにあるはずだ)が、他人の過去なら話は別だ。(笑)

暇な時に、おお、この会社は昔はこんなだったんだー、とか、時間・空間的にネットを彷徨うのがけっこう楽しい。

---
[上の画像は 2001-04-20 の www.google.co.jp。今とほとんど変わらないけど、よーく見ると時代を感じる。]

2009-05-25

恐怖の Unicode 降臨?

かなり古いオピニオン(2009-02-27)だが CNET Japan "絵文字が開いてしまった『パンドラの箱』" を今日見つけて、読んでしまって、笑った。

上のリンク先の記事は、勝手に要約すると、
携帯キャリア各社が絵文字の変換表をキャリア毎に用意してしまった現状を憂い、 Google が主導で行っている「絵文字の Unicode 化」がそれのブレークスルーになる

と論じている。

これを読んでの私の感想を一言でいえば、

杞憂

天は落っこってこないってば。

内容と関係のない細かいところにまずつっこむと、 Πανδώραさん{が | の} πίθος を開けたら ἐλπίς だけが出て行かなかったって話と、このオピニオンでの「パンドラの箱」という比喩と何か関係あるの?用法、完全に間違ってない?



IT 関連のオピニオンを書こうとする記者なら、ギリシア神話はともかくとして、ほんの少しの「集合・写像」と「グラフ理論」の知識が欲しいと思う。記者だけでなく、リンク先のオピニオンの本文中に出てくる大学の教授も… えーとなんと言えばいいのか、兎に角、「かんべんしてくださいよ〜」。

と、こんな辺鄙な blog で私がつぶやいても聞こえないか。

以下、簡単に。分からない単語が出て来た人の為に、その語を説明したりはしない:「勉強してね」の一言。めちゃめちゃ基本的なので、どんな参考書で勉強しても同じだから。

---

各キャリアの絵文字を「節点」、絵文字の変換表での対応を「枝」と考えるとグラフができる。キーポイントは2つ。

1. このグラフは無向。
2. 任意の1つの連結成分は完全部分グラフであり、1つのキャリアの節点は高々1つ。

1, 2 が成り立つ理由は明らかだが、念のために:まず、変換表は可逆なので 1。次に、変換表たちは矛盾しないように作られているので 2。2 で「高々1つ」と言っている理由は、ある1つのキャリアのある1つの絵文字に対応するものが、別のキャリアには「無い」場合があるから。

だから、既存の変換表たちから Unicode を制定すると言っても全く大層なことではない:

Unicode のコードポイントと連結成分の間に全単射を1つ作れば良い

たったそれだけのこと。その際、なにか情報が付け加わるとか、大変革が起こるとか、そんなことないのさ。

新規参入のキャリアが変換表を用意する手間が云々とも上記のオピニオンは言っているが、用意する手間のオーダーの見積もり、間違ってるよ。バカバカしいから説明しないが、既存部分は整合的なのだから、共通コード表に対して用意する手間ともちろん同じオーダーで済む。記者さん、教授に何を吹き込まれたか知らないけど、いつも自分の頭で考えるようにしてね。

---

いいなあ、あっちはエキスパートとしての原稿料貰えてるんだよね。しかも超長文。ページ単価いくらなんだろう。こっちは書いてもな〜んにも貰えないし、文もあたりまえのことしか書いてないので必然的に短い。

私は原稿料ないどころか、むしろ、あちこちで恨みをかってたりして。大学の教授高枝ばさみで刺されるとかね。(笑)

2009-05-14

知らない方がいいこと


Google のサービスをいろいろ使っている。この blog (Blogger) もそうだし、Gmail, Google Sites などなど。

それらのサービスの中に Google Profile というのがある。本来の目的は、 SNS のように、名前、出身学校、職場、経歴などで人肉を検索(←中国語風の表現)できるようになのだが、そんなの絶対いやだ。

まあ、 blog で、ちまちま日常のしょうもないことを書きつらねていると、その手の個人情報は記事たちのあちこちに滲み出してしまう。特に、実名を隠して匿名で blog を書こうと思っても、悪意ある多数の人間にかかればあっという間にばれ、無理。だから、この blog は最初から実名は晒して書いている。一般に、「名前」というものは名付けられたものの意志とは無関係(☆)だからそれでいいのだ。(念のため:ハンドル名は名付けた人と名付けられた人が同一なので、☆の例外ではない。)

でも、その他の各種個人情報は、一気に晒すのと、読んでるうちになんとなく分かるのでは、わけが違う。

たとえば、その「人」と「なり」をある程度理解した後で職業や学歴を知るのと、職業や学歴を先に知って先入観をもってその人を見るのは、ぜんぜん別の結果になる。貴方は旅先で出会った人に、いちいち、いきなり履歴書を渡しますか?貴方は偶然 blog を閲覧しに来た人に、いちいち、詳細な profile を見れるようにしますか?

---

おっと、今日の書こうと思っていたネタから話題がずれてきてしまった。閑話休題。

Google Profile の、その人が公開すると決めた情報には「特技/特殊能力」「趣味」などの欄に並んで、

Google を使っても見つけられないもの

という欄がある。

ネットは便利だが、「何でもネットで検索できてしまう」というのは間違いだ。仮にある方法で検索し得るものだとしても、どんなキーワードを使うかという知識や幸運が必要だ。だから「Google を使っても見つけられないもの」も、人にもよるが、もちろん、いろいろある。というわけで、自分の profile のこの欄に何を書いて公開するかは、けっこう奥が深い。

とりあえず、昨日の記事を書いたときに気がついたので、私の Google Profile のこの欄は上の画像のように、ついさっき変更しておいた。

検索に引っかかり、上位にランクされる。そんなことはこの blog を書く目的ではないので、昨日の記事はそれで構わないのだ。(笑)

2009-04-08

ひさびさにいいこと

[2009-04-07T21:46:00+09:00に携帯圏外にて]

思いついた。

---

今、東京・竹芝から父島へ向かう、おがさわら丸の船内だ。

到着まで25時間半かかるので、ずっと眠り続けるわけにもいかず、考え事してた。

「自分のブログの中だけでも、自動的に記事間のクロスリファレンスをしたい」

と何日か前に書いた件だが、できうる最善策をみつけた。

よく見かける、記事のラベル(分類)に頼って関連記事を表示する方法は最初から採用の余地すらなかった。そもそもラベル付け自体、投稿時に手動で行うこと。私は怠け者なので、超いいかげんになってる。だからラベルに頼って「関連」を表示するのは私のブログの場合はほとんど無意味なのだ。

早く、プログラム書きたい。

---

でも、連休明けまで小笠原でダイビング三昧。(笑)

だから、実際にプログラム書くのは帰ってから。

実際に動かしてみないとスピードがわからないが、機能をどこまで盛り込むかで調節できる。

---

帰ってからの楽しみができた。まだ目的地に行ってもないのにね。

(写真は、おがさわら丸Cデッキのず〜っと変わらない風景)


2009-04-05

痛い解説

私も、外国語の綴りはしょっちゅう間違う。この blog でもずーっと間違ってた英単語があって、最近こっそり直した。恥ずかしい。

でも、この間違いには爆笑してしまった:
ぺいん 【ペイン】 pain
1つのウィンドウをいくつかの表示領域に分けたとき、そのひとつひとつの領域をペインと呼ぶ。

[ASCII.jpデジタル用語辞典(最終更新 2008年4月16日 (水) 20:35) より]

pane でしょ! カタカナ表記も切手ならペーン

そうだ、 Web ページをこれから作る人は frame 使って表示領域を分けちゃだめ。 CSS 使おう。(笑)

2009-04-01

地味にバグ取り

今日は (今日も?) Blogger テンプレートを地味に直した。以下の話はブラウザの環境によってはエイプリルフールのネタにしか見えないが、だからといって嘘ではない。

Archive (このブログで「書庫」と書いてあるところ) の ► と ▼ がなんだか気に入らない。ブラウザによっては、表示が変になるのだ。

原因は明らかで、2つの記号の「素性が違う」から:

Unicode 0x25BA BLACK RIGHT-POINTING POINTER
Unicode 0x25BC BLACK DOWN-POINTING TRIANGLE

だ。POINTERTRIANGLE は素性が全然違うので、向きだけが違うわけではなく、見え方自体が全然ちがってもおかしくない。

残念ながら BLACK DOWN-POINTING POINTER という字はないので、 ► は

Unicode 0x25B6 BLACK RIGHT-POINTING TRIANGLE

でなければならない。

えっ? ► POINTER も ▶ TRIANGLE も同じだよ、

という方、世の中にはこの2つが違うように見える (前者が後者より痩せて見える) 環境があるのですよ。あるいは、この2つが全然違うように見えている方、全く同じに見える環境があるのですよ。

テンプレートから手の届かない場所にハードコーディングされているので、このバグは Blogger の管理者でないと簡単には除去できません。ちなみに、 Google でちょっと検索をかけたら、同じ悩みの外人さんが1人居ました。

---

とりあえず、メジャーどころのブラウザでは変にならないように、 font-family を指定するという姑息な技を使っておいたが、 IE6 以下と Win 版の Opera には効果なし…。ま、些細なことなので、気にしない。

以上のストーリーは、なんだか「波ダッシュ物語」とそっくり: 昔むかし M という大きな会社は Shift-JIS の 〜 WAVE DASH を Unicode の ~ FULLWIDTH TILDE に写像するという非可逆な(!)実装をしていましたとさ。(これは面白い昔話なので、知らない人は Google 先生に訊いてみよう。笑)

---

というわけで、素性の違うものは見え方が違って当然。手の届かないところのバグは触らず放っておく、それがベスト。

2009-03-21

Shell 要らないもんね

レンタルサーバを借りている、という話は、最近、か記事にした。今回はレンタルサーバの話題。

---

「自作の CGI が設置できること」

このたった1つの条件の下、なるべく安いレンタルサーバのプランを探した。そして、見つけた格安サーバと契約した。その時点では、
プログラミング言語は Perl とか PHP とかのスクリプト系しか使えない、だって、 shell (ssh) が使えないから、 ftp しか手がないもんな

と思っていた。

でも、気がついてしまった:なーんだ、ちょっと頭を使えば(使わなくても?私が馬鹿だっただけ?)なんでもできるじゃん。理論的には、値段がかなり高い「shell 利用可能プラン」と完全に同じことができる。違いは、 shell 無しはとんでもなく不便、という点のみ。そういうのは私はむしろ面白いと思うほうなので、我慢して、楽しんじゃう。よかったよかった、 安いプランにしておいて。(笑)

---

手始めに、mathTeX



をレンタルサーバ上にインストールした。 mathTeX は、 数式を画像として表示させる CGI だ。サーバ上の本物の LaTeX と、画像ツール dvipng を動的に実行してくれる。

mathTeX は C で書かれているので、レンタルサーバ上でコンパイルする必要がある。念のため: 自宅とレンタルサーバは環境が違うから、自宅でコンパイルしたバイナリをサーバに持って行ってもダメ、動くわけないからね。

mathTeX のインストールが終わったのを一人で祝して、テストしてみる。 TeX などの数式清書系 (?) では一番最初に書くべきお約束の数式だ (いわば、Hello World! に相当する、かな?)。

わーい!

ちなみに、上の数式は HTML で
<img src="http://myservername/mypath/mathtex.cgi?$$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$">
と書かれている。緑色部分は LaTeX そのもの。(ちなみに、どうせばれるのに隠した部分は qwnp 避け。)

これで、きれいな数式を blog で手軽に使える。実は、他人のサーバにある mathtex.cgi を勝手に使って負荷かけちゃ悪いと、長いあいだ遠慮してたんですよ。ちなみに私のサーバは、えーとえーと…負荷対策で制限かけてます。ですから、他のサイトからは私が今回設置した mathTeX は使えません。ごめんなさい。(この制限をクラックして破るのはほんの一瞬でできますが、ご遠慮ください。自分でサーバ立てましょう。笑)

数式も blog にいっぱい書いちゃうぞ。
CGI だって C で書いちゃうぞ。

2009-03-02

Lorem ipsum の "日本語訳"

2009年2月27日のエントリで自分に "Lorem ipsum dolor sit amet" の呪文を唱えてしまったようで、関連事項を調査せずには居られなくなってしまった。この呪文に関しては Wikipedia にかなりの情報があるので、今回はそれを補う形で調査結果を記すことにする。

--- (ここからしばらくは Wikipedia にもある情報だよ。)

下で、先に示すのが、greeking にしばしば使われるダミーテキスト、つまり、レイアウトを示すための埋め草として使われる無意味なテキストだ。後に示すのがそのネタになったラテン語の原典(2つの段落)だ。

Greeking 用ダミーテキスト:

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

[凡例: 太字は2つのテキストに共通でない部分、下線は2単語が1単語に合成された部分を表す]

Marcus Tullius Cicero, De Finibus Bonorum et Malorum, Liber Primus (45 a.C.n.):
[32] Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt, explicabo. nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque porro quisquam est, qui dolorem ipsum, quia dolor sit, amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt, ut labore et dolore magnam aliquam quaerat voluptatem. ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, qui dolorem eum fugiat, quo voluptas nulla pariatur?
[33] At vero eos et accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia deserunt mollitia animi, id est laborum et dolorum fuga. et harum quidem rerum facilis est et expedita distinctio. nam libero tempore, cum soluta nobis est eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet, ut et voluptates repudiandae sint et molestiae non recusandae. itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.

[凡例: 下線部は2つのテキストに共通な部分。ただし、大文字小文字 ? . は同一とみなした]

--- (ここまでは Wikipedia にもある情報だった。)

Cicero の著作には日本語訳が出ている。上のラテン語原典に対応する部分の日本語訳を次に引用しておく。

キケロー 著, 永田 康昭, 岩崎 務, 兼利 琢也 訳「キケロー選集 10 哲学 III」岩波書店 (2000/3), 善と悪の究極について (第1巻) :
[32] しかし、そういった快楽を非難し苦痛を賞賛する人々の誤りがすべてどこから生じてきたのか、その原因をご理解いただくために、学説の全体像を明らかにし、あの真実の発見者でいわば幸福な生活の建築家でもあられる方によって語られた数々の教えをそのままお示ししたいと思います。
 快楽そのものを、それが快楽であるという理由で、嫌厭したり憎悪したり忌避したりする人は一人もいません。もしいるとすれば、それは、理性的に快楽を追求する術を知らない人々を、あとから多大の苦痛が襲うからにすぎません。同様に、苦痛そのものを、それが苦痛であるという理由で、愛し、探し求め、手に入れようとする人も一人もいず、もしいるとすれば、それは、時によって、苦労や苦痛を通じて何らかの大きな快楽を求めるような機会が訪れるからにすぎません。もっとも卑近な例を挙げるとしますと、苦しくてつらい身体の訓練を、それによって何らかの益を得るため以外の理由で、耐え忍ぶ人間が私たちの中に一人でもいるでしょうか。また逆に、何一つあとで困るような結果をともなわない快楽を享受しようとする人を、またいかなる快楽も生まない苦痛を避けようとする人を、誰が正当な理由をもって批判することができるでしょうか。
[33] しかし、その一方で私たちは、目の前の快楽に誘惑されて堕落して惰弱になり、将来自分がどのような苦痛を、またどのような厄介を背負い込むことになるか、欲望に目がくらんで予見できなくなっている人々のことを非難し、また人から憎悪されて当然のように思います。また、精神が軟弱なために、つまり苦労と苦痛から逃げたい一心で、義務を放棄する人々も、同様の責めをこうむります。そのような善き事態と悪しき事態との区別は容易に、そしてただちにつけることができます。私たちは、自由なときには、つまり私たちがいかなる拘束も受けずにものごとを選択できる状態にあるときとか、妨げるものが何もなくて自分のいちばんしたいことをすることができるときとかには、すべての快楽を迎え入れるべきですし、またすべての苦痛を退けるべきです。しかし、それ以外のある種のときには、義務を果たすためとか諸般の必要に迫られるとかして、快楽を遠ざけ進んで厄介事を引き受けなければならないことがしばしば出てきます。ですから、そのような場合、賢者は、快楽を拒否することによってより大きい別の快楽を確保する、あるいは苦痛を耐え忍ぶことによってより大きい苦痛を防除するという原理に常に従いながら行動を選択しているわけです。


---

さて、実は、今回の調査の真の目的は、上の日本語訳を原典として、「日本語 greeking」(変な表現w)に使える下記ダミーテキストを作ることだった。でたらめに作ったのではなく、 ラテン語→greeking の "対応" と ラテン語←→日本語 の "同型" を利用して作ったよ。

日本語 greeking 用ダミーテキスト:
古痛そのものを苦痛であるとで愛し、探し求め手のれよう、もしどば苦労や苦痛を通じて何らか大きうな機会ぢ訪れ。もっも卑近な例を挙げるとしますと、苦く身体訓をそれによって何だかの皿を得ため以外の理由で耐え人間が私たど中に一人でもいるでしょうか。きた逆快楽を享受しようとする人結たいかなる生まない苦痛ち避けようとす誰が批判することがる苦痛だできるでしょうか。背負うい込とになるか欲亡な目がくるん予目できなくなっいます、精神が軟弱なためにつまり苦労で義力を放木する。


どうでしょう?私に無断で何かに使ってやってください。もちろん改変も自由です。(笑)

---
付記: 原典の "nam libero tempore, cum soluta nobis est eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. " の部分が素敵すぎる。わざわざ図書館に調べに行った甲斐があった。

2009-02-27

水中編籠インストラクター

私が公開している PDF たちを Google に引越しさせようと思っている。この blog からリンクを貼ってない場所に PDF がいくつかあるのだ。

そう、今はやりの SaaS とかいう考え方だ:アプリケーションは手元にインストールして使うのではなく、サーバにあるのを Web から使う。その方が将来性がある。実は、 PDF のためのページを作る際に試用したアプリケーションが言葉では表現できないほどの酷さで、使い込めば使い込むほど嫌になり最終的にはコンテンツを更新する気が失せた、それを教訓にしたのだ。コンテンツ自体はそろそろ更新する必要があるのに。


そういうわけで、Google の中をいろいろ見ていた。偶然、API の使用例の表に面白いのを発見(下の画像はその一部)。



Phrenology はギリシャ語の横隔膜に由来する単語で、単純に翻訳するなら『骨相学』でいいだろう。でも、ナチスを思い出したりするからありえない名前の major だ。

Underwater Basket Weaving は水中で籠を編むという意味ではない。 Wikipedia 英語版によると

Underwater basket weaving
Underwater basket-weaving is a process of making wicker baskets which involves dipping reeds or stalks of plants into (or, as the name suggests, under) water and allowing them to soak. This process will provide a very supple and flexible reed which can then be woven into a basket. The baskets then will be allowed to dry and provide a sturdy container.
Other uses
Underwater basket-weaving is also an idiomatic example of a "really easy" college or university major or class at any level. The term also serves as a humorously generic answer to questions about a college degree. Example: "What kind of degree do I need to get this job?" "You can have a degree in underwater left-handed basket weaving as long as you have your piece of paper."
This generic term for an undecided major first arose during the Vietnam War era to describe the sorts of majors that many young men, who would otherwise not have entered college, undertook to escape the draft. See also: Mickey Mouse degrees.

とある。例えば、あけびの籠を編む前に蔓を水に漬けてやわらかくするが、そのことだ。転じて、大学で、とっても容易にとれる学位とか単位のことも言うらしい。 Mickey Mouse degrees という言葉もあるが意味は少し違う。

Google の開発者の blog にも面白い画像があるけど、この表は最高。やっぱ、エンジニアにはユーモアがないとね。いつもいつも "Lorem ipsum dolor sit amet" じゃあダメ。

---

"Underwater Basket Weaving Instructor" ってどう?(笑)


2009-02-24

一書曰 天地初判 有物

知人が最近、小笠原へ行ったというので、今日は彼の blog を斜め読みしていた。あるリンクをクリックしたら、約2年前の小笠原の写真が出て来た。おかげで余計なことを思い出した:

約2年前のその写真に写っているおじいちゃんは、私のことが大いに気に入らないらしく、こんな2つの質問をしてきたのだ。
「今年、おまえは小笠原、何回目だ?」
いつからネットやってる?

おじいちゃんは両方で圧勝だと思ったらしい。そんなので勝負してもしょうがないのにね。人を落とすことで自分を高める、って凡人の考えだよ。彼は mixi の小笠原コミュの偉い人だそうで、その価値をないがしろにする(?)私が絶対許せなかったようだ。だって威張ってるんだもん。(汗)

今日は、別件で調べ事をしたら、おじいちゃんの2番目の質問の正確な回答も得られたので、自分の覚えとしてここに記す。

---

私が最初に触ったコンピュータは FM-8 だ。新発売と同時だったので、年月ははっきりしている:1981年5月だ。

おそらくその年のうちに、やはり新発売の OS-9 level 1 を FM-8 にインストールし、その美しさに狂った。 OS-9 level 2 を使いたいがために、翌年、 FM-11 が発売されたらすぐ購入した。OS-9 は 6809 の機械語で書かれていたが、カーネルやらをディスアセンブルして全部、読んでしまった(ディスアセンブラも自作だ)。 6809 を CPU に使ったボードを自分で設計・ハンダ付けして ROM も焼き(ROM焼き機も自作だ)、OS-9 が動くかを試したりした。メモリーディスクのドライバ(これは "I/O" という雑誌とその増刊号に載った)を書いたりもした。[注: このあたり、もう時効ですから。大目に見てやってくださいまし。笑]

[1982年に世界では TCP/IP が開発された (Internet の始まり)]

1985年4月。大学の研究室で Unix (住友電工 U-Station) に触れ、やはり狂った。 Internet 上のメール(SMTP)やファイル転送(FTP)やネットニューズ (1986年に NNTP が開発された) を使い始めた。当初は日本国内だけしか接続できなかったが、やがて海外とも接続できるようになった。

同じ1985年には、自宅でも変化があった。電気通信事業法が改正され、電話線端をモジュラージャックにすれば、資格不要で認定端末機器を設置できるようになったのだ。すぐにモジュラージャックにする工事をしてもらい、モデムを購入した。そして OS-9 関連の草の根 BBS (個人が自宅で運営するパソコン通信)のメンバーになった。

1987年4月。Nifty Serve が始まった。すぐ会員になった。上記 BBS は役割を終え、 Nifty へ舞台は移った。

[1991年、世界最初の Web サーバ(スタンフォード大)。 "ホームページ" の始まり]

1991年ごろに Nifty から退会。1992年には既に自分のホームページを持っていた。

以下省略。現在に至る。

---

悪いがこれに "勝てる" おじいちゃんはほとんど居ない。PDP-7 (or -11) などを触ってたとかいう "真のプロフェッショナル" のおじいちゃんになら居るがきわめて稀。というわけで「いつからネットやってる?」という悪意ある質問に手短には答えられなかった。だって、この質問を発すること自体がおじいちゃんの "負け" を意味しているし、ちゃんと回答したって全く理解できないだろう。

"Longer than you." --- by Jacques Mayol

念のため、 PC-9801 の発売は FM-8 より後で1982年10月だ。私は1984年は約1年間 PDP-11 も触っていた。また、実習がパンチカードで行われた最後の年の学生でもある。

ちなみに私は mixi とかを全く好まない。その理由は、たぶん…そういうの飽きちゃった。(笑)

---
2009/2/26 23:29 追記:もう一つ飽きちゃったことがあった。それは、Wikipedia を編集すること。前は本当によくやってたんだけど…なんか編集する人たちとの関係がね。『Wikipedia疲れ』って言葉は誰もまだ使って無いの?


2009-02-23

要注意外来生物

2009年1月13日に公開された微小ソフトのβ版。机上の画像を金魚だと言っている評論家がネット上に居た。

違うよ。どう見ても、これは Poecilia reticulata の♂だ。

原産地は FishBase によると、カリブ海のバルバドス島/トリニダード島、南米のベネズエラ〜ガイアナ〜ギアナ〜ブラジル北部。淡水〜汽水の魚だ。国内では、温泉街の温排水や、沖縄、小笠原に帰化している。いまのところ、法律による駆除対象にはぎりぎりセーフ。

もちろん、うちで飼う予定はない。 { Snow | } Leopard の餌食にするにも小さすぎ。