«前月 最新 翌月» 追記

netail.net

自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.

最近のお知らせ (古いものはこちら)


2002-07-01 古い日記からの変換データ [長年日記]

_ アスペクト指向

「アスペクト指向」をキーワードにして検索すると,Oh!UCC 用に書いた原稿の記事が20位くらいでヒットしてしまうことが判明.先生に見つかったらショックだなー :-)


2002-07-02 古い日記からの変換データ [長年日記]

_ Vine

Vine Linux で make を実行してたら,"Entering/Leaving Directory" のメッセージが「入ります/出ます ディレクトリ」となっていた.日本語訳したいのは分かるけど,ここまで訳す必要あるんだろうか...

(エラーか何かが出たのかと思って焦った :-)


2002-07-03 古い日記からの変換データ [長年日記]

_ AOP Slice

Aspect-Oriented なプログラムに対してのプログラムスライスの計算ができないか,いろいろ考えてみる.しかし,AspectJ における Introduction のようなコードの扱いがどうしても難しくて,厳密にやろうとするとけっこう大変そう.

_ HTML Help

HTML Help 自動生成ツールがいちおう完成.Ruby/Cygwin ベースだが,バッチファイル→シェルスクリプト→Ruby 起動であとは Ruby にまかせる形式.

CGI でファイル一覧を取得して,そこからファイルをダウンロード,変換する.実はサーバに負荷かけまくり :-)


2002-07-04 古い日記からの変換データ [長年日記]

_ IEEE 1394

IEEE 1394 の到達距離を聞かれたので調べてみたら,実はわずか 4.5m らしい.でも400Mbps出るんだからたいしたもの.1394b では 100m で 3.2Gbps まで,とかなりパワーアップしている.

ちなみに,シリアルケーブルの基本である RS-232C について調べてみると,伝送距離は約15m,最高通信速度は115.2kbpsらしい.それを上回る長距離伝送ケーブルや高速ツールもあったりするが….

_ irb

irb を使い始める.コマンドプロンプト / Cygwin bash / Linux で共通のコマンドが使えるという強みから,ruby でシェルスクリプトを置換する予定.

_ FTP

bun45 の HTML Help 自動生成ツールでは,FTPとHTTP を使って,サーバから勝手に必要なファイルを落してくるようにした.

Delphi の FTP コンポーネントは,リクエストを出すとブロックせずにファイル取得完了イベントを待たないといけない.これはこれで場合によっては便利だが,いまひとつ使いにくい.

Ruby の Net::FTP コンポーネントだとけっこう簡単に使えて,ブロックしてくれるので逐次的な処理の記述は容易.

でもやっぱり wget -i filename が楽でよさげ.問題があるとすれば,wget がファイルに記述された URL ごとに毎回コネクションを張りなおすのかどうか,というところ.無駄にサーバに負荷をかけそうだ.

_ kabayaki

「namazu をもっと手軽に」がキーワードな検索システムらしい.http://www.timedia.co.jp/new/products/kabayaki/

最初 kabayaki で検索して,こんなのを発見.http://www.dentsu.com/MUSEUM/edo/food/26.html

_ kakasi

kakasi で利用する kanwadict は,mkkanwa.exe kanwadict kakasidict bun45dictで生成される.あとは kanwadict を目的位置にコピーして,export KANWADICT=辞書のフルパス指定 するだけで利用可能.

この kanwadict,実は linux / windows で共用可能らしい.

_ 項目数

CGI の保存最大項目数が小さい値にセットされてたので,過去ログがごっそり抜け落ちてた.かなりショック.

_ 邪空の王

ワイス&ヒックマンの邪空の王 (上・下,ハヤカワ文庫).ドラゴンランスの作者が書いた本だというので,とりあえず読んでみた.世界設定として,人間,エルフ,ドワーフ,オルクの各種族の性格の書き分けが面白い.四大元素の対立図で中央に来る空間を "邪空<void>" と呼ぶ設定がかなり気に入った.三部作の1作品目なせいか,物語としてはちょっと消化不良気味.次の作品に期待したい.

