proglog

主にプログラミングに関する断片的メモ

GRから乗り換え。LDR Full Feed、ldrtombloo、追記でPocket

Google Reader廃止で、乗り替え先やら代替方法を探している。
feedlyとかfeedspotとかThe Old Readerとか色々ありそうだけど、オンライン型で、Firefox使用、tomblooやらfull feed、autopagerなどのスクリプトとの連携を考えると、現状では、livedoor Reader(LDR)の一択。

ldrtombloo.user.js

tombloogreasemonkeyディクトリに入っているtombloo/greasemonkey at master · to/tombloo · GitHub

firefox17とminibufferとldrizeとUserScriptLoaderとtombloo - うぇぶとらばぁすに書いたgooglereadertombloo.user.jsと同じく、LDRで記事閲覧中に"T"でtomblooを呼び出せる。
僕はUserScriptLoaderで使っているので、上記の記事と同じ修正を入れている。

LDR Full Feed.user.js

0.034の動作を確認。LDR Full Feed for Greasemonkey

ただ、僕の場合はUserScriptLoaderなのでいくつかの修正をした。

まず、メタデータのとこの"@resource"を、"@resou rce"みたいな形で無効にした

上の方で2箇所。
"const CSS"に、直接値を書き込んだ

const CSS = '.gm_fullfeed_loading,.gm_fullfeed_loading a{  color: green !important;}.gm_fullfeed_loading .item_body a{  color: palegreen !important;}.gm_fullfeed_loading{  background-color: Honeydew !important;}.gm_fullfeed_icon{  cursor: pointer !important;}.gm_fullfeed_h2{  display: block !important;  font-weight: bold !important;  font-size: 130% !important;}';

ICONはコメントアウト

//const ICON = 'orange' // or blue

434行目付近の"var icon_data"を、

var icon_data = "https://raw.github.com/Constellation/ldrfullfeed/master/orange.gif";

あとはなんか、文末の";"を付けたり、末尾の","を削除したりしたけど、これは関係あるのかどうかわからない。

検索

Google Readerでよかった機能の一つは、その検索機能。
要は、登録したフィードを対象がそのままカスタム検索の対象になるようなもの。
さらにこれが、タグ毎、スター記事のみとかの検索対称絞り込みができた。
これを再現しようとすると、カスタム検索に対象URLを登録して地道に作ることになる。

スター検索に相当するものは、単純にSBMS、例えばはてなブックマーウに登録すれば、その検索機能が使える。はてブ全文検索するので、ぴったり。

あるいは、evernoteに送ればその検索機能が使える。

こういったことは、tomblooに任せられる。

スター

LDRにはGRでいうスターの機能がない。
似たようなものとしてpinがあるけど、これはあとで読む、というかむしろ、あとで開く用の、ほんとの一時的なマーク。

Read It Later from LDR for Greasemonkeyが動けばキー一発でpocketに送れるようになるので、スターっぽい感じになるか。
現状では動かないので、tombloo経由で。

pocketのrss

追記で書いたように、Read It Later from LDR for Greasemonkeyが動いたので、これをpでもsでもないqあたりに割りつけ。

で、Pocketの未読のRSSフィードを、パスワード保護されたフィードをGoogle Readerからアクセスする方法 : ライフハッカー[日本版]みたいな方法でLDRに登録すると、GRのスターみたいなことも出来る。

Yahoo! Pipesでやる場合は、private textモジュールに秘密のURLを書いて、それをURL Builderモジュールに入力すると、多少秘密が保てるかも。

ifttt連携

GRは連携できたけど、LDRは分らない。
これもtomblooでやれば特に必要性はないけど、GRみたいに、スターつけるだけで片っぱしからevernoteに送る、という手軽な操作性は魅力。
上述のRead It Later from LDR for Greasemonkeyが動けばpocket経由でどうにでもなるか。


以下、追記

Pocket

