goo blog サービス終了のお知らせ 

辞書引く日々

辞書が好きなのだ。辞書を引くのだ。

Firefoxのサイドバーにtwitterのタイムラインを流す (メモ)

2013年08月15日 | 自分用メモ
なんか twitter の公式ページって、無駄が多いし、作業中にちらっと読むのに少し不便。
Firefox のサイドペイン(サイドバーというのか)にタイムラインを表示させて自動更新させたい。
以下のメモは、Mint Linux 14 上で Firefox 22.0 を使って試したもの。
いろいろ試したけど、結局これが一番頑強で実用的だったなり。

(1) サイドバー表示に最適化するべく公式ページの css を改造
 (i) Firefox のアドオン 「Stylish 1.3.2をインストール」
 (ii) 上記アドオンのためのユーザスタイル「Mobile Twitter」をインストール
 いずれも、「アドオンの入手」からお手軽に導入。
 これで、タイムライン以外の余計な要素が見えなくなる。
 まあ、公式ページ普通に見たいときにもそういう見え方になってしまうが、
 必要ならスタイル停止のボタンを押して見え方を戻すことにする。
(2) サイドバーに読み込むための設定
 (i) Firefox で twitter のページのブックマークを作成
 (ii) ブックマークを右クリックして「プロパティ」から
   「このブックマークはサイドバーに読み込む」をチェック(*)
 これでタイムラインだけをサイドバーに表示できるようになった。
(3) 自動更新のためのブックマークレットを導入
 「ただ単純にTwitterのTLを自動リロードするだけのブックマークレット」
 http://yellowstore.blogspot.jp/2010/07/javascripttwittertl.html
 に書いてあるものを参考に、ブックマークレットを作成。
 こいつもブックマークを作成し、
 「このブックマークはサイドバーに読み込む」をチェック(**)

(*)のブックマークを読み込み、気が向いたら(**)を読み込めば、
じつに簡素にタイムラインを読むことができる

【やっつけメモ】 Emacs でこっそりと twitter の list タイムラインを読まむ

2009年11月30日 | 自分用メモ
twitter の list のタイムラインを api で取れると知った。
Emacs 上から wget, xsltproc, nkf に下請けに出して、
最低限度のコーディングで list のタイムラインを読むことにせむ。

これでガンガン follow しても大丈夫。
;----------------------------------------------------
(defun twit-list ()
  "リスト・タイムラインをバッファに表示"
  (interactive)
  (let 'twit-buf
    (setq twit-buf (get-buffer-create "twit-friend"))
    (if (switch-to-buffer twit-buf)
	(progn
	  (erase-buffer )
	  (shell-command "wget -q \
--http-user='USERNAME' \
--http-password='PASSWORD' \
http://api.twitter.com/1/USERNAME/lists/LISTNAME/statuses.atom -O - | \
nkf --numchar-input -w | \
xsltproc ~/PASS_TO/twit_friend.xslt -" t)))))
  
