最新 追記

Hena Hena Nikki

2003|05|06|07|08|09|10|11|12|
2004|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|
2006|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|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|10|11|12|
2012|01|02|03|04|05|06|07|08|10|12|
2013|01|02|04|06|

2005.05.04 / Wednesday [長年日記]

* [computer/update] howm ver.1.2.2

Emacsen 上で動く wiki ライクなメモとりツール。 約 5 ヶ月ぶりの version up。

* [computer/update] PuTTY ver.0.58-jp20050503

SSH 2 にも対応している Windows 向け Telnet/SSH client である PuTTY の日本語版。 約 2 ヶ月半ぶりの version up。

* [miscellaneous] 創作童話 博士 (はくし) が 100 にんいるむら

yoichi さんの日記から。 _no

僕も D3 のときに焦った記憶が。 既に「数学で食べていくのはやめよう」と思っていたので、初めから一般企業を探したわけだけど、これがなかなか厳しそうで…。 結果、サックリ決まったけど、幸運だった (ある意味不幸だった) だけだよなぁ。

もちろん博士学位を持っていると得することもあったりする。 例えば今の職場。 研究開発 (ソフトウェア系) の部署なので、中途採用される際に研究経験を評価されたと思う。 数学の理学博士なので、どの程度効いたかは分からないけど。

最近、本当に工学研究科の修士課程に入りたくなってきた。 基礎固めしたい。

* [myself] “ピンポン”をみた

かなり今更だけど、映画版“ピンポン (松本大洋さん原作)”を観た。 原作がけっこう好きだっただけに、無理な表現の連続に脱力感を覚えてしまった…。


2005.05.05 / Thursday [長年日記]

* [computer] 再帰のお勉強をやってみる (階乗・組み合わせ)

