トップ 最新 追記

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

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


2007-03-01 (Thu) [長年日記]

お返事

いや、やっぱり Firefox の方が 8192倍すごいと。。。

そのほかの w3m-filter 関連

調子にのって、以前から使っている『読売、産経、朝日三紙の記事本文を読みやすくする』という filter も出しちゃいます。
shimbun.el に導入された shimbun-japanese-hankaku-buffer() も本日から導入してみた。
(add-hook 'w3m-mode-hook
	  (lambda ()
	    (define-key w3m-mode-map "\M-k" 'w3m-shimbun-noextract)
	    (define-key w3m-mode-map "\M-K" 'w3m-cookie)))
  
(setq w3m-use-filter t)
  
(setq w3m-filter-rules
      `( ;; ....
 	("\\`http://www.?\\.yomiuri\\.co\\.jp/" w3m-filter-yomiuri-kiji)
	("\\`http://www.?\\.sankei\\.co\\.jp/" w3m-filter-sankei-kiji)
 	("\\`http://www.?\\.asahi\\.com/" w3m-filter-asahi-kiji)))
  
(defun w3m-shimbun-noextract ()
  (interactive)
  (if (not (and w3m-current-url
		(or
		 (string-match "\\`http://[^.]+\\.asahi\\.com/" w3m-current-url)
		 (string-match "\\`http://[^.]+\\.sankei\\.co\\.jp/" w3m-current-url)
		 (string-match "\\`http://[^.]+\\.yomiuri\\.co\\.jp/" w3m-current-url))))
      (message "読売新聞/産経新聞/朝日新聞だけよ")
    (w3m-redisplay-this-page)))
  
(defun w3m-filter-yomiuri-kiji (url)
  (when (and (or (featurep 'shimbun) (require 'shimbun))
	     (fboundp 'shimbun-japanese-hankaku-buffer))
    (shimbun-japanese-hankaku-buffer t))
  (unless (eq this-command 'w3m-shimbun-noextract)
    (let (start end)
      (goto-char (point-min))
      (when (search-forward "</head>" nil t)
	(setq start (match-end 0))
	(when (search-forward "<!--// headline_start //-->" nil t)
	  (delete-region start (match-beginning 0))
	  (when (search-forward "<!--// article_end //-->" nil t)
	    (setq start (match-end 0))
	    (when (search-forward "</body>" nil t)
	      (delete-region start (match-beginning 0))
	      (when (search-forward "</html>" nil t)
		(delete-region (match-end 0) (point-max))))))))))
  
(defun w3m-filter-sankei-kiji (url)
  (when (and (or (featurep 'shimbun) (require 'shimbun))
	     (fboundp 'shimbun-japanese-hankaku-buffer))
    (shimbun-japanese-hankaku-buffer t))
  (unless (eq this-command 'w3m-shimbun-noextract)
    (let (start end)
      (goto-char (point-min))
      (when (search-forward "<body>" nil t)
	(setq start (match-end 0))
	(when (search-forward "<!--▼記事本文▼-->" nil t)
	  (delete-region start (match-beginning 0))
	  (when (search-forward "<!--▲記事本文▲-->" nil t)
	    (setq start (match-end 0))
	    (when (search-forward "</body>" nil t)
	      (delete-region start (match-beginning 0))
	      (when (search-forward "</html>" nil t)
		(delete-region (match-end 0) (point-max))))))))))
  
(defun w3m-filter-asahi-kiji (url)
  (when w3m-use-mule-ucs
    (goto-char (point-min))
    (let ((case-fold-search t)
	  end ucs)
      (while (re-search-forward "alt=\"\\([^\"]+\\)" nil t)
	(goto-char (match-beginning 1))
	(setq end (set-marker (make-marker) (match-end 1)))
	(while (re-search-forward "&#\\([0-9]+\\);" (max end (point)) t)
	  (setq ucs (string-to-number (match-string 1)))
	  (delete-region (match-beginning 0) (match-end 0))
	  (insert-char (w3m-ucs-to-char ucs) 1)))))
  (when (and (or (featurep 'shimbun) (require 'shimbun))
	     (fboundp 'shimbun-japanese-hankaku-buffer))
    (shimbun-japanese-hankaku-buffer t))
  (unless (eq this-command 'w3m-shimbun-noextract)
    (let (start end)
      (goto-char (point-min))
      (when (search-forward "</head>" nil t)
	(setq start (match-end 0))
	(when (or (search-forward "<h1 class=\"kijimidashi\">" nil t)
		  (search-forward "<!-- Start of Headline -->" nil t)
		  (search-forward "<!-- Start of photo -->" nil t)
		  (search-forward "<!-- Start of Kiji -->" nil t))
	  (delete-region start (match-beginning 0))
	  (when (or (search-forward "<!-- google_ad_section_end" nil t)
		    (search-forward "<div class=\"clear\">" nil t)
		    (search-forward "<div class=\"pr\">" nil t)
		    (search-forward "<div class=\"list\">" nil t))
	    (setq start (match-beginning 0))
	    (when (search-forward "</body>" nil t)
	      (delete-region start (match-beginning 0)))
	    (goto-char (point-min))
	    (while (re-search-forward "<table [^>]+>" nil t)
	      (delete-region (match-beginning 0) (match-end 0)))
	    (goto-char (point-min))
	    (while (search-forward "</table>" nil t)
	      (delete-region (match-beginning 0) (match-end 0)))))))))
本文だけになった記事の全部をみたいときは、M-k を押す。もともと M-k だった w3m-cookie() は M-K へ移動
動けば良いやのレベルなので、綺麗さや速度は考えていないし、HTML の構造が変わると動かなくなるが、悪さをすることも無いでしょう。

2007-03-08 (Thu) [長年日記]

あるWebプログラマーの作業環境 -- 豪傑の三種の神器【前編】 (2/2)

藤原さんちで見つけた。
おぉ、minibuf-isearch.el を使っているなんて、なんてお目が高い。

ひな祭り

うちなんか、3月3日にお雛様出したのは良いのだけど、まだ、出っぱなしですよ。えぇ、娘は嫁に行かずにずっとそばにいてもよいのです ^^;;;

で、ここにお雛様の写真を貼る予定

ストレス?

ふと気づくと、ダンの左後ろ足の(人間で言えば)くるぶしの部分が赤く剥けてしまっている。

2年ほど前に発疹が出たときに同じようになって、そのときは何箇所もだめだったんだけど、今回はからだ中探しても変なのはくるぶしの部分だけだ。

どうしたのかなぁ?と考えたのだけど、もしかするとストレスかも。だって、お雛様を上の写真のように出しちゃったので、土曜日からの食事は下の写真のように昔の座って食べるテーブル引っ張り出して食べているのだが、ダンにしてみれば、朝、(だれかいるときは)昼、晩と今までにやらせたことが無いぐらいの長時間の『待て!!』を一日何回もやっているようなもんだもんな。

土曜日にお雛様をしまってから、じっくりと薬用シャンプーで揉み洗いしますか。

で、ここにダンが待てをしている写真を貼る予定

コスプレ

もうすぐ息子の卒業式なのだが、すでに 165cm もあるために、知合いの子供が使った卒業式キットの服が全然着れない。最初、コナカかどこかでスーツ買おうかとも思ったんだけど、1〜2回しか着ないのにもったいない。

というわけで、女房が仕事先の若いにいちゃんからスーツ一式を借りてきてくれた。ちょっと大きいけど許容範囲。

ちなみに、革靴はぼくが足が今よりもちょっとだけ小さかった 10年前の綺麗な革靴を流用なので、にいちゃんへのお礼とクリーニング代だけで済みますよ。あと、ワイシャツを留めるゴムバンドぐらいかな。

で、ここに息子のコスプレの写真を貼る予定


2007-03-13 (Tue) [長年日記]

大阪

3年ぶりぐらいの大阪。だって、明日 10時から会議なんだもん。朝5時過ぎに家を出ればぎりちょんで間に合うのだけど、そんなハードなことをやったら一週間の残りが潰れちゃうので、素直に前泊を選択。だれも文句を言わず。

あちゃ〜〜

会社を出る前にちょっと余裕があったので w3m-session.el の拡張をしたのだが、ちょっと(?)失敗していて 30分ぐらいの時間 NG なコードを CVS に登録してしまっていた。会社を出る直前に気づいて大慌てで直したのは内緒だ。


2007-03-15 (Thu) [長年日記]

東京じゃねーよ

そこは、東京じゃない!千葉だ!!浦安だ!!!と思ったのは、すでに 20年以上前か > ネズミーランド

なにも無い埋立地のど真中にシンデレラ城だけ建っていたなぁ。

本家ららぽーとは東京湾だからセーフ。

だけど

ネズミーランドと違って、新横浜もりっぱに横浜市内なんだから横浜でいいじゃん。このあたりは東の方に住んでいるか、西の方に住んでいるかの感覚の違いかな。

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

kose [不動産屋がつける名前は地名からではなくて、値があがりそうな駅名だったりしますからね。(それが最寄り駅ではなくても) ..]


2007-03-21 (Wed) [長年日記]

先生!

二年前の4月1日だと思います!!

emacs-w3m のタブの移動方法の考察

emacs-w3m で複数のタブ(というかバッファ)を開いているときに、他のバッファに移動するには思いつくままに感想付きで書くと

  • C-cC-n, C-cC-p
    • 隣にしか動けないので、最初のバッファとか最後のバッファに行くのがちょっと大変
    • Zaurus 限定の話だが、つり革モードで使っていると結構打ちにくいキーバインド(というかコンビネーション)で不満がある
  • C-cC-s で w3m-select-buffer
    • w3m-session-select と違って major-mode だからキーバインド増やしまくりだし ^^;;;
    • 一回 C-cC-s を押さないと召喚できないは面倒い
  • C-cC-a で w3m-switch-buffer
    • ちなみに、cycle-mini を使うと C-n, C-p で前後のバッファに動くことが出来るので、このインターフェースも結構便利
    • というか cycle-mini が便利だなぁ〜〜と一番思ったのはこれ
    • だけど、今どの辺りのバッファにいるのかはちゃんと考えないとだめでして、あまり直感的ではない
  • menu-bar の "Tab"
    • ThinkPAD 以外の環境だと mouse 触るのめんどい
    • それに Zaurus だともともと menu bar 出していないもんね
  • タブの部分をクリック
    • ThinkPAD 以外の環境だとタブも触るのめんどい
    • Zaurus だとタブの部分が狭くて指先では押せない
    • Zaurus だとピカチュースタイラスでも結構ミスるし

というものが揃っている。ちょっとだけ不便に感じるのは、

  • Zaurus 使っているときに、移動するのが大変なシチュエーションがある
  • 最初のバッファや最後のバッファに簡単に移動したい

というときかな。

で、emacs-w3m で一発タブ移動

というのを作ってみた。
(add-hook 'w3m-mode-hook
	  (lambda ()
	    (let ((key1 ?\C-0)
		  (key2 ?\M-0)
		  (ch 0))
	      (while (< ch 10)
		(define-key w3m-mode-map (vector (+ key1 ch)) 'w3m-goto-buffer)
		(define-key w3m-mode-map (vector (+ key2 ch)) 'w3m-goto-buffer)
		(setq ch (1+ ch))))))
  
(defun w3m-goto-buffer (&optional arg)
  "Goto w3m buffer to accompany inputed numbers.
C-2 => *w3m*<2>
M-0 => *w3m*<max>
12M-3 => *w3m*<123>"
  (interactive "p")
  (let* ((num (+ (- (logand last-command-char ?\177) ?0)
		 (if (not current-prefix-arg)
		     0
		   (* arg 10))))
	 (max (length (w3m-list-buffers 'nosort)))
	 (bufname (cond
		   ((or (= num 1) (= max 1))
		    "*w3m*")
		   ((or (= num 0) (> num max))
		    (format "*w3m*<%d>" max))
		   (t
		    (format "*w3m*<%d>" num))))
	 (buf (get-buffer bufname))
	 win)
    (if (not (and buf (buffer-live-p buf)))
	(message "No exist w3m buffer \"%s\"" bufname)
      (cond
       ((eq major-mode 'w3m-mode)
	(set-window-buffer (selected-window) buf))
       ((setq win (catch 'win
		    (walk-windows
		     (lambda (w)
		       (save-excursion
			 (set-buffer (window-buffer w))
			 (when (eq major-mode 'w3m-mode)
			   (throw 'win w)))))))
	(select-window win)
	(set-window-buffer win buf))
       (t
	(pop-to-buffer buf)))
      (message "Goto w3m buffer \"%s\"" bufname))))
C-2 とか M-5 とか押すとそのバッファに直接ジャンプ。C-0, M-0 は一番右側。必要ないと思うけど、もし、二桁以上の emacs-w3m のバッファがあってそいつに跳びたかったら 1 2 C-3*w3m*<123>に跳ぶ。
で、C-3 とか M-5 とか押して思ったんだけど、タブのタイトル表示に「5.タイトル」みたいに数字が出ていないと相当辛い ^^;;;

2007-03-22 (Thu) [長年日記]

卒業式

息子の小学校の卒業式でございました。

女房と遊んで、息子の髪をジェルで固めてスーパサイヤ人みたいにしたのだけど、前日の夜に丸坊主に剃った慎太郎には負けた。


2007-03-23 (Fri) [長年日記]

emacs-w3m のタブのタイトル表示

一発タブ移動のときに、タブのタイトルで何番?というのがわからないと全然ダメだけど、じーーとソースを見た限りでは w3m-tab-line() を置き換えるグライしか手段がなさそう。うーむ。 emacs-w3m の ML が復活したら「オプションにしていい?」って相談してみるか。

2007-03-24 (Sat) [長年日記]

ちょっと痛い。。。

墓参りに自転車で行くときに、前を走っていた娘の自転車にわき見運転で突っこんで、自転車から前方に飛び出して前まわり受身をしてしまったんだが、ちょっとだけ左ひざと右肩が痛い。ちょっとなのでラッキーか。

読み逃げ

最近、たまに「読み逃げ」って単語を見掛けていて、『どういう意味だ?これ』と思っていたんだが、ほとんど想像通りの内容であった。ただし、まったく趣旨は理解はできない。というか、馬鹿らしくて付き合っていられませんぜ。

世界フィギュアスケート選手権

やったね!日本!!

だけど、独占中継権持っているなら、生中継にしろよな > フジTV


2007-03-25 (Sun) [長年日記]

PASMO定期券

4月の頭に通勤定期が切れるので、気合を入れて二駅先の窓口に行って PASMO定期券を作ってきた。ついでに 5000円チャージ。Suica定期券って出た当初から結構憧れていたのよね。

パスネットや共通バス券はこの日のために「0円」になっても新たに買わなかったし、必要がなくなった Suica は娘にあげて有効利用。


2007-03-26 (Mon) [長年日記]

元モーニング娘。

再度の喫煙問題で事務所契約解除、とのこと。未成年なので新聞各紙では名前は出ないのね。

というか、これでメンバの中から一発で辻ちゃんがわかるなぁ、と思ったりした。

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

かえるくん [いや、顔を見ても「クビになったのってどっちだっけ?」と思うに違いない。]


2007-03-31 (Sat) [長年日記]

ディズニーランド

朝、息子とその仲間の四人を送ってきた。8時開場なので 7:30 には現地に着くように行ったのだが、いやぁ、めちゃめちゃ混みそうな人の出足でしたぞ。今日だけちょっと花冷えで寒い。特に浦安の海沿いは寒いぞ。

ちなみに知っている人は知っていると思うが、ランドもシーも駐車場のゲートで「送迎で〜〜す」と言うと無料で(10分間だったと思う)入り口近くの乗り降り場まで行けるので便利。

帰りは周辺が無茶苦茶混んでいて嫌なので、京葉線で葛西臨海公園駅まで来させて、そっちに迎えにいくように決めた。なので、花見には行けないの ;_;

浦安魚市場

送って行った帰りに、浦安魚市場によって、マグロの中落ちとかうなぎの蒲焼とかあれとかこれとかいろいろ。ここに寄ろうかということで、女房も一緒だったのだ。


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