くまりゅう日記

2002/1/26(土)

今週ももう終わりか。

Beの続き。Vimは自分でコンパイルすることにした。とりあえずlibiconvとncursesを取ってきてコンパイル。libiconvができませんねぇ。configureでエラーがでる。悩んだけど、ふと思い当たることがあってlibiconv1.7を取ってくる。今度はそのまま通る。libiconvの1.7.0.1ではだめみたいね。ncursesは5.2をそのままインストール。時間はかかったけどエラーとかはまったくなし。Vimも普通に作ってインストール。ncursesのあとだったんで、こんなに速いのかと感動。コンソール版は普通に動く。前とおんなじ。gVimは…あ、エラーでて死んだ。なるほど、道理でBeBitsにあがってないわけだ。Mutltibyte対応ではBeのGUIは使えないのね。どうしよう、BeOSのGUI部分だけ改造してみるかな。

Vimのパッチ当てるのに困ったのがその量。152個。一個ずつNet+でダウンロードするわけにも行かず、FTPクライアントを探してきてダウンロード。さて、パッチはどう当てよう。これまた一個ずつ当てるわけにも行かない。シェルスクリプトの書き方もわからない*1。こんなときはRubyだね。で、こんなんで出来ました。

(1..152).each {|num|
	system("patch -p0 < 6.0.#{format('%03.3d', num)}")
}

これだけ。もっとうまくかけるかもしれないけどこんなもんでしょ。どうせ一回きりなんだし。for使ってもいいんだけどeachのほうが好きだから。

Beの5.1こと通称dano。Be上からは焼けました。CD at Onceはできませんとか言われてどきどきしたけど、Track at onceで焼けました。やるねCD Manager。焼いたはいいけど。インストールする勇気がない。新規インストールして上書きするんだったらいいけど、今のところに上書きするのは怖いなぁ。そういえばCDの名前がExp. Nov〜ってなってた。っつー事は11月バージョン?結構最近ですね。ほんとかよって気もするけど。まあいいや。明日入れてみよう。Terminalもなんかうまくなってるかもしれないし、FontもHaruじゃない日本語フォント入ってるみたいだしね。このままじゃVimがうまく使えないからなぁ。

そういえば。ヒーローウォーズと語り部のシステムが似ているような気がした。いや、語り部がうろ覚えなんで気のせいかもしれないけど。

んー、金がないと外に出る気がせん。おまけに雨降ってるしね。暗くなっちゃうと雨に日は非常に寒いからますます外に出なくなる。うう、だめだ。明日はスキャナを売りにいこう。

日記は結構便利だと思った。ここに書くこと考えてるといろいろネタが出てくる。いざ書くときには忘れてるんだが。コラムにかけそうなネタはたまってる。あとは、開発状況を記しておくことで自分のToDoがわりになるってこと。ToDoファイルとか作っても更新しなかったりするからな。そういうときにPalmも便利だけど。思いついたときにメモ取れるからね。ToDoに追加しておいたり。どんどん手放せなくなる*2

あとは、ここで細かくプログラムとかのリリースができればいいんだけどね。

2002/1/25(金)

ひさしぶりに麻雀。あとBe。

麻雀は置いておくとして。Beの環境整備。おもにVim。結局MuTerminalからは動くんだけど、gVimが動かない。libintlが必要みたいだけど。libintlはgettextに入ってるみたいなんでダウンロードしてconfigure。HOSTがわからんって?で、--host=i586つけてOK。あとはmake。…ん。libintl.soなんて物は出来てこない。libintl.aだけだ。--enable-sharedはデフォルトでyesか。いろいろ調べるうちにGNUのサイトにもっと新しいのを発見。configureしてmake。オプション無しでも通ったね。あとはintl/.libsにlibintl.soを発見。home/config/libに突っ込んでgVim起動。出来ました。あれ、日本語入力が出来ない。というか、encodingオプションがありませんとか言われるのはなぜ?と、よくよく調べてみるとgVimにはiconvとmultilangオプションついてないのね。明日自分でコンパイルしてみるかなぁ。ってソースが見つからん。UNIX用のソースではgui_be.hがないとか言われたんだよな。どこから見つけてくれば良いんだろう。

