たまにっき。 / 2003-06
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
2003-06-30 Mon
■ 課題
M1 が課題のため,みんな協力してクラス図を作っている.
ほぅほぅと後ろから見るも,酔った頭ではあんまりよくわからない.
■ Sandmark: A Tool for the Study of Software Protection Algorithms
かなりコンパイルに手こずったので,ページを作ってみた.
<http://www.aist-nara.ac.jp/~harua-t/sandmark.html>
■ 「難読化せずに.NET向けパッケージを出してはいけない」エージーテック鈴木氏
via <http://www.st.ryukoku.ac.jp/~kjm/security/memo/2003/06.html#20030630_dotnet>
それだと Java と同じなわけで.名称変更は確かに読みにくくなるけども,
リファクタリングツールで結構簡単に戻せそうな気もするし.
以前,NEC の人と難読化について喋ったことがある.
その方は難読化の意義や重要性をわかった上で,
名前が変えられたんじゃもしバグが起こった時に,対処できない
という理由で難読化を適用することを躊躇しておられた.
それに名称を単なる a とかにするだけじゃぁ,まだ易しいと思うぞ.
非印字文字(例えば ESC)にするとかすれば,もっとわかりにくくなるし,
実行トレースを表示しても何がなにやらわからんようになる.
もちろん,デバッグはできないし,そんな名称が
.Net の中間コードが許すかは知らないが.
■ uml ツールに MagicDraw というのを見つけた。
<http://www.magicdraw.com/main.php?ts=news&cmd_show_news=1&menu=
whats_new&NMSESSID=9e24cfa3772072ed156d04d7066ba53f>
ダウンロードするには登録しないといけないので、まだ試してしていない。
Windows のみなのかな?
2003-06-29 Sun
■ Red HatがオープンソースなJavaの実装を計画
今のところ、統合開発環境というのは Sun のものしかないので、できれば嬉しいねぇ。「統合開発環境は Sun のものしかない」というのはコンパイラや JVM などを含んだパッケージはSun から提供されるものしか存在しないということで、Eclipse などのことを言っているわけではありません。
研究としてはテスト環境が増えるのであんまり嬉しくないかも。
今は Sun のヤツのみよ。
2003-06-28 Sat
■ チャーリーズエンジェル フルスロットル

「ンなアホな」というシーン満載。エンジェルたちは事故を起こしても怪我一つ負わないようだ。しかも、顔面に肘鉄を食らっても鼻血一つ出さない。
ちなみに、東大寺に行った後、映画を見ようということで、奈良駅近くの映画館をケータイにて検索するも、
大阪、京都、滋賀
しかない。仕方ないので、本屋を探そうということで、商店街をブラブラと歩く。
すると、本屋を見つけるよりも先に映画館を見つけた。
おそるべし、奈良。
■ 雨にもかかわらず
東大寺に行ってきた。
東大寺に行く途中に奈良県庁の前で出会った人力車のにーちゃん。
奈良県庁の屋根のモチーフは鹿だと、言っていた。
「うそっ」というセリフは禁句らしい。
このモチーフが鹿らしい。そんでもって、私が奈良人だと勘違いされた。
「堂々と歩いていたから」っていつも堂々としてるらしいよ、私は。
大仏と鹿。

