K.Sasada's Home Page

Diary - 2003 October

研究日記

神無月

_31(Fri)

合意の下、と合意の上、意味に違いはあるんだろうか。

  • 合意の上 約15,600件
  • 合意の下 約5,010件
  • 合意の中 約1,370件
  • 合意の元 約1,420件(誤変換?)

さすがに右左は無いか。


ふくろ焼きそばだと思ってフライパンでジュージューやったら、袋ラーメンだった。ガビーン。

さすがに辛くて食べられなかった。お湯を入れたら、ラーメンっぽくなった。


[1]Bytecode Compression via Profiled Grammar Rewriting (2001)
William S. Evans, Christopher W. Fraser
SIGPLAN Conference on Programming Language Design and Implementation

[2]A Code Compression System Based on Pipelined Interpreters (1999)
Jan Hoogerbrugge, Lex AUGUSTEIJN, JEROEN TRUM, RIK VAN DE WIEL
Software - Practice and Experience

って、どうなんでしょうか。などと書いてみる。これから読みます。


匿名(Fri Oct 31 22:07:51 JST 2003) wrote:

今って、relocationとかre-entrant って当たり前のことになっちゃってるのね

ここの文脈での re-entrant って何でしょう? あと、relocation ってあたりまえなのかなぁ。仮想記憶使って・・・も必要だったっけ。うーん、よく理解してないな。俺。


どちらも組込み向けのコード圧縮技術の話だった。入力は C など。これらをインタプリタ上で実行すればちっちゃくなるでしょ、って話。

[1] の文法って何かと思ったら、命令記述の文法で、文法ってほど文法してない気が・・・。結局 superinstruction を作っていくっていうふうに見えたんだけど。

評価は圧縮率のみで、速度は書いてない。どうなのかな。

[2] は、ホットスポットはネイティブで、他はインタプリタにすれば小さくなるでしょって話。ホットスポット検出は手動でやったり、プロファイラかけたり(結局手動なのか?)

インタプリタ部分は VLIW でも速いインタプリタってのを提案してて、でも結局 superinstruction を作って、threaded code にして、ソフトウェアパイプライン化して、stack caching して、ネイティブメソッドとのインターフェースに気を配って。

ソフトウェアパイプラインは manually って書いてあるけど、こんなのほんとにやるんか。自動化は・・・できそうではある。命令一個の中に、プリフェッチコードを入れるっていうのか。ふーん、なるほど。どれくらい速くなるもんだろうか。

5VLIW命令発行・4サイクルジャンプ遅延・3サイクルロード遅延にも関わらず、software-pipelining/stack caching によって6命令で済んだ、って書いてあるな。うーん。

でも、こいつらコンパイラ弄ってるから、いろいろと出来るって話。うーん、そうか。

インタプリタのための論文ではないから、各手法それぞれに関しての評価が無いのが残念。


どうでもいいけど、replicating VM instructions って、そこまでやるんかー。うわ、効果出てるし。


やっぱとりあえず基礎の部分作らないと、工夫するにも。。。だねぇ。


いいなぁ、宴会。

_ahiru(Fri Oct 31 17:12:30 JST 2003)

 袋焼きそばと袋ラーメンってどうやったら間違えるんでしょうか…

_Yuya(Fri Oct 31 19:02:55 JST 2003)

 安く済ませるために、包装されていない状態で大量に買ってきたから・・・とか

_ささだ(Fri Oct 31 19:22:42 JST 2003)

 袋の形一緒だし・・・。

_30(Thu)

bibTeX を読むための rubyライブラリってどっかに落ちてないかな・・・。


本学で未踏を取ったのが、実はうちの学部生だと知ってちょっとショック。やはり出来る人は違いますね。


RITEってリアルタイム処理も視野に入っちゃったりするんですか。

知らない単語ばっかりだ。


うあーーー。3時ごろ、ついうとうとして、気づいたら6時半。うあーーー。貴重な活動時間が。やっぱり昼には活動できないってことか。


リアルタイムJava仕様の本、クラス名の右下に番号が書いてあるんだが、それがページ数だと気づくのに時間がかかる。あまりよくないサービスな気がする。


結構凄い人(なんだろうなぁ)と思っていた人が、全然そんなことないことを気づいてしまったりして。なかなか気分が悪い。まぁいいけど。


zigzag って英語だったのか。知らなかった。

ついでに MANIFEST ファイルの使い方も知りませんでした。


cvs update って、新しく出来たディレクトリ、取ってきてくれないのかね。MANIFEST 読んでて、ないディレクトリに気づく。

というか、知らないライブラリが沢山。

根本的に cvs の使い方が間違えてるのかもしれない。


定数時間で型チェックをする方法。1991年かぁ。

rubyでは数少ない変更されない情報である superclass ならいけるのかなぁ、とか思ったけど、module が入るとダメダメなんですね。obj.kind_of? の定数時間の実装ができるかって話ですけど。

module を include したら、全てのsubclassに対してその情報を知らせる? Object に include したら大変なことになるな。include なんて滅多にシネーヨ、という仮説が通れば、いけるんだろうけど。

class と module 、別々に深さを管理して class なら定数時間、ってのもあり? でもそれって嬉しいのか?

やっぱダメダメ。


「もやし 栽培」でググっていたら、そばもやし、というのがうまそうだったので、種がどこで手に入るかを探してみたところ、なかなか面倒そう。スーパーで買ったほうが安いし早いのかなぁ。


Linux Conference 2003より

MMU なしプロセッサ用 Linux の共有ライブラリ機構

どうやんのかな。頑張ってリアロケーションリロケーション?

reallocation って、何を再確保するんかな。


今更Shibuya.pm Techical Talk #4: ネットピープル分類学 その傾向と対策 を見て爆笑中。

でも、どうやって「シュッ・シュッ」に(発端から発展へ)つながるのか未だによくわからない。なんで流行ってるのかもよくわからない。


スクウェア・エニックス、「ドラゴンクエストV 天空の花嫁」をプレイステーション 2で来春発売

全然知らんかった。というか、92年だったのか。もう10年以上たってんのか。そっちにショック。まだ全然おぼえてるぞ。

というか、PS2にするのならさぁ、イラストをいのまたむつみにするとか(無理)、シナリオを久美さんにやってもらうとか(無理)。で、18(略)。PS2じゃ無理か。

DQ6の小説はあんまり面白くなかった。やっぱり4か5だね。


いつのまにか、こんな雑文をのべ2万人の人が見たようです。実際見てる人は3人くらいですかね。大変ありがたいことです。

というわけで、20000 2003-10-30-4-4-4-4 *.katch.ne.jp Mozilla/5.0 Gecko rv:1.5 な人、なんか下さい。スゲー、4が続いてるよ。曜日が4で4時4分4秒。キリ時間ってことで、豪華になんか下さい。

ということで、知ってもしょうがないアクセス統計。

# アクセス元
*.infoweb.ne.jp	2441
*.tuat.ac.jp	1730
*.bbtec.net	1630
*.mesh.ad.jp	1219
-	1081
*.ocn.ne.jp	797
*.dion.ne.jp	629
*.asahi-net.or.jp	495
*.so-net.ne.jp	462
*.dy.bbexcite.jp	436

えーと、infoweb は自宅なんで、殆ど自分自身でのアクセスかも。

# browser
MSIE 6.0	7533
MSIE 5.5	3280
Mozilla/5.0 Gecko rv:1.4	2842
Mozilla/5.0 Gecko rv:1.4b	1262
Mozilla/5.0 Gecko rv:1.5a	1091
	699
Mozilla/5.0 Gecko rv:1.5b	654
Mozilla/5.0 Gecko rv:1.2.1	559
Mozilla/5.0 Gecko rv:1.5	420
Mozilla/5.0 Gecko rv:1.0.0	291
Mozilla/5.0 Gecko rv:1.2	211
MSIE 6.0 Opera 7.11  [ja]	200
Mozilla/5.0 Gecko rv:1.6a	193
MSIE 5.01	175
w3m/0.4.1-m17n-20030308	161
MSIE 6.0 Opera 7.11  [en]	147
MSIE 6.0 Opera 7.20  [en]	144

MSIE 5.5 も私です。

# OS
Windows NT 5.0	9374
Windows NT 5.1	4254
Linux i686	3467
Windows 98	1354
Mac_PowerPC	995
-	497
FreeBSD i386	332
Windows NT 4.0	283
Linux i386	239
Windows ME	116
Linux i586	80
Windows 95	72
Linux	58
CacheFlow	55
Windows 2000	53
SunOS sun4u	33
Windows NT	14
PDA	12
Windows 9x	10
Windows XP	5
YoujoOSX	3
Windows NT 5.2	3
Slurp/cat	3
X11	2
SunOS 5.8 sun4u	2
Linux 2.2.25-0vl3 i686	2
robot@gais.cs.ccu.edu.tw	1
Windows CE	1
SunOS 5.6 sun4u	1
OpenBSD 3.4	1
NetBSD i386	1
Linux 2.4.22-0vl6smp i686	1
Linux 2.4.21-xfs	1
Linux 2.2.20 i586	1
BrightV/4.100	1

Windows 強い。というか未だに Win98。robot ってなんだろう。

# referer
http://www.jin.gr.jp/~nahi/link-ruby-diary.html	7928
	4715
http://www.namikilab.tuat.ac.jp/~sasada/	1826
http://www.shudo.net/antenna/index.html	1456
http://www.jin.gr.jp/~nahi/link-ruby-temp.html	1237
http://www.shudo.net/antenna/	811
http://www.namikilab.tuat.ac.jp/~sasada/index.html	486

ruby効果 / shudoさん効果。

更新頻繁ですみません。


バンダイ、PS2「新世紀エヴァンゲリオン2」完成記者会見開催

「新世紀エヴァンゲリオン2」は“2”となっているが、アニメのその後を描いた作品ではない。アニメを制作した庵野監督の思考をAI化し、作品世界全体をシミュレート。プレーヤーは作品世界を丸ごと体験するというコンセプトの上で制作されている。つまり、展開如何によっては原作世界とは微妙にずれたストーリーが構築される可能性もある。

ウサンクセー、とか思うのは、私がガンパレやってないからでしょうか。でも、この文章はいかがなものかと・・・。

実はマトリックス?


プログラマブル妹ってなんですか。私には全然わかりません。なんでそこで妹が出てくるんですか。

