«前月 最新 翌月» 追記

netail.net

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

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


2006-02-01 [長年日記]

_ コメントスパム

が目に付くようになってきたので,対策をいくつか実施してみた.コメントスパム避けチェックボックスと,URLが多いコメントの自動フィルタの二段階.

この回避用チェックボックスのパッチをそのまま適用しただけだと,ForceRedirect例外をraiseしているが,index.rbがrescueしてないので,エラーが起きる(ForceRedirect の rescue ブロックは後半にくっついているように見えるが,途中で一度beginブロックは終了している).

  rescue TDiary::ForceRedirect
    head = {
      'type' => 'text/html',
    }
    print @cgi.header( head )
    (リダイレクトさせるHTMLを出力)
    return
  end

といったコードを TDiary::PermissionError あたりの rescue と一緒に配置しておくと,ちゃんと動くみたい.

本日のツッコミ(全1件) [ツッコミを入れる]

_ いしお [自分で訂正しておくと,rescue ForceRedirectを,index.rb の全体のbegin-endブロッ..]


2006-02-03 [長年日記]

_ [お知らせ] サイト移転

3月の卒業を前に,サークルのサーバから独立しました. ほとんどのコンテンツは,既にこちらに移行してます. 移転に伴って,かなり構造整理を実施しています. 各ページの URL の変化ですが,以下のようになっています. 基本的には,このページの右側にリストしてあるリンクから飛べるようになっています.

  • hyCalendar のページ: http://www.oucc.org/~tail/calendar/http://netail.net/calendar/
  • Volume Deskbar のページ: http://www.oucc.org/~tail/volumeband/http://netail.net/volume/
  • アスペクト指向なwiki: http://www.oucc.org/~tail/aspectj/http://netail.net/aosdwiki/
  • レーサーミニ四駆ジャパンカップの攻略: http://www.oucc.org/~tail/mini4japancup.htmlhttp://netail.net/games/mini4/

2006-02-05 [長年日記]

_ [VolumeDeskbar][お知らせ] 1.0.5 リリースしました.

正式に 1.0.5 にしました.タスクバーから分離した状態でウィンドウが閉じられたときに異常終了する問題を修正しています.

また,制御対象のデバイスが選べるようになりました.普通は単一デバイス環境なので影響はありませんが,USBスピーカなどを使っている方には意味があると思います.

ちなみに,現在の実装では,デバイスを名前で区別しているので,同名のオーディオデバイスが複数ある場合はうまく動きませんが,同じサウンドカードを2枚挿している人がそういるとも思えないので,そのままにしてあります.

_ [ツール] ポータブルハードディスク+Secure Lock Ware

ポータブルハードディスク HD-PHGU2 の120GBモデルを購入したので,Secure Lock Wareと組み合わせて使うことにした.

Secure Lock Mobile というのがドライブと一緒に付いているのだが,こちらはファイルを個別に暗号化する必要があるらしく,1GBの暗号化で何分,とかCPUパワーもかなりかかるらしい.

そこで,ドライブ単位で適用される Secure Lock Ware のほうを選択した.インストールして,ドライブに暗号設定をつけて,Disk Formatter というツールでフォーマットしたら設定完了.ドライブをSecure Lock Ware がインストールされた PC の USB ポートに接続すると,パスワードを聞かれて,それ以降は普通にアクセスできるようになる.速度が気になったので,音楽ファイルなどを置いてみたり,そこそこ大きなサイズのデータをコピーしてみたが,特別問題は感じなかった.性能に関する要求が低いだけかもしれないけれど.


2006-02-06 [長年日記]

_ [OUCC] デスクトップPCの処分(寄付)

引越しに備えて色々整理,の手始め.今まで使ってきたデスクトップPC(Windows 2000)は,そろそろデスクトップでないとできないことがなくなってきたので,OUCCに寄付してきた.

Volume Deskbar の Windows 2000 での稼動テストは VMWare でカバーする(かもしれない).


2006-02-07 [長年日記]

_ [お知らせ] 古い日記からのリダイレクト

リダイレクトによる古い日記→新しい日記の転送をはじめました.

とりあえず(便宜上)内部的には,次のような形のコードで,TDiary::ForceRedirect 例外をわざと発生させてます.