2003-06-27 Fri
■ 帰ってきた
11:30 に焼肉を食べて帰ってきた。
つーかーれーたー。
帰りの飛行機はポケモンジェット。
2003-06-26 Thu
■ 鈴鹿8耐に仮面ライダー参戦
via <http://slashdot.jp/article.pl?sid=03/06/26/0524234&topic=9&mode=nested>
ホントにやるの?
■ 航空機をご利用の皆様へ −ハイジャック防止等航空保安対策へのご協力のお願い−
via <http://www.st.ryukoku.ac.jp/~kjm/security/memo/2003/06.html#20030626>
明日は気を付けます.
それ以前に,明日起きられるかどうかが心配ですが.(5:30 大学出発)
■ JOJO
via <http://homepage2.nifty.com/kajipon/jojo2.htm>
この Flash 見てたらサブイボ出てきたよ。
「無駄無駄無駄無駄無駄無駄無駄」なんて、「ロードローラーだッ」もちゃんと出てきて、いいねぇ。
音声はゲームから取ってきてるんだろうけど。
■ コンポーネントスクエア、「コンポーネント流通Webサービス」を提供開始
<http://www.c-sq.com/data/Release/CSQ-Release-20030620.pdf>
このニュースよりも社長が交替していたことに驚いた。
前社長の田村さんは顧問になったようだ。田村さんには、会社勤めの頃、お世話になりました。
<http://www.c-sq.com/data/Release/CSQ-Release-20030402.pdf>
取締役も結構変わってるなぁ。
猪股さんが退任して、新任の取締役に辻さんかぁ。
このお二方にも色々とお世話になりました。特に辻さんには退職の際の相談にも乗って頂けて
感謝しています。
2003-06-25 Wed
■ 「渡邊フォント」がパクリと発覚
via <http://on-o.com/page/diary/?date=20030625#p02>
2003-06-24 Tue
■ More Programming Puzzlers (JDC への登録が必要; pdf)
10 問中 2 問正解.
うー.難しい.
public class Puzzling {
public static void main(String[] args) {
String s = new String("blah");
System.out.println(s);
}
}
class String {
java.lang.String s;
public String(java.lang.String s) {
this.s = s;
}
public java.lang.String toString() {
return s;
}
}
What Does It Print?
(1) Won't compile
(2) blash
(3) Throws an exception at runtime
(4) Other
は思いっきり引っかかってしまった.
■ clpickup
<http://www.oikaze.com/~tamada/Products/junk/index.html#pickup>
最新の日付以外を取り出す時に、その日付の項目だけじゃなくて、
その日付までの項目が出力されていたバグを修正。
それにしても ad hoc なソースだ。
2003-06-23 Mon
■ 加州知事候補:シュワルツネッガー氏の動向に注目
デモリッションマンみたいなことになるのかなー.
# 確かデモリッションマンだったような.
■ Apple says Safari 1.0 coming soon
ほぅほぅ.ようやく出るのですな.
■ version 0.16
<http://nais.to/~yto/tools/chalow/>
<http://nais.to/~yto/tools/chalow/cl/2003-06.html#2003-06-23>
[2003-06-23-2] に書いたものに対応して頂いた.
早速アップデート.
■ 腕試し! あなたのセキュリティ知識をチェック
via <http://saya.c-moon.jp/index.php?d=200306-C&cid=23-01#23-01>
私の結果は 70 点。(平均点: 79 ,順位:4845名中3261位)
残念あと一歩
らしい。むぅ。悔しい。
■ 情熱大陸
毎週ほぼ欠かさず見ているのだが、最近 Yann Tiersen の曲が使われることが多い。
私も好きなので、別に全然構わないんだが、プロデューサかなんかが
好きなのかなぁと思ってみたり。
■ 愛用させて頂いています。
tDiary のテーマも使えるようになると見栄えが全然違いますな。
ただ、惜しむらくは、* に張られるアンカー。
ChangeLog 形式なので、上にどんどん書かれていく。
一日に何回も更新するとアンカーのラベルが変わってしまう。
その日に書いたエントリから順番に 1, 2 と付けて欲しい。
パッチを作ろうかと思う今日この頃。ただ、perl 知らないし、できんのだろうな。
■ テーマ
tDiary の テーマ、Cross を使ってみた。
<http://www.tdiary.org/theme.sample.rhtml?theme=cross>
これでいこう。
2003-06-22 Sun
■ version 0.15
<http://nais.to/~yto/tools/chalow/>
うーん、なかなか気に入ったようにできんなぁ。
もう少し色々と試してみよう。
■ 飛行機の予約
[2003-06-27] に日帰りで東京に行くことになった。
飛行機って予約の仕方がよくわからんのだが、web 上で予約できたのでいいか。
■ プロジェクト管理: Mavenでもっと簡単に
via <http://on-o.com/page/diary/?date=20030622>
また読まなくちゃ。
2003-06-21 Sat
■ ruby で grep
<http://homepage1.nifty.com/~tetsu/ruby/cmd/rg.html>
via <http://www.st.ryukoku.ac.jp/~kjm/admin/2003.html#20030620>
rg.rb か。なかなか便利そう。私の場合は grep でも事足りるのが
ちょっと悔しいのですが。
■ 帰ってきた。
疲れたけど楽しかった。
余り会わない 2 こ上の先輩方と色々とお喋りできて良かった。
■ バトルロワイアル

