Antoine.st 2005-02

2005-02-28

Business Trip

久しく出張に行っていなかったのですが、明日の早朝から旅に出ます。日本は寒そうです。風邪を引かないように気をつけます。

Guam...orz

グアムって、やっぱり中途半端な場所です。一応、国コードは用意されていて、GU ってのがあります。トップドメインもあるようです(見たことないけど)。が、たとえば IIS で証明書を取得しようとしたとき、Country で GU は選べません。しょうがないので、US とかを代わりに選ぶことになります。State が Guam です。

とりあえず、そんな感じで CSR は作成できたのですが、Verisign に申請しようとすると、エラーが出ます。どうも State の入力がおかしいそうです。

これ、他の E-コマースサイトとかでも、ときたま似たようなことがあります。サポートに聞くと、「US で Guam を選んで」なんていわれるんですが、Select 要素の一覧に見当たらなかったり...。ふぅ。


2005-02-27

Font settings for Emacs

これ、ほんと難しいです。って、おやじギャグみたいですが。とりあえず、こんな感じで、英語・日本語ともにフォントサイズがきれいに変わるようになったみたいです。


  (create-fontset-from-fontset-spec
   "-*-Osaka-*-*-*-20-*-*-*-*-c-*-fontset-osaka20,
                    ascii:-*-Osaka-normal-r-*-*-20-*-*-*-*-*-iso8859-1,
        japanese-jisx0208:-*-Osaka-*-r-*-*-*-*-*-*-*-*-jisx0208-sjis,
        japanese-jisx0212:-*-Osaka-*-r-*-*-*-*-*-*-*-*-jisx0208-sjis,
        katakana-jisx0201:-*-Osaka-*-r-*-*-*-*-*-*-*-*-jisx0208-sjis,
   japanese-jisx0208-1978:-*-Osaka-*-r-*-*-*-*-*-*-*-*-jisx0208-sjis")
  (set-default-font "-*-Osaka-*-*-*-20-*-*-*-*-c-*-fontset-osaka20")

Strained back

ぎっくり腰ならぬ、ぎっくり背中で、一日中固まってました。どうも、左の肩甲骨の下辺りに激痛が走ります。じっとしてたら、だいぶよくなりました。ほっ。

MSDN Subscriber download

MSDN Subscriber download につながらなくなってる...。このタイミングでこれはきつい...。orz...。


2005-02-25

125M

125M の IEEE802.11g 規格の無線 LAN があるんですね。ってことで、ぐぐっていろいろ調べてみたんですが、日本語の情報が見当たりません。海外仕様でなんかそんなのがあったかもしれないなぁ...。

Go to Japan

というわけで、3月の頭に日本に行きます。合計、4日間ぐらいの滞在になるもより。某所に行く前後に寄る、ってことですね。まだ寒いんだろうなぁ。上着どうしようかなぁ。


2005-02-24

Australia

MSDN の登録が重複してたみたいです。どうりで、いつもよりたくさん DVD が送られてくるわけだ...。って、なぜにオーストラリアの登録? グアムはオセアニア扱いなのかしら...。

しかし、新会員番号もわからんし、どうすればいいのよー。

mixi memo - rss feed 4

という戦略に基づき、なんとなくできたようなできないような。とりあえず、様子見です。

mixi memo - rss feed 3

とりあえず、mixi の日記に表示されるようになりました、と。よかったよかった。ただ、英語なんですよね...。

  1. emacs-wiki での h4 を小見出しにしている
  2. emacs-wiki での h4 を a name にしている
  3. 小見出しを title にしている
  4. a name を link にしている

からなんですけど。そして、

  1. 小見出しに日本語が入るとかっちょ悪い(ボールドになるので)
  2. 小見出しをそのまま a name にできない(なぜか urlencode が失敗する)

ため、小見出しをそのまま、というのもちょっと嫌だし...。h4 = title と a name = link を別々に作ればいいんでしょうね。たぶん。また、新しいタグを定義するか...。


2005-02-23

mixi memo - rss feed 2

なんか微妙に違うなぁ...。ということで、微調整。


  (concat (format-time-string "%Y-%m-%dT%T" (current-time))
          (substring (format-time-string "%z" (current-time)) 0 3)
          ":"
          (substring (format-time-string "%z" (current-time)) 3 5))

modify for emacs-wiki

戦略として、つぎの 3つの候補があります。

  1. emacs-wiki で HTML 生成時に一緒にやる
  2. WelcomePage 生成後に emacs-lisp で生成する
  3. WelcomePage 生成後に他のツールで生成する

現在は、3. なわけですが、emacs-lisp で完結するのがきれいだと思われます。しかし、emacs-wiki の修正はわたしの手に負えず。というわけで、2. の方向で検討します。

その場合、やることは以下のようになります。

  1. 不要部分の削除
  2. H4 を title として置換
  3. H4 部にある a name を link として置換
  4. 時間を埋め込んだコメントを dc:date として置換
  5. ヘッダ、フッタを追加
  6. UTF-8 形式に変換

あ。前提として、埋め込んでいた時間のフォーマットを W3CDTF に変更しておきました。さてと、修正するか。

とか言いながら、結局 c# で作っちゃいました...。いかん、ヨワヨワすぎ。

mixi memo - rss feed

turky さんところの rdf でサンプルを作ってみると、ようやく日記として認識されたもより。どこが原因かは不明ですが、とりあえず、それをベースに rss を生成してみようっと。

日付のフォーマットが違うのが気になったので調べてみると、"yyyy-MM-ddThh:mm:ss+10:00" という形式らしい。最後のは例のごとく、標準時からの時差。これはなくても (mixi では) 大丈夫らしい。W3CDF、ISO 8601 で定義されている、と。ふむふむ。

elisp であれば、こんな感じで取得/作成可能、と。


  (format-time-string "%Y-%m-%dT%T%z" (current-time))


2005-02-22

compromise

一部の方々にご心配をおかけしていた裁判ですが、無事和解しました。つか、単にインターネット使用料金を払わずにいたら訴えられた、ってだけなんですけどね。

こちらの主張としては、使えていた時期はともかく、使えないのになんで払わなくちゃならないの、ってことだったわけです。

その辺の話をしたら、「じゃ、また来週来て」ということで、裁判が長引きそうだったので、直接相手側と話をして、和解してきました。

とりあえず、肩の荷がひとつ下りて、ほっ。


2005-02-14

Mail Trouble

メインのメールアドレスに、DTI をずーっと使ってきてます。今日のお昼過ぎから、どうもメールが取れないなぁ、と思っていたら、アカウント名を厳格に管理するようになったらしいです。お知らせメールがメールの山に埋もれていて、全然気づきませんでした。

アカウント名を厳格にチェックするようになったのはいいんですが、それまでダウンロードしたメールを再度取り直すはめに...。450 通も取り直すのは、結構厳しかったです。


2005-02-13

Clean up files in Visual Basic Project - 3

あ...。Cygwin だと大文字小文字を別の文字と認識してしまうので、どっかで変換をかけたほうがいいかもしれません。何かの拍子に拡張子だけが ".FRM" みたいな感じで大文字になっているケースもあるみたいなので。


 $ tr '[A-Z]' '[a-z]'

ってな感じで。

さて、次は、複数のプロジェクトにちらばったファイルの中身を確認していくことにします。さっきと基本的には同じなのですが、

  • .vbp の中で指定されているファイルを取り出す
  • ソートして小文字に変換
  • ファイル数をカウント

して、同じファイルが 2つのものから作業を進めていくことにしましょう。3つ以上あると、さらに話がややこしくなりますので。


  $ find ./ -name '*.vbp' | xargs grep '^Form' | sed 's/.*=//g' | \
    sort | tr '[A-Z]' '[a-z]' | uniq -d -c | \
    sort | grep '^      2' | sed 's/^      2 //g' > dup2.txt

こんな感じのコマンドで、重複が 2つだけのファイル名一覧を作成します。あとあとのことを考えて、ファイルに落としておきました。

Clean up files in Visual Basic Project - 2

その 2 です。


  hoge project
    + hoge main
    + hoge sub
    + hoge new version

てな感じに、ひとつの大きなプロジェクトが複数の子プロジェクトで構成されているとします。共通モジュールがきちんと管理されていればいいのですが、残念なことに別々のフォルダに同じファイルが存在しているケースもあります。

とりあえず、フォルダごとのアプリケーションはそれぞれでビルドできて、それぞれで動作するので、そのままになってしまっている、という形です。誰でも、動くものを修正するのはちょっと怖いですから。

とはいえ、それをそのままにしておけるはずもなく。各プロジェクトで使われているモジュールを調べ、複数のプロジェクトで使われているものは共通モジュールとして別のフォルダに移動。その際に、内容を確認しながらマージしていく、という感じで作業を進めましょう。

複数のプロジェクトで使われているファイルの一覧を取得してみます。↓ な感じで。


  $ find ./ -name '*.vbp' | xargs grep '^Form' | sed 's/.*=//g' | \
    sort | uniq -d

Clean up files in Visual Basic Project

結構大規模なプロジェクトを渡されると、その中には必要なファイルだけでなく、不要なものも含まれていたりします。それをいちいち調べて、整理整頓するのは大変ですね。

そこで、今回は cygwin のコマンド群 (といってもいくつか) を利用して、半自動で行うことにしました。まず、前提として「.vbp ファイルには、利用しているフォーム、モジュールなどの一覧が書かれている」ってことがあります。それと、フォルダ内のファイルを付け合せれば、フォルダ内に存在する不要なファイルがどれであるかがわかるというわけです。

検討した手順は以下のとおりです。

  • フォルダ移動
  • .vbp ファイルからフォーム一覧を抜き出し
  • フォルダ内のフォーム一覧を取得
  • 比較して、フォルダ内のフォームを削除
  • テンポラリファイルを削除

コマンドであらわすと、次のようになります。


  $ cd Hoge
  $ grep '^Form' Hoge.vbp | sort | sed 's/.*=//g' > forms.vbp.lists
  $ ls *.frm -1 > forms.lists
  $ diff forms.lists forms.vbp.lists -i | grep '^[^0-9]' | \
    sed 's/^<//g' | xargs rm
  $ rm *.lists

これで OK、と思ったんですが、少々問題がありました。.frm ファイルはバイナリ情報を .frx に残しています。.frm を削除してしまうと、この .frx が宙に浮いてしまうというわけ。上記と同じような感じで、.frm と .frx の一覧を作って不要な .frx を削除します。


  $ ls *.frm -1 | sed 's/frm$/frx/g' > frm.lists
  $ ls *.frx -1 > frx.lists
  $ diff frm.lists frx.lists -i | grep '^>' | sed 's/^> //g' | \
    xargs rm
  $ rm *.lists

まぁ、わざわざ別にやる必要もないので、最初のコマンドを少々書き換えます。sed を重ねるのはちょっとイヤンな感じですが、ちょこちょこテストしながらやる分にはいい感じです。で、最終的な結果が問題ないということが確認できた段階で rm する、と。


  $ diff forms.lists forms.vbp.lists -i | grep '^[^0-9]' | \
    sed 's/^<//g' | sed 's/\.frx/\.fr\*/g' | xargs rm

モジュールは、というと、.vbp への書かれ方がちょっと違います。一覧を取得するときに、ちょっとだけ変えてあげて、こんな感じで。.frx のことは考えなくていいので、その辺は手抜きが可能です。


  $ grep '^Module' Hoge.vbp | sort | sed 's/.*; //g'


2005-02-12

emacs 22.0.50 after that... 2

そういえば、21.3 では ↓ で font-lock が有効になってたんですが、21.3.50 の CVS Head にしてから、それが効かなくなってました。

  
  (add-hook 'my-text-mode-hook 'turn-on-font-lock)

22.0.50 にしたのを受けて、いろいろ試してみると、↓ で有効になる模様。ほんと、Hook の仕組みって便利ですね。


  (add-hook
   'my-text-mode-hook
   '(lambda ()
      (font-lock-mode 0)
      (font-lock-fontify-buffer)))