_shudo(Thu Oct 30 20:28:06 JST 2003)

 僕はいつも「% cvs up -dP」です。-d: Build directories。-P: Prune empty directories。全然コード書かないから、cvs もごぶさたなんだけど...

_ささだ(Thu Oct 30 20:33:44 JST 2003)

 ありがとうございます。なんか知らないものが沢山入ってきました。>-d

_匿名希望(Thu Oct 30 22:01:43 JST 2003)

 ふつー、~/.cvsrcにupdate -d -Pです。

_ささだ(Thu Oct 30 22:31:36 JST 2003)

 マイノリティ(普通じゃない)ってことで(違。勉強になります。

_shudo(Thu Oct 30 22:48:04 JST 2003)

 写真に写ってる御本人は、自分だってことがわかるみたいです>某分類学

_匿名(Thu Oct 30 23:40:19 JST 2003)

 Linux Conference 2003より > MMU なしプロセッサ用 Linux の共有ライブラリ機構 MMU なしプロセッサ用 Linux の共有ライブラリ機構

_匿名#2(Thu Oct 30 23:41:23 JST 2003)

 できることは原理的にわかっているけど、あまりに back to the futre すぎ。

_匿名#3(Thu Oct 30 23:42:44 JST 2003)

 めんこ、futre はウソ。リアロケーションはリロケーションかもしれない

_匿名#4(Thu Oct 30 23:44:12 JST 2003)

 relocationでなくても、相対アドレスアクセスのPICでもできたりはする

_ささだ(Thu Oct 30 23:49:33 JST 2003)

 ガーン。そうか、リロケーションか。

_匿名希望(Fri Oct 31 00:07:59 JST 2003)

 匿名#2・#3さんへ。futreは「太れ」と読むの?

_匿名-#4(Fri Oct 31 19:28:31 JST 2003)

 だから間違えたんだってば。ごめん。漏れは太ってるけど

_匿名(Fri Oct 31 22:07:51 JST 2003)

 今って、relocationとかre-entrant って当たり前のことになっちゃってるのね

_29(Wed)

8話、芸が細かい・・・。爆笑。13人か・・・。版権とかどうなってんのかな。でも声優は一部違う。うひ、最後は先生か・・・。声優はマッチしてるけど、顔が崩れてる。

健全な男の人はこんなゲームやらない、と。そーかそーか。私はやってないので健全。

わ、なんかシリアスだ・・・。よくできてる、きちんとまとまってる、凄いなぁ、というわけで終り。某成よりは全然綺麗にまとまってる(*1)

また読みたくなったなコスモス荘。


萌え年齢テスト55

  • 萌え年齢 :18.9619417475728才 <まあ、ありうることです。 注:成長はここらまでです。受験に忙しそうです。
  • TPI萌え年齢 :19.7123945675483才 <新種の萌え評価基準です(非常に試験的です)。
  • 『あなたは、地を這うロマンチストかと思われます。』

うーん。別に異世界から女の子が降って来るとはおもってないが・・・。(*2)

しかし、どうやって値を設定するんだか。


はまったこと。バッチビルドで、リリースとデバッグを同時にビルドして、同じファイル名で実行ファイルを上書きしていて、リリース版とおもってデバッグ版をやっていた事。


先日の PTT のスライドとかだそうです。ソースは O'caml なので読めません。

はじめて ML のソースを読んだ気がする。


わ、shudoさんはあのTシャツ買うのか・・・。


聞こえてきた会話から。

「こないだ買ったアイトリプルイーに〜」

IEEE を買収するのってどれくらいかかるんだろう。会話では、FireWire の意味なようでしたが。


*1 綺麗にまとまりすぎてる感もある。いいのか、ドッコイダーがこれで。
*2 この発想が!
_アヒる(Wed Oct 29 02:52:23 JST 2003)

 ウソもほどほどに。私は健全。

_ささだ(Wed Oct 29 03:18:37 JST 2003)

 ウソじゃないもーん。

_KM(Wed Oct 29 09:54:25 JST 2003)

 私の脳内では「 Oops! LA 」だったりします.ロスアンジェルス大変.

_ささだ(Wed Oct 29 13:05:58 JST 2003)

 私は最初OOP Symposium in LA かとおもった。というか、OOPSLAネタというのに気づくのに大変だった。

_健全な6(Wed Oct 29 15:12:39 JST 2003)

 別な方面の健全じゃないゲームをやってるんでしょ?(ぉ

_shudo(Wed Oct 29 15:34:43 JST 2003)

 買わねっす

_こーのいけ(Thu Oct 30 00:33:06 JST 2003)

 ドッコイダーより吸血鬼です。いやむしろ九官鳥や生臭い奴です。(謎 それはさておきSqueak本「買っても良いけどどういう本なの?」とのこと。一般流通乗ってないのがネックなのは相変わらずですが。それから「Squeak: Object-Oriented Design With Multimedia Applicationsならあるけど,読みたいなら貸すよ」とも。 で,萌え度と幅は?

_ささだ(Thu Oct 30 09:55:48 JST 2003)

 萌え度は隠しましょう、とあったので隠してあります。

_28(Tue)

3人でツインズ終り。さすがに3人で風呂には入らないらしい。しかし、上手い具合に日記が見つかるもんだなぁ。

しかし、どう転んでもああはならないと思うけど。いろいろと凄いな。最後にお兄ちゃんちょっとかっこいいところを、なんかな。よくわからんけど。

ツインズの13話目は、これはこれで大変そうだ。

次は何にお願いするのかな。


OOSPLA OOPSLA って 1000人で少ないんですか。ひょえー。


いつも私がアニメばっかり見てるとか、ギャルゲーとかしてるとおもっている人が居そうな感じですが、私はこれでも大学院生ですよ? そんなわけないじゃないですか。そもそもギャルゲーなんて私はやったことないですよ? (中略)明日もツインズです、じゃないんですよ。今はドッコイダー見てるけど。別にたんぽぽが目当てなんじゃない。

というわけで(評価中で暇なので)、現在私がやっている研究なぞを紹介します。研究では、私はRubyで何かやってるわけでも、VM作ってるわけでも、Scheme作ってるわけでも、萌え実行環境作ってるわけでもないのです。日記には全然書いてませんでしたけどね。書けない事情もあったんですが、まぁ、面倒だったり。

うちは、一応、OS屋の研究室です。多分。なので、それ系の話になるはずです。

卒論のタイトルは「マルチスレッドアーキテクチャにおけるスレッドライブラリの実装と評価」で、SACSIS とか CSS とか PDPTA 全部まったく同じタイトルで乗り切りました。再利用ですね。エコロジー、地球に優しい。

しかし、今おもうとマルチスレッドアーキテクチャって書いてあるだけだと「何のアーキテクチャがマルチスレッドやねん」って気もする。すでにプロセッサアーキテクチャの名前として、この名前が広まっているので、まぁその筋の人にはわかるんですが、わからない人にはわからないよなぁ。

で、マルチスレッド(MT)アーキテクチャとは何ぞや、ということなんですが、まぁ、ここ10年の技術です。多分。その中でも、Simultaneous Multi-Threading、略して SMT アーキテクチャってのが、まぁ主な研究対象です。なら、「SMTにおける〜」にシロヨ、って気もするんですが、それはそれ、対象が広いほうがなんとなく嬉しいじゃないですか。

SMTアーキテクチャのプロセッサってのは、すでに Intel が HyperThreading というわかりやすいんだかわかりづらいんだかわからないような名前で製品化しています。XeonとかPentium4 とか。

いったいこいつは何なんだってことなんですが、要するに複数の実行コンテキストを1プロセッサ内で同時に実行するってのがマルチスレッドアーキテクチャで、SMTはさらに1サイクルで同時に複数のそれが動いちゃうわけです。

さて、実行コンテキストっていう不思議な言葉が出てきましたが、スレッドと言ってしまったほうがとおりがいいかもしれない。スレッドが「マルチ」で動くからマルチスレッドアーキテクチャなわけなんですが。そのまんまですね。もちろんマルチってアレとは関係ありません。

でも、一言でスレッドと言ってしまっても色々あるわけです。pthread で作ったらスレッドだし、JavaのThreadクラスを start した奴もスレッドだし、beginthread (Win32APIを呼ぶライブラリ関数)した奴もスレッドだし、Ruby で Thread.new したやつもスレッド。細粒度スレッドプログラミング言語の1関数呼び出しもスレッドを生成しますね。

いろいろとスレッドという単語を使っていますが、まぁ一つの命令列と、それを実行することに名前をつけたのがスレッドです。多分。こういう名前を付けることを仮想化と言います。多分。実行命令流を仮想化したもの、とか言っておくとなんとなく研究してる気分になれます。

さて、上にあげたスレッドの例は、まぁなるほど納得、って感じがしますが、誰がそのスレッドをサポートするかっていう違いがあります。pthread はライブラリやOSのサポート、JavaはJavaVM(の中で閉じたり OS サポートだったり)、beginthread は OS、Ruby はRubyインタプリタ内で全部閉じてますね。細粒度スレッドプログラミング言語は OS に最小限のサポートをお願いして、殆どが言語処理系ですね。

スレッドの対応を、OSがもってんならOSに全部任せてしまえばえーやん、って気もするんですが、OSにお願いすると、そのお願い一回につき、コストがえらいかかるんですよね。なので、粗粒度、ようするに命令列が大きな単位じゃないとお願いできません。小さい命令列だと、何度もOSにお願いしないといけないからです。

さて、MTやSMTアーキテクチャプロセッサの話です。ソフトウェアの話と混ぜると危険(わかりづらくなる)ので、プロセッサが実際に並列実行するスレッドを実スレッドと言うことにします。言い換えれば、MTプロセッサは実スレッドを並列に実行することができるプロセッサで、その中でもSMTプロセッサは1サイクルで複数の実スレッドを同時実行します。他のMTプロセッサは、たとえばキャッシュミス時のストール中に実スレッドを切り替えて実行してみたり、1サイクルごとに実行するスレッドを切り替えてみたり、とかをやります。

あと、チップマルチプロセッサってのもありますね。こいつは1プロセッサ中に何個もプロセッサ突っ込んで、何個も実スレッドを同時実行します。わかりやすいですね。では、SMTと何が違うのかというと、突っ込むプロセッサの数です。SMTは一個だけです。一個だけなのになぜ並列実行できるのか、というと、スーパースカラプロセッサの中にある演算器はILPの伸び悩みから、殆ど有効活用されていません。その使われていない演算器を有効活用しよー、というのがSMTプロセッサです。

はい、専門用語が並んできました。要するに私が逐一説明を書くのに飽きてきたわけです。ということで、今日はこの辺で。

全然研究の話までイッテナイジャン。

ちなみに、私はプロセッサ屋ではなく、ソフト屋です。こんなプロセッサの上で上手に動くソフトウェアを研究してます。ってことになってます。一応。


世の中にある OOSPLA、約329件。


要するに私の日本語は致命的ってことですね。勉強するの、英語よりも日本語だったりして。


テレビ新時代。私もサポートしてもらえるかしら。


occaml は 約8件。

"O'caml" は 約6,300件。

Ocaml は 約139,000件。


花嫁教室ってなんだ!


第 293 回 PTT メモ。先日のやつの質疑応答記録。


オチが決まらない、って、マーシャとライザ? ぷろ子とぴろ子はどうなったんですか?


輝け!第一回オブ自慢コンテスト。ruby は無いんだな。出れん。


今日は電車で来たので終電がある。何時かよく知らないけど。データだけもって残りは家でやるかな。

_Yuya(Tue Oct 28 19:22:37 JST 2003)

 OOPSLAではなく?

_ささだ(Tue Oct 28 19:51:39 JST 2003)

 なぜか「おーおーすーぷら」って記憶してた。

_washizaki(Tue Oct 28 20:30:23 JST 2003)

OOPSLA2002 の参加者は約 2000 人ですから、今年の 1000 人は少ないようです。 といってもまだ二日目なので、最終的にはもっと増えると思います。

_ささだ(Tue Oct 28 20:33:20 JST 2003)

 なるほど、すごい大規模なカンファレンスなんですね。

 考えて見ると、カンファレンスとシンポジウムとワークショップの違いがわからない。だんだん小さくなっていくのかな。会議、討論会、研(究|修)会、とか。

_匿名希望(Tue Oct 28 20:42:33 JST 2003)

 ここだけの話ですが、beginthreadはライブラリ関数です。スレッドを開始するWin32APIはCreateThread。

_ささだ(Tue Oct 28 20:49:39 JST 2003)

 あー、すみません。beginthreadの中でCreateThreadを呼んでいるのを何を間違ったか Win32API と書いてしまいました。

_27(Mon)

生協に CPUの創り方 の注文してたのを取りに行こうとおもったら、金がねー。ダサすぎる。


翔ソフトウェア (Sho's) - オブジェクト指向 - 遊び - 議論パターン(dpml)。


メールのサブジェクトが SJIS で、中身が JIS で書かれていると、電8を使っている私の環境だと、本文が化ける。どうしたもんかな。


ぷろ子が二人 も居たのか・・・。世の中って広い。


というわけで、金を借りて創り方を買う。


いつも私がアニメとかギャルゲーとかしてるとおもっている人が居そうな感じですが、私はこれでも大学院生ですよ? そんなわけないじゃないですか。そもそもギャルゲーなんて私はやったことないですよ? Ever17 はギャルゲーじゃないよね? 多分。アニメなんて、リアルタイムに見たのなんて、家族が見てるのを横からぼーっと見るだけですよ? 普段の私は萌え萌え言ってませんよ? ネタですよ? ネタ。創り方だって、別に絵柄を見てじゃなくて買ったんじゃないですよ。ホントホント。(*1)

まぁ、その証拠に、論文誌などを読んだ感想などを書こうかな、とか。処理学会 PRO の 2003 Oct (SIG 13/Vol.44/PRO 18) です。なにかのついでだったりするが。

なんか、論文って言葉かいておくと、なんか学生っぽいっていうか、研究してる気分になれるっていうか、そんな感じがしますね。へへへ。

処理学会のページに目次がないでやんの。ガーン。というわけで、タイトルに誤字脱字の可能性があります。また、面倒なので著者などはなし。

■動的割付戦略を最適化するJavaメモリ管理機構

スレッドローカルなオブジェクトは、GCもスレッドローカルでいいから複数のプロセッサで一斉にGCしないでもいいでしょ、っていうのを頑張った論文。富士通さんこういうことしてるんですね。Sun からHotSpotVMのソース買ってるんだろうな。いいなぁ、金があるところは。

トレースベースシミュレータってのが、どれくらいの意味があるのかよくわからない。プログラムの挙動調査のため? なら、本稿での最適化機構を実装する必要無いよな。

やっぱり、ライトバリアとか、その辺のオーバーヘッドがアレだとおもったんだけど。それでもプロセッサ数を増やしたとき、それで性能が上がるのは、さすがというか並列計算の難しさというか。

あと、評価がやっぱり凄いなぁ。

■効率的なJava Dynamic AOP システムを実現する Just-in-Time Weaver

AOPってよく知りません。処理系と協調するプログラミングの一技法ってことでいいんかな。フックすることが実装側の要件?

■モデル検査技術を利用したプログラム解析器の生成ツール

時相論理式とか、モデル検査技術とか、全然知りません。初めて聞いた。

要件定義を形式的に書けば、いろんなことが自動的に出来てハッピー、とかそういうこと? でも、形式的に書くと、その記述自体が検査プログラムになってたりしないのかな。

■クラスファイル変換によるJavaプログラムの実効制御

要するに、ブレークポイントをクラスファイル変換によって入れてしまおう、っていっちまうと語弊がありますか。すみません。寺田先生なのに、紙芝居はリファーには入ってないのだなぁ。

現状ではメソッドに含まれるバイトコード長が Integer の最大値を越える場合に対応できない場合がある

ってあるけど、バイトコード長って 2^16 が最大じゃなかったっけ? うろ覚え。

■Schemeインタプリタにおける仮想マシンアーキテクチャの最適化

すみません、論文にならないものだとおもってました(汗)。いや、PRO ってもっと身軽なものだとおもってたもんで・・・。そういえば、去年のやつも入ってますね、これ。

名著です、名著(とか言う)。

命令融合、オペランド融合の自動化がやっぱり必要なんじゃないでしょうか。それから、何命令まで膨れさせていいのか、とかの評価、とか。

プロファイル <-> 実行 というイテレーションが気軽にできれば、別にインタプリタを特化しちゃってもいいんでは。というかそれはコンパイラ。

■初中等教育におけるオブジェクト指向プログラミングの実践と評価

この言語覚えるの大変そう。半角と全角混ぜたら負けだよな、とか自分ではおもってたりします。あと、プログラミングにおける机上試験、ってそれ自体がどれほどの意味があるのかね。某情報処理試験もそういうことするけどさぁ、どれほどの意味があるのかねぇ。

■継続の生成におけるスタックコピーの遅延

なるほど、継続って別に中から呼ばれるときは作らなくてもいいんだ。そーかそーか。でも、リターンバリアって嫌だね。継続使わないプログラムにもそいつを入れなきゃいけん、ってのは。結局、それらのコストとの兼ね合いで、どっちがいい、って結論は出してないのか。

どっちがいいんでしょうねえ。

■notavaCC(以下略)

記号書くの面倒なんで、色々と略。論文誌に堂々とこの名前を使うところがスゲエ。前 ABAさんところに書いてあった奴ですよね。英語論文にしたら、エディターさん困るだろうなぁ。数式だから、そうでもないか。

EBNFとか、そもそも私 BNF でどうのするのってよくわからないんですが、便利なんでしょうか。便利なんでしょうね。

エイリアスって、処理系内部でエイリアスってだけで、実際はその元のクラス使えば返り値って自明になったりしないのかな。うーん。きっとそんな単純じゃないに違いない。

■インクリメンタルな解析による空間解析器の高速化

これも未知の世界。どの辺がどう図形なのかわからない。


疲れた。

読みづらい。というかね、論文ってきっと難しい単語使ってるばっかりなんだよ。イラストにメイドさんとか書けば、きっと論文誌もわかりやすくなるはず。多分。


えーと、机の上に難しそうな本が色々のっていたのはなぜなんだろう。


Web コミュニティ探索のための量子アルゴリズムの提案と検証なんてのを見つけてしまったんだけど、どんなことやるんだろ。今度聞いてみよう。


というか、レポート明日までって今日言われても困る。どうしようかな。


*1 あれなゲームはギャルゲーでは無い。
_み(Mon Oct 27 19:02:51 JST 2003)

 ともかく、風邪を治そう

_なかだ(Mon Oct 27 21:14:16 JST 2003)

絵柄を見てじゃなくて買ったんじゃない 「絵柄を見て買った」ってことね。

_青木(Mon Oct 27 21:29:14 JST 2003)

Sun の Java VM はライセンスを認めれば無料で見られるんじゃなかったかな。 たぶんこれ → http://wwws.sun.com/software/communitysource/j2se/java2/index.html

_アヒル(Mon Oct 27 23:18:22 JST 2003)

 ウソもほどほどに :P

_ささだ(Tue Oct 28 04:03:50 JST 2003)

 あ、金がかかるのは変更したソースを配布するとき、でしたっけか。

_こーのいけ@だめモード(Tue Oct 28 04:05:34 JST 2003)

 それだ! イラストがこつえーならもっと論文誌読むかも。のいぢとかならもっと論文書くかも!

_ささだ(Tue Oct 28 04:24:05 JST 2003)

 同人屋とコラボレーションですか! 処理学会、英語に力入れるよりもそっちに力入れるべきですよね(どっちだ)。

_26(Sun)

冗談のつもりだったんだが、YourSQL by Magister Ludi ってのがあるんだな。


某成恵、あの終り方はどうかと。というか、なぜいきなりバイオレンス。


ラストエグザイル終り。なんというか、クオリティが凄い。OPの不思議な人(19話以降はデルフィーネと差し替え?)はなんだったんだろう。計画が変わったんかな。


あるものを見えないようにすることと、無いものを見えるようにすること、どちらが簡単なのだろう。


体の調子がとてもとても悪い。どうしたものか。

_25(Sat)

馬鹿なことを書いているのもなんなので、インタプリタ生成系 Virtual Machine Builder の紹介について、ご報告いたします。なにか間違いなどありましたらご指摘下さい。

話者の内山さんは、東工大脇田研のD3。言語処理系のことをずっとされてきたらしい。

今回の Virtual Machine Builder(VMB) は、要するに仕様記述からインタプリタのメインループを吐き出すことを目的としています。モチベーションとしては、手でゴリゴリ書くより楽だし、次のようなものも自動的に生成することができる。すなわち、

  • code verifier
  • code disassembler
  • profiler
  • debugger
  • optimizer

などである。形式的仕様記述を用いることで、

関連研究として vmgen という仕様記述→インタプリタという生成系があるが、これは記述言語に C をべたに書く。これでは手続きを直接書いてしまうため、解析的なこと、たとえばベリファイアなどを自動的に作ることは(多分)できない。

で、実際に何を記述するかというと、VM命令をVMの状態変化操作とみなし、その命令の実行前状態と後状態を記述することで、その状態変化を効率よく起こすような C のソースを出力する。具体的には、状態をプログラムカウンタ、スタック、レジスタ、およびヒープの状態を記述することで実現する。たとえばこんな感じ。

# うろ覚え・・・
add :
[PC, a.b , ] => [PC+1, a+b, ]

push n:
[PC, S, ] => [next, n.S, ]  # next は PC + 1 + operand数のsyntax suger

"[]" の中は、',' で区切った3つのフィールドがあり、それぞれプログラムカウンタ、スタック、レジスタなどを現すらしい(レジスタが沢山あった場合は、レジスタの列として表現するのかなぁ?)。で、前状態は、a,b が積んであって、後状態では a+b を積む、いたってシンプル。

記述の工夫した点は、列の表現が比較的自然にできること、だそうです。また、ヒープ上のメモリブロックなども、この記述の延長でできるとか。

Occamlの144命令を実装して、その中で出来なかったのは 16命令。原因は三つ。

  • 浮動小数点型(型が明示的に扱えない)
  • 可変長オペランドが書けない
  • C呼び出しが書けない

この苦労は非常によくわかります。可変長オペランドって、綺麗に書けない。宣言的な記述に C の呼び出しは似合わない。

さて、実際に実装は正規化(記述言語をもっと扱いやすく)、直列化(CFGをTSORT、サイクルができたらテンポラリを作って)、・・・あとなんだっけ? あと2フェーズぐらいあったと思うんだけど忘れた。あと具体的な変換だったかなぁ。

で、出力するコードは while(1){ switch(){ case INSN1: ... } } なのですが、まぁマクロでラップしてるので threaded code 対応は容易だそうです。

で、性能評価。手実装より、速くなってたり、遅くなってたり。原因は次の2つ。

  • 整数の型変換が非効率的なコードを吐く(整数型は1ビットずらす・ruby の Fixnumと一緒)
  • 効率的なコードだったり非効率だったり(コンパイラによりそう)

前者は Occaml 的に C = A + B だったら、C的には C = (A + B) - 1 でいけるのを vmb は C = ((A >> 1) + (B >> 1) << 1) としてしまうため。これが大きいらしい。でも、賢いコンパイラなら、これ最適化・・・さすがに無理か。

後者は、人間は比較的わかりやすいソースを好むそうで、わかりやすいソースよりも機械的に吐いたソースのほうが速かったり遅かったり、とか、そんなの。

しまった、vmgen の話で、stack caching とかの話はしたんだけど、vmb では、それどうしたいのか聞くの忘れてた。

で、この研究の興味のメインとしては、最初にあげた諸々(optimizerとか)の生成系だそうで。まぁそうだよなぁ。せっかく形式的記述やってんだから、そうなるよなぁ、とか。future work というか current work だそうです。

最適化については、基本ブロックのようなものに命令をまとめてしまうようなことはやっているようで、それで、それなりの効果は上がっている、とのことです。方法としては、 insn1状態 => insn2状態 => insn3状態 => ... => insnN状態 を解析して、insn1状態 => insnN状態 を導くのは、形式的記述だから、そんなに大変じゃないよね、って感じで。ちなみにこれは、対象プログラムからの情報を元にシステムを作り変えるようにするので、JITコンパイルにするにはもうちょっと大変かも、ということです。

まぁ、あんまりスピードが主眼じゃないそうです。

言語のもつ(というか Occaml のもつ)例外機構は、これによってサポートできたそうです。ただ、Occaml の例外は、どっかになんか積んでどうの、って話らしい。Javaのアレは出来そうにないよねぇ、多分。

というか、ハッシュ操作ってのが無いので、多分 Ruby は難しい。

ちなみに、その変換系は Occaml で2000行くらいらしい。スゲエ。ruby で書いてみるかなぁ。

やっぱり言語非依存なのって難しいねえ。Cとのバインディングできないと、やっぱり辛いだろうし。


って、これは日記じゃなかったんか? なぜレポート!? チクショウ(何に)。

きっと酒井君が書いてくれると思ったのでさぼってたのに。

ちなみに、後日当日のスライドなど公開していただけるそうです。

まぁ、非常にタイムリーで楽しいお話でした。私自身は限定した操作によってVM命令の手続きを記述するのがいいのではないかと考えているのですが、まぁそれは実際に作ってからですかね。ちなみに、わざと書いていない部分もあるんですが、まぁその辺は、ごにょごにょ。やっぱり可変長命令を綺麗に書くって難しいですよねぇ・・・。

tsort ってこうやって使うのかぁ、と素人的に感動していた夜でした。でも、とぽろじーとかなんとかは知らない。

飲み会でrubyの話を振ったら、

  • 設計者が仕様のすべてを把握していないのはいかがなものか
  • 有限のページ数で仕様を説明できないのはいかがなものか

なんて話がありました。W先生はJavaScriptスゲー、とか、Self綺麗、とかそういう話を。

でも、common lisp って誰か把握してるのかなぁ。


そういえば、shudoさんが凄い疲れていて、なんというか雰囲気が6月のPROでお会いしたときと随分と違うような気がして、田中先生じゃないけど私も最初気づきませんでした(汗)。


で、最近この日記の更新頻度が高すぎる、ダメな内容が多すぎる、ということで顰蹙を買っております。すみません。もうちょっとしたらなんとかします。

アンテナの上位に来てしまうのは、確かに問題だと考えておりました。アンテナ上部独占したいからわざとちょいちょい更新してるんじゃないんです。ホントホント。信じてください。

で、どうすればいいかなー、と研究そっちのけで考えているんですが、これがなかなか難しい。つっこみみたいなのとの整合性を考えると。

ダメなのは地なので、なんとかならないような気はします。すみません。いや違う、ダメなのは仮の姿、ネタとしての姿で、本当は


しかし、読む気力を根こそぎ取り去るような、この長さ。


で、最近はムリョウを見ています。あのまったり感が素敵。気が付いたら朝6時で、結局昨日は寝坊してしまった。やめるタイミングが・・・。先生、あれも妹ものなんですか。


フライングトースターPC、スゲー。かっこいい。欲しい。


で、意外な人とかこんなのを見ている、とか聞いて。うーん、shudo さん効果 / linkavailale 効果。やヴぁい、下手なこと書けない。でもダメなことは書いてる。


shudoさんに聞いた super thread というものはみつかりませんでした。次は ultra thread で。


「実践スクイーク教室」。欲しい。品野先生に言えば買ってくれるかも。というわけでよろしくおねがいします>K池さん


[ruby-list:38610] [ANN] Rubyを使ったウェブサイト製作のための Eclipse Plug-in "Web Publisher"

スゲー。


t = ("abc"
     "def")
p t

"abc" が無視されるって話ですが、括弧を使わなければ問題ない!


一週間学校さぼってたから、メールの未読が凄いことに。読んでいたらこんな時間。うはー・・・。


『学園戦記ムリョウ』とは

音楽を『ルパン三世』等で知られる大野雄二が担当しているのも話題のひとつ。彼が『ルパン三世』以外のアニメの音楽を手がけたのは、17年ぶりだったのだそうです。

やけに音楽が素敵だと思っていたら。納得。

さて、かえってムリョウの続きを見よう。


あー、馬鹿。

str = 'a\nb\tc'
str = eval("%Q(#{str})")
puts str

こっちか。なんか変だと思ったんだけど。

ruby-listへの返信が家からじゃできないんで、こんなところに書く。

括弧とか、その辺がアレなので、もうちょっとなんかしないとアレですね。どうも、最近抜けてるなぁ。最近だけじゃないか。

str = <<'EOS'
a\nb\tc\'d"e(f)g'

hij	k
EOS

puts str

str.gsub!(/"/, '\"')
str = eval("\"#{str}\"")
puts str
_shudo(Sat Oct 25 03:11:05 JST 2003)

 ええええ、疲れて見えましたか... 眠かったのは確かだけど。メガネかけて、スーツ着てたのと、もともと猫背だからかなあ

_shudo(Sat Oct 25 03:11:49 JST 2003)

これでつ:J. Y. Tsai, J. Huang and et al. "The Superthreaded Processor Architecture," IEEE Transactions on Computers, Vol. 48, No. 9, 1999

_shudo(Sat Oct 25 03:17:09 JST 2003)

 PTTでのVMBのお話、おもしろかったです。(MLを知らないモグリケソキュウ者の)僕には、仕様記述のための言語とか仮想マシン(スタックマシン)のモデルが、暗黙のうちに経験的に「(ML向けだし、) ふつーこう作るでしょ」というように決められているように感じられました。

_ささだ(Sat Oct 25 03:25:07 JST 2003)

 いやー(悲鳴/嬉しい悲鳴ではない)。読む論文増やさないで下さいー。すみません、嘘です。ご紹介ありがとうございました。

_ささだ(Sat Oct 25 07:40:05 JST 2003)

 システムのバグで日記がかけなくなってしまったのでメモ。ムリョウ見終わり。凄いなぁ。もろもろ。

_木山(Sat Oct 25 07:43:19 JST 2003)

 レポありがとうございました.

_ささだ(Sat Oct 25 07:59:31 JST 2003)

 どういたしまして。お役にたてましたら幸いです。

_ささだ(Sat Oct 25 08:00:06 JST 2003)

 システムのバグ(略)。新井さんありがとうございます。

_ささだ(Sat Oct 25 12:52:47 JST 2003)

 ああ、やっぱり寝坊。

_こーのいけ(Sat Oct 25 20:34:15 JST 2003)

 んー。難しいですね。一般販売してない本は校費で買えないでしょ? アンテナの件は,コンテンツチェッカのために更新頻度を落とすのは本末転倒では? アンテナ側orアンテナ利用者が工夫すべきことかと。 日記側が歩み寄るとしたら,話題にカテゴリ付けして,カテゴリごとにアンテナ用URLを用意するとか。

_shud(Sat Oct 25 21:08:35 JST 2003)

 O'Caml

_ささだ(Sun Oct 26 00:37:02 JST 2003)

 残念・・・。

_24(Fri)

いやー、楽しかった。


今回の投票は %Ruby の協力でお送りしております。


うーん、レポートですか。

  • 東工大は駅から近い
  • 東工大は綺麗
  • 東工大は広い
  • 東工大は高い
  • 最後に食べたイクラ丼、あのサイズであれは高い(680円)

新宿までバイクの往復。寒い。

_金光雅夫(Fri Oct 24 06:53:35 JST 2003)

 なにが? 楽しいこと、知りたいです。

_ささだ(Fri Oct 24 13:38:04 JST 2003)

 昨日のPTTです。

_KM(Fri Oct 24 14:18:33 JST 2003)

 大岡越前^H^H山キャンパス?

_ささだ(Fri Oct 24 20:41:12 JST 2003)

 そう>大岡山

_shu(Fri Oct 24 21:32:00 JST 2003)

 大 岡山

_Yuya(Fri Oct 24 22:14:30 JST 2003)

 東 京都

_23(Thu)

というわけで、今日は東工大行き。

研究室(紹介|自慢)してくれる東工大の方絶賛募集中。


というか、電車賃が無い。飲み代も無い。どうしようかな。

_shudo(Thu Oct 23 00:59:19 JST 2003)

 PPTかー。23日、東京は行くんだけど、東工大は遠い...

_ささだ(Thu Oct 23 01:12:55 JST 2003)

 残念。ちなみに、パワーポイントじゃなくてPTTです。多分。

_??????(Thu Oct 23 10:03:39 JST 2003)

 飲み代はタカレばよろし。

_maeda(Thu Oct 23 20:02:40 JST 2003)

 行けぬ。残念。レポート希望。

_木山(Fri Oct 24 09:32:09 JST 2003)

 僕もレポート希望.内山さんとは一緒の部屋で寝たことがあります...

_shu(Fri Oct 24 13:19:26 JST 2003)

内山さんと寝たのかー。 あれはSPA2001か。 写真 http://www.shudo.net/photo/0103-SPA2001/

_ささだ(Fri Oct 24 13:35:57 JST 2003)

 寝るとかどうとか、なんかぞっとしないですね・・・。

_22(Wed)

続き。

Japan Institute of Ruby で JIS。 何を勘違いしたのかなぁ?

Japan Active members of Ruby Organization で JARO。

いっそ、Japan Ruby groupe で JR。


飲み会。外国人の方と女性(奈良女)の方には声をかけられず。どっちが敷居が高いんだろう。

でも、参考になる話しを色々聞けました。論文の中でしか名前を知らない人の話を聞けるってのはやっぱイイ。というか、言語処理系の話ができるってのはそうでなくても貴重。ちなみに八杉さん。


某成の某四号を見ていて、アニメと、アニメ中アニメの絵が同じってことは、そのアニメ中アニメはアニメの中では実写ってことなのかなぁ、とか思う。でも、某4号はアニメらしい。なかなか難しい。


一年分くらいの寿司を食わせてもらう。

_なかだ(Wed Oct 22 01:10:13 JST 2003)

 JIRでは。

_21(Tue)

お台場まで通勤電車に揺られてるんですが、こんなのを毎朝続けている人たちの気が知れない。ようやるなぁ。


日本Rubyの会は、Japan Ruby Association 、つまり JRA かぁ、とか思ってみる。

(日本野鳥の会は Wild Bird Society of Japan)


で、国際展示場駅とかに来ているわけですが、アレな人たちの大群が居ないこの駅は初体験かもしれない。

_ahiru(Tue Oct 21 20:15:27 JST 2003)

 毎朝じゃないけど揺られてる。よく熟睡して寄りかかってくる人がいるが・・・美人だったときは・・・(ぉ?

_shudo(Tue Oct 21 20:53:00 JST 2003)

 職場まで車で10分。つ◯ばサイコー!!!

_匿名希望(Tue Oct 21 23:05:26 JST 2003)

 職場まで自転車で10分。職住近接サイコー!!!

_20(Mon)

なぜか D+VINE[LUV] クリア。もちろん最初からやったわけでなく、(ラスボスが倒せず)クリア直前で放っておいたデータの後始末。よくがんばりました。人工(略)。


いい加減、研究日記じゃないなぁ・・・。


新宿で京王線に乗って、座って、目を閉じて、目を開いたら、府中(下車駅)だった。しかも、ドア閉まる寸前だったし。

_業務連絡(Mon Oct 20 14:32:30 JST 2003)

 速やかにWindowsでのファイル名補完設定方法を議事録に追加してください。それとSICP読書会は25日だってば。

_ささだ(Mon Oct 20 14:33:34 JST 2003)

 学校行ってないので変更できません。木曜日まで待ってください。

_19(Sun)

刻の涙のお部屋紹介♪。スゲーーー。いろいろとスゲー。

念のため断っておきますが、私の部屋じゃありません。


Trick 劇場版を(TVで)見る。人がよく死ぬな・・・。


黄昏の腕輪伝説を見終わる。こんなオチでいいのか・・・。


どうも今日は・・・。

で、なぜかD+VINE[Luv] をやっていたりする。早く人工失楽園作れよ・・・。結局出さないのかなぁ。うーん。

_ahiru(Sun Oct 19 22:01:53 JST 2003)

 > 念のため断っておきますが、私の部屋(はこんなもん)じゃありません。 ですか?

_ささだ(Sun Oct 19 23:24:12 JST 2003)

 なんでそんな素敵な部屋にしなきゃあかんのだ。

_18(Sat)

うぁ、雨かよ・・・。

_shudo(Sat Oct 18 13:58:36 JST 2003)

 つくばは曇。

_17(Fri)

...。

_16(Thu)

ruby -ruri ... を見て反応してしまった自分が悲しい。


(1 2 3) => ((1) (1 2) (1 2 3)) とするには? 言語問わず。というか、この問題ってなんか名前付いてなかったっけ。思い出せない・・・。

取り合えずとりあえず ビール ruby。

def solve lst
  ret = []
  lst.each_with_index{|e,i|
    ret << lst[0..i]
  }
  ret
end

p solve([1,2,3])

map_with_index ってのが欲しいな。

うーん、scheme でうまく書けない。

(define (solve lst)
  (define (iter lst acc)
    (if (null? lst) acc
        (iter (cdr lst)
              (cons (reverse lst) acc))))
  (iter (reverse lst) '()))

(solve '(1 2 3)) ;;=> ((1) (1 2) (1 2 3))

こうか。reverse が沢山。


Enumerable#map の仕様を勘違いしてた。集合 => Array なのね。元の集合のクラスと変わってしまうのね。まぁ当然と言えば当然か。


というわけで、ori という名前のライブラリはきっと使うのに抵抗があるに違いない。une というのは、野々(略)。

やっぱり、un ってうまいよなぁ。


yaml の bytecode サポートって何? ソース見ないとダメかなぁ・・・。


取り合えず
約51,000件
取り敢えず
約77,500件
取り合えず 取り敢えず
約4,510件

こういうことやると、 akr さんの google-hit が欲しくなる。


しかし、皆様真面目ですよね。私としてはもっと駄目なネタに突っ込んでほしいような欲しくないような。

ML も よく知りません。


CST。なんというかさー・・・。

当然、部室では、やってんだろうな・・・。今度森君に聞いてみよう。まぁ、元のNOVAも似たようなもんか。

_KM(Thu Oct 16 14:03:25 JST 2003)

 瑠璃は青系統の色の宝石ですが...

_匿名希望(Thu Oct 16 14:15:19 JST 2003)

 記号だけで反応できるようになったら、一人前の萌えらーです。

_ささだ(Thu Oct 16 15:46:48 JST 2003)

 萌えな人はエラー、の略でしょうか。

_Y. Hanatani(Thu Oct 16 17:23:54 JST 2003)

Haskellだと tail $ inits [1..3]

_KM(Thu Oct 16 17:24:32 JST 2003)

 roff のマクロ an が元祖かなぁ? もっと古い例があるのだろうか

_ささだ(Thu Oct 16 17:43:09 JST 2003)

 Hugsに入れたら inits なんてシラネー、とか言われちゃったんですが。

_Y. Hanatani(Thu Oct 16 17:48:25 JST 2003)

 あ、 :l List して下さい

_ささだ(Thu Oct 16 18:05:34 JST 2003)

 なるほど、tail(inits [1..3]) のことなのですね>$(初歩で悩んでたらしい)。というか、そのまんまの関数があるんですね。SRFI にもありそうだけど、探さない。しかし、なんで inits なんだろ。

_青木(Thu Oct 16 18:31:29 JST 2003)

 リストのinitialの集合だからだかな > inits

_KM(Thu Oct 16 18:55:30 JST 2003)

inits は Haskell のライブラリ仕様書を見てパクりました...

(define (inits x)
  (cons '()
        (if (null? x) '()
                      (map (lambda (ls) (cons (car x) ls))
                           (inits (cdr x)) ))))
(cdr (inits '(1 2 3)))

もっとこれに合った map があるんだろうか.

_ささだ(Thu Oct 16 19:09:56 JST 2003)

 なるほど>initials

_ささだ(Thu Oct 16 19:10:41 JST 2003)

 うげー、そんな発想出てこねー>(map ... (inits ...))

__| ̄|○(Thu Oct 16 19:17:25 JST 2003)

 「取り合えず」=>「取り敢えず」かな?

_参考URL(Thu Oct 16 19:32:17 JST 2003)

 http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?p=Scheme%3a%a5%ea%a5%b9%a5%c8%bd%e8%cd%fd&l=jp#5

_fukumori(Thu Oct 16 20:07:04 JST 2003)

修行中の身ですが、MLで書いてみました。

fun solve1(0,inList,outList) = outList
|   solve1(n,inList,outList) 
  = solve1(n-1,inList,List.take(inList,n)::outList);
fun solve(inList) = solve1(length(inList),inList,nil);

でも、もっといい方法があるような気がしてならない…

_ささだ(Thu Oct 16 20:33:09 JST 2003)

 どこかで見たことがあったと思ったら、そこでしたか>参考URL

_maeda(Fri Oct 17 20:07:48 JST 2003)

Ruby

def a(array)
 (1..array.length).map {|i| array[0,i]}
end
p a([1,2,3])

Common Lisp

(reverse (maplist #'reverse (reverse '(1 2 3))))

Common Lispその2

(defun a (l) (loop for x from 1 to (length l) collect (subseq l 0 x)))
(a '(1 2 3))
_ささだ(Sat Oct 18 01:51:46 JST 2003)

 なるほど、Range・・・。loopは反則だから置いといて(ぉ、maplist ってのはそういうものなんでしょうか。

_ささだ(Sat Oct 18 01:52:47 JST 2003)

 某リファレンスから、「引数のリストから関数の戻り値のリストを作成して返します」ですか。なるほど。

_向井(Sat Oct 18 02:16:10 JST 2003)

MLのコードを見て全然わからないことに愕然としたcaml初学者です。camlでは、

let solve list =
  let rec iter = function
    | [] -> []
    | hd::tl as list -> (iter tl)@[(List.rev list)]
  in
    iter (List.rev list)

アルゴリズム的にはSchemeのやつそのまんまという話もあります。

_向井(Sat Oct 18 02:31:21 JST 2003)

書いた直後にリスト反転しなくても書けることに気づきました……。

let rec solve list =
  let rec iter list = function
    | [] -> []
    | hd::tl -> let elm = list@[hd] in elm::(iter elm tl)
  in
    iter [] list;;

こっちの方がいいような気がします。

_fukumori(Sat Oct 18 14:35:12 JST 2003)

しつこくてすみません、MLのコードを、向井さんがcamlで書かれたコード(1本目)に近づけてみました。これなら読めるのではないか、と。

fun solve list = 
  let val rec iter = fn
    [] => [] |
    list as hd::tl  => (iter tl)@[(List.rev list)];
  in
    iter (List.rev list)
  end;

本当は2本目のコードの方に合わせたかったけど断念…まだまだ未熟ですな。

_向井(Sun Oct 19 01:08:28 JST 2003)

2番目のアルゴリズムをもうちょっと綺麗に書こうと思ったのですが、ちょっと難しいですね。理由は、リスト連結が関数的に書けないことにあります。あと上記の scheme のinitsも、最初に空リストが入っちゃいますよね? それは「アリ」なんでしょうか?

let rec inits = function
  [] -> [[]]
| x::xs -> [[]] @ List.map ((@) [x]) (inits xs);;
let inits list = List.tl (inits list);;

こんな感じでしょうか。最初の空リストを消す必要があるので、再定義しています。

_15(Wed)

疲れた。色々疲れた。眠い。

はじめて右から書く言語を実際に書いているところを見た。


機械科の友人の話。新宿の某電気屋のPC書籍コーナの店員に「MATLABの本どこにあるか」と聞いたらしい。「違う建物にある」というのでそこへ行ったらアダルトソフト・書籍コーナだったそうで。

いったい何と間違えられたんだろう。


はじめてトリビアの泉を見た。ああやって押すんだ。

_とおる。(Thu Oct 16 00:43:10 JST 2003)

 こないだのおねえさまとラヴ。

_ささだ(Thu Oct 16 15:47:30 JST 2003)

 こないだってなんでしたっけ?

_14(Tue)

Ecma International Moves to Standardize C++ Binding for CLI(cppll)。C# は知ってたけど、CLIも一緒に出してたとは知らなかった。うーん、そうかぁ。

Parrot はどこまで頑張れるかな?

すげ、クラス構成まできっちり決まってんだ>Ecma CLI Presentation 物量作戦。


ダメな三日間を過ごしたため、頭がなかなか切り替わらない。どうしてくれる!(誰に言ってるんだろう)


リハビリのために読書。オブジェクト指向データベース。なんか(自分的に)タイムリーな問題提起してる。


日がたつにつれてドラゴンクエストが欲しくなってきた。誕生日プレゼント、とか言って買ってやろうか。んで、自分が遊ぶ。


データベースはサーバ・クライアント。そうするしかないのかなぁ。うーん。

矛盾した状態の始まりと終わりを示すものをトランザクションと呼びます。

なるほど。こう表現するのか。

オブジェクトのバージョンとオブジェクトが属するクラスのバージョン、とか? 後で出てくるのか。


NTT研究所の人のネットワークの授業を受ける。NTTの人だけあって、電話の話が多い。けっこう楽しい。ご本人はP2Pネットワークとか、そのへんの研究してるらしいけど。


なんでこう、素材系のページってのは馬鹿みたいに文字が小さいのかね。あれが素敵、とでも思ってんのかね。

というか、なぜトップページに、自分のところ以外へのリンクばかりなんだ? 大抵、そんな感じなんだけど。RFCにでも載ってるのかしら。

今回は、Verdant place みどりの素材屋さん♪ というところから。「リンクウェア」と一言書いてあって、その定義が無いので、きっとこのリンク貼ればいいってことなんだろう。

このページは比較的見やすかったです。ただ、せめてリンクウェアとはなんぞ、という説明はほしいなぁ。ソースでは配ってはいけなくて、リンクしたバイナリしか配布不可、とか。作成者の人と心を通わせ(リンク)ないと使っちゃダメ、とか。


某EVEがリニューアルだそうで。もうね、なんというか。おまえら他にやることはないんか、と。


今日はいなげやに勝った!


オブジェクトDBは、ぱっとしない、みたいな話を聞く。あの本は96年の本なんですが、最新動向とか、その辺がわかる資料ってどっかに無いもんでしょうか。

_shu(Tue Oct 14 19:12:01 JST 2003)

 誰?>NTTの方

_ささだ(Tue Oct 14 19:28:25 JST 2003)

 何人かの持ち回りだそうで、最初は能上さんという方でした。

_13(Mon)

ダレン・シャンを読む。

うーん・・・。余りの愚かさに眩暈が・・・。あの年齢って、こんなもんか? もうちょっと動機付けがまともだと、もう少し楽しかったろうに。あと、やっぱりヴァンパイア出すんなら、アルク(略)。


.hack sign をずーっと見る。バグが具現化したり、回収できたりしたら便利だよな。

見終わり。謎は色々残したまま終わる。ゲームやんないとわからない、というんじゃ嫌だなあ。みみるの顔が気になる。


HDDが死ぬ。保証書を探そうとしたけど、あまりのカオスに断念。混沌との戦いに破れてしまったわけです。頑張れ天秤。


一度部屋の掃除しないとなぁ。何日かかるか・・・。


腕輪を見て、随分と感じが変わるのですね。やっぱり顔は見せないのか。


など、生きていく上で何もためにならない駄目なことをして、連休は終わる。

_12(Sun)

HDD 入れ替え作業に一晩かかってしまった。疲れた・・・。


王様のブランチというのは、毎回ブランチを切って保存しているため、他局でもバージョンをかえて放送することができます。

とかいう夢を見た。


Ever17終り。うーん・・・。

「お兄ちゃんのこと、好きになってしまったみたい、なのです」

この台詞を、デスクトップの前のお兄ちゃんに言わせるためだけの壮大なストーリーだったんだろうなぁ・・・(これは某S作でやってるような話だよね。あれを一般向けにしたのかな)。

しかし、おにいちゃま、とは言わないんだな・・・。

いや、こういうオチは非常に好き(エルフがこういうことやったり)で、いいんだけど、やっぱり、という気もする。ただ、理論武装がちょっと足りないような気がする。あれだと、ご都合主義でしょう。タイムパラドックスにしても、もうちょっと凝って欲しい気が・・・。

しかし、クオリティ高いな。いろいろと。うん。素晴らしい。いいゲームでした。せっかくPCにしたのだから、あれで何な描写とかとか、色々、とか考えなくも無いですが。

考古学がキーなのも、エルフっぽいな。DeJaはいいゲームでした。一応言っておきますが、私はまだ23です。

視点を使ったギミックって、他にもいろいろあった気がするんだけど、ぱっと思い出せない。んー、なんだったかなぁ? こういう EVE系の話だったかなぁ?

考えてみれば、月姫もそうだったっけ。あれのアレとかも・・・。

そういえば、結局少年がどういう人なのか、よくわからんかった。


うーん、「前作」というんがやりたくなってしまったな。困ったぞ。

お、「次作」も予定されてるのか。楽しみですね。


某月姫アニメを見たけど、やっぱ全然違うな。せめて琥珀さんには敬語使おうよ。先輩のあの絵はギャグにしかならないような気が。しかも秋葉に対して強気だ。

_11(Sat)

{"yu-ya" => "ポエム"}


p {1 => 2}

ってエラーなのね。

p({1 => 2})

はもちろん OK。


Army usually marshal とか聞く。

_10(Fri)

debianを(また)入れてみたんだけど、RH系の chkconfig とか、service にあたるものってないんだろうか。

inetd を切るのは、init.d の中を書き換えないとダメなのかな。

update-rc.d というのがあるのか。


うーん、MTAの設定って、何か読まないと無理くさいなぁ・・・。そもそも、どれで行くべきか。


TVは見ないって書いたけど、月姫は見たいなぁ。今度機会があれば見よう。

そういえば、Javaの投票って盛り上がらなかったなぁ。


marshalizerについて。色々奥が深いのですね。きっと関西のあのカンファレンスでは、涙ながらに彼女たちの話をするに違い無い。


プログラマ=エキスパート ということで解決。じゃぁ駄目? 業種と習得度を一緒くたにしてるので駄目か。


では、アレを食ってきます。

遅れたら(欠席したら)撃沈したってことで。


ロッテリア原宿店

人生はチャレンジの連続です。行ってきました。ロッテリア。


なんか、席へ持っていく途中で、赤いのがどんどん沈んでいく。というわけで、見た目は悪くない。

cap cap cap cap

というわけで、食いました。全部。食ったというか、喉に押し込んだというか。

ダメ、不味過ぎる。これはダメだ。ここまでダメだとは思わなかった。確かに「勘弁してください」って味。どんなに飢えていてもこれには手を出さないだろう。異物だよ異物。

商品にしてるんだから、少しは飲みやすくなってるんだろう、とか思っていたんですが。

全部飲み込んだ自分を誉めてあげたい。

甘いものの後で、喉がぴりぴりする感覚を覚えたのは初めてだった。最後にしたい。


意外とTV見ながらって人多いんだなぁ。


Zopeの偉い人にZopeを教えてもらう。スゲー。色々わかった。よく出来てるな〜。さすがです。

_KM(Fri Oct 10 18:18:06 JST 2003)

 ライバルでシリアとデシリアという双子の兄弟コンビがいて... (イメージとしては内田美奈子作品のあのキャラとかあのキャラとか)

_ささだ(Sat Oct 11 00:19:34 JST 2003)

 さすが岸M先生。私には何を言っているのかわけがわかりませんが。

_9(Thu)

ruby/google を 1.8 に移し変える・・・ウゼエ!!

しかも irc 経由で使えなくなってるし。はて。


ゴーゴー! と無責任に煽って見る。


そうか、marshalizer にはそんな秘密があったのか。勉強になるなぁ。


このクソ忙しいのに Ever17 とりあえず終わり。まだ続くんだろうけど。結局名前なんだったんだ。

で、Ever17 は妹モノになるんだろうか?


Lanケーブルを作ってみたら(口をくっつけただけだけど)つながらない。リンクはするが、つながらない。

いろいろ試して見たら、長すぎたようで・・・。俺の2時間返せ。

_KM(Thu Oct 09 18:44:06 JST 2003)

 marshalizer ですか.RPC の性能調査のために昨日今日で何万回と動かしてますです

_ささだ(Thu Oct 09 19:15:35 JST 2003)

 え、姉妹を動かすんですか!? 大変そうだ・・・。

_KM(Thu Oct 09 20:06:15 JST 2003)

 罠だ.

_8(Wed)

素人なんですが。

12人っていうと、動物に変身する人たちでしょうか。男性も女性も楽しめますが、若干(ダメな)女性の方用な感じがします。いや、よくわかんないんですけど。

既に古典に属すると思われる12人の妹ですが、知り合いが同じゲームを2枚買っていたりするのはどうなのかなって思ったりするんですが、どうなんですかね。


学生ってこんなに忙しいものなんですかね。学生って言えば、暇を持て余して、社会のためにならない行為にふけっているものじゃないんですか。だからと言って私が社会のためになる行為をしているかといえばそうでもないんですが。

でも辛すぎ。さすがにあれは出来ません。やっぱり。同じタイトルならいいけど、別のタイトルにするのは拷問。内容を変えないと詐欺だし。

とりあえず、2日連続泊まるのは嫌なので、頑張って帰ろう。

3ヶ月くらい、どっかに逃げたいなぁ。


あー、くいてー。キムチシェーキ食いてー


いや、ちゃんと睡眠時間が取れてるからそんなでも無い気がしてきた。まだまだ甘い学生ですね。


ふぁくタンハァハァとか言いながらリファクタリングしてる様子って見たくないな。次の萌え技術書はそれですか。そうですか。あおきさん頑張ってください。


ウェブで遠隔授業というものがあるらしい。しかし、Flash と WMP 必須か。Flashでなにやるのかな。成績とかどうやって決めるのかな。とりあえず取ってみる。美宅先生は名前しか知らない。家から見れるのかな、これ。


ロッテリアのお客様相談室にメールして聞いてみたんだけど、19日くらいまでは販売する予定だけど、売れすぎちゃったら早めに終了するかもしれない、とのこと。明後日の金曜日にでも行ってみよう。


CPUの創りかたのamazonページ、「あわせて買いたい」、とか「こんな本も買ってます」の欄、ちょっと狙いすぎじゃないですかね。


「OpenMP を利用したプログラムの作り方」は腐るほど出てくるが、「OpenMP処理系の作り方」は全然ヒットしない。ヒットしても、分散SMP環境とか、そんなのばっかり。ふつーのSMP環境での処理系の作り方、ってどっかにないものかなぁ。

OmniMP をダウンロードして試してみるも、cygwin じゃコンパイルすら出来なかった。うーん、一体どんな並列化プリミティブを利用するんだろうか。

お、見っけ。「Omni OpenMPコンパイラの性能評価」にいろいろ書いてあった。あれ、OpenMPの仕様って、並列化ディレクティブだけじゃなくて、ランタイムライブラリまで指定してんの? 仕様書ちゃんと読まないとあかんなぁ。

要するに、スレッドを生成して、そいつらに仕事を投げるモデルってことなのね。スピンロックしているところがSMT的に色々と不味いですねぇ。まぁ、いいけど。まぁ、想像していたのと外れていない。

あと、やっぱり入出力、割り込みなんかが混じると、これまずいよねぇ。HPC分野ではそういうこと考えなくてもいいんだけどさぁ。うーん。やっぱその辺が狙い目かなぁ。

純粋なSMP環境での効率のよいOpenMP処理系の実装、みたいな論文は無いものか。方法がもう固定化されちゃってるってことかなぁ。考えることは一緒、というか。

インテルの論文は何がかいてあるかイマイチわからんし。


頑張って2時には帰るぞ。

_shu(Wed Oct 08 01:13:05 JST 2003)

 以前発表した論文を、タイトル変えて、もう一度別のところに出せとでも指示された?

_ささだ(Wed Oct 08 01:21:37 JST 2003)

 タイトルと内容を変えて一ヵ月後に、って感じで。何もヤッテナイノデスヨー。

_新潟のS(Wed Oct 08 07:06:39 JST 2003)

 ささださん、偉い。こんなに真面目に勉強、研究をする学生さんは珍しい。オレなんかいっつもサボってバンドやってたもんな〜。

_KM(Wed Oct 08 10:01:27 JST 2003)

 12人の浮かれる男,でしたっけ.

_ささだ(Wed Oct 08 11:07:35 JST 2003)

 筒井ですか。

_6(Wed Oct 08 11:38:36 JST 2003)

 キムチシェーキは発売前からの予想通り、試飲した方々から「まずい」との報告が雨後の竹の子のようにあがっておりますがそれでも飲みたい?俺は飲みたい(ぉ

_ささだ(Wed Oct 08 11:57:30 JST 2003)

 そうか、シェーキは飲みたい、か。飲みたいに決まってるじゃないですか。渋谷と池袋、さて、どうやって都合をつけるか。

_7(Tue)

批評する、ということは凄く大変なことだと思う。ものにもよるが、ある分野では特に深い理解と知識が必要とされる(んだと思う)。

だから、誉めることが出来るってのは、凄いことなんじゃないかと思う。自分に自信がないと出来ない。俺が凄いと思ったものは、世界にとって凄い! と言えるか? 多分私にはそんな勇気はない。だから、誉めることができる人は、凄いと思う。

というわけで、「CPU の創りかた」を買ってみようかと思う。どんな感動が味わえるか楽しみ。


うーん、温泉ではやっぱり剣を振りたかったな。


なんか、大きな分岐の選択肢を、昼飯中になんとなく決めてしまうのはどうかと思うんだが、決めてしまったらしい。リセット効かないしなぁ。どうしたもんか(何を)。


そうか、Ruby の保護を訴えたりしないのか。残念。


なんか不思議なメールがくる。SPAM と間違えそうだが・・・。


ショック。

cat foo.txt | cmd

の代わりに

cat foo.txt > /usr/bin/nantoka

とやってしまった。こんなことって無い? 俺だけ? やっぱり?

cygwin なので、保護もなにもなく・・・。うーん。


多分もう決まっちゃった話なのでもう言ったってダメなんでしょうが、ちょっと考えてみる。

@_foo はかっこわるいと思う、って話なんですが。

じゃぁ、何がいいか。

@_foo # 見本
@$foo # なんとなく expose してるっぽい
@~foo # なんとなく普通じゃないっぽい
@FOO  # 我ながら、それはどうかと
@^foo # うーん
@!foo # びっくり
@-foo # 1トークンっぽくない
@+foo # 同上
@&foo # 
@|foo # 
@#foo # 
@{foo}# 
@\foo # 
@?foo # ? って言われても
@,foo # マクロっぽい
@.foo # メソッドコールっぽい
@"foo # エディタが大変
@'foo # 同上

どれもダメっぽい。@$foo が無茶苦茶っぽくていいな。


Ruby Onsen Meeting::Log

12○の○*1

って、なんだったっけ? 本気でわからない。

_なぞ(Tue Oct 07 13:38:51 JST 2003)

 いえいえメシどころか、世の中のかなりのことは飲み会で決まるってこともありんすよ

_匿名希望(Tue Oct 07 22:16:01 JST 2003)

 一つ目の○は人。二つ目の○は……すぐにわかるよね。

_ささだ(Tue Oct 07 22:29:57 JST 2003)

 あーやっとわかりました。というか、誰が言ったのか忘れた。うーん・・・、思い出せん。確かに盛り上がった覚えがあるが・・・。やっぱり私のような素人には計り知れない世界です。

_青木(Tue Oct 07 23:59:41 JST 2003)

zsh で unsetopt clobber するとリダイレクトでの上書きは防止できます。 ちなみに「12 人」って素直に「12 人の妹」? 素直じゃないと姉か幼馴染か許嫁かなあ。

_ささだ(Wed Oct 08 00:06:22 JST 2003)

 黄金聖闘士だと思ったんですが(嘘)。

_匿名希望(Wed Oct 08 08:35:01 JST 2003)

 「12人いたら名前を決めるのが大変」という話。この言葉から誰が言ったか想像してください。

_6(Mon)

温泉の少しまとめ。ログには、誰かが追加してから後付けしよう。

  • 8時、飛行機は非常口の前の席で、離着陸時、FAのお姉さんと向かい合う。
  • 10時、無事合流し、まつもとさんカーで玉造温泉へ。ありがとうございました。
  • 10時半、ゆーゆでまったり。やっぱり緊張。
  • 昼飯はかに玉。
  • 14時、ミーティング開始。色々興味深いお話が聞けました。見れました。出張RHG読書会とか、生デバッグとか。ネットワーク環境がないので、生コミットはありませんでしたが。
  • 17時、宿へ。
  • 17時半、とりあえず風呂へ。露天風呂がぬるい。
  • 18時、宴会。酒はあんまり入らなかった。というか、なんでビールだけなんだろ。
  • すみません、宴会でする話ではなかったような気がします。
  • 21時、部屋で雑談。
  • 0時から、アレの決起集会。アナウンスが楽しみです。
  • 2時、風呂へ入る。
  • 誰も居ないのでマッサージ機でぼーっとする。
  • 3時くらいで寝る。
  • 8時に起こされる。朝飯。
  • 食いすぎて倒れる。
  • 10時、宿を追い出される。
  • 11時、上野さんの車で出雲大社へ。ありがとうございました。
  • 出雲大社を見学。なぜか巫女さんが居ると、みんな私に教えてくれる。なぜだろう。
  • 12時、昼飯。蕎麦。一人寂しく食べる。
  • 13時、水だった。
  • 14時、福井さんの車で空港へ。ありがとうございました。
  • 15時、飛行場でまったり。
  • 17時、機上の人。
  • 18時、電車上の人。
  • 20時、帰宅。

感想。やっぱり凄い人ばかりでした。20人全員分ネタがあるわけじゃないので。

  • まつもとさんは、私が持っていった論文全部読んでいた。
  • うささんは萌えについて色々語っていた。
  • あずみさんは勇者だった。
  • yuya さんはスーパークリエーターだった。
  • たかはしさんは会長だった。

また行きたいものです。


ACM国際大学対抗プログラミングコンテスト の問題を解いて見るも、3時間で3問。しかも、間違えてるらしい。どこ間違えてるのかもわからんな。

やれやれですね。

というか、こんなことしてる暇ないはずだったんだけどなぁ。

なんとか、日本地区予選くらいは通過出来そうな成績らしい。Rubyで書いてよければ

残りの問題は今度やろう。


ruby1.8 出た頃にコンパイルした uconv.so を、cvs 上の最近の ruby をコンパイルしたやつで使うと[BUG] Segmentation fault。

何か変わったのかな。

むむ、コンパイルしなおしても動かない。どうしたもんかな。ruby 1.8.0 (2003-10-06) [i386-mswin32] で確認。ふるいの取ってきて試してみようかな。

ruby 1.8.0 (2003-08-04) [i386-mswin32] 用に build したものならちゃんと動く。そうだよなぁ、ちょっと前まで使ってたんだし。

あれ、通った? 削除が不完全だったのかなぁ。やれやれ。


で、uconv 使って何やるのかと言うと、Googleからのリファラ解析なんですけど。

  • 娘育成シミュレーション
  • 東方妖々夢+midi 抽出 // 抽出すんなよ・・・
  • 麻雀幻想曲3
  • CPUの創りかた
  • 無銭飲食列伝

とかのキーワードでひっかかるらしい。この日記も立派になったものです。

ただ、CPUアーキテクチャとか、そういうどうでもいいキーワードでひっかかっているのを見ると、自分はマダマダだな、と思うわけです。


短いメソッド名に、括弧を付けるかって話で私は付けないでローカル変数と混ぜてしまうことをよくします。

def s1 ; @file.read(1) ; end
def s2 ; @file.read(2) ; end
def s4 ; @file.read(4) ; end

...

length = s2
length.times{
  data << s1
}
id = s4

みたいな。

うーん、確かに可読性はダメダメかも。参照の順序に依存するのとかで、意識しないといけないところとか、非常にイケテナイわけですが。書くのは楽なんで、ついつい使ってしまうんだけど。


def m &a とか def *a とか、出来るようにしてもらってなんですが、当分括弧無しでは使えないだろうなぁ。1.6 とかのこと考えると。


〜 塾講師の憂鬱 〜

実は大手の塾と私立の学校はつるんでいて、入学試験を受ける前から、受かる子と落ちる子は決まっているんです!

これ、ホントなんでしょうか。結構衝撃的だったんですが。

要するに、貧乏は私立に来るなってこと?

_5(Sun)

帰宅。大変楽しかったです。

幹事の高橋さんには今回もお世話になりました&ありがとうございました。


バーティカル・リミット、というのを見たんですが、これも妹ものに入るんでしょうか。教えて偉い人。


あれについて、ちょっと考えていたんですが、こんな感じなんでしょうか。

typedef struct RNode {
    unsigned long flags;
    char *nd_file;
    union{
        struct{
            struct RNode *nd_cond;
            struct RNode *nd_body;
            struct RNode *nd_else;
        }node_if;

        struct{
            struct RNode *nd_head;
            struct RNode *nd_body;
            struct RNode *nd_next;
        }node_while;
        // ... Node の数分
    };
}

#define nd_body  node_if.nd_body
#define nd_cond  node_if.nd_cond
#define nd_else  node_if.nd_else
#define nd_head  node_while.nd_head
// #define nd_body  node_while.nd_body 2度目なので削除
#define nd_next  node_while.nd_next
...// 続く

ソースの互換性を考えると、こうするしか無い気がするんだけど、とても汚い。32bit じゃない環境では、なんかやばい気がする。あと、無名共用体って、普通に使えるものなんだっけ。忘れてしまった。

_さかい(Mon Oct 06 01:04:11 JST 2003)

 無名共用体はgccの拡張機能だったような……

_ささだ(Mon Oct 06 11:20:13 JST 2003)

 VCで書けてしまったんですが、やっぱり環境異存ですかね。

_さかい(Mon Oct 06 12:37:30 JST 2003)

こんなんみつけました。 http://gcc.gnu.org/ml/gcc/1998-11/msg00729.html もともと、VCの拡張機能だったのを、gccでもサポートしたということかしら。

_あひる(Mon Oct 06 16:14:15 JST 2003)

 バーティカルリミットは妹モノに入りません

_あくせ(Tue Oct 07 12:41:22 JST 2003)

 ↑そういうネタだけはツッコミ入れるね、あひるさんは(^^;

_4(Sat)

あかん、真面目に起きる自信が無い。徹夜するか・・・。


結局徹夜してしまった。なんか、白浜の時もそうだったな。

今日は徹夜でEver17。なかなか謎展開。先が楽しみ。


では、行ってきます。

_3(Fri)

某ネットワークプロトコルを勉強中。よくできてるなぁ。


株で失敗、ってのを妹で失敗、と空目。もう駄目だな。


来週が楽しみです。やっとZopeを学べます。

というか、明日から温泉。

何を持っていけばいいのかな。


Webrick、楽しいんだけど、調べないとよくわからない。猿でもわかる Webrick が欲しいかも。


あかん、つい寝てしまった。

_ahiru(Fri Oct 03 17:44:27 JST 2003)

 とっくにダメだね

_2(Thu)

バグだと思ってアセンブラレベルで追っていたら、パラメータ指定ミスだったことに気づく。うーん。ダメスギ。


うがー、久々に貫徹。うがーーー。


研究室に帰室。今日は家で寝るぞ!

う、明日早速だとは思わなかった・・・。というか、毎週なんですか!!(と謎)

_1(Wed)

これも勉強不足なんですが、C って発表当初フリーで利用できる環境だったんでしょうか。


予測システム(奇跡の正体を暴く!!)

「マルチ6コンパイラー」

コンパイラに興味を持つ者としては、どんなものか気になるわけです。なにするんだろうなぁ?


HSPってのが凄いらしい(今更だけど)。ちょっとダウンロードしてみると、ファイルが小さい。

何がウケてるんだろう。わかりやすさかな。これもバランスなんだろうなぁ。


いなげやに負けたー・・・(弊店間際の半額惣菜を買えなかった意)。

晩飯はラーメンにカイワレを入れるという、ちょっと豪華なもの。ついでに半額刺身200円で、ネギトロ。豪華300円夕食。緑茶で一服。

素敵な研究室生活。ウワーン。

ご飯もあるから400円か。

  • ご飯(レトルト)100円
  • 袋ラーメン+カイワレ 100円
  • 刺身200円

メイド探検姫。 なんというか、うーん。アレのキャラクターを混ぜた感じですか? 音楽誰がやってるのかなぁ。ウェブラジオって、アレ以来聞いてなかったので久々。こういうの、流行ってるんでしょうか。

うーん、微妙な気がするな。勢いが無いというか・・・。とりあえずパーツをはめてみたって感じ。


文章を書く心がけ(算譜の記)。うーん、さすが結城さん。

ふと、結城さんとまつもとさんの対談ってのを見てみたくなった。

_なかだ(Wed Oct 01 13:57:58 JST 2003)

 UNIX本体と一緒に公開されてたのでは。

_ささだ(Wed Oct 01 14:40:26 JST 2003)

 UNIX って有料、だったんでしょうか。

_akr(Wed Oct 01 16:08:56 JST 2003)

 自由でなかったのは確かだと思います。

_KM(Wed Oct 01 16:15:11 JST 2003)

 お約束としては「"Life With UNIX" 読め」ってとこですが,巨大企業だった(ベル形デススターという風刺イラストがあったりする)AT&Tは,コンピュータソフトウェアにまで手を出すと独占禁止法的にヤバかったのです.だから,時々見掛ける「AT&Tの首脳陣は絶好のチャンスを見逃したのだ」という解説は微妙にウソ.ベル研で開発されてた V6 の直前の頃までの話.Ken Thompson に(国際)郵便で「送ってくれ」と,メディア代と郵便代を添えてお手紙すると,テープが送られてきたのだそうな.

_shu(Wed Oct 01 16:37:16 JST 2003)

 そのテープに、Cの処理系が入ってたんでしょうか

_KM(Wed Oct 01 18:41:07 JST 2003)

 http://www.daemonnews.org/199903/history.html の 4.1 のあたりを見た感じでは,当時の感覚ではコンパイラは UNIX の一部ということのようです.どっかに当時のテープの内容一覧みたいなのはないんかなぁ.

_fukumori(Wed Oct 01 19:07:34 JST 2003)

Dennis Richieのページ (http://www.cs.bell-labs.com/who/dmr/) に、"Very early C compilers and language" (http://cm.bell-labs.com/cm/cs/who/dmr/primevalC.html) ってのがありました。テープから発掘された1972-73ごろのモノのようです。

_ささだ(Wed Oct 01 19:32:58 JST 2003)

 無料(に近い)けど、自由じゃなかったってところですか?

_fukumori(Wed Oct 01 19:38:59 JST 2003)

ついでにもう一つ。"SETTING UP UNIX - Sixth Edition" (http://minnie.tuhs.org/PUPS/Setup/v6_setup.html)を見ると、 "The C compiler in /usr/source/c probably should be changed if floating point is available."という記述があります。UNIXの最初期からCがシステムの一部として配布されていたということがうかがわれます(ある意味当然とも言えますが)。

_6(Wed Oct 01 20:19:27 JST 2003)

 「UNIXの1/4世紀」を読みなされ。

_hdk(Wed Oct 01 21:13:13 JST 2003)

 Cコンパイラがつかなかった史上初のUNIXはなんでしょう? Solaris2 ?

_6(Thu Oct 02 12:59:26 JST 2003)

 ↑ 1st edition 

_hdk(Thu Oct 02 13:37:56 JST 2003)

 C言語以前ということですか。忘れてました^^;

_KM(Thu Oct 02 15:27:37 JST 2003)

 (to 19:32:58)いちいち逐語的にこだわてもしょうがないべさ.時とともに言葉の意味がうつろいでいるから.こだわり方としては当時の bit とかを読むなりして当時の空気をつかむとかしたほうがいいと思う.(くぉーたせんちゅり,存在を忘れてました.ウツだ...)

Sasada Koichi / sasada@namikilab.tuat.ac.jp
$Date: 2003/04/28 10:27:51 $