_ CRC Card

Borland Software Craftsmanship を読む.http://www1.bell-labs.com/user/cope/Patterns/Process/QPW/borland.html

CRC(Class/Responsibility/Collaboration) カードの利用なんかについても触れられている.3x5 のカードの左側にクラスの Role の Responsibility を,右側に Collaborator を列挙して,あとはカードを並べてボードに貼るなどして,クラスの相互作用を示せる(間に線を引いてグラフ化できる).

一枚の紙に毎回手書きでクラス図を描くよりは便利かもしれない.カードの保管場所がきちんと用意できればの話だけど.今度,使ってみることにする.


2002-07-05 古い日記からの変換データ [長年日記]

_ AspectJ

Tips & Pitfalls に,interface に weave したらエラーが出るケースの話と,アスペクトの所属パッケージの話を追加.

といっても,interface のほうの問題は Version 0.8 の頃の話で,最新版で適当にテストコードを書いてみたら普通に動いた.

_ LaTeX

論文でたくさん図を使っていたら,Too many unprocessed float エラーが発生.

\clearpage を入れて無理矢理出力させて誤魔化す.ほかに方法がないか探してみたが,やはり適度なペースで \clearpage を入れるのが安全そう.

以下のページを参考にした.http://mikilab.doshisha.ac.jp/dia/seminar/latex/tips.htmlhttp://www.ne.jp/asahi/umeki/latex/index.html


2002-07-06 古い日記からの変換データ [長年日記]

_ 指輪物語

指輪物語ベースの TRPG Middle Earth Role-Playing とタロットカード一式を amazon で発注しようか悩む.値段は気にしないが,受け取りが面倒くさい.


2002-07-07 古い日記からの変換データ [長年日記]

_ 日記CGI 書き換え

日記ログを1ファイルから複数ファイルへ書き出すように変更.Ruby に慣れすぎて,Perl が非常に使いにくい.


2002-07-08 古い日記からの変換データ [長年日記]

_ CGI さらに書き換え

On-Demand Loading …というと格好いいが,必要になるまではファイルの中身を参照しないように修正した.これで少し CGI が軽くなる.

_ 日記CGI

二重書き込み防止機能も搭載してみる.

_ CGI 書き換え2

とりあえず Ruby 版稼動テスト.修正機能とかも動いていることを確認する.


2002-07-09 古い日記からの変換データ [長年日記]

_ 検索機能

フォームの入力から記号などを全部取り除いて単純 grep する機能を追加してみた.

_ CGI 機能追加

あとはキーワード検索くらいできれば OK ?やっぱり一度 Ruby に直して正解だった.

Perl の場合,関数の引数として渡した値またはオブジェクトが関数の内部で変更される場合とされない場合が区別できないのでどうにも気持ち悪い.また, $size = @array のようなあやしげな変換に耐えられない.このあたりはコード書く人の癖にもよるのだろうけど,こういうのを見ると Perl が使いにくいと感じてしまう.


2002-07-10 古い日記からの変換データ [長年日記]

_ ソロモンの鍵

攻略サイトを参考に,何とかクリア.最初に中古で購入してから,10年以上経過してるのを考えるとなにやら感慨深いものがある.所要時間は3時間ちょっと.41面以降,コンティニューしたら41面からっていうのがひどかったが,意外と 1up アイテムが多くて,44面以降は一度手順さえ分かってしまえば何とかなった.もう完全クリアできたので,2度とクリアする気はしないけど.


2002-07-12 古い日記からの変換データ [長年日記]

_ Pike

Pike Conference 2002 の案内が届いたので,Pike 言語について調査をはじめる.http://pike.ida.liu.se/

C/C++ like なインタプリタ言語で,やっぱり main 関数から実行.array, mapping, multiset, program, object, function が参照型で,int, string などがスカラ型.int|string のように複数の型に対応できる関数が書ける.ライブラリが意外と豊富な組み込み系の言語,といった印象.…でも,他の言語のような独自性がないところが微妙.

