2011年1月31日
Googleの電話認証
何度か入力したら「その番号の回数の限界を越えている」とやらで拒否された.
試しに固定電話の番号でやってみたらコードが音声で送られてきて認証できた.
あまり気分の良いものではない.
2011年1月30日
2009年8月22日
ErlangとDNS
(初出:2009年8月22日 はてなダイヤリーより)
DNSはインターネットの各種基本プロトコルの中で最も扱いにくいもののひとつ.本当に高速な処理(=100kqueries/sec or faster)が要求される局面では,たぶんErlangのように一度VMが間に入る言語システムでは間に合わない.しかし,Erlangは並行処理が 書き易いという利点は,DNSの各種サブシステムでは役立つと思う.ちょっとしたキャッシュサーバ,コンテンツサーバなどには向いているだろうし.もしErlangで何かDNS関連のアプリケーションを作るなら,yawsやMochiwebみたいなものを目指すべきだろうと思う.
DNSの研究開発というのは実は非常に難しくて,
- ステークホルダーが多く,彼等の大多数は変化を望まない(特にISP)
- ドメイン名自身が商標ビジネスの一部になっているため,技術論だけでは動かない
- 明文化されていない約束事が多く,それらを知らないと簡単に開発できない
- 何かやろうとすると影響範囲が大きく,通信量やセキュリティ脆弱性(フィッシングなどを含む)などの問題にすぐにぶつかってしまう
- 過去のアプリケーション実装を無視した実験は実運用では事実上できない
そして,日本でDNSの研究開発を本気でやるなら,
- JPRSでそういう仕事をする
- WIDEのm.root-servers.netの仕事をする
- ISPやレジストラで運用にかかわる
個人であれば,神明達哉さんのように渡米してISCでBINDの開発にかかわる,という直球勝負をする方法もある.しかしこれはこれで生活を賭けなければいけないことで,そう簡単に誰でもできるわけではない.
ただ,DNSは研究開発だけじゃなくて運用や解釈も難しいので,DNS自身に関する知識や技はインターネットで何かやろうとする限
りはついてまわるし,覚えておいて損はないと思う.Erlang R13B01なら,まず lib/kernel/src/inet_dns.erl を読むことから始
めるべきだろう.
そして,DNS自身は,実装は今とは大きく変わる可能性があるけど,世界からドメイン名が消えてなくなる時が来るまでは残るシステムだろうと思う.
以上,つらつらとTwitterに書いたことをこちらにも.
2009年1月27日
他国から攻め入られて滅びるような言語は,その程度でしかない
数ヶ月前に「日本語が亡びるとき」という本(以下「この本」とする)が話題になっていた.私は立ち読みはしたが,買って読んでいない.だから細かい書評は書かない.ただこのタイトルだけはどうしても気になる.
結論から言えば,日本語はそう簡単には亡びはしない.その意味でこの本のタイトルは間違っている.日本語の話者はどんなに少なく見積っても1億人以上はいる.そもそも日本の人口はもっと多いはずだし,高齢化で減ったとしても数千万は維持されるだろう.世界には話者が数万,あるいは数千人以下しかいないため危機に瀕している言語が無数にある.それらに比べたら,日本語はその話者の大半が日本の領土内に限定されているとはいえ,確固たる社会基盤の上に成立している堂々たる言語である.文法や正書法の透明性の面では英語やフランス語などのより広範に普及している言語に劣るとはいえ,日本語を母語としない人達の間にも日本語教育が広がっている現状を考えれば,亡ぶなどということは考えるべきではないだろう.言い換えれば,仮に他国から攻め入られて滅びるような言語は,その程度でしかない.
本来,この本の話は,完全に無視すべきなのだろうと思う.私自身は,「文学」という表現が好きではない.そもそも文章表現は主観的な感情に基づくものであり,「文芸」なら理解できるが,文学が工学や医学と同様の立場で,学問であるとは思えない.そして,言語が「美しい」必要もないと思っている.言語はそもそもコミュニケーションの道具であり,通じない言語に,いくら美しさを求めても無駄であろうと思う.美しさは主観的なものであり,他人に押しつけられるものではない.今世界が求めるのは「美しい日本語」よりも,母語でない人達も理解できるように体系づけられた「通じる日本語」であるべきだろう.その意味で,この本の主張は理解しがたい.
ただし,tatemura氏によるこの書評が信頼できる解釈を語っているとするならば,私は同じ状況にあって全然別の考え方に至っているということだけは書いておくべきだろう.以下は個人的雑感である.
多くの子供達にとって,親に連れられて他の国や地域に行くことは決して珍しくない.「転校生いじめ」は日本に限らず物語の格好の題材である.私も9才の時に渡米し,10才の時に日本に戻ってきた帰国者である.転校生いじめとは無縁ではない.帰国者の子供達に対し,ちょうど私が帰国したころ,帰国子女,という言い方が流行り始めたが,私にはこの言葉は差別の道具にしか見えない.だから引用以外では使わない.
ただ,日本に戻ってきた時に直感したのは,小学校における中間集団全体主義と強制同期社会主義の蔓延であった.日本の学校は,楽しくなかったのである.その後中学や高校は多少自由な学校に入ったものの,そこでも普通の英語を話せばフルボッコにされるという,およそ理不尽な状況に直面した.今ならインターネットで英語圈の情報は音声も文字もすぐに手に入るが,1970年代後半から1980年代前半にはそんな自由はなく,英語の本を入手することさえ難しかった.
その時幸運だったのは,東京にいたおかげで,アメリカ軍の放送(810kHzのFEN,現在はAFN)だけは毎日ふんだんに聞けたことである.あれがなかったら,今の自分はなかったかもしれない.そしてラジオではアメリカン/ブリティッシュ・ポップスがたくさん放送されていた.今のラジオがJ-POPだらけなのとは大違いである.別にJ-POPが悪いとは言わないが,音楽マーケティングが明らかに偏って内向きになっているのは否定できない.ともあれ,当時は,放送に使われている表現,そして歌の発音,歌詞,すべて徹底的に繰り返し,自分の身に付けるべく努力した.周囲に英語の雑談をする人はいなかったし,1985年に国際パソコン通信を始めるまでこの封鎖状況は続いたが,その時に徹底した訓練を行ったことは今の自分の仕事,そして趣味と人生の上で大きな力になったと思う.
そしてもうひとつ幸運だったとすれば,自分が興味を持った電子工作の世界では,米国の部品が主流だったことである.TIやモトローラ,NSのデータシートは翻訳されず再出版されていたので,格好の英語の勉強道具となった.一部のデータシートは請求すれば無料でもらえた.おかげで absolute maximum rating (絶対最大定格) など,およそ小学生は知らなくて良さそうな表現を多数覚えることができた.その後パソコンの世界では,まさにデータシートもマニュアルも全部英語で書かれていたので,原典にあたる習慣がついた.以後の話は長くなるので省略する.
要するに,自分のもともとの環境に対して異なる環境にさらされた時に,その経験を生かせるような道に進むか,それとも閉じ込もって否定された「それまでの自分」に執着しつづけるか,という違いが,この本の著者と私との間の認識の相違であろうと思う.
もちろん,これだけの文化的な相違を理解する過程では,私の人格はボロボロにされた.だから私は日本人の多くを「日本人なんだから自分の隣人である」とは理解できずにいる.彼等の他人に対する批判を言わない,自分の意思を表現せずあいまいにする行為の大半は,私には単なる嘘にしか見えない.その意味では,帰国者の苦しみをわかるのは,海外で生き抜こうと母語を使わずに闘った在外体験のある人達,親の出身国あるいは地域が自分のそれと異なるため複数の言語で生活をしなければならない人達,そして母語を捨てても社会的地位の向上のために適応しようとする移民の人達,ぐらいしかいないだろうと思う.
しかし,個人的な感情を抜きにしても,言語的鎖国が日本にとって,また他の国々にとって,良いものは一切もたらさないのが現在のインターネット社会での大原則である.あらゆる鎖国的行為は,インターネットによる開国が前提である社会では,いくらタテマエでは規則であっても,ホンネの世界では骨抜きにされるからだ.(2011年1月注: チュニジアやエジプトで起こった政変は,期せずしてタテマエの規則がホンネの力によって崩壊するという現実を見せつけた.)ましてや悪しき鎖国主義が台頭しようとしている現在の日本で,「日本語が亡びるとき」などというタイトルをつけて本を出すことは,ポピュリズムにおもねて売り上げを伸ばそうという行為以外の何物でもないだろう.
前述のtatemura氏による書評は読むに値するだろうし,彼の言う「小説」としてこの本を解釈するならば,それは妥当かもしれないと思う.しかし,仮にそうであったとしても,この本の著者には私は共感することはないだろう.
日本語が滅びるような事態を招かないために必要なのは,決して「日本近代文学」なるものではなく,日本語がより普遍性のある言語としてその文法と正書法を確立すると同時に,その話者の大半を占める日本社会に住む人達が日本語を意味あるものとして証明し続けることであろうと思う.それは現在の「国語教育」の延長線上には決して存在することはない.日本社会の構成員が日本語を「国語」でなく,「日本語」として客観的に見られるような状況,そしてそのような人達をより積極的に迎え入れる開国を徹底して続けること以外に,ないのである.
その開国の結果,日本語が失くなってしまったとしたら,日本語はその程度の言語だったということであろう.そんなことは起こらないだろうと,私は信じている.仮に起こってしまったとしたら,それはそれで受け入れるべきであろうとも思う.その責任は,私を含めて日本語話者全員にある.
(初出: はてなダイヤリーより,一部編集済み)
2008年8月5日
家族を持つことのリアルに充実した責任
7月の終わりに妻が家で転倒して,左足第五中足骨の骨折で病院に入っている.(注: 結局妻は2008年8月中旬に退院できた.)病院での生活はいろいろ物入りだから,ない時間を やりくりしながら支援している.お医者さん,看護師さん,その他いろいろな人たちの世話になりながら,こちらのお願いも最大限 聞いてもらわないといけない.家族としては自分だけでなく他人の責任も負わないといけないわけで,楽ではないよね.まあ,私も 入院経験があるし,不本意ではあるけどだいぶ場数も踏んだので,なんとかこなせているけど.今回はいつまで続くかな.退院して もまだまだリハビリがまっているし,少なくとも数ヶ月の持久戦だから,人生と生活を見直してダイエットするいい機会にしたい.
巷では「リア充」,というよく分からない言葉が流行っているみたいだ.個人的には,「リア充でない」人というのは,要は「孤独 感が消えない」「孤独であるのがイヤ」なのかな,と思う.でも,リア充であるということは,そんなに楽なことじゃない.人間同 士のかかわりを持つということは,応分の責任も生じるということだから,その結果からは逃げられない.言い換えれば,束縛から 自由でありたいなら,孤独に耐えることも必要だと思う.相反する要求を同時に満たすことは定義上不可能なのだから,他人に嫉妬 するあまり非現実的な怨念に基づく行為に走るよりは,覚悟して孤独に耐えるか,それとも人付き合いの苦労を受け入れるか,どち らかを選んで試行錯誤していくべきだろうと私は思う.その試行錯誤の量と質の両方が,後の人生に効いてくるだろうから.
実際問題として,国民国家 (nation state) や貨幣経済がある限り,その束縛からは逃れられない.また,社会に対して何かしたい と思うのは人間の根源的欲求だから,それを満たすには,いやがおうでもリアルな生活を充実するようにならないといけないだろう .束縛のリスクとチャンスを進んで受け入れられるかどうかが,人間としての生活力を高めていくきっかけの1つだし,そうでなけ ればとても不幸な人生が待っているような気がする.
他人とかかわれないのは,20歳代ごろの大きな悩みの1つだと思う.私も1986年~1990年頃の自分にとっての最大の課題が,いかに 他人とうまくやっていくか,ということだった.今みたいに世界に向かって1人叫んだ気になる(あるいは寝言ポエムを書く)仕組 みがあるわけじゃなかったから,常に対面の付き合いがあった.それは良かったのかもしれない.リアルな充実感なんて,何もなか ったけどね.ひたすら焦っていて,寂しくて,何かをしていたという記憶しかない.焦っているのは,今も同じだけど.
(初出: はてなダイヤリーのハチロクグループより)
2008年7月8日
日本で英語嫌いが許されない理由
以下,知っている人には当然のことを繰り返しているだけに過ぎないのだけど,「英語嫌い」といっている若い人達のために,書いておくね.
英語嫌いの背後には,私には排外主義が見える.誰だって,自分がどのように行動するかを決める権利を,他人に奪われたくはない.この恐怖が社会的なものになると,それは排外主義に変化する.しかし,排外主義の先に,幸せな未来はない.これは世界の歴史が証明している.
基本的に日本社会には「攘夷」つまり「外人お断り」という抜きがたい圧力がある.明治時代以前はそれで済んできたわけだけど,この21世紀に未だにそんなことをやっているのは,個人的にはお笑い以外の何物でもない.日本社会は他の国や地域の人達に支えられて,どうにか現状を維持できているのであって,そのことを無視すれば,大変なことになる.
残念ながら,排外主義をやっていられるほどの国力の余裕は,日本社会にはない.そもそも日本にはモノの資源はないのだ.だから鎖国すれば,皆飢えて死ぬのである.鎖国の結果がどうなるかは,国連から経済制裁を食っている地域の惨状を見てみたらいい.満足に医療器具や医薬品も買えなければ,もちろん最新の技術に付いていくこともできなくなる.
そして日本は,戦後はひたすら通商と加工貿易で稼いできた.つまり,ヒトの力で,泥のように働いて信用を築き,その信用の上で日本にないモノを手に入れて,今の社会を築いてきたのである.黙っていて他人がモノを売ってくれるわけではない.相手を説得できなければ,モノの売り買いはできない.
そして信頼関係はモノだけでは築けない.言葉のやり取りが最低限必要なのだ.日本語なんて,世界の勢力からしたら,辺境の特殊言語でしかない.これを不公平と言ったところで,現実に国連の公用語は,英語,フランス語,スペイン語,ロシア語,アラビア語,そして中国語の6つしかない.なぜドイツ語や日本語がないのかは,国際連合成立の歴史を調べてみたらわかるだろう.
自分の言葉が辺境の特殊言語,つまり自分の国や地域以外で通じない言語であることを知っている人達は,いち早くより通用度の高い言語を学んで,自分の社会を出なければならない時の危機に備えている.たまたまその1つが英語に過ぎない.たとえばフィンランドの人達の多くは英語を話すし,シンガポールでは植民地の歴史を引きずっていてもあえてどの民族の言葉でもない英語を共通語にしたという歴史がある.彼等は日本同様,資源のない国々であり,自らの言葉にこだわっていたらいつ経済的に窮地に追い込まれるかをよく知っている.
言い換えれば,日本はたまたま今満足に食べることのできる社会であるがために,日本語以外を満足に学ぶ機会が奪われているのかもしれない.そして,たまたま翻訳で勉強するという癖がついてしまっている人達が多いがために,知識の伝播にどうしても無視できない時間差が発生してしまっている.今はそれでいいかもしれないが,10年後,20年後にそれで済むかどうかはわからないのだ.
この閉塞した状況の中で,日本社会の中で抜きんでた存在になりたいのであれば,何らかの他の言葉は学んでおいて損はないだろう.そして,多くの技術情報は,すべからく英語で交換されているという事実も受け入れるべきだろうと思う.そして,自分の体は日本にあっても,日本国外からカネを取って来なければならない事態が個人レベルでも発生するだろう.その時に,国外に出ないで閉じ込もっていられるとは,思わないほうがいい.
(初出: はてなダイヤリーのハチロクグループより)
2003年9月13日
Javaが生まれる前の話
1988年12月14日に行われた東京大学大型電算機センター会議室でのBill Joyの講演のメモ
Edited 13-SEP-2003 by Kenji Rikitake 力武 健次
(1988年12月14日に紙に書いた私的メモを編集したもの)
From V7 to Phase-3 (メモ原文ではΦ-3)
The evolution of UNIX
7 from AT&T (Sys V rel 3)
7 from BSD (4.3)
Phase-3: restructured UNIX
20年前とは基本的構造は変わっていない
MULTICSから3つのideaしか使っていない
Processes : "GENIE" / Ken Thompson
File System : KT (Ken Thompsonのことと思われる)
Pipes: McIlroy
Shell以上がけっこう複雑になっている
その後の改造
VAX-11/780
virtual memory
keep PDP-11 model
paging is invisible
→ 3BSD 1979
Local Area Networks
Ethernet
TCP/IP
model of sockets
→ 4BSD 1981
Problems
No "tenex" pmap functionality → mmap() ← 載らず
Communications is asynchronous → select() ← まだ不十分
New technologies -> New system facilities -> Larger O/S
Trends
1. Minis -> WSes & Servers ⇒ NFS
2. Library Complexity ⇒ Dynamic Linkage
-> back to MULTICS
Graphics and Windowing -> complicated
5 kinds of graphics
X11 PHIGS PostScript Renderman & what? (image processing)
Current UNIX:
Applications: Communication が不足
Unix Kernel: networking 1M lines
original 200K lines
Graphics: 1M lines
4 Application Styles
main(): App.
sleep(): Traditional Kernel
Networking
Graphics
⇒ The single paradigm:
No Concurrency/Parallel Programming
Too Complex
New Central Concepts
Mach -> ports & RPC -> first bigger -> next smaller
--> HUGE DEFICITS ("first cut taxes" ではだめ)
⇒ UK(英国)みたいに <first cut spending>
Sun's Approach:
Focus on applications: one programming environment
Concurrency / C++ / Shared memory / Fiber optics
⇒ Making UNIX be an application
Status of the nre project:
Nucleus (wnj: assembler (Microcode)) ... 1 sys call
Language (mitchell, powell... ) ... C++++-=
Services (gingell, ...) ... UNIX, networks...
Key will be success of language
C++ ++ -= ⇒ implemented in ANSI C ⇒ SPARC (microcode)
++: concurrency / parameterized types / garbage collection
-=: general complexity (unsafe function ⇒ ANSI C で書け)
Summary:
Phase 3 is RISC for OS
RISC relative to Applications
Not a OS kernel; applications platform!
This is first public talk -> do work, not promote.
-----
Cross examination or Q&A session
UNIXとのコンパチビリティはどうか?
→上位OSで確保する
C++とObjective-Cは?
→どっちも生産性向上のためのツールである
C++を使っている
フォールト・トレラント性はどうするつもりか?
→オブジェクト指向ならば各オブジェクトのコピーは楽である.
これを利用してシャドウ・ディスクを作れる.
多言語での可能性は?
→ほとんどの言語はinterpreterである.
良いinterpreterはむつかしい.
SPARCの命令は今後拡張されるか?
→固定している.整数乗算や64bit長についてでさえ議論が行われているが,
これからどうなるかはもっと若い人にまかせたい.
5000ゲート+レジスタ・ファイルでしかないから,改造は楽である.
いずれにせよ,386みたいにやればインテルに告訴されるだろうが,
SPARCではそんなことはせず広めていきたい.
ハードウェア記述言語が米国の大学では開発されており,
それをつかってSPARCを作れる.それにはスーパーコンピュータが
必要であろう.(逐次探索でやるしかない)
SPARCのコンテキストスイッチングはおそい.
→全部レジスタを変える必要があるかどうかは,統計的な問題である.
言語の複雑さにもよるであろう.
OSと言語との関係は?
→UNIXではCのmain()の世界で生きる.しかしこれだけではgraphicsなどには
対応できる環境がない. C++++-= ではこれらに対応できる環境を提供する.
さらに一つでやりたい.
グラフィクス以外の音声などのメディアは?
→リアルタイムOSに近くしたいと思う.
(レスポンスの時間が予測できるようにしたい)
そのためには非常に速いマシンが必要である.
小手先の対応では対処できない.
DVIは見たか?
→あまり好きではない. orphan technology だと思う.
絵が汚い.ISDN用に絵画を圧縮したいんだと思うが,Appleの方が良く
やっていると思う.みんなやっているから,すぐにできるだろう.
机の中にTVが入るだろう(HDTV)
Securityはどう実現するつもりか?
→ simple .vs. diverse
common .vs. complex
単純なものは弱い.
common ⇒暗号を使う必要がある.
モジュール化して,違う組み合わせで違うシステムでやる必要がある.
Cは堅いが,もろい←強固に書く必要がある.
建物と違い,動かす前にテストできない.
暗号はどうするつもりか?
→ DESはどうしようもない.政治の問題だ.
公開鍵暗号は研究されているが,これを広めようとすれば政治問題になる.
その証拠にまだ第3世界はエニグマ暗号を使っている.
トロイの木馬みたいだけど,銀行のシステムを攻撃してやれば
みんなわかるんじゃないだろうか.
Phase-3 では「きれいな」プログラミングを強要されるだろう.
ガベコレなんかがあると, malloc()なんかは使いにくくなる.
→ 古いプログラマの10%が理解してくれればいいと思う.
プログラムは C++++-= ではエレガントになるのか?
→ 今マニュアルがないので例を示すことはできない.
できるだけ変えずにエレガントにするのは,むつかしいだろう.
コンパイラが答えられないような例があるのは情けない限りである.
SunのHardware仕様書がない.
→ 手には入れられるようにしてある.
Sunのソースコードも提供している.
いくつかのドライバはしょうもないだろうが.
680x0 が× SPARC が○となったのはなぜか
→ 自分でデザインするしかなかった.
半導体業界は協調してくれないので大変だった.
SPARCは hybrid chip の核として使われることを予想している.
わずか20000ゲートでしかない(2μmテクノロジ)
そのうち家具同士で通信することもできるようになるだろう.
Nano Technology
Drexler "Engines of Creation"
大容量記憶装置はどうなるか?
→ Audioを見よ.CDプレーヤーは安い容量はでかい.
いわゆるdiskはRAMになり,CDが主流になる.
そのうち原子構造を利用したものになる.
[以下雑談となり終了]
編者注:
- C++++--= (Cプラスプラスプラスプラスマイナスマイナスイコール) はその後 Java となり実用化された言語の祖先であったと考えて良いだろう.
- 1988年末当時,まだSun-4が登場したばかりであり,UNIXあるいはSunOSもソースコードを見るにはAT&Tのライセンスが必要だった.また,当時は米国国務省の認めない暗号技術の輸出は厳に禁じられていた.
[end of memorandum]