あおきにっき

ふるきあおきにっき


2/1 (木)

大ショック

[ruby-talk:10203] Gtk で TMail ? かぶったあああああ! そりゃ楽だろうよお、なんたって TMail はメーラ用に作ったんだから。 うそだろー。おれより前に完成させんでくれええ。

教訓:アプリとライブラリ

自分で書くなら、まずアプリを完成させるべきです。そしてわりかし普 及したなと思った時、余力があったらその中からライブラリをきれいな 形で独立させましょう。順番を逆にしてはいけません。青木の二の舞に なります。あるいは GNU の二の舞になると言うべき?

ああ、もうメーラ作る気なくした。エディタにしようかな。 でも Ruby 組み込み vim ならもうあるし、Ruby emacs はきっと だれかが作ってくれそうだし。そうだ、その誰かのために超強力な アイデアを一つ提供しちゃおう。Ruby emacs を作るなら、Ruby インターフェイスの他に elisp インタプリタを載せましょう。 そうすれば Ruby で拡張できるうえにこれまでに書かれた elisp を 利用できるようになります。ね、すごいアイデアっしょ。

じゃあなにするかと言うと

ワープロみたいの作ろうかなあ。 それともブラウザにしようかなあ。

2/2 (金)

テスト…

早くテスト終わってよー。っても XP とは関係ないよ。

Ruby VM ?

[ruby-talk:10238] とか木山さんの日記 とかいろんなとこで Ruby VM の文字を見掛けるなあ。 みんなバーチャル好きね。いや、嫌いじゃないケド。

setup.rb

わたなべさんの日記 を見てみると setup.rb でいろいろ苦労するようだ。fake_TARGET.rb てのはどこにあるんだろな。対応できるもんならしたいのだが。

ウェブのなかをぐるぐるした挙句、はっけん。なーんだ、わたなべさん とこにあったのね。(読む…)ふーむ、なんとなくわかったぞ。setup.rb から起動する ruby に、setup.rb を動かしてる ruby の環境が引き継 がれるようにすればいいんだな。

でも fork は使えないし、新しく ruby を起動しないで load すると mkmf.rb が落ちた記憶がある(最初の setup.rb は load してた)。そっ ちを先になおしてもらえばどうにかなるかもしれぬ。たしか二回目から はmkmf が使うグローバル変数が初期化されててフニャフニャ、とかだっ たような。

でも少なくともその修正が 1.6 に入ってからでないと対応できないな あ。それともいっそ --eban オプションで動作を変えるか(爆)。

setup.rb (2)

うぬぬ、ファイル名変更もイロイロ効いてるっすね。でもこればっかり はどーにもならんです。それを吸収するために setup.rb ができたよう なもんなんで…。

ruby setup.rb install --no-harm | grep ^install | ふに

みたいにしてチェックしておくんなせい。

耐久レース終わる(?)

(1/30 の日記の続き) もう講義がなくなったので大学に行かなくなって、途切れてしまった…。 記録は 9 日連続か。よく食った。

2/4 (日)

起きたら 2 月 3 日は終わる寸前だった。 というわけで日記も 2 月 4 日にしてみた。

ふたたび setup.rb

extconf.rb をロードする前に setup.rb で mkmf.rb の環境をクリアし てやればいいじゃーん、と思い付いてやってみた。なんか危なっかしい。 やっぱり mkmf を二回実行可能にしてもらうのが筋かねえ。

ほん

「UNIX ネットワークプログラミング vol.1」W.R.Stevens。 あつい。おもい。たかい。

めんどくさがりやの青木にはめずらしく例題プログラムを取ってきた。 本に書いてある ftp のサイトにはなくなっていたので google でファ イル名を検索して発見。 http://www.kohara.com/start/unpv12e.html にある。

それにしても google っていいっすね。ねらったもののヒット率がめちゃ 高い。

2/6 (火)

テストほぼ終わる

終わった、は無事終わった、を、意味しない。

これからの予定