raise ForceRedirect( NewDiaryURL + "?date="#{date}" )

2月8日追記: だいたい次のような感じで 301 Moved を生成するようにしたので,途中にリダイレクト用のページなんかは出ないはずです.

new_path = SiteURL
new_path = new_path + "?" + query_string if query_string
print @cgi.header( "status" => "301 Moved Permanently",
                   "Location" => new_path )

2006-02-08 [長年日記]

_ 某所のサーバの移管

管理者やってた情報科学研究科の人(私と同級生)が卒業なので,サーバを別のところに移転する,ついでにOSも変わるとの連絡があった.

5年くらい前にRuby 1.4系を使った CGI がまだ稼動していて,しかも内部的には XML を使っていて,rexml がリリースされる前だったので expat か何かのバイナリを内部的に使ってるはず.どうしたもんだろう…….


2006-02-10 [長年日記]

_ [ツール] 複製ファイルの検出ツール

DupCheckerという名前で(いちおう)公開してるものを更新してみた.表明とかを入れ込む実験用に手ごろなJavaプログラムがほしかったのと,最近,ファイル整理したくなったのとで,久々に整備してみた.

プログラム自体は,指定されたディレクトリ群の中から,サイズが等しく,かつMD5シグネチャが同じものを見つけ出して出力するというもの.

使い方:
java -jar DupChecker.jar [-console [-r] (ディレクトリ名を並べる)]
-console = コマンドライン出力.GUIで操作するときは引数不要.
-r = ディレクトリを再帰的に探索.

コマンドラインから使うと,stdout に,MD5の値ごとにグルーピングしたファイル名のリストが出力される.[Add Target]でディレクトリを追加して,[start search]で検索して,見つかったファイルをツリービューから選択して[Delete Selected Files]で削除できる.


2006-02-12 [長年日記]

_ [ツール] Graphviz の SVG 出力だと

グラフ頂点のラベルが長くなってくると,どうも,頂点を囲む枠(Boxとか)からラベルがはみ出てくる.出力が png とかだと問題は起きないので,幅を計算したときのフォントと実際の表示フォントが違うせいかと思うが,本当のところは不明.ただ,グラフ出力結果の先頭あたりに

<g id="graph0" class="graph" 
   style="font-family:Times-Roman;font-size:14.00;">

という記述があるので,フォントとサイズを変えれば,いちおう解決は可能.

2月13日追記: Adobe の SVG Viewer では問題なく表示される.これは,単に Inkscape が Times-Roman の名前を認識できなくて,勝手に何か別のフォントに置換しているために生じていると考えたほうがよさそう."Times-Roman" のところを "Times" なんかにすると,どちらのビューアでも普通に表示される.

_ [OUCC] FlexScan L461を部室に移動

先週のうちに運んだ本体と同様,部室に移動.買った当時はけっこういいお値段(8〜9万円くらい?)したのに,今はもう2万円弱くらいで手に入るらしく,ちょっと時代を感じる.


2006-02-13 [長年日記]

_ [VolumeDeskbar] 音量調節時にポップアップする音量の値が,最新の値ではない問題

Volume Deskbar で,ドラッグによる音量調節時のポップアップヒントの内容に誤りがありました.

ポップアップヒントとして,音量調節の直前の値をそのまま出力してしまっていたため,音量を増加→増加→減少という順で操作したとき,たとえば9%→10%→11%→10%と実際の音量が変化したとすると,ポップアップヒント表示上は9%→10%→11%と表示されてしまい,一見増加したように見えてしまいます.

この修正は,1.0.6 としてリリースする予定です.

_ AOSD 2006 の early registration

締め切りが17日だったのを思い出してregistration の情報を調べていたら,今回は Quick Checkin (ホテルに proceedings その他一式を届けてくれる)というものがあるらしい.

ワークショップは,初日LATE,2日目SPLATあたりか.paper 出してないので,ダメだといわれたらアウトだけれど,LATEはいちおう興味がある人ならOK(人数が増えすぎなければ)と書いてあったし,splat も2003年のとき position paper 出してない人もけっこういたのを考えると大丈夫,かな?


2006-02-15 [長年日記]

_ [hyCalendar][お知らせ] hyCalendar 1.3.3a リリース

リリースしました.といっても,今回は,サイト移転に伴うドキュメント更新(問い合わせメールアドレスや,公開サイトのURLの変更)だけです.ドキュメントが古くても気にならない人はそのままでもかまいません.

_ [VolumeDeskbar][お知らせ] VolumeDeskbar 1.0.6 リリース

1点,ドラッグ時にポップアップする音量の値が正しくなかった問題の修正が入っています.また,ドキュメントに含まれるURL等を更新しています.

_ [ツール] ファイル複製検出ツール DupChecker

ちゃんとDupChecker 公開ページを作りました.ファイルのMD5ハッシュ値を比較するだけの単純なツールですが,ソースコードも公開してます.

リバースエンジニアリング系ツールの実験材料とすべく,以前から公開していたものに比べ,かなりパッケージ間の依存関係などは整理したつもりです.


2006-02-16 [長年日記]

_ SPLAT 2006

人数的余裕があれば行ってもいいのかな?と無邪気に Organizer の人々に聞いてみたら,author だけで50人以上になってしまっているらしく,今のところ無理だよ,とお返事が来た.去年もかなり採録数が多かった気がするし,実はすごく大きなワークショップになっているのかもしれない.


2006-02-18 [長年日記]

_ [PptWatch] PptWatch 1.0.1 公開

各スライドごとに消費した時間を解析していたのに加えて,1枚目から累計で消費した時間も表示するように変更しました.修論・卒論の発表練習にどうぞ.

PptWatch公開ページからダウンロード可能になっています.

発表の練習をするとき,発表時間が足りないからといって早口で喋ってしまうと,どこを削っていいか分からなかったりするので,普通のペースで喋ってみて,長くかかってる部分を削るという使い方が推奨です.

_ [OUCC] MAngband 鉄人風サーバ

一部の人の要望を受けて,死んだらキャラクター消滅のサーバを動かしてみた.ネットワークエラーとかで身動き取れないときとか,あるいは階段下りた直後に集中砲火で死んだりした場合は,残念でしたということで.


2006-02-20 [長年日記]

_ Inkscapeで図を描こうとしてみたものの

Power Point などで使っているオートシェイプのような,いわゆる「基本図形」のセットがないので,描画の手間を感じて,やっぱりやめた.頭の中では「GraphvizのSVG出力を少しだけ加工して画像にしたり印刷したりするツール」という位置づけに低下.

図を描くのに,PowerPoint などの Office オートシェイプ+wmf2eps が人気になってしまうのはやっぱり仕方ないのかな,と思う.この辺とかこの辺とか.解説ドキュメントを書いてるのが大学系の人というので,需要の度合いがわかる.

_ CS専攻修士論文発表会

全般的には,発表うまい人が増えている(大きくこける人がいない).評価基準(評価すべき項目や,比較すべき対象)が間違っていそうな人は何人かいた気はするけど.

_ [PptWatch] 次の更新予定

出力の整形に使っているタブ文字が,某ソフトに貼り付けるときに除去されてしまう(で,文字が詰まってしまう)らしいので,空白に変えます.


2006-02-21 [長年日記]

_ [読書] 検索システムの評価法

よく検索システムの評価に使ってる「適合率・再現率」以外にも,評価方法はいろいろあるよ,というのが情報処理2006年2月号(Vol.47, No.2)「よりよい検索システム実現のために(酒井哲也)」に載ってた.

「良い正解」と「普通の正解」で与える報酬を変えること,また上位に来たほうが報酬が増えるようにすることで,上位N個の検索結果の「報酬」額によって検索精度を計ろう,というのが基本的な考え方のよう.

説明もそこそこ丁寧だし,各種文献へのリンクもあるので,ありがたい記事.

_ [PptWatch] 1.0.2 公開

文字列が等幅フォントになったり,タブが空白になったりといったマイナーチェンジ.内部的には,UI以外の部分にDUnitの単体テストを作っていて,その作業中に発見したバグを直していたりする.


2006-02-22 [長年日記]

_ 情報処理学会の全国大会

とりあえずアスペクト指向・ウェブサービスのセッション(9日朝)と,ソフトウェア工学(10日朝)だけは少なくとも参加する予定.

空いてる時間に他のセッションに参加するか,秋葉原の産総研などを訪問するか,それ以外になるかは今のところ未定.


2006-02-24 [長年日記]

_ [論文] シーケンス図形式の仕様記述言語

Yves Bontemps, Patrick Heymans, and Pierre-Yves Schobbens: From Live Sequence Charts to State Machines and Back: A Guided Tour.

IEEE Transactions on Software Engineering, Vol.31, No.12, pp.999-1014, December 2005.

Live Sequence Chart (LSC) というシーケンス図の変種を,オブジェクト(エージェント)間のメッセージ通信の仕様記述に使って,そこからオブジェクトごとの動作を作って,両方を使って検証しようというアプローチ(理想はオブジェクトごとの動作を自動生成だけど).

LSC は,普通のシーケンス図に相当する existence LSC (eLSC) と,事前動作(Prechart)に対するリアクション(Main Chart)を記述した Universal LSC (uLSC) からなる.

uLSC の記述は,起きては困るイベント列が起きないこと(safe)と,起こるべきイベントがいつか必ず起こること(live)の両方を記述している.

そこで,オブジェクト(エージェント)ごとの振舞い記述を用意して,その出力メッセージ系列に対する safe と live の性質を調べると,その uLSC の仕様に従うか検査できる.uLSC で記述された仕様を満たすようなオブジェクト(エージェント)ごとの振舞いを自動生成するのは決定不能問題らしい.


2006-02-27 [長年日記]

_ ファイル最終更新日付の表示

という,tdiary プラグインらしきものを即席で作ってみた.次のようないい加減な代物だけれど,ないよりはマシということで.

#!/usr/local/bin/ruby
 
FileName = "(掲示板ログファイル)"
def lastupdate
  begin
    return File.new(FileName).ctime.
             strftime("%Y/%m/%d %H:%M")
  rescue
    return ""
  end
end

これで,掲示板の最終更新時刻が分かるようになった.正確にはログファイルの最終なので,何かの拍子に古いログを掃除したりすると更新されてしまうという弱点があったりする.

_ 情報科学科の卒論発表会

無事終了.プログラム見てたら,JUnitだのテストの評価だのアサーションだのといった,わりと相互に関連してそうな,2つの研究室の発表を発見.何かの流行?