メッセージ。 - diary

2009-09-08

# RSSリーダーを作りました

それより1よ、ちょっと聞いてくれ。RSSリーダーを作ったんですよ。RSSリーダー。

まぁ今さらRSSリーダーかよ、とは自分でも思いますが…。一応ぼくも既成のRSSリーダーを使ってたんですけどね。でもなんか、あまり使っていませんでした。

今まで、「あ、この人面白いな」って思ったブログとかをRSSリーダーに登録したりしてたんですけど、登録はするもののなかなか「読もう」という気にならないんですよね。

通常のRSSリーダーって、アプリを立ち上げたあとで各サイト(フィード)をクリックしないと記事が表示されません(ぼくの使ってたのはそうでした)。でもそれだと、その1クリックが心理的に重かったんです。

hiraさんが言う「見ようとしなければ見えないんじゃ見ない」ってのが、RSSリーダーにも当てはまるんだと思います。馴染みのないブログや意見を、人間の心はなかなか受け容れられないんじゃないでしょうか。

それで今回RSSリーダーを作ってみたんですけど、これは「rssmix」と言います。各サイトのRSSを取得してきて時系列で記事を並べなおしたものです。これだとサイトや書き手が誰かに関係なく目に飛び込んでくるので、使いやすいかな、と。

それと、ちょっと別の話なんですけど、最近Twitterやはてなブックマークを使ってたりしていて、自分の書いたものが分散してしまって嫌だなという感じもありました。Twitterで書いたつぶやきは、別にTwitterにいる人だけに見せたいわけじゃないんですよね。

自分がなにかを書くときは、サイトに関係なく書いているつもりです。「その場所にいる人だけに伝えたい」というような思いでは、文章を書いていないです。その意味で、書いた文章がTwitterやはてなブックマークといったサイトの中に閉じ込められてしまうのは、ちょっと苦しいです。

ということで、各所で書いたものをできるだけ一元化できないかなと考えました。実はrssmixは、そういった機能も備えています。各種RSSを取得した後、それをミックスしてまたRSSを出力しているからです。たとえば、ぼくの更新情報だと ふじさわの更新情報のような感じ。

普通のRSSリーダーとして使う場合、fujisawaのミックス(と、fujisawaのミックス(FAV))のような感じで使えます。(テストということで、エッチな画像等も入ってますのでご注意。ほんとにテストなんだからねっ!) 誰でも自由に登録/退会できるので、もしよかったら使ってみてください。

2009-09-08 13:52:30 / ふじさわ / Comment: 0 / Trackback: 0

2009-09-04

# 並列プログラミングについて

2009-09-04 19:09:03変更:下記の文章を公開した当初、「チューリングマシン」と「ノイマン型計算機」をごっちゃにして扱っていましたが、これはふじさわの認識の誤りです。「チューリングマシン」と書いてあった部分をすべて「ノイマン型計算機」に置換しました。指摘してくれたalohakunに感謝します。

そうそう。LLTVの「朝から生テレビ」のときに思ったことと、以前から考えていることの一部が重なった。弾さんが「並列プログラミングをもっとラクに組めるようにならないのか」的なことを言ってたとき。

現代主流のプログラミングパラダイムは、要するにノイマン型計算機の「プログラムを記録しておいて逐次実行」というモデルの枠内で規定されている。

「ノイマン型計算機だけが唯一の解か?」という問いに対する答えをぼくは持っていないけれども、ノイマン型計算機は1つの解であって、現時点で、(ほぼ)すべてのプログラマはノイマン型計算機としてしか、プログラムを書けない。

つまり、どれほどCPUが高速になろうが、ダイの上のCPUが増えようが、自己書き換えのプログラムを書こうが、「メモリに記録したプログラムを逐次実行していく1つのプログラムカウンタと、プログラムが記録された1つのメモリ空間だけが、あなたの最重要の持ち物である」ということに変わりがない。

そう。あなたはプログラムカウンタとプログラムが記録されたメモリ空間を、それぞれ1つずつだけ持っている。

それは、あなたが脳を1つだけ持っていることに似ている。「ほかの何人も、あなたの脳の情報を勝手に書き換えない」と保証されていることこそが、あなたのプログラムがあなたの意図したとおりに動くことの(ほぼ)絶対条件である。

あなたの脳の情報は、あなただけが書き換えられるのだ。たとえ誰かの意見であなたの脳の意見を書き換えるとしても、その書き換えはあなたの許可のもとなされるべきであって、実際にそのように運用が可能である、運用されなければならない。…と、近代では人格をこのように基本規定している。

