トップ 追記

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

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


2010-07-31 (Sat) [長年日記]

7月の日記を

一日遅れで。。。

| Bookmark:

激動!!

まったくもって予想もしていなかった人事移動を今月の前半に言われた。断る正当な理由も無いのでどうしよもなくただひたすら二週間ほど悶々としていただけなのだが、何とかラスト一週間で気持ちを持ち直すことが出来たような感じ。

移動はあるかもなぁ〜とは思っていたのだけど、移動先の部署が想定の範囲を遥かに越えて、ぼくにとっては成層圏まで来たような感じなのよね。

まぁ、何とかするしか無いのだけど、詳細は8月の日記に書くことにしよう。

どっちにしろ、プロの技術者?としての生活は本日を持って終了!!幸せでした!!

| Bookmark:

車買った

激動!!の前に車を買って、悶々としているときに届いた。買ったといっても、初回登録から六年もたった中古のシエンタ。とはいえ、ボコボコのまま10年乗った車*1からの乗り換えだと新車のように感じる。

最初から中古車って決めていたのだけど、当たり外れが怖かったので、安心のためにトヨタのディーラーから買った。町の中古車屋さんと比べると、ちょっと高く付くのだけど、綺麗だし、DVDカーナビ付いているし、タイヤ二本の値段で四本買えたし、納車後内装関係でちょっと壊れていたところを発見したら無償で部品変えてくれたし。まぁ満足。前のオーナさんも丁寧に乗っていたようなので、とりあえず、四年は乗ろうっと。けど、各種スポイラーとかは必要なかったかもな。

というわけで、福岡ナンバーでいろいろとスポイラーとかついている白*2の古めのシエンタ見かけたらよろしく。

| Bookmark:

*1 九州で足立ナンバーでボコボコのディオンは俺しかいなかっただろう :-)

*2 ホワイトパールと言って、メーカオプション色とのこと


2010-06-24 (Thu) [長年日記]

最近やったこと

など書いてみる。

| Bookmark:

mew-nmz.el

"kj" とかでオリジナルのメッセージに飛ぶときに、リモートフォルダのファイルでもローカルフォルダ形式のまま*1だったので、ちゃんと "%[Gmail]/すべてのメール" に飛ぶようにした。1年と6ヶ月ぶりのアップデート。

| Bookmark:

*1 +#imap/user@@gmail.com@imap.gmail.com#imap/[Gmail]/&MFkweTBmMG4w4TD8MOs- とか

egg-anthy

Anthy-dev の MLでちゃんとした typetab ファイルを作っていただいたので対応。
ちなみに、このファイルに登録してあるものしか anthy-dic-tool で扱えず、なおかつ、egg-anthy の単語登録は anthy-dic-tool を使っているのだよ。使用上の注意があるので、以下に README の内容を示しておきます。
5.3 辞書登録機能アップデート
 2010年 6月24日版以降の egg-anthy の辞書登録機能は、Anthy-dev ML で大泉さ
 んが更新した typetab に対応しています。
  
    Subject: [Anthy-dev 3787] Re: anthy-dic-tool
    From: Jun Oizumi <vagus.xyz@xxxxx.xxxx>
    To: Anthyの開発 <anthy-dev@xxxx.xxxx.xxxx>
  
    大泉です。
  
    2010/6/21 Hideyuki SHIRAI :
    > From: NIIBE Yutaka さん曰く
    [...]
    >> となります。typetab には #JN がありません。
    >
    > 新部さんの言われているように typetab が古いのかな? typetab だと
    > JNM ですものね。
  
    typetab を直すだけでいいのなら…という訳で、ざっくり直してみました。
  
(1) Anthy 本体の typetab がアップデートされるまでは、上記のメールに付属し
 ている typetab、または、同梱している "typetab-20100524" を (例えば)
 /usr/local/share/anthy/typetab としてインストールしてください。
  
(2) 固有名詞:人名を表現する品詞コードが変わりました。従来の egg-anthy で人
 名を登録した方は、~/.anthy/private_words_default 中の " #JNM*" を " #JN*"
 に置換しておかないと、"anthy-dic-tool --dump" 等が正常に動作しません。
こっちは、なんと三年ぶりのアップデート。
| Bookmark:

Anthy の郵便番号辞書

詳細は Anthy の ML 参照。とりあえず、個人的にはすっかり満足してしまったので、これ以上首を突っ込むかどうかは不明。

| Bookmark:

2010-05-18 (Tue) [長年日記]