; (global-set-key "\C-cl" 'twit-list)
;----------------------------------------------------


〈設定〉
USERNAME 2 箇所
PASSWORD 1 箇所
LISTNAME 1 箇所
PASS_TO(xslt テンプレート--参照--へのパス) 1 箇所


【やっつけメモ】 Emacs で twitter をこっそりとやるための最低限度の関数

2009年11月14日 | 自分用メモ
Emacs で仕事中をしているとき、目立たないように twitter をやりたい。
Emacs から、wget, nkf, xsltproc に下請けに出して処理するための
健康で文化的な(?)最低限度の関数三つ。

-------------------------------------------------------------------
(defun twit-friend ()
  "フレンド・タイムラインを表示"
  (interactive)
  (let 'twit-buf
    (setq twit-buf (get-buffer-create "twit-friend"))
    (if (switch-to-buffer twit-buf)
	(progn
	  (erase-buffer )
	  (shell-command "wget -q 
--http-user='YOUR_USER_NAME' 
--http-password='YOUR_PASSWORD' 
http://twitter.com/statuses/friends_timeline.atom -O - | 
nkf --numchar-input -w | 
xsltproc PASS_TO_XSLT_STYLE_SHEET/twit_friend.xslt -" t)))))

;; (global-set-key "C-cf" 'twit-friend)

(defun twit-rt ()
  "タイムラインの現在行をRT用ひな型に書き換える"
  (interactive)
  (let 'line-end
    (progn
      (end-of-line)
      (setq line-end (point))
      (beginning-of-line)
      (if (re-search-forward 
	   "([^:]*): ([^:]*): (.*)" 
	   line-end)
	  (replace-match " RT @2 3"))
      (beginning-of-line))))

;; (global-set-key "C-cr" 'twit-rt)

(defun twit-post ()
  "現在行の内容を投稿する"
  (interactive)
  (let 'twit-mesg
    (save-excursion 
      (setq twit-mesg 
	    (buffer-substring-no-properties 
	     (progn (beginning-of-line)(point)) 
	     (progn (end-of-line)(point))))
      (shell-command 
       (concat "wget --keep-session-cookies 
--http-user=YOUR_USERNAME --http-password=YOUR_PASSWORD 
--post-data='status=" 
	       twit-mesg 
	       "' http://twitter.com:80/statuses/update.xml")))))

;; (global-set-key "C-cp" 'twit-post)

-------------------------------------------------------------------

(設定)
YOUR_USERNAME 二ヶ所、YOUR_PASSWORD 二ヶ所
PASS_TO_XSLT_STYLE_SHEET (twit_friend.xslt までのパス)一ヶ所

twit_friend.xslt は、前に書いたやつを使う。



【やっつけメモ】 wget で Twitter

2009年11月09日 | 自分用メモ
Twitter API はベーシック認証でOKなので、wget で読み書きせむ。

まず、フレンド・タイムラインを読む。

wget --http-user='USERNAME' --http-password='PASSWD'
http://twitter.com/statuses/friends_timeline.atom -O - |
nkf --numchar-input -w |
xsltproc twit_friend.xslt -

なお、XSLT スタイルシートは、

<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:a="http://www.w3.org/2005/Atom">

  <xsl:strip-space elements="*"/>
  <xsl:output method="text"/>


  <xsl:template match="/a:feed/*">
  </xsl:template>


  <xsl:template match="a:feed/a:entry">
    <xsl:value-of select="a:author/a:name"/>
    <xsl:text>: </xsl:text>
    <xsl:value-of select="a:title"/>
    <xsl:text>
</xsl:text>
  </xsl:template>

</xsl:stylesheet>




てなとこでいいや。

書き込むほうは、

wget --keep-session-cookies
--http-user=USERNAME
--http-password=PASSWORD
--post-data="status=MESSAGE"
http://twitter.com:80/statuses/update.xml


参考
http://www.ibm.com/developerworks/jp/linux/library/l-friendfeed/?ca=drs-jp
http://www.devx.com/webdev/Article/40359/1954

AWK を使う場合(すべて AWK だけで済ませられるとは、ちょっとビックリ)
http://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_023

Ubuntu メモ (ターミナルから他ユーザでログインして X の Window を開かむ)

2008年05月12日 | 自分用メモ
Ubuntu で、仕事と遊びとでユーザを使い分けている。
仕事中にターミナルを開き、遊びユーザに su して
そのホームディレクトリ以下にある不謹慎な写真を
見ようとする。しかし、コマンドラインからしかるべき
アプリケーションを起動しようとすると、
Error: Can't open display: になる。

        ↓

仕事ユーザで X を立ち上げている状態で、
ターミナルから

$ xhost +local:

として X サーバへのローカルな非ネットワーク接続を広範に許可し、
次に、

$ su asobi

として遊びユーザでログインしたあと、

$ export DISPLAY=unix:0

として非ネットワークのローカル接続なりということをしめす
「 unix 」と、ディスプレイ番号 0 を DISPLAY 変数にセットする。
(上記は bash での例)

ユーザごとに許可設定してやるには、xauth を使うんだろうなあ。
でも、このデスクトップ機は私しか使ってないから xhost でいいや。

(別解)
たぶん、仕事ユーザで
$ xhost +localhost
とし、遊びユーザで
$ export DISPLAY=localhost:0
とやってローカルなネットワーク接続をしても
同じようなことができるだろうと思う。

...などと書いたら、つちや殿にコメントをいただきたり。いわく、


su asobi
のかわりに
ssh -X asobi@localhost
では?


あっ! その通りだ!! しかも安全だ。
頭が完全に telnet のままじゃった(悲)。
ssh は、xauth をうまいこと使って安全な
X フォワーディングをしてくれるのだ。
つちや殿、コメント忝(かたじけな)く存じ候(そうろう)。

メモ: emath (LaTeX マクロ) をインストール (Vine3.2)

2006年03月03日 | 自分用メモ
ちょっと必要があって LaTeX のマクロである emath (http://emath.s40.xrea.com/index122.html) というものを使わむとす。

LaTeX は Vine3.2 に最初からインストールされている状態なりき。

emathf051107a.zip をダウンロードし、さまざまな sty ファイルなどを /usr/share/texmf/ptex/platex 以下に配置す。

しかるに、usepackage{emath} と書いてやっても not found なり。
どうも変だと思ったら、ls-R という仕組を使っているらしい。

LaTeX を実行するごとにパスの通っているディレクトリを全部見るのが嫌なので、あからじめそのパスの通ったディレクトリの中身で、ロードされる可能性のあるファイルをファイルに列挙するなり。/usr/share/texmf/ls-R なるファイルがそれなり。

されば、これを更新するべきなり。たぶん、
ls -R /usr/share/texmf > /usr/share/texmf/ls-R
でよさそうだが、mktexlsr というシェルスクリプトがついていたので、これを使う(安易)。

# mktexlsr
としたりき。

めでたしめでたし。

参考: http://www.ascii.jp/pb/ptex/base/kpathsea.html


Vine3.2 の Emacs で utf-8 をつかう (めも)

2006年02月09日 | 自分用メモ
総じて Linux 人は unicode に慎重なり。特に Vine の如きディストリビューションは安定を目指すものにて、なおさらなり。されば、Vine についてくる Emacs 環境が素のままにては utf-8 でコーディングされたるものを読めぬことなど、驚くにあたわず。されど、Windows ユーザには想像もつかぬことなるべし(試みに xyzzy などを見よ)。unicode の良し悪し、X サーバ上のunicode フォントの扱い方など議論あるやうなれど、取り敢えず utf-8 のテキスト書類が読めぬようでは日々の暮らしに支障あることもあるべし。

# apt-get install Mule-UCS

にて必要なるものを取り揃え、

.emacs.el に

(setq load-path (cons "/usr/share/emacs" load-path))
(if (not (string-match "XEmacs" emacs-version))
(progn
(require 'un-define)
))

と書きたればよし。これは、
http://www.linux.or.jp/JF/JFdocs/Unicode-HOWTO.html
に載っていたるものなり。

さっそく使ってみると、ニーハオの「ニー」が豆腐になってしまうではないか。

豆腐を (find-charset-string "□") のように調べてみると、japanese-jisx0212 と出るから、これは「ニー」の字をJIS補助漢字(JIS X 0212)のグリフで表現しようとして失敗したものらしい。化けていない簡体字では chinese-gb2312、日本字は japanese-jisx0208 と出る。

ユニコードでは同一の字なのに、Emacs が利用する各既存コード体系にたぶって入っている字がある。「ニー」の字は、中国簡体字のほか JIS の補助漢字にあり、Emacs が後者のグリフを使おうとして豆腐になったのだ。

とりあえず、どのコードのグリフを優先して使うかということを教えてやる必要がある。.emacs.el に、

(un-define-change-charset-order
'(ascii
japanese-jisx0208
chinese-gb2312
))

と書いておいたら、JIS 補助漢字よりも bg2312 が優先して使われるようになった。

なんだかつぎはぎのカーペット(しかも床をおおっていない部分も多い)みたいで貧乏くさい。しかしまあ、ユーザ指向の私としてはこの問題はこのくらいですませておくのがよさそうだ。

(蛇足。そうそう、chinese-gb2312 は「ひらがな」を持ってらしくて、上記リストの中でこれを japanese-jisx0208 の上に書いておくと、ユニコードのテキストを読み込んだときなど、ひらがなまで中国製ので表示される)

maxima をインストール

2006年01月11日 | 自分用メモ
調子にのって Maxima (http://maxima.sourceforge.net/)をインストール。Mathematica みたいなものである。

なんと Vine に apt でインストールできてしまって、世話がない。
Tcl/Tk の GUI インターフェイスもある。これも apt でインストール。

LISP で書かれているというだけあって、かなり LISP 臭い。
容易に使いこなせるようになりそうもないが、まあ道楽だからいいか。

それにしても、R といい Maxima といい、ただで使えるというのはちょっと感動。

R をインストールす

2006年01月09日 | 自分用メモ
ときどき色々なものの統計をとりたくなる。そこでまず統計ソフトの R (http://www.r-project.org/)をインストールす。R は S とそっくりの愉快なソフトウェアで、SAS や SPSS なんかよりずっと遊べる。

Vine Linux 3.2 用の RPM があって(http://cran.md.tsukuba.ac.jp/)、インストールは大変らくちんであった。

$ wget http://cran.md.tsukuba.ac.jp/bin/linux/vinelinux/3.2/i386/R-2.2.1-0vl1.i386.rpm
# apt-get install libf2c
# rpm -ivh R-2.2.1-0vl1.i386.rpm

日本語変数名も使えるようである。
X11 でグラフを見ると化ける。
これについては、

http://r.nakama.ne.jp/readme.html に 「.Rprofileに
options(X11fonts = c("-ipa-ipa gothic-%s-%s-*-*-%d-*-*-*-*-*-*-*", "-adobe-symbol-*-*-*-*-%d-*-*-*-*-*-*-*"))
などとする.」

などと書いてあったので、.Rprofile をホームディレクトリ上に作成し、そのとおりに書いておいたら解決。

しかし、postscript() を使うと、日本語が化けることを発見。
パッチを当ててソースからコンパイルするといいのかもしれぬが、なにやらハマりそうで、どうしたものかと思っていると、

http://r.nakama.ne.jp/R-2.2.1/binary/Vine/3.2/RPMS/i386/R-2.2.1-32vl1.i386.rpm

なるもの(Vine 3.2 用)を発見。これにアップグレードしてみたところ、ポストスクリプト出力をしても日本語が化けない。ひそかに手を合わせて感謝。


(メモ)IE6 での表示崩れを修正

2005年12月11日 | 自分用メモ
ひさしぶりにWindowsを立ち上げてIE6で自分のサイトを見たら、レイアウトが崩れているではないか。

css での width に、padding が含まれるという解釈をされているからだと発見。これは css の規格に外れている。

結論をいうと、IE6 では、文書型宣言が XHTML の場合、xml 宣言を書くと、width に padding が含まれ、xml 宣言を書かないと width に padding が含まれないということを知る。じつに奇妙な話だ。

(http://www.microsoft.com/japan/msdn/ie/ie60/cssenhancements.asp が公式資料らしいが、これには文書型宣言が XHTML なら、width に padding が含まれないというように読める。)

(しかし、http://www.mars.dti.ne.jp/~fuming/advanced/dtd.htm などの啓蒙ページを見ると、IE6 において、xml 宣言があると、文書型宣言が XHTML であっても width に padding が含まれるというようなことが書いてあり、試してみるとその記述は正しかった。これに対応する正式発表資料は発見できず。)

どうも、古い IE での width 解釈を改めるにあたり、互換性を保つためにこんな妙な約束事を作ったらしい。

あ~悩んで時間無駄にした。