当面は net/http 1.2 にむけて大改造。そのあとメーラをひと区切りつ け(やっぱり書くらしい)、そののちに TMail 0.9 出し、textbuf と strscan を統合して textutils を出す。ついでにそれに合わせてまた TMailを変える。さらにテキストバッファの curses / gtk インターフェ イスを書きエディタを書く。あげくブラウザを書く。そのうえウィンド ウマネージャを書く。もちろんそのころには日常作業は全部 remake で 統一感たっぷり、と。

…いつ終わるんだよぉ…

net/smtp,pop,http 1.2 pre 2

意外に早く書けてしまった。

2/7 (水)

テスト全部終わる

終わった、は「モノゴトノカンリョウ」を意味することもあるが 「モウダメダ」の意味になることもある。

net/smtp,pop,http 1.2 (2)

派手な HTTP の話題にかくれて秘かに POP の機能を追加したりしてい る青木であった。

あさ・ひるごはん

おにぎり二個とお茶。以上。いいのか。よくない。

ほん

渡辺(哲)さんの日記でも何度か出てきていた『珠玉のプログラミング』 買う。まだ最初のほうしか読んでないけど、おもしろそうだ。

原題は Programming Pearls か…。Programming Rubies が書かれる日 は来るのだろうか。

2/9 (金)

もう 9 日?

起きたら(夜の) 8 時だった。なんてこった。

日→英

[ruby-list:27617] 日本語の文書を英語に翻訳か。talk にも何人か日 本語の読める(非日本)人がいるようだ。訳す価値の高いものってなんだ ろう。やっぱり細かな使いこなしというか、まだ明示的にドキュメント 化されてないものが一番アレかも。

その顕著なものは ruby-list 27000 通に蓄積された情報だろう。そこ からうまいこと重要部分だけを蓄積できればいいのだが。でもそれはそ もそも日本語でもされてないもんな。そういうのって難しいんだよねえ。 書く人間自身が全部把握してないといけないわけだが、そういう人がま ず Ruby では少ない。そしてそういう人はたいてい文章を書くのは好き じゃない。

『Ruby を 256 倍使う本 極道(きわめみち)編』

二冊目の 256 倍本。微妙に輝き感のある青の表紙がキレイ。説明が丁 寧なのがいいですねー。テストはいちおう書いてるけど、RubyUnit じゃ ないんだな。でも RubyUnit の出力はカッコイイのでいつか移行したい。

Textbuf のドキュメント

Textbuf のマニュアルを英訳。 こないだ Dave Thomas からメールが来たのが嬉しいらしい。

2/10 (土)

オープンソースまつり

秋葉原でオープンソースまつりをやってます。アスキーから Ruby 256 倍のブースが出てますよー。極道編を持っていくと助田さんのサインが もらえるそうです。

無道編

今月末あたり、まいブック『Ruby を 256 倍使う本 無道編』が出ます。 もちろんアスキーです。

Racc について書いてって言われたんですが、青木が書くからには中身 はただの解説本ではありませぬ。ええ。ここぞとばかり Ruby について 書きたい放題書いてます。チョー気合い入れて書いたんで、是非買って ね。

アスキーのサイト にちょこっ とだけ予告もあります。

2/11 (日)

勘違い

オープンソースまつり、に出典してるはずのアスキーのブース、にいる はずの arton さん助田さんるびきちさん etc etc…とにかくみなさん に会いにゆく。

しかし見付からない。えーとなにがって、オープンソースまつりがさ。 中央通り沿いって言ってたけどホコ天にもなってない。おかしい。イベ ントスペースもなんにもやってない。おかしい。もしかして間違い? ひょっとして明日? があーん。「日記にごめんなさいって書かなきゃ」 と思いつつ歩く。

転んでもただでは…

しかたないので目的をお買い物に変更。HDD はもとから買う予定だった がさらに CDR 50 枚を追加。さらに 50 枚別のメーカーを買おうと思っ て歩く。別のメーカーにするのはまんがいち相性が悪かった場合に全滅 させないため。何度もひどい目にあったせいで最近保守的なのね。

え、そんなになにを焼くかって? それは ひ・み・つ☆

勘違い ** 2