_ LAN Card

Libretto に挿している LAN カードが不調.ときどき,LAN ケーブルを挿してるのに Cable Disconnected とか出る.必ずしもカード自体が悪いとは限らないので,もうちょっと耐えてみることにする.

_ 携帯

携帯電話を部室に置き忘れて,時計がないことに気付く.意外と頼りきりになってたらしい.


2002-07-13 古い日記からの変換データ [長年日記]

_ 論文

論文(日本語)をなんとか8ページに収めた,と思ったら英語の abstract を書き忘れてて,ちょっと実験的に文章を書き足してみるとあっさり9ページ目にかかった.かなりショック.

_ URL.escape

namazu でインデクシングしてるファイルに,"(", ")" が含まれていることが判明.namazu が内部できちんとURL escape してるか不安になったのでソースをチェック.

mknmz.pl がほとんど事前作業はがんばってるので,そこを見ると NoEscapeURL とかいうフラグがあって,それによって escape 作業の ON/OFF を決めているらしい.えらい.

しかし,今頃になって,bun45 で動かしているカスタマイズした mknmz に追加したオプションが,これら標準オプションとかぶっているような気がしてきた.サーバが復旧次第,確認してみることにする.

_ bun45: default route

サーバが落ちてるので,どうしてかなーと思いながら隣のサーバに traceroute を仕掛けると通るはずのゲートウェイを通過してない.もしかして,今まで通る必要のないゲートウェイを通過しようとしていた?無駄にパケット投げつけるわけだから,一種の攻撃として認識されても文句いえないよなぁ….


2002-07-15 古い日記からの変換データ [長年日記]

_ START

Win2000などでは,cmd.exe からSTART filename でファイル名に関連付けられたプログラムを起動できる.cygwin(bash.exe) からはできない..bat ファイルなら cygwin からでも実行できるので,start.bat なんてものを経由して実行することにした.

_ bun45: default route のつづき

パケットを通る必要のないゲートウェイ(と思っていたマシン)に投げていたことが判明.# 今まではゲートウェイだったのかもしれないが

でも,LAN から外へ出られないのは ipchains の設定が間違っているんだろうなー.と思って slogin しようとしたら,経路が死んでた.これじゃ作業できない.やっぱりネットワークに依存しすぎなのも問題かもしれない.

_ 五月雨

そういえば,昨日,楽市で買い物してる最中に ANGEL "SMILE" 収録の五月雨がかかってた.店員の趣味なのかな? イントロだけで気付く私も私だが :-)

_ ワイン

ARIEL のノンアルコールワイン(白・シャルドネ)を飲んでみる.原材料ワイン+ぶどう果汁+香料って何? という不安は的中し,値段(1500円)のわりに不味かった.

フェッラーリのシャンパン(白・brut(ブリュット?))はそこそこのおいしさ.飲むまでに時間があったせいでぬるくなってしまっていたのが悲しかったけど.

_ メール送信のつづき

別サーバから From: だけ直して ML にメール投げてみると成功.

fml って実は From: しか見てない?(見る場所他にないけど)そこさえ書き換えればなりすましが非常に容易な気がしてきた.こわいなー.

_ メール送信

メールを送ろうとしたら,「そのドメインは RCPTHOST の中に入ってないから送れないよ」とはじかれる.…こんなことされると,メーリングリストにまったくアクセスできないんですけど.


2002-07-16 古い日記からの変換データ [長年日記]

_ 論文

ECOOP 2002 に出ていた Dyamically Composable Collaborations with Delegation LayersKlaus Ostermannを読む.

Collaboration 単位での再利用を提案した論文.Runtime AOP みたいな雰囲気で,実行時に collaboration (アスペクトによく似ている)を結合する.

