あおきにっき

ふるきあおきにっき


7/1 (日)

setup.rb

さわりはじめたらいろいろやってしまった。srcdir 対応とか(便利だ!) --prefix とか。ついにはカスケーディングも……

非日記?

ふと思ったのだが、ウェブ日記は別に日記である必要はないのかもしれない。 話題を中心に置いて、全部に書いた日付時刻をつければいいのだ。実際の 指向性としてもそういうもののほうが多いように思う。あとから資料として 活用することも簡単にできそうである。

ImageMagick

しばらく冷却期間を置いてコンパイルに再挑戦。

CFLAGS=-O2 ./configure --without-threads --prefix=/usr

で OK だ。--without-threads がカギだったのね。どうもこの システムはスレッドがらみがダメダメのようだ。

w3m

0.2.1 を再コンパイル。c とか u で表示した URL が、時間がたっても 消えないように書きかえ。

SDL

微妙にゲーマー魂をゆさぶられたので試してみることにした。 そういえばこのマシン、サウンドボード入ってないなあ……

あとは

お絵かきソフトがないのが痛すぎ。Gimp とはちょっと違うんだよな。 他の人はなにを使って絵を描いているのだろう?

LAN がへん

いろいろしていたら突然 Connection Refused. になって LAN に名前で アクセスできなくなった。telnet の出力とかを見ていると IP アドレスに 変換されてはいるものの 192.168... じゃない。なんかへんだなーと 思っていろいろ調べまくった結果、/etc/nsswitch.conf ってのを消して しまっていた。どうも glibc で導入されたものらしいね。

7/2 (月)

大学行こうかなー、どうしようかなー。ひとコマしかないんだよな。

結論

行かない。

そしてやっていること

フラ語の勉強。フラ語をさぼってフラ語やる私はバカものですか?

runit

ソフトのパッケージングやサイト構築に使っている remake という スクリプトを runit でユニットテストしてみた。うーん、楽しい……

7/3 (火)

SMTP が通らない

うーむ、スラッシュドットからパスワードを送ってくれてるはずの メールがファイアウォールに弾かれとる。ポートは開いてるんだが……。 「ill command Rece」ってなんだ?

rbrobot

網道編の見本誌が届く。あらためて読んでいて rbrobot を動かして みたくなったので試すもすごく遅い。win では速いらしいのが気に くわないので、いきなり調査 & 改良を始める。

最初は Tk とスレッドのからみで遅いのかと思って Gtk でリライトを 決行。しかし逆に遅くなりキレる。

そこで次に dRuby のオーバーヘッドに注目。まさかとは思ったが メソッドコール一回ごとに TCP コネクションを張っているようだ。 これを持続接続を使うように改良。これは効いた! 数倍の速度で動く。 (某 ML に投げといたら、本家にとりこんでくれるそうだ)

しかしまだ Tk が速い。そこで、描画指令があるたびに全体を描き なおしていたのをやめて、バックストアを使って部分的に描画しなおす ようにした。これでかなり速くなってロボットがちゃんと動く。 というわけでよかったね。

net/http

pragprog の Dave Thomas のメールが……。WEBDAV を実装したいらしい(?) というわけでリクエストに応えて request_by_name (仮) を実装。

remake

個人的に使ってるパッケージング用スクリプトがどつぼにはまった。

7/4 (水)

また朝だよ……

もうだめっす。目が死にそうっす。スラッシュがダブって見える。 コロンとセミコロンは区別できず。

寝た

復活。これからバイト。

7/7 (土)

Kylix

届いた。マニュアル眺める。

7/8 (日)

language dev ML

濃くておもしろい。

沙粧妙子

ひさびさにビデオで見る。ちゃちなホラー映画などよりよほど恐い。 飯島直子(名前思いだせなくてあせった)が死ぬところが悲惨なんだよねー。

それにしても沙粧妹だけ演技下手だ。しかたないか……

7/9 (月)

テスト

テストの効果はすごい。書くテンポがよくなるし安心して進める。

沙粧妙子

全部見た。満足。

7/10 (火)

POP

なんか妙に遅い。しかもすぐにコネクションが切れる。なんだこれは?

7/11 (水)

バイト

あー、今日もバイト。もうつかれた。やめたい。

7/12 (木)

remake

なんか不思議なことがいろいろできるようになってきたぞ。 思えば遠くまで来たもんだ。このへんをベースにそろそろ loveruby.net 作成スクリプトにとりかかろう。

xpaint

そういえば xpaint コンパイルしたら通っちゃった。ただなぜか tiff 関係がリンクでエラー出たので、Makefile 書きかえて強引に 外してしまった。まあいいさ。どうせ使うのは png だけなんだし。

remake (2)