が、しかし、これでは終わらなかったのだああああ。実はオープンソー スまつりは、中央通り沿いの、「小さいほうの」イベントスペースでやっ ていたのであった。はまった。まさかあんなちまこいとこでやってると は思わんかった (関係者の皆様方、ごめんなさいいい。でもあそこ本当 に小さいんだもん。いつもはヒロヤマガタの即売会とかやってるとこな んだけど、知ってる?)。

こんなことなら調子にのって CDR 50 枚買ったりするのではなかった。 でもさらに 50 枚追加しなくてよかったよ、本当に…。ああ重い…

というわけで、

いろいろルビバナ (Ruby のはなし) をしてきた。かなりイロイロ話し たので早くも忘れかけてるような。

そのいち: Ruby 256 倍はやっぱり月刊になるらしい (ウソ 89%)。

そのに: 三人に聞きました。「Ruby が普及するとしたらどの分野でしょ う」1、日常作業 2、やっぱ Web 3、カーネル以外は Ruby が支配 (誇張 97.88%)。自分を含め全員が一致したのは「とりあえず CGI じゃ ない」でした。

そのさん: あおきの質問「こんなに節操なく Ruby の本出しちゃって アスキーは大丈夫なんですか?」…えーとごめんなさい、答えは公開す るといろいろヤバそうなんで自主規制します (^^;; でもいちおう追記 しておくと、邪道編はとっても売れてるそうです。極道編も、早くも増 刷かかってるそうです。ちなみに無道編(あおき著)は「読んでもらえれ ば絶対ウケるけど買ってもらえるかどうかが心配」。自分でもそう思ふ。

つーか、ここまでだとニゴロバナ (Ruby 256 倍本のはなし) にしかなっ てないじゃん。他にもあったはずなんだけどな。arton さんがキーボー ドを買った。いや、それは違うなぁ。Moonwolf さんが本体切り替え器 を買ってた。それも違うなぁ。多田さんは何も買わなかった。これも違 う。某氏がパチンコ台に預金してた。…違いすぎ?

そうだ、邪道編と極道編にサインをもらった。わーい。明日早くに行け ばまだ助田さんにサインをもらえます。でも遅くなると帰っちゃうそう です。

だめだ、やっぱり思い出せない。だいたい今日はうかつに公開できん話 題が多かったしな。いろんな意味で。

にくをやくと書いて焼肉

520 円と 5000 円の差を知る

2/13 (火)

setup.rb

三度にわたってバグを入れる。だから Win は嫌なんだ。いいかげんに ドライブレターこの世から抹殺してくれよ。

net/http 1.1

早く 1.2 に移行したいよう。ブランチが二つに 1.6.2 に入ってるやつ が加わってどれがどのくらい対応してるのかわかんなくなってきた。こ れで1.6.3 が出たらいったいどういうことになってしまうのか…

リファレンス

Ruby のリファレンス にオニ の連続アップデートをかけてみた。さすがにこのペースは続かない。

1.7 が落ちる〜

サイトのアップデートスクリプトが落ちる。-g と -O2 はもちろん、 puts するだけで落ち方が変わる。しかも Segv になったり Bus Error になったりする。これはとりあえず報告するしか。

と思ったけど 5 時間くらい苦闘してなんとなく理由がわかったくさい。 frame_dup を節約しようとして節約しちゃいかんものを節約しちゃった 感じかな?

2/14 (水)

謀略

バレンタインデーにチョコをあげるってのはチョコ屋の陰謀なのだ。 だまされてはいかん。

ゆうごはん

なんでファミマでバイトしてるのにイレブンのお弁当ばっか書いてある の、というお叱りの声に応えるべくファミマでの夕御飯メニュー。「オ ムスパゲティ(クリーム)」「おにぎり(ゆかり)」「お茶(500 パック)」。 オムスパゲティのクリームはホワイトクリーミィごはん(ミィがポイン トらしい)の「ホワイトクリーミィ」と同じ味。使いまわしたな!

今日聞いたお言葉「ハンバーガー半額かと思ったら土日だけだったー。 チョーしくじったぁ」まさかこういうのを狙ってるのかファミマ?

やしょく

なんだかラーメンが食べたくなったので麺達しょうゆ味(ふくろ)を食す。 いっしょの鍋でほうれんそうを煮る。のり全形一枚を四つに切って全部 入れる。メンマを買い忘れたのが痛恨の極みである。

あっ、キーボードにラーメンのつゆが…

2/15 (木)

sid?

いろんな人の日記で sid って文字を見たのだけど、なんだらう… しっど?

そけっと

が変。そけっとがヘン? そけっとがヘン! ここぞとばかりに「UNIX ネットワークプログラミング」をフル活用して調べものをする。うーん、 どうも bind するとコケるようだ。とりあえず報告しよう。

2/16 (金)

やしょく

朝 6:00 は夜食じゃないか。今日も昨日と同じラーメンを食う。 …あー、またメンマがない!

めたりっく

めたりっく通信 (ADSL) に申し込んではや二ヶ月、いまだ開通せず。 しかもその間に来たメール、わずか三通。はっきり言おう。

この役立たずがあっ!!!

しかしそれでもめたりっくを見捨てないわたし。それは心が広いからで は決してなく、NTT にいま以上の金を払いたくないという、ただその一 心からである。NTT はめたりっくとは桁違いの罪人ゆえ徹底的な分割以 外に道はないのである。ほら、日本古来の諺にもあるじゃないか、「バ カは死ななきゃ治らない」…。

ほん

池袋ジュンク堂がちょうど今日だけコンピュータ関係を新装中だった。 しかたなく Libro に行く。くそっ。

『コンパイラ I』 A.V.Aho, R.Sethi, J.D.Ullman。コンパイラの古典。… ていうか、パーサジェネレータで本一冊書いておきながらまだ買ってな かったってのはまずすぎですぜ。ちなみにいままでは大学図書館で借り てました。だって、どうせおれ以外だれも借りないもーん。こういうと き文系大学だとちょっと便利。でもプログラムの本の絶対数が少ないの は不便。

『人月の神話 (発行 20 周年記念版)』 F.P.Brooks Jr.。プログラム生 産管理の分野で有名な本(でいいんだよね)。…いかん、一冊目を取った から汚れている。ん? いま気付いたけどこの本、縦書きだね。珍しい なあ。

ほしいほん

『コンパイラ II』『UNIX ネットワーク… vol.2 IPC』 『詳解 UNIX プログラミング』『詳解 TCP/IP vol.1-3』 きっと全部買ってしまうのだろう。最近の合言葉は 「いつか買うなら今日買っても同じこと」ららららー。

そだ、XP 本の原書もほしいなー。翻訳は、はっきり言ってゴミ。 あんな腐った日本語は 3 ページと読めぬわ。

2/17 (土)

昨日の夜に寝たはずなのだが起きたらまた夜になっていた。

sid (2)

2/15 の日記に「sid ってなんじゃあ」と書いておいたら教えてくれた 方が。 Debian のブランチみたいなもん らしい。

Debian は dselect しかない時代にちょっと使ったけど、インストール しても日本語がまともに出ない & dselect がうざすぎる、ので速攻 Plamo に乗り換えました。Plamo はパッケージ管理システムがないとか で最近人気ないですが、とりあえず始めるには楽でいいっす。ソフト入 れたいならコンパイルしようね、という適当さもなかなかよいです。

あっ、いちおう補足しておくと Debian には今は apt とか違うツールが あるらしいので面倒さはなくなってるんじゃないかなあ。たぶん。

免許

三月に教習所がつぶれるので、それまでに免許取らないといかんのです。 ああ…。いつの日か落ち付いてプログラムできる時が来るのだろうか。

2/18 (日)

はじめての RubyUnit

RubyUnit を使ってみ……る前にいきなり改造を始めるわたし。

$ rut                               # 全テスト実行
$ rut http smtp                     # 指定クラスのみ
$ rut http.get,head pop.delete_all  # 指定メソッドのみ

みたいなことができるようにした。t は Run Ruby Unit Tester の略。 うーん、R が足りない。え、欲しい? こっから持ってけー 。でも各テストファイルで対応してないと使えないよーん。うふふ。

ちなみになんで RubyUnit するかというと XP がしたかったからではなく 「テストの出力がカッコイイから!」である。続々と表示されるテンテン、 最後に出力される Time: 0.011568 (小数点 6 ケタも出る!)、などなど 「ぬおーテストしてるぜー」な感じがたっぷりなのである。

なにっ、見たことがない? これっすよ。

.................
Time: 0.00602
OK (17/17 tests  19 asserts)

使い方は『Ruby を 256 倍使う本 極道(きわめみち)編』を読もう。

ところで今考えたんだけど、OK メッセージが

17/17 tests 19 asserts OK; status all green.

とかだと喜ぶ人がいるかもしれない (^^;;;;;

2/19 (月)

インスタントな日本の私

首相もインスタント、みたいな。ちなみにひるごはんの話です。

2/20 (火)

やっぱり正規表現にがて

1/31 の日記に

/a\b/ === 'あaあ'  #→ 2
/\ba/ === 'あaあ'  #→ nil

の結果が違うよう、とか書いたんだけど実はそうじゃなくて $KCODE 設 定ミスでした。デフォルト NONE だからマッチしないだけです。あー情 けない。

でもいちおう言い訳すると、ずっと --default-kcode=euc でコンパイ ルしてたのです。それがそのあたりで付けるのを忘れてしまったと…。 でもそれってよく考えると動作確認上は非常にまずいので、やっぱフラ グなしでコンパイルすべきだよねえ。はう。

正規表現もう一発

[ruby-list:28084] [ruby-list:28086] など。(?>...) に関する話。

これ始めて知りました。そうとう新しい機能のようです。こういう 機能っていかにも Perl らしい気がする。

Ruby 期末試験

C マガの期末試験、92 点でした。以下、間違えた問題。

Q1:4,10。やっぱり使わないとだめだね。両方とも使ったことなかった。

Q8。0..0 にひっかかった。Range も、好きじゃない(かった)からなあ。

Q18。見事に、1 と -1 にしました。はい。

Q22。くっそー、クラス変数まちがえた。これは間違えちゃいかんだろう。

ところで、Q17 の答え間違ってるよね。実行してみても「ウ」になるよ。 それと Q25 は間違いではないけど t2 は join する必要ないね。t1.join からは戻ってくるはずないから。

2/21 (水)

Ruby を 256 倍使う本 無道編

マイ本が届いた。やはりブツはいい。さわれるし、電気使わないし…。 章の表紙の絵とかもなかなかいいっすね。

が、しかし早くも間違いを発見。もちっと確認したら公開します。 ああっ、発売前に正誤表が出てる本っていったい…

2/23 (金)

もうあさ?

22 日はどこへ行ったんだ…

あさごはん

またもインスタント。「濃厚ガラ味熟成ラーメン」みそ味。今回はメン マも買ったし、チャーシューも仕入れた。さらにのりも補充して、全形 一枚を八ッ切にして入れる。うまい…。

このラーメン、生協のオリジナルなんだけど、かなりうまい。B+ あげ てもいいな。

net/http

バグ修正。まだこんな致命的なのが残ってたとは。

1.6 ブランチに新 net を入れるべきかどうか迷う。うーん。

十六茶のペットボトル

いや、某日記で見たので…。四角になったのは今週からだったかなあ。 四角のペットは倒して横に並べると二段目がポロポロ端から落ちるので 嫌い。しかし時代の趨勢は四角へと向かっているようだ。そのほうが 箱が小さくなるからなあ。

Programming Ruby

うーむ、 ウェブにのせちゃう ってのもすごいけど、なによりも内容がすごすぎ。これだけの本があれ ば確かに Ruby ユーザも増えるね。とにかく徹底的でもれがない。んで 筆力がある。読ませる。こういうすごい本を書きたいな。

でもインスタントラーメンばっか食ってると塩分たまっていい本が書け ないかも。無道編の原稿料が出たら炊飯器でも買おう。

2/24 (土)

無道編 正誤表

正誤表を公開しました。

SKK で「せいご」を変換したら「生後」になった。「せいごひょう」だと 一発で正誤表になる。しかし今度は「せいごおよう」と打ってしまう… ったく、これだから QWERTY はいやなんだ。dvorak 配列っていいのかな。

ひるごはん

またもコンビニ。ちょっとわけあってファミマで買ってきた。しかし いつもバイトのとき食ってるから食べたことないのが少なくてこまる。 「具だくさん中華丼」「ビーフバーガー」。ハンバーガーは土曜だから 半額(60 えん)だ。2/14 のおねえちゃんとは違うぜ。中華丼はごはんが べったりしててイヤ。ああ、中華丼にてまどってたらハンバーガーが 冷えた。最悪ー。

仮免

これから仮免試験を受けに行きますぅ。運転するの一週間ぶりだけど 大丈夫だろうか?

2/25 (日)

仮免(2)

仮免試験は申し込んだ日には受けられないらしい。というわけで今日受験。

落ちた。てゆーか S 字で後輪乗り上げつっきり、クランクのポールを 全部なぎたおせば当然です。やっぱりねえ、一週間前に一回、五ヶ月ぶ りに乗っただけではだめです。車体感覚まるでなし。

んで補習もやってきた。一時間しか乗れないのねえ。二・三時間乗りた い気分なんだけど…。教習所が 3 月につぶれるってんで奴らあせって るからなあ。そもそも前回落としてくれればよかったのだ。こっちは 一回落とすつもりで二時間連続にしといたのに…。

ダメージ

某事件により精神的ダメージ大。プログラムどころじゃねえ。

無道編

ぼちぼちいろんなところに感想が出始めた…。ドキドキ。そのうち雑誌の 書評とかも出ちゃうかもな。すごすぎ。

「パンピー的にはマニアック」うーん。まさにその通り。ていうかおれ もRacc について書いてとか言われた時にはあせったね。なんで Racc ? みたいな。TMail とか net だったらわかるけど。これは後から知った ところによると Tosh さんの差金(爆)らしい (でもよかったと思うけど)。

JARH

久しぶりに一発。

IO.open(1, 'w').print 'Just another Ruby Hacker,'

てゆーかかなり卑劣かも。もう一発。

Array.new(5,7).collect{|i|i*2}.compact.__send__ :print, 'Just another Ruby hacker,'

よけい卑劣?

2/26 (月)

あさごはん

こりずにラーメン。「濃厚ガラ味熟成ラーメン(長い) とんこつしょうゆ」。 だってうまいんだもん。

しまった、新しく買った冷凍ほうれんそうが予想外に増える。これでは ほうれんそうラーメンになってしまう…

仮免(3)

これから再試験にいってきまーす。免許の実技試験ってあれだよな、 試験の前に慣らし運転させてくれればいいのに。

仮免再試

今度は受かった。80 点。やっぱ慣れだな。

学科は危げなく通過。48 点。

net/http

net/http の移行についていろいろ考える。考えれば考えるほどわけわ からん。結局、どうするのがいいんだー?

いかに仕様がこわれてようと 1.6 では今のままいくべきだよな。一回 公開されちゃってるわけだし。しかし新仕様を使うこともできちゃうの で、1.6、1.7、1.8 の新仕様が別に存在してしまうのがアレだ。まあ 1.7 は開発版だから自力対応してもらうとして、1.6 に中途半端な新仕 様を入れるべきではないのかもしれない。つーことは 1.6 での net 1.2 は at your own lisk でやってもらうとして、どーしょもなくなっ たら net を別に入れてもらう…。うーん、そうか、なるほど…。

2/27 (火)

怒涛の教習生活

今日だけで学科四時間だよー。もう疲れたよぉー。 ……イヤッ、こんな生活!

JARH

おにです。

まあそれはともあれ

type.type.type.send(:public,:public).public(:print).print 'Just another Ruby Hacker,'

語呂から言うと print も三回あったほうがいいのだが…。

Copyright (c) 2000-2002 Minero Aoki <aamine@loveruby.net>
This site is link free.