いや、厳密には「そのように運用が可能である」という説は正しくなく、「自己の内容を完全に把握し他者の書き換えを一切許さない」といったことは人間には不可能なのだが、計算機の世界では、この条件が保障されるよう、(ほぼ)すべての計算機の設計がなされている。それがノイマン型計算機である。(ほぼ)すべてのプログラミングはノイマン型計算機の制約を課される。

そしてこの条件は、並列計算機や並列プログラミングにも適用される。CPUとメモリが複数あるという並列計算機の状況は、ノイマン型計算機が複数走るという状況である。もしこれらが完全に非同期に走っているのなら、全体としてノイマン型計算機になっていない(ノイマン型計算機ではなくなる)(はず)。ノイマン型計算機ではないのだから、それを制御しデバッグするのは難しくなる。

並列計算機においても、基本的にプログラマは計算機をノイマン型計算機として扱うしかないだろうし、そのためには結局、(CPU+メモリ)どうしを同期させる必要がある。プログラムを格納した1つの主(CPU+メモリ)と、そこから非同期実行可能な計算の下請けを受け持つ従(CPU+メモリ)に分けることになるだろう。

そのように並列計算機を同期させてしまうと、本来のパフォーマンスを100%活かせなくなるだろうけど、ノイマン型計算機として…
2009-09-04 19:15:37 / ふじさわ / Comment: 0 / Trackback: 0

2009-09-03

# ちょっとLLTVの感想

先週末、LLTVに行ってきた感想を書いてみる。まとめるの面倒くさいので、徒然に。アンケートが募集されてるので、LLTVに参加した人は答えてみるのもよいと思います。

一言でいうと、んー、LLイベントもちょっと息切れしてるのかな、と感じたかな…。そもそもLLイベントってのは凄い人がいっぱい発表してて、見てると自分もコードを書きたくなってウズウズするような、エキセントリックさが売りだったように思うんだよね。「自分と歳も環境もそう変わらない人が、こんなに凄いことしてる! 楽しそう! 悔やしいけど、自分も頑張りたい」って、ぼくにとって、そもそものLLイベントはそう感じさせるものだった。

ところが今年のイベントは、まぁ去年とかその前とかからそういう予兆はあったような気がしなくもないけど、そういうワクワク感が減ってきてしまったのかもしれないと思った。作り手の側が「ま、こんなもんでいいか」と匙を投げているような。今年のイベントはテレビ番組をもじって構成されていて、そういったフレーム自体は分かりやすさを生んでいた。しかし一方で、テレビ番組をもじっただけで、肝心の内容を煮つめることができていなかったように思う。

たとえば朝から生テレビ。「朝から」、「数人で議論する」といったフォーマットが用意されただけで、実際には激論らしいものはなかったし、「何について語られるセッションか」も明らかではなかった。もっと今だからこそ語るべきテーマ(経済不況とか、海外で働く話とか、中国の台頭とか)を話しあったほうがよかったんじゃないだろうか。また、LLのイベントなんだからもっと深い技術動向とか。

いやまぁ、技術の話については登壇者の技術レベルが高かったので、それなりに面白かったのだけど。でも、漠然としすぎていた。各人がそれぞれ「語りたいテーマ、重要だと思う技術」をぶつけあうという感じが出ていなくって、それがよくなかったんじゃないかと感じた。「これくらいの話をしておけばいいか、こういうネタならウケるかな?」って顔色をうかがいながら牽制している感じ。極論すると「どうでもいい話」をしている(発表者各人が悪いのではなく、ディレクターの意図を発表者が図りきれていなかったり、企画が練りきれていない感じ)。

「LLフィーリングカップル」についてもまぁ同様で、あれを面白いと感じる人もいるのだろうけど、個人的には楽しめなかった。「女性を登壇させて男女関係について話させればウケるでしょ?」的なものを感じてしまって、どうもダメ。LLや技術とは関係ない話がほとんどだったし。もちろん、ああいうトーク企画ってのは、話がどう転ぶか事前に分からないから難しいのは分かる。でもなんか、こう、テーマとかメッセージが、あまりにも曖昧だった。誰に何を伝えたいのか、はっきりさせてほしいというのかな。

今年のLLイベントは「テレビ」を銘打っていたけれども、奇しくも悪い意味でLLイベントがテレビ的になってしまったのかもしれない。つまり、アチラ側とコチラ側に分かれてしまった。悪く言うと、「ま、こんなもんでしょ」って作り手は思ってしまってたんじゃないのかな。映画や演劇やライブイベントなどに存在すべき、会場と作り手のあいだに存在してほしい一体感、共有すべきものが、いくばくか失われてしまったように感じた。

