«前の日(06-27) 最新 次の日(06-29)» 追記

netail.net

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

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


2003-06-28 古い日記からの変換データ

_ 読書

ゲド戦記5「アースシーの風」読了.原題 "The Other Wind" を微妙に訳してるなぁ.(作中では「もうひとつの風」)

とりあえず今まで伏線だらけ(微妙な解決だったもの)に完全な解答セットを公開してる,ような感じがする.1巻を読んだときからは12年くらい経ってるので,作品中も時間が流れてるので以前の作品の話が「そんなこともあったなぁ」と感慨深いものがある.この続け方はうまいなぁ.

外伝の Tales from Earthsea が翻訳されたらフルセットで読み直そうかな.文庫本で出てくれれば一番いいのだが…….

_ 宅配便

通販で買ったスーツキャリーが到着.スーツやジャケットを運ぶ機会が多いし,せっかくだから買ってみた.短期の出張で効果を発揮する……はず.

_ RPG研

ゲド戦記5「アースシーの風」を借りるために朝だけ顔を出す.

レポートがあるとかで,一緒に帰った後輩の子が,実家が近所(マンションの隣の公営住宅)という人な上に実は下宿も近所(徒歩8分程度)だったことが発覚.だからといって特に意味はないのだが,微妙な縁というのはあるものかも.

_ MAngband

ランダムダンジョン生成のアルゴリズムがいまいち怪しいので,http://www.trpg.net/webzine/200303/1000000034.htmlで紹介されていたhttp://www.aarg.net/%7Eminam/dungeon.cgi をかっぱらってくることにする.しかしこれ,ソースコードは公開してくれてるのだが,ライセンスが書いてないので,そのまま取り込むのはちょっと微妙ではある.まあ,実験的に使うだけだが.

_ AspectJ

AspectJ 1.0.6 から 1.1 へ移行したとき,
interface Identifiable {
  void setId(Id id);
  Id getId();
}
aspect IdentifiableAspect {
  private Id Identifiable.id = null;
  public Id Identifiable.getId() {
    return this.id;
  }
  public void Identifiable.setId(Id id) {
    this.id = id;
  }
  public int Identifiable.hashCode() {
    return (this.getId() == null) ? 
           super.hashCode() : 
           this.getId().hashCode();
  }
}

と書いたアスペクトが動かなくなるらしい.

  int around(Identifiable i): target(i)
           && call(public int hashCode()) {
    return (i.getId() == null)
           ? proceed(i)
           : i.getId().hashCode();
  }

と書いたらうまくいった,とWilliam DeMoss II が Changes in introduction for aspectj compiler 1.1 というSubject で AspectJ-users に投げていた.

どうやらこれ,AspectJ 1.1 のバグらしいので fix されそう.個人的には,introduction はもうちょっと設計レベルで何か表現可能な図が思い浮かぶまではあまり使いたくないのでaround な実装でもいいかなぁ,とか思ってたりする.


2004-06-28 古い日記からの変換データ

_ [hyCalendar]Y2K問題?

hyCalendar で特定の環境で holidays.txt (休日情報)が読み込めなかったり,保存したファイルが開けなかったりする問題が発生している.

どうも,ロケール情報が原因っぽい.イギリスでファイルが読めなかったのはほぼ確実にロケールが問題で,もう一つ,Windows バージョンによる問題のほうはShortDateFormat (Windows ロケールから自動設定される)が違うことが原因である可能性が出てきた.

試せる環境が少ない(稼動している古い環境が少ない)が,調べてみる価値は高そう.


2007-06-28

_ [Java] Soot の解析中に JVM がクラッシュすることがある

Soot によるバイトコード解析を全力で(-Xmx4000M -Xss2000M,-include-all -whole-program -p cg.spark:all-reachable:true)動かしてると,JVM がいきなり EXCEPTION_STACK_OVERFLOW でクラッシュする症状が発生するようです.

エラーログには,使っている Sun の 64ビット Windows 用 JVM (Java Hotspot(TM) 64-Bit Server VM build 1.6.0_01-b06, mixed mode)が標準で動かしている parallel gc が gc failed を出したと書いてあったので,とりあえず -Xincgc オプションを付けて incremental gc を有効にしたら,クラッシュの症状は出なくなりました.