かなり前にメモした web site だけど、けっきょく読んでない。 そんなわけで、実際に elisp で書きながら少しずつ読み進めていくことにした。 …暇人とか言わんといて下さい。 ;(

とりあえず階乗の再帰関数版。

(defun ys:factorial1 (first number)
  (if (> number 0)
      (* (ys:factorial1 first (1- number)) number)
    first))

通常のループ版。 説明用でなければ普通こちらを書くだろうな。

(defun ys:factorial2 (first number)
  (let ((value first) (num 1))
    (while (<= num number)
      (setq value (* value num))
      (setq num (1+ num)))
    value))

次は組み合わせの再帰関数版。 web page に書かれている 20, 8 を代入すると、一瞬、Meadow が止まります。

(defun ys:combination1 (m n)
  (if (and (> m n) (> n 0))
      (+ (ys:combination1 (1- m) (1- n))
         (ys:combination1 (1- m) n))
    1))

通常のループ版。 素直に書くとこうなる? 分子と分母が大きくなりすぎて、すぐに使えなくなってしまう。 それとミスがあるので後で修正しなくっちゃ。←済み。

(defun ys:combination2 (m n)
  (if (and (> m n) (> n 0))
      (let ((denominator 1) (numerator 1) (num 1))
        (setq m (1+ m))
        (while (<= num n)
          (setq denominator (* denominator (- m num))
                numerator (* numerator num))
          (setq num (1+ num)))
        (/ denominator numerator))
    1))

もう一つ、通常のループ版。 この中ではこれが一番まとも。

(defun ys:combination3 (m n)
  (let ((value 1) (num 1))
    (when (and (> m n) (> n 0))
      (setq m (1+ m))
      (while (<= num n)
        (setq value (/ (* value (- m num)) num))
        (setq num (1+ num))))
    value))

とりあえず今日はここまで。

四則演算は elisp のテキスト処理関数を使って書くことにしよう。

elisp じゃなくて Ruby で書いた方が良かったかも。 最近は全く使ってないので、こういった機会に触れないと忘れちゃう。

なんて思ったけど、elisp も似た様なものなので、とりあえずこのまま進めよう。

後で気付いたんだけど、interactive なんて使う必要ないですね。 というわけで修正。 ;(

* [cd/dvd] 電気グルーヴとかスチャダラパー / 電気グルーヴ×スチャダラパー

6/29 発売予定の作品。 1990 年代に大活躍した大物 2 組だけに、かなり興味深い。

* [computer] Re: 第 167 回 自然言語処理研究会

翌日の 5/28, gony さんや bg66 さんとお会いできる? 楽しみですよ。 :D


2005.05.06 / Friday [長年日記]

* [computer] 再帰のお勉強をやってみる (四則演算 vol.1)

今日は四則演算。 まず初めにトークン処理関数。 あー、ミス発見。直さなきゃ。 ←done.

(defun ys:get-tokens (expression)
  (let (tokens)
    (while (string-match "[0-9]+\\|[-+*/()]" expression)
      (setq tokens (cons (match-string 0 expression) tokens))
      (setq expression (replace-match "" nil t expression)))
    (reverse tokens)))

で、優先順位を無視した数式処理関数。 funcall が出てこなくて苦労した。情けない…。 ;(

(defun ys:eval-tokens (tokens)
  (let (token sign value)
    (while tokens
      (setq token (car tokens))
      (setq tokens (cdr tokens))
      (cond
       ((string-match "[0-9]+" token)
        (if value
            (setq value (funcall sign value (string-to-int token)))
          (setq value (string-to-int token))))
       ((string= "+" token)
        (setq sign '+))
       ((string= "-" token)
        (setq sign '-))
       ((string= "*" token)
        (setq sign '*))
       ((string= "/" token)
        (setq sign '/))))
    value))

優先順位に対応した数式処理関数はまた明日 (か明後日)。

* [myself] “猟奇的な彼女”をみた

想像していたよりずっと普通の内容だった。 とりあえずハッピー・エンドで良かった良かった。

* [myself] 今日のお仕事

欲しい情報が得られなかったことで、思う様に作業が出来なかった。 睡眠不足もあって気分的に辛い 1 日だったな。


2005.05.08 / Sunday [長年日記]

* [computer/update] MinGW ver.4.0.1

Windows 向け GCC を中心とした開発環境。 所謂人柱版。

3.2.X 系はどうなったのかなぁ?

* [computer/update] WinSCP ver.3.7.5 beta

Windows 向け sftp, scp クライアント。 所謂人柱版。

* [computer/update] MacUIM ver.0.4.0-1

MacOS X の通常のアプリケーションで Anthy や PRIME を利用できるようにするツール。 約 1 ヶ月ぶりの version up。

MacOS X 10.4 (Tiger) に対応した模様。

* [computer/update] Winamp ver.5.09

skin により見た目を変えられる多機能なメディア・プレーヤ for Windows。 約 2 ヶ月半ぶりの version up。

* [computer/update] Winamp ver.5.09 日本語化キット第 2 版

Windows では定番のメディア・プレーヤ Winamp を日本語化するキット。

* [computer/update] howm ver.1.2.3

Emacsen 上で動く wiki ライクなメモとりツール。 数日ぶりの version up。

* [computer/update] TeraPad ver.0.89

軽快さと多機能性を兼ね備えたテキスト・エディタ。 約 4 ヶ月ぶりの version up。

* [computer/update] Y.OzFont ver.9.18

美しいペン習字風 font。

* [computer] デスクトップのプロセスを別にする

kyo さんの日記。 砂岡さんの日記経由で。 メモ。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer”に DWORD 値で DesktopProcess を作成し、値を 1 にする。

* [myself] 新しいユーザー・インターフェイスへ

前の会社でやっていた様な「安定した技術で良いものを」的な発想から、 次のステップと考えられる「新しい技術を取り入れた画期的なものを」的発想に進みたい。 今の仕事関連とうまいこと絡められたら、論文が書けるようになると思うんだけどなぁ…。

* [book] 入門 XML 第 2 版 / Erik T. Ray

定番の XML の入門書。 前の会社で途中まで読んだんだけど、会社のお金で購入してしまったので続きが読めてない。 リファレンス本もそうだけど、前の会社の時に自腹で買っておけば良かった。

* [computer] 再帰のお勉強をやってみる (四則演算 vol.2)

四則演算の続き。 まず初めに、リスト中にあるかっこで囲まれた部分を先に処理する部分を作る。 前回作った ys:eval-tokens仮に組み込んでみた。

(defun ys:calc-subfunc (tokens)
  (let (token new-tokens)
    (while tokens
      (setq token (car tokens))
      (setq tokens (cdr tokens))
      (when (string= "(" token)
        (let (subtokens (depth 1))
          (while (> depth 0)
            (unless tokens
              (error "かっこの対応がおかしいよ!"))
            (setq token (car tokens))
            (setq tokens (cdr tokens))
            (cond
             ((string= ")" token)
              (setq depth (1- depth)))
             ((string= "(" token)
              (setq depth (1+ depth))))
            (when (> depth 0)
              (setq subtokens (cons token subtokens))))
          (setq token (int-to-string (ys:calc-subfunc (reverse subtokens))))))
      (when (string= ")" token)
        (error "かっこの対応がおかしいよ!"))
      (setq new-tokens (cons token new-tokens)))
    (setq tokens (reverse new-tokens)))
  (ys:eval-tokens tokens))

最終行まで来た時点でかっこは既になく、あとは +, -, *, / の計算のみで済む (はず)。

あー、string-to-number 使うべきなのか。

続きはまた後日。

* [computer][bookmark] GCC: CPU に関する最適化オプション

というわけで、ちょっとまとめてみました。 間違いの修正など、御意見をいただけたらと思います。

Meadow のコンパイルでも、configure.meadow.bat の実行時にこれらのオプションを指定できると面白いかな?


2005.05.09 / Monday [長年日記]

* [computer] 再帰のお勉強をやってみる (四則演算 vol.3)

四則演算の続き。 面倒臭くなってきたのでかなりテキトー。

(defun ys:get-tokens (expression)
  (let (tokens)
    (while (string-match "[0-9]+\\|[-+*/()]" expression)
      (setq tokens (cons (match-string 0 expression) tokens))
      (setq expression (replace-match "" nil t expression)))
    (reverse tokens)))
(defun ys:calc-subfunc (tokens) (let (token new-tokens) ;; かっこをはずす (while tokens (setq token (car tokens)) (setq tokens (cdr tokens)) (when (string= "(" token) (let (subtokens (depth 1)) (while (> depth 0) (unless tokens (error "かっこの対応がおかしいよ!")) (setq token (car tokens)) (setq tokens (cdr tokens)) (cond ((string= ")" token) (setq depth (1- depth))) ((string= "(" token) (setq depth (1+ depth)))) (when (> depth 0) (setq subtokens (cons token subtokens)))) (setq token (number-to-string (ys:calc-subfunc (reverse subtokens)))))) (when (string= ")" token) (error "かっこの対応がおかしいよ!")) (setq new-tokens (cons token new-tokens))) (setq tokens (reverse new-tokens)) (setq new-tokens nil) ;; *, / を計算する (let ((number (string-to-number (car tokens))) term) (setq tokens (cdr tokens)) (while tokens (setq token (car tokens)) (setq tokens (cdr tokens)) (if (not term) (cond ((string= "+" token) (setq term '+)) ((string= "-" token) (setq term '-)) ((string= "*" token) (setq term '*)) ((string= "/" token) (setq term '/)) (t (error "変なところに算術記号じゃない文字が?"))) (if (or (eq term '*) (eq term '/)) (progn (setq number (funcall term number (string-to-number token))) (setq term nil)) (setq new-tokens (cons term (cons number new-tokens))) (setq number (string-to-number token) term nil)))) (setq tokens (reverse (cons number new-tokens))) ;; +, - を計算する (let ((value (car tokens))) (setq tokens (cdr tokens)) (while tokens (setq term (car tokens)) (setq tokens (cdr tokens)) (setq number (car tokens)) (setq tokens (cdr tokens)) (setq value (funcall term value number))) value))))
(defun ys:calculation (expression) (ys:calc-subfunc (ys:get-tokens expression)))

あー、無駄な部分があるー。 でも放置。

* [computer/update] WideStudio ver.3.90-5

UNIX 系 OS や Windows 上で動くウィンドウ・アプリケーション統合開発環境。 約 3 週間ぶりの version up。

* [computer/update] MinGW ver.4.0.2

Windows 向け GCC を中心とした開発環境。 所謂人柱版。

* [cd/dvd] Dynamite in / 東京事変

7/13 発売予定のツアードキュメント DVD。

* [cd/dvd] Dynamite out / 東京事変

8/17 発売予定のライブ完全収録 DVD。

6/24 には NHK で“ポップジャム・ピュアサイド東京事変”という特番が予定されている模様。 楽しみだ。 :)


2005.05.10 / Tuesday [長年日記]

* [computer/update] Gimp ver.2.2.7

非常に高機能な画像処理ツール。 安定版としては約 1 ヶ月ぶりの version up。

* [computer/update] Gimp 2.2.7 for Windows

非常に高機能な画像処理ツール Gimp の Windows 版。 約 1 ヶ月ぶりの version up。

* [computer/update] iTunes ver.4.8

Apple 社が公開しているジュークボックス・ツール。 約 4 ヶ月ぶりの version up。

* [computer/update] PuTTY β 0.58 ごった煮版 2005/5/9 版

SSH クライアント PuTTY に日本語化パッチなどを適用したもの。 約 2 ヶ月半ぶりの version up。

* [computer/update] Mxdvi ver.0.272

MacOS X 向け dvi viewer。 所謂人柱版。

* [myself] 昨日と今日のお仕事

話し合いやメール処理、雑用ばかり。 ふむう。

しっかり勉強してきた工学研究科出身者は本当に凄い。 などと今年の新人を見ていて思った。 論理的指向なんて (数学科のやるような) 数学やってなくてもちゃんと身につくのだ。

* [computer][bookmark] GIMP / GTK+ for Windows 覚え書き

しばたさんの日記から。 script-fu.exe のクラッシュ対策に関する情報などが掲載されている。


2005.05.12 / Thursday [長年日記]

* [computer/update] Mozilla Firefox 1.0.4

標準的な選択肢になりつつある multi platform な web browser。 約 1 ヶ月ぶりの version up。

* [computer/update] Mozilla Suite 1.7.8

multi-platform な MUA 付き web browser。 約 1 ヶ月ぶりの version up。

* [computer/update] 鬼車 ver.3.8.1

複数の文字コードに対応した C の正規表現ライブラリ (BSD ライセンス)。 約 1 ヶ月ぶりの version up。

* [computer] 第44回 言語・音声理解と対話処理研究会

6/3 に京都工繊大で開かれる研究集会。 行きます。

今朝のメールでは「まだプログラムを組めてない」という話だったけど、なんかちゃんと決まってる。 素早いなぁ。

この研究集会の前の週にある東京工科大学への出張の翌日 (5/28) は、 久々に横田さんにお会いできる模様。 1 年半ぶりかな。 ちなみに bg66 さんは約 1 年ぶり、gony さんは約半年ぶりか。

* [computer] 再帰のお勉強をやってみる (8 クイーン: ボードの準備)

今日はちょっと元気が残ってるので。

(defvar ys:8queen-board-data nil "チェス盤を示す変数")
(defconst ys:8queen-board-width 8 "チェス盤の幅")
(defconst ys:8queen-board-height 8 "チェス盤の高さ")
(defun ys:8queen-init-board () "チェス盤の初期化" (setq ys:8queen-board-data nil) (let ((index 0) (size (* ys:8queen-board-width ys:8queen-board-height))) (while (< index size) (setq ys:8queen-board-data (cons nil ys:8queen-board-data) index (1+ index)))))
(defun ys:8queen-put-queen (x y) "チェス盤にクイーンを置く" (if (and (< x ys:8queen-board-width) (< y ys:8queen-board-height)) (let (new-list pieces (position (+ x (* y ys:8queen-board-width))) (index 0) (size (* ys:8queen-board-width ys:8queen-board-height))) (while (< index size) (setq pieces (if (= index position) t (nth index ys:8queen-board-data))) (setq new-list (cons pieces new-list) index (1+ index))) (setq ys:8queen-board-data (reverse new-list))) (error "盤の外にクイーンを置くつもり?")))
(defun ys:8queen-remove-queen (x y) "チェス盤からクイーンをどかす" (if (and (< x ys:8queen-board-width) (< y ys:8queen-board-height)) (let (new-list pieces (position (+ x (* y ys:8queen-board-width))) (index 0) (size (* ys:8queen-board-width ys:8queen-board-height))) (while (< index size) (setq pieces (if (= index position) nil (nth index ys:8queen-board-data))) (setq new-list (cons pieces new-list) index (1+ index))) (setq ys:8queen-board-data (reverse new-list))) (error "盤の外にクイーンを置いたつもり?")))
(defun ys:8queen-display-board () "チェス盤を表示する" (let ((buf (get-buffer-create " *8queen-board*")) (x 0) (width (1- ys:8queen-board-width)) (y 0) (height (1- ys:8queen-board-height))) (save-excursion (set-buffer buf) (erase-buffer) ;; 上端 (insert "┏") (while (< x width) (insert "━┳") (setq x (1+ x))) (insert "━┓\n") ;; 中 (while (< y height) (setq x 0 width ys:8queen-board-width) (insert "┃") (while (< x width) (if (nth (+ x (* y ys:8queen-board-width)) ys:8queen-board-data) (insert "●") (insert " ")) (insert "┃") (setq x (1+ x))) (insert "\n┣") (setq x 0 width (1- ys:8queen-board-width)) (while (< x width) (insert "━╋") (setq x (1+ x))) (insert "━┫\n") (setq y (1+ y))) ;; 下端 (setq x 0 width ys:8queen-board-width) (insert "┃") (while (< x width) (if (nth (+ x (* y ys:8queen-board-width)) ys:8queen-board-data) (insert "●") (insert " ")) (insert "┃") (setq x (1+ x))) (insert "\n┗") (setq x 0 width (1- ys:8queen-board-width)) (while (< x width) (insert "━┻") (setq x (1+ x))) (insert "━┛\n")) (display-buffer buf)))

修正中…。←done.

(progn
  (ys:8queen-init-board)
  (ys:8queen-display-board)
  (sit-for 1)
  (ys:8queen-put-queen 0 0)
  (ys:8queen-display-board)
  (sit-for 1)
  (ys:8queen-put-queen 0 1)
  (ys:8queen-display-board)
  (sit-for 1)
  (ys:8queen-remove-queen 0 0)
  (ys:8queen-display-board)
  (sit-for 1)
  (ys:8queen-put-queen 3 4)
  (ys:8queen-display-board))

眠くなってきたので続きはまた今度。


2005.05.13 / Friday [長年日記]

* [computer/update] Ruby ver.1.8.3 preview1

“object-oriented programming”を意識して作られた interpreted scripting language。 所謂人柱版。

* [computer/update] Mozilla Firefox 1.0.4 日本語版

標準的な選択肢になりつつある multi platform な web browser, Firefox の日本語版。 約 1 ヶ月ぶりの version up。

* [computer/update] Becky! Internet Mail ver.2.21.00

Windows 定番の message user agent。 約 1 ヶ月ぶりの version up。

* [computer/update] まめ File 4 ver.4.20

高機能な Windows 向け filer。 約 2 ヶ月ぶりの version up。

* [computer] 再帰のお勉強をやってみる (8 クイーン: 効き筋のチェック)

“クイーンを左端に置いてみよう”と“クイーンを 8 個置いてみよう”は後回し (やらないかも)。

(defsubst ys:8queen-exist-piece (x y)
  "指定した位置に、既にクイーンが置いてあるか否か"
  (nth (+ x (* y ys:8queen-board-width)) ys:8queen-board-data))
(defun ys:8queen-exist-getable-pieces (x y) "指定した位置にクイーンがある場合、他のクイーンを取ることが可能か否か" (let ((i 0) j exist) ;; 横方向 (while (and (not exist) (< i ys:8queen-board-width)) (when (and (ys:8queen-exist-piece i y) (not (= i x))) (setq exist t)) (setq i (1+ i))) ;; 縦方向 (setq i 0) (while (and (not exist) (< i ys:8queen-board-height)) (when (and (ys:8queen-exist-piece x i) (not (= i y))) (setq exist t)) (setq i (1+ i))) ;; 右肩下り方向 (setq i 0 j (- y x)) (while (and (not exist) (< i ys:8queen-board-width) (< j ys:8queen-board-height)) (when (and (<= 0 j) (ys:8queen-exist-piece i j) (not (and (= i x) (= j y)))) (setq exist t)) (setq i (1+ i) j (1+ j))) ;; 右肩上がり方向 (setq i 0 j (+ y x)) (while (and (not exist) (< i ys:8queen-board-width) (<= 0 j)) (when (and (< j ys:8queen-board-height) (ys:8queen-exist-piece i j) (not (and (= i x) (= j y)))) (setq exist t)) (setq i (1+ i) j (1- j))) exist))
(defun ys:8queen-display-board () "チェス盤を表示する" (let ((buf (get-buffer-create " *8queen-board*")) (x 0) (width (1- ys:8queen-board-width)) (y 0) (height (1- ys:8queen-board-height))) (save-excursion (set-buffer buf) (erase-buffer) ;; 上端 (insert "┏") (while (< x width) (insert "━┳") (setq x (1+ x))) (insert "━┓\n") ;; 中 (while (< y height) (setq x 0 width ys:8queen-board-width) (insert "┃") (while (< x width) (if (ys:8queen-exist-piece x y) (insert "●") (insert " ")) (insert "┃") (setq x (1+ x))) (insert "\n┣") (setq x 0 width (1- ys:8queen-board-width)) (while (< x width) (insert "━╋") (setq x (1+ x))) (insert "━┫\n") (setq y (1+ y))) ;; 下端 (setq x 0 width ys:8queen-board-width) (insert "┃") (while (< x width) (if (ys:8queen-exist-piece x y) (insert "●") (insert " ")) (insert "┃") (setq x (1+ x))) (insert "\n┗") (setq x 0 width (1- ys:8queen-board-width)) (while (< x width) (insert "━┻") (setq x (1+ x))) (insert "━┛\n")) (display-buffer buf)))
(let ((x 0) (y 0) pieces) (while (< y ys:8queen-board-height) (while (< x ys:8queen-board-width) (setq pieces 0) (ys:8queen-init-board) (ys:8queen-put-queen x y) (let (i (j 0)) (while (< j ys:8queen-board-height) (setq i 0) (while (< i ys:8queen-board-width) (unless (ys:8queen-exist-getable-pieces i j) (ys:8queen-put-queen i j) (setq pieces (1+ pieces))) (setq i (1+ i))) (setq j (1+ j)))) (when (<= 7 pieces) (ys:8queen-display-board) (sit-for 1)) (setq x (1+ x))) (setq x 0 y (1+ y))))

いちおううまく動いているかな? 汚いけど…。 orz

続きはまた今度。


2005.05.14 / Saturday [長年日記]

* [computer/update] Sylpheed ver.1.9.10

美しい GUI を持つ多機能と軽快さを兼ね備えた message user agent。 開発版としては約 1 ヶ月ぶりの version up。

* [computer/update] develock.el ver.0.26

開発者向けに font-lock のキーワードを追加する elisp。 約 2 ヶ月半ぶりの version up。

* [computer] 再帰のお勉強をやってみる (8 クイーン: デバッグをする羽目に)

とりあえずまとめた。

削除

…「ちゃんと自分で考えながら対話的に作業する様なモード」を作りかけて止めた。 そんなわけで、汎用的に書いた部分とかは、上記のコードでは切り捨て。

とりあえずリスト版はこれで終了。 次はベクター版作成。

削除

ついでに少し書き直した。

さすがに後者の方が速い。 11 クイーンでは、前者が 330 秒程度かかったのに対し、後者は 104 秒程度で処理し終えた (Pentium III 866MHz * 2, Windows XP SP2, -march=pentium3 を適用した Meadow 2.00)。

ちゃんとした高速化もやってみたいけど、今の僕じゃ無理かな。

ベクタ版をテキトーにまとめたものを置いてみた。

12 クイーンを上記の環境で試したら 647 秒もかかった。 来週、会社の Pentium 4 3.2GHz で試してみるか。

こちらのページを参考にして 書き直したものを置いてみた。 再度 11 クイーンを上記の環境で試したところ、25 秒程度で処理し終えた。凄いなぁ。

いちおう古い方も置いておこう。

もうちょっと頑張れそうだけど、止めておこう。

* [computer] Win32 API における Mutex と Event

最近 Win32 API の Event 処理を使った。 自分で一から書いたコードとしては初めてだったかも。

で、その際に「Event があれば Mutex 使わないで済むじゃないか」とか、 「Event と Mutex の使い分けの基準が分かり難いなぁ」なんて思ったりして。 いや、分かってる人にとっては当然のものなのだろうけど。


2005.05.15 / Sunday [長年日記]

* [computer/update] Gimp ver.2.3.0

非常に高機能な画像処理ツール。 開発版。

* [computer/update] Quack ver.0.28

高い機能を持つ Scheme サポート tool for emacsen。 約半年ぶりの version up。

* [computer][bookmark] 2004 年度東アジア人文情報学サマーセミナー報告書

昨夏に開催されたセミナーで使われた文書が公開されている。 メモ。

ああ、僕の書いた文書も少しは役立つことがあるのか…。 嬉しいなぁ…。


2005.05.16 / Monday [長年日記]

* [computer/update] MinGW ver.4.0.3

Windows 向け GCC を中心とした開発環境。 所謂人柱版。

* [computer/update] Mew ver.4.2.50

emacsen な定番 mail user agent。 所謂人柱版。

* [entertainment] オトノシズク 矢井田瞳 acoustic live 2005

ヤイコさんの特設サイト。 後で見よう。

* [cd/dvd] KAELA KIMURA 1st TOUR 2005 “4YOU” / 木村 カエラ

7/6 発売予定のライブ・ドキュメント DVD。 gony さん向け。

* [cd/dvd] ソラトビデオ 4 / スピッツ

8/3 発売予定のビデオ・クリップ集。


2005.05.17 / Tuesday [長年日記]

* [computer/update] MOOX :: Firefox ver.1.0.4

CPU の拡張命令などを利用して高速化した Windows 用 Mozilla Firefox バイナリ。 約 1 ヶ月ぶりの version up。

* [computer/update] MOOX :: Firefox ver.1.0.4 日本語版

CPU の拡張命令などを利用して高速化した Windows 用の日本語化済み Mozilla Firefox バイナリ。 約 1 ヶ月ぶりの version up。

* [computer/update] MinGW ver.4.0.4

Windows 向け GCC を中心とした開発環境。 所謂人柱版。

* [computer/update] Doxygen ver.1.4.3

C, C++, Java などのソース・コードに対応したドキュメント生成ツール。 約 1 ヶ月半ぶりの version up。


2005.05.18 / Wednesday [長年日記]

* [computer/update] Mozilla 1.7.8 Suite 日本語版

multi-platform な MUA 付き web browser, Mozilla の日本語版。 約 1 ヶ月ぶりの version up。

* [computer/update] Becky! Internet Mail ver.2.21.01

Windows 定番の message user agent。 約 1 週間ぶりの version up。

* [computer/update] Sylpheed ver.1.9.11

美しい GUI を持つ多機能と軽快さを兼ね備えた message user agent。 開発版としては数日ぶりの version up。

* [computer/update] Real Alternative ver.1.38

RealMedia 形式のメディア・ファイルを再生するライブラリなどの詰合せ for Windows。

* [computer][bookmark] Lamp: 教育的かつ実用性のあるゲームミドルウェア

2004年度未踏ソフトウェア創造事業に採用されたプロジェクト。 面白そうなのでメモ。


2005.05.21 / Saturday [長年日記]

* [computer/update] OpenSSL ver.0.9.8 beta1

SSL/TLS 環境の定番。 所謂人柱版。

* [computer/update] MinGW ver.4.0.5

Windows 向け GCC を中心とした開発環境。 所謂人柱版。

* [computer/update] MELON ver.1.62

暗号化通信対応軽量 SMTP/POP3-Proxy サーバ for Windows。 約 1 ヶ月ぶりの version up。

* [computer/update] burn4free ver.1.1.3.0

無料で使える Windows 向け CD/DVD ライティング・ソフト。 約 3 週間ぶりの version up。

* [computer/update] Y.OzFont ver.9.22

美しいペン習字風 font。

* [computer] MPlayer OS X

MPlayer の MacOS X 版。 最近 Tiger に対応したバイナリが公開された。

* [computer] 暗号技術の常識 (ITmedia)

yoichi さんの日記から。 僕も後で読もう。

* [computer] Life Hackers Conference 2005

オレンジニュースから。 5/25 って出張で東京に居るな…。

* [computer/update] PuTTY β 0.58 ごった煮版 2005/5/20 版

SSH クライアント PuTTY に日本語化パッチなどを適用したもの。 約 2 週間ぶりの version up。

* [computer/emacsen] バイト・コンパイルに関するメモ

N クイーンの解を求める 8queen.el を、 バイト・コンパイルした場合としてない場合でどれくらい処理速度が変わるか、簡単に測定してみた。

  • 8queen.el で 12 クイーン: 約 34 秒
  • 8queen.elc で 12 クイーン: 約 11 秒
  • 8queen.el で 13 クイーン: 約 216 秒
  • 8queen.elc で 13 クイーン: 約 69 秒
  • 8queen.el で 14 クイーン: 約 1269 秒
  • 8queen.elc で 14 クイーン: 約 410 秒

環境は自宅の常用環境、Pentium III 866MHz * 2, Main Memory 256MB * 2, Windows XP SP2, -march=pentium3 を適用した Meadow 2.00。

この程度の内容でこれだけ違うとは思わなかった。 ちょっとビックリするな。

iBook (G4 1.0GHz, Main Memory 256MB, MacOS X v.10.3, GNU Emacs 21.2) 環境で試してみたら、上記の環境より時間がかかった。 ちょっと意外。

* [book] 恋するプログラム 〜 Ruby でつくる人工無脳 / 秋山 智俊

とても興味があるのでメモ。

* [computer] 人工無脳エンジン Ghoti

Ruby で書かれた人工無脳。 和布蕪を使っている。

いわゆる人工無脳です。 特に Margarine に触発され、sixamo の影響をもろに受けています。

* [myself] “戦場のピアニスト”をみた

重すぎて落ち込みがちな僕には辛すぎました…。 ;(

来週は麻生久美子さんの“ひまわり”をみる予定。


2005.05.24 / Tuesday [長年日記]

* [myself] 明日から出張

5/25〜28 は東京にいます。 なぜか MacOS X が入っている iBook を持って行って、 カチャカチャと作業する予定です。

ちょっと思うところがあって Xcode を使い始めました。 仕事でライブラリ作るときに、この環境を使えると良いんだけど。


2005.05.25 / Wednesday [長年日記]

* [myself] 京都から東京へ

昼まで京都で普通に仕事をし、その後、新幹線で東京に移動。 三田に到着したのは 16 時前で、この時点で結構疲れてたかな。

移動中の車内、名古屋〜品川間は作業の準備と elisp いじりをしていたけど、 珍しく全く酔わなかった。 ちなみに京都〜名古屋間はずっと寝てました。

三田での作業が終わったのは 19 時過ぎ。 そして八王子のホテルに到着したのは 21 時手前。 疲れました。


2005.05.26 / Thursday [長年日記]

* [myself] 自然言語処理研究会@東京工科大学

1 日目の講演は昼から。 「マルチモーダル、コーパス・言語モデル」のセッションに面白く感じた講演が複数あった。 思い付いたネタを秋以降に追求できたらいいな。

懇親会のとき、某社で翻訳アプリケーションを作っている方と少しお話した。 この方も僕と同じ理学博士だったのだけれど、学生時代に専攻していたのは自然言語処理。 …やっぱり僕みたいな状況の人って少ないのだろうな。

w3m の伊藤先生がすぐ横の席に座っていたのにはさすがに驚いた。 頻繁に質問していたのが印象的だったかな。

東京工科大学って妙に奇麗だなぁ。 国公立大学出身の僕が持っている大学のイメージとはずいぶん違う。 以前感心させられた同志社大学も凄かったけど、ここはここで凄い。

* [myself] iBook しかなかった…

バッテリがまともにもつノートが他になかったので、 MacOS X を入れた直後の状態 +αの iBook を持ってきてしまった。 Emacs があるから通常の作業は問題ないのだけれど、 残念ながら暇つぶしの音楽鑑賞ができない。 ああ、週末に AAC ファイル作成作業をしておけば良かった。


2005.05.27 / Friday [長年日記]

* [myself] 自然言語処理研究会@東京工科大学

2 日目の講演は朝から。 「解析、QA、言語調査」のセッションの後半は、 自分が興味をもっている分野だったので、聴いていてとても面白かった。

他に「合同 (対話)」セッションの前半も面白かった。 結論や全体的な手法は別として、途中で出てきた細かな概念が興味深い。

帰りに大学の書店に寄った。 思っていたよりもプログラミングの本が少なく、魅かれるようなものに出会えなかった。 残念。

「合同 (対話)」セッションで司会をされていた方、どこかで見たことあるような気が。 まあ、相当な有名人みたいだから、何かの機会に見ていても不思議じゃないか。

うーん、今やってるプロジェクトで僕が進めている作業って、 実は思っていたよりもずっとまともなものなのかもしれない。 …などと今回の研究集会で思った。ド素人のくせに。 :p

* [myself] Objective-C のお勉強?

Happy Macintosh Developing Time (Second Edition) を読み始めた。 噂には聞いていたけど、やはり Objective-C の感覚は面白い。 これでインタープリタな言語じゃないのだから恐い。色々な意味で。

こういった実装だと生成物の実効速度が遅くなりそう (この件に関して、5/28 に gony さんから情報をいただいた)。 立場的に同じ C++ とちゃんと比較してみたい。


2005.05.28 / Saturday [長年日記]

* [computer/update] GCC ver.3.4.4

GNU Compiler Collection。 所謂メンテナンス・リリース。

* [computer/update] OpenSSL ver.0.9.8 beta2

SSL/TLS 環境の定番。 所謂人柱版。

* [computer/update] Boehm-GC library ver.6.5

定番の C/C++ 用ガベージ・コレクション・ライブラリ。

* [computer/update] Becky! Internet Mail ver.2.21.02

Windows 定番の message user agent。

* [computer/update] Winamp ver.5.091 日本語化キット第 1 版

Windows では定番のメディア・プレーヤ Winamp を日本語化するキット。

* [computer/update] Winamp ver.5.092

skin により見た目を変えられる多機能なメディア・プレーヤ for Windows。

* [book] 数学的思考法 説明力を鍛えるヒント / 芳沢 光雄

砂岡さんの日記から。 メモ。

* [myself] gony さん、bg66 さん、横田さんとお食事

gony さんと横田さんおすすめ (?) のうどん・蕎麦屋さんで昼食。 独特な麺が面白かったです。

gony さんに MacOS X v.10.4 を見せてもらった。 なるほど、確かに魅力的な機能が追加されたようだけど、 「今、お金を出してまで欲しいか?」と言われるとちょっと違う。 とりあえず買わなさそう。

「Objective-C に開眼する」という決まり文句があるそうだ。 まあ、GUI 部分と MacOS X 固有の機能以外は C/C++ で処理したい、 そう思ってしまう軟弱者の僕が開眼する可能性は無さそうだけど。

皆さんちゃんと趣味の作業をしているようで、ちょっと羨ましかった。 注力したくなる目標があるか無いかで変わるんだろうな。きっと。


2005.05.29 / Sunday [長年日記]

* [computer/update] XEmacs 21.5.21

package システムが便利な emacs。 beta 版の version up は約 2 ヶ月半ぶり。

* [computer/update] Mew ver.4.2.51

emacsen な定番 mail user agent。 所謂人柱版。

* [computer/update] Nullsoft Scriptable Install System ver.2.07 beta 0

Windows 向けのインストーラ作成ツール。 所謂人柱版。

* [computer/update] EdMax Free ver.2.85.6F

高機能 message user agent for Windows である EdMax の無料版。 約 2 年ぶりの version up。

* [computer/update] EB Library ver.4.2

EB/EPWING 形式の CD-ROM 書籍を扱うためのライブラリ。

* [myself] お断り

応用数学系の雑誌に投稿された論文のレフェリーを依頼された。 サッと眺めてみて、僕がやっていたこととは直接的に繋がらない内容だったので、とりあえずお断り。 忙しいしね。

僕の師匠がよく知っている分野だったので、レフェリー候補として紹介しておいた。

最近、知らない人から送られてくる英文の非 spam メールがちょくちょく来る。 間違って要らないメールと判断してしまいそうで恐い。

* [myself] “At The Five Sopt vol.2 / E. Dolphy”がかっこいい

今の会社の同僚に貸そうと思っている “At The Five Sopt vol.2 / E. Dolphy”を久々に聴いた。 E. Dolphy, B. Little はもちろん、他の演奏者もとんでもなくかっこいい。 さすが名盤。 一曲目の Aggression の中盤でいきなりノックアウトですよ。 :D

* [myself] “The Cannonball Adderley Quintet In San Francisco”もいい

上記の同僚に貸そうと思っているもう一枚、 “The Cannonball Adderley Quintet In San Francisco”を聴いたのも久々。 こちらもよく名盤と言われる作品。 大好きって程じゃないけど好き。

久々に管楽器メインの作品を聴いたような気がする。 特に E. Dolphy のバスクラ。 何年ぶりか分からない。

* [computer][bookmark] サポートベクターマシン入門

メモ。 最近よく耳にする技術だ。

* [book] コミュニケーションロボット - 人と関わるロボットを開発するための技術 / 石黒 浩, 宮下 敬宏, 神田 崇行

ふむ。 ATR の方々が書かれた本か。


2005.05.30 / Monday [長年日記]

* [computer/update] Emacs on Aqua ver.8.0 RC3

Emacs 20.7 を Cocoa, GNUstep 環境にポーティングしたもの。 所謂人柱版。

もちろん貴重だとは思うけど、20.7 はもう見捨てられ始めたからなぁ…。

* [computer/update] Sylpheed ver.1.9.12

美しい GUI を持つ多機能と軽快さを兼ね備えた message user agent。 開発版としては約 2 週間ぶりの version up。

* [computer] 情報処理学会 第 169 回自然言語処理研究会

9 月に横浜国立大学で。 たぶん行きます。

7 月にある沖縄県宜野湾市の会はさすがに行きません。

* [myself] “未来少年コナン”を観てます

同僚にコナンの DVD を借りた。 やっぱり面白いね。 コナンの超人ぶりがいい。 :D

何だかラピュタとか紅の豚とかも観たくなってきた。 でも今週は麻生久美子さんの作品の予定だったりします。

* [myself] 今日の散財

久々に書籍を注文してみた。 …最近の興味がかなりハッキリ出てますね。

  • Efficiend C++ / D. Bulka, D. Mayhew
  • 恋するプログラム Ruby でつくる人工無脳 / 秋山 智俊
  • 自然言語処理ことはじめ / 荒木 健治
  • 自然言語処理の基礎 / 吉村 賢治

それと秘密のもう一冊。 :)


2005.05.31 / Tuesday [長年日記]

* [myself] 最近のお仕事

初めて本格的にプロセス間通信を使ってものを作った。 それなりに楽しめたけど、サックリ出来てしまって拍子抜け。 良く言えば、設計以前の調査がそれなりに適切だった。 悪く言えば、手抜きして丁寧に作らなかった。 そんな感じ。

「C++ って覚えることが多いよなぁ」と改めて思った。

何のかんの言って MFC 使ってるなぁ。 一時期本気で WTL に乗り換えようと考えていたんだけど、 やはり仕事で使うのはまだ避けたいと思ってしまう。 弱い。


  • この日記には本日 名の方が訪問してくださっているようです。 また、昨日は 名の方が訪問してくださったようです。
  • この日記の更新情報の取得には antenna.lirs を利用するのがおすすめです。