Read It Later from LDR for Greasemonkeyが動いた。
何箇所が修正が必要だけど。
対象はver0.7.5で、apiを使わないもの。
Pocket : How to SaveにあるPocketのブックマークレットを参考にしたんだけど、今見ると、僕が使ってるものとは随分と中身が変わってる。
でも使えるから気にしない。

まず、上のほうのposturlを"http://getpocket.com/v2/r.gif"に。

次に、function add_to_readitlater()の中、GM_xmlhttpRequestのパラメータをいじる。
methodをGETに。
headers、dataをコメントアウト
urlを以下のような感じに。

posturl + '?v=1&h=a26c' + '&t=' + encodeURIComponent(item.title) + '&u=' + encodeURIComponent(item.link) + "&rand=" + Math.random(),

"a26c"というマジックナンバーはよくわからない。
新しいほうのブックマークレットでも、なにか不明な数値を生成してるけど、生来的にはそっちの方式にしたほうがいいのかもしれない。

ren'pyの文字化け、その後

Ren'Pyの新しいバージョンが出た。6.15.1。
The Ren'Py Visual Novel Engine

前に試した時に、直接日本語のセリフのスクリプトを書いたら文字化けした。
6.14の時。
正確には、豆腐状態になってた。

同じようなことを6.13で試したら上手くいってた。

検索しても同じケースが見つからなかったので、多分、ascii文字で書いて、トランスレートで日本語乗せるのがメジャーな使い方なんだろうと思ってた。

今回のバージョンでもやっぱり同じ症状が出たので、やっぱりか、と思った。



違った。


日本語が豆腐になるテーマがある

今のところこういう理解。

デフォルトであるものの中では A White Tulip

僕はたまたまそれを選んでプロジェクトを作り、あーでもないこーでもないと試行錯誤してた。
まさか、テーマでそんなことがあるとは。

使ったのは、以下のような単純なソース。

init:
    define e = Character("アイリーン", color="#c8ffc8")
    $ style.default.font = "VL-Gothic-Regular.ttf"
    $ style.default.language = "eastasian"

label start:
    e "「こんにちは」"
    e "「今日は、よろしくお願いします!」"
    e "「hello」"

    return


initブロックとして設定をまとめる必要があったり、日本語使っても、

e u"日本語"

というように uを付けなくてよかったり、というところもはまった。

Emacs-w3mでMinGWのw3m

OOTA's pageにあるw3m for windowsは、gnupackのcygwinを使うようにemacsの環境を設定すると、Emacs-w3mで使える。
でも、自分でインストーラーでインストールしたutf-8cygwinを使うように環境設定すると、なぜか、使えない。
正確には、w3m --helpをやったのと同じ表示になる。

なんだろうか。パラメータの受け渡しがうまく行ってない?
utf-8だとだめとか?

試しに自前のcygwinコマンドラインから起動してみたら、うまくdump出きてる。

で、自前でMinGWw3mをビルドしてみようと、デフォルトのMinGWとMsysで書いてあるようにやってみた。
が、make mktableのところで、