2005-02-11

emacs 22.0.50 after that...

移行しました。基本的に、21.3.50 なんで、そのまま使えます。半透明化パッチも入れましたが、かなりいい感じです。とりあえず、80 ぐらいに設定しましょうかね。


2005-02-10

sued

訴えられました。あっはっは。裁判は、2月 22日です。12:00 からなので、お昼休みを利用して行ってきます。裁判所デビューがグアムで、とは思いませんでした。

emacs 22.0.50

CVS HEAD が 22.0.50 になりました。ビルドしてみましたが、21.3.50 と変わりません。そりゃそうですね。

bbs2mail 0.0.1.9

微調整ですとも。


2005-02-09

QT 3/Win Free

なんてのが ある そうです。KDE で有名な GUI アプリケーションフレームワーク、と。この手のフレームワークってそれほどないので、結構面白いかもしれません。.NET からも使えるようなので、試してみる価値があるかな...。

どうも、.NET というよりも、Visual C++ 7.x/8.x から使えるってだけみたいです。つまりは、アンマネージドと。マネージドでやりたければ、QT ってことになるんでしょうか。GTK# にしろ、本家の .NET で使えるのかしらん?

emacs 21.4 after that...

出ましたが、どうもよくわからないバージョンアップのようです。21.3.50 系の修正が取り込まれたわけでもなく、単にセキュリティ絡みの Fix でバージョン番号があがっただけとのこと。というわけで、移行する必要はなさそうですね。

