自作したPragger用プラグイン
elem_cache
指定した要素でのみ比較してキャッシュを行う。
日付情報等が存在しない、ただのリスト等を監視したい場合に使う。custom_feedは特に指定しないと最新の日付が入ってしまうので、適当な日付を入れてリーダーに任せるといったことが難しかった。そこでこのプラグインを作成。単純に取得した要素が「ある」か「ない」かだけで判断するシンプルなキャッシュ。
本当は複数の要素で比較してキャッシュさせたかったけど、匿名メソッドを追加したオブジェクトをYAMLに保存してから復元すると匿名メソッドにアクセスできないというバグかどうか分からない仕様があったので、仕方なくこのような形になった。
empty
dataの中身を空の配列にする。一つのyamlにずらずらと大量に色々したい時に欲しかったので。
Webラジオ ダウンロード
わざわざrssにしてリーダーで知らせるよりも新着発見即ダウンロードのほうが効率よくね? とは思っていたものの、実際にRubyでダウンロードしようとすると本体にアクセスした際に500エラー等が発生してダウンロードすることができずに諦めていた。
で、つい最近になって「Plaggerを参考にしてみてはどうだろうか?」という天啓が降りてきたので実際にPlaggerで利用されているプラグイン「Mplayer.pm」のソースを見てみたところ、MPlayerに渡していてズコー。
で、このプラグインを参考にMplayerを使ってみたが、ダウンロードはできるがPCMに変換してしまう。Mplayerのヘルプを見ても、どうもPCMでしか保存できないようにしか見えなかった(ヘルプの見方が悪くて見落としている可能性あり)。
つーわけでこっちではNetTransportに渡すことでダウンロードするようにした。今のところ下記4サイトのみ確認。
NetTransportのコマンドラインオプションが分からんのでファイル名はそのまま。保存する場所もデフォルトとなってしまっている。
さすがに保存名を変えられないのは不便なので、とりあえずリネーム用のバッチファイルも同時に作成。ダウンロード完了後に実行すればリネームしてくれる。なんというアナログ。
もっとスマートな方法は無いものか。Rubyでダウンロードできれば全て解決するんだが、たぶんストリーミングとして受信しつつ、受け取ったデータを積んでいけばいいと思うけど、方法がさっぱりわからん。
Webラジオ 新番組
番組一覧のページから、番組のタイトルを取得し、一度取得したタイトルを次回以降表示させないことで、新番組だけを取得するようにした。
以上5サイトに対応・・・したつもりだが、テスト環境では成功してても、実際に番組が増えた場合を目にしていないので、動作がちょっと怪しいかも。自分で使っててあまりの沈黙っぷりに怖くなる。
音泉から欲しい番組を取得
HTMLの構造が変わったのか、正常に取得できていなかったので対応。
ニコニコ動画 検索
smしか見ていなかったので、nmmとかzhとかに対応。
クラブニンテンドーの予約ボーナス対象タイトルを取得
いつの間にかサイトがリニューアルされていたので。
クラブニンテンドーの未回答のアンケートを取得
同じくリニューアルしたので直そうとしたけど、アンケート回答欄が空なので、何かで埋まるまで更新できず。
date_sort
日付でソートするプラグインだが、アホなミスをしていたので修正。
クラスで比較する場合は、
date.class == "Time"
ではなく、
date.class == Time
とするのが正しい。
Info
- 投稿日
- 2008年5月5日
- タグ
- ruby
- このエントリの固定リンク
- http://diary/log/1760.html
- ブックマークに追加する
-
- コメント
2008
0505
Tagsruby
このサイトの日記部分はWordpressで運用している。しかしバージョンは1.x。相当古いのでアップデートしようと思った。どうせなら文字コードもUTF-8にして運用したいと思ったが、現在のサーバーではデータベースにEUC-JPしか使えない。
サーバーのレンタル期日を確認すると4月29日。そういえば静的ファイルしか運用していないのになんとなくサーバー重かったなぁ。じゃあ、これを機にWordpressの最新版へバージョンアップしつつサーバーの移転をしてしまおうか、と思い立ったのが去年の12月。
んで、2月までには完了するだろうと思ったら、1月中旬から多忙に見舞われて少しずつ作業が遅れ、気が付いたらこんな日になってしまっていた。(XBOX360買って予想以上にハマってしまったりとか。この時期にデッドラ買うんじゃなかった・・・)。
というわけで、不完全ながらもサイトリニューアルを強制的に実行したので、色々なところに不具合が発生しています。地味に直してはいますが、しばらくは404とか多発すると思います。申し訳ない。
Info
- 投稿日
- 2008年5月1日
- タグ
- site
- このエントリの固定リンク
- http://diary/log/1759.html
- ブックマークに追加する
-
- コメント
2008
0501
Tagssite
- ダウンロード
- 本体:nomorescripts.js
- 設定ファイル:nomorescripts_domains.js
経緯
- OperaでNoScriptが実現された日。にてblockscriptsおよびblock externalの存在を知る。
- ソース見る
- なーるM
- NoScriptっぽいインターフェースに改造&調整
- それなりにまともな動作をしているようなので公開
解説
上記リンク内にも書いてある通り、UserJavaScriptを有効にしたままサイト側のscriptをブロックすることができる。
使い方もNoScriptとほぼ同じ。右下のアイコンにマウスを乗せると許可しているドメインとブロックしているドメインが表示されるので、クリックで切り替えることが可能。
なお、常に許可したいドメインは設定ファイルに書くことになる。
まだブロックが甘い箇所があるが、そこそこ動いているようなので公開することにした。もし不具合が出るようであれば、メニューの一番上の項目をクリックすることでスクリプトの動作自体を止めることができる。
ドメインについて
一応NoScript同様にホスト名(www等)を取り除いたものを扱うようにした。例えばニコニコ動画なら、nicovideo.jpを許可するだけで
- www.nicovideo.jp ← webページ
- res.nicovideo.jp ← スクリプト等
- tn-skr[num].nicovideo.jp ← サムネイル
と、一気に許可することができる。逆にwww.nicovideo.jpだけを許可したいという場合には対応できない。url-prefixも同様で、次回実装する予定。
Info
- 投稿日
- 2008年4月26日
- タグ
- opera、userjs
- このエントリの固定リンク
- http://diary/log/1758.html
- ブックマークに追加する
-
- コメント
2008
0426
Tagsoperauserjs
黒⇒黒⇒黒⇒白だから、恐らく4個目。例によって例のごとく断線。
基本的に片耳にしか装着しないので寿命が倍になってても、大体半年~1年で死亡確認となっている。まあ、安いからいいやーと思ってAmazonでポチった矢先。
音楽を聴く>外して保管>次の日聴く>なぜか断線してる(;´_`;)>修理で交換させる …
ヘッドホンスレ/KOSS/The Plug - wiki@nothing
修理に出す。そういうのもあるのか!
・・・いや、気が付かない自分がアホなだけだが。言われてみれば保証書とか入ってたなーと思いつつ、目の前には隻腕且つ断線のKOSSが。片方断線したら邪魔になるので切り落としていたんだけど、これって当然保障対象外だよなぁ。なんてこったい。
というわけで、次からのKOSSは改造しないで両方断線したら修理に出すようにしよう。
Info
- 投稿日
- 2008年4月20日
- タグ
- misc
- このエントリの固定リンク
- http://diary/log/1757.html
- ブックマークに追加する
-
- コメント
2008
0420
Tagsmisc
クソ忙しいのに斑鳩買ったりドリルランド買ったりデッドラ買ったりしてしまった。積んだ物が崩せずさらに積み重なっていく悪循環に徐々にハマっているのが分かるのが怖い。
相変わらずオープニングの曲がかっこええ。雑誌にも画面写真が幾つか出ていたが、初代と比べると、DSとは思えないほど綺麗になっている。
アトラスネットの日記も更新。
ディレクター金田のカドゥケウス日誌 Vol.11
絶対アンジュは人魚の肉を食べてる。
神ゲーの廉価版が5月29日に登場。難易度調整が素晴らしいので初心者でもオススメ。鈴木司郎や加山雄三も絶賛。
このいかにもタッチペン強制スタイルは鋼の季節と同じ匂いがする・・・
やはり、XBLAのタイトル飽和は問題なんだな。タイトルが飽和することでゲイツチェックが遅れ、リリースも遅れる。さらにXBLAはインターフェースがショボイので満足なフィルタリングも行えず、良作がクソゲーの中に埋もれてしまっている。
ゲイツもそれを分かってて移植を制限することでタイトル飽和を避けようとしていると思うけど、それ以前にオリジナルでも満足のいく品質のものが少ないのが問題なので、まずはゲームの質をチェックするようにしてくれ。そんなだからドリラーオンラインのようなゲームが当たり前のようにリリースされてしまう。そして信用を一気に失ってしまうんだ。
「Wiiで2本作ってます! タイトルの内容については……すみません、カンベンしてください(苦笑)。
罪と罰だよな!?罪と罰であってくれ!
Info
- 投稿日
- 2008年4月20日
- タグ
- misc
- このエントリの固定リンク
- http://diary/log/1756.html
- ブックマークに追加する
-
- コメント
2008
0420
Tagsmisc
偏執的な書き方はともかく、Stylishを使って記述から投稿までを解説したようなサイトは見たことがないので、こちらも覚書として自分の手法を紹介する。
なお、ここから先は偏執的ではない。
Stylish専用プロファイルの作成
Firefoxに導入する拡張を絞り、広告ブロック等も行わないようにすることでwebページへの影響を最小限に抑える。これにより素のwebページを弄ることができるようになるので、ユーザースタイルシートを導入した際の他ユーザーとの差異を小さくすることができる。
別プロファイルを起動できるようにする。
複数の Firefox を同時起動するを参考に、
C:\Firefox\firefox.exe -no-remote -P "Stylish"
このような感じでショートカットを作成。初回はプロファイル編集ダイアログが表れるので新規プロファイルを作成する。間違っても通常使うプロファイルに設定してはいけない。
右クリックメニューからStylish専用プロファイルを起動する
このままでは、「ユーザースタイルシートを作成したいページのURLをコピー⇒専用プロファイル起動⇒URLをペースト⇒開く」といった手順が必要になるので、簡略化するべくJSActionsを利用して、右クリックから起動できるようにする。
JSActionsの導入については三軒隣の斜め向かい:JavaScript Actionsにて詳しく説明されているので、参考にすると良い。
無事にフォルダの設定まで完了したのなら、以下のスクリプトを「Stylish専用プロファイルで開く.js」とでも名前をつけてscript_set/globalに保存する。
// 現在のページまたはリンク先をStylish専用プロファイルで開く
jsa_execStylishProfile( );
function jsa_execStylishProfile(){
// Firefoxのパス
var fxpath = "D:\\Firefox\\firefox.exe";
// プロファイル名
var prof = "Stylish"
var docURL = ( _jsaCScript.context.onLink )
? _jsaCScript.context.link.href
: window.location;
_jsaCScript.exec( fxpath, ' -no-remote -P ' + prof + ' ' + docURL );
}
Firefoxを再起動後、適当なページで右クリックメニューから「Actions/Stylish専用プロファイルで開く」と選択すれば、見事に専用プロファイルが起動するようになる。
好みのテキストエディタでスタイルを書く
StylishのスタイルシートエディタはFirefox標準のtextareaなので非常に使いづらい。そこでuserChrome.jsを利用して、好みのテキストエディタで編集できるようにする。導入についてはuserChrome.js - Mozilla Firefox まとめサイトを参照してほしい。
userChrome.jsを導入したら、次にuserChrome.jsの話題8 Stylishのエディットウインドウに外部エディタ起動ボタンを追加する(改1)を参考にstylish0.5_edit.uc.jsをchromeフォルダに保存する。
うまくいけば、StylishのスタイルエディタにEditerというボタンが表れるので、これを押すことで外部エディタが起動するようになる。
webページをキャプチャする
実際に作成したユーザースタイルシートをuserstyles.orgに投稿する場合、スクリーンショットがあると導入の指針になるので、可能なら作成していく。
webページのキャプチャにはFirefoxの拡張の一つ、Screengrab!を利用する。
Screengrab!を導入すると、ステータスバーのアイコンからwebページのキャプチャが行えるようになる。saveは画像ファイルとして保存、copyはクリップボードに格納する。それぞれのサブメニューは以下のとおり。
- Complete Page/Frame…
- スクロール領域も含めた、ページの全てをキャプチャする
- Visible Portion…
- 現在表示している部分のみをキャプチャする
- Selection…
- 選択した部分をキャプチャする
チートシートを用意する
CSS3 セレクタ チートシート
CSS3のセレクタは強力なものが多く、その幾つかはFirefox2.xでも利用可能。こちらのチートシートにはFirefoxだけでなくOperaの対応状況も載っているので、両ブラウザで使えるユーザースタイルシートを作成する際にそばに置いておくと重宝する。
その他拡張機能の導入
- Firebug
- 消したい要素をクリック一つで判別できるだけでなく、CSSがどのように適用されているかも知ることができる。Stylishとの相性はグンバツ。神拡張。
- Web Developer
- 必須というわけでは無いが、機能の一つにウインドウを指定サイズでリサイズできるというものがあるので。他で代用できるなら入れる必要はあまり無い。
その他、webページに影響を与えない拡張なら必要最小限に抑えて導入していく。
ユーザースタイルシートのバックアップ
プロファイルフォルダ内にあるstylish.rdfがStylishの本体なので、コピーするなりしておく。
userstyles.orgに投稿する際の注意
- 投稿したスタイルは削除できない
- 投稿したスタイルの名前は50byteまで
- 他とする重複タイトルは登録不可能
- スクリーンショットは75KByte以下且つGIFかPNGのみ
- スクリーンショットは横幅が300pxになるまで縮小される
- Editページのobsoletion formから投稿したユーザースタイルシートを検索に引っかからなくなるようにできる
画像の一括リサイズ
キャプチャした画像は75KB以下でないとアップロードできない上、横幅が300px以上だとサーバーで汚く縮小されてしまうので、GIMPを利用して一括縮小してしまう。
一括変換プラグインで一度に複数画像を処理するを参考にプラグインを導入すれば、容易に一括リサイズが可能になる。
Info
- 投稿日
- 2008年4月20日
- タグ
- css、firefox
- このエントリの固定リンク
- http://diary/log/1755.html
- ブックマークに追加する
-
- コメント
2008
0420
Tagscssfirefox