C:\tmp\cc6E1O39.o: In function `newHash_hss_i':
\w3m\w3m-0.5.3/mktable.c:25: undefined reference to `GC_malloc'
\w3m\w3m-0.5.3/mktable.c:25: undefined reference to `GC_malloc'

とかいう感じのエラーがずらーーーーーっと出て失敗する。

"#include "も、"-lgc"もやってみたけど同じ。

w3m for windowsが使えた!

なんのことはない、第1歩からしてミスしてた。
"setq w3m-command"を".emacs-w3m"の中でやってた。
そこじゃそもそも効かないらしい。
これをinit.elの中に移動して解決。

いろいろいじってたら、設定もしていない"/usr/bin/w3m"を探しに行ってるので、そこでようやく気づいた。

自前のビルドはうまくいってないけど、これでよしとする。

リージョンでhowm

emacsネタ

scratchなどで書いた走り書きをリージョン選択してhowmバッファを作成。最後の行が":"で始まってると、それをタイトルにする。

これはこれはめももも。
ももももももも。
:test

と書いて、全体をリージョンで選択。
region2howm-get-regionを呼び出すと、"test"をタイトルにしてその上の行までをメモ内容にしてhowmバッファを作る。
howmの関数を呼び出しているので、howmはもちろん必要。


https://gist.github.com/serian/5028599

elispを久々に書いたら、ほとんと忘れてた。

あれ、gistが貼り付けできない?

これで解決

それと、Gistの各種URLにIDが付くようになったのですが、はてなダイアリーだと、埋め込みに対応していないので、昔のURLに変えて張り付ける必要があります。(2013/02/24時点)

https://gist.github.com/onozaty/4986781.js → ダメ
https://gist.github.com/4986781.js → OK

Gistの埋め込みが崩れる(2013/02) - Enjoy*Study

その他

gist.elでgist-bufferをやると、

error in process filter: byte-code: JSON readtable error
error in process filter: JSON readtable error

こんなエラーが出て、動かなくなってしまった。

動いた

gnupack外のemacsを、間違えてgnupackの起動プログラム(emacs.exe)から起動してた。
だから、起動されたemacsがgnupackじゃないcygwinを使うinit.elなのに、gnupackを使う環境に設定されて、上記のようなエラーが出てたみたい。

以前実験的に使った設定を間違えて使ってた。

deliciousパッチ

Firefox18に合わせたかのように、deliciousがなにやらバージョンアップした。
tomblooからの投稿もできなくなったけど、単にポスト先のURL変更だけだったみたい。
で、そこを書き換えただけのパッチ。

postのみで、他の機能は触ってない。
あと、アイコンのurlの修正。

なんか、ホスト名がいかにも一時的って感じだけど、どうなんだろうか。

はてなダイアリーの新しいモードと、el-get導入でのトラブルと

環境はgnupack付属のEmacs 24.2.1を、独自インストールのcygwin 1.7で。

はてなダイアリーにEmacsから投稿 - 貳佰伍拾陸夜日記の新しいはてなダイアリーのモードを試そうと、まず、そこで見たel-getを導入しようとした。

It's just same as dust ahead of a wind: el-get を使って Emacs でパッケージ管理や、dimitri/el-get · GitHubを見ながら、master branchをインストール。


インストールは成功と出たのに、いざ、レシピを実行しようとすると、

Symbol's function definition is void: :name

とかいうエラーが出る。

どうも、el-get\el-get\recipes\emacswiki\ange-ftp.el.gzを読んだ時に、おかしなことになるような?

中を見ると、ange-ftp.elという名前でレシピが書いてある。
他のは拡張子が.rcpになってるから、展開して.rcpに変更しておいておく。
もとのgzファイルは、.stopとでもしておく。

で、レシピをinit.elに書いて、その下に、新しいはてなダイアリーモードをrequireして再起動してみる。

ロードできない。

それもそのはず、書いただけじゃダメで、M-x el-get-list-packagesでインストール作業が必要らしい。

  • hatena-diary
  • hatena-markup-mode
  • hatena-multi-mode

の三つ。

が、まだおかしい。

sha1-el.elがロードできない、とか言われる。
重たいはてブとはこれでサヨナラ? anything-hatena-bookmark.el を migemo に対応させて完璧にする。 - 日々、とんは語る。を参考に、

M-x install-elisp <RET> http://stuff.mit.edu/afs/sipb/contrib/emacs/packages/flim-1.14.7/sha1-el.el <RET>

でインストールする。

が、まだおかしい。

hatena:markup-mode: Symbol's function definition is void: setq-local

というエラーが出る。
おそらくこんなマクロだろうと

(defmacro setq-local (var val )
  `(set (make-local-variable 'var) ,val))

ちょっと追加してみる。

なんとなく動いて、それで今、この記事を書いている。
投稿できるかどうか。

追記:
投稿は出来た。
一瞬で終わる!
けど、上記のマクロは間違ってた!
過去の記事はリストに表示されるけど、そこから選択できない! 

追記2:
updateバージョンで出来た!
速い!