2016年9月22日木曜日

RSSリーダー

 今だにRSSであちらこちらのサイトを読んでいる。
 GoogleがRSSリーダーのサービスから撤退して、Emacsのnewstickerを使ってみたりしたけれど、結局、ふとした拍子に思い出した昔、愛用していたFireFoxのSageというツールを使っている。Sage自体はいいツールで満足していたのだけれど、最近、EmacsのGnusでRSSを読めことに気がついた。
 Gnusならunpluggedの機能でオフラインで読めるようになるのではないか。

 で、opmlファイルでデータをimportしてみた。
 結論からいうと、全データをとりこめなかったし、RSSはgnus-unpluggedでもネットへアクセスヘ行く。望んでいるものとちがう。ただ、Emacsは立ち上げっぱなしにしているので、オフラインとかわらない。過去の分のフィードも残されているようなのでそれはメリットかもしれない。Sageは現時点のRSSフィードしか、見えないから。

 とりあえず、記事全体をRSS配信してくれているサイトとかを中心にGnusで読むようにしてみようかな。Sageとどこまで読んだか、情報を共有できないのがちょっとデメリットだけど……。

(require 'gnus-win)
(add-to-list 'gnus-buffer-configuration
      '(article (horizontal 1.0
       (vertical 0.5
          (group 1.0))
       (vertical 1.0
          (summary 0.25 point)
          (article 1.0)))))

で、こんな感じ。

2016年9月15日木曜日

OneDrive

 バックアップにいろんなファイルを目一杯、OneDriveに放りこんでいたらいつのまにか、容量が減らされていて警告がでていた——iPad Proの設定をしていて気づいた。
 あわててファイルをダウンロードしている。
 まいったなぁ。

2016年9月14日水曜日

emacsclient

 事情があってemacsclientのmanを読んでいたらこんな記述に気づいた。

-e, --eval
       do not visit files but instead evaluate the arguments as Emacs Lisp expressions.

 えっと思って試してみたらemacsclientからEmacsに値を設定できた。

bash-3.2$ emacsclient -e '(setq wrk "123")'
"123"
(message wrk)
"123"

 おお、wrkに"123"が入ってる。

emacsclient -e '(helm-mini)'

 笑った。
 しかもemacsclientには結果が返却されている。
 最初、セキュリティホールになるんじゃね? とも思ったけれど、おもしろそうなことができそうな気もする。
 覚えておこう。

2016年9月13日火曜日

iPad ProとApple pencil

 Apple pencilのデモ動画でわずかに遅延していたのでいまいちだなぁ、と思っていたのだけれど——どういうわけか、注文してしまった。しかもそんな欲しいと思っていなかったのにだ。後悔した気分のまま、製品が到着してしまった。
 初期設定をしてすこし使ってみてまだ後悔している。
 値段の価値はないよなぁ、と。自分にとって。
 pencil自体は適度な重さで、ペン軸がちょっと細いかな、ということと値段以外は不満はなかった。ただ、紙と鉛筆とは書き味がちがいすぎて——ディスプレイの表面がつるつるしているので——違和感が大きい。
 文字入力ならやはりキーボードなので、やはりpencilは必要ないのだった。
 ただ——値段にたいするメリットとしては微々たるものだけど——、pencilでiPadをつついて操作できるのはいい。別に潔癖症というわけではないけれど、指先がべたつくような日にiPadを操作するのは不快でしかたがなかった。ちょっとディスプレイに刺さるような感触なのでそれはそれでストレスを感じてしまうのだけれど。

9.7インチiPad Pro Wi-Fiモデル 437 g

 iPad自体はiPad miniを買ってからもう四年ほどたつので、そろそろ買い換えの時期といえば、そうだった。pencilを買うつもりがなかったらたぶん、買い替えることはなかったのだけれど、さすがに四年もたつと技術も進歩していて——値段も高くなっていたけれど——、重さはiPad ProとiPad miniはかわらない。片手で支えると、さすがに大きさのせいで(テコの原理ですな)重いけれど。
 うーん。

 ——メリットが見出せない。どうしたものか。

2016年9月11日日曜日

このアプリケーションで開く

 ファイルタイプをアプリケーションと関連づけてあると便利だ。ファイルをクリックすると、そのアプリケーションで開いてくれる。以上、同義反復。
 しかし、Emacsをアプリケーションに割り当てると、二重に起動してしまう。そんなときのために、emacsclientがある(たぶん)。
 ところが、Macだとそのemacsclientがアプリケーションとして割り当てることができない。emacsclient.appではないからだろう。しかたなく、Emacsを割り当てていたのだが、やはりふたつ開く。フルスクリーンで使っているのでわずらわしい——ただ、そのEmacsを終了させると元々、立ち上がっていたEmacsも終了してしまったのであれ、とは思っていたのだが(伏線)。

 方法は

・emacsclientのapp化
・強引に裏からemacsclientを関連づける
・あきらめる

 で、app化は好みではないので——ググってできるらしいことはわかったのだが——、やめにして裏からの方法を探してみた。SetFileでできそうだった。が、弾かれた。

bash-3.2$ SetFile -c emacsclient tmp.el
Invalid type or creator value: 'emacsclient'
bash-3.2$

 あかーん。
 このレベルでappであることを求められてはたぶん手はねー。
 あきらめかけたのだが、要件を考えると、Emacsが二重起動しなければ、いいわけで、何か手はないか、とググってみた。=>emacs23で新しいファイルを開いた時にemacsを複数起動させない

