さわりはじめたらいろいろやってしまった。srcdir 対応とか(便利だ!) --prefix とか。ついにはカスケーディングも……
ふと思ったのだが、ウェブ日記は別に日記である必要はないのかもしれない。 話題を中心に置いて、全部に書いた日付時刻をつければいいのだ。実際の 指向性としてもそういうもののほうが多いように思う。あとから資料として 活用することも簡単にできそうである。
しばらく冷却期間を置いてコンパイルに再挑戦。
CFLAGS=-O2 ./configure --without-threads --prefix=/usr
で OK だ。--without-threads がカギだったのね。どうもこの システムはスレッドがらみがダメダメのようだ。
0.2.1 を再コンパイル。c とか u で表示した URL が、時間がたっても 消えないように書きかえ。
微妙にゲーマー魂をゆさぶられたので試してみることにした。 そういえばこのマシン、サウンドボード入ってないなあ……
お絵かきソフトがないのが痛すぎ。Gimp とはちょっと違うんだよな。 他の人はなにを使って絵を描いているのだろう?
いろいろしていたら突然 Connection Refused. になって LAN に名前で アクセスできなくなった。telnet の出力とかを見ていると IP アドレスに 変換されてはいるものの 192.168... じゃない。なんかへんだなーと 思っていろいろ調べまくった結果、/etc/nsswitch.conf ってのを消して しまっていた。どうも glibc で導入されたものらしいね。
大学行こうかなー、どうしようかなー。ひとコマしかないんだよな。
行かない。
フラ語の勉強。フラ語をさぼってフラ語やる私はバカものですか?
ソフトのパッケージングやサイト構築に使っている remake という スクリプトを runit でユニットテストしてみた。うーん、楽しい……
うーむ、スラッシュドットからパスワードを送ってくれてるはずの メールがファイアウォールに弾かれとる。ポートは開いてるんだが……。 「ill command Rece」ってなんだ?
網道編の見本誌が届く。あらためて読んでいて rbrobot を動かして みたくなったので試すもすごく遅い。win では速いらしいのが気に くわないので、いきなり調査 & 改良を始める。
最初は Tk とスレッドのからみで遅いのかと思って Gtk でリライトを 決行。しかし逆に遅くなりキレる。
そこで次に dRuby のオーバーヘッドに注目。まさかとは思ったが メソッドコール一回ごとに TCP コネクションを張っているようだ。 これを持続接続を使うように改良。これは効いた! 数倍の速度で動く。 (某 ML に投げといたら、本家にとりこんでくれるそうだ)
しかしまだ Tk が速い。そこで、描画指令があるたびに全体を描き なおしていたのをやめて、バックストアを使って部分的に描画しなおす ようにした。これでかなり速くなってロボットがちゃんと動く。 というわけでよかったね。
pragprog の Dave Thomas のメールが……。WEBDAV を実装したいらしい(?) というわけでリクエストに応えて request_by_name (仮) を実装。
個人的に使ってるパッケージング用スクリプトがどつぼにはまった。
また朝だよ……
もうだめっす。目が死にそうっす。スラッシュがダブって見える。 コロンとセミコロンは区別できず。
復活。これからバイト。
届いた。マニュアル眺める。
濃くておもしろい。
ひさびさにビデオで見る。ちゃちなホラー映画などよりよほど恐い。 飯島直子(名前思いだせなくてあせった)が死ぬところが悲惨なんだよねー。
それにしても沙粧妹だけ演技下手だ。しかたないか……
テストの効果はすごい。書くテンポがよくなるし安心して進める。
全部見た。満足。
なんか妙に遅い。しかもすぐにコネクションが切れる。なんだこれは?
あー、今日もバイト。もうつかれた。やめたい。
なんか不思議なことがいろいろできるようになってきたぞ。 思えば遠くまで来たもんだ。このへんをベースにそろそろ loveruby.net 作成スクリプトにとりかかろう。
そういえば xpaint コンパイルしたら通っちゃった。ただなぜか tiff 関係がリンクでエラー出たので、Makefile 書きかえて強引に 外してしまった。まあいいさ。どうせ使うのは png だけなんだし。
スクリプトのパッケージャを書きなおし中、エラーからとんでもないことに 気付く。instance_eval 中のブロックで作ったブロックを define_method に 使うと常に self が instance_eval の self になるのだ。(わかる?)
いろいろ考えたすえ、ブロックをそのままハッシュに保存しておき、 動的に自分で検索して instance_eval しなおすことで解決した。
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]
結局シンプルな実装に変更。今度こそいけそうだ。
プログラムもいっしょに破壊された (泣)
本気でバイトがいやになってきた。 もはやコンビニという存在自体が気にくわない。
Ruby スクリプト作成にはげむ怠惰な毎日。
いつのまにか 7 月が半分終わっている……。ショック。
「body の幅は最大 640 ピクセル」みたいなことはできないのだろうか。 相対指定だと画面が広いときに幅が長すぎる。絶対指定だと画面が小さいときに 横があふれていや。
table を使わず「このイメージの幅のぶんだけインデント」みたいのは できないのだろうか?
CSS2 だとできるのか。ふーん。もう使っていいのかな?
寝ていた
アイスが食べたい。
久しぶりに大学行ったのに休みじゃん!
すでに include されているモジュールをもう一回 include しても 無視される仕様を知らずハマった。
一日寝た。あーもう、なんもする気しない。キーッ。また寝てやる!
なんとなくとりくむ。はうー、1.7 だと gtk が落ちまくり。-O0 してもだめだあ。 なんか最近の 1.7 はなにかとヤバ気。というわけでとりあえず 1.6 に して様子を見る。……大丈夫そうだ。これでしばらくやろう。
それにしても、なにかしようとすると即座に邪魔が入るね……。
256+ のうちあげ。12:00 から 21:00 まで (長っ)。
LC でやるチュートリアルの資料を作らねば。締切は今月いっぱいさ。
Copyright (c) の (c) は Copyright の略、というのはすぐわかるけど それだとこの表示は Copyright (Copyright) だ。なんで二重になってるんだろうと ずっと疑問だったんだけど今日 2ch ぶらついてたら答えが! (c) は「まる C」の かわりで、それが「まる C」なのだと明示的に示すための Copyright ってつけるそうな。 そのあとのレスで「「Copyright」が必須の国と「まる C」が必須の国の両方に対応するため」 とも書いてある。ようするにそういうことらしい。ふーん……。
バイト中、お客さんが「今日投票だねー」と言ってるのを聞いて始めて気付く。 休憩中にダッシュで行ってきた。
なんだか悲惨なことになってるらしいね。
がんばって書いてます! これをあげるまではなにもできないっす!
普通のキーボードは「シフト+数字」で記号が出るようになっているが、 記号がシフトに割りあてられているのは仕様頻度から見てどうなんだろうか。 特にプログラムのエディットでは逆のほうがいいように思える。そこで 数字と記号の仕様頻度を数えるスクリプトを書いて計測してみた。以下は ~/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.