自分の背中をさわってみたら、チャックがついていた。
かうもの todo: type(脱臭剤) == 冷蔵庫
(あるいは isinstance(脱臭剤, 冷蔵庫)
)
新山はスケジぅル管理をするのに何も機器を使っていないが (基本的に頭で覚えているだけ、 ときどきここに書くが、それでも忘れる)、忙しくなるこれからの時期にはヤバいかもしれない と思いだした。というか、そもそも致命的なのが「メールを見逃す」ってことなんだよな。 どうにかなんないの?
おれってなんてワガマミー (google 1件)。
たとえば「なおざり」と「おざなり」とか… (これは大して違わないか。いや、そうか??)。
あるいは「御不浄」と「極楽浄土」とか… (これは実際に間違えた奴を知っている)。
ね???<br><
[ね」だと?? 「ね]とはなん!! だ!!!!!
!!!
(わざろ不安を与えるように▽書き方にしてあります)
(追記: 原因判明、こいつは中で psyco を呼んでいるのだ。psyco は 2.4 では import した瞬間に Segmentation Fault をおこすのだが、なにかの手違いによりインストールされていたのが原因。 psyco を消したらふつうに起動するようになった) h
google://父さんにも られたことないのに/ (2件)
ここで出てくる「もしかして」候補はいったいなんなんだ? アホか?
(いや、アホは俺である)
てすと:
0000000000|
1111111111|
2222222222|
3333333333|
4444444444|
5555555555|
6666666666|
7777777777|
8888888888|
9999999999|
まだやってりの??
「いまやこれは国家的な戦略 (national strategy) になっているが…」
と先生。2秒後、クラス爆笑。
だよ!!
寒い朝です。きょうも寒い朝です。でも大丈夫、こんなものじゃありません。
これからますます寒くなります。ぬじ
ならば!! (かっこ国家) 面白いものはソノウチ面白くなくなるからでぃす!! (かっこ国家)
さて、ここでこの「 (かっこ国家)」とは一体何か? という疑問が生じるわけであるますが、
「…で君と握手」ってなんのネタなの?
これじゃあ、古本屋で売られるわけだ。
COMPUTER SCIENCE COLLOQUIUM Friday, November 12, 2004 - 11:30 a.m. Room 1302 Warren Weaver Hall 251 Mercer Street New York, NY 10012-1185 Speaker: Henry Fuchs University of North Carolina at Chapel Hill Title: Immersive Integration of Physical and Virtual Environments
げんざいの 9st. の平均ビッグバー度: 55%。
木によってはもうほとんど散りかけてるのもあるし、まだ 30% ぐらいのもあるのだが、 平均するとこれくらいになる。
(追記、おー、もう日本語ページが commit されてる。 Saad、仕事が速いね)
なのに
やるべきことを終えられないってのは
どうしてなの?
だろう
と。
(以上の詩はきのうフトンに入る直前に考えたが記録の義務を怠っったのでミセシメとして ここに再掲載せられき。)
ハラへった。ハラへってきたxっ。
百日の説法屁ひとつ: 長い間の苦心がわずかなヘマで台無しになってしまうことのたとえ。
向こう側が見える…
今度の花は aster (私怨) だよ。
これは素朴な感じがして好きだ。
こういった問題はシステム設計のいたるところで何度となく姿を変えて現れる。OS だけじゃない。 ソフトウェアの設計というのは、ほとんどこういったトレードオフの連続だ (DB の設計では、キャッシュによる効率化とデータの一貫性、というのが パフォーマンスチューニング上で重要なトレードオフになるのかな)。 しかし、割り込みや polling を「パターン」として分類したところで、 何か問題が簡単になるか? 結局のところ、ある「パターン」を選択するという 過程にはこうしたおびただしい水面下の制約がふくまれていて、 表層の形態だけを見たところでなんにもならない。たとえばいま書いたような トレードオフをすっとばして「これは、なんとかパターンだ」 という議論はウソっぽく見えるのだ。
思うに、いつもソフトウェアに関する理論は確固たる意味論に 踏み込めないので、こういうところで止まっちゃうんだろうと思う。 こんなの知っててもちっとも賢くなれないよな。ヨタを書くのはやめてプログラミングしよ。
洗面所で水の入ったコップ (陶器製) を勢いよく口につけすぎて前歯にコチッとあた
る
しかしオレはこういうアメリカ的幸福というか、「モノをたくさん買う生活」にはうんざりだ。 みんな新山の部屋を見るとものが少ないのにおどろくらしいのだが、逆にオレは なぜ他の人がそんなに沢山の物品を必要としているのか理解できぬい。 むしろ本当にいいものを少しだけ買って、生涯をそれを大切にするような生活を望む (といっても、ふつう何か買うときにそれがほんとにいいものかどうかという確信はないので、 ダメでも長く使っていいものにしてしまえばよいのだ)。 これは物理的な「モノ」だけにとどまらない。オレは万事においてこの調子で、 同じようにあまり友達もいないし、複雑なソフトウェアも使わないし、モノもあまり食べない。 けれどもごく少数の「いいもの」があれば満足だと思う。沢山モノをほしがる人間というのは、 それだけモノの価値がわかっていない「量で勝負」のタイプなのだと思っている。
まあ、新山のような人間は世の中の経済活動からとり残される運命にあるので、 おとなしく山にでもこもって生活しているべき。
Intersection:
def intersection(sorted_seqs): try: # iters: parallel iterators. iters = [] for seq1 in sorted_seqs: iter1 = iter(seq1) iters.append((iter1.next(), iter1)) prev = None while iters: # find a minimum among iters[]. eq_count = 1 for (i, (elem1, iter1)) in enumerate(iters): if i == 0 or elem1 < min_elem: (min_elem, min_i) = (elem1, i) elif elem1 == min_elem: # count equivalent elements. eq_count += 1 # if all elements are common, pick one. if eq_count == len(iters): # do not repeat the same element. if prev != min_elem: yield min_elem prev = min_elem iters = [ (iter1.next(), iter1) for (elem1,iter1) in iters ] else: iter1 = iters[min_i][1] iters[min_i] = (iter1.next(), iter1) except StopIteration: # if any iterator reaches its end, # there is no possibility to find common elements. return
Union:
もっと簡潔なやり方はあるだろうか。 最小値をとるのに sort() をつかうほうが短くなるのだが (これは前に試した)、 あんまり好きではない。min() や max() がもっと一般的な比較 (sort のように) をとれるように してくれればいいのに。def union(sorted_seqs): iters = [] # iters: parallel iterators. for seq1 in sorted_seqs: iter1 = iter(seq1) try: iters.append((iter1.next(), iter1)) except StopIteration: pass prev = None # go until we reach all the end of the iters. while iters: # find a minimum among iters[]. for (i, (elem1, iter1)) in enumerate(iters): if i == 0 or elem1 < min_elem: (min_elem, min_i) = (elem1, i) # do not repeat the same element. if prev != min_elem: yield min_elem prev = min_elem try: iter1 = iters[min_i][1] iters[min_i] = (iter1.next(), iter1) except StopIteration: # reach the end of an iter. del iters[min_i] return
ちなみに、これの何がいいかというと、無限集合をとれることだ。
得られる数列は 21 の倍数になる。def seq1(): # 3, 6, 9, ... i = 0 while 1: i += 3 yield i def seq2(): # 7, 14, 21, ... i = 0 while 1: i += 7 yield i for x in intersection([seq1(), seq2()]): print x
…というのは実はウソで、真の目的は and 条件が入った集合の検索結果を「漸進的に」求めることである。 ぜんぶ検索してから積集合をとるのは時間がかかりすぎるし、ムダだからね。
新山はもともとこの手の議論には文芸評論と同じような匂い (= 知的に見えるが 実際にはほとんど何も言っていない) が漂っているような気がしてならないのだが、 両者の共通点というのは「用語を発明してわかった気になっている」というものだ。 たとえば GoF に載っているパターンのほどんどは、ある程度の経験をつんだプログラマなら、 「なんだ、これ知ってるよ」というたぐいのものだろう (逆にこれらはプログラミングの初心者がいきなり聞いてもさっぱり理解できないと思うので、 「パターンを共有し伝達することで生産性をあげる」などというのがほとんどホラ話だというのもわかる)。 それをふまえると、基本的にデザインパターンの役割というのは、 「あるテクニックに共通の単語をわりあてることで、チーム間での意思の疎通をスムースにする」 ということ (だけ) になるだろうが、これでほんとに意思の疎通がスムースになるのか。たとえば これが自然言語の境界 (ex. 日本語と英語) を超えて有効なのかどうかもいまだに疑問だ。 たとえば「Facade」と聞いて、日本人はふつう何を連想するのだろうか? 新山のイメージとしては、Facade パターンは日本語では「受付窓口パターン」とでも呼んだほうが ずっとしっくりきそうなのだが、オレのとぼしい英語力ではこのニュアンスが「Facade」という 単語に含まれているのかどうかわからない。おそらく米国人ならわかるのかもしれない。 Composite ぐらいなら、わかるけど。 名前によるイメージの想起は無視できない効果がある。 でも日本人も我慢して「Facade」なんて単語を使ってたら、 「名付けること」によるメリットはどこにあるのか。 「第1923号技法」などと呼んでも同じだろう。バカらしさを感じる。
ちなみに、おもしろいことに、自然言語では昔から 人間のよくある行動をいくつかのパターンに分類して名づけている。 たとえば「論理的でない事実を無理につなげて自分に都合いいように 見せようとする行為」はパターンの一種で、日本語ではこのパターンには “こじつけ”という名前がついている。 ほかにも「自分が悪いことを認識していながら、責任逃れするためにおかしな理屈を考えだす」という パターンは“言いのがれ”と呼ばれている (ちなみに“言いのがれ”パターンは、内部で “こじつけ”パターンを利用していることが多い)。ほかにも、“見て見ぬふり”パターンとか、 “被害者面”パターンとか、“問題のすり代え”パターンとか、 “やぶへび”パターン (これはアンチパターンだ) とか、言いだしたらきりがない。 で、これらの用語はほとんどの日本人の間で共通した意味をもっていると思っていいだろうが、 ほとんどの人はこれらの行動を教えられて習ったわけではないし、 「よし、ここは“こじつけ”を使おう」などと思うわけでもない。 これらは現象を見て、単に後付けで記述するのに都合がいいから使われているだけである。 この手の単語は増やそうと思えばいくらでも増やせるだろうが、 それらをコレクションして分類して何か実地に応用できるか? といったら、 そんなものは心理学者ぐらいしか興味ないだろう。 どうでもいいけど、「自分の形勢が不利になってきたときに関係ない話題を持ちだして話の腰を折る」ってのは、 よくあるパターンっぽいので名前をつけてもいいような気がする。
ちなみに新山の GoF 本は、「おもり」として (GRE の参考書とか統計の教科書にまじって) 有効に活用されております。
JFK blvd. は大きな通りだが、これはちょうど丘の稜線上を 走っており、ここから Newark へ向かって下り坂になっている。 Montgomery St. との交差点には St. Peters College があるが、 ここから見おろすと向こうになだらかな山が黒い影となって クッキリと浮かび上がっているのが見える。…と、いうのはウソで、 実際にはあれは山なんかじゃない。ただ雲の峰がそう見えるだけだ。 でも、そう思いこむことにしている。ナトリウム色の街灯は暗く、 この住宅街をあんまりうろうろするのは安全ではないので、 しばらくぼーっとしてから家に戻った。そしたら、帰り道をまた間違う。
そういえばリンゴを買ったよ。こちらでは数種類の林檎を売っているが、 どれもほとんど真っ赤 / 真っ緑で、おまけにワックスがテカテカについているので、 いかにもまずそうだから食わない (にもかかわらずこっちのアメリカンは林檎は ふつう皮むかずに食うんだぜ、狂ってるよ)。 オレが食うのはもっぱら organic の店で買った「ふじ (Fuji apple)」 である。こっちは一部の野菜 (カボチャなど) は日本よりきわめて デカいのに、それ以外の野菜 (ダイコン、タマネギ、人参) や果物は そんなにでかくないよね。品種がちがうにしても、なんでだろ。 日本のは品種改良してデカくしたのかな??
todo:
Jose のところへいくこと。Form 8233 の書き方またわすれちゃったよ
(毎年やってるのに)。それから payroll の住所がホントに
ちゃんと変更されてるのかどうかチェックする (これは、どこだ。
Federecia のところか?)。聞いたところでは、学生のほうの住所と
給料支払いの住所は別のシステムで統合されていないと聞いたことがあるので。
やっぱ書くのやめた。
きょう slashdot でおもしろかったのは kore. 新山はこの国の "e-voting" についてあまりよく知らないのだが、 選挙結果が特定の企業の製品にギュウじられてしまうことの危険性はわかる。 しかしセキュリティ屋ってのはつらい商売だよな。 世の中がいろいろ電子化されて“便利”になっていくのに対して あえて逆の方向を示唆しているわけだから。Rubin せんせいも、 最初の選挙スタッフとしてボランティアしたときはあきらかに周囲の目が キツかったという (この人は e-voting の危険性について早くから指摘している有名人で、 テレビとかにも出ているので)。とりわけ、アメリカ人は「便利なものはどんどんとり入れよう」 というイケイケ的な傾向があるので、この国での風当たりはとても強いだろう。 でも、なんとなくアメリカ人よりも日本人のほうが機械に対して慎重な気がするので、 日本ではオレはあまり心配していないけど (むしろ、どうでもいい部分を いまだに人手でやっていそうな気がするが、無理してコンピュータ使えゃいいってもんでも ないのでそれはなんともいえない)。そもそも、日本で選挙したって どのみち米国みたいに政策がガラリと変わるようなことはないのだから (私腹を肥やす人が変わる程度)、あんまりどうでもいいよな。 しかし、銀行や鉄道なんかは、日本はアメリカなんか比較にならないほど ハイテク化されているので、むしろこいつらのほうがやばい。
ところで、やっぱ選挙について書くが、ブッシュが勝つのはなんとなく予想していたことではあった。 こういう政治に偶然というのはありえないので、 といっても、別に誰かの陰謀というわけでもなく、 ただ単になんらかの避けがたい理由により「なるべくしてなった」んだと思う。 みんな後付けでなんか理由をいろいろつけてるのだが、 ほんとうの理由はもっとずっと根本的なものなんじゃないかな。 もちろんそんなものはオレには永久にわからないし、わかる必要もべつにないのだけど。
これは病気だね!
“よくわからぬい病”。
それにしても、「気がする」とはなんて便利な言葉なんだろう!
頭が痛いような気がする。
部屋が明るいような気がする。
生きているような気がする。
オー、しかし、そんなことは大したことではないと思う。
def cars(pairs): return [ x for (x,y) in pairs ] def cdrs(pairs): return [ y for (x,y) in pairs ]
オレは東京のホテルなんて 2、3個しか知らないぞ。 しかもべつに泊ったことあるわけじゃないし。
またヘンな夢を見た。夢の中でも確率分布やらなにやらを計算していた。 きっときょうの授業の問題のやりすぎだろうと思う。
てくるで (ところで) きのうルーマニア人と日本語の敬語 (honorific) について話したのだが、 「相手の身分によって、自分 (=話し手) をさす代名詞も変わる。たとえば目上の人と話すときに 一人称として "ore" を使ってはいけない」というような話をしたら、彼は「それは変わってるよね? ルーマニアでは目上の人をさす代名詞が変わることはあるけど (英語でもある)、 どうして自分をさす代名詞まで変わらなければならないのか?」という。むむ、それはあんまり考えたコトがなかッタ…。 思うに、日本語の一人称には度合に応じて「身をやつす」機能があり、 それが相手に対する間接的な敬語になっているという説明ができる、とあとになって気がついた。 日本人は相手の絶対的な地位よりも、相対的な「相手 - 自分」の差をより重視するように見える。 だから相手を持ちあげるだけでなく、「自分を落とす」ことでも相手を尊敬していることになるのだろう。 そうか、そうか、でも英語にはそういう感覚ってないんだ。とくに米国では、自分を落として 言うとかえって卑しい感じがするもんな。ところで (てくるで) もうひとつ日本語の 「隠された敬語規則」とでもいうものに「“あなた”という代名詞を目上の人に使ってはいけない」 というのがある。英語では "you" を使わないと会話がほとんど成立しないのに、 日本では二人称を使う頻度はずーーーっと少ない。上司に「あなたはどう思いますか」などと 尋いたらえらく生意気に思われるだろう。これはたしか前に誰かが説明していたような気がするが忘れた。 たしか日本で「あなた」を使ってトラブルになった外国人留学生の話とか…。 しかし敬語的には「あなた」は尊敬表現なのに、この攻撃的っぽさはいったいどうやって説明したらいいのだろう?
だがそれがどうした。これって学問。
てく
るでなんでテレビの予告編では「夜7時スタート!」なんかよりもひらがな表記の「よる7時スタート!」
のほうが好まれるのだろうか???
??
ま、一晩寝りゃ直ると思うんだけど。そう願うよ
この四季の意味するところは、だ。うひょっxtっ、bbbbbb
最近、ことあるごとに sets
を使おうと試みているのだが、
いつまでたっても使う機会がない。いつも sets のかわりに辞書を使ってしまうのだ。
思うに、「集合そのもの」だけが欲しいって状況は実はあんまりなくて、たいていは
「集合プラスなんとか」が欲しいのだと思う。とくに新山の場合は濃度つき集合をよく使う。
以下のようなコードをしょっちゅう書いている:
dic = {} for i in seq: if i not in dic: dic[i] = 0 dic[i] += 1
grape/src/tmp/Chandler_linux_0_4[17983]$ ./release/RunChandler Using /src/tmp/Chandler_linux_0_4/release/bin/python Traceback (most recent call last): File "/src/tmp/Chandler_linux_0_4/Chandler.py", line 65, in ? main() File "/src/tmp/Chandler_linux_0_4/Chandler.py", line 40, in main application = wxApplication(redirect=False, useBestVisual=True) File "/src/tmp/Chandler_linux_0_4/release/lib/python2.3/site-packages/wx/_core.py", line 5269, in __init__ self._BootstrapApp() File "/src/tmp/Chandler_linux_0_4/release/lib/python2.3/site-packages/wx/_core.py", line 4957, in _BootstrapApp return _core_.PyApp__BootstrapApp(*args, **kwargs) File "/grape/src/tmp/Chandler_linux_0_4/application/Application.py", line 216, in OnInit Globals.repository.open(**kwds) File "/grape/src/tmp/Chandler_linux_0_4/repository/persistence/XMLRepository.py", line 130, in open DB_RECOVER | DB_CREATE | self.OPEN_FLAGS, 0) bsddb._db.DBError: (38, 'Function not implemented -- __repository__/__db.001: unable to initialize environment lock: Function not implemented') exit 1
けっっっ。
こんなもんかよ。ソースコードを見て直そうとしてみたが bsddb の仕様をよく理解していないために どのオプションがどう働いているのかわからない。pydoc もないし。まったく。
けっっっ。 (再び)
まあ、どうせダメだろうと思いつつ試したのでいいのだけど、 このプロジェクトは頓挫しそうな匂いがプンプんする。たとえリリースしたとしても 誰も使わないだろう。ほとんどの人には複雑な機能や拡張性など必要なく、 逆にそういうのが必要な人にとっては、たいていの、あらかじめ用意された「柔軟性」とか 「拡張性」など余計なお世話でしかない (ごく一部の人がヨロコブ程度)。 機能礼讃主義みたいなのはそこいらじゅうにある。たとえこれがいつか Outlook を 機能的に超えることがあるとしてもだよ、人々が Outlook を使うのはそれが 機能的に優れているからなんかじゃない。「たまたま、そこにあったから」だ。 ほとんどの人にとっては、もっとずっと単純なメールクライアントでこと足りる (はっきりいえば、Eudora-1.2J ぐらいで)。それにコード量の増加にともなって生じる チェックの煩雑さやセキュリティ上の問題を考えると、一部のマイノリティのために むやみに機能を追加するのは時間の無駄。
するとじゃあどうすればいいんだ、というところで出てくるのが、cp4e である。 誰でも自分のソフトウェアを自分で理解してカスタマイズできる世界。 いまから 100年後ぐらいには、いずれすべての人がプログラミングすると 仮定できる。そのような世の中ではプログラミングは日曜大工的なものになるだろう。 しかしそのときになっても、みんなが複雑なフレームワークやらなにやらを覚えようとするとは 思えないので、単純にすべてのソフトウェアを Python で書いただけではダメなのだ。 むしろソフトウェアの役立ち度を保ちつつ、それをいかに 「誰でもいじれるような単純さにするか」が一番キモの部分なのに、 みんなそのことをちゃんとわかってるのかな。 かつで qmail を使いだしたときに、「sendmail の機能の superset」を求めるとうまくいかなかった。 むしろ、自分にフィットする subset のみに限定し、同時に自分の使用スタイルも 変えるということが必要なのだ。いまの傾向ではどうやっても cp4e には向かわず、 ますますソフトウェアは専門化、特権化するばかりである。オレぁそーいう世界はイヤなんだよ! よく、このことをわかってない人が余計なオプションやらなにやらをつけているのを見るが、 はっきりいってこれは理解するコストというものをまったく無視していると思う。 拡張性は機能をつけたすことによってではなく、機能を削ることによって達成すべきなのだ。 -- ってこれどっかで聞いたと思わない? R5RS の冒頭にある文章のパクリだよ。 使いやすく、しかもカスタマイズしやすいという、この 2つの目的を同時に達成する方法は 「なんでも単純にしておくこと」しかない。 ここで嬉しそうにカスタマイズ機能や「拡張性のための」意味論を追加してどうするのだろう。 しかしこれは極論すれば「フレームワークなんかいらないんだ」といっていることと、 同義になるのだろうか? いや、それはちがう。フレームワークはいる。 けれども「複雑な」フレームワークはいらないどころか、かえって害にしかならないということを 言いたいのだ。どうも「単純 = 使いにくい/洗練されていない」という誤解があるような気がする。 これはやはりプログラマーに固有の病気なのだろうか。いま頭が狂っているのでまたあとで書く。
スピーカーの件だが、机の上じゃなくて、床に置くようにしたらいくぶんましな音になった。 じゅうたん敷なので、共鳴しなくなるのだろうか。
COMPUTER SCIENCE COLLOQUIUM Friday, November 5, 2004 - 11:30 a.m. Room 1302 Warren Weaver Hall 251 Mercer Street New York, NY 10012-1185 Speaker: Cesare Tinelli Department of Computer Science The University of Iowa Title: A Non-clausal Calculus for Satisfiability Modulo Theories
うわ、これ、ワカンなそー。
というか、思うのですが…。これってほとんどランダムに選んでも同じじゃないの??
うとふ8 (utf)
いま気がついたけど、「憎悪」って「ぞうお」って読むんだね。 しかしオレは「にくあく」と読むことをおすすめする。 そうすると、雰囲気でるから! いやちがうんだ。逆にスゴ味が消えてまろやかな表現になる。
「まろやか」と「麿呂」は関係あるだろうか? つまりそれはペヤングと公家が関係あるかってことだ…。
病気、病気。
だと??????(以下 7571個省略)???
それしかできなくていいんだ。できることをやりゃあいいんだ。オレはそれをやるぞ!
よくわかっていらっさる。>>> [1]*-3 []
りすについて。こいつらは時々立ちあがって「おょっ?」というポーズをとるのだが、 デジカメの立ち上げ速度がノロいためすぐに逃げられてしまう。もっと早いデジカメがほしい。
ヒトぬこと全然言へぬい。蛾