スクリプトのパッケージャを書きなおし中、エラーからとんでもないことに 気付く。instance_eval 中のブロックで作ったブロックを define_method に 使うと常に self が instance_eval の self になるのだ。(わかる?)

いろいろ考えたすえ、ブロックをそのままハッシュに保存しておき、 動的に自分で検索して instance_eval しなおすことで解決した。

7/13 (金)

gcc のバグか?

CVS 最新の Ruby を gcc 2.95.3 -O2 でコンパイルすると、Dir.chdir(nil) で無限ループにはまる。最適化まわりでなんか変なことが起こっているようだ。 最適化なしにすると何事もなく動く。ちなみに環境は Linux 2.2.14、glibc 2.1.2、ruby 1.7.1 (2001-07-12) [i686-linux]

remake (3)

結局シンプルな実装に変更。今度こそいけそうだ。

破壊的メソッド

プログラムもいっしょに破壊された (泣)

7/15 (日)

いや

本気でバイトがいやになってきた。 もはやコンビニという存在自体が気にくわない。

7/16 (月)

怠惰

Ruby スクリプト作成にはげむ怠惰な毎日。

7/17 (火)

がーん

いつのまにか 7 月が半分終わっている……。ショック。

css

「body の幅は最大 640 ピクセル」みたいなことはできないのだろうか。 相対指定だと画面が広いときに幅が長すぎる。絶対指定だと画面が小さいときに 横があふれていや。

css (2)

table を使わず「このイメージの幅のぶんだけインデント」みたいのは できないのだろうか?

CSS2 だとできるのか。ふーん。もう使っていいのかな?

7/19 (木)

今日したこと

寝ていた

7/20 (金)

ああ、

アイスが食べたい。

バカです

久しぶりに大学行ったのに休みじゃん!

module

すでに include されているモジュールをもう一回 include しても 無視される仕様を知らずハマった。

7/21 (土)

一日寝た。あーもう、なんもする気しない。キーッ。また寝てやる!

7/22 (日)

delta

なんとなくとりくむ。はうー、1.7 だと gtk が落ちまくり。-O0 してもだめだあ。 なんか最近の 1.7 はなにかとヤバ気。というわけでとりあえず 1.6 に して様子を見る。……大丈夫そうだ。これでしばらくやろう。

それにしても、なにかしようとすると即座に邪魔が入るね……。

7/28 (土)

うちあげ

256+ のうちあげ。12:00 から 21:00 まで (長っ)。

7/29 (日)

気合いだ

LC でやるチュートリアルの資料を作らねば。締切は今月いっぱいさ。

(c)

Copyright (c) の (c) は Copyright の略、というのはすぐわかるけど それだとこの表示は Copyright (Copyright) だ。なんで二重になってるんだろうと ずっと疑問だったんだけど今日 2ch ぶらついてたら答えが! (c) は「まる C」の かわりで、それが「まる C」なのだと明示的に示すための Copyright ってつけるそうな。 そのあとのレスで「「Copyright」が必須の国と「まる C」が必須の国の両方に対応するため」 とも書いてある。ようするにそういうことらしい。ふーん……。

選挙

バイト中、お客さんが「今日投票だねー」と言ってるのを聞いて始めて気付く。 休憩中にダッシュで行ってきた。

7/30 (月)

選挙

なんだか悲惨なことになってるらしいね。

LC 資料

がんばって書いてます! これをあげるまではなにもできないっす!

7/31 (火)

記号と数字

普通のキーボードは「シフト+数字」で記号が出るようになっているが、 記号がシフトに割りあてられているのは仕様頻度から見てどうなんだろうか。 特にプログラムのエディットでは逆のほうがいいように思える。そこで 数字と記号の仕様頻度を数えるスクリプトを書いて計測してみた。以下は ~/r/*/*.rb に対して計測した結果。

sym  26956
num  16464

=== symbols ===
 1: *******************************************************************************
    *******************************************************************************
    *******************************************************************************
    ***************
 2: **************
 3: ***
 4: *
 5: *
 6: *
 7: *
27: *
32: *
64: *
73: *

=== numbers ===
 1: *****************************************************
 2: ********************************************************************************
 3: ******************************
 4: ***
 5: *
 6: *

それぞれ連続した記号/数字を一単位として数え、単位数の合計を最初に表示している。 ヒストグラムは各単位の長さを左に、その長さを持つ単位の数を右にアスタリスクで 表示している。100 単位で星ひとつ。

圧倒的に記号のほうが出現確率が多く、しかも長さ 1 の場合が非常に多いことがわかる。 つまり必然的にシフトは細かくなるわけで、効率第一に考えるとシフトは逆にしたほうが いいことがわかる。(ちなみに長さ 73 の記号単位は#だけの行だった)

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