まぁ、とはいえ面白いセッションもあったんだけどね。それは『プロトタイピング 〜「もの作り」の流儀〜』。これは単純に見ててワクワクした。凄いことをやっている人がいて、「こんなことができるのかぁ。あー自分もこんな風にものを作りたいな。自分も頑張りたいな」と思った。このセッションもLLの話はなくって、デザインとかAR(拡張現実)とかに近い話だったんだけどね。でもまぁ、ここ数年でニンテンドーDSやiPhoneのような高機能センサデバイスが普及・コモディティ化しつつあるので、これをうまく使いこなすというのは、エッジにいる技術者にとって大変興味深い。エッジとLLの技術者像はある程度重なるので、そういう意味ではLLじゃないけど良かったように思う。

まーそんな感じっすかね。これ以外にも、ところどころで面白い話、つまらない時間等もあったのだけど、端折ります。
2009-09-03 15:55:21 / ふじさわ / Comment: 0 / Trackback: 0

2009-08-28

# 明日のLLTV

ところで明日、LLTVに行くんですけど、どなたか終わったあとで晩御飯でも食べませんか? だいたいいつも、誰も誘う人がいなくって、トボトボ帰ることになるんですよね(hirofummyさんが付き合ってくれることも多いけど)。
2009-08-28 17:12:23 / ふじさわ / Comment: 0 / Trackback: 0

2009-08-09

# 世襲ってほんとに悪いことなんすかね?

鞄という選挙資金力。選挙にはとても金がかかるのだから、政治資金管理団体が効率的な資金調達とそれの活用を図ってくれた方がいいに決まっている。素人が政治資金に手を出せば、無駄に複雑な政治資金規制法にひっかかって犯罪者になるだけだ。
日本の政治家の世襲というシステムはとても理にかなったシステムだ。あなたがこのシステムを維持しようと思うのならこれほど効率的なシステムはない。
現状に疑問を持ち、それに異議申し立てをする有能な若者というシステムの秩序を乱す危険人物を効果的に排除する。現状を維持するという正しい目標を正しく執行するための極めて効率的なエンジンである。

よしおかさんの言いたいことは、なんとなく理解できる。でも解決されない疑問もある。その1つが、「世襲ってほんとに悪いことなんすかね?」ということだ。

たしかに現在の政治資金規制法は複雑で、政治家という「職業」への新規参入が難しくなっている。この難しい法令に違反しないために、世襲政治家が増えているという説には理があるように思う。ただ本当に、この問題が起こっている原因(本質)そのものが世襲なんだろうか? 問題の原因はあくまで、「無駄に複雑な政治資金規制法」であって、世襲はその結果起こりがちな事象なのではないか。

たとえば、世襲を禁止してみた世界を想像してみる。どうなるだろうか? 「無駄に複雑な政治資金規制法」はそのまま残っているのだから、政治家になろうとする人は、なんらかのサポートを必要とするだろう。そうすると、サポートを提供するのは、一部の企業体(政党?)になるのではないだろうか。表に出てくる人が変わるだけで、裏方は今と同じ構造になるのではないかと思うがどうだろう?

ではどうしたらいいんだろう? 「なんらかのサポート」というのが問題なんだろうか。「サポートも一切禁止」としてしまえばいいのかな? そうしたら、各政治家はおのおの弁護士や司法書士を雇って「無駄に複雑な政治資金規制法」に引っかからないよう活動をすることになるのだろう。あれ? ちょっと待てよ? それなら同じように、世襲の禁止されていない現在だって、政治家に新規参入したい人は、弁護士や司法書士を雇って活動すればいいんじゃないか? 新規参入の(法的な)難しさ自体は、世襲の禁止前と変わっていないように思われる。

いったい何が問題なんだろう? そもそも「無駄に複雑な」というのは事実なんだろうか? 「無駄に複雑な」というからには改善の余地があるんだろう。でも政治資金規制法じたいは必要なんだよね? 政治家が横領のような不正をしないように。では十分シンプルな政治資金規制法にしてしまえばよいような気がするが、これは不可能なんだろうか。素人なのでちょっとよく分からない(分かる人教えてください)。

「無駄に複雑だ」と言ってるからには、よしおかさんには「無駄な部分がある」ということが分かってるんだろうなぁ。ぼくはほとんど知らないので、なんとも言えないが…。無駄に複雑ならば、ここはまず少なくとも改善してみたらどうなんだろうか。どうして改善されていないのだろうか。世襲維持派がそうさせないのだろうか。それなら納得感が増す。

しかしそれなら、法律を変えるだけでは不十分だろう。問題の構造は政治家だけにあるのではない。世襲を許してきた有権者の意識はどういうものなのか? 世襲が十分小さく見えるほどの新規参入がないのはなぜなのか? また、政治家が「職業」であることの是非を考えなければいけないのではないか。

そしてもう1つ、世襲が問題であるという、その根拠もよく分からない。よしおかさんの文章のなかで、根拠らしきものはほのめかされている。

20代、30代の若者は、自分たちがこのシステムによって幸せになっているかどうか考えてみればいい。年金も子育て支援もなんでもいい。このシステムを維持することによって素敵な未来が自分たちに降りかかってきているか想像すればいい。

想像してみたけど、よく分からなかった。世襲がどういう効果をもたらすかぐらいは、多くの人が想像したことがあると思うけど、それで多くの人が、同じ結論に辿り着いたんだろうか。少なくとも一エンジニアとして、懐疑を旨とする科学の徒の一員として、この少ない情報量だけで「想像してみれば分かる」というような論理展開には従うわけにはいかない。ここのところ具体的にお願いします。

そしてもう1つ納得できないことがある。それは、「世代間の利害はそれほど明確に相反しているのか」ということだ。

60代か70代かわからないが、町内会の長老によって当選させられた議員が、20代や30代の切実な問題を解決する事にどれだけのエネルギーを注ぐのか。考えてみた方がいい。

言いたいことは分かるけど、考えてみたら「本当なんだろうか?」と思った。60代か70代かわからないが、町内会の長老たちは、本当に「60代や70代のためだけに利益誘導してくれ」と願っているのだろうか? 60代か70代といえば、若者のお父さんお母さん、お爺ちゃんお婆ちゃんたちだ。彼らは本当に、子や孫なんかどうでもいいから、自分たちだけを助けてくれと願っているのだろうか?

そんなことはないんじゃないかと、ぼくは思っている。彼らお父さんお母さん、お爺ちゃんお婆ちゃんたちは、自分たち自身と同じように子や孫の幸せも望んでいる。若い世代にも幸福になってほしいと願い、そのためには自分たちの取り分が多少減ったってよいと考えている。そうであるはずだと、ぼくは信じている。

今回のよしおかさんの意見は暗に、「それぞれが自らに利益を誘導せよ。みなそうしている」と言っている。「若い世代は自分たち自身の力で若い世代に利益を誘導せよ。年老いた世代は年老いた世代に利益を誘導している」と。これは、対立を煽る、性悪説に基づく考えだ。闘争することばかりが善という、新自由主義の極端さを感じさせる。

人間は生来的に善なのか、生来的に悪なのか、ぼくは知らない。また、ここではその結論には言及しない。ただ、ぼく個人としては、自分だけに利益を誘導したいとは思わないし、利益を誘導しない。ただ毎日、口を糊するのに必要なだけいただければ、十分ありがたい。そしてぼく以外にも、多くの人がそう思っていると思っている。お年寄たちが悪者で、若者たちを苦しめようとしているなんて世界観は受け容れたくないし、受け容れない。そういう人はきっと少なからずいる。

…ぼくたちは子供のころから、「利己的な行動をしてはいけません」、「利他的な行動は善です」と教わって育ってきた。この教えが正しいかどうか、ぼく自身はよく分からない。でも、リソースの限られたこの世界では、自分だけで独り占めするような行動は許されないし、善いことでもないだろうと、なんとなく思っている。こういった価値観・生活習慣のなかで、長いあいだ過ごしてきた。ところが突然、社会は「利己的に行動せよ」と言ってくることがある。これはいったい何故なのか?

「手のなかにあるものを他の人と分け合いなさい」と言ってきた社会が、「自分のものは(他者から奪って)自分で獲得せよ。そうしなければいけない」と言ってくるのはなぜなのか。不思議だ。「若者よ、ちゃんと甘えてる? 甘えるとこ甘えないと駄目だよ」なんて言葉も大きなお世話だ。どうして命令形でものを言うのか。「甘え」という観念で捉えているそれは、実は年長者が提供せねばならない義務である可能性を考えたことがあるのか? 考えたうえでそれを言っているのか?

え? 社会はそんなことを言っていないって? ならばどうして、よしおかさんは命令形でものを言うのか。「若者よ選挙に行け。投票しろ」と命令形で言うのはなぜなのか? どうして命令できる筋合いがあるのか。責任は取れるのか? 命令するのではなく、どうして彼の一票を、彼の同世代の、彼の仲間の票を、若者のために使うのでは駄目なのか。もちろん、彼が好意で言ってくれているのは分かっている。ただ、変なように感じた。よしおかさんを責めているのではないし、よしおかさんだけのことを言っているのではないよ。
2009-08-09 12:10:13 / ふじさわ / Comment: 0 / Trackback: 0
recent days<< | >>old days