2007年9月
■ 思った
人間というのは基本的に、自分の生き方はまあまあ正しいと思って生きてるはずじゃないか。
しかし他人というのは自分とちがう生き方をしている。しかもそのやり方でそこそこうまくいっていたりする。だから他人のことを知るととりあえず真似してみたりするわけだが、何でも真似できるとはかぎらない。つまりどこかにこれは真似できないとか真似をしたくないという一線があり、そこから先は自分が正しいとは思っていない生き方で生きている人を見ることになる。まあ職業選択とか、狭い意味での生き方のレベルでは他人の生き方などどうでもいいかもしれないが、むずかしいのは趣味の問題だ。おうおうにして、趣味Aは趣味Bの否定を含んでいたりするにもかかわらず、他人は趣味Bで生きていたりする。趣味Bで生きる他人に接することはいわば自分の生き方をつねづね否定されているようなものなので、しばしば衝突が起る。だから人と親しくなることは、しばしば衝突の危険に身をさらすことであったりする。
というようなことを思った。こういうことを考えているとまるで人と衝突しているかのようだが、特にそういうことはない。
■ 買った本
何度も買ってるような気がするが、ひょっとするとこれがはじめてかもしれない。3回目くらいだったかもしれない。
昔、知り合いに、『伝奇集』をつねに複数買っておいて、すきあらばそれを他人にプレゼントするという男がいた。俗に言う「保存用、観賞用、布教用」というやつだろう。しかしよく考えると彼は女の子にしかプレゼントしていなかったような気がする。『伝奇集』をプレゼントしても別にもてないと思うのだが、その辺は何か、男にプレゼントなどあげたくないというようなすけべ心があったのかもしれない。
今回は、「死とコンパス」を読みたくて買った。ひさびさに読みなおしたが、これはすばらしい短編だと思う。
ロジカルであるということは、基本的に「馬鹿馬鹿しいことを考える」ことであると思うのだが、その点ボルヘスは実にロジカルだ。
「お前の迷路には三本、よけいな線がある。ギリシアの迷路を知っているが、これは一本の直線だ。その線のなかで、じつに多くの哲学者が迷った。一介の刑事が迷ったって、ちっともおかしくない。シャルラッハ、生まれかわってまたおれを追うときは、A点で犯罪を犯すふりをしろ(あるいは犯せ)。それから、A点から八キロ離れたB点で二番目の犯罪を、A点とB点から四キロ離れていて二点の中間にあるC点で、三番目の犯罪を犯すんだ。そしてそのあと、A点とC点から2キロ離れていてやはり中間にあるD点でおれを待て。いまトリスト=ル=ロワでおれを殺そうとしているように、このD点でおれを殺すんだ」
■ もよおし
http://www.nntt.jac.go.jp/season/updata/20000031.html
見た。
聞くところによれば、他人はあまり思い出し笑いをしないらしいのだが、わたしはひとりで歩いている時間のほとんどの間、思い出し笑いをしている。
これはわたしの連想が飛びがちであるのと、笑いの沸点が低いことに原因があると思われる。噂によれば、大人はあまり「ヘンな顔」とか「ヘンな形」とかで笑わないらしいのだが、わたしは「やっべ、あの木、すげーヘンな形www」とか「ちょっwwwあのポスターwww」などの原因で笑ってしまうし、たとえばビルを見ると、ビルにまつわるおもしろい記憶などを思い出して笑ってしまう。
しかるに、ダンスやライブなどの場合に顕著なのだが、これらのパフォーマンスには、さまざまなイメージがちりばめられているため、それらのイメージがいちいち記憶を刺激し、わたしはそれを見ている間中ずっと思い出し笑いをしていることになる。
たとえばちょっとした動きがきっかけで、高校生の頃、友達が「新しい筋トレ考えた」と言って、片手をしゅばっと振りおろす運動をずっとしていたことを思い出して笑ってしまったりする。あと動きやイメージで連想がはたらくので、舞台を見ている間は、ずっと「あ、今の動き、コマネチ」「やべー、ショッカーでてきた」みたいなことを考えている。これはコンテンポラリーダンスの鑑賞態度としてどうなのだろうと思わないでもないのだが、自分では特に問題があると思っていないので、直すつもりもない。暗いから笑っててもバレないしね。
■ 新刊とか
わたしがほにゃで発見したことを書く。
バートランド・ラッセル(著), 高村夏輝(訳)
ちくま学芸文庫(筑摩書房)、2007
■ 再帰
「再帰(recursive)」という語の意味を日本語で説明しようと試み、しばらく考えることがある。
これについては今のところ、「先行-後続の関係で結ばれたものの集まりにおいて、先行の要素から後続の要素に向けて同じ操作を繰り返すこと」という暫定的な解答を得ている。
(「操作」という語は最大限広義に解釈するものとする)
まず用法の具体例を示す。
たとえば、ディレクトリを、中にあるディレクトリやファイルごとコピーすることを「リカーシブにコピーする」と言う。これは、最初に一番上のディレクトリをコピーし、次にその中にあるものをすべてコピーし、次に、その中にもしもまたディレクトリがあれば、そのディレクトリに対して同じことを繰り返し、末端の要素にいたるまでその一連の操作をつづけることを言う。
コピー1: D1のコピー コピー2:=>D2のコピー コピー3:=>D3のコピー =>終了
この場合は、ディレクトリのリストに対し、コピーの操作を繰り返している。
また論理学などで見られる語用に、「再帰的定義」というのがある。これは以下のようなものである。
- 1 原子式は論理式である
- 2「NOT(論理式)」は論理式である
- 3「(論理式)OR(論理式)」は論理式である
- 4 1, 2, 3によって論理式とされるものだけが論理式である
このような定義においては、先行の要素に"AND""OR"を付加することで、次々と新たな論理式を得ることができる。
定義1:P1は論理式である 定義2:=>P2: NOT(P1) は論理式である 定義3:=>P3: (NOT(P))OR(P) は論理式である ...
この場合は、論理式のリストに対し定義の操作が繰り返される。
また反対に、A(n)が論理式であるかどうかを判断するには、まずA(n)が
NOT(...)
(...)OR(...)
の形であるかどうかを判断し、もしもそうであれば、(...)に対し同じことを繰り返せばよい。
また、プログラミングの用語で再帰的な関数というものがある。
これは以下のようなものである
def fact(n)
if(n==0)
return 1
else
return n * fact(n-1)
end
end
ここでfactは自分のなかで再び自分を呼び出している
呼び出し1: fact(3) 呼び出し2:=>3 * fact(2) 呼び出し3:=>2 * fact(1) 呼び出し4:=>1 * fact(0) 呼び出し5:=>fact(0) = 1
この場合は関数の呼び出しが繰り返される。
また再帰的な省略語とか再帰的命名と呼ばれるものもある。
- 再帰的頭字語 - Wikipedia
http://ja.wikipedia.org/wiki/%E5%86%8D%E5%B8%B0%E7%9A%84%E9%A0%AD%E5%AD%97%E8%AA%9E
GNU は"GNU is NOT UNIX"の略とか、VISA は"Visa International Service Association"の略であるとか、そういう略語を指す。
(というか。VISAカード がこの例だったというのははじめて知った)
しかし、私の思うに、これを再帰的頭辞語と呼ぶのはおかしい。
略語の復元は基本的にすべて再帰的な操作であるはずである。
これを説明するために略語のなかに再び略語を含む略語の例を探したが、スーパーファミコンしか思いつかなかった。
(ただし、正確に言えば、スーパーファミコンの正式名称はスーパーファミリーコンピューターではない。思うに、これは任天堂が再帰性に潜む無限の存在に恐怖したためであろう。これでは、あえて無限を恐れないVISAカードに勝てようはずがない)
復元1: SFC は Super Famiconの略 復元2:=>Super Famikonは Super Family Computerの略
ここで再び、Family Computerが何かの略であれば、復元の操作を再び繰り返さなければならない。これは十分に再帰的な操作であり、もしも略語を復元するようなプログラムがあれば、間違いなくそれは再帰を用いて書かれるのではないかと思う。
したがって、GNU が"GNU is NOT UNIX"の略であることを「再帰的」と言って喜んでいるのはまったくおめでたいことである。これはむしろ「反射的」と呼ぶべきだろう。
(前にshimが"GNU"が"GNU is NOT UNIX"の略と聞いて、「プログラマーを一列に並べて銃殺したい」と言っていたのがおもしろかったのでわたしも真似して馬鹿にしてみた。しかし、正直に言うと"GNU is NOT UNIX"という発想はそんなにきらいではない)。
■ 考察:
再帰性に必要なものは何か。順序性である。
人はしばしば入れ子と先行-後続を直観的にわけて考える。しかしこの両者はともに順序性を持つため、再帰的な操作によってもれなくすべての要素を扱うことができる。
では順序性の本質とは何か。
1対多である。
1つの親要素に対して複数の子要素があるのはかまわない。
しかし再帰的に処理される対象は、つねに1つの親要素に対して複数の子要素を持つのでなければならない。
なぜならば、親要素の数が一定でないならば、反復の操作によってすべての要素をつくすことができないからである。その場合は、対象に順序性を持たせる工夫であるとか何とかが必要になる。
以上。
■ 反省
先日のおみ子さんフィルタは、重いし精度が悪いしでできがよくなかったのでつくり直した。
[Patterns]
Name = "Add Link to Hatena Diary Title"
Active = TRUE
URL = "d.hatena.ne.jp/*/*"
Limit = 250
Match = "(<h1>)\1([^<>]+)\2$STOP()"
Replace = "$URL(\u&&(*\h/\3/*))"
"\1<a href="http://d.hatena.ne.jp/\3/">\2</a>$STOP()"
つくっている内に発見したことを書く。
ちょっと難しかったのは、はてなidをどう取得するかという点なのだった。
どう取得すればよいかというと、もちろんURLから採るのがよいに決まっている。
そして「\u&&(*\h/\1/*)」と書けば、idの部分が変数\1に格納されるのだが、これをこのまま書くと、「このページのURLにマッチする文字列」という意味になってしまう。
別にURLにマッチさせたいわけではないので、マッチはエスケープして、変数への格納だけを実行したかった。
それをどうやってやればよいのかわからなかったのだが、試行錯誤しているうちにできた。
正解は、"$URL(\u&&(*\h/\1/*))"だった。
(「括弧内の文字列はURLか?」という意味)
この解答はなかなかむずかしかったが、いじっている内におみとろんの検索言語に無駄に詳しくなってしまったのでよしとする。
■ Movable Type のサイドバーでアクティブなページのスタイルだけを変更
ついでに最近仕事でいじっていたせいでMTについても無駄に詳しくなってきたので、そっちの方で学んだことも書きしるしておく。
サイドバーに、メニューなどをだしているとき、アクティブなページのスタイルだけ変えたいことがあると思う。
これをMTのテンプレートタグでやろうとすると意外に大変なのだが、以下の方法はかなり幅広く適用できる。
Movable Typeには、独自のループタグがある。
(複数形のタグは大抵これ)
<$MTEntryTitle$>
これは
#=> 現在のページのエントリータイトルを出力
という意味だが、一方、
<MTEntries> <$MTEntryTitle$> </MTEntries>
とすると、
#=> すべてのエントリーの中のそれぞれのエントリーについて #==> エントリーのタイトルを出力
という意味になる。
これはふつうのプログラム言語だと、
for e in entries{
print(e.title)
}
みたいな感じだと思う。
つまり、<MTEntries><MTCategories>とか、その手の複数形のコンテナタグは、コンテクスト内のテンプレートタグに対し、エントリーやカテゴリーの配列をひとつずつわたす。
だから、たとえばエントリーのリストを出力したいときは、
<MTEntries> <MTEntriesHeader><ul></MTEntriesHeader> <li><a href="<$MTEntryPermaLink$>"><$MTEntryTitle$></a></li> <MTEntriesFooter></ul></MTEntriesFooter> </MTEntries>
みたいな感じになる。
一方、現在ひらいているページのスタイルだけ変えるには、以下のようにすればよい。
(多分他にも方法はあるが、このやり方は、アーカイブでもカテゴリでも幅広く使える)
<MTSetVarBlock name="this_id"><$MTEntryID$></MTSetVarBlock> <MTEntries> <MTSetVarBlock name="itr"><$MTEntryID$></MTSetVarBlock> <MTEntriesHeader><ul></MTEntriesHeader> <li class="<MTIf name="this_id" like="$itr">active<MTElse>nonactive</MTIf>"><a href="<$MTEntryPermaLink$>"><$MTEntryTitle$></a></li> <MTEntriesFooter></ul></MTEntriesFooter> </MTEntries>
日本語にすると、
#=> 変数this_id に現在のページのエントリーIDを代入 #=> すべてのエントリーの中のそれぞれのエントリーについて #==> まず、変数itr にエントリーのIDを代入 #==> (省略) #==> this_idとitrの値がひとしかったら、class="active" #==> ひとしくなければ、class="nonactive"
みたいな感じ。
現在のわたしがどれほど無駄にMTに詳しくなってしまったかと言うと、ここまでをすべて空で書いているというくらいである。
まあ、試してないから、どっかまちがってるかもしれないけど。
■ すべてのはてなダイアリユーザーに対して言いたいこと
はてダユーザー以外にも言いたいけど。
おまえら、タイトルは日記のトップページへのリンクにしてくださいと。
はてなだったらヘッダーの「最新の日記」からも飛べるけど、あの部分は大抵目立たないようなデザインになってるじゃないか。
場合によっては隠してるやつもいるし。
だからトップに行きたいんだけど、h1要素をクリックしても何も起らないと、「えーっと、最新の日記か」とは思いつかず、アドレスを手入力するわけだが、これは面倒なのでやめてほしい。
おれはもっと即座に、考える間もなくトップページに飛びたいんだ!
[Patterns] Name = "Add Link to Hatena Diary Title" Active = TRUE URL = "d.hatena.ne.jp/*/*" Limit = 7000 Match = "((<li><a href="/\2/">最新の日記</a></li>*)\1|" "(<link\s*title="RSS"\s*href="http://d.hatena.ne.jp/\2/*">*)\1)" "(<h1>)\3([^<>]+)\4\5</h1>$STOP()" Replace = "\1\3<a href="http://d.hatena.ne.jp/\2/">\4</a>\5</h1>$STOP()"
というあなたのためのおみ子さんフィルター。
追記: ちょっと改良
追記: 直しました。 →http://www.at-akada.org/blog/#id_omiko
■ ブックマークレットをつくった(性的な意味で)
世の中にあるウェッブサイトなどを閲覧しているとき、わざわざ手で「(性的な意味で)」と書きくわえていくのは面倒だと思ったことがあるはずだ。
そんな面倒を省き効率的にウェッブサイトを閲覧すべくブクマークレットをつくった(性的な意味で)。
というか手でアドレスバーに
javascript:document.body.innerHTML=document.body.innerHTML.replace(/(た|だ|る|い|く)([。..??!!])/g,'$1(性的な意味で)$2');focus();
を貼りつければそれでよい。
自分のブログで試したら、「お兄ちゃんどいて! そいつ殺せない(性的な意味で)!」というすばらしいフレーズに出会った。
まあこんなうつろいゆく世の中でひとつだけ確かなことがあるとすれば、私は、JavaScript:document.body.innerHTMLのガイドラインが好きだということだ。
■ 外人のジョークが好きだ
ギャグとかって、自分の身近な感覚よりも疎遠なところから飛んでくる方が飛距離があってよりおもしろいと思うんだ。
というわけで外人のジョークが好きだ。意味がわからないことも多いけど。
そして今日の外人ジョーク。
「人間には、数学がわかる人間と数学がわからない人間の3種類いる」
■ EOP
できごと指向プログラム(EOP)というのを思いついた。
式の集合をできごとと見なすことで、複数のできごと同士の関連を表現することができる。
i = 0
e1 = Event.that{puts i}
#e1 はX というできごと
e1.happen
#e1 がおこる
#=> 0
Event.that{puts i}.happen
#=> 0
#これでも同じ
e2 = Event.that{i += 1}
e2.cause(e1)
# e2はe1を引きおこす
e2.happen
#=> 1
一瞬すごいアイデアのような気がしたのだが、よく考えるとそうでもなかったかもしれない。
なんでそんなことを思いついたかというと、
↓この本に
勁草書房、2004
HがSを信頼しており、自分もHも言語共同体LCに属するとSが信じているとき、SがHにXと言うことがpをHが信じるようになることをSが欲しているとHが思うことを惹き起こすとSが信じているならば、SがHにXと言うことがpをHが信じることを惹き起こすとSは信じている。
p102
という日本語の限界に挑戦した文が載っており、考えていたら頭がプリオンになってきたので
S.believe[( s.say(H, X) ).cause( H.think( S.want( H.believe(p) ) )]
→
S.believe[( s.say(H, X) ).cause( H.believe(p) )]
というのを書いて整理していたせいである。
ちなみによく読むと、元の文は結局、『信頼があるならば、「おれが信じてほしがっているのが伝わったなら、信じてくれるはず」という信念もあるはずだよね』というくらいのことを述べているだけだった。
■ ヤンデレについて
インフォレスト、2007
School Days放送中止事件のせいでヤンデレが脚光をあびてうれしい。ところで、この本を買おうかどうか悩んでいる。
- ヤンデレしか愛せない(空鍋増量中)
http://www.nicovideo.jp/watch/sm746551
- 俺の「ヤンデレ」フォルダが火を噴くぜ!
http://www.nicovideo.jp/watch/sm967424
S県月宮(「お兄ちゃんどいて! そいつ殺せない!」)ってなつかしい。
- お兄ちゃん3回くらいどいて!
http://www.nicovideo.jp/watch/sm836553
「お兄ちゃんどいて!そいつもっと殺せない!Summer!」という続編の曲があったらしいことにおどろきを覚えた。なんだよSummer!って。
というか、ヤンデレに興味はあるが、興味があるだけで実際には怖くて観れないので、School Daysって空鍋かきまぜるアニメだろ?とずっと勘違いしていたのだが、それはSHUFFLE!というアニメだった。
- ムスカ大佐がラピュタの力を使いSHUFFLE!19話をご覧になられたようですver3
http://www.nicovideo.jp/watch/sm481772
これを書いていたらうっかりSchool Days!の鮮血シーン見てしまった。こえー。
■ 例のやつ
初音ミク動画を結構たくさん観たのでピックアップしておく。
- 初音ミクにインターナショナルをアカペラで合唱させてみた
http://www.nicovideo.jp/watch/1189449900
結局この動画をつくったのはモチなのかどうなのか。
- はちゅねミクで般若心経(ネギ木魚)
http://www.nicovideo.jp/watch/sm1092922
かわいい。
- 初音ミクが可愛すぎるので死ね死ね団の歌を歌わせてみた
http://www.nicovideo.jp/watch/sm1101322
- 初音の4分33秒
http://www.nicovideo.jp/watch/sm1088800
ピアノ曲のはずだが。
- 4分33秒 (生演奏 VS 初音ミク)
http://www.nicovideo.jp/watch/sm1105144
検証動画ができてた。
■ AKB48
秋元康をリスペクトしてやまない私としては、AKB48のライブに行きたい。Kくんが行ってすごくよかったらしい。
なんか専用劇場で毎日ライブやってるそうで、それすげーと思った。しかし抽選にあたらないと入れないから、ひとりで行くしかないそうなんだ。やる気があれば、ひとりで行くかも。
- ほねほねワルツ - AKB48
http://www.nicovideo.jp/watch/sm1049787
- スカートひらり
http://www.nicovideo.jp/watch/sm583
- Virginlove - AKB48
http://www.nicovideo.jp/watch/sm935636
いろいろ見ていて思ったことは、やっぱりアイドルものなどって、低音質・低画質の方がワクワクするなあということであった。
■ 吉田戦車が伊藤理佐と結婚した件
http://spi-net.jp/cgi-bin/inspi_diary/View.cgi?CT=sen&RN=00426&LP=1
■ 買った本
勁草書房、2004
いやー、おどろくほど勉強してないからね。
文藝春秋、2007
おどろくほど片づけてないし。
今日はうっかりたくさん本を買ってしまった。
- 『役割語研究の地平』
金水敏(編)
くろしお出版、2007
役割語の研究はすばらしい研究だと思っている。
マリナ・ヤグェーロ(著), 谷川多佳子(訳), 江口修(訳)
工作舎、1990
「人工言語」をテーマにした歴史読みもの、かな。言語は生涯のテーマなので。
ラビ・セシィ(著), Ravi Sethi(原著), 神林靖(訳)
ピアソンエデュケーション、2002
学部生向けの教科書らしいのでいいんじゃないかと思った。

これから鉛筆を1000本折ります

もう鉛筆しか見えません

緑色の鉛筆が一番やわらかい

鉛筆が折れる瞬間の喜びは何ものにもかえがたい

折れた鉛筆とshimの本棚

新しい鉛筆の折り方を工夫するshim

「これは新しいスポーツとして通用するかもしれない」とM山は語る

鉛筆を1000本折ったところ

勝利のシャンパンをあける

しばらくは折れた鉛筆以外の筆記用具を使わない覚悟です
■ mt
コメントスパムが多いのでmt-comments.cgiをリネームした。
一応やり方を書いておく。
- mt-config.cgiに「CommentScript **.cgi」と書く。"**"の部分は何でもよいが、mt-cmt.cgiとかそれっぽい名前にしておく。
- mt-comments.cgiの名前を"mt-cmt.cgi"に変え、再度アップロードしてパーミッションを変更。
- すべてのページを再構築。
■ Ruby の論理演算子
まとめてみた。というか、多分 if とか unless は論理演算子ではないのだが。
括弧内は実行順序を表わす。
| P | Q | P and Q | P or Q | P unless Q | P if Q | P ^ Q | not P |
|---|---|---|---|---|---|---|---|
| t | t | t(P→Q) | t(Pのみ) | f(Qのみ) | t(Q→P) | f(P→Q) | t(P) |
| t | f | f(P→Q) | t(Pのみ) | t(Q→P) | f(Qのみ) | t(P→Q) | t(P) |
| f | t | f(Pのみ) | t(P→Q) | f(Qのみ) | f(Q→P) | t(P→Q) | f(P) |
| f | f | f(Pのみ) | f(P→Q) | f(Q→P) | f(Qのみ) | f(P→Q) | f(P) |
例:
irb(main):001:0> a = 0 => 0 irb(main):002:0> (puts a) if (a+=5) 5 => nil irb(main):003:0> (puts a) unless not(a+=1) unless (puts a) if (a+=1) 6 7 => nil
「(puts a) unless not(a+=1) unless (puts a) if (a+=1)」の場合。
- (*) if (a+=1)
を評価し、右辺を実行。足し算はtrue(この場合数字の6)を返すので左辺に移動。
- (*) unless (puts a)
を評価し、右辺を実行。puts は nil(false) を返すので、左辺に移動。
- (*) unless not(a+=1)
を評価し、右辺を実行。足し算のtrueがnotで反転するので、偽が返り、左辺に移動。
- puts a
実行。nilを返す。
先日の素数を求めるやつもこれで直してみた。
!(prc=lambda{
(puts Benchmark::CAPTION)unless
(print count_up_primes(100).join("\n") )if
($p = lambda{|max|
(list = [])unless
(primes = [])unless true
( primes.concat(list) ) unless
(while primes.last ** 2 < list.last
(primes << list.shift)if
(list.delete_if {|n| n % primes.last == 0})
end) if
(primes = [list.shift])if
(list = (2..max).to_a)
})unless
(def count_up_primes(max)
$p.call(max)
end)
})or
(puts(Benchmark.measure(&prc)))if
(require 'benchmark')
一番うしろを最初に実行し、段々前にもどっていく。素数を列挙して、時間をはかる。
変数の宣言だけは最初に置いておかなければならないので、
(list = [])unless
(primes = [])unless true
をメソッドの冒頭に置くのがコツといえばコツか。
return は値を返さないので二行目は"unless true"としなければならない。
また、「def end」はさかさまにできないので、手続きオブジェクトにして、メソッド定義を後ろにした。あまり実行順序が逆になった気がしないのでこれは微妙かもしれない。
追記:ちょっとだけ直した。
■ 更新しなくていいブログはないか
ブログ更新しようかな → あ、鉛筆をあれする会の報告しなきゃ → デジカメの画像編集したりすんの面倒だな → 暇なときにやろう → 会の報告もせずに関係ない記事を更新するのも何だから更新もまた今度にしよう
■ メモ
小林 めぐみ (著)
徳間書店、2002
SFマガジンのブックレビューの欄で見た。
あと、いつのまにか世界SF大会が終わっていたことに気づいた。
■ 2chまとめ
軽く期待されてるようなので2ch主観的まとめを書かなければならないと思いつつ。
2chの話ばかりしていると知りあいからイヤミを言われたりするので気持ちが億劫なんだ。
しかしはじめる。
現在覚えている範囲で言いますと、数日前に見た「今、うんこしてきたけど何か質問ある?」というスレッドが印象に残っています。予定調和的な展開ではありますが、5レス目あたりで釣り宣言をしていたところも非常に馬鹿馬鹿しく、まさに期待通りの展開でした。うんこは皆がするものなので、「うんこしてきた」などと言われても、したい質問など特に思いつかないと思うのですが、皆は「ぼくもうんこしてきていいですか?」などと小学生感あふれる質問を>>1にぶつけていました。
次のスレッドは数週間ほど前に見たものですが、最近ふと思い出したので報告します。
確かはじめの趣旨は、「妹がバカすぎるので何とかしたい」などという題目をかかげた安価スレッドでした。
ちなみに安価スレというのは、>>1が「>>100」などと未来のレス番号に対してアンカー(リンク)を張り、そのレス番号にきたメッセージ通りのことをするスレッドのことです。多くの場合、恋愛相談などに使われ、意中の異性に安価で指定されたメールを送る、などという使われ方をすることが多いようです。一言で言えば、電車男をテンプレート化・ゲーム化したようなスレッドだと思ってもらえばよろしいのではないでしょうか。
細部は忘れましたが、>>1の妹は髪の毛を真っ赤に染めて、悪い男とつきあい、親に堕胎費用を出させ、学校には行かないといった感じの人物でした。安価での指示に従い>>1が妹に説教をはじめたところ、妹はすぐにキレ「アニキまじ腹たつ。もうケンジ呼んだかんね。ケンジにぼこってもらうから」と暴力的な彼氏を電話で呼びつけます。ガタイのよい彼氏は木刀をもって颯爽と登場し、兄である>>1に木刀で殴りかかります。しかし>>1は機転をきかせて部屋にとじこもり、ちょっとドアを開いてケンジが首をつっこんだところで思いきりドアを閉めるなどという頓知の効いた手段で反撃にでたそうです。
騒ぎを聞きつけて2人の両親が登場し、それから、>>1の父親がケンジと妹に説教をするという展開になりました。>>1の父親はスポーツクラブを経営する豪傑で、とても怖い人らしいです。>>1も口をはさもうとしましたが、「おまえはだまってろ!」と部屋からつまみだされてしまいました。ケンジはおそらくちょっといいところを見せようと思って木刀を持って参上しただけなのですが、>>1の父親から叱責を受け、蹴られ、あまつさえケンジとは関係ないらしい堕胎の件で手厳しく叱られる羽目になってしまいました。
後半は部屋から追い出された>>1が部屋の外から垣間見えた説教の様子を報告するという形になったのですが、ケンジと妹が怖いお父さんに怒られているところを外からのぞいているシーンがなぜかとても印象的だったため、ふとした瞬間に、その場面のことを思いだしたのです。
■ or と unless が同値である件
orとunlessは真理関数的には同値であり、わたしは以前からそのことが不思議でならなかった。
ふと、プログラムだとどうなるんだろうと疑問に思ったため、試してみた。ruby。
puts("unless1 left") unless puts("unless1 right") #1
puts("unless2 rigth") unless (1 == 1) #2
(1 == 1) unless puts("unless3 right") #3
puts("or1 left") or puts("or1 right") #1
puts("or2 left\n") or (1 == 1) #2
(1 == 1) or puts("or3 right") #3
print("\n\n")
puts((true unless true))
puts((true unless false))
puts((false unless true))
puts((false unless false))
print("\n")
puts((true or true))
puts((true or false))
puts((false or true))
puts((false or false))
=>実行結果:
unless1 right
unless1 left
unless3 right
or1 left
or1 right
or2 left
nil
true
nil
false
true
true
true
false
真理関数だけでなく、式の実行とかあるからどうかなと思ったが、一応きれいに左右対称の結果になった。
つまり、「A unless B」は「B or A」と等しい。
unless の場合、#1 は「右→左」の順で実行される。#2は実行されない。
or の場合、#1は「左→右」の順で実行される。#3は実行されない。
"unless"については、
http://www.ruby-lang.org/ja/man/?cmd=view;name=%C0%A9%B8%E6%B9%BD%C2%A4#unless.20.bd.a4.be.fe.bb.d2
右辺の条件が成立しない時に、左辺の式を評価してその結果を返します。 条件が成立しなければ nil を返します。
"or"については、
http://www.ruby-lang.org/ja/man/?cmd=view;name=%B1%E9%BB%BB%BB%D2%BC%B0#or
まず左辺を評価して、結果が偽であった場合には右辺も評価します。
とあるから、左右対称の結果になるのは正しいはず。
ただし、「ture unless ture」だと nil が返るから、やっぱり or と unless は異なる振舞いもする。
(ruby の nil は偽の扱い)。
「3 が奇数でないならば、1 は奇数だ」は、前提が偽の推論であるから真として扱いたい、というリクエストも中にはあったりなかったりするのではないかと思うのだが、そういう実装にはなっていないようだった。
そのうち他の言語でも試してみようと思う。
追記:
途中の部分をコピペし忘れていたので貼った。
(「print("\n\n")」から「puts((false or false))」までの部分)
鉛筆をどうこうする会の報告はいずれするのでちょっと待ってください。
とりあえず、つつがなく開催されましたと、日記には書いておく。
なぜかこの数日は素数を求めるのに夢中になっていた。
いつ素数を数えたくなるかわからないから、1億までの素数を求めておけば安心なんじゃないかと思って。
それで書いたもの。
まずrubyで書いた。
- エラストテネスの篩 - Wikipedia
を見ながらその通り書いたつもり。
def count_up_primes(max)
list = (2..max).to_a
primes = [list.shift]
while primes.last ** 2 < list.last
list.delete_if {|n| n % primes.last == 0}
primes << list.shift
end
return primes.concat(list)
end
print count_up_primes(10000).join("\n")
しかし1億まで求めさせようとしたら全然終わらなかったので途中で断念した。
rubyに限界を感じたため、一夜漬けで勉強してC言語でも書いてみた。
一応、同じものを書こうとしたつもり。
一夜漬けなりにポインタを色々といじってみたが、よく考えると配列(ではないんだっけ?)から削除するところなど、とても無駄なことをしている気がする。
あとで本を見ていたら、もっとずっとシンプルに書いたやつが載っていたので絶望した。
ちなみにこちらでも、24時間経っても1億終わらなかったので、1億までの素数はあきらめつつある。
メモリを食わないように気をつけて、バックグラウンドで動かしつづけるようにして、3日くらいかけて求めればよいかもしれない。
#include#include void set_primes(int max, int *primes); int main(void){ int *primes; int max = 100000000; int primes_size; int i; FILE *f; primes = (int *)malloc(sizeof(int) * (max/2 + 1)); if(primes == NULL) exit(0); set_primes(max, primes); f = fopen("primelist.txt", "w"); for(i=0; i<max; i++){ if(*(primes+i) == 0) break; fprintf (f, "%d\n", *(primes+i)); } fclose(f); free(primes); return 0; }
void set_primes(int max, int *primes){ int *list, list_size, primes_size, primes_last; int i, j, k, l; list = (int *)malloc(sizeof(int) * max); if(list == NULL) exit(0); for(i=0; i < max-1; i++){ *(list + i) = i+2; } list_size = max-1; *primes = *list; list++; list_size--;
primes_size = 1; primes_last = *(primes + primes_size -1); while(primes_last * primes_last < list[list_size-1]){ for(j=0; j < list_size; j++){ if(*(list+j) % primes_last == 0){ for(k=0; j+k+1 <= list_size-1; k++){ *(list+j+k) = *(list+j+k+1); } list_size--; } } primes_last = *(primes + primes_size) = *list; list++; list_size--; primes_size++; } while(list_size){ *(primes + primes_size) = *(list); primes_size++; list++; list_size--; } *(primes + primes_size) = 0; return; }
■ 大事件
プレミアム会員になった(わたしが)記念に大ニュース。
わが母学部が誇る永遠のアイドル、真幸先生がいつのまにか組曲になっていた。
- 京大生が 盗んでいきましたシリーズ を作ったようです
http://www.nicovideo.jp/watch/sm766594
ナショナリズムの由来出版記念らしい。
最初の方だけオリジナルのアニメがついているのだが、やる夫バージョン(を元にしたもの)だね。みやだい先生がやらない夫役をしている。
- 京大生が 組曲『もじゃもじゃ動画』 を歌ってみたようです
http://www.nicovideo.jp/watch/sm793609
髪の毛ネタが多すぎだとおも。
■ ダブルスタンダード
M川さんと話していた。
わたし「いやー、みんな何で怒るのかなー」
M「いや、そりゃ」
わたし「だって鉛筆1000本なんて所詮一晩の暖にもならない程度の木材だぞ」
M「量は少なくても、チロルチョコを1000個捨てる会とかあったら嫌な感じだろう」
わたし「おお...。鉛筆についてはまったく心が痛まないのだが、確かに食べ物を無駄にするイベントは嫌な感じがするな...! 食べ物を粗末にするやつは許せないよ!」
というわけでなぜ怒られるのかちょっとわかった気がするので、鉛筆は無駄にしないように気をつけます。
まあ使ったらいいよね。鉛筆が2000本になるわけだし。
■ 動画
M川さんに「昨日のあれ見た?」と聞かれ、なんのことかと思ったらニコニコのランキングのことだった。毎日観てる前提かよ(少し前は実際に毎日観ていたが)。
最近は重かったせいもあり、ニコニコ動画はあまり見ていない。
でも、プレミアム会員になってみた。なぜこのタイミングでプレミアム会員になったかというと、ロッピーでもWebマネーを買えることを知ったからである。
各方面から批判やたしなめを受け伏せ字になった。日時は今週末日曜日に決定しました。
9/9(日) 13:00 池袋周辺に集まります。
参加希望者は連絡ください。
批判については真面目に反論文も書きかけていたのだが、真面目に反論文など書くと、くだらない企画がしたいという当初の趣旨が失われてしまうのでやめる。
代わりに寸劇と赤田ブログ生成器からの引用をまじえ、ダイジェストでお伝えします。
課長「××くーん、どう? 最近、こっちの方はー?」
ゴルフクラブを振るジェスチャー
××「課長こそ、こっちの方はどうですか? 」
両手で鉛筆を折るジェスチャー
では、なぜ鉛筆を折ることには抵抗を感じ、ゴルフに行くことには抵抗を感じないのか。
それは、ゴルフがすでに人々の間で了解を得られた活動であり、「ゴルフをしたいからゴルフに行く」という説明も、共感まではできなくても即座に理解できるものだからだ。この社会では通常、「ゴルフに行く」と言って、それ以上理由を求められることはほとんどないし、そこには正当化は必要とされない。
横溝正史も、ただの嘘つきだ。のフォルダを示す図のことだ。むずかしい。受験参考書のようにはすでに実現していることと、フランス語ができる。どんな素晴らしい小説であるという話だとわかった。
一方鉛筆を折ることはそうではない。鉛筆を折ることは、まだ誰にも認知されていない遊戯なので、「鉛筆を折ろうと思う」と言うと理由を聞かれるし、なぜそんな破壊が必要なのかと正当化を求められる。
課長「××くん、ひさしぶりに、どう?」
杯を持ちあげるジェスチャー
××「課長こそ、どうですか?」
ひざを使って鉛筆を折るジェスチャー
しかしこれは鉛筆を折ることの方が大規模な破壊だからではない。単に理由が理解できない・説明を求められるような新奇なふるまいだからだ。
単に雑草を抜くのだって、ちぎり捨てただけではまた生えてくるので効果がない。丁寧に根から抜かなければきちんとした破壊を遂行することはできない。効果的に森林を破壊するためには、ブルドーザーを用意して掘り起こすとか、木を切りたおすとか、火の管理をした上で燃やしつくすとか、そういった手段をとるための手間や予算が必要になる。目的のない人間にはそんなことはとてもできない。
ざっくりと整理するのが環境問題にしている。「作品」はそもそも無理だろうから、これまでは検閲できませんとか絵で構成できる。
ショートケーキのイチゴが重要。明子という名前がつく以前からうすうす勘付いてはいるわけでは言いづらいが、すぐに寝たのでそれほど違和感はなくなった...。->間違えたあとに再び<コピー>たる自分の概念で【ありうる】。
これはきわめて微々たる破壊であると私は考える。
鉛筆を無駄に1000本折ることに対する抵抗感は一応理解はできるつもりだが、少なくともそれは、何か外界に対する影響に由来するものではなく、純粋な「抵抗感」であると思う。
意見を変えるためには、説得や感化というプロセスが必要だ。
「エクストリームおしっこ我慢大会」
「水の入った長靴を履いて一日すごす」
「鼻息だけでカラオケ大会」
最近心がとても荒んでいるため、「人を集めてとてつもなく無意味なことをしたい」という衝動が心のヒットチャート第1位をかけぬけている。あと昨日あまり寝ていないため現在思考力が極端に落ちている。昼間仕事(バイト)で打ちあわせをしているさなかに寝てしまったくらいだ。
そういった様々な要因を鑑み、「鉛筆を1000本折るオフ」を開催したいと思う。
目的は、両手を真っ黒にし飛び散る黒鉛に咳こみながら鉛筆を1000本折ることです。
現在考えている会の計画は以下のようなものです。
(1)全員でお金を出しあい、鉛筆を1000本買います。
(2)しかる後に、それを1本ずつ折り、1日かけて1000本の鉛筆を折ります。
(3)皆で力を合わせて鉛筆を折っていくうちになんとなく交流がなされたりします。
(4)たぶん途中でグダグダになります。
(5)見どころは、苦労して鉛筆を1000本折ったあとにはたして達成感が生じるのか?というところです。
念のため確認しておきますが、1人1000本ではなく、全員で協力し、合わせて1000本の鉛筆を折ります。
現在、id:shimという人が家を提供してもよいと申しでているため、場所は確保できています。
あと、shimに相談したところ、「遊究(舍|社)の企画として名前をだしてもよい」と言われたため、一応遊究(舍|社)という団体の企画ということになっています。
しかし、見知らぬ人もお気軽に参加をお申し出ください。
理想を言えば、わたしの見知った人が4~5人くらいいるなかにわたしの見知らぬ人が2~3人いるような状態になると、見知った人に囲まれた安心感と見知らぬ人に対する好奇心のいいとこどりができてよいのではないかと思います。
日時は、参加を申しでた人の都合を聞いて適当に決めることにします。
参加を希望する方は、以下のアドレスにメールをだすか↓のコメント欄で参加を宣言してください。
nightly[at]at-akada.org
誰も参加を申しでなかった場合、おそらくわたしとshimとM山氏の3人でつらい思いをしながら鉛筆を折ることになると思います。
かわいそうだと思った人はぜひお気軽に参加をお申し出ください*1。
「折るという字は祈るという字に似ている」
(今考えたコピー)
- *1: ここで一番かわいそうなのは、まだ参加するとも何とも言っていないのに勝手に数に入れられているM山氏です
私の頭の中に、「可能な宇宙が存在する」というスレッドが毎晩新たに立てられていてホッとする。
(今日の自動生成文)
■ 人脈
http://d.hatena.ne.jp/shim/20070901#1188651128
遊究(社|舍)というのに入れてもらった。
何をする団体だかよくわかっておらず、いまいち空気も読めていないのだが、おもしろい人を集めたいようなので、精一杯おもしろい人の振りをしようと思う。
「おもしろいぜー、こいつマジで何でも言うこと聞くから」
「ほら、裸でコンビニ行ってこいよ!」
といった感じで人に紹介してもらい、幅広い人脈のネットワークをつくっていきたい。
■ メタ
日常にひそむメタ。
「本説明書の使い方」
説明書を読みはじめたとき、説明書の冒頭がこのカテゴリーになっていると全身の力が萎えるような感覚に襲われる。
■ 村崎百郎
http://anond.hatelabo.jp/20070831004302
増田のこのエントリのおかげで村崎百郎のことを思い出した。
最近心が殺伐としているので、村崎百郎など読みあさりたい。
村崎百郎(著)
データハウス、1996
- 『電波系』
根本敬(著)、村崎百郎(著)
太田出版、1996
わたしが思う村崎百郎の良さを説明する。
村崎百郎は発言するたびに、「何しろおれは鬼畜だからな、ガハハハ」みたいなことを言う。
これは要するに、何かを言うたびに「何しろおれは熱血漢だから!」「箱入り娘なので」などと自分のキャラクターを押し出すようなものであり、いくらなんでも自分のキャラクターにこだわりすぎだと思う。たぶん目の前でやられると腹が立ってきて、「いや、それはわかったから別の話をしろ。おまえのことなどどうでもいい」と言いたくなると思うのだが、何しろ普通の人にはできないことなので、本で読む分にはおもしろいと思う。
わたしが村崎百郎に期待するのは、たとえば以下のようなシーンだ。
対談相手:「村崎さん、そんな鬼畜鬼畜ばっかり言ってて疲れないんですか? たまには子猫の写真を集めたりしたくならないですか?」
村崎:「疲れるよ! でもさ、おれ、専門的な知識があるわけでもないし、鬼畜抜きでおもしろいこと書けるかっていうとそれも微妙だから...。学歴だって高い方じゃないしさ。だから、これくらい濃いキャラクターをつくっていかないと仕事もこねーんじゃないかと思って......」
対談相手:「まあ......」
こんな風に村崎百郎が素に返った瞬間が見たい。あと、とにかくいろいろな村崎百郎を見てみたい。
わたしが編集者だったら村崎百郎にいろんなことをやらせて反応を引きだしてみると思う。
たとえば、ゴミあさりが高じてPC自作にチャレンジする村崎百郎。
ついうっかりPC自作に夢中になり、静電気対策で服をぬいだまま、
「おっと、いかんいかん。おれは鬼畜だった......」
などとわれに返る。
■ 赤田ブログ生成器(Akada Blog Generator)
http://www.at-akada.org/cgi/akada-blog-generator/
ちょっと改良した。
括弧ひらくや括弧とじるがつづかないようにした。あと、本の出版年などが途中にまざらないようにしたのでより自然な文を生成するようになったと思われる。本当は、URLや本の紹介は、まとまった単位として生成するようにしたいのだが、それは後の課題ということにした。
サーバーへの負担も思ったほどではなさそうなので、皆もっとガンガン生成してもいいです。
自分で生成したなかで気にいったやつを貼っておく。
■ 考えたサービス
ああいうものらしい。
榊原郁恵のと同系統の語用論。同じ小説の読者が教養を得ることがあるわけだが、リンゴの絵を描くが、読書手帳をまめにするよ。フランス語、ドイツ語、ヘブライ語バージョンなどもすべて実在することだよ。否定していることを認める必要はないのでは文字列が<コピー>の意識を持っている『伝奇集』も岩波文庫ででてる。
斉藤美奈子が『論理哲学論考』を引用することである。
■ 名辞
今やわたしの書いたとおり、それは文字列の同一性を上に保存されてある本は科学的なツール群のことで、嫌いなのかと思うだろう。
こんな風に、確率論や物理学をつくるでそういう問題もあるけど、エクスプローラーからにドロップするとハイパーオチンチンタイムがはじまる。元のエントリに見事収まるまでに圧縮することもあり、勉強する会。一個のジャンルや様式に対する知識があることがばらばらでぼくよくわかんなくなっているけれど。果たして無意識だった。しかし「→」は現実をマスメディアから知る。
さくさく飛ばしながら流し読みしつつ、同一性や信号機が別の特徴に基づくべきだと思うのだけど。なぜかは知らないけれど。果たして無意識だった。
幽玄な雰囲気になっていたら、概念分析という視点のブックガイドにあがっているけれど、論理定項以外の区別は一概に言えないよ。
■ 同値性
言葉の響きが恐ろしい。子供が主人公なの?セカイ系だ。
モデル調なのかという点に関心がないことだろうとすると自分がわれながら思ったので訂正します。があれば、誰も、べつの形にたわめていくってことはありません。円筒が機関車みたいになっちゃう。
後ではさらに、勧善懲悪からの離脱という風に言うとむずかしそう。
それぞれの命題が正しいかどうかについては陳述できないなら、はじめの数秒間だけ<コピー>自身の「発話」がいた。今でもまだ自分のなかで言語に関する共同体、算術に関する共同体などとはどういうことなのでは、もっと大がかりな展開が紹介してみた。
人食いは何の論証も経ずにいったい何の役割は、父、母「聞く」前景化されたものなのだと思わない。喋った後で見るという言い方がよい。
どこにも「文章」でなければ、天使が太陽のまわりには2種類あると思うけど、エクスプローラーからにドロップすると思う。唐突に思い立ち、表参道のタンタンショップまで買いに行った。このような感じを人は公共的にブログとかサイトとか丸ごと消したくなるが、任意の要素からなり、スタートメニューだけなんとかしてクリアしなければならない。
対象が錯覚論法と「フィクション」のことかー!
->間違えた。今まで信じられても、それ自体として分析するのに述語論理を含めて考えてないかぎり、私にとっての魅力は普遍として存在するし、その語はもともとエヴァンゲリオンの別の言い方をする人のした。おもしろそうだった。よって以後本ブログではなく知識の問題ではないか。勉強になる気体の概念とフィクション概念の消費について。とくに異論はないかと思ったんだよ。
■ 安価スレとすごすお盆休み
本当は勤勉にチェック可能であるときその言葉に感銘を受け、軽く傷ついた。
であるわけだな!
かっこいい。
はまちちゃんがそうだ。少なくとも日常語の意味がまったく別物というわけで。こういうのは誤解のもとで真である。特に「例示」は自明である以上、私は思う。ライプニッツと現代の人文系と。
できた文のURLをブックマークできればよいと思うのだが、現在の形だとそれは難しそう。乱数で文を生成しているので使った乱数を覚えておけばよいと思うのだが、それをやると円筒が機関車みたいになっちゃう今後一切生成に使う辞書を変えられなくなってしまうので、覚悟が必要だ。
というわけでしばらく保存はできないので、気に入った文があれば、各自ローカルにでも保存してほしい。
きりがないのであとはつづきを読むに貼る。
ここしばらくのあいだとてもいそがしかったためにわたしは考えた。
今後、さらにいそがしくなることもあるかもしれない。そうなると、ブログが更新されないために誰にも相手にされなくなり、ますます目の前の労働のことしか考えられぬようになるのではないか。
だから、こんなものを作った。
- 赤田ブログ生成器(Akada Blog Generator)
http://www.at-akada.org/cgi/akada-blog-generator/
こいつは、わたしのブログのエントリーを自動で生成してくれる機械だ。
これさえあれば、もうブログを更新する時間がなくても安心だ。世界は幸福に満たされ、わたしはブログを更新し、アルファブロガーは小鳥のような鳴き声で歌うだろう。
内部にわたしがこれまでに書いたブログの記事データを持っており、↓こんな感じの記事を生成する。
■ 帰結の定義
万人がいるのを見てみたに違いないと思う。うしろゆびさされ組指標的表現は、作品以外についても同じ感じ。ちなみに私がネムキを買わなくても、人に説明が下手で悩んでいた。もしもボックスによって生み出されるってことにならない課題のひとつであると呼ぶことに最近気がついたが、それを教育する方法を模索してきた。はまってる人とかよりは、聖書に書いたら楽だったわけだ。でも過去のものはだめだ。
■ 迷子の妹はいなかった
変な建築の整備によって暴力が発生するということは、そういうお婆さんは子供には、それほどむずかしくない。有名な例をあげる。このアニメ観たいな。リカーシブに、オレ様解釈に照らし、よくわからないのでメールで問い合わせたら、センター試験らしい(。しょぼーん」とモノに飛ぶところに届くはずだ。でも、「十進法の足し算」の反対概念で現代社会を説明する。これはああ、アレのことだ。創造は、「神」は確か。これからもの書くときは、いやだ」ということを私は長編部門を読むとか「革命」などといった名前がいたら、これは間違いだ。未規定なものとするように思わないが、良さそうなことはあっておもしろい。
■ 管理のための1つの可能世界
直観主義論理とか、そんな起こりもしない言語に似ているならは明らかに複数の世界においてドラえもんが壊れたまま上の1001匹の猫......。マットの上で書いた後、やっぱり無理があるような学ではないだろうからという述語を名詞化した。それがどれほど重要では、中クリック+←であったりする。いずれにせよ、この真理関数と呼ぶ必要がなくなるように量化するポストモダンはわたしのまずしい「怖い」というのは、その場合、警察制度を是認する人は、大塚英志を引きながらこれを事柄について、専門外の語り手を登場させる。ファンタジーはもっとも準創造的な欠陥はいっぱいある。福音館に出てくる。ときどき衝動的にはこの技法を使ったことを言いたいのだが、話題がそこに含まれる原子式(.):1になるという伝説を信じています。あえてラッセルの確定記述説が意味するのかというと、様相論理の研究のための技法によってつくりあげられる。花京院人気すぎワロタ。いっそ朝を貼るのを期待するじゃないが、作品は外在的な部分がちょっとあったが、そもそもまとまりをもった。ゆえに、天皇制ということである。