とりあえずTerminalからは動くんだけど。普通のTerminalでは日本語表示が出来ない。Haru_Tohabaはfixedフォントと認識されないのかな。で、MuTerminalを使うわけなんだけど。MuTerminalでのVimでは、色が表示されない、カーソルキーが正常に使えない、マウスの操作が無視される、なんて問題が。マウスはどうでもいい気もするけど、カーソルキーと色での強調が出来ないのは痛いぞ。何か設定があるのだろうか。

BeOS5.1なんて物が出回ってるらしいけど。UGバージョンって事か。ダウンロードしてみるとisoファイル。焼けって事ですね。焼こうとするもisoファイルじゃないとか言われて焼けない。ファイルが壊れてるか、Be上じゃないと焼けないかのどっちか。解凍するのにエラーはでなかったから、Be上じゃないと焼けないのかな。焼きソフトを落として家のライタに対応してることを祈るばかりです。これも明日だな。

うーん、うちのBeはまだまだ使える状態になりそうはないかな。cvsを使いこなせるようになればいいのだけど。

2002/1/24(木)

ふざけたソフトメーカーに鉄槌を。

某有名メーカーのWebpage作成ソフト。このサイトにはあんまりつかってないんだけど、以前はよくお世話になっていました。i-mode用のページを作るにはVimじゃ特殊文字が出せなかったんで、久しぶりにソフトの手を借りることに。i-mode用の拡張機能がウェブサイトにあったはずなんで探しに行くと…ない。なんで?と思って探していると、キャンペーンおまけCD-ROMに入っているらしい。そんなキャンペーン前にアップグレードしたのでもってません。ダウンロードできるよ、っていた先には。なんと20M*7+7Mのファイル。合計150MBほどのファイルです。チュートリアルムービーとかも入ってんでしょうね、きっと。その中の1M足らずのファイルがほしいだけなのに。どういうことでしょうねこれは。

そのソフトもなかなか曲者ですが。EUCの処理が怪しい。EUCのファイル開くとある日突然文字化けする。ほかのエディタで開いても大丈夫なのにね。何があったんだろう。しかもCharactor-Encoding指定しても無駄。勝手な判断してくれてるんでしょうね、親切に。間違ってて直せないってのは性質悪いですね。Redhat Linuxのインストールでも同じような状況あったな。ビデオカード関連で。小さな親切大きなお世話ってね。そういう小さな使い勝手でもユーザーは離れていくんですから。いや、EUC文字化けするのは致命的ですが。文句言えばいいのかもしれないけど、状況とかいろいろ聞かれそうで面倒。というかユーザーサポートに問い合わせるのに、シリアルだけならまだしもなぜ電話番号とかまで必要なの?電話されても困るよ。Web Creatorsとか見ると実際仕事では作成ソフトはあんまり使ってないみたい。こんな状況じゃエディタのほうが早いわな。

そういえば、突然IEがうまく動かなくなった。httpにIEが関連付けられてるはずなんだけど、ほかのソフトからhttp通してIE起動すると、起動したままキャンセルするまで先に進まない。自分で使ってるぶんにはLitestep使ってるからそういうことあっても当然かと思えるし、問題ないんだけど。家族も使うからなぁ。というわけでMozillaを割り当ててしまう。正常起動。よかったね。とはいえ、いきなりうまく動かなくなるようなソフトがOSに組み込まれてるのはいただけない。OS自体をもっとシンプルにすればいいのに。MicrosoftはWindowsのソフトは弱いね。Mac版のOfficeやIEはとてもいいのに。やはり、MicrosoftはOS部とアプリケーション部で会社分割すればよかったのに。裁判とかじゃなくて自主的にとかでも。そうすればもっといいものできるはず。

会社分割といえば。Palmはハード部とソフト部に分かれたようですね。ハード部がつぶれてもソフト(PalmOS)は生き残るようにってか?まあ、Palmのハードウェアは厳しいって話も聞くぐらいですから妥当かも。あんまり関係ないけどPalm vs Beコミュニティはいつまで続くんだろう。

古いスキャナをハードオフに売ろうとするが適当な袋がなくて断念。まさか抱えてあるって行くわけにもいかないんで。そのうち売りにいこう。周りの人はスキャナ使いそうな人はもう持ってるし、Win2k/XP不可なんていう将来性のないハードを欲しがる人は少ないだろうしね。中古屋に売れば\1000ぐらいにはなるでしょう。