今更ながら、読んだ。
映画は結構省略されていることがわかった。
ま、どっちも面白かったので、いいんだけど。
2003-06-19 Thu
■ 難しい地名
京都編: <http://www.ax.sakuraweb.com/~jf3bgl/dic/kinki/kyoto.htm>
私の地元である西院(さいいん)は阪急と京福という二つの電車が通っている。
そして、両線共に駅名は西院なのだが、読み方が違う。
阪急はそのまま素直に「さいいん」。京福は「さい」と読む。私も高校生の時まで知らなかった事実。
そんでもって、東京で働きだした頃、高田馬場(たかだのばば)を「たかだのばんば」と読んでいた。
柳馬場(やなぎのばんば)の影響だ。
他にも、先斗町なんて知ってないと絶対読めないぞ。
京都に限らず地名って難しい。
■ NAIST に.
元同期のイドちゃん登場.名刺を頂く.N 道さんと 3 人でなぜか盛り上がる.
■ [2003-06-17] で突っ込んだ Adobe Reader 6.0 について
突っ込み先の人が掲示版に捕捉事項を書いておられた。
<http://www.oikaze.com/~tamada/cgi-bin/wwwboard.cgi>
掲示版だとしばらくすれば無条件に削除するので、こっちの方にも載せておきます。
何か不都合があれば言って下さい。> Liisachan さん。
「Adobe Reader 6.0 日本語版」のメモについての貴重なフィードバックをありがとうございました。
<http://www.faireal.net/articles/7/21/#d30617>
<http://www.oikaze.com/~tamada/Diary/2003-06.html#2003-06-17>
ご指摘のことはもっともだと思います。自分でもちょっと強く書きすぎたと反省していたところでした。
「表示できるようになって初めてバージョンアップすれば良いだけの話だろう。」→バージョン6が出たとき
「日本語も表示できます」と謳われていたのですが、それは事実でありませんでした。今回、
日本も表示できるようになってので、バージョンアップできるようになったよ、
というメモを書いたのです。つまり同意見です^^。ところでバージョンアップしなくても、
従来のv.5でも一般の環境では日本語は表示できません。ダウンロードの場所が分かりにくい
フォントパックが必要でした。今回これが自動でダウンロードされるようになったので、良い改善と思います。
「それに pdf をやめるために Math Player とか、MathML を使う方が面倒臭いと思うな。」→同感です。
新しいことを覚えるのが面倒、という人々のため、過去との互換性のため、ということは大きいと思いますし、
メモでもそう書きました。
「ある問題に注目して、それを使うべきではないという主張はあんまり説得力がないと思うな。」
→そうかもしれませんね。。。。。多少特殊な事例であっても、文字が表示できなくなる環境があるとしたら
「環境に依存しないフォーマット」とは言えない。。。というただそれだけのことです。
日本語版以外のシステムの上で日本語を使わなければいけない事情のユーザは意外と多いものです。
そういう場合も含めて、どんな環境でも文書がちゃんと表示されたらうれしいですが……。
同じように「言い過ぎだ」と思ったかたもほかにもおられると思い、少し事情の説明を書き足しました。
わたしたちは多言語字幕の作成という特殊な仕事をしているので、非ネイティブのシステムで他の言語の
文字が表示されるかどうか?にすごくナーバスになってるところがあります。アドビが表示できる!
とヘルプに書いているのに実際にはできなかったこと、フォント埋め込み型PDFでさえフォントが
読み出せないという何だか情けない(と自分には感じられる)仕様などで、少々うんざりして
強く書きすぎてしまいました。不愉快に感じられたら申し訳ありません。アドビが嫌いなわけではなく、
SVG Viewerは素晴らしいと思いますし、自分自身ウェブ上でPDFファイルの公開もしています。
それでは今後ともよろしくお願いいたします。
途中適当に改行しています。また、URL 部分にリンクを張るためちょっと編集しています。
本文に対しては改行以外の編集は行っていません。
いえいえ。不愉快にはなっていません。ただ単なる疑問だっただけです。
私の文章からそう読めたのなら、私の書き方に問題があります。
変に気を使わせてしまって申し訳ありません。
私が思うに、そこまで気を使う必要があるのかなぁと思います。(仕事上で使う場合は考えていません)
例えば、私がネット上で情報を探して、見つけた情報が pdf だったら、
よっぽど欲しい情報でない限り読みません。もし見たとしても、その pdf が文字化けしていれば
別の情報を探します。それでもその pdf が必要ならば作者の方になんらかのお願いをして
別の方法で閲覧できるようにお願いします。
私は以上のようなポリシーなのですが、作者の方にお願いしたことはコンピュータを
使い初めてからの 8 年間、一度もありません。
私の見る pdf がほぼ日本語か英語の論文であるためお願いすることがないだけなのかもしれませんが、
そこまで言うべきものなのかなぁという気がします。
たとえ配布元がプラットフォーム非依存なんて言っていてもそれは幻想に過ぎないと思います。
言ってみれば、pdf も Acrobat Reader なり、Adobe Reader が
動く環境でないと見られませんよね。(gs は無視)
私も仕事で配布元ができると言っていることなのに、できなくて泣くことは日常茶飯事でした。
しかし、そのような問題があった時、「こういう問題があるからやめよう」ではなく、
その情報をフィードバックすることで、そのソフトウェアやフォーマットも成長するだろうし、
その方がみんなが幸せになると思います。
2003-06-18 Wed
■ Emacs Wiki
<http://repose.cx/emacs/wiki/>
なんてものがあるらしい.
■
<http://www.cnn.co.jp/usa/CNN200306140018.html>
via <http://ch.kitaguni.tv/u/353/Miscellanea/0000004611.html>
いきなり解雇かよ.
■ なんでー.
Lessig Blog(JP) から本家へのリンクが張られてないんだろう.
あっ,あった.右下のクリエイティブ・コモンズ・ジャパンのすぐ上に.
見つけにくー.
2003-06-17 Tue
■ ライオン
<http://www.lion.co.jp/kids/eco/hito1.htm>
ライオンという会社は普段どういうことをしているのだろうか.
ゴキブリに洗剤などをふりかけてから死ぬまでの時間って.
まぁ,参考になることはなるのだが.
via <http://slashdot.jp/comments.pl?sid=101563&cid=339658>
30 秒でアイスクリームですか.
ちなみに,液体窒素で人の内臓までは凍りません.
と何かで読んだ覚えがある.
■ Web サーバの愚痴
via <http://slashdot.jp/article.pl?sid=03/06/13/079230&topic=42&mode=nested>
つい全部見ちゃった.
<http://www.nobodyhere.com/404.html>
は面白いなぁ.
■ Adobe Reader 6.0
<http://www.faireal.net/articles/7/21/#d30617>
via <http://saya.c-moon.jp/index.php?d=200306-B&cid=17-03#17-03>
なーんか違うと思うんだがねぇ。
「PDFファイルはプラットフォームに依存しない」というのは嘘である、ということを繰り返し強調しておく。
別にこれは否定しないし、その通りだと思う。
だが、
「ASCII文字と画像だけ」でない限り、ユーザはPDFファイルを作成・配布すべきでない。
なぜこういう結論になるのがわからない。
アドビは、テキストさえ表示できないようなとんでもない未完成の製品を正式の「最新版」として大々的にダウンロードさせていたのだ。
それが何か、と思うのは私だけかな。なら古いバージョンを使えばいいと思うし、
表示できるようになって初めてバージョンアップすれば良いだけの話だろう。
それに pdf をやめるために Math Player とか、MathML を使う方が面倒臭いと思うな。
そして、HTML だけで十分ではない場合もあるし。
その書類を誰が作ったかという情報が必要な場合は証明証が必要なので html だけでは表せない。
なんかねぇ、ある問題に注目して、それを使うべきではないという主張は
あんまり説得力がないと思うな。
ある致命的な問題があるが、そのアプリケーションにはこういう利点もある。そして、その利点を補うためにはこういう方法がある。その方法を使えばちょっと面倒だけど、みんなが便利だよね
という主張方法でないと、少なくとも私は、全てにおいて納得はしないと思うな。
まぁ、私に納得されようがどうでもいいかもしれませんが。
■ 今日は Escher の誕生日でしたか.