;;複数ウィンドウを開かないようにする
(setq ns-pop-up-frames nil)

 というのを見てあっ、と気づいた。そもそもEmacs.appは二重起動してなかったってことに。だから二つ目を終了させると、一つ目のEmacsも終了したように見えていたのだ(伏線回収)。
 だいたい、ns-* ってことはMac用の設定じゃないか。

 これでEmacsからopenコマンドを使って開いてもEmacsで開くようになる(同義反復?)。

2016年9月10日土曜日

skk-comp-wrapper

 tabキーには何がアサインされているのかな……。「C-hk」してみたら「skk-comp-wrapper」が割り当てられていた。
 何よ、「skk-comp-wrapper」って。

<tab> runs the command skk-comp-wrapper, which is an interactive
autoloaded compiled Lisp function in `skk-comp.el'.

It is bound to <tab>.

(skk-comp-wrapper &optional ARG)

Character でないキーに補完を割り当てるためのコマンド。

 skkの入力途中で使える補完機能だった。1
 あ、けっこう使えるかも、と思ったけど、案外、使わないかも。頭の中の言葉が流れるように出力できるからskkを使っているのであって——スマホのように変換予測を出すのならほかのIMEを使う。
 でもこんな機能もある、ということを覚えた。

Footnotes:

1

Emacsのtabキーはよく補完機能に割り当てられている。

2016年9月3日土曜日

柏野祐二「海の教科書 波の不思議から海洋大循環まで」

 柏野祐二「海の教科書 波の不思議から海洋大循環まで」

 いつもの年よりも海水温が暖かいから台風の勢力が弱まらない、というテレビの天気予報の解説を聞くたびに、そうなんだろうか、と疑問が浮かんでしかたがなかった。海水温が1度や2度、あがったからって気温が1度か、2度あがるだけだろう? そんなことがあるのか、と。
 まぁ、恥じるべきは自分の無知なのだけれど。

 海洋全体の熱容量は大気全体の熱容量の一〇〇〇倍にもなります。これは海洋全体でわずか一 〇〇〇分の一°Cの温度変化が大気全体の一°Cの変化と等しい。

 という記述を見て自分の無知を悟った。
 1度、海水温があがるということは大気にとっては1000度の温度上昇に等しいということじゃないか。驚いた。認識を改めた。なんてことだ。
 あと、淡水が一番重くなるのは四度のときだ、とか、波のこととか、鳴門海峡は自分が思っていたところじゃなかったとか。

 非常におもしろかった。

2016年9月2日金曜日

変態だw 変態だw

 Windows環境ではNTEmacs64を使っていたのだけれど、Cygnusを使うためCygnus版のEmacsを使うことになった。一応、両方、インストールしておいてbookmarkなどの情報は共有していたのだけど。
 このふたつはパスの表現が微妙にちがう。
 Cygnus版はCygnusの環境下で動作するためだ。
 なのでbookmarkを取り込んでも、Cygnus版からはbookmark-jumpできないことがある。こうなることはわかっていたのだけれど、使わないからいいや、と思っていたのだ。そんな風に考えたことは大概、あとではまる。

 bookmarkファイルの中身をCygnusのパスに変換してしまえば、いいのだけれど、そうすると、NTEmacs64から使えなくなる。Emacsには関数を拡張するためにhookという仕掛けがあるのだけれど、これは拡張する関数の中に、あらかじめ定義しておかなければ、いけない。うーん。bookmarkの関数を置き換えてしまうのも手だけど、最近、advice関数というものを知ったばかりだ。それを使うことにした。

(when (eq system-type 'cygwin)
  (advice-add 'bookmark-get-filename :filter-return 
              'cygwin-convert-file-name-from-windows))

 これで動いた。
 動いてしまった。
 何という変態ぶりだ、elisp。

2016年9月1日木曜日

smartrepを導入してみた

 つらつら、るびきち「日刊Emacs」を見ていたら。

#19 同時押し&リピート 少し特殊なキー設定 (Software Design 2015年11月号掲載記事) Emacs key-chord smartrep インストール 設定 使い方

 という記事の、とくに「プレフィクスキーを省略させるsmartrep」に興味を魅かれた。さっそく導入してみた。other-windowがC-xoooでつぎつぎとウィンドウを移動できるのはいい。導入以前はC-xC-oC-xC-oと繰り返していた。けっこう面倒だな、と思って逆向きに行けるようにとか、定義していたのだけど、移動方向がちがうことがあってイラッとしていた。
 これならほとんど、気にしなくてもいい。1

 と思って、取りこんで使ってみていたのだが、だめだ。くりかえさないとき、イラッとする。smartrepにモードインしていると、そこから抜け出すために1キーが必要になる。たとえば、org-modeでC-cC-pとやって飛んでC-nで一行下げようとすると、smartrepに喰われてしまってC-cC-nになってしまう。
 これがストレスだ。

 ただ、収穫もあった。C-xzにrepeatというのが、標準でバインドされていて——今回、はじめて知った——これがC-xzのあと、zの連打で処理をくりかえすことができるのだ。くりかえしのとき、1キー、増えるが、なんだ、smartrepと同じことができるということじゃないか。
 これでいいや。
 C-xC-tなんてのもあることを知ったことだし(transpose-lines)。

 で、結局、other-windowだけ有効にすることにした。

Footnotes:

1

るびきち「日刊Emacs」ではC-tにother-windowを割り当てる方法を推奨しているけれど、C-tの連打より、oの連打の方が気持ち的に楽だ、ぼくは。