〜2014年2月上旬〜
気象庁アメダス観測データはtenki.jpとは違い、
毎正時の観測データが新しい順には並んでないので、
Y!Pipesで最新のデータへアクセスするにはどうすればいいのかわからなかったが、
気温に数値が含まれてるtableだけを取り出してtailすればいいと気づいた。
これならXPathとFilterとTailでできる。
作ってみたのがこれ。
Pipes: jma amedas
descriptionはimgタグだけにしてみたが、
なるほど確かにIFTTTのEntryImageUrlはこれを拾っているようだ。
280通ほど。
chrome://appsするとオフラインGmailというアプリがあるので、
Gmail調子が悪いときに使ってるんだけど、
これが曲者で読んでアーカイブしてもなぜか未読のままだったりする。
今日何気なく確認してみたら700通の謎の未読があって
なにかと思ったらオフラインGmailで処理したものだった。
裏でやってくれるのはいいが、これじゃ使えないな。
どういうことかというとXPath Fetch Pageはitemを返すので、
/html/head/titleで得たデータはそのままでは使えない。
別のモジュールにするしかないらしい。
具体的には気象庁のアメダスのページで年月日を抜き出して、
毎時のデータに突っ込みたいという話。
YQLを使えばいけそうな気もするが、どうもうまくいかない。
s3fsはごにょごにょというわけでUbuntuのパッケージが存在しないので自分でmakeする。
% sudo aptitude install build-essential libfuse-dev libcurl4-openssl-dev libxml2-dev mime-support % wget http://s3fs.googlecode.com/files/s3fs-1.74.tar.gz % tar xf s3fs-1.74.tar.gz % cd s3fs-1.74 % ./configure % make all install
設定は/etc/fuse.confの最終行のuser_allow_otherを活かして、permissionを確認。
0640あたりなら0644にするとかsudo gpasswd -a fuse ebanとかしておく。
あとはアカウント名とアクセストークンを書き込む。
% echo 'username:access-token' > ~/.passwd-s3fs % chmod 0600 ~/.passwd-s3fs
mountはs3fsコマンドで。
% mkdir ~/sakura % s3fs eban0 ~/sakura -o url=http://b.storage.sakura.ad.jp -o allow_other,default_acl=public-read
umountはumount ~/sakuraなんだけど、これはroot権限が必要。
fusermount -u ~/sakuraなら一般ユーザーでもumountできる。
forを使うとかいろいろツールを組み合わせるとかあるけど、
% convert '*.jpg' -set filename:t '%t' -verbose '%[filename:t].gif'
でいいんじゃないかと思ったら思わぬ落とし穴が。
これだとアニメーションGIFになってしまう。
% convert '*.jpg' -set filename:t '%t' -verbose '%[filename:t].gif' 011.jpg=>011.gif[0] JPEG 1081x714 1081x714+0+0 8-bit PseudoClass 256c 1.11MB 0.090u 0:00.089 % identify 011.gif 011.gif[0] GIF 1081x714 1081x714+0+0 8-bit PseudoClass 256c 1.113MB 0.000u 0:00.000 011.gif[1] GIF 1081x714 1081x714+0+0 8-bit PseudoClass 256c 1.113MB 0.000u 0:00.000 011.gif[2] GIF 1081x714 1081x714+0+0 8-bit PseudoClass 256c 1.113MB 0.000u 0:00.000 011.gif[3] GIF 1081x714 1081x714+0+0 8-bit PseudoClass 256c 1.113MB 0.000u 0:00.000 011.gif[4] GIF 1081x714 1081x714+0+0 8-bit PseudoClass 256c 1.113MB 0.000u 0:00.000
pngへ変換なら1個ずつ別々に処理される。
% convert '*.jpg' -set filename:t '%t' -verbose '%[filename:t].png' 011.jpg=>011.png[0] JPEG 1081x714 1081x714+0+0 8-bit PseudoClass 256c 238KB 0.220u 0:00.220 012.jpg=>012.png[1] JPEG 1081x714 1081x714+0+0 8-bit PseudoClass 256c 209KB 0.370u 0:00.369 013.jpg=>013.png[2] JPEG 1081x714 1081x714+0+0 8-bit PseudoClass 256c 201KB 0.520u 0:00.529 014.jpg=>014.png[3] JPEG 1081x714 1081x714+0+0 8-bit PseudoClass 256c 233KB 0.690u 0:00.690 015.jpg=>015.png[4] JPEG 1081x714 1081x714+0+0 8-bit PseudoClass 256c 209KB 0.860u 0:00.849
では、アニメーションGIFへの変換をやめさせるにはどうすればいいのか?
+adjoinで個別に処理される。
% convert '*.jpg' -set filename:t '%t' +adjoin -verbose '%[filename:t].gif' 011.jpg=>011.gif[0] JPEG 1081x714 1081x714+0+0 8-bit PseudoClass 256c 238KB 0.060u 0:00.059 012.jpg=>012.gif[1] JPEG 1081x714 1081x714+0+0 8-bit PseudoClass 256c 213KB 0.050u 0:00.050 013.jpg=>013.gif[2] JPEG 1081x714 1081x714+0+0 8-bit PseudoClass 256c 205KB 0.060u 0:00.050 014.jpg=>014.gif[3] JPEG 1081x714 1081x714+0+0 8-bit PseudoClass 256c 238KB 0.060u 0:00.050 015.jpg=>015.gif[4] JPEG 1081x714 1081x714+0+0 8-bit PseudoClass 256c 213KB 0.060u 0:00.050
16年とか20年振りの大雪ということで20cm以上積った。
気象情報で埼玉の積雪は熊谷ばかり出てくるのはなぜかと思ったら、
そもそも積雪深観測は熊谷と秩父しかやってない。
気象庁 | アメダス(表形式)を見て納得した。
tenki.jpのさいたまのアメダス実況の積雪深も無意味というわけか。
まあ、みんな同じフォーマットにすればそうなるよね。
Ubuntuだとsqlite3-pcreパッケージをインストールして、
.load /usr/lib/sqlite3/pcre.so
とすれば使えるようになる。
sqlite> .load /usr/lib/sqlite3/pcre.so sqlite> select artist,title from music where title like '%恋%'; AKB48|恋するフォーチュンクッキー 湘南乃風|純恋歌 AAA|恋音と雨空 ベイビーレイズ|恋はパニック マキシマム ザ ホルモン|恋のメガラバ May'n|今日に恋色 山崎あおい|恋の予感 sqlite> select artist,title from music where title regexp '恋'; AKB48|恋するフォーチュンクッキー 湘南乃風|純恋歌 AAA|恋音と雨空 ベイビーレイズ|恋はパニック マキシマム ザ ホルモン|恋のメガラバ May'n|今日に恋色 山崎あおい|恋の予感 sqlite> select artist,title from music where title regexp '^恋'; AKB48|恋するフォーチュンクッキー AAA|恋音と雨空 ベイビーレイズ|恋はパニック マキシマム ザ ホルモン|恋のメガラバ 山崎あおい|恋の予感
いけてるようだけど、.とか使うとなんか変だ。
sqlite> select artist,title from music where title like '_恋%'; 湘南乃風|純恋歌 sqlite> select artist,title from music where title regexp '^.恋'; sqlite>
なぜかヒットしない。まさかmultibyte対応してない?
sqlite> select artist,title from music where title regexp "^...恋"; 湘南乃風|純恋歌
そういうことか。UTF-8だから3バイトってわけで。なんか懐しい挙動だ。
likeかglobを駆使したほうがよさげだな。