トップ 最新 追記

猫熊は燃えつきた?!日記

最近なんにもやっていませんが、なにかやったらこちらに置くようにしています。
2002|12|
2003|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|
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|
2011|09|
2012|02|


2005-01-01 (Sat) [長年日記]

謹賀新年

今年もよろしく。

スキー

足はぼろぼろだけど、久しぶりで楽しかった。

しかし、カービンスキーって、取り回しが楽で良いですなぁ。これが20年前にあったら、スキーが好きになっていたかも。

スキー中はほとんど雪が降っていたので、ずーーと新雪状態。ラッキー。

武運

もなにも、初日、初めての子供達をスクールに押し込んだときは一人だったけど、そのときはこっちも久しぶりでへろへろだったし、それ以降は、ずーーと子供達と一緒なので、初心者コースオンリー。だけど、足とかはパンパンですよ。体重のせいか?

最終日に疲れきって足が持ち上がらなくて転んだ以外は一回も転んでいないぐらい武運と関係なかったですよ。八海山に喜んでいくような人とは大違い :-)


2005-01-03 (Mon) [長年日記]

年末年始

というと、珍しく歌番組とかバラエティ系のテレビ番組をみたりするのだが、それで思ったこと/初めて知ったこと/聞いたこと等々。

ギター侍

はじめて見た。どこが侍なのかわからないが、面白いじゃん。(世の中から半年遅れぐらい?)

青木さやか

去年の下の階の新人の女の子に同姓同名の子がいて、その部署の人たちが「へぇー」とか言っていたんだが、すいません、こちらもはじめて見ました。しかし、面白いのかどうかもよくわかりません ^^;;;

中村獅童

親は全然思ったことがないのだが、義理の姉曰く「もっちゃんって中村獅童に似ているよね」。本人曰く「空手の先生にも似ていると言われた」とのこと。息子は小さいときのぼくに似ているので、ぼくも中村獅童に似ているのかと思い、Web 上の写真をじーーーと見たのだが、やっぱり中村獅童の方が100倍ぐらいいい男。

柴又帝釈天

厄年シーズンも終わったので、お礼参りに行く。珍しく車で行ったのだが、まさか、江戸川土手の駐車場に「右折」で入れないとは。。。来年以降は気をつけましょう。ちなみにおみくじは大吉!!

あまりによき運勢なれば常に心がけて邪道にはしらず、、、(以下略)」(^_^)V

お返事

そーいえば、以前使っていた PHS も同じでしたね。本業ももしかすると交差するときがあるかも :-)

Namazu の検索失敗は namazu/namazu.cgi が libintl.so.5 を要求しているのだけど、libintl.so.6 だからの模様です。wrapper でごまかそうと思ったけど、ちょっと危なそうなのでパス ^^;;;

で、

やっと年賀状書き開始 ^^;;;

で、

年賀状書き終了。今年は控えめにしてしまったので、年末に頼んだ年賀状がちょっと少なかった。来年は10枚増やそう。


2005-01-04 (Tue) [長年日記]

昨日の追加

一番驚いたものを忘れていましたよ。氣志團の One Night Carnival って本当に真っ当な(?)歌手が歌っている歌だったんですね。わたしゃ、「学校へ行こう」の一コーナでしか見た/聞いたことしかなかったので、実物を見るまでお笑いかと思い込んでいましたよ。

カンフーハッスル

こども二人連れて錦糸町で見てきた。おもしろ〜〜。

(全然内容は違うけど)同じドラゴンボールZ系の格闘シーンなら、去年見た CG版ドラゴンボールZ より 512倍は面白かった。

仕事初め

は明日から。しかし、自主的に一日遅らそうかと思っている。今年はのんびりペースでね :-)


2005-01-12 (Wed) [長年日記]

mew-nmz

うーむ、まだまだ続くな。。。

息抜き

息抜きかどうかわからないけど、丸山さんのリクエストでこんなのを作ってみた。(ちょっと改善)
(0) mew-nmz とかで、検索したキーをメッセージ中でハイライト表示します。
(1) ある程度自動に引数を処理します。これ以上は勘弁。
(2) "kk" を押すと regexp を変更できます。
    やめたいときは "kk" で "" を入力。"prefix kk" でも OK。
(3) mew-summary-find-keyword-down|up() と同じ local 変数を使って
    いるので、M-n, M-p が変なときも同様に "kk" で修正します。
    ちなみに、最初にキーを聞いてくれなくなります。
(4) defadvice で呼んでいる mew-message-highlight-keyword-get()
    の引数はお使いのものに変えてください。
といった感じ。
(defface mew-message-highlight-keyword-face
  '((((class color) (background light))
     (:background "dark khaki" :bold t :underline t))
    (((class color) (background dark))
     (:background "blue" :bold t :underline t))
    (t (:bold t :underline t)))
  "*Face of mew-message-highlight-keyword."
  :group 'mew-highlight)
 
(add-hook 'mew-summary-mode-hook
	  (lambda ()
	    (define-key mew-summary-mode-map "kk" 'mew-message-highlight-keyword-set)))
 
(defun mew-message-highlight-keyword-set (&optional args)
  (interactive "P")
  (when (mew-summary-or-virtual-p)
    (if args
	(progn
	  (mew-sinfo-set-find-key nil)
          (message "Reset highlight keyword")
	  (and (mew-sinfo-get-disp-msg)
	       (mew-summary-display 'redisplay)))
      (let* ((hist (copy-sequence mew-input-pick-pattern-hist))
	     (key (read-string "Keyword: "
			       (or (mew-sinfo-get-find-key)
				   (car mew-input-pick-pattern-hist))
			       'hist)))
	(if (string= key "")
	    (mew-sinfo-set-find-key nil)
	  (mew-sinfo-set-find-key key))
	(and (mew-sinfo-get-disp-msg)
	     (mew-summary-display 'redisplay))))))
 
(defadvice mew-nmz-search-mark (after keyword-get activate)
  (mew-message-highlight-keyword-get 'namazu))
 
(defadvice mew-nmz-virtual (after keyword-get activate)
  (when (mew-virtual-p)
    (mew-message-highlight-keyword-get 'namazu)))
 
(defadvice mew-summary-pick-mark (after keyword-get activate)
  (mew-message-highlight-keyword-get 'mew))
 
(defadvice mew-summary-grep-mark (after keyword-get activate)
  (mew-message-highlight-keyword-get 'grep))
  ;; (mew-message-highlight-keyword-get 'mew))
 
(defadvice mew-summary-virtual-with-internal (after keyword-get activate)
  (when (mew-virtual-p)
    (mew-message-highlight-keyword-get 'mew)))
 
(defadvice mew-summary-virtual-with-external (after keyword-get activate)
  (when (mew-virtual-p)
    (mew-message-highlight-keyword-get 'grep)))
    ;; (mew-message-highlight-keyword-get 'mew)))
 
(defun mew-message-highlight-keyword-get (type)
  (let* ((key (car mew-input-pick-pattern-hist))
	 (keys (mew-split key ? ))
	 regex)
    (cond
     ((eq type 'namazu)
      (let ((frags '("(" ")" "and" "or" "not")))
	(while frags
	  (setq keys (delete (car frags) keys))
	  (setq frags (cdr frags)))
	(setq regex (regexp-opt (mapcar
				 (lambda (x)
				   (if (string-match "^\\+[^:]+:\\(.+\\)$" x)
				       (setq x (match-string 1 x)))
				   (if (string-match "^[\"{]?\\(.+\\)[\"}]?$" x)
				       (setq x (match-string 1 x)))
				   (let (tmp)
				     (while (string-match "\\*" x)
				       (setq tmp (concat tmp (substring x 0 (match-beginning 0))))
				       (setq x (substring x (match-end 0))))
				     (setq tmp (concat tmp x))
				     (setq x tmp))
				   (regexp-quote x))
				 keys)))))
     ((eq type 'mew)
      (let ((frags '("(" ")" "&" "|" "!")))
	(while frags
	  (setq keys (delete (car frags) keys))
	  (setq frags (cdr frags)))
	(setq regex (regexp-opt (mapcar
				 (lambda (x)
				   (cond
				    ((string-match "!?==?\\(.+\\)$" x)
				     (regexp-quote (match-string 1 x)))
				    ((string-match "^(?\\(.+\\))?$" x)
				     (regexp-quote (match-string 1 x)))
				    (t
				     (regexp-quote x))))
				 keys)))))
     (t	;; 'grep
      (setq regex key)))
    (if (or (not regex) (string= regex ""))
	(mew-sinfo-set-find-key nil)
      (mew-sinfo-set-find-key regex))))
 
(defun mew-message-highlight-keyword ()
  (let ((buf (mew-minfo-get-summary))
	key)
    (when (and buf (buffer-name (get-buffer buf)))
      (save-excursion
	(set-buffer buf)
	(setq key (mew-sinfo-get-find-key)))
      (when key
	(save-excursion
	  (goto-char (or (mew-header-end) (point-min)))
	  (while (re-search-forward key
				    (min (point-max) mew-highlight-body-max-size)
				    t)
	    (put-text-property (match-beginning 0) (match-end 0)
			       'face 'mew-message-highlight-keyword-face)))))))
 
(add-hook 'mew-message-hook 'mew-message-highlight-keyword)

野球

日曜日、今年最初の野球の練習。練習終了後、仲間の自宅で飲んだのだが、近来稀に見るレベルの大酔っぱらいになってしまった。

ドッグラン+ドッグカフェ

月曜日に行ってきた。有料だけあって、おしゃれだ。会員になるかどうかは不明。


2005-01-13 (Thu) [長年日記]

minibuffer

に表示されるメッセージやエラーのメッセージでは、

  • 大文字で始める (変数名とかが最初に来なければ)
  • 最後に "." は付けない。(複数文の場合は、最後の文には "." を付けない)
  • can't などの短縮形は使わない

以後、もっともっと気をつけます (__)


2005-01-18 (Tue) [長年日記]

SF大作

ハイペリオン、ハイペリオンの没落、エンディミオン、エンディミオンの覚醒の四部作読了。ダン・シモンズってずーーとホラー作家だと思っていたのよ。
個人的には中学生のときに読んだ「デューン」よりはちと落ちるが、十分上位に入る SF。

そういえば、

矢野徹氏は去年なくなられたのだよな。合掌。


2005-01-19 (Wed) [長年日記]

SPAM を読もう!!

こんなことに無駄な労力をかけたい気分だったので :-)
mew-dist に出したのよりちょっとだけ進化したような感じ。
(add-hook 'mew-summary-mode-hook
	  (lambda ()
	    (define-key mew-summary-mode-map "`" 'mew-force-view-strange-message)))
 
(defconst mew--fake--decode nil)
(defun mew-force-view-strange-message (&optional arg)
  (interactive "P")
  (if (not mew-mule-p)
      (message "This command cannot be used on non-Mule Emacs")
    (mew-summary-msg-or-part
     (mew-summary-goto-message)
     (let ((mew-cs-database-for-decoding mew-cs-database-for-decoding)
	   (mew--fake--decode t)
	   (mew-decode-broken t)
	   (mew-use-name-parameter t)
	   (mew-use-alternative nil)
	   (mew-use-text-body t)
	   (orig-lang current-language-environment)
	   lang cs-env)
       (when arg
	 (setq lang (mew-input-language-name
		     (format "Language (%s): " orig-lang) orig-lang))
	 (setq cs-env (mew-set-language-environment-coding-systems lang)))
       (setq mew-cs-database-for-decoding
	     (cons '("unknown" . undecided) mew-cs-database-for-decoding))
       (unwind-protect
	   (mew-summary-analyze-again)
	 (when (and arg cs-env)
	   (mew-reset-coding-systems (car cs-env) (cdr cs-env))))))))
 
(defadvice mew-header-decode (around fake-decode activate)
  (if mew--fake--decode (ad-set-arg 0 "unknown"))
  ad-do-it)
 
(defadvice mew-decode-charset-conv (around fake-decode activate)
  (when mew--fake--decode
    (mew-xinfo-set-warning
     (cons "Charset FAKE!!\n" (mew-xinfo-get-warning)))
    (when (eq mew--fake--decode 'mime)
      (mew-xinfo-set-warning
       (cons "Mime-Version: FAKE!!\n" (mew-xinfo-get-warning))))
    (ad-set-arg 0 "unknown"))
  ad-do-it)
 
(defadvice mew-decode-rfc822-header (after fake-decode activate)
  ;; (list mimep subj from)
  (when (and mew--fake--decode
	     (not (car ad-return-value)))
    (setq mew--fake--decode 'mime)
    (setcar ad-return-value t)))
良い子のみなさんは使わない方が良いと思われるし、こんな大事な関数群に advice かけちゃって良いのか?という気もする。

効能

  • ` を押すと、間違った chaset でも Emacs にまかせて Decode する
  • ` を押すと、C-cC-l と違って MIME の解析もする
  • ` を押すと、Mime-Version: が無くても MIME なメールと見なして解析する
  • C-u ` を押すと、言語が選べる
  • 結果を捨てたいときは、. したり zc したり

もしも

あとなにかやるとしたら、
  Subject: [palm-ml 5755] =?ISO-2022-JP?B?GyRCJGQkQyRIPVAkPyRfJD8kJCRHJDkkTRso
          Qg==?=
こんなのを救うかどうかか。。。これはちょっと大変だな。

2005-01-21 (Fri) [長年日記]

昨日は

寝込んだ。

今日は

めちゃくちゃ ;_;

ダン

虚勢^H^H去勢手術決行。今夜は病院で止まって、明日迎えに行く。また、物いり。。。;_;

一眼レフの定義

先生!! FZ3 って、レンズを通った光をファインダで確認するまでの間に Reflex しているところがあるようには見えないんですが。。。

そんなこと言ったら、ぼくの COOLPIX 2100 も 4x5 とか 8x10 とかの大判カメラもぜーーんぶ一眼レフになっちゃいます。

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

kose [COOLPIXって「ファインダー:実像式光学ズームファインダー、LED表示(ファインダー横)」って書いてる。よくわか..]


2005-01-28 (Fri) [長年日記]

*レフレックス*

ですってば。

メール転送ルート

世知辛い世の中になってきて、ぼくもお外のメールを社内に入れないように、会社のメールを外部にフォワードしないように、としないとまずいらしい。こんなことで賞罰くらうのもいやなので、まずは第一ステップで meadowy.org から会社 ^^;;; と ISP の二ヶ所にまわすようにし、会社のメールを外部に出すのをやめてみた。

が、単に ISP にまわすと spam だらけだし、Zaurus で spam filter 動かすのも無茶だし、おうちにはサーバないし。うーーーんと悩んだのだが、spam filter といえば GMail!! と気づいた。

GMail

まず、GMail に forward して、GMail から ISP に forward するようにしたのだが、単に forward するだけだと spam filter が動いてくれない。

おそらく世の中で同じことを考える人はたくさんいるだろうと gmail forward spam で、-in:spam 発見。おぉ、動いたよ。素晴らしい。

しかし、forward の機能を使うと、pop は disable になってしまう模様。もう一点、もしかすると、同じ Message-ID を持つメールが二通来ても一通は消えちゃっているかもしれない。

巡回

そうすると、社内(仕事)と ISP(遊び)と両方からメールを retrieve しないといけないのだが、いちいち case を変えてアクセスするのは面倒くさいので、mew-junkai() というのを作ってみた。だが、こっちも同じことを考える人はいるもので、Mew 巡回 で、こちらを発見。作る前に探せばよかったよ。考え方もほとんど一緒だし。。。
が、もったいないので公開。回りたい case を mew-junkai-cases に設定すればよし。って、-junkai- ってやめときゃよかった、ちょっとみっともない。。。
(defcustom mew-junkai-cases '("default")
  "*Cases of JUNKAI."
  :group 'mew-net
  :type '(repeat (string :tag "Case" :size 0)))
 
(add-hook 'mew-summary-mode-hook
	  (lambda ()
	    (define-key mew-summary-mode-map "\M-i" 'mew-junkai)))
 
(defvar mew-junkai--cases nil)
(defvar mew-junkai--local nil)
(defvar mew-junkai--rttl 0)
(defvar mew-junkai--left 0)
 
(defun mew-junkai (&optional auto)
  (interactive "P")
  (remove-hook 'mew-pop-sentinel-non-biff-hook 'mew-junkai-next)
  (remove-hook 'mew-imap-sentinel-non-biff-hook 'mew-junkai-next)
  (remove-hook 'mew-scan-sentinel-hook 'mew-junkai-local)
  (setq mew-junkai--local nil)
  (make-variable-buffer-local 'mew-junkai--local)
  (setq mew-junkai--rttl 0)
  (setq mew-junkai--left 0)
  (when (or auto (y-or-n-p "JUNKAI start? "))
    (setq mew-junkai--cases (copy-sequence mew-junkai-cases))
    (let ((cases mew-junkai--cases)
	  (procs (process-list))
	  (continue t)
	  (regex (concat "^" (regexp-opt `(,mew-imap-info-prefix
					   ,mew-pop-info-prefix
					   ,mew-local-info-prefix)))))
      (setq mew-junkai--cases (mew-uniq-list mew-junkai--cases))
      (while cases
	(unless (and (member (car cases) mew-config-cases)
		     (mew-use-retrieve (car cases)))
	  (setq mew-junkai--cases
		(delete (car cases) mew-junkai--cases)))
	(setq cases (cdr cases)))
      (unless mew-junkai--cases
	(message "JUNKAI: No cases")
	(setq continue nil))
      (catch 'loop
	(while procs
	  (when (string-match regex (process-name (car procs)))
	    (message "JUNKAI: Anthor Mew process running")
	    (setq continue nil)
	    (throw 'loop nil))
	  (setq procs (cdr procs))))
      (when continue
	(mew-junkai-next 'first)))))
 
(defun mew-junkai-next (&optional first)
  (remove-hook 'mew-pop-sentinel-non-biff-hook 'mew-junkai-next)
  (remove-hook 'mew-imap-sentinel-non-biff-hook 'mew-junkai-next)
  (remove-hook 'mew-scan-sentinel-hook 'mew-junkai-local)
  (setq mew-junkai--local nil)
  (when (and (not first) (boundp 'rttl) (integerp rttl))
    (setq mew-junkai--rttl (+ mew-junkai--rttl rttl))
    (when (and (boundp 'left) (integerp left))
      (setq mew-junkai--left (+ mew-junkai--left left))))
  (if (null mew-junkai--cases)
      (let ((rttl mew-junkai--rttl)
	    (left mew-junkai--left)
	    (leftmsg ""))
	(cond
	 ((= left 1)
	  (setq leftmsg " (1 message left)"))
	 ((> left 1)
	  (setq leftmsg (format " (%d messages left)" left))))
	(cond
	 ((= rttl 0)
	  (message "JUNKAI done: No new messages%s" leftmsg))
	 ((= rttl 1)
	  (message "JUNKAI done: 1 new message retrieved%s" leftmsg))
	 (t
	  (message "JUNKAI done: %d messages retrieved%s" rttl leftmsg)))
	(run-hooks 'mew-junkai-done-hook))
    (let ((mew-case-input (car mew-junkai--cases))
	  (mailbox (mew-mailbox-type (car mew-junkai--cases)))
	  (pos (point))
	  (obuf (current-buffer))
	  (mpos (marker-position mew-summary-inbox-position))
	  (mbuf (marker-buffer mew-summary-inbox-position)))
      (setq mew-junkai--cases (cdr mew-junkai--cases))
      (sit-for 0.5)
      (message "JUNKAI: case '%s' start..." mew-case-input)
      (sit-for 0.5)
      (mew-summary-retrieve 'noflush)
      (cond
       ((eq mailbox 'pop)
	(add-hook 'mew-pop-sentinel-non-biff-hook 'mew-junkai-next 'append))
       ((eq mailbox 'imap)
	(add-hook 'mew-imap-sentinel-non-biff-hook 'mew-junkai-next 'append))
       ((eq mailbox 'mbox)
	(add-hook 'mew-scan-sentinel-hook 'mew-junkai-local 'append)
	;; so mew-local-info- clear before run-hooks.
	(setq mew-junkai--local 'inc)))
      (unless first
	(when (buffer-name obuf)
	  (set-buffer obuf)
	  (goto-char pos))
	(when (buffer-name mbuf)
	  (set-marker mew-summary-inbox-position mpos mbuf))))))
 
(defun mew-junkai-local ()
  (when (eq mew-junkai--local 'inc)
    (setq mew-junkai--local nil)
    (mew-junkai-next)))
 
(defadvice mew-summary-retrieve (before junkai-hooks activate)
  "JUNKAI remove-hooks"
  (remove-hook 'mew-pop-sentinel-non-biff-hook 'mew-junkai-next)
  (remove-hook 'mew-imap-sentinel-non-biff-hook 'mew-junkai-next)
  (remove-hook 'mew-scan-sentinel-hook 'mew-junkai-local)
  (setq mew-junkai--local nil))

ルート確保

こういうのやるときに社内から社外に出るルートは三つほどあるのだが、社外から社内はひとつしかないので少々不安だ。是ちゃんの保守次第だ。がんばれ。だけど、そのルートが死んでも、単に休みのときに仕事のメールが読めなくなるだけだから、別に良いような気もする。

解散

大学のときの所属サークルが今年度で解散するとのこと。今二人しかいない部員が二人とも卒業して部員がいなくなってしまうので、部室を大学に返さなければならないらしい。2月末の解散会には出るぞ。


2005-01-30 (Sun) [長年日記]

勘違い

もしかすると、同じ Message-ID を持つメールが二通来ても一通は消えちゃっているかもしれない」というのは完璧に勘違いの模様。じゃ、あのメールはどこに行ったのだろう。。。。

知らなかった

ついさっきまで気づかなかったのだが、Zaurus SC-C860 の Fnキーって、一回押すと離しても押されたことを覚えているのね。だからたまにわけのわからない入力をして悩んでいたわけだよ。

ダンの日記

いかん、書かないといけないことが山積みだ。今週中には何とか書くか。

Emacs での日本語入力

ぼくの基本は、Wnn (6とか FreeWnn とか) + Tamago V4 だけど

  • もう何年も Note PC な Meadow では MS-IME を使っているけど、やっぱりどうしても気に入らない。だけど、Anthy はWindows でもあっさり動く。
  • Zaurus で FreeWnn + Tamago V4 を使っているが、待てないぐらい遅く感じるときがある。だけど、Anthy はそこそこ速くてストレスを感じない。

の二つの理由からやっぱり anthy をあきらめることができない。最初の理由は、いまなら coLinux でなんかサーバ立ち上げればおしまいだし、二つ目の方は、FreeWnn が遅いのか Egg が遅いのかなど考えてもいない。

Anthy.el 改造

で、Anthy + (Anthy 付属の)Anthy.el をちょっと使ってみたのだけど、やっぱり(Anthy 付属の)anthy.el の挙動には体が馴染めないみたいだ。で、またまた、ほんのちょっとだけ考えてみたが、egg-anthy を使えるレベルまで持っていくより、anthy.el を自分好みにする方が 100倍楽そうかも。と思いほーーーーんのちょっとだけコーディング開始。

というわけで続く。。。なのだがいつまで続くのかはいつも通り完璧に謎。。。

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

maru [一部のキーだけですが、無条件にステータスを保持してくれるので、これまたちょっと嫌な時があります。 ちゃんとフラッシュ..]


2005-01-31 (Mon) [長年日記]

舌の根も乾かないうちに

やっぱり egg-anthy で攻めることにした。

巡回

ちょっとだけ、変更

ぼくは pop でしか使っていないので、凝ったメッセージは pop のみ。


書いている人: 白井秀行 (mailto:shirai@meadowy。org)
訪問して下さった人: 今日: 人, 昨日: , 過去: 人 (2007年5月10日から)
RDF Feed