各クラスの実装に相当する部分をオブジェクトのdelegationで(一種の Decorator パターン?)で実現しているところがえらい.実際に使えるようなコンパイラ作るのは大変そうだけど.

_ JGL

Java Generic Library,Recursion Software Inc. が開発した Java 用の STL みたいなものか.有料な時点で使う気なし.とりあえず JDK 1.5 の Generics を待つことにする.

http://www.recursionsw.com/products/jgl/jgl.asp

_ YAML

Ruby で YAML4R が実装されたっていうので見てみた.オブジェクトを可読性の高いテキストにシリアライズできるらしい.バイナリフォーマットと違って気楽に読み書きできるのは嬉しい.オブジェクトの中身をデバッグしたいときとかに便利?手動で書き換えようとしたら死にそうだけど.

http://www.yaml.org/

_ self problem

論文を読んでて遭遇したキーワード.Broken Delegation とも言うらしい.

複数のオブジェクトがかたまって1個のオブジェクトを構成する場合(Decorator パターンなんかもその一種?)A の一部であるような B がいるが,そのオブジェクトを表す "self" はA の中であっても B の中であっても A を指さなければならない.しかし,ほとんどの言語では,B のコンテキストでは self がB を指してしまうという問題.

int A::foo() { return b.foo(); }int A::hoge() { return 1; }int B::foo() { return this->hoge(); }int B::hoge() { return 0; }a.foo() = b.foo() = a.hoge() となってほしいが,実際にはa.foo() = b.foo() = b.hoge() となってしまう.厄介なバグになる可能性が高そう.

_ F-bounded Polymorphism

論文を読んでて遭遇したキーワード.型パラメータが上界を持つ(bound される)という意味らしい.C++ でいう template の T が,どのようなクラスのサブクラスでなければならないか(つまり上界),ということを制約する.Cecil なんかでは使えるらしく,「Comparable[T] を型パラメータでもらいます」なんて書けるらしい.


2002-07-17 古い日記からの変換データ [長年日記]

_ IC カード

電車でのIC カード利用を来年度から関西圏でも導入するらしい.クレジットカード経由で引き落としも可能らしいので,かなり便利そう.

_ 指輪物語

The Lord of the Rings,Middle Earth Role-Playing,Tarot Deck with Book を Skysoft で注文.家に宅配するだけでなく,本屋や駅売店で受け取れるのが一人暮らしな下宿生にとってはうれしい.

あと,ドル安傾向が続いてるいまが洋書仕入れるチャンスかなぁという打算もあったり.


2002-07-18 古い日記からの変換データ [長年日記]

_ 指輪物語

Skysoft から,Tarot Deck は絶版だと連絡が届いた.古いものなので可能性は考慮していたけど,やはり悲しい.


2002-07-19 古い日記からの変換データ [長年日記]

_ Ruby

HTML Template 展開ライブラリ Amrita がリリース.どっかで見たような展開ルールだなぁとか思ってたら,Walrus(OBAQ) の展開エンジンが基になっているらしい.納得.今までとの最大の違いは,ドキュメントが整備されたことだろうか :-)

http://kari.to/amrita/

_ JDK 1.4

JDK1.4で Chained Exception が加わっていたらしい.http://javaboutique.internet.com/tutorials/Chained_Exceptions/index.html

new Exception(Throwable cause), Exception(String, Throwable)のようにコンストラクタ引数が増えている.

try { foo} catch (Exception e) { throw FooException(e);}とかやるとFooException caused by e FooException に関する情報 e に関する情報のように表示されるらしい.

また,StackTraceElement とかいう要素が増えてスタックトレースの中身にプログラムからアクセス可能になったらしい.これらの機構を使えば,色々遊べそう.

_ リダイレクト

コマンドプロンプトでの bat ファイル実行時に

hoge >output_file.txt 2>&1

とかするとすべて output_file.txt に吐かれるらしい.

標準出力・エラー出力を1とか2というファイルデスクリプタのコードで表現するのは好みでないけど.やっぱり stdout とか使いたい.

_ Ruby