CDは見つからず。明日また探そう。

2002/1/23(水)

貧乏です。どうやってもたせるか。

ナイツの定例会の会場代を払いに行く。5000円近く取られるんで一気に金欠に。ゲーセン行ってもゲームやる気しねぇ。まあ、新しいゲームは入ってないんでやるゲームもないんですが。会場代が高いことはわかってるんだけど交通の便がいい場所なんで魅力的。近くで借りれるところはどこも同じような値段だろうからね。

PerlのHTML::Template*3を使った掲示板を探す。…見つからないね、意外と。とはいっても同じような動作をするものはいくつか発見。使うにはライブラリのインストールが必要ないだけ、この方が楽ですね。っつーわけでいじってみる。Only Oneとかいうもの。便利そうですね。ドキュメントの不足は目立つけどその辺は気合でカバー。HTML+ちょっとでプログラム組むようなものだと思えばとても楽。perlで一から書くなんて地獄のような作業に比べればね。だいたいRDで書いてHTMLのタグを簡単にいれて、CSSで整形。表示するだけだったら簡単じゃないですか。あとは入力フォームです。フォームはHTMLの中でも一番嫌い。思った通り表示させるのは非常に難しい。うまく配置しないと外観を損なうしね。

上野洋子のアルバムはもう出てるらしい。っつーか今日か。明後日だと思ってたよ。商品券がいまだに残ってるんだけど…これ使えるところで売ってるかが問題ですな。BlindGuardianの新アルバムはいつでるのでしょうか。この前のシングルが日本のチャートで3位とか書いてあった気がしますが、いったい何のチャートなんでしょう?家の近くでは一枚も見かけてませんが…日本で発売したのかな。あ、でてますね。まったく品揃えの悪い店ばかりだな。ん、新作は1月とか言ってますが、このペースではでないでしょう。もしかして日本先行ででるのかも*4。お、上野洋子のアルバムは早めに買うと未収録曲がダウンロードできるのか。早めに買うか。

♪ Varttina / ILMATAR

2002/1/22(火)

気が付いたらもうお昼。寝すぎだ。

ruby用のGUIライブラリを作るために試行錯誤。Windows用とBeOS用を判別してMakefile作らせようかと思ったんだけど、extconf.rbじゃ無理かな。仕方がないのでとりあえずWindowsだけで話を進めることに。どうせコアの部分のOS依存は少ないはず。

う、それ以外に今日は何にもしていない気が…。

ヴァルティナのWebsiteが新しくなっているのをいまさら発見。いつのまにかライブアルバムとか出てたらしい。日本発売予定の話は聞こえてこない。でてほしいなぁ。そういえばいつのまにかずいぶんメンバー減りましたね。

リンクのレイアウトをちゃんとしなくちゃいけないと思いつつも放置。バナーの位置がおかしいのを直してある程度ファイルを分割。そしてあんまり関係ないリンクをたらたらと増やしたい。あ。新しいバナーを何とかしよう。バナーも早く移転してリンクしてくれてるところに伝えなきゃ。1月から2月いっぱいまでの予定とする。期間長いな。

html_templateとかいうperlモジュールがあるらしい。便利そう。掲示板書き直すかな。ダウンロードしてきたのちょっといじっただけじゃなくて。でも、perlは苦手。自分で書くのは大変だよなぁ。ああ、そうか。誰かがhtml_template使って書いた掲示板を見つけてもらってくればいいんだ。なんて手抜きな…いや、これが再利用っていうものです(笑)。

2002/1/21(月)

大雨暴風。傘いらず、というか使えねぇ。

太平洋側の冬としては珍しく大雨。傘は風にあおられてぶち壊れる。途中で自転車放棄しようかとも思ったけど、最後には傘が使えなくなったので自転車のおかげで助かる。しかし、その後もう一度出かけるという暴挙に。家から数百メートルの地点から帰るのに死にかける。

今日のWindowsは日記専用。BeOSの環境を整えてました。Vim6.0がうごかねぇ。これがないと何も出来ない体になってることに驚く。普通のエディタ使ってもESC連打してしまう。そんなに長い間使ってるってわけでもないのに。Emacsもこのぐらい慣れられるといいんだけど…?

