例によって徹夜でレポートを書いてると日記に逃避したくなるわけです。
土曜はゼミの OB 会に行ってきました。 哲学のゼミでプログラミングの本を見せるとインパクトは ばっちりなんだけど、いつも誰にも内容を理解してもらえないのが問題である。
ところがなんと今回は理解できる人がいたのだー! しかも Linux どころか Ruby も NaCl も知ってたよ! そのうえ女性ですよ! 挙句の果てにメインフレームの COBOL 使いだよ!
ありえねー!
(09:40)
あ、それだけはないデスカラ。
とか書きつつも、ここはベタに『COBOL男』を推してみたい。 「ABEND から始まる恋もある。」みたいな。
意地の悪い崩れ COBOLer から女性プログラマを助けた、 ひとりのオープンシステム系ヲタ青年。 汎用機さわってない歴=年齢(22)の彼は、 助けたお礼 (AS/400) を送ってくれた彼女をペアプログラミングに誘うべく、 モテない独身男達が集うプログラミング系 IRC チャンネルに助けを求める。
「JCL だれか たのむ」
「COBOL男」と呼ばれるようになった彼は、 IRC の住人たちの励ましや助言に後押しされて、 ようやく彼女をペアプログラミングに誘う。 悩み、戸惑うCOBOL男のピュアな気持ちは、 仲間達を熱い共感と興奮の渦に巻きこんでいく……。 「COBOL男」は果たして彼女とともにシステムを構築できるのか? 某日記上で話題騒然、各 Blog 絶賛。 百人を感動させた今世紀最強の開発ストーリー、遂に刊行!!
そうだよ徹夜明けだよ!
(02:04)
そういえばレビューについてなんか書きますと 言っておきながら何も書いてなかった。 ひとまずは内々の ML に送ったレビューシステムの 総合所感を載せて間をつなぐことにしよう。
(以下 ML に送ったのをコピペ)
まずメーリングリストを使ったことについて、アンケートでは 「よい」という意見が多数でした。レビューを出すのに後込みして しまうという意見も少しありましたが、他の人の意見が見られた ほうが面白いという意見のほうが明らかに多いようです。
ウェブインターフェイスはほとんど使われていなかったようです。 ヒット数自体も少ないですが、「アクセス元ドメイン」を見ると 上位 4、5 人だけでほとんどのアクセスを占めていることがわかります。 またアンケートを見てもウェブインターフェイスはほとんど使われて おらず、その一方で CVS がよく使われていたことがわかっています。 ただし、今回はもともと CVS を使い慣れているかたの割合が法外に 多かったことは勘案すべきでしょう。
ウェブインターフェイスの改善案としては以下の二点が考えられます。
また、ウェブインターフェイスの存在自体を忘れている人が意外と いたようなので、しつこく広報することも必要でしょう。筆者の メールのシグネチャに URL を入れるくらいはしたほうがいいかも しれません。
それから、すっかり忘れていましたが ML アーカイブを提供すれば よかったと思いました。単体ではあまり意味がなさそうですが、 ウェブインターフェイスとの合わせ技で何かしらできそうです。 (あまり凝りすぎると初心者おいてけぼりになりますが……)
(06:17)
あのー、「DVI-I」を検索すると引き算を始めるのはどういうわけですか? しかも DVI - I = DV ですか? Domestic Violence ですか?
だがしかし ABC-C を検索しても「AB」にはならないな。 どういう基準だよ。
単語としてもヒットしないといけないのかなあ。
(17:57)
XP1000 を買いました。買ったんですが……。
最初は快調に動いていたんですが、 ファームウェアをアップデートしたあたりからだんだん挙動不審に。 リブートするたびに
Space required in (root/usr/var): 108 MB/820 MB/11.7 MB Are these the software subsets that should be loaded (y/n) ? y ** Reviewing available software for: Tru64 UNIX V5.1B Worldwide Language Support (rev. 232) Please wait ... (反応なくなる)
どんどん調子が悪くなり、
Loading vmunix ... Loading at 0xffffffff00000000 Sizes: text = 7922752 data = 2044560 bss = 2433008 Starting at 0xffffffff00011d70 bcm: DEGXA driver V1.0.6 NUMA lanlog failed configuring ev7_ocla subsystem kn600: Can't allocate error log buffer kn600: Can't allocate error log buffer kn600: Can't allocate error log buffer kn600: Can't allocate error log buffer kn600: Can't allocate error log buffer kn600: Can't allocate error log buffer
最後は電源投入直後からこれ。
FE.FD.FC.FF.halt code = 5 HALT instruction executed PC = 0 FE.FD.FC.FF.halt code = 5 HALT instruction executed PC = 0 FE.FD.FC.FF.halt code = 5 HALT instruction executed PC = 0 FE.FD.FC.FF.halt code = 5 HALT instruction executed PC = 0 FE.FD.FC.FF.halt code = 5 HALT instruction executed PC = 0 FE.FD.FC.FF.halt code = 5 HALT instruction executed PC = 0 FE.FD.FC.FF.halt code = 5 HALT instruction executed PC = 0
泣きそう。
もういい。寝る。
(21:02)
http://d.hatena.ne.jp/secondlife/20050803 で知ったのだが、 RailsAppHosting http://www.railsapphosting.com/account/signup というものがあるそうで。なんか
という、素敵に無敵なサービスらしい。
(01:53)
ああ…… Athlon64 マシン買っちゃったよ……。 しかも出来合いのショップブランド。堕落した……。俺は堕落した……。
~ % uname -a Linux serenade 2.6.8-11-amd64-k8 #1 Wed Jun 1 01:03:08 CEST 2005 x86_64 GNU/Linux ~ % ruby --version ruby 1.9.0 (2005-08-05) [x86_64-linux]
スペック: Athlon64 3000+ (2.0GHz) メモリ 1GB その他いろいろ
そんなわけで、わたくし本日をもちまして 「廃エンドマシン愛好家」の名を剥奪されることになりました。
あー Athlon64 速い (ような気がする) なー
まあそういうことでもう俺には関係なくなってしまった話だけど、 今日秋葉原に行ったら hp の Proliant DL145 (Opteron 248 dual, 4GB DDR-SDRAM, 30GB ATA HDD, GbE * 2) が税込 20 万で大量に売ってたよ。おっとの PC サーバ店 2F にて。
(02:44)
さて、やっと夏休みになったことだし山積みの課題をかたづけますかね。
まず FileUtils.rm_r だよな。 次が Ruby 1.8 の net/http(s) の統合で、 Racc と setup.rb と TMail をリリース。 それとあれだ Ruby と YARV のデイリービルドだ。 とりあえず毎日やるのは Alpha と AMD64 でよかろう。 ついでに家のウェブサーバを AlphaServer にリプレースするでしょ。 それと同時にメインマシンを Athlon64 マシンに移行して、 いまのメインマシンを Windows に明け渡し、 Windows マシン (PenIII 866MHz) を実験機にまわす。 これぞ無駄のない玉突き使いまわし経済。エコだな!
ちなみに元のサーバマシンはどこに行くのかと問うてはいけない。
(03:01)
う、もしかして、Firefox があっても Flash プラグインがないのでは……。
64 ビットシステム上で 32 ビットアプリケーションを動かすには chroot jail を作るのか。こりゃまたややっこしいな。 寝てからにしよう。
マシンを換えて嬉かったこと。
いきなり OS と関係ないし……。 端末で IME が動くのが嫌で skkinput ごと止めてたんだが、 Firefox だけ環境変数 XMODIFIERS をつければいいということにようやく気付いた。
これも OS と関係ないし……。 Tab extension から TabMix にしたのが主な原因か。
これまでは面倒だからフォント関係は Plamo 2.0 のをずーと使ってた。 今度の Debian/AMD64 は TTF は動くしフォント関係の設定は 全部やってくれるのでとても楽だ。
フォントもこれだけきれいになるとさらに上を目指したくなるね。 リコーフォント買おうかなあ。
サーバは Debian なので apt の楽さかげんは知ってたが、 apt はサーバよりもデスクトップのが嬉しいと思った。
いままで使ってたのはバージョン 1.95 だもんなあ。 さすがに古すぎた。
Alpha も UltraSPARC もあるんでどーでもいいですが、気分的にね。 もうじき 32 ビットマシンが家から消滅しそうな勢いです。
一方、困っていること。
サウンドチップ自体はサポートされているようだが、 メインチップセットの nForce4 がまずいみたい。 サウンドブラスターを挿して回避する予定。
Linux/AMD64 向けの Flash プラグインが出てない。 32 ビット chroot 環境を作らないといけないようだ。 だるだる。
同上。 でも xpdf がかなりよくなってるのでいらないような気もしている。
まとめるとプロプラエタリなのは全滅と思ったほうがよさげ。 逆に最も期待できるのは Ruby とか Perl とかで書いてあるフリーソフトウェア。 俺が普段使ってるツールなんかも一切変更なしで動いてる。 Ruby で書いていてよかったと思うのはこういうときだ。
その一方で、vim 3.0 を改造しまくって使っている特製 vi は見事に地雷を踏んだ。 かなりいろいろ修正してコンパイルは通したけど、 コマンドモードで dd が機能してなかったりしてなんか変だ。 しばらくは nvi の日々が続きそうである。
(23:39)
あぼーん
昔の Linux だと ATAPI の CD-R ドライブで CD を焼く場合には ide-scsi が必要だったけど、Linux 2.6 ではいらないんだね。 cdrecord dev=ATAPI:0,0,0 だけであっさり通った (プラットフォームは AMD64)。 検索すると ide-scsi を使えって情報ばっかり出てきたけど、 以下のページは新しげ。
http://www.netfort.gr.jp/~matsu/plamo/doc/atapi_cdr.html
ide-scsi に関して、Linus と cdrecord の作者のあいだで 紛争が起きていたようだ。以下のページが参考になった。
http://japan.linux.com/kernel/03/12/11/0320231.shtml
(09:32)
tDiary のチェックボックスパッチを もうちょっとまともな形にすべきかもしらんなあ。 なんか結構需要があるみたいだし。 チェックが入ってないとエラーになるって話もあるし。 確か arton さんによる携帯対応もあったような気がする。
というか、パッチじゃなくてプラグインにできるとよいのだが。
(22:58)
■ arton [携帯対応って言っても単にskel/i.latest.rhtmlとかにもチェックボックスを付けただけだよ。]
ええ?! Ruby からでもディレクトリが open できるんだっけ?
~ % ruby -e 'File.open(".")' ~ %
できるじゃん。
えええ? 前に試したときはぜったい例外だったよ!
~ % uname -srm; ruby -e 'File.open("/"); puts "OK"' Linux 2.2.20 alpha OK
~ % uname -srm; ruby -e 'File.open("/"); puts "OK"' Linux 2.4.19 i686 OK
~ % uname -srm; ruby -e 'File.open("/"); puts "OK"' Linux 2.6.8-11-amd64-k8 x86_64 OK
マジカヨ……。このせいでずっと悩んでたのに……。悩み損だ。
(01:27)
どうもいろいろ忘れてるなあ。 ruby-dev summary はさっきあせって送ったからいいとして、 本への質問の返事して LLDN のプログラム書いてプレゼンを……プレゼン?! やべ、何で作ろう。つかノートパソコンがないのが大ピンチだ。 買わなきゃだめかしら。
ちなみに最近一番の忘れてた大賞は 『8/12 提出のレポートがあることを忘れてた』 でした。2 単位落とした…… orz
それはともあれ、忘れた忘れたって何度も書いてたら 「忘」の字がゲシュタルト崩壊した。 ゲシュタルト崩壊と言えば、俺のゲシュタルト崩壊ランクダントツ一位を キープしつづけているのが「蛇口」。どうもあの音がだめだ。 蛇口? じゃぐち? じゃぐ? じゃ? ……とか言ってるうちに変になる。
(16:44)
うおー RubyConf ツアーの FAX 送るの忘れてたー。 起きたらやろう。
あー、書いてから思ったけど、「ふつりな」だと「ぽえりな」「もえりな」 に雰囲気が酷似しているな。あと、「ふつりあいな」に見えないこともない。
ま、それはともあれ、 『ふつうのLinuxプログラミング』の出足はかなり好調みたいです。 ありがたいことです。 さらなる知名度アップのためには読書感想文リンク集を作るくらいのことは しなければなるまいなあ。他のページともども BitChannel に作るか。
あとは定番のバナーだろう。萌えバナー。
(04:52)
いつだったか NODE を見てて思ったんだけど、 ファイル名を char* で持つんじゃなくて ID みたいのにすれば、 ファイル名と行番号の二つで 32 ビットに収められるんじゃなかろうか。 たとえばファイルと行番号にそれぞれ 16 ビット使えばよい。 8000 行を越えるファイルはありそうだが、 65000 行を越えるファイルは滅多にないだろう。 1 プロセスで 65000 以上のファイルを使うこともたぶんないだろう。 強いて言うと自動生成したコードで eval を細かく使いまくり、 すべてに別の名前を与えたような場合か。
あるいは、ファイルと行番号を独立に持たないほうがいいかもしれないな。 「1 から 3503 まではこのファイル」みたいな情報を持っていれば、 トータル 2^32 行まで対応できる。
まあいずれにしても、これまでの行番号の上限 (8192 行) からはかなり増加して、 さらに NODE のフラグが 13 ビット空く。 とはいえ、NODE のフラグが増えても特に使い道がなさそうだ。 YARV で使ったりするかなあ?
(03:10)
明日の RHG 読書会と LLDN と RubyConf のために Thinkpad を買ってきた。 Thinkpad 390X という名前らしい。安いのはよかったが、かなり重い。 もちっと軽いのがいいんだけど 14 インチ TFT は譲れないし、軽薄なのは高いからなあ。
うーん、とりあえず Linux... いや Windows 2000 にしとくか。 あれ? なんでだろう。なんで Windows なんだろう。 何か理由があったような気がするんだけど。
思い出した。LLDN の発表のときにフォントが汚いと嫌だからだ。
でもって Windows Update しまくり。 この再起動の嵐はどうにかならないものか……。
(20:19)
Float だったのを Rational に変えた。 ら、マイナスのときの端数の切り捨てかたが変わった。 ま、いっか……。
ついでにページもちょっと修正した。
(18:21)
つたない発表でしたが、そこそこウケたみたいなのでひとまず安心しました。 聞いてくださった皆様、ありがとうございました。
自分の発表にあせりまくって他の発表をほとんど見られなかったのは残念だった。 笹田さんのプレゼンは見たかったなあ。 高橋さんの Ruby on Rails は控室でだいたい見られた。
どうせ夜のチケットは持ってねえよ!
ということで、越水さん主催飲み会に参加。 いろいろな人と話せて面白かった。 なんとなく覚えてるのはこんなもん。
公園を追い出されて飲み屋に移動する。 ……やっべ、ほとんど思い出せねー。 グラスが足りなくて店の人が必死に回収してたことなんかは覚えてるのだが。
場所移動の際に多数の遭難者が発生というか俺らが遭難。
超久しぶりに ruby を make test-all してみた。 もしかして AMD64 で初めてかなあ。 Debian に移行するとこれほどまでに堕落するのか。
Finished in 38.137752 seconds. 1) Failure: test_anonymous(PPCycleTest) [/usr/local/lib/ruby/1.9/pp.rb:614]: <"#<#<Class:0x00002a995dae20>:0x00002a995dace0>\n"> expected but was <"#<#<Class:0x00002a995dae20>:0x2a995dace0>\n">. 2) Failure: test_object(PPCycleTest) [/usr/local/lib/ruby/1.9/pp.rb:609]: <"#<Object:0x00002a995cf318 @a=#<Object:0x00002a995cf318 ...>>\n"> expected but was <"#<Object:0x2a995cf318 @a=#<Object:0x2a995cf318 ...>>\n">. 3) Failure: test_to_s_with_iv(PPInspectTest) [/usr/local/lib/ruby/1.9/pp.rb:566]: <"#<Object:0x00002a995bb228 @a=nil>\n"> expected but was <"#<Object:0x2a995bb228 @a=nil>\n">. 4) Failure: test_block_passing(TestIterator) [/home/aamine/c/ruby/test/ruby/test_iterator.rb:202]: <false> is not true. 5) Failure: test_parse(URI::TestFTP) [/home/aamine/c/ruby/test/uri/test_ftp.rb:24]: <["ftp", "user:pass", "host.com", 21, "/abc/def", nil]> expected but was <["ftp", "user:pass", "host.com", 21, "abc/def", nil]>. 6) Failure: test_parse(URI::TestGeneric) [/home/aamine/c/ruby/test/uri/test_generic.rb:44]: <["ftp", nil, "ftp.is.co.za", 21, "/rfc/rfc1808.txt", nil]> expected but was <["ftp", nil, "ftp.is.co.za", 21, "rfc/rfc1808.txt", nil]>. 7) Error: test_client_server(Test_Webrick): NoMethodError: undefined method `shutdown' for nil:NilClass /home/aamine/c/ruby/test/xmlrpc/webrick_testing.rb:32:in `stop_server' /usr/local/lib/ruby/1.9/timeout.rb:46:in `timeout' /home/aamine/c/ruby/test/xmlrpc/webrick_testing.rb:31:in `stop_server' /home/aamine/c/ruby/test/xmlrpc/test_webrick_server.rb:55:in `test_client_server' /home/aamine/c/ruby/test/xmlrpc/test_webrick_server.rb:50:in `test_client_server' 1857 tests, 14135 assertions, 6 failures, 1 errors
inspect のフォーマットが変わった?
環境
~/c/ruby % uname -srm aamine@serenade Linux 2.6.8-11-amd64-k8 x86_64 ~/c/ruby % ruby --version aamine@serenade ruby 1.9.0 (2005-08-29) [x86_64-linux] ~/c/ruby % gcc --version aamine@serenade gcc (GCC) 3.3.5 (Debian 1:3.3.5-13) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
かねがね思ってたけど、このマシンはプロセスの起動がクソ速い。 configure も異様に速い。AMD64 のせいか、Linux 2.6 のせいか、どっちだろ。
(16:40)
http://moon.hanya-n.org/comp/X64station/index.html
SPARCstation 20 に Athlon64 マザーボードを組み込み。 すっげー! これいいなあ、俺も何か作ろうかなあ。
(03:38)
これはちょっとやばいんじゃないかという予感がある。
刻印された日付は 8/26。これまでの経験から、 この期間は倍にしてもほぼ問題ないという確信を得ている。 だが今回は 23 日起点だから、三倍だ。
―――これはちょっと、やばいのではないか。
いや、何って、鮭の賞味期限の話ですけど。
(15:09)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.
■ ささだ [ありえねー。]
■ かずひこ [↑ぜったい反応すると思ったよ。。。]
■ ただただし [これがきっかけで愛が芽生えたら「Ruby男」か「Linux男」で映画化だ!]
■ kitaj [〜男ばっかじゃつまんないから「COBOL女」とかは.
COBOL女とか聞くと別の人を想像しちゃうからダメか.]
■ babie [59行目のスタックトレース。]
■ takano32 [ばぐどこか たのむ]
■ babie [そういや関西勉強会にも居ました。かわいい COBOL 娘。]