プログラムからsystem() を呼ぶようなコードの直前でENV["PATH"] = "foo:" + ENV["PATH"] と書くべきところをENV["PATH"] = ENV["PATH"] + ":foo" とやっていたために実は foo にあるプログラムではなくENV["PATH"] にあった同一名のプログラムが呼ばれていて,微妙にハマってしまった.

_ AspectJ

アスペクトに対してアスペクトは貼りつくのか?ということで実験.結果は,advice 内部のメソッド呼び出しには貼りつくが,advice の実行そのものに対しては join point がない,というもの.まぁ静的に解析すればどこに貼りつくかは分かるのでjoin point で実行時点が分からなくても問題ないが….

アスペクトの持つフィールド,メソッドについては未調査.それにしても,アスペクトの干渉は防げないらしい.性質上,他のアスペクトに「勝手にくっつくな」とは宣言できないのね.


2002-07-21 古い日記からの変換データ [長年日記]

_ TRPG つづき

プレイ前の説明に手間取って,予想よりもプレイに割ける時間がなくなった.3時間程度と予想してたところを2時間で終わらせようとしたから,ちょっと不自然な(一部のプレイヤーが活躍できない)まま終了.時間オーバーよりはマシだけど,まだまだ未熟かな.

_ TRPG

神戸方面の後輩の家に出張してトーキョーN◎VAのルーラーをやることになってたので,早起き.片道1時間程度らしいので,京都での国際会議に行ったときよりは楽だろう.

シナリオの大枠はできているが,細かいところは移動中に詰めることにする.昨日まで研究室での中間報告の資料とか,N◎VA用のルールレジュメみたいなものを作ってたせいでちょっと寝不足気味かもしれない.

中間報告の資料を手直しする時間が,帰ってきてから取れるかな?


2002-07-24 古い日記からの変換データ [長年日記]

_ CD

飯塚雅弓の「虹の咲く場所」購入.ポスターをもらったがいらないので部室に貼ることにする.


2002-07-25 古い日記からの変換データ [長年日記]

_ Selector

Java 1.4 のライブラリを調べる.java.nio で加わった SelectableChannel と Selector を使えば,いわゆる select システムコールみたいなことができるっぽい.Selector.open() で作成して,Channel.register(selector) する.Selector.add(Cahnnel) とするか,それとも Channel.register(selector) とするか,意外と難しいデザイン決定なのかもしれない.

…と思ってたら,AbstractSelector extends Selector で,AbstractSelector.register(Channel) を channel.register から呼び出す形式らしい.たぶん,それ以外の Selector が来たら別の動作をするのだろう.Abstract のほうがサブクラスなのはどうかと思うけど.


2002-07-26 古い日記からの変換データ [長年日記]

_ 学歴

博士課程用の願書に履歴を書いてて,「大学卒業」を「大学退学」に直すところで間違って「大学中退」にしてしまった.

それにしても,毎回 卒業→退学 と直すの面倒だなぁ.かといって直さないと履歴詐称してることになってしまうし.


2002-07-28 古い日記からの変換データ [長年日記]

_ 旅行

旅行の準備.と言っても持って行くものはほとんどなくて,一番重要なのは,出かけている間に電源が発火しないようにその周囲を掃除することかも.

_ 読書

コリン・ウィルソンの「賢者の石」を読み始めたが,章単位の区切りがないので,読書を一時中断するのが難しい.

とりあえず明日から研究室旅行なので,帰ってきてから読むことにして,読書は中断.

_ LaTeX

label で設定してるのに図表番号がうまく付かないなぁと思ってたら,caption タグの存在ではじめて図表のラベル番号が決まって,その図表番号に対して label で名前付けをするので,caption の後に label を書かないとダメだったらしい.

_

スニーカーを3年ぶりくらいに購入.ずっと革靴だったせいか,あまりの軽さにびっくり.

いつも同じ店で買ってるので,靴屋さんの店員さんに顔を覚えられた :-)