BeZillaが以前に比べるとまともに動くようになっている。遅いけどまだ使える程度。BeOS NGは*5Operaが標準ブラウザだそうで。当然日本語対応してくれるんだろうな。

Rubyの簡易GUIキット。設計をいろいろ考えるも、簡単に、ってのはなかなか難しい。以前のコードでは、明示的にボタンとかを追加する順番を示してなかったから、あそこからレイアウトを自動でうまく組むのは難しい。となると次の形がいいのかも。

win = Window::new
win.add "text1", TextBox::new("名前", "")
win.add "label1", "あなたの名前は", ""
win.add "button1", Button::new("名前を表示")
win.control["button1"].on_click = { |win| 
	win.control["label1"].value = win.control["text1"].value
}
win.show

win.value[]としなかったのは、値取得の責任までwinに与えるのはまずいと思ったから。この形でも、ちょっとレイアウトは面倒か、と思ってもう一案。

win = Window::new
win << ["text1", TextBox::new("名前", "")] << Break
win << "あなたの名前は" << ["label1", Label::new("")] << Break
win << ["button1", Button::new("名前を表示")]
win.control["button1"].on_click = { |win| 
	win.control["label1"].value = win.control["text1"].value
}
win.show

つまり、addのかわりに<<で追加して、定数Breakが追加されたら改行。それ以外のときは基本的に横に並べておく。単純な文字列のときはStringをそのまま追加で無名ラベルが出来る。このときの問題は、無名でないコントロールは名前とオブジェクトのペアの配列で渡すって事。これは面倒だ。あと、<<はストリームへの書き出しに見えるからちょっとな。お、そういえばStringも<<で文字列追加出来たじゃん。ならいいか。

こういうのもありか。

win = Window::new {
	"text1"=>TextBox::new("名前", ""),
	"label1"=>Label::new("あなたの名前は", ""),
	"button1"=>Button::new("名前を表示"),
}
win.control["button1"].on_click = { |win| 
	win.control["label1"].value = win.control["text1"].value
}
win.show

Hashって複数行に分けられたっけ?なんにしてもこれじゃ自由度低すぎでつまらんか。それに余計面倒だ。

ところで気になるのが

win.control["button1"].on_click = { |win| 〜 }

のところ。on_click=メソッドにブロック渡してるつもりなんだけど…こんな書き方ありか?多分出来ると思うんだけど。今度やってみよう。

さて、なんにしてもいちばん簡単なコードはこれだろう。

win = Window::new(File::new("template.file"))
win.show

結局、テンプレートにコードまで書いちゃってevalでもするのが一番楽ってことに。ん。でもテンプレートはいつかは書かなくちゃいけないんだよな。ということは…。やっぱ同じか。

ん。RDがそのままGUIになったら面白いかも、と思ったが。ドキュメントのフォーマットでプログラム書くのは本末転倒か。

2002/1/20(日)

ゲームをやる予定が入ったりはいらなかったり。

結局ゲームはやってません。

何もやる気が出なかったのでヒーローウォーズを読む。すごいキャラ作成だ。N◎VAのクルードルールを思い出させる(笑)。短く説明するのは難しいので詳細は省くが。実際使うには特性10個選ぶのが無難だろう。物語や簡易ルールも面白いだろうが慣れてないプレイヤー相手では難しいかな。

近くの*6セガワールドに斑鳩が入っていることを知る。ええね、このゲーム。久々に燃えそうなシューティングです。いや、最近近くに新作のSTGが入るところがないから新作なら何でも燃えそうなんですが。頭を使うゲームです。白と黒がごちゃごちゃになります。どうせなら「全部かわせ」ってほうが楽なんですけど、そうでないところがまたいいんでしょう。まあ、下手に弾を喰らわない色を使うよりは、わざわざ痛い弾が多いほうを使ってかわしたほうが気合が入ります。でも大丈夫な弾までかわして死ぬ(笑)。

んー。今日はなんだか疲れた。おわり。

ページのトップへ | 過去の日記 | kumaryu.net

*1基本的にUNIX系使いな人じゃないんです。
*2いや、もう手放せませんが。
*3Yes!昨日の分は訂正だ(笑)
*4得意の。ステッカーとかボーナストラックついて。
*5ほんとに出るなら
*6といっても自転車では届かない範囲