いつまでも Mew を使おう!!

最近、世知辛い世の中になってきて、会社で MUA は Becky! をこういう設定で使うように、というお触れが出ている。ちなみに「こういう設定」というのは

  • 送信前の送付先アドレス確認チェック
  • 送信時の添付ファイルチェック
  • グループアドレス使用禁止

だ。Becky! のグループアドレスというのは、hoge で送信したら、hoge に登録してある fooさんも barさんもみんな同時に送信するというものらしいが、それと同等のものは現在の Mew はそもそも対応していない*1と思うので前者二つに対応してみた

| Bookmark:

*1 昔はあったような気がするけど。。。

mew-draft-check-whom

もともとは、送付先アドレスチェックのために作って、後から添付ファイルの機能も入れたのでこんな名前。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
(defvar mew-draft-check-whom-always-ask nil
  "宛先に関係なくいつでも質問するときは non-nil")
 
(defvar mew-draft-check-whom-attaches t
  "添付ファイルのチェックをしない時は nil")
 
(defvar mew-buffer-whom "*Mew whom*")
 
(add-hook 'mew-make-message-hook 'mew-draft-check-whom)
 
(defadvice mew-header-make-message (around ask-address activate)
  (mew-draft-check-whom)
  ad-do-it)
 
(defadvice mew-header-send-message (around ask-address activate)
  (mew-draft-check-whom)
  ad-do-it)
 
(defun mew-draft-check-whom-ask (addr case)
  (or mew-draft-check-whom-always-ask
      (progn
	(setq addr (downcase (or (mew-addrstr-parse-address addr) addr)))
	(let ((domain (and (string-match "@\\(.+\\)$" addr)
			   (downcase (mew-match-string 1 addr)))))
	  (not (or (not domain)
		   (member addr (mew-safe-addresses case))
		   (member domain (member domain (mew-safe-domains case)))))))))
 