<http://www.etropolis.com/escher/>
一瞬誰のことかわからなかったが,あの騙し絵のエッシャーですな.
■ メソッド分散による Java 言語の難読化手法の提案
<http://itslab.csce.kyushu-u.ac.jp/~fukusima/index-j.html>
<http://itslab.csce.kyushu-u.ac.jp/~fukusima/css.pdf>
<http://itslab.csce.kyushu-u.ac.jp/~fukusima/scis.pdf>
問題点を指摘する.
class Dog{
public void bark(){
System.out.print("woof ");
}
}
class Basenji extends Dog{
public void bark(){ }
}
public class Bark{
public static void main(String[] args){
Dog woofer = new Dog();
Dog nipper = new Basenji();
woofer.bark();
nipper.bark();
}
}
これを先に挙げた難読化法で難読化すると,私が勘違いしていなければ
以下のようになる.
class Dog{
public static void bark(Dog d){
System.out.print("woof ");
}
}
class Basenji extends Dog{
public static void bark(Basenji b){ }
}
public class Bark{
public static void main(String[] args){
Dog woofer = new Dog();
Dog nipper = new Basenji();
Dog.bark(woofer);
Dog.bark(nipper);
}
}
実行結果が変わってしまう.
また,実行時に型が決まる場合,
interface Hoge{
public void hoge();
}
class A implements Hoge{
public void hoge(){
System.out.println("hoge");
}
}
class B implements Hoge{
public void hoge(){
System.out.println("foo");
}
}
public class Main{
public static void main(String[] args){
Hoge hoge = new A();
if(args.length > 1) hoge = new B();
hoge.hoge();
}
}
というプログラムだと,hoge.hoge() で何が実行されるかは
実行時にしかわからない.
これらのようにメソッドオーバーライドや呼び出されるメソッドが
実行時に決まる場合について言っていない.
で,私にとっては,ここで挙げた例のようなプログラムは日常茶飯事に
作るので,この難読化法では問題があるように思う.
■ アクセス数を付けてみた。
しかし、気に入らん。
ssi を使わずに cgi のみで画像を使わないカウンタにできるのかな。
■ 原稿に載せる例として
πを計算するプログラムを作った。
arctan を使ったものとか、相加相乗平均を使ったものとか、
モンテカルロ法を使ったものとか。
サンプルなので、多倍長演算なんかはやっていないのだが、
πを求める方法って色々あるねぇ。
たかがπ、されどπ。
■ Javaは“首席卒業生”、.NETは“落第生”--米SunのScott McNealy氏
そうとばかりは言っておれんと思うがねぇ。
■ Java is everywhere
<http://today.java.net/jag/je/>
Java is here, Java is there, Java is everywhere とな。
2003-06-16 Mon
■ pLaTeX
研究室の pLaTeX を原稿書いている途中ながら,再インストールした.
動かなくなった.焦る.
再起動した.
動いた.よかった.
2003-06-15 Sun
■ バージョンアップ
このたまにっきで利用させてもらっている chalow が 0.14 になったので
バージョンアップした。
私のサイトは cgi スクリプトは cgi-bin 以下でしか動かないので、
clsearch.cgi をちょっと手直し。
diff を取ってみた。
--- clsearch.orig Sun Jun 15 18:29:47 2003
+++ clsearch.cgi Sun Jun 15 18:48:28 2003
@@ -5,10 +5,13 @@
### User Setting from here
# お好みにあわせて変えて下さい
-my $home_page_url = "http://nais.to/~yto/";
-my $home_page_name = "たつをのホームページ";
+my $home_page_url = "http://www.oikaze.com/~tamada/";
+my $home_page_name = "たまぺーじ";
+my $diary_name = "たまにっき";
+my $diary_search_name = "たまにっき検索";
+my $diary_path = "../Diary";
my $numnum = 20; # 一度に表示できる数
-my $css_file;
+my $css_file = "diary.css";
### to here
# nkf 自動設定 --- 日本語コードで悩まされないために...
@@ -25,12 +28,12 @@
# ■■■ HTML head 出力 ■■■
print "Content-type: text/html; charset=euc-jp\n\n";
-print qq(<html><head><title>CHALOW Search</title>
-<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">);
-print qq(<link rel=stylesheet href="$css_file" media=all>\n)
+print qq(<html lang="ja"><head><title>$diary_search_name</title>
+<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">);
+print qq(<link rel="stylesheet" href="$diary_path/$css_file" media="all">\n)
if defined $css_file;
-print qq(</head><body><a href="index.html">ChangeLog INDEX</a>
- / <a href="$home_page_url">$home_page_name</a>\n);
+print qq(</head><body><a href="$diary_path/index.html">$diary_name</a>
+ / <a href="$home_page_url">$home_page_name</a>\n <h1>$diary_search_name</h1>);
print $q->startform, $q->textfield('key'), $q->submit, $q->endform, "\n";
# ■■■ 検索 ■■■
@@ -38,7 +41,7 @@
my $cnt = 0;
if (defined $key) {
- my @fl = reverse sort <[0-9][0-9][0-9][0-9]-[0-9][0-9].html>;
+ my @fl = reverse sort <$diary_path/[0-9][0-9][0-9][0-9]-[0-9][0-9].html>;
for my $fn (@fl) {
open(F, "$NKF -ed $fn |") or die "file open error: $fn\n";
my $date = "";
@@ -84,6 +86,8 @@
}
close F;
}
+ $outstr =~ s|(images/.*\.jpg)|$diary_path/$i|gix;
+ $outstr =~ s|href="([0-9][0-9][0-9][0-9]-[0-9][0-9]\.html)|href="$diary_path/$1|gix;
}
my $page_max = int(($cnt - 1) / $numnum);
@@ -113,7 +117,7 @@
}
print qq($bar<hr><pre>$outstr</pre>$bar<hr>
-<a href="index.html">ChangeLog INDEX&