RMS の発言により、21.3.50 系が 22.1 にバージョンが変更されるとの話も出てきている模様で。emacs-unicode-2 の立場は? ってことですな。


2005-02-08

emacs 21.4 Release

出ましたね。FTP のスピードが出ないので、Iria さんを設定したまま寝ます。leim が見当たらないけど、どうなんでしょ?


2005-02-06

Loop

何気に 1年半以上続いているわけですが、ふと読み返してみると、全然成長していないことに気づきます。まぁ、そんなもんかとも思いますけど。

成長せずに同じ話を続けていると...。ループしまくりです。なんとなく分かってきたのは、このように書きなぐるのは、調子の悪いときを抜け出して、回復気味にあるときのようです。たぶん、調子が悪くて鬱屈とした気分を晴らすために、ってことなんでしょうけど。

そう考えると、調子悪い時期多すぎです。もう少し前向きに生きるようにしないといけませんね。

Bbs2Mail

というわけで、ひっそりと公開です。


2005-02-05

Nyoki Nyoki

頭にこびりついて離れなくなる歌、ってあるもんですが、ここ 2, 3日そうなっているのが、「ニョキニョキ」ってやつです...。このへん からたどってみてください。


2005-02-04

Yane Urao

やねうらお氏といえば、BM98 を作った人、ということで知ったのが最初でした。その後、cppll で面白げな発言をされているのを見たり、「Windowsプロフェッショナルゲームプログラミング」とかって本を書いているのを見たり。

