金曜日にネットサーフィンをしていたら、(有)マスターで『m500/m505/c505 16MByte 増設、5月15日まで 通常価格8800円→キャンペーン価格4980円』となっているのを発見した。う〜〜〜、4000円安いのは大きいのだ。だけど、お店が日曜日はお休みなので、実質『明日しかない!!』
というわけで、朝一の用事を済ましてから、電話をかけて持ち込み大丈夫の返事を貰って秋葉原にレッツラゴー!!一時間後に手元に帰ってきた m505 は無敵(?)の 16MByte。そのときにお店の人と話したら『キャンペーン期間、伸びたんですよ』と言ってらしたし、Web をみてもそうだったので、焦って今日行くことも無かったんだけど、まぁいいや。それから、8MByte/5000円 が高いか安いかは気にするのはやめよう。JackFlash の 500KByte/2500円 よりマシだし。
最近は PC関係などでなにか買うものがあっても錦糸町のヨドバシカメラで終わりにしてしまうので、秋葉原は久しぶりだったが、また、大きく変わっているなぁ。T-Zone みなみが巨大ゲームセンターになっていた(しらんかった)。あと、正直言って美少女ゲーム系のお店は消えて無くなって欲しい。あんなのがあんなにあったら、子供連れで秋葉原に行けないじゃん :-<
今日でとりあえず歯医者さん終了。今回は丁度4ヶ月なので、歯医者さん通いの期間は短い方だった。しかし、ここ一ヶ月は生まれて初めて経験する歯槽膿漏のレーザ治療だった。一本良くならないのがあって、3ヶ月後の状態でどうするか決めようということになった。
っとしている。とりあえず、一山越えたからか。
昨日の夜、ぼくはほとんど熟睡に近い状態だったのが、となりで寝ている(と思っていた)女房がとても苦しんで痛みをこらえているような声を出していたので、飛び起きて『どうした』と声をかけた。
なんということはない、『よつばと!』を読んで笑いをこらえていただけであった。
ちなみに、小4の息子は『地球温暖化』がなんのことか理解できていない。
「riece で使っていると TAB キーが動かないよ」と指摘を受けたので、egg-pobox で使う map はプロパティ使うようにしてみた。とりあえず OK。
しかし、久しぶりにソースを見たんだけど汚すぎ。書き換えようかなぁ。。。とも思うのだが、動いているのでめんどい。Zaurus では非常に有効なソフトだと思うが別に売れているわけでもないし ^^;;;
会社の Solaris で今までず〜〜〜〜〜と(12〜13年?) kterm を愛用していたのだが、本日発作的に mlterm を導入してみた。なんでだかというと、なぜだかずーーと kterm 上の emacs -nw では ALT(meta)キーが使えなかったからだ。
今日 emacs -nw を使っていて、突然とってもいやになってしまったのだが、ちょっと調べたら mlterm には meta キーの挙動を設定するオプションがあるから OK だろうと思ったのであった。結果は OK。
kterm/xterm の "*eightBitInput: false" のリソースは知っていて設定したのだが ALT はダメだったのだ。ふと気になってまたまた調べたら、その前に *VT100 をつけていなかったような気がする。そのためか?だとしたら相当恥ずかしいぞ。。。
!! Cyan KTerm*VT100*textColor6: #6999AEなのが書いてあったからだった。いつ書いたのかも覚えていないぐらい昔に書いたようだ。で、同じ #RRGGBB を ~/.mlterm/color に書いて OK。だけど、なんで、
hl_green=#008C4B green=#008C4Bと hl_ 付きも書かなきゃいけないのかがよくわからんが。よくわからなかったのでかたっぽずつ試したのだが、hl_ 無しの設定は w3m に効いて、ありは ls に効いていた。
常用のメガネのレンズが傷だらけになっちゃってお話にならないので、GW の中ごろにレンズを交換しにいった。作ったのは 1年と3ヶ月前でちょっと期間が短いのだけど、メガネは顔の一部なのでどうしようもない。フレームも野球とかでも使っているし、若干メッキが剥がれているところもあったのだが、親切に「これ補修しておきますね。耳あてのゴムも切れてきているので変えときますね」(しかも無償)と言ってくださった。
が、預けて二日後に「すいません。フレームの洗浄中にちょっとメッキが剥がれちゃったので、補修にもう少しお時間いただけませんか?」と連絡があり、できあがりを待っていた。預けている間はちょうど一年前に同じ度数で作りなおしたペンタックスフレームのメガネをかけていたので、特に問題無いしね。
で、今日の夕方、娘から携帯メールで「出来たってよ」と連絡があり、早めに会社を出てメガネをもらってきたのだ。で、帰宅後しみじみとながめたところ、なんとフレームがまっさらの新品になっていたのだ!!もともとボロボロだったフレームをちょっと(かどうか知らないが)劣化させただけだというのにすばらしい対処だ。初期対応のひどさを物量でなんとかカバーしようとしているどこかの電機メーカとは大違いだ。
このメガネやさんは、ぼくも女房も娘も相当貢いでいるからかもしれないけど、こういう対応はやっぱり気持ち良いですな。御近所の方は片山メガネをよろしく。お値段はお安いチェーン店とかと比べると高いけどね。生活必需品なんだから気にしない気にしない :-)
HTTP/1.0 500 Internal Server Error Date: Thu, 10 May 2007 01:48:09 GMT Content-Type: text/html Server: Apache/2.0.59 (FreeBSD) mod_ssl/2.0.59 OpenSSL/0.9.7e-p1 DAV/2 省略 MS-Author-Via: DAV Via: 1.1 mnc08 (NetCache NetApp/6.0.4P1D4), Version 1.1-Build_SOL_1074 省略 <h1>500 Internal Server Error</h1> <pre> Permission denied - tdiary.conf (Errno::EACCES) /usr/local/tdiary/tdiary.rb:497:in `initialize' /usr/local/tdiary/tdiary.rb:497:in `open' /usr/local/tdiary/tdiary.rb:497:in `load' /usr/local/tdiary/tdiary.rb:425:in `initialize' /home/shirai/public_html/diary/update.rb:21:in `new' /home/shirai/public_html/diary/update.rb:21 /usr/local/lib/ruby/site_ruby/1.8/apache/ruby-run.rb:53:in `load' /usr/local/lib/ruby/site_ruby/1.8/apache/ruby-run.rb:53:in `handler' /usr/local/lib/ruby/site_ruby/1.8/apache/ruby-run.rb:53 </pre> <div>スペースたくさん</div> Process *request to ko.meadowy.net* connection broken by remote peer
% ls -la /home/shirai/public_html/diary/tdiary.conf -rw-r---- shirai shirai ...... tdiary.confだったので、
% chmod 644 /home/shirai/public_html/diary/tdiary.confで直るかと思ったら、やっぱり直らなかった。まかせた。
(setq tdiary-update-rb "update.cgi")で、OK。サンキュー。
2ch を navi2ch とかで読んでいるとき、AA をちゃんと見たいときは 'v' を押して、aadisplay や popup を使うが、個人的には
のであまり好きではない。当然、(setq navi2ch-mona-enable t) で全部モナーフォントで表示しても良いのだけど、
のだ。と、結構以前からず〜〜〜と思っていた。
;;; Emacs だけで動く AA Viewer
;;
;; Meadow3 と Emacs 22 ぐらいで動く。XEmacs もとりあえず対応したつもり。
;;
;; navi2ch 以外でも region を指定して M-x my-aaview でも OK
;; region がなかったら buffer 全部表示
;; そうすると、今のフレームより一回り小さいフレームで AA 表示。
;; そのフレームは、'q', 'スペース', 'mouse-1', 'mouse-2' で閉じる。
;; window-system => t のときだけね
(when window-system
(setq navi2ch-article-view-aa-function 'my-aaview))
(defvar my-aaview-font-path "c:/usr/fonts/mona-font"
"*mona font path (for Meadow).")
(defvar my-aaview-font-width 8
"*mona font width")
(defvar my-aaview-font-type "medium" ;; または "bold" も OK
"*mona font type.")
(defvar my-aaview-mode-hook nil
"*Hook of my-aaview-mode.")
(defvar my-aaview-fontset-name "aaview"
"*Fontset name for my-aaview.")
(defvar my-aaview-font-height (* my-aaview-font-width 2)
"*mona font height")
(defun my-aaview-create-face ()
(unless (or (and (fboundp 'find-face)
(find-face 'my-aaview-face))
(and (fboundp 'facep)
(facep 'my-aaview-face)))
(make-face 'my-aaview-face)
(cond
((featurep 'meadow)
(unless (member my-aaview-fontset-name (w32-font-list))
(let ((dir my-aaview-font-path)
(w my-aaview-font-width)
(h my-aaview-font-height)
(b (if (string= my-aaview-font-type "medium")
"" "B")))
(w32-add-font
my-aaview-fontset-name
`((spec
((:char-spec ascii :height any :weight any :slant any)
strict
(bdf-font ,(expand-file-name
(format "mona%dx%da%s.bdf" w h b)
dir)))
((:char-spec katakana-jisx0201 :height any :weight any :slant any)
strict
(bdf-font ,(expand-file-name
(format "mona%dx%dr%s.bdf" w h b)
dir))
((encoding . 1-byte-set-msb)))
((:char-spec latin-jisx0201 :height any :weight any :slant any)
strict
(bdf-font ,(expand-file-name
(format "mona%dx%dr%s.bdf" w h b)
dir)))
((:char-spec japanese-jisx0208 :height any :weight any :slant any)
strict
(bdf-font ,(expand-file-name
(format "monak%d%s.bdf" (* w 2) b)
dir))))))))
(set-face-font 'my-aaview-face my-aaview-fontset-name))
((featurep 'xemacs)
(set-face-font 'my-aaview-face
(format "-mona-gothic-%s-r-*--%d-*-*-*-p-*-*-*"
my-aaview-font-type
my-aaview-font-height)))
(t
(unless (query-fontset (format "-*-%s" my-aaview-fontset-name))
(let* ((prefix (format "-mona-gothic-%s-r-*--%d-*-*-*-p-*-"
my-aaview-font-type
my-aaview-font-height))
(fontset (concat prefix "fontset-" my-aaview-fontset-name))
(font (concat prefix "%s")))
(new-fontset fontset
(list (cons 'ascii
(format font "iso8859-1"))
(cons 'latin-iso8859-1
(format font "iso8859-1"))
(cons 'katakana-jisx0201
(format font "jisx0201.1976-0"))
(cons 'latin-jisx0201
(format font "jisx0201.1976-0"))
(cons 'japanese-jisx0208
(format font "jisx0208.1990-0"))))))
(set-face-font 'my-aaview-face
(query-fontset (format "-*-%s" my-aaview-fontset-name)))))))
(if (fboundp 'frame-parameter)
(defalias 'my-aaview-fpram 'frame-parameter)
(defun my-aaview-fpram (frame param)
(cdr (assq param (frame-parameters frame)))))
(defun my-aaview (&optional str)
(interactive)
(setq str (or str
(if (or (and (fboundp 'region-active-p)
(region-active-p))
(and (boundp 'mark-active)
transient-mark-mode mark-active))
(buffer-substring (region-beginning) (region-end))
(buffer-substring (point-min) (point-max)))))
(my-aaview-create-face)
(let* ((header (condition-case nil
(navi2ch-article-default-header-format-function
(navi2ch-article-get-current-number)
(navi2ch-article-get-current-name)
(navi2ch-article-get-current-mail)
(navi2ch-article-get-current-date))
(error nil)))
(oframe (selected-frame))
(top (my-aaview-fpram oframe 'top))
(left (my-aaview-fpram oframe 'left))
(fore (my-aaview-fpram oframe 'foreground-color))
(back (my-aaview-fpram oframe 'background-color))
(height (- (my-aaview-fpram oframe 'height) 2))
(width (- (my-aaview-fpram oframe 'width) 3))
(frame (or (catch 'detect
(let ((frames (frame-list)))
(while frames
(when (my-aaview-fpram (car frames) 'my-aaview)
(throw 'detect (car frames)))
(setq frames (cdr frames)))))
(make-frame `((my-aaview . t)
(name . "my-aaview")
(height . ,height)
(width . ,width)
(line-spacing . 0)
(minibuffer . nil)
(vertical-scroll-bars . nil)
(horizontal-scroll-bars . nil)
(menu-bar-lines . nil)
(visibility . nil)))))
buf)
(if (numberp top)
(setq top (+ top 16))
(setq top 16))
(if (numberp left)
(setq left (+ left 16))
(setq left 16))
(modify-frame-parameters frame
`((foreground-color . ,fore)
(background-color . ,back)
(top . ,top)
(left . ,left)))
(when (eq (frame-visible-p frame) 'icon)
(make-frame-visible))
(select-frame frame)
(raise-frame frame)
(setq buf (get-buffer-create "*my-aaview*"))
(let ((buffer-read-only nil)
(inhibit-read-only t)
pos)
(set-buffer buf)
(erase-buffer)
(when header (insert header))
(setq pos (point))
(insert str "\n")
(goto-char pos)
(put-text-property (point) (point-max) 'face 'my-aaview-face))
(my-aaview-mode)
(set-window-buffer (frame-selected-window frame) buf)))
(defun my-aaview-close (&optional args)
(interactive)
(kill-buffer (current-buffer))
(delete-frame))
(defvar my-aaview-mode-map nil)
(unless my-aaview-mode-map
(setq my-aaview-mode-map (make-keymap))
(define-key my-aaview-mode-map [mouse-1] 'my-aaview-close)
(define-key my-aaview-mode-map [mouse-2] 'my-aaview-close)
(define-key my-aaview-mode-map " " 'my-aaview-close)
(define-key my-aaview-mode-map "q" 'my-aaview-close))
(defun my-aaview-mode ()
(interactive)
(kill-all-local-variables)
(setq major-mode 'my-aaview-mode)
(setq mode-name "my-aaview")
(use-local-map my-aaview-mode-map)
(setq buffer-read-only t)
(setq truncate-lines t)
(cond
((boundp 'auto-hscroll-mode)
(set (make-local-variable 'auto-hscroll-mode) t))
((boundp 'automatic-hscrolling)
(set (make-local-variable 'automatic-hscrolling) t))
((fboundp 'auto-show-mode)
(auto-show-mode 1)))
(buffer-disable-undo (current-buffer))
(setq mode-line-format "Type `q' to close.")
(run-hooks 'my-aaview-mode-hook))
;;;;
navi2ch 以外でも動くので、emacs-w3m なんかで『あ、これ AA で見たい』とかいうときは便利かもしれない。
△ かえるくん [「いやいやいや、おとうさん超生きてるし。」あたりはツボでした。]