epgrecに録画済みの番組がたまってきた。
たまっている奴を1話から見るのが面倒になってきた。
面倒になると見なくなって溜まる一方。
そろそろ何とかしたかったので、ちょっと改造した。
タイトル頭の【】とかを削って、「」とかのサブタイトルとか#1とかをスペースで区切る。
で、splitでわけて一つ目がグループということにした。
データベースはいじりたくなかった(よくわかんないし)ので、phpだけで実施。
番組数2個以上 のやつを固めて選べるようにした。
番組数1個の奴はまとめて「その他」に入れる。
図の右上みたいな感じで選べるように。
全視聴のリンクも作ってみた(次の行左付近)。表示されてる番組をまとめてasxにする。
つくってみて分かったけど、見たら消していく奴は常に番組1個だから、
全部その他に入ってしまう。
1個でも直近のいくつかは分けた方がいいかなあ。
でも直近のはちょっとスクロールするだけだしなあ。
それより、一つ一つ消すのがめんどいから、全削除も作りたい。
2013年4月9日火曜日
2013年4月6日土曜日
バンダイチャンネルのフルスクリーン
環境ubuntu 12.10
バンダイチャンネルをフルスクリーンで見ようとすると、
何か右30%くらいが切れて表示される。
ずっと前からそうだったけど、linuxのflashはどうもadobeがやる気ないみたいで直る気配なし。
なんとかならんかなあ。と思ってたら何とかしている人がいるようだ。(ここ)
どうもデュアルディスプレイにしてたら問題があるらしい。
LD_PRELOADで何とかできるそうだ。
これで長年の不満がちょっと解消した。
追記:なんかいつの間にか直されてたようだ。GJ
バンダイチャンネルをフルスクリーンで見ようとすると、
何か右30%くらいが切れて表示される。
ずっと前からそうだったけど、linuxのflashはどうもadobeがやる気ないみたいで直る気配なし。
なんとかならんかなあ。と思ってたら何とかしている人がいるようだ。(ここ)
どうもデュアルディスプレイにしてたら問題があるらしい。
LD_PRELOADで何とかできるそうだ。
これで長年の不満がちょっと解消した。
追記:なんかいつの間にか直されてたようだ。GJ
2013年2月16日土曜日
walkmanのid3tag
ちょっと前にwalkman nw-z1050買った。
もってたmp3入れるとタグちゃんと認識しない。
id3タグ全部v2.3のUTF-16にしたのに
アーティスト名とか「不明」になる。
SuperTagEditorでみたところ、文字データはおそらくUTF-16なのに、
文字コードの情報がlatin1になってるっぽい?
SuperTagEditorはwineで使うとすぐ死ぬので、他の方法を色々探した結果、
taglibとそのフロントエンド使うことにした。
ほんとはrubyがよかったんだけど、setDefaultTextEncodingが使えなそうなので、
ubuntuのパッケージになってるtagpyってのを使うことにした。
で、色々苦労して以下をfindで回すことで全部変換した。
ちゃんとv2.3のUTF-16にしてるのに何かwalkmanがちゃんと認識しない時用スクリプト。
import sys
import tagpy
import tagpy.mpeg
import tagpy.id3v2
argvs = sys.argv
del argvs[0]
tagpy.id3v2.FrameFactory.instance().setDefaultTextEncoding(tagpy.StringType.UTF16)
for i in range(len(argvs)):
f = tagpy.mpeg.File(argvs[i])
t = f.tag()
t1 = f.ID3v1Tag()
t2 = f.ID3v2Tag()
t2.artist = t2.artist
t2.title = t2.title
t2.album = t2.album
print "%s - %s - %s" % (t2.artist, t2.album, t2.title)
f.save()
っていうかパッケージに入ってるのに情報少なすぎでえらい苦労した。
サンプルのテストすら動かないし。
pythonとか使ったことないし。
もってたmp3入れるとタグちゃんと認識しない。
id3タグ全部v2.3のUTF-16にしたのに
アーティスト名とか「不明」になる。
SuperTagEditorでみたところ、文字データはおそらくUTF-16なのに、
文字コードの情報がlatin1になってるっぽい?
SuperTagEditorはwineで使うとすぐ死ぬので、他の方法を色々探した結果、
taglibとそのフロントエンド使うことにした。
ほんとはrubyがよかったんだけど、setDefaultTextEncodingが使えなそうなので、
ubuntuのパッケージになってるtagpyってのを使うことにした。
で、色々苦労して以下をfindで回すことで全部変換した。
ちゃんとv2.3のUTF-16にしてるのに何かwalkmanがちゃんと認識しない時用スクリプト。
import sys
import tagpy
import tagpy.mpeg
import tagpy.id3v2
argvs = sys.argv
del argvs[0]
tagpy.id3v2.FrameFactory.instance().setDefaultTextEncoding(tagpy.StringType.UTF16)
for i in range(len(argvs)):
f = tagpy.mpeg.File(argvs[i])
t = f.tag()
t1 = f.ID3v1Tag()
t2 = f.ID3v2Tag()
t2.artist = t2.artist
t2.title = t2.title
t2.album = t2.album
print "%s - %s - %s" % (t2.artist, t2.album, t2.title)
f.save()
っていうかパッケージに入ってるのに情報少なすぎでえらい苦労した。
サンプルのテストすら動かないし。
pythonとか使ったことないし。
2013年2月10日日曜日
BUFFALO WZR-450HP
使ってた無線LAN親機がどうも調子がおかしくなってきた。
(たまに再起動しないとつながらなくなる。)
電気屋をうろうろしてたところ、「おすすめ!」「はやい!」みたいな感じだったので、
何も調べず買ってみた。
とりあえず家の構成に合わせないといけない。
モデムがルータ機能を持ってるので2段ルータになる。
とりあえず以下の機器がある。
(1) モデム兼ルータ Aterm DL180V-C
(2) ルータ(買った奴) AirStation WZR-450HP
(3) 常時稼働サーバPC
(4) 携帯
(5) 客とかDSとか
(3)はwebサーバとかsshサーバとか動いてるので、外部(Internet)からアクセスする。
なので、DynDNSを使ってて、 外部から割り当てた名前でアクセスできる。
で、内部から同じ名前でアクセスできるように(3)内にDNSサーバを立てている。(dnsmasq)
今まではルータのDNSとか全部切ってて(3)のDNSを使ってた。(DHCPも動かしてた)
で、今度買ったルータAirStation WZR-450HPには隔離機能っていうのがあるみたい。
客用に使いたい。
でも今まで通りにすると、隔離された(5)ゲストから(3)のDNS(&DHCP)へアクセスできないので使えない。
ってことで図のような感じにしてみた。
(2) AirStationのDNS,DHCPを有効にして、(3) サーバのDNSを参照する。(サーバのDHCPは止める)
これで(5) ゲストからも使える。
(2)のセカンダリDNSに(1)を指定しておけば仮に(3)のサーバが落ちても 使える様な気がする。
試してないけど。
(たまに再起動しないとつながらなくなる。)
電気屋をうろうろしてたところ、「おすすめ!」「はやい!」みたいな感じだったので、
何も調べず買ってみた。
とりあえず家の構成に合わせないといけない。
モデムがルータ機能を持ってるので2段ルータになる。
とりあえず以下の機器がある。
(1) モデム兼ルータ Aterm DL180V-C
(2) ルータ(買った奴) AirStation WZR-450HP
(3) 常時稼働サーバPC
(4) 携帯
(5) 客とかDSとか
(3)はwebサーバとかsshサーバとか動いてるので、外部(Internet)からアクセスする。
なので、DynDNSを使ってて、 外部から割り当てた名前でアクセスできる。
で、内部から同じ名前でアクセスできるように(3)内にDNSサーバを立てている。(dnsmasq)
今まではルータのDNSとか全部切ってて(3)のDNSを使ってた。(DHCPも動かしてた)
で、今度買ったルータAirStation WZR-450HPには隔離機能っていうのがあるみたい。
客用に使いたい。
でも今まで通りにすると、隔離された(5)ゲストから(3)のDNS(&DHCP)へアクセスできないので使えない。
ってことで図のような感じにしてみた。
(2) AirStationのDNS,DHCPを有効にして、(3) サーバのDNSを参照する。(サーバのDHCPは止める)
これで(5) ゲストからも使える。
(2)のセカンダリDNSに(1)を指定しておけば仮に(3)のサーバが落ちても 使える様な気がする。
試してないけど。
2013年1月13日日曜日
mechanize / watir
銀行とかから月イチで明細をダウンロードしてgnucashに突っ込む
と言う作業をここ3年くらいやっている。
正直面倒くさいので、mechanizeで自動化しようとした。
とりあえず以下の明細をとりたかった
・イオンカード
・中国銀行VISAカード
・中国銀行
・SMBC
・ゆうちょ
このうち、イオンカードと中銀VISAと中銀はjavascriptを解析して
mechanizeで自動取得できた。
他の(特にゆうちょ)は javascriptバリバリでちょっと無理。
と思ったら、中銀に改造が入ったらしく、javascriptの割合が増えて動かなくなった。
もうmechanize使ってjavascript解析してってのはやってらんないってことで
他のを探してwatirってのを見つけた。
ちょっと前までは要素が無いものに対してexists?を実行すると落ちてたけど、
最近updateしたら直っているようだ。
自動化するためのメモをいくつか書いておく。
・要素の調べ方
右クリックで「要素を調査」を選んだら色々調べられる。
・ofxファイルダウンロード 先の指定
普通に動かすとダウンロードダイアログが出てしまうので起動するブラウザの設定を変える。
profile = Selenium::WebDriver::Firefox::Profile.new
profile["browser.download.useDownloadDir"] = true
profile["browser.download.dir"] = '~/work/mechanize/smbc'
profile["browser.download.folderList"] = 2
profile["browser.helperApps.neverAsk.saveToDisk"] = "application/x-ofx"
driver = Selenium::WebDriver.for :firefox, :profile => profile
b = Watir::Browser.new(driver)
・フレーム
中銀はフレームを使って無いように見えて使ってたりするのでハマった
f = b.frame(:index=>0)
f.link(:href=>/hogehoge/).exists?
・ゆうちょは明細ダウンロードが無い
table要素を配列にできる
hairetu = b.table(:class=>"hogehoge").to_a
最近ゆうちょ使ってなくて明細にログが無いので未確認だけど、そのうちやる。
と言う作業をここ3年くらいやっている。
正直面倒くさいので、mechanizeで自動化しようとした。
とりあえず以下の明細をとりたかった
・イオンカード
・中国銀行VISAカード
・中国銀行
・SMBC
・ゆうちょ
このうち、イオンカードと中銀VISAと中銀はjavascriptを解析して
mechanizeで自動取得できた。
他の(特にゆうちょ)は javascriptバリバリでちょっと無理。
と思ったら、中銀に改造が入ったらしく、javascriptの割合が増えて動かなくなった。
もうmechanize使ってjavascript解析してってのはやってらんないってことで
他のを探してwatirってのを見つけた。
ちょっと前までは要素が無いものに対してexists?を実行すると落ちてたけど、
最近updateしたら直っているようだ。
自動化するためのメモをいくつか書いておく。
・要素の調べ方
右クリックで「要素を調査」を選んだら色々調べられる。
・ofxファイルダウンロード 先の指定
普通に動かすとダウンロードダイアログが出てしまうので起動するブラウザの設定を変える。
profile = Selenium::WebDriver::Firefox::Profile.new
profile["browser.download.useDownloadDir"] = true
profile["browser.download.dir"] = '~/work/mechanize/smbc'
profile["browser.download.folderList"] = 2
profile["browser.helperApps.neverAsk.saveToDisk"] = "application/x-ofx"
driver = Selenium::WebDriver.for :firefox, :profile => profile
b = Watir::Browser.new(driver)
・フレーム
中銀はフレームを使って無いように見えて使ってたりするのでハマった
f = b.frame(:index=>0)
f.link(:href=>/hogehoge/).exists?
・ゆうちょは明細ダウンロードが無い
table要素を配列にできる
hairetu = b.table(:class=>"hogehoge").to_a
最近ゆうちょ使ってなくて明細にログが無いので未確認だけど、そのうちやる。
ubuntu 12.10 byobuのエスケープキー
いままでbyobuのバックエンドをscreenにして使ってた(エスケープキーが変えられなかったから)
設定メモ: screenでマウススクロール
12.10でもUIでエスケープキー変えられないのは相変わらず。
なんでなんだろう。
とりあえずtmuxの設定を直書きする事にした。(Ctrl-gに設定)
~/.byobu/keybindings.tmuxに
set-option -g prefix C-g
を追加
byobuだと分割とかの設定がtmuxとかscreenとかと違うっぽい
よく使う機能
shift-F2 -> 横分割(Ctrl-g "は違うっぽい)
Ctrl-g % -> 縦分割
Ctrl-g Tab -> 分割間の移動
Ctrl-g 1 -> 分割やめる
Ctrl-g n or p -> ウインドウ移動
Ctrl-g d ->デタッチ
Ctrl-g [ ->コピー(スペースで開始→Enterで確定(何か分かりにくい))
Ctrl-g ] -> ペースト
Ctrl-g A ->ウインドウへの命名
まあこんくらいメモっとけば大丈夫だろう。
設定メモ: screenでマウススクロール
12.10でもUIでエスケープキー変えられないのは相変わらず。
なんでなんだろう。
とりあえずtmuxの設定を直書きする事にした。(Ctrl-gに設定)
~/.byobu/keybindings.tmuxに
set-option -g prefix C-g
を追加
byobuだと分割とかの設定がtmuxとかscreenとかと違うっぽい
よく使う機能
shift-F2 -> 横分割(Ctrl-g "は違うっぽい)
Ctrl-g % -> 縦分割
Ctrl-g Tab -> 分割間の移動
Ctrl-g 1 -> 分割やめる
Ctrl-g n or p -> ウインドウ移動
Ctrl-g d ->デタッチ
Ctrl-g [ ->コピー(スペースで開始→Enterで確定(何か分かりにくい))
Ctrl-g ] -> ペースト
Ctrl-g A ->ウインドウへの命名
まあこんくらいメモっとけば大丈夫だろう。
2012年12月2日日曜日
007SH電池消費
007SH(android 2.3)を使っている。
もともとバッテリーは少ないけど、待ち受けだけなら2日はもつ。
ところが何のタイミングか分からないけど、急に電池消費が激しくなる。
電池が急降下している間、ほとんどスリープなし状態。
とにかくいろんなプロセスを終了させたらスリープなし状態は終わった。
普通だったらこんなもん。
とりあえずスリープを無効にする権限を持ってるプロセスを調べた。
どれかが怪しいはず。
全然別の原因かも知れないけど。
多分ジョルテは入れる前から現象出てたはずだから無実だと思うとして、
他をちょっとずつ調べるのめんどくさい。
電話
ジョルテ
Android Assistant
Googleサービスフレームワーク
ワンセグ
HDMI
マップ
SHARP DMS
SharpIPCService
FeliCaObex
VideoConverterService
コンテンツマネージャー
BURS
アストロ
Dropbox
Google Play ストア
関係ないけどスクリーンショットのとり方をメモっておく。
通話終了キー+ホームキーで、/mnt/sdcard/screen shotにファイルができる。
追記>
犯人はBURS
もともとバッテリーは少ないけど、待ち受けだけなら2日はもつ。
ところが何のタイミングか分からないけど、急に電池消費が激しくなる。
電池が急降下している間、ほとんどスリープなし状態。
とにかくいろんなプロセスを終了させたらスリープなし状態は終わった。
普通だったらこんなもん。
とりあえずスリープを無効にする権限を持ってるプロセスを調べた。
どれかが怪しいはず。
全然別の原因かも知れないけど。
多分ジョルテは入れる前から現象出てたはずだから無実だと思うとして、
他をちょっとずつ調べるのめんどくさい。
電話
ジョルテ
Android Assistant
Googleサービスフレームワーク
ワンセグ
HDMI
マップ
SHARP DMS
SharpIPCService
FeliCaObex
VideoConverterService
コンテンツマネージャー
BURS
アストロ
Dropbox
Google Play ストア
関係ないけどスクリーンショットのとり方をメモっておく。
通話終了キー+ホームキーで、/mnt/sdcard/screen shotにファイルができる。
追記>
犯人はBURS
登録:
投稿 (Atom)