気になるウェブサイト ってところに氏のダイアリーの目次があるので、その辺からいろいろ読んでました。やっぱりすごい人は幼少期からすごい、ってことでしょうかね。


2005-02-02

Error tag jump

ML への投稿用に作ってみたんですが、わりかしいい感じだったので、こっちにも書いておきます。


  using System;
  using System.Diagnostics;

  namespace ErrorTagJump
  {
    class DebugTag {
      public static void Log(StackTrace st) {
        StackFrame sf;

        sf = st.GetFrame(0);
        Debug.WriteLine(sf.GetFileName() + "(" + 
          sf.GetFileLineNumber().ToString() + ")" + 
          " : Debug Tag");
      }
    }
  }

こんな感じのクラスを作っておいて、


  using System;

  namespace ClientSample
  {
    class Class1 {
        [STAThread]
        static void Main(string[] args) {
          DebugTag.Log(new System.Diagnostics.StackTrace(true));
        }
    }
  }

こんな感じで呼び出す、と。すると、デバッグウィンドウのファイル名と行番号が出力されます。その部分をダブルクリック、あるいは、右クリックして「エラー/タグへジャンプ」を選ぶと、該当行に飛べる、と。


2005-02-01

Trust

ふと思ったんですが、日本って信頼を元にできている社会だなぁ、と。ちょっとしたことですけど、たとえば、狭い路地から大通りに車で出ようとしているとき。こっちの路地に向かって大通りを走ってきた車が曲がろうとしたら、そのタイミングにあわせて自分も出ると思います(文章ではえらい説明が難しい)。ウィンカーも出してるし減速してるから、「ああ、曲がるんだな」ってのが分かるので。

でも、こっちの人たちはそんなことはしません。たとえウィンカーを出そうとも、減速して来ようとも、なかなか出ません。こういう言い方はあまりよくないのかもしれませんけど、「ほんとに曲がってくるのか?」と信用できないような感じです。

当然、無駄に待つ時間が増えると。