(defun mew-draft-check-whom ()
  "Display expanded short names and attaches in other window."
  (interactive)
  (let ((buf (current-buffer))
	(case (mew-tinfo-get-case))
        (destination-list
         (mew-uniq-list (append '("From:") mew-destination:-list
                                '("Reply-to:" "Newsgroups:" "Fcc:"
                                  "Resent-To:" "Resent-Cc:"
				  "Resent-Dcc:" "Resent-Bcc:"))))
	(wincfg (current-window-configuration))
	(ask nil)
        to-cc field head pos attaches)
    (mapc (lambda (list)
	    (setq to-cc (cons (cons list (mew-header-get-value list)) to-cc)))
	  destination-list)
    (setq to-cc (nreverse to-cc))
    (when (and mew-draft-check-whom-attaches
	       (setq pos (next-single-property-change (point-min) 'mew-attach-begin)))
      (goto-char pos)
      (forward-line 1)
      (setq pos (point))
      (mew-attach-next)
      (while (not (= (point) pos))
	(setq pos (point))
	(when (mew-attach-not-line012-1-dot)
	  (let* ((nums (mew-syntax-nums))
		 (syntax (mew-syntax-get-entry mew-encode-syntax nums))
		 (name (mew-syntax-get-file syntax))
		 (cdpl (mew-syntax-get-cdp syntax))
		 (ctl (mew-syntax-get-ct syntax))
		 (cdpname (mew-syntax-get-filename cdpl ctl)))
	    (unless (string-match "/$" name)
	      (if (or (not cdpname) (string= name cdpname))
		  (setq attaches (cons (cons nums name) attaches))
		(setq attaches (cons (cons nums (format "%s (%s)" cdpname name)) attaches))))))
	(mew-attach-next))
      (setq attaches (nreverse attaches)))
    (message "Checking recipients ... ")
    (get-buffer-create mew-buffer-whom)
    (switch-to-buffer-other-window mew-buffer-whom)
    (mew-erase-buffer)
    (while to-cc
      (setq field (car (car to-cc)))
      (setq head (cdr (car to-cc)))
      (setq to-cc (cdr to-cc))
      (when head
        (setq head (mew-replace-white-space head))
        (setq head (mew-split head ?,))
        (insert (format "%s %s\n" field (car head)))
	(setq ask (or ask (mew-draft-check-whom-ask (car head) case)))
        (setq head (cdr head))
        (while (setq field (car head))
	  (setq ask (or ask (mew-draft-check-whom-ask (car head) case)))
          (when (string-match "^ +" field)
            (setq field (substring field (match-end 0))))
          (insert (format "\t%s\n" field))
          (setq head (cdr head)))))
    (goto-char (point-min))
    (while (re-search-forward ",\\([ \t]*[^\n]\\)" nil t)
      (goto-char (match-beginning 1))
      (insert "\n")
      (when (looking-at "^[ \t]+")
        (delete-region (match-beginning 0) (match-end 0)))
      (insert "\t"))
    (goto-char (point-min))
    (insert (propertize "ヘッダーチェック" 'face 'mew-face-header-warning))
    (insert "\n")
    (mew-highlight-header-region (point) (point-max))
    (when attaches
      (goto-char (point-max))
      (insert "\n")
      (insert (propertize "添付ファイル" 'face 'mew-face-header-warning))
      (insert "\n")
      (dolist (alist attaches)
	(let ((nums (car alist))
	      (file (cdr alist)))
	  (insert (format "%s\t%s\n"
			  (propertize (concat (mapconcat 'number-to-string nums ".") ".")
				      'face 'mew-face-header-marginal)
			  (propertize file 'face 'mew-face-header-from))))))
    (goto-char (point-min))
    (pop-to-buffer buf)
    (mew-buffers-setup (buffer-name))
    ;;
    (when (or ask attaches)
      (pop-to-buffer mew-buffer-whom)
      (unless (pos-visible-in-window-p (point-max) (selected-window))
	(delete-other-windows))
      (unwind-protect
	  (unless (y-or-n-p "Sure? ")
	    (cond
	     ((and ask attaches)
	      (error "Edit address or attaches"))
	     (ask
	      (error "Edit address"))
	     (attaches
	      (error "Edit attaches"))
	     (t
	      (error "Edit something"))))
	(set-window-configuration wincfg)))))
 
;; 必要ないかも
(add-hook 'mew-send-hook
	  (lambda ()
	    (when (get-buffer mew-buffer-whom)
	      (kill-buffer mew-buffer-whom))))    
| Bookmark:

arc-mode でパスワード付き ZIP を扱う

mew-dist で話が出ていたので作ってみた。が、mew-dist に出せるほどの自信はない。ぼく自身も arc-mode は view ぐらいしか使わないし、以下すべての arc-mode に関して日本語ファイルの対応は適当。view できるファイルは出来るし、view 出来ないファイルは出来ない(が差がわかんないの)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
(defvar archive-extract-passwd nil)
(make-variable-buffer-local 'archive-extract-passwd)
 
(defadvice archive-zip-extract (around zip-passwd activate compile)
  (if (equal (car archive-zip-extract) "unzip")
      (let ((args (append (cdr archive-zip-extract) (list archive name)))
	    (passwd (with-current-buffer (get-buffer archive-superior-buffer)
		      archive-extract-passwd))
	    enc)
	(if passwd
	    (setq enc t)
	  (with-temp-buffer
	    (let ((case-fold-search nil)
		  (coding-system-for-write
		   (or (and (boundp 'archive-file-name-coding-system)
			    archive-file-name-coding-system)
		       file-name-coding-system))
		  (coding-system-for-read
		   (or (and (boundp 'archive-file-name-coding-system)
			    archive-file-name-coding-system)
		       file-name-coding-system)))
	      ;; zipinfo mode
	      (apply 'call-process "unzip" nil (current-buffer) nil
		     (list "-Z" archive name))
	      (goto-char (point-min))
	      (when (and (re-search-forward "[0-9] \\([tTbB]\\)[^ ] " nil t)
			 (string= (upcase (match-string 1)) (match-string 1)))
		(setq enc t)))))
	(when enc
	  (unless passwd
	    (setq passwd (setq passwd (read-passwd "ZIP passwd: "))))
	  (setq args (append (list "-P" passwd) args)))
	(let ((coding-system-for-write
	       (or (and (boundp 'archive-file-name-coding-system)
			archive-file-name-coding-system)
		   file-name-coding-system))
	      (coding-system-for-read
	       (or (and (boundp 'archive-file-name-coding-system)
			archive-file-name-coding-system)
		   file-name-coding-system)))
	  (apply 'call-process "unzip" nil
		 t  ;; emacs-24 (if stderr-file (list t stderr-file) t)
		 nil args))
	(if (zerop (buffer-size))
	    (with-current-buffer (get-buffer archive-superior-buffer)
	      (when enc
		(message "may be password wrong"))
	      (setq archive-extract-passwd nil)
	      (setq ad-return-value nil))
	  (with-current-buffer (get-buffer archive-superior-buffer)
	    (setq archive-extract-passwd passwd)
	    (setq ad-return-value t))))
    ad-do-it))    
| Bookmark:

LHA の directory セパレータ '\' 対応

ついでなので、Windows のアーカイバ で作った lzh を unix とか cygwin の lha で view するもの
1
2
3
4
5
6
7
8
9
(defadvice archive-extract-by-stdout (before fix-lha activate)
  (when (string= "lha" (car command))
    (let ((tmp name))
      (setq name "")
      (while (string-match "\\\\" tmp)
	(setq name (concat name (substring tmp 0 (match-beginning 0)) "/"))
	(setq tmp (substring tmp (match-end 0))))
      (setq name (concat name tmp))
      (setq name (encode-coding-string name default-file-name-coding-system)))))    
| Bookmark:

日本語のファイルが含まれる zip/lha にちょっとだけ対応

1
2
3
4
5
6
7
8
9
10
(add-hook 'archive-zip-mode-hook 'my-archive-set-cs)
(add-hook 'archive-lzh-mode-hook 'my-archive-set-cs)
 
(defun my-archive-set-cs ()
  (make-local-variable 'file-name-coding-system)
  (setq file-name-coding-system 'shift_jis))
 
(when (< emacs-major-version 23)
  (defadvice archive-summarize-files (before set-multibyte activate compile)
    (set-buffer-multibyte t)))    
| Bookmark:

2010-04-17 (Sat) [長年日記]

怪物くん

大野くん*1とチェ・ホンマン、鹿賀丈史に笑った。しかし、鹿賀丈史ってこういうの似合うなぁ〜。また、チェ・ホンマンは台詞が『フンガー』だけで良かったね :-)

個人的には、怪物くんの声はぜひぜひチャコちゃんにアテレコをして貰いたいな。見た目は問題無いのだけど、声のイメージが違いすぎるのよ。ちなみに、私は、『ユカイツーカイ怪物くん』ではなくて『おれは怪物くんだ』の世代。

| Bookmark:

*1 最近、娘が嵐の大ファン(特に大野くん)で嵐のTVばかり見せられている。以前は山ピーだったのにな、浮気者め

w3m-open-all-links-in-new-session & sense-region

taiyaki(小松くん)のsense-regionで矩形選択をしているときにemacs-w3mでw3m-goto-url-new-session(w3m-open-all-links-in-new-session)したときに、矩形内のURLだけ開くのを作ってみた。最近elisp全然書いていないから結構手間取るな。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
(defadvice w3m-open-all-links-in-new-session (around for-sense-region activate)
  "sense-region で rectangle 選択のときに矩形範囲の URL のみ開く"
  (if (and (boundp 'sense-region-status)
	   (eq sense-region-status 'rectangle))
      (let ((buffer (current-buffer))
	    (prev start)
	    (url (w3m-url-valid (w3m-anchor start)))
	    urls all
	    startend startcol startpt endcol endpt lbeg lend)
	(when (w3m-region-active-p)
	  (w3m-deactivate-region))
	(when url
	  (setq urls (list url)))
	(save-excursion
	  (goto-char start)
	  (setq startcol (current-column))
	  (beginning-of-line)
	  (setq startpt (point))
	  (goto-char end)
	  (setq endcol (current-column))
	  (forward-line 1)
	  (setq endpt (point-marker))
	  ;; ensure the start column is the left one.
	  (if (< endcol startcol)
	      (let ((col startcol))
		(setq startcol endcol endcol col)))
	  ;; start looping over lines
	  (goto-char startpt)
	  (while (< (point) endpt)
	    (save-excursion
	      (move-to-column startcol)
	      (setq lbeg (point))
	      (move-to-column endcol)
	      (setq lend (point)))
	    (setq startend (cons (cons lbeg lend) startend))
	    (forward-line 1))
	  (setq startend (nreverse startend))
	  (goto-char start)
	  (setq all (not (and (bolp)
			      w3m-current-url
			      (string-match "\\`http://\\(?:[^/]+\\.\\)*google\\."
					    w3m-current-url))))
	  (while (progn (w3m-next-anchor)
			(and (> (point) prev)
			     (< (point) end)))
	    (setq prev (point))
	    (setq endpt (max start
			     (1- (next-single-property-change
				  prev 'w3m-anchor-sequence nil end))))
	    (when (and (setq url (w3m-url-valid (w3m-anchor)))
		       (string-match "\\`https?:" url)
		       (catch 'inrectangel
			 (dolist (begend startend)
			   (when (or (and (>= prev (car begend))
					  (<= prev (cdr begend)))
				     (and (>= endpt (car begend))
					  (<= endpt (cdr begend)))
				     (and (< prev (car begend))
					  (> endpt (cdr begend))))
			     (throw 'inrectangel t)))
			 nil)
		       (or all (bolp)))
	      (push url urls)))
	  (setq urls (nreverse urls))
	  (while urls
	    (setq url (car urls)
		  urls (cdr urls))
	    (set-buffer buffer)
	    (w3m-view-this-url-1 url arg t))))
    ad-do-it))    
なお、sense-region.elとか全然メンテされていないので、手を加えないで最近のEmacsで動くのかどうかは知らない。手元のは手をいれてあると思うのだけど、なにをやったのかよく覚えていない。
| Bookmark:

2010-03-31 (Wed) [長年日記]

三月のまとめ

三月に日記を書いていないので、まとめ

  • とりあえず大忙しなのは予定通り終了(辛かった)
  • 再度の転勤で通勤時間が一気に五分の一に(一年四ヶ月辛かった)
    • 慢性的な極度の肩こりと頭痛が収まった
    • 軽い肩こりと腰の痛みはあいかわらずだけど。。。
  • 息子は第一志望(?)の県立高校合格
    • 二年連続私立高校は避けられた ^^;;;
  • 娘は結構近所に道場の出来た極真系空手にまた入るらしい
    • 東京のときに茶帯までいったんだけど、また白帯から!頑張れ!!

| Bookmark:

2010-02-26 (Fri) [長年日記]

二週間経った

二週間前に泣いても笑ってもあと二週間とか書いてから、すでに二週間経ったけど、現時点であと三週間に増えてしまいました ^^;;;

気力はまだなんとかなるのだけど体力的にイッパイいっぱいなので、結構辛い。

| Bookmark:

さらば J:COM

こちらに引っ越してきてすぐにお世話になった J:COM。その後、マンションパックで IP電話にもした J:COM。去年の春にやっとこさ NTT の光が来たような世帯数の少ないマンションではありがたかったです。だけど、やっぱりマンションパックの年に一度の解約手数料がかからないタイミングで解約させていただきました。

長い間ありがとう。福岡に来てすぐにオンラインにすることができて、めちゃくちゃ助かりました。

| Bookmark:

NTT-West

フレッツ 光ネクスト マンションタイプ ミニ(ひかり配線方式) + 昔から ID を持っている so-net に乗り換えました。月額がどうなるかはあまり考えていないけど、ほぼ同等の値段*1で、1.5倍ぐらい速い。

| Bookmark:

*1 か、ちょっと安いかな?


2010-02-14 (Sun) [長年日記]

あと二週間

泣いても笑ってもファイナル出図まであと二週間。ところがどっこい、全然年休を取っていないから結構休まなくてはいけない。ある意味恵まれているんだけど、今それどころじゃないんですけど。

どうせ、休んでも家でソース読んでいるし ;_;

本日、我が家のノートパソコンで久しぶりにシミュレータを立ち上げたら、オブジェクトをロードしきれなくて落ちました。うーーむ。やっぱり、野性の勘だけが最後の頼りか。

| Bookmark:

あと2.5週間

で所属部署ごと転勤なので、通勤にかかる時間が、朝は 1/6*1, 夜は 1/4〜1/5*2 になります。ダンよ、一年四ヶ月の間、朝の散歩の手抜きをしていてごめんな。とーちゃんも辛かったのだよ。

| Bookmark:

*1 1時間55分が20分弱

*2 帰りは25分ぐらいかかるかな?

息子

只今高校入試真っ只中なのだが、本日、私立後期入試というのを受けてきた。去年娘の受験があったから、まだちょっとは理解しているのだが*1、日本国内でも地域によってこんなに(高校)入試のノウハウが違うというのは結構面倒。ある意味東京が一番面倒なんだろうけど、おいら、それしか知らないもんな。なんで、前期、後期と二回しか私立高校の受験日が無いんだろうか。しかも、前期の結果を見て後期を決める(ものだと勝手に親は考えていた)のだけど、そういう奴はウチの息子の中学校でウチだけだったらしい。普通は、前から決めているのだって。

| Bookmark:

*1 が、娘のときは、『ま、これでいいや』であまり考え無かったかも ^^;

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

maru [結構特殊な面もありますけど、きっちりとカテゴライズされてるので、ある意味楽とも言える某所の高校受験体系という気もしま..]


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