classics.

2011/03/24 Thuflickr

日記

今回の東北地方太平洋沖地震/東日本大震災については後々自分で読みたくなると思うのでまとまりなく書いておく。

2011年3月11日金曜日14時47分、京都の自宅マンションにてTwitterに流れてきた「緊急地震速報!!」というpostを見て、またいつもの地震かと思い、キテレツとか範馬勇次郎の画像とかを投稿(1, 2)。京都も少し揺れた。やけにTwitterの流れは早く(グラフ)、東北と関東が震源のようなのに関西まで揺れたことに驚いた。いつものような地震ではない様子なので、主にTwitterをずっと見ていた。東北地方の人達のpostがないので、停電で回線が繋がらないからだとは思いつつも結構心配だった。翌日は大阪でダンスフロアでいきなりインターネットはじまったの予定だったので、その心配もしていた。津波があったことも知る。今回の震災で一番の脅威は津波だったと思うけれど、地震と違って、今の自分の環境では波が京都市内まで到達することをあまり考える必要もなく、海の近くにいても警報があったら逃げる程度のことしかできない。

翌日もTwitterをずっと見ていて、なんかテレビを観る気にはならなかった(PC立ち上げないと観れないというのも大きい)。テレビ局各社はUstreamにも同じ映像を配信したりしていた。福島の原発で爆発があったとかを知ったけれど、まだ大したことないみたいな風潮だった。あまり心配はしていなかったけれど群馬県の実家にも連絡してみて、無事を確認した。茨城県勤務の姉は、避難場所になっているらしい学校で色々対応に追われているとのことだった。ダンスフロアでいきなりインターネットはじまったは、関東からの参加者があまり来なくなったのもあり、関西でもまだ何があるかわからないので、あまり遠出しない方がいいかと思い、行くのをやめておいた。

3月13日、東山花灯路が始まっていて、ずっと自宅でインターネット監視も健全でないし、この状況でどんな感じになってるのかも気になったので行ってみた。あまり人が多いようには感じなかったけれど、普通に開催されていた。募金箱持ってる人は一人だけ見た。後日、花灯路は中止されて謎イベントに変更されたようだった。花灯路に行っている間に、東京電力の輪番停電が発表されていた。関西電力で働いている友達の力もあり、節電の意識が全国的に高まっているようで、京都でも主にコンビニやマクドナルドなども看板の灯りを消しているところが目についた。どうやら京都タワーも消灯していた様子。個人的にはこういった過剰なパフォーマンスとしての消灯みたいのは誤解を招くし害悪だと思うので、グリコを筆頭に頭が悪いあるいはあざとい企業という印象を抱いた。

14日以降も未だ毎日東北と関東地方では地震が発生しているようだけれど、京都は前述したように消灯している店舗がある程度で、普通に春休みしたり働いたり。観測範囲が狭いのかもしれないけれど、今回は良くも悪くもTwitterがオンラインでの情報網として使われているように感じた。みんながいる安心感はあるんだけれど、真偽不明だったりどうでもいいものを含め、情報が伝搬するのが早く、フィルタしないとフラットに大量の情報が入ってくるのでまともな判断力のない人がなんでもRetweetするみたいな現象もあった。まあ特に考察するわけではないけれど。

2011/03/09 Wedflickr

DTIハイブリッドモバイルプランの解約料が異常

DTIハイブリッドモバイルプランというのが発表されて、自称モバイラーなのでどういうものなのか見てみたのですが、安いしDoCoMo網使えるから最強かと思いきや、ひどいトラップが仕組まれてました。

http://dream.jp/mb/dc/attention.html
毎月端末の貸出料を払わせ、その上解約後には貸し出し端末の返却を要求するので、当然ながら解約する際には手数料程度だと思ったのですが、上のリンク先を見るとなんと2年縛りな上に1月目の解約での通信料合わせて約4.4万円をMAXに、解約料が月毎に減っていく方式。端末料金を割賦制のようにして通信料で毎月回収している代わりに解約時に未払い分を払わせるような制度ならまだ理解できますが、端末貸出料を取って、その上解約時に返却させるくせにこの料金を払わせる根拠はどこにあるのでしょうか。他社にも(恐らく端末購入代金の割賦代わりとしてなので質は違うけれど)月毎に解約料が下がる似たようなオプションはあるけれど、それでもあくまでオプションで、それしか選べないというものではないはず。

そのあたりを考えると、試しに契約してみようというレベルの人が契約すると大分残念なことになる可能性が高そうだし、2年後も確実に使ってる自信がないと契約するのはやめたほうが良さそうですね。そのうち訴訟とかもあるといいと思います。

2011/03/05 Satflickr

日記

今日はちょこちょこ改善などをした。

zip2mobi

mobiにする前のepub作成の際にカバー画像を指定した。単行本のカバーをスキャンすると横長()になってしまうのでカバー用に適当に良きに計らう感じでクロップしたり。めんどいし誰も使ってない気がするのでgistには反映してない。

自宅サーバーオーディオプレイヤー(仮)

なんか再生中の音楽をブラウザから音出るようにもできたけど公開すると著作権的にアウトなので公開できない。

2011/02/25 Friflickr

Webページをpdfに変換してKindleに送る

別にmobiじゃなくてpdfでもいいよねということに気付いたので試してみたメモ。wkhtmltopdfを落として、

$ ./wkhtmltopdf --minimum-font-size 25 http://oquno.com/ oqunocom.pdf

みたいにやるだけ。あとはこれみたいにメールで送ればいい。minimum-font-sizeはKindleで見るならそのくらいがちょうどいいかなと自分が感じただけなので、不要ならオプションなしでも。

wkhtmltopdfは優秀でとても便利なのだけれど問題はあって、Kindleがpdfを思うようにレンダリングしてくれない。あまり多く試してはないけれど、このブログでもページ送ってたら画像の位置がずれたりして破滅したので。普通のPCで表示する分には問題なく見れるpdfなんだろうけれど、高機能過ぎる感が。あと、タイトルと作成者情報が自動でセットされない。Kindleだとpdfはファイル名がそのまま一覧表示で表示される。あとはmobiよりフォントが汚いとか。そんなわけで、pdfは諦めた。

2011/02/23 Wedflickr

Webページをmobiに変換してKindleに送る2

http://oquno.com/log/eid2392.html
これの続き。

実運用してみたところ、文字化けと、kindlegenがsegmentation faultとかJSのエラーっぽいので失敗するパターンが発生。文字化けはUTF-8に強制変換で大体対応した。segmentation faultはよくわからないし、JSはscriptタグ除去しても残ったままなのでわからない。まあそんな頻繁にある事例じゃなければいいけれど。

URL投げたらメール送るまでのシェルスクリプトも一応公開しておく。https://gist.github.com/840249

2011/02/23 Wedflickr

Webページをmobiに変換してKindleに送る

単純にページをmobiに変換してKindleに送るというのがあったらいいかと思ったので作ってみるテスト。画像なしだったり自分の管理下でなくてもいいのならばSend to Kindleを使えばいいけれど、画像も欲しかったり個人サービスだと持続しない気がするので。

wgetとかcURLだと別ドメインの画像を含めて一気にダウンロードというのができなかった(調査不足?)ので、pavukとやらを入れた。デフォルトだと再帰的にページ取得しちゃったり、link rel="openid.delegate" のURL取得しちゃったので、以下のようなオプションに落ち着いた。

$ pavuk -singlepage -index_name index.html -fnrules F '*' '1234/%n' -quiet -disable_html_tag link 'http://oquno.com/'

1234のところにはページごとにユニークなIDを入れるとして、ダウンロードが終わったら(カレントディレクトリにkindlegenがあるとして)

$ ./kindlegen '1234/index.html' -o '1234.mobi'

を実行すると 1234/1234.mobi が作成される。これが5MB以下ならば(まあページ1枚なら大体大丈夫だろうけれど) @free.kindle.comで無料でKindle 3 WiFiに送れるのでメールで送信する。送信するメールアドレスはMange Your Kindleのページで追加しておく必要がある。Kindle上では表示されないので、mobiのファイル名は気にしていない。

$ uuencode '1234/1234.mobi' '1234.mobi' |  mail -s 'new page2mobi file' 'YOURACCOUNT@free.kindle.com'

でいけるかと思いきや、できなかった。> kindle3 で無料ニュース配信をする(さくらインターネット編)その1 | moiblog
のでここを参考にスクリプトを改変して、あるいはrubyとかでこのあたりを参考に

$ perl sendmail.pl '1234/1234.mobi'
こんなのをシェルスクリプトにまとめて、CGIかなんかからURLを引数に呼び出せるようにするとか、定期的にソーシャルブックマークの新着URLを投げたりすればいける。

2011/02/19 Satflickr

Google Latitude開始から2年と障害情報

http://googleblog.blogspot.com/2009/02/see-where-your-friends-are-with-google.html
いつの間にか2年以上経っていた。自分はサービス開始当初から主にemobileのemonster(Windows Mobile)で利用していて、位置情報公開しまくって割と便利に使っていたけれど、最近やっとAndroidの普及とiPhoneの似非マルチタスク化のおかげか流行ってきた感じがありますね。昨年末には上京の際なんかに便利に使っていたLocation Alert機能が廃止されてしまってがっかりとか残念なこともありましたが、年越し夜のピクニックでも活躍していました。

そのユーザー急増のせいか、最近は友人リスト取得がうまくいかない障害っぽい状況になることが多くなってきた。Webで見てもこんな感じで更新されない。

latitude dashboard

位置情報送信と個別ユーザーの情報取得は出来ているみたいなので友人リスト回りのAPIがおかしいのだと思いますが、昨日の昼間より前から24時間以上こんな状態で何のアナウンスもない(見つけにくいだけ?)し、天下のGoogleさんらしからぬ状況なので、金払っているわけでもないけれどさっさと改善して欲しいですね。

2011/02/19 Satflickr

自宅サーバープレイヤー改良

new version

Last.fm の track.love と、ディレクトリ構造のインクリメンタル検索(incsearch.jsに少し手を加えた)から、プレイリスト自動生成と再生とか追加。

これ http://oquno.com/log/eid2188.html とかradiko予約録音とか組み合わさって、そこそこ便利になった。音楽流しながら寝落ち率が上がってきている。

2011/02/10 Thuflickr

自宅のLinuxサーバーでmp3を再生してLast.fmにもscrobbleするのをwebから操作

というのを作った。

経緯

  • 自宅のスピーカーで音楽聴きたい
  • デスクトップマシン(普段スピーカーに繋がっている)を起動させるの面倒
  • こたつから出て操作とか面倒
  • Last.fmにscrobbleしたい
  • SSHつないで操作も面倒
  • というようなことを前々から思っていたため、やってみた。

実装

web audio player

レイアウトとか全然凝ってないけどこんな感じ。HTML5で音量コントロールがそれっぽくできるようになったのがいいですね。あと、それっぽい気がしたので再生中にはmarqueeしてみている。

フロントエンドは、適宜XMLHttpRequestでAPIへリクエストして、返ってきたJSONに曲情報とか再生情報が入ってるので適宜反映といった感じ。バックエンドでは、RubyでMPlayerを動かしてるデーモンがあってそれをAPI経由でソケットでコマンド送って操作する。mplayer-rubyを使ってはいるのだけど、結構バグがあったり機能が足りなかったりと色々とひどい感じだったので改造しまくったたこともあり、公開しても動かないのでコードは公開しません。通信部分については、わざわざWeb APIを作らずにWebSocket使ったほうがシンプルにできそうではあったけれど、WebSocketは終わコン説があるのでスルーした。また、Cometはよくわからないのでスルーした。

仕組み

あと、mplayer-rubyでコマンドごとに同じプロセスの標準出力を読み取っているせいなのか、全然スケールしない様子(秒間1リクエストくらいならいけるか?)なので、Webの操作ページは公開しません。まあ家にいないと音楽も聞こえないし。

その他

Webでの操作はスケールしないけど、Twitter botでも作って、replyで曲のリクエストを受け付けるとかならありかも。データベースはmt-daapd用のを使いまわせるので、検索も難しくはない。

参考

http://blog.meganelab.net/archives/2006/11/21/043150
結構前に見てやろうと思ったけどサウンドカードがなくて諦めた

2011/02/07 Monflickr

Ruby で ID3 Tag取得

リモートでサーバーの音楽流して(音はサーバーから出したい)Last.fmにscrobbleなりするのにID3タグの処理とかしなきゃいけない感じになったので、Python は2系統でやって文字コードのトラウマがあるのでRubyやってみた。

fairtilizer/ruby-taglib2 - GitHub これを入れたのだけれど、mt-daapdで文字化けしないmp3に関しては文字コード的にも問題なく読み取りできた。 適当に読み取ってみる。
require 'rubygems'
require 'taglib2'

tag = TagLib2::File.new(ARGV[0])
puts tag.title
puts tag.artist
$ ruby id3.rb ./shintou.mp3
浸透
Anemone
あとはWebから操作するインターフェース作ったり、Last.fmのAPI使ってscrobbleなりnow playingなり更新したり、スピーカーつなげたりすればできそうな感じ。