2007年11月
■ キモい
蓮實重彦(著)
新潮社、2007
たとえどれほど的外れな本であっても批判の題材くらいにはなるであろうからなんとかがんばって読もうと思い、しばらくこの本にむかってみたのだが、1行読むたびに全身にサブイボが立ち、蕁麻疹が出そうなほどにキモかったので最初の数章を読んだところであきらめた。
フィクションを論じるものは羞恥心を感じるべきだと著者は言うものの、この本こそが一番恥しい内容だと思う。もしもわたしがうっかり、この本のような「文学は崇高なのでもったいぶった口調で語らねばならない」「フランス現代思想の人は無条件でえらいので特に理由を明示する必要もなく持ち上げるべきだ」とでも取られかねないような内容を発表してしまったならば、その瞬間に羞恥のあまり全身の毛を逆立てて死ぬと思う。
人文系はエクストリーム読書と書いてそうそうにナンだが、わたしにはこの本はキツい。どれほど無難に見積もってみてもうんこを食べるのと変わらないほどのキモさを感じる。まあ必要ならうんこだって食べるけれども、それほど必要ではないしあきらめよう。
「xxxすることがどれだけのoooを傷つけるか考えろ」というような論調について考える。
■ 前置き
まずちょっと遠まわりになるが以下のような法則について考える。
[L] eをすることがAに害を為すと知っていて、かつ意図的にeをした場合、eをすることによって意図的にAに害を為したかのような雰囲気になる
という法則があるのではないかと思う。
たとえば靴紐アレルギーのAさんという人がいて、目の前で靴紐を結ばれると全身に紫色の斑点を生じ地獄のような痛みを感じるとする。わたしはAさんが靴紐アレルギーであることを知っていてかつ意図的に靴紐を結んだ。別にAさんに害をなしたかったわけではないが、靴紐がほどけているのが気になって仕方なかったので、Aさんがどうなろうと知ったことかと思って靴紐を結びなおした。
当然のごとくAさんは全身に斑点を生じさせ地獄のような痛みを感じる。このときわたしはただ靴紐を結びなおしたかっただけなのだが、あたかも意図的にAさんに害をなしたかのような雰囲気になる。
「雰囲気」としたのはこれを意図的行為と呼んでよいのかどうかいまいち確信が持てなかったため。しかしいずれにせよ、嫌がらせることをめざしたわけではなくても、嫌がると知っていてかつ意図的に何かを為した場合、なんとなく意図的に嫌がらせをしたかのような雰囲気になる。
■ 当たり屋メソッドとは何か
あるべき姿としては、行為の良し悪しと人がそれを見て何を感じるかは独立の問題だと思うんだ。
わたしがなすべきことをしているのであれば、それを見て人が何を感じようとも関係ないと思うわけだ。
たとえば悪人を裁くために法律を制定する。
そうすると悪人めらが「不快であるぞ」と騒ぎたて、「おまえがその法律を制定したことによってどれだけの悪人が苦しむか考えてみろ」と言われる。
わたしの答えは「もちろんよく考えた。今後もっともっと悪人どもが震えあがるような法律をつくるべく努力したいと思う」というものであるだろう。一方無関係な人が「不快である」と言っても、本当に必要な法律であれば気にしないだろう。わたしは心に余裕がなければ反対派を無視して実行するだろうし、心に余裕があれば反対派のプライドがなるべく傷つかないような落としどころを考えた上で実行するだろう。
わたしのしたことが正当な行為であり、それを実行する方法も正当なものならば、誰が不快に感じようともそれはなすべきだ。この場合はむしろ文句を言われたからと言ってなすべきことをなさない方が悪いと思う。
一方最初から悪いことをしているなら、不快に感じる感じない以前にそれは悪いことだ。
問題は、してもしなくてもよいことが他人に不快感を与える場合だ。
たとえばわたしが右手でドアを開けるのを不快に感じるような人(B)がいたとして。
Bには2つの対処法があると思うんだ。
1つはふつうにお願いをすること。
自分が不快感を感じることを説明し、「お願いだから左手でドアを開けるように気をつけてほしい」と言う。左手でドアを開けることにそれほどコストがかかるわけでもないから、わたしは左手でドアを開けることにする。わたしは特に困らんしこれでBは幸せになる。いいことづくめだ。
これですめば話は単純なのだが、上の[L]があるために話は複雑になる。
本来ならば、この場合Bにできるのはわたしにお願いすることだけだと思うんだ。
しかしBにはもう1つ手段があって、それはわたしが右手でドアを開けるとどれほど不快になるかを切々と訴えることだ。この場合Bの訴えによってわたしはBの不快感を知ってしまう。不快感を知ってしまうと今後右手でドアを開けるたびに、意図的にBに不快感を与えているかのような雰囲気になる。そうするとあたかもわたしが悪いことをしているかのような感じになってしまう。
こうなると話はずいぶん変わる。
上の手段をとった場合Bにできるのは「お願い」だけだが、不快感を切々と訴えるという手段をとった場合Bは「悪事を糾弾」していることになる(少なくともそういう雰囲気になる)。「お願い」の場合Bの方が立場が下だが、悪事を糾弾する場合はBの方が立場が上になる。
誰が発明したのか知らないがこういう手段を用いることによって、上から目線の偉そうな立場で相手に行動を改めるよう要求することができる。
この手法は
- 「誰かの行為をやめさせたい」
- 「自分(あるいは誰か)が不快に思っている」
- 「やめさせたい行為は、してもしなくてもかまわないような行為である」
という3条件さえそろえばさまざまな状況で応用できる。
こういう手法のことを「当たり屋メソッド」と呼ぶことにしたい。痛みを強調するところと相手の罪悪感につけこむところなどが当たり屋に似ていると思う。
なおこのメソッドは「自分が不快に感じる」という場合以外にも応用できる。むしろ自分が不快なだけだと自己主張が激しい人だと思われてしまうため「これだけの人が不快に感じるんだぞ」という形で他人を引き合いに出す方がさらに有効なパターンである。他人の痛みも適宜折り混ぜて使うことで当たり屋メソッドはいっそう有効に働くだろう。適当にマイノリティっぽい人を取り上げ、それらの人々がどれだけ傷つくかということを説明してやるだけでよい。
たとえば「おまえの何気ない行動によって不幸な人々がどれだけ傷つくか考えろ」という風に。
■ 結論
ここから結論に入る。
わたしは当たり屋メソッドを使用することは悪であると考える。
どれほど自分や他の人々が不快に感じたとしても、悪いことでも何でもないことをしているのに文句を言うやつの方が悪いと思う。たとえ自分がどれだけ不快に感じていたとしても、そのようなやり方で不快感を披露することは悪であると思う。
それによって失なわれるのは、他人を物理的に傷つけたり人のものを盗んだりなどの悪いことをしないかぎり、好きなことをして暮すことができるという基本的な自由の感覚だ。他人に対しそれを損なうようなメソッドを使用することは決定的な悪であると考える。
またこのメソッドを用いることのデメリットについても考えた方がよい。当たり屋メソッドは使いやすい手法ではあるものの、その分一度使うと癖になってしまいそれに頼らざるをえなくなるという欠点がある。くわえて当たり屋メソッドを使うことで他人から同情を買うことはできても、他人から信頼を得ることはできない。むしろ他人から嫌われるだろうと思われる。
このような手法を野放しにしておくと世界に不幸な人が増えるばかりだと思うんだ。
従って、当たり屋メソッドを用いた者は鞭打ちなどの刑に処すべきだと思う。
■ バベル17
まつもとゆきひろが『バベル17』について書いていて、おおおと思った。
マリナ・ヤグェーロ(著), 谷川多佳子(訳), 江口修(訳)
工作舎、1990
それで思い出したが以前読んだこの本はおもしろかった。理想言語を夢見た人々の歴史。
しかしカスタマーレビューがなんか攻撃的だ。
話にならない駄本
この本の言わんとするところは「人工言語はパラノイアの産物であるが、異言(神がかり状態になったときに起こる自然発声現象)は素晴らしいものだ」という事のようです。
そんなこと書いてあったかなあ。「パラノイア的想像力」とは書いてあったかもしれないが、批判するような論調ではなかったと思うのだが。まあ普遍言語を夢見た人々を「変な人」としておもしろがって紹介しているような節はあったので、まじめなエスペランティストにとっては腹が立つのかもわからんね。
しかしわたしはこの本を読んで、「はやく!はやく!普遍言語をつくらないと!」と思った。
以下、普遍言語が必要だと思う理由。
(普遍言語という言葉は「すごい言語」くらいの意味で使っています)。
思うに、世の中を変えるには2つの方法があると思うんだ。
1つは今ある人間の能力を前提とした上で、制度やシステムをいじる。たとえば「自由競争は愚鈍な人間どもにはちょっとハードすぎるのでセーフティネットをつくろう」とか。
もう1つは人間自体の能力を改造する。「脳をいじって24時間働きつづけられるようにしよう」とか「革命精神を注入することで立派な革命戦士として生まれ変わらせよう」とか。
後者は今時あまり流行らない思想ではあると思うのだが、わたしは結構好きなアプローチなんだ。
そして人間の能力を劇的に変える方法の1つとして「言語」はなかなか有効な手段なのではないかと思うんだ。同人誌にも書いたがわたしは本当に「表記法こそが本質的な問題である」と思っているので、優れた表記法を母語として身につけさせるだけで劇的に人間の能力が向上するという言語の効用についてドリーミーに夢見ているわけだ。つまり世の中を革命するために必要なのはまず、すばらしい言語じゃないかと。そういうことを考えているわけだな。
■ 世界の崖まで犬たちと
アーサー・ブラッドフォード(著), 小川隆(訳)
角川書店、2007
SFマガジンで見た。ユアグロー好きにはおすすめの悪夢のような短編集であるそうだ。
■ 救世主
救世主的思考についてわたしが考える。
よく漫画とかで、「1人の命と人類全体とどっちが大切なんだ!」みたいな選択が主人公に課せられることがあるじゃないか。「人類全体」はまあちょっと大きすぎるのでひとまず1000人くらいにしておこうか。
「1人の命と1000人の命、どちらを守るか」が天秤にかけられている。わたしが今すぐ火事で死にそうな目の前の1人を助けに行けば、1人は助かる。しかし1時間後にわたしが助けに行くことになっている1000人は死ぬ。もしも1人を見捨てて1000人を助けに行けば1000人は助かる。こんな場合にどうすべきかという問題がある。
先日ふと頭のなかでシミュレーションしてみたのだが、わたしだったら多分1人の方は見捨てると思うんだ。こういうことを書くと人から反感を買うかと思わないでもないが、しかし、やっぱり見捨てるんじゃないかと思う。
もしも1人の方が家族や自分の恋人や友人だったらどうするかというのも考えてみたのだが、身内だからと言って原理をまげるのはよくないんじゃないかと思う。だからやっぱり見捨てると思う。仮に1人の方が自分だったらどうするかというのも考えてみたが、まあそういう状況に置かれた時点で諦めると思う。見捨てられても仕方ないとそう思うわけだ。
とはいえわたしも人の子なので実際にそういう状況に置かれれば情にかられるかもしれないと思うわけだが、ひとまず頭のなかでシミュレートしたかぎりではそのような結論がでた。
次に救世主だったらどうするかということを考えてみた。「救世主だったら不可能を可能にし1001人を助けてみせる」とかそういうのは無し。
まず救世主は情とか身内びいきとかは鬼のように押し殺さなければならないので、1人は見捨てるんじゃないかと思うんだ。
しかし人々はそんな救世主には失望してしまうかもしれない。人々に失望されると救世主は救世主たる資格を失なってしまうだろう。かと言って1000人を見捨てても結果は同じだと思われるので、救世主にはこの場合逃げ道がない。
つまり、そのような選択を強いられた時点で救世主にとっては大失敗だ。という可能性はあるかもしれんな、と思った。
■ ブックマークレット
javascript:'<pre>'+(new XMLSerializer()).serializeToString(document).replace(/</g,'<').replace(/>/g,'>').replace(/></g,'><br/><').replace(/\n/g,'<br/>')+'</pre>'
携帯のOpera8.6でソースをながめたいときに使うブックマークレットをつくった。ちょっと改行位置がおかしいけど、とりあえず簡易的にはこれで十分。
盛山和夫(著)
創文社、1995
あまり誰も興味ないと思うが「現代自由学芸の騎士」(本書カバー)の著作である『制度論の構図』について。
1人で黙々と修論を書いているとアウトプットの機会がなくてよくないかなと思うので考えたことをアウトプットする。
本書は一次理論とか二次理論とかについて述べている。
一次理論とはふつうの行為者が「自らをとりまく世界について抱いている了解の内容」のこと。要するにふつうの人が持っている理論のことだと考えてよい。
一方、二次理論とは社会科学者がつくる理論のことである。二次理論は一次理論を科学の言葉で再理論化しなければならない。
さて本書には以下のようなことが書いてある。
- [A1]一次理論は「会社」や「国家」などの諸制度が、客観的に存在することを含意している。
- [A2]しかし本当はそれらの諸制度が客観的に存在するわけではない。
- [A3]だから一次理論は間違っている。
- [A4]だから二次理論はそういう間違った前提を受け入れないようにしなければならない。
しかしこれは不可能である。
なぜか。
具体的な文を取り上げて説明しよう。一次理論に以下のような文が含まれるとする。
P: aはCという会社の社員である
一方、二次理論は一次理論を対象とするのだから、何らかの形でPの解釈を含まなければならないだろう。そこで二次理論においてPを翻訳した文をQとしよう。
二次理論は一次理論と違って制度の存在を仮定しないのだから、Qは「会社」の存在も「社員制度」の存在もいっさい要請せず、にもかかわらずPの内容を再現することができている。残念ながら筆者はそのような文の候補をあげることができないが、まあQという翻訳が存在したとしよう。
しかしこのときQがPの忠実な翻訳であるならば、PはQと同じ内容を述べていると考えなければならない。それならば、元のPの文もQ同様に制度の存在を要請していないと考えるべきだろう。"There is nothing."という文が"nothing"の存在を必要としていると考える必要がないように、問題のある概念を用いない翻訳が可能である以上、Pがそれらの存在を必要としていると考える必然性は無い(「現在のフランス国王」という語を用いずに「現在のフランス国王が禿である」を翻訳できるなら、元の文が「現在のフランス国王」の存在を必要としていると考える必要は無いのと同様に)。虚偽の概念を用いずに同じ内容を表現できるならば、元の文は単に誤解を招きやすい外見をしているだけだと考えるべきだろう。
一方これとは反対に、Pが虚偽の主張を含意しているという主張([A2])の方にこだわるならば、今度はQがそれらの制度に相当する概念を用いていないという主張か、またはQがPの忠実な翻訳であるという主張のいずれかが間違っていることになる。もしも盛山の言うように、一次理論において述べられている事柄が「現実には事実ではない」とすれば、二次理論によるその翻訳もまた同様に虚偽の内容でなければならない(盛山[1995:258])。虚偽をどのように翻訳してもそれが真実の主張になるとは考えられないからである。つまり盛山の主張を文字通りに受け取るならば、二次理論は一次理論を適切に翻訳できないか、翻訳された文もまた間違っているか、いずれか1つを選ぶしかない。これは明らかに不合理な帰結である。
では何がまずかったのか。
思うにまず[A1]は自明ではない。一次理論が「会社」や「国家」という概念を用いていたとしても、その客観的な存在を要請しているとは限らない。実際には「会社」や「国家」という概念はそれほど必要なものではなく、外延的な語のみを用いて翻訳することができるかもしれない。
あと盛山の論考には、二次理論は「会社」「国家」などといった諸制度の概念を絶対に用いてはならないと考えている節があるが、これは不必要に懐疑主義的であり、余計な仮定である。
なぜならば「会社」や「社員」という概念を用いて分析を進めることも可能であるし、有意義な分析となりえるからである。
たとえば一次理論は「会社」や「社員」という概念を用い、先のPのような文を無限に生み出しうる。このとき一次理論が生み出す無限の文に対し、有限の規則からなる解釈の規則を提示できたならば、それは一次理論に対する分析として十分な成功と認めなければならない。仮にその解釈の理論が「会社」や「社員」という語を用いていたとしても、無限の文を分析できる理論はそれ自体として有益である。なぜならばその理論によってわれわれは「会社」や「社員」という概念の用法、およびそれらの関係について多くのことを知るからである(これは、英語を使って英語の研究ができるのと同様である)。
さらにその上で「会社」や「社員」といった概念を他の概念によって(たとえば自然主義的な概念のみによって)分析できれば、さらなる成果を得るかもしれないが、それによって先の分析の結果が無益になるわけではない。
『真理と解釈』
D.デイヴィドソン(著)、野本和幸(訳), 金子洋之(訳), 植木哲也(訳), 高橋要(訳)
勁草書房、1991
以上は、デイヴィドソンの「概念枠それ自体という観念について」という論文を参考にしている。
デイヴィドソン、行動主義者をくさして曰く、
科学言語大臣の執務室で、私が新人類に対して、例えば、感情、感覚、思考、意図といったものを指示する語の使用をやめ、代わりに、心的な有象無象と多少とも同一と想定される生理学的状態ないし事象について語るよう望んだとしよう。
新人類が新言語を話しているのだとすると、自分の忠告が尊重されたことを私はどうやって見分けたらよいのだろうか。
ピカピカの新しい語句が、旧言語で生理学的活動を指示していた語句の盗用であるとしても、新人類によって口にされる場合には、ひょっとすると、それらはくたびれた古い心的概念と同じ役割を果しているかもしれないのである。
Davidson[1984=1991:199]
要するに、理論Aが理論Bを改良しているというのはそんなに簡単に言えることではない。
(ただし理論Aが間違っていて理論Bが正しいというのはもっと簡単に言える)。
■ AAできたよー\(^o^)/
uつ
ビーグル犬。
■ mimeTeX
mimeTexというのを入れてみた。
x,yという出来事が存在し、xはakadaがronbunから逃避するという出来事であり、yはakadaがmimeTeXをセットアップするという出来事であり、xがyを惹き起こした、という意味。
■ 人文研研究がエクストリーム読書であること、補足
人文系研究がエクストリーム読書というのはわれなが中々的を得(射)*1た表現ではないかと思っている。
しかしこれは世間では意外と知られていないのではないかと思ったので前回のエントリを書いた。
ただヒエラルキーの頂点に聖書研究と古代・中世哲学の研究があるというのはちょっと言いすぎたかもしれない。理系にとっての「数学」の位置に人文系にとっての「文献学」があると言えばよかった。
誤解による悲劇を生まないためにも、文学部がエクストリーム読書家養成所であることは進学を考える高校生にきちんと教えておいた方がいいと思う。「本を丁寧に読みたい」と思ってる人は求めるものを得られると思うけれど、そんな高校生は滅多にいないのではないか。ふつうの人はず「本を丁寧に読む」ということがどういうことなのかもイメージできないだろうし、というかこれはわたしだけかもしれないが。わたしはあまり何も考えずに文系学部に入学したのでいざ大学に入ってみるまではそこが何をしている世界なのかまったく知らず、ぼーっと大学のゼミなどに出ているうちに「あー、本ってこんなに丁寧に読むものだったのかー」と感動したりしなかったりして、気がついたら今にいたるわけだが。
エクストリームな読書をただひたすらに追求するような「研究」に、いったい何の意味があるのだと思う人もいるだろう。
わたしはどっちかと言うともうさっさと逃げて早く就職したい派の人なのでその気持ちはよくわかる。
しかし馬鹿馬鹿しいと思って数学をあやつるような方向に転向しても、現実には、「合理的選択理論がちょっとわかるようになってきたからこの夏休み中にコールマンを20回読もう」とか、「自然言語で書かれたページがほとんどなく、1+1=2の証明にいたるまでに数百ページかかるという、かのプリンキピアを通読したので尊敬されている」みたいな方向に行きがちなのが人文系研究者の性。
(まあ統計な人とか心理学で実験な人とかはまた大分違うんだろうが、そっちは知らないので何もコメントできない)。
これだけ長生きして当分は命脈を断たれる気配もないようなので、最近では、このエクストリーム読書という研究方法は実は意外に合理的なのではないかと疑うようになってきている。
- *1: これ結局どっちが正しいんだっけ
■ はてなについてるやつ
現実逃避で思わず実装してしまった。
「前->」というナビゲーターの横にあるloadボタンを押すと前ページのエントリをページ内にロードする。
■ 人文系研究について
人文系研究というのはつまるところ読書の極北を追求するエクストリーム読書という語に集約される何かなのではないかと思った。
200年前、300年前(下手をすれば紀元前。18世紀の出来事を平然と「最近」と言ってのけるヤバい世界)の人間が書いたテキスト、しかも何が書いてあるかまったくわからず普通の人が1文目で挫折するような代物(しかもマイナー言語)を最低3回は繰りかえして読み、「最初は何が書いてあるのかまったくわからなかったが4回目でようやく全体の構造がおぼろげに理解できた」などとのたまい、5回読んだだけなら少ない方で代表的なテキストは暗記するまで読み込んでいて当然と考えるような、いわば読書の暗黒面に墮ちたルナティック読書家の集合体を他に何と呼べばよいのかよくわからない。世の中の人はしばしば誤解しているが、本を出したりテレビに出てはなばなしい活躍をしている人というのはこのゲームのなかではほとんど評価されておらず、研究者のはしくれとしてさえ扱ってもらないこともままあるくらいのものだ。人文系研究者のヒエラルキーの最上層にいるのは、わたしが思うに、聖書研究者と古代または中世哲学の研究者であり、彼らは、ほとんどの人にとって読むことさえかなわないような古代語のテキストを暗記するくらいに読みこんでいるという点で尊敬されている。しかもこの「エクストリーム読書」という営みは意外と幅が広いものなので、読んでいるのが現代のものだろうと、専門が法学だろうと政治学だろうと文学だろうと社会学だろうと、本を読んで研究するような研究者の人たちというのはのきなみそういうゲームのなかで生きている。
わたしは自分のことを、みそっかすではあるものの人文系研究者のはしくれのはしくれくらいには考えているので、エクストリーム読者家の皆様方に対する尊敬の念だけは忘れたことがない。しかしそういう世界観の下で生きていると、「文系だからコミュニケーション能力がある」などと言っている人を見るたびに困惑の念にかられることになる。500年前に書かれたラテン語のテキストに好き好んで埋没しているやつ、およびそういうやつがヒエラルキーの頂点にいると考えているような人々にコミュニケーション能力なんかあるわけないじゃないか。
人文系の人間に向いている仕事というのは、マネージャーとかディレクターなどといったコミュニケーション能力が求められる類のそれではなく、「無味乾燥な1000ページの仕様書をすみからすみまで読む」という性格のものだと思う。ふつうの人文系研究者ならば、嬉々として取り組むんじゃないかな。
■ 救世主について
ときどき救世主のことを考える。自分は救世主のような残酷さを持てるだろうかと想像してみる。救世主はとても残酷なものだとわたしは思う。なぜならば救世主は他人の言うことを決して真面目に聞かないからだ。救世主は世界中のあらゆる人々を自分が何を欲しているのか知らない子どもとして扱う。たとえば子羊は「自分は救いなど求めていない」と言うかもしれない。そこで「ハイそうですか」と引き下がってよいのは子羊だけだ。救世主は引き下がるわけには行かない。子羊は嘘をついていて本当は助けを求めているのかもしれないのに、救世主がそれを見捨てるわけにはいかないからだ。
救世主は他人を効率的かつ大量に救うことだけを考える。技師が機械を扱うように、どのボタンを押し、どのスイッチをひねれば他人が救われるのかだけを考える。救世主は子羊をモノを見るような目で見、子羊が何を語っても病気の兆候を見るような目で見る。救世主にとって子羊は同じプロジェクトに取り組む同志ではない。救世主は世界中のすべての人々のことを自分が自分の能力を駆使して処理してやらなければならないブツだと考えている。だから救世主は孤独でほとんど誰とも考えをわかち合うことができない。
思うに本当の救世主とは、大戦争が起って人が1億人くらい死んだあとに「1億人では、人口爆発の解決にはほど遠い...」とつぶやくような人間のことだと思う。
参加してきました。写真撮るの忘れた。
初参加でしかも(4コマと表紙以外)絵のない本というハンディキャップのわりには売れたと思います。17冊だが。
しばらくは在庫を数冊常に持ち歩くようにするのでわたしの知り合いでほしいと思った人は会ったときに声をかけてください。基本的に小心なので「くれ」と言われないかぎり積極的にアピールしない場合が多いです。
■ 短評と簡単な紹介
http://www.at-akada.org/archive/
- 「忍者ごっこ」赤田敦騎士
わたしです。「電脳空間は最近流行りなんじゃないか」と森朋一騎士に言われたのでアピールしますが、電脳空間でバトルする忍者小説です。
以前よりひそかに抱いていた「宇宙にはただ1つの出来事しか存在しない」というわたしの妄想を電脳空間でSFで忍者小説な風にまとめました。
- 「地獄! 分身雪躱しの術」森朋一騎士
分身の術を「もう1人の自分が増えること」と捉え、分身の術についての新解釈を提示しています。小説ははじめて書いたらしいですが、これは結構おもしろいのではないかと思います。
- 「忍ぶれど色に出にけり我が合コン」騎士のようで騎士でない騎士
現代忍者が合コンに参加します。現代に生きる忍者というベタなテーマへ挑戦と、微妙にリアルな合コン風景が売りだと思います。すれ違う合コン風景を本人のキャラクターに重ねて読むとわりと萌えるかもしれません。
- 「忍者4コマ」いよかんの騎士
4コマの写植までやってくれたデザイナーの惣流=カガミ・ユビキタス騎士(本人が希望したペンネーム)が、コマのサイズがそろっていないことに衝撃を受けていました。
トーンは貼るがベタは斜線、枠線がはみ出でているなどのパンクな作風に加え、ファミリー4コマの文体を完全に自分のものにしたカッティングエッジな4コマ漫画です。「絵がいまいちだったのは時間がなかったのと秋月りすを参考にしたせい」などと、秋月りすに責任を押しつけようしていたのはいただけないと思います。
- 表紙、装幀
先端芸術を追求していたはずの惣流=カガミ・ユビキタス騎士(本人が希望したペンネーム)がはじめての萌え絵に挑戦してくれました。
丁寧な文字組みに加え、つくり込まれたロゴ、シンボルなど隅々まで手を抜かないプロの仕事を見せてくれています。修了制作前らしいのにいろいろ働いてもらって申し訳ないです。
■ 以下、自分用の感想。
去年文学フリマに参加したときは、イベント価格を100円に設定してがっと50冊くらい売り、その後知り合いに配ったらわりとすぐに本自体がなくなったのだが、今回は印刷所に頼んで多めに(200部だが)印刷し価格も少し高め(300円だが)に設定したので在庫はまだたくさんある。よくよく考えてみればイベント参加料自体はそこまで高価ではないし、印刷代と天秤にかけてもあまり負担にならない値段に設定しておいて、いろんなイベントに参加して少しずつ売っていくという手もあるのだなと思った。というか普通そうするんだなきっと。
そもそも小説というのは合う合わないがあるものなので、1つのイベントで無理やり80%の人に買ってもらうよりも、10のイベントに参加し、それぞれのイベントでそこそこ気に入ってくれた8%の人に売る方が売り方としては幸福かもしれない。
子どもが百人いる。彼らは十分論理的に思考することができ、またお互いの論理能力を信頼しあっている。
一人の教師がいて、子どもたちはこの教師の命令に背かない。教師は子どもたち一人ひとりに帽子をかぶせる。帽子には黒と白の二色があるが、自分が何色の帽子をかぶっているか、子どもには知らされない。当然他の99人の子どもが何色の帽子をかぶっているかは一目瞭然である。
教師は次のように言った。
「自分が何色の帽子をかぶってるか、見てはいけない。他人に聞いてもいけない。
君らのうち、少なくとも一人は黒の帽子をかぶっている。
私はこれから笛と太鼓を交互に鳴らし続ける。笛→太鼓→笛→...の順番だ。笛がなったら、全員目をつぶれ。そして自分が黒の帽子をかぶっているとわかったものは黙って手をあげよ。太鼓がなったら目を開けて他のものが手を上げたかどうかを見よ。」
実は100人全員黒の帽子をかぶっている。さあどうなる?
答え見たけど。
以下この答えになる理由について考えてみた。
思うに、以下の2点がポイントではないか。
- ゲームの参加者を人間だと思ってはいけない。こいつらは論理的に到達できる答えには必ず到達するし、わかったことを隠すこともできない。つまり一定のルールに従って動く、プログラムのようなものだと考えなければならない。
- 「自分以外の99人が見える」と思うとややこしくなる。A0にとって不確定なのはA0だけだが、「A0の想像のなかのA1」にとっては、A0の帽子とA1の帽子の両方が不確定のままになっている。「A0の想像のなかのA1の想像のなかの...」と重ねていくと、不確定な帽子の数はどんどん増えていく。
以下、任意の参加者A0の気持ちを考える。仮定より、A0, A1,...,A99は他の参加者の気持ちを想像することができる。
#A0の気持ち。 自分が白だと仮定する。 このとき、まわりの人間(仮にA1とする)には1人の白い帽子の人間が見えているはずだ。 A1の気持ちを考えよう。
#A0が思うA1の気持ち。 (眼前に白帽子が1人) 自分が白だと仮定する。 このとき、まわりの人間(仮にA2とする)には2人の白い帽子の人間が見えているはずだ。 A2の気持ちを考えよう。
#A0が思うA1が思うA2の気持ち。 (眼前に白帽子が2人) 自分が白だと仮定する。 このとき、まわりの人間(仮にA3とする)には3人の白い帽子の人間が見えているはずだ。 A3の気持ちを考えよう。
...
#A0が思うA1が思う...A99の気持ち。 (眼前に白帽子が99人) 自分が白だと仮定する。 このとき、自分が白だと仮定すると黒が1人もいなくなり、題意に反する。 よって自分の帽子は黒である。
# 以下鐘が鳴るたびに起る出来事。
1度目の鐘。 誰も名乗りでない。 #A0が思うA1が思う...A98の気持ち。 (眼前に白帽子が98人) 自分が白だと仮定すればA99は名乗りでるはずだ。 よって自分の帽子は黒である。
2度目の鐘。 誰も名乗りでない。 #A0が思うA1が思う...A97の気持ち。 (眼前に白帽子が97人) 自分が白だと仮定すればA98は、A99が名乗りでなかったことにより、名乗りでるはずだ。 よって自分の帽子は黒である。
3度目の鐘。 誰も名乗りでない。 #A0が思うA1が思う...A96の気持ち。 (眼前に白帽子が96人) 自分が白だと仮定すればA97は、A98, A99が名乗りでなかったことにより、名乗りでるはずだ。 よって自分の帽子は黒である。
...
98度目の鐘。 誰も名乗りでない。 #A0が思うA1の気持ち。 (眼前に白帽子が1人) 自分が白だと仮定すればA2は、A3, A4,...,A99が名乗りでなかったことにより、名乗りでるはずだ。 よって自分の帽子は黒である。
99度目の鐘。 誰も名乗りでない。 #A0の気持ち。 (眼前に白帽子が0人) 自分が白だと仮定すればA1は、A2, A3,...,A99が名乗りでなかったことにより、名乗りでるはずだ。 よって自分の帽子は黒である。
以上により、100度目の鐘によってA0は名乗りでる。
A0は任意の子どもであるため、全員が名乗りでる。
■ 補足
ただし本当は、上記の推理が成り立つためにもう1つ仮定が必要だと思う。
彼らは十分論理的に思考することができ、またお互いの論理能力を信頼しあっている。
この仮定が述べているのは、A0がA1,A2,...,A99の論理能力を信頼しているというとこまで。
この仮定だけだと、A0にとって「A1がA0,A2,...,A99の論理能力を信頼しているかどうか」はわからないままになってしまう。
しかし、多分そういうメタな知識まで仮定しないと成り立たない話なのではないか。
だから本当は、「彼らは十分論理的に思考することができ、またお互いの論理能力を信頼しあっており、お互いがお互いの論理能力を信頼しあっているということを知っている」という仮定が必要な気がするぜ。
■ 補足2
100人だからむずかしいが、3人だとわかりやすい気がする。
A0, A1, A2の3人がいる。
A0「おれが白だとすると、A1がどう思うか考えてみよう。A1はきっとこう思うはずだ」
#以下A0の想像するA1
A1「お、A0は白い帽子か。これでおれも白い帽子なら、最低1人は黒がいるはずだから、A2が名乗りでるはずだぜ。次の鐘でA2が名乗りでるかどうか待ってみよう。もしA2が名乗りでればおれは黒だし、名乗りでなければおれは白のはずだ」
##しかし2回鐘がなっても、A2もA1も名乗りでない
だから3回目でA0が名乗りでる。
■ SITEINFO
{ url: 'http://www.at-akada.org/blog/',
nextLink: '//div[@class="foot_navi"]/*[@class="link_to_previous"]/a',
insertBefore: '//div[@class="foot_navi"]',
pageElement: '//div[@class="asset-content"]/parent::div'
}
AutoPagerize用のSITEINFO書いてみたが、自分で投稿するのがためらわれるので、使いたい人は適用してぬ。
■「母さん 僕のあの帽子 どうしたでせうね」
昔、ドラえもんにでてくるのを見たことがあって、他のどこかでも見たことがあって、「あーあのドラえもんにも出てきた、どっかに飛んでった僕の帽子がどうのとかいう詩、有名な詩だったと思うんだけど、誰のなんという詩だったっけ?」とずっと思っていた。
数年前に、KTRか誰かと、「ドラえもんに出てきたよね?あの詩なんだっけ?」という話をしたこともあったような気がする。
今日、ひさかたぶりに答えがわかった。西条八十の「帽子」という詩だそうだ。
■ Amazon Webサービスからランダムにカスタマーレビューを取得するには...
ちょっとカスタマレビューを集めていて、Amazon APIから取ってきているのだが、ランダムに取得する方法が思いつかなかったのでBrowseNodeタイプの検索を使って、ランダムなページ番号から取得するようにしている。しかし、おそらくあのBrowseNodeタイプの検索って、全ての商品がリストアップされているわけではないよな。
どうもページ番号の最大値は250であるようなのだが、おそらく250ページ以降の商品についてはカットされているのだろう。つまり、BrowseNodeタイプの検索を使うと、ランキング上位の商品に偏ってしまうような気がする。
できればカテゴリだけを決め、そのカテゴリの中から完全にランダムに取ってこられるようにしたいのだが、何かよい方法はないかな。ISBN(ASIN)検索でランダムなISBNをとってくるという方法も考えたのだが、なかなか実在するISBNに出会わないのであきらめた。
■ わーどについて
先日はMSWordを貶したので今日はWordを使いこなしていることをアピールしておこう。
地味にWordのショートカットを覚えようとしたりしている。このあいだ2つショートカットを覚えた。テキストのスタイルを指定するには、F10->o->s。改ページを挿入するには、F10->i->bだ。ちなみにこれもちょっと前に覚えたのだが、IEでアドレス欄にフォーカスするには、Alt+D。
■ Prism
http://wiki.mozilla.org/WebRunner
これ、すげー便利。
GoogleカレンダーやGmailを開くのに、いちいちFirefoxやIEを開かなくてもよくなる。
Webアプリの対応から外されがちなブラウザ(たとえばOpera)のユーザー以外にとって便利かどうかはわからないが。
■ BibTexで
しばらくBibTeXと格闘していた。
まず、utf-8の文献リストを扱おうとすると文字化けしてエラーがでる。
ちなみに本文はutf-8で、文献リストもutf-8。utf-8にしないとWebSVNが文字化けするので文字コード自体は動かせない。
これについてはいろいろ悩んだあげくBibTexの実行時に「--kanji=utf8」というオプションをわたせばいいことに気づいた。
次に、翻訳書を参考文献リストにどうやって記述しようかと考えあぐねる。bstファイルを自分で書くのはいやなので、探し回ったあげく、RubyによるBibTeXクローンというのを見つけ、それを使おうとしてみたが、完成度がいまいちなのとコードが気持ち悪かったので、手を加えかけ、「いっそ自分でゼロから書いた方が早いんじゃないか」と思いたち、bibファイルのパーサを書きかけ、3時間くらい経過したところで我にかえる。反省し、あきらめて文献リストを\thebibliographyの形式に戻す。われながら頭の悪い時間の使い方だった。
■ 関係ないが
はてなダイアリーに少し前に追加された「その場ページ移動」機能は便利だな。
Movable Typeにも似たものを実装したいが、時間がない......。
■ 本メモ
セオドア・サイダー(著), 小山虎(訳)
春秋社、2007
多分今は買わない。
特に誰も興味ないと思うが唐突にJavaScriptについて。
JavaScriptの言語仕様は不思議だ。わたしは以下のことを学ぶのにずいぶん長い時間を要したと思う。
4点を覚えれば十分だと思う。
ただしいくつかの部分は、
- javascriptを理解するためのたった2つの大切なこと
http://anond.hatelabo.jp/20070622101313
のパクり。
- オブジェクトはハッシュ
- クラスはfunction
- インスタンスはprototype
- "()"は特別な関数
の4本。
■ オブジェクトはハッシュ
上の増田の記事にもあるように、JavaScriptのオブジェクトはハッシュ(連想配列)。
なんでハッシュがオブジェクトなのか。
オブジェクトというのは、1個のキーワードによって複数の変数と関数を束ねたもののことだから。
たとえばRubyで、
Hoge = {
:name => 'hoge',
:func => lambda{|i| return i*2}
}
と書く。
Hoge[:name] => "hoge" Hoge[:func].call(2) => 4
これってクラス変数とクラスメソッドじゃね?
少なくとも、
class Fuga
@@name = 'fuga'
def func(i)
return i*2
end
end
Fuga.name => 'fuga' Fuga.func(3) => 6
に形は似ている。呼び出し方が違うだけ。
JavaScriptだと、
Hoge = {
'name': 'hoge',
'func': function(i){ return i*2}
};
Hoge.name; => "hoge" Hoge.func(2); => 4
と書ける。これはもうRubyのクラスメソッド、クラス変数と同じ形。
■ クラスはfunction
でもハッシュだけではインスタンスをつくれない。
どうやってインスタンスをつくるのか。
function double(n){
alert(n*2);
}
var d = new double();
実はJavaScriptのfunctionにはすべてnewを適用することができる。
これによってfunctionの子供(インスタンス)がつくられる。
しかしここでできたインタンスにはまだ何の能力もない。
■ インスタンスはprototype
function double(){}
double.prototype = {
'name': 'double',
'func': function(n){
return n*2;
}
}
var d = new double();
d.name; =>'double' d.func(2); => 4
プロトタイプに登録した変数や関数は、すべてのインスタンスにコピーされる。基本的にはそれだけ。
上の例では、
- new を適用した時点で、インスタンス"d"にdouble.prototypeの中身をコピー。
- function doubleを実行。この場合、何も書いてないので何もしない。
という2つのことをやっている。
ここまでをまとめると、
//クラス作成
function Human(){}
//クラス変数、クラスメソッド
Human.name = 'Human',
Human.birth = function(name){
var _man = new Human();
_man.name = name;
return _man;
}
//インスタンス変数、インスタンスメソッド
Human.prototype = {
'hello': function(){ alert('Hello, my name is ' + this.name)},
'bye': function(){ alert('Bye') }
}
var taro = Human.birth('taro');
taro.hello();
■ "()"は特別な関数
function plusOne(n){
return n+1;
}
plusOne;
とやると、返り値はfunctionオブジェクト。
plusOne(5);
とやると、返り値は6。
つまり"plusOne"は関数オブジェクトの名前。"()"は、関数オブジェクトを実行するための特別な関数。Rubyでいう"Proc#call"。「実行せよ」という意味。
おそらく変数"plusOne"には関数内の手続きを格納したメモリのアドレスが登録されており、"()"はそのメモリアドレスに書かれた手続きを実行するための特別なキーワード、というようなイメージなのだと思う。
ブックマークレットなどで見かける以下の書き方もこれで理解できる。
(function(){alert('aaa');})();
これは、"function(){alert('aaa')}"を、引数無しで実行せよという意味。
(function(){return arguments;})(1, 3, 4);
=> [1, 3, 4]
これは、"function(){return arguments}"を、引数1,3,4を与えて実行せよという意味。
おわり。
■ 敵か味方かでしか見られない人
最近、「世の中には、他人を敵か味方かでしか見られない人がホントにいるんだなー」と思わせるような出来事があった。
しかし他人を敵か味方かでしか見られない人は往々にして、自分がそういう人だとは気がついていないわけだ。そこで振りかえって自分を考えるに、「もしかして自分もそうかもしれん」と思って、知り合いを何人かあげて考えてみたが、特に敵も味方もいないような気がした。
だいたい「敵」「味方」って人にくっつく属性ではなく、「この局面においてはAは敵でBは味方」みたいな風に、局面と人の2項をとる述語のような気がする。たとえばわたしは肉を食べに行きたいが、数人が魚を食べに行きたいというときに、「こいつは味方、こいつは敵」みたいな場合はあるが、文脈も何も無しに「敵か味方か」って考えても全然わからないカウボーイ。
というか、よく考えたらそれが当り前な気もする。そもそも「敵か味方かでしか見られない人」も、多くの人間(たとえば通行人)に対しては絶対に「どうでもいい相手」としか思っていないはずで、役所に書類を出すときは、相手を敵でも味方でもなく「役人」と見ているはずで、じゃあ「敵か味方かでしか見られない」ってどういうことなんだろうと思った。
■ 買う本
『[改訂第3版]LATEX 2ε美文書作成入門』と『[改訂第4版]LaTeX2ε美文書作成入門』で、どっちを買うべきか迷っている。
あと『文書処理システムLATEX2ε』がほしい。
美文書作成はいつでも買える気がするが、レスリー・ランポートの本はなくなったら後悔しそうなのでランポートの方を買った。
あとLaTeX2εの読みって「ラテフツーイプシロン」でいいのかな。「ラテフツーイプシロン」って笑わずに発音できる自信がないのだが。
■ ベクターイメージとビットマップとマークアップとWYSIWYGとOOP
昔、イラレとフォトショどっちが好きかという話しをしていて、「ペイントツールはギター、ドローツールは打ち込み」だと思った。
ちなみにわたしはドローツールの方が好きなわけだが。あんまりやらないが、たまにベジェ曲線で絵を描くと楽しい。思うに、円を描いたらやっぱり円をつかんで動かせるべきだと思うんだ。
今思えばこういう言い方もできるが、円を描いたり、四角形を描いたり、線を引いたりしているのに、それが「円」や「四角形」や「線」ではなく、ドットの集合としてしか扱えないのって気持ち悪くないか?と。いまいちペイントツールが好きになれない理由はその辺にあるような気がする。
これはMSWordがなぜイヤかという話にも少しだけつながっていて、文書がバイナリデータとして保存されるのって気持ち悪くないか?と。まああと、メジャーなものはとりあえず嫌っとけというライフハックもなくもなくもないが、そもそもバイナリになるのが気持ち悪いので、Wordがダメで一太郎か、あるいははたまたInDesignだったらよいという話でもない多分。
(ドローツールだって絵はドットの集合で、テキストデータだって実体はバイナリで、TeXだってコンパイルすれば一緒なわけだが体感的な問題として)
だからTeXが使いたかったわけだが、いざ書いてみるとTeXはきれいに書くのがむずかしい。どうしてみんな<bold>とか書くと怒るくせに、TeXの解説を見ると「こうすれば文字が太くなります」みたいなことが平気で書いてあるんだ。傍点が\bou{}とか全然納得いかないぞ。どうして\ten{}じゃないんだ、とかいう問題ではなく。\renewcommand{\emph}[1]{\bou{#1}}でいいっちゃいいが。
思うに、TeXなりLaTeXなりといった形式はいずれ滅びるかもしれないが、正確にマークアップさえされていればそれをXMLなりHTMLに変換することもできる(やすい)のだから、文書の表現形式として考えた場合、「こうすれば文字が大きくなります」みたいなのはダメなんじゃないか。少なくともわたしの場合、「数式がきれいに書ける」とかはあまり関係ないので、どっちかと言えばマークアップ言語としてのLaTeXみたいな方が重要なので、何かそういう理屈をつけないかぎり、使いつづける動機がわいてこない。
しかしそうするとマクロもクラスファイルも自分で書かなきゃいけなくて、TeXレベルの実装とLaTeXレベルの実装はどういう風に分かれているのかなとか気になってきて、勉強しようと思って本を買うと「こうすれば文字が斜体になります」とか書いてあってムキーみたいな連鎖が。
しかしビットマップの方が「絵を描く」という行為には近いし、WYSIWYGな文書ツールの方がどう考えても敷居は低い。
(関係ないが、WikipediaによるとWYSIWYGはパロアルト研究所で生まれた言葉だそうですね)。
まあHTMLに対応するツールはたくさんあるのだから、HTML+CSSがもう少し印刷に対応してくれて、ブラウザごとの違いなどがなくなればそれでいい気もするが。というか今ふと気がついて、WordでHTMLとXMLとRTFへの変換を試みてみたが、やっぱり気持ち悪かった。あーでもこっち方面でがんばればWYSIWYGでマークアップで透明な文書作成の道もないではないなあ。しかし「Wordで開いてください」って言いながら".xml"ってファイルをわたす人はキモいな。
関係ないが(思うにわたしの書く文章はこればっかりだな)、「解釈の多様性」について述べるときに、「何しろプログラムであるところのブラウザによる解釈さえバラバラなのであるから、人間による解釈が一致しようはずもなく」っていつか絶対どこかで使おうと思いつつ、使うチャンスを見出せないでいる。
OOPの話を書いてなかった。DOMについて最初はよくわかっていなかったが、使っているうちに文書、データの表現形式であるマークアップ言語をプログラムの枠組みであるところのオブジェクト志向の側からうまく扱うための仕様なのだなあと気づいて、すごいなーと思った。まる。
■ 本メモ
三才ブックス、2007
これは買おうかな。
■ティアズマガジン
わたしはまだ確認していないのだが、ティアズマガジン(コミティアのカタログ)がもう出てるらしい。すでに入手した人の話によると、サークル紹介のトップに載っているそうだ。「アーカイブ騎士団」というサークル名にして本当によかったと思った。
■宗教万歳
なんというか「おれちょう個人主義ですげー、愚民扇動されすぎでやべー」みたいな発想があまり好きではない。あまりうまく言えないが。
その延長線上で「まるで宗教だ」みたいな言いぐさが苦手。「は? 宗教上等宗教万歳だろ。てゆうか宗教無しで生きていけるわけねーだろ」と思ってしまう。
思っていることを、あまりうまく書けなかったのでここでやめる。
■ JavaScriptでeach
たまに無性に"array.each"と書きたくなるので実装方法をメモしておく。prototype.jsに入ってるやつ。
arr = ["a","b","c"];
for(var i, leng=arr.length; i<leng; i++)
document.write(arr[i]);
↑こう書いていたのが、
["a", "b", "c"].each(function(i){
document.writet(i);
});
↑こういう風に書けるようになる。
prototype.js v1.4の該当箇所はこんな感じ。
var $break = new Object();
var $continue = new Object();
var Enumerable = {
each: function(iterator) {
var index = 0;
try {
this._each(function(value) {
try {
iterator(value, index++);
} catch (e) {
if (e != $continue) throw e;
}
});
} catch (e) {
if (e != $break) throw e;
}
}
}
Object.extend(Array.prototype, {
_each: function(iterator) {
for (var i = 0; i < this.length; i++)
iterator(this[i]);
}
}
あーなんかむずかしいなー。
eachと_eachが分かれているのは、prototype.jsでは、Enumerableクラスをまず抽象クラスとして定義し、それをArrayやHashなどのクラスで継承しているため(これはRubyのまね)。
$continue, $breakの部分は、continue, breakにあたる操作を"throw $break""throw $continue"で実現できるようにするためらしい。
でも、とりあえず、上のような書き方がしたければ、簡易的に
Array.prototype.each = function(iterator){
for(var i=0, leng=this.length; i < leng; i++)
iterator(this[i]);
}
と書くだけでよいはず。
■ 携帯
携帯買った。3年使った後だったので安かった。
何しろずっと3年以上前の携帯を使っていたので時代に完全に取り残されていたことに気づく。例によって下調べ不足で買ってから気づいたのだが、オープンアプリというのは昔auにあったJAVAアプリやdocomoのiアプリとはかなり違う(制限のきびしい)ものなんだな。
以下の3つの関係が全然わかってなかった。
- EZアプリ(JAVA)
- JAVAで書かれたアプリ。auに切られたため現在対応機種はつくられていない。
- EZアプリ(BREW)
- C/C++で書かれる。JAVAアプリより書くのは大変で審査がないと公開できない。携帯で動かすために認証が必要なので勝手アプリをつくるのはほぼ無理。
- オープンアプリ
- EZアプリ(JAVA)にかえて導入された。公式コンテンツであるBREWに対して、勝手アプリをつくれる環境という位置付け。オープンアプリプレイヤーというBREWによるJAVA仮想マシン上で動く。1日3M以上の通信はできず、通信をしようとするたびにユーザーに確認を求めるなど、制限がきびしい(「おまえらは子供だましのゲームでもつくってろwww」というauの方針のため)。
とりあえず、「まずは専ブラかな」と思ったのでオープンアプリ版のiMonaとGikoletを入れてみた。iMonaはなんかかわいいな。しかしどっちにしても、新しいページを開こうとするたびに確認ダイアログがでてうぜー。auうぜー(この辺でauにしたのをかなり後悔しはじめる)。
Flashで動くAndyというのも試してみた。数字キーで操作するのに慣れなくてちょっとつまずく。あとは、Webアプリケーションとして提供されているものがいくつかある。どれがいいんだろう。
マイクロVNCというのを入れる。また下調べが足りなかったわけだが、これはエスエスエイチクライアントというよりリモートデスクトップだった。とりあえずSSHでログインできればよかったのだが、VNC鯖を立てねばならないらしい。
で、きちんとセッティングすると、携帯のなかでWindowsの画面が動く。すごいけど、通信量を考えると、CUIでログインできる方が現実的なような......。docomoで出てるらしい携帯版のPuTTYみたいなやつがほしい。
キーボードも買ったよ。
あとはテキストエディタがほしい。しかし、探してもない! これはショック。
auは何考えてんだ。ユーザー(おれ)が求めてるのは、無料ゲームじゃなくて携帯で長文がかけるエディタに決まってるだろうに。
腹が立ったので、「よーしWebアプリだWebアプリをつくればいいんだろ」と思い、PCサイトビューア(Opera8.6)で動くエディタをつくりかける。←今ここ
携帯の字数制限に対応するため、クリックでテキストエリアを増やしたり、showhideできるようにして、まとめて保存できるようにした。とりあえずサーバーに保存するだけ。
http://www.at-akada.org/download/mobEditor.zip
あとはファイルの読みこみとメール送信機能がほしいな。
■SVK インストールメモ
Subversion(バージョン管理システム)のリポジトリをサーバー上に置いたのはよいのだが、そのせいでわたしはインターネットにつながらない環境では、修論を書けなくなってしまった。インターネットにつながる環境にいるとインターネットをしてしまうのでこれはいわば修論が書けないという窮地に置いこまれたわけだ。
しかし今日、ローカルにリポジトリのミラーを作成できるSVKというものが存在することを知った。ので使うことにした。
以下インストールのメモ。
1. 本家サイトより、Windows用インストーラーをダウンロード。
http://svk.elixus.org/view/SVKWin32
2. 実行。
インストールする場所を選ぶ。インストールするとSVKがインストールされたディレクトリにパスが通る。
3.ローカル用のリポジトリを置く場所を適当に決め、環境変数SVKROOTに設定。
SVKROOTを設定しない場合、環境変数HOMEに設定されたディレクトリが選ばれる。
デフォルトではC:\Documents and Settings\ユーザー名\。Cygwinが入ってる場合はCygwinのルートディレクトリになってしまうかも。
確認したれば、コマンドラインで
echo %HOME%
とか
echo %SVKROOT%
とか。
4.初期化
この時点でパスが通ってるはずなのでとりあえずどこでもいいから適当な場所でコマンドプロンプトを使う。
svk depotmap --init
(SVKROOT)/local というディレクトリをつくるがいいか?と聞かれる。
5.ミラー作成
たとえば
svn+ssh://akada@sample.akada.com/repos/master_thesis
にリポジトリがある場合...
svk mirror //mirror/master_thesis svn+ssh://akada@akada.com/repos/master_thesis
((SVKROOT)/mirror/master_thesisにリポジトリができる)
6.コミット用のコピーを作成
むずかしいことはよくわからないがコピーをつくってコピーの方にコミットせねばならないらしい。
svk cp //mirror/master_thesis //master_thesis
7.チェックアウト
今つくったコピーの方にチェックアウトする。TortoiseSVNでやってもいいし、svnコマンドでやってもいい。
作業スペースに使いたいディレクトリに移動して、
svn co //master_thesis
みたいな感じだった気がする。
8.コミットするとき
まず、ローカルリポジトリにコミット。
svn commit --message "わーいでけたよー"
(もちろんTortoiseSVNでやってもいい)
次に、
svk push --verbatim //master_thesis
(--verbatim は複数のコミットをまとめて送信する場合のオプション)
svkのコマンドは、push.batとかの名前で保存しバッチファイルにしておくとよい。
9.更新するとき
svk sync //mirror/master_thesis svk pull //master_thesis
あとはsvnでワーキングコピーを更新。
svn update
だっけ。
わたしはひとりで使ってるからいいが、複数人で使う場合、リモートリポジトリとローカルリポジトリとワーキングコピーの3層のいろんなとこで衝突が起ったりして激しく頭が混乱しそうな予感。
■ 消せないファイル問題
Windowsを使ってるとときどき消せないファイルができてしまうじゃないか。
しかもホームエディションを使っていたりするとファイルの権限をプロパティから変更できないので、結構困った事態に陥ってしまう。
あくまでもGUIから何とかしようとすると、ホームエディションのWindowsでは、セーフモードで起動して、Administratorとしてログインし、しかる後に権限を変更するしかないような気がする。
しかし、最近は結構知恵がついたので何となく対応策がわかった気がするのだが。
これは要するに、ファイルのアクセス権から自分が消されているために発生する問題であるわけだな。Windowsのアクセス管理システムはUnixより複雑でわかりにくい上に、ふつうのユーザーから隠されてる部分が多いのでいろいろむずかしいが。
たとえば、
C:\Documents and Settings\akada\My Documents\エロフォルダ\エロ画像.zip
というファイルが消せなかったとする。
思うにこの場合、コマンドプロンプトで、
cd "C:\Documents and Settings\akada\My Documents\エロフォルダ" cacls エロ画像.zip /g everyone:F
でいいんじゃにゃあか。
Windows NT系(Win2000以降)の場合のみだが。
とりあえず権限だけ確認したい場合は
cacls エロ画像.zip





