Hatena::ブログ(Diary)

zero-codeのはてなダイアリー このページをアンテナに追加 RSSフィード

2009/05/26

Google Readerにはてなスターも表示するユーザースクリプト

以前、MOONGIFTさんにご紹介頂、予想以上に多くの方に使って頂いているGoogle Reader plus Hatenaにスターを表示する機能をテスト的にではありますが、実装いたしました。

既にオフィシャルのブログで告知済みなのですが、アクセスが無いブログですので、こちらでも紹介させて頂きます。

FireFoxGreasemonkey, SafariのGreaseKit?上にてご利用頂けます。


ダウンロード:Google Reader plus Hatena


そういえば、はてなで使えるユーザースクリプト一覧に掲載をしてください。とはてなへメールをして、一度確認のメールが来てから、返答が無い・・・。スター機能がちゃんと実装出来たら、再度お願いしてみようかな。


MOONGIFTさんの記事:http://www.moongift.jp/2009/05/google_reader_plus_hatena/

2009/04/14

画面をトリプルにしたいけど、Macだから・・・

「画面をトリプルにしたいんです!」というTwitterの発言に反応してくれた、kero7さんへのレスも含めて、現在の自分のデュアルディスプレイ時の使い方まとめ。

ディスプレイ構成

f:id:zero-code:20090415025201j:image

会社・自宅共に メイン 24inch・サブ 20inch

会社ではメインがIODATAのディスプレイで、20inchがiMacです。


体も、キーボードもメインの中心から少し左あたりにあります。

マウスはキーボードの右手前あたり。なるべく使わない様にします。


2つの違うサイズのウィンドウなのは、机のサイズの関係とエクスポゼとダッシュボードのホットコーナーを画面の4つの角に割り当てているので、2つ同じサイズだと角と角が遠くなってしまう為。


自宅での使い方

【メイン】主にブラウザー、Photoshopエディターなどメインとなるソフト

【サ ブ】iTunesや、Twitter、チャットのクライアントソフトなどの常時起動ソフト


サブディスプレイに目をやるのは少し遠いので、メインとなる物は置きません。

その代わり、常駐するアプリケーションなどのウインドウを置いています。


プログラムカキカキ(主にperl

【メイン】エディタ(Coda, JeditX)、ブラウザ(調べ物/Gmail)、Terminal

【サ ブ】iChat(社内連絡用)、Terminal


ブラウザは基本的にバックに隠し、必要に応じてショートカットキーで呼び出しを行います。


Terminalは、「F13」を押すと上からペロっと出てくるVisorを使用しているので、必要に応じて出すことが出来て、画面の上1/3程度しか場所を取らない・半透明のウインドウのため、エディタのウィンドウも一緒に見ることが出来ます(codaのTerminalはショートカットキーでの切り替え方が分からないので使ってません)。


また、デバッグ時やエラーが大量に発生した場合などなどの場合はサブディスプレイに出してあるTerminalを使います。


Web制作時(HTML, CSS)

【メイン】エディタ(Coda, CSSEdit)、Photoshop

【サ ブ】ブラウザー(CSSEditのプレビュー)、VMware(IEチェック)、Photohop(既に出来上がったデザインプレビュー)、iChat


Web制作時最初のデザインの時はPhotoshopのみ。

HTMLを書く時もPhotoshopのファイルを見て、エディタでカキカキするのみ。HTMLが完成するまでは、基本的にはブラウザーで見ても何の意味も無いのでw


CSSを書き始めるといっきにアプリケーションが増えます(上記のアプリ全て)。

サブディスプレイに置くブラウザーは、CSSのリアルタイムプレビューウィンドウです。さらに、ちょっと複雑なCSSを書くとVMwareを使ってWindowsIEなどでのチェック・FireFoxでのチェックなどを行いながら書きます(メモリー4GBでも結構きつい)。


また、ブラウザーが大量に起動するので、アプリケーションの切り替えが激しいです。


まとめ

メインディスプレイを基準としてキーボード・マウス・体を配置し、入力デバイスでの操作が長時間になるアプリケーションをメインに。それ以外の物をサブに。といった感じです。


トリプルディスプレイにしたい理由は、メインを基準としてサブがバランス良く左右に置いてあるのが理想的だから。

ただ、よくよく考えると、左右にプレビュー用のブラウザを配置したら首を左右に振りまくることになるw


うーん、今ちょっと考えているのは、こんな配置

f:id:zero-code:20090415032517j:image

これなら、左右じゃなくて上下で済むので首を激しく振る必要は無くなりそう。

でも、意味ないな・・・。30inchのディスプレイと13inch程度のディスプレイを2つとかの方がいいかな?

うーん、トリプルは色々と考える必要がありそうですね。とりあえず、アームは絶対に必要になるw

2009/04/06

Mobile meのSynkデータはPC依存

バイト先のパソコンが壊れて、たまに画面にノイズが走るので次期FileMaker Serverにする予定のMacBookPro SSHモデルに、壊れたパソコンのOSが入った外付けSSDを接続して仕事をしてる。

仕事中あるサイトにログインしようと思ったら

「1Passwordのデータが飛んでる!」

よくよく見てみると、ローカルにキャッシュさせてるiDiskが無くなってる。

1Passwordは「キーチェーン登録型」と、「独自ファイル形式保存型」の2パターンがあり、後者を使用して、そのデータの保存場所をiDiskにしていたため、iDiskのローカルキャッシュが無くなると使えなくなると言う罠。

設定し直せば、元通り使える様になったのですが、iDiskってパソコン変わると見れなくなるんですね。セキュリティー面からも結構良いかもしれない!

2009/03/17

responseTextをXpathで分解

prototypeのloadeEchoなどで取ってきたHTMLXpathで処理出来ることを初めて知った。

http://d.hatena.ne.jp/Cherenkov/20081101/p2

なるほど。

一度DIV Elementを作って、その中にinnerHTMLで流し込み、それをXpathで分解処理すればokというお話。

GoogleReaderのユーザースクリプトを書いた時に、Xpathは少し勉強したから楽勝だ!


ということで、mixiのトップページ(マイページ)で、「みんなのエコー」の表示件数が少なくなっているので、

無理矢理件数を増やすユーザースクリプトを書いてみた。

FireFoxで正常動作するかは不明。Safariでテスト済み)

(function() {

function findNode(root, xpath) {
	try{
		var result = document.evaluate(xpath, root, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
		return result.snapshotItem(0);
	}catch(e){
		return null;
	}
}

function loadeEcho(){
	var url = 'http://mixi.jp/recent_echo.pl';
	var myAjax = new Ajax.Request(
		url,
		{ onSuccess:function(httpObj){showResponse(httpObj)} }
	);
}

function showResponse(Response){
	try{
		var html = document.createElement('div');
		html.innerHTML = Response.responseText;
		
		var archiveList = findNode( html, './/div[@class="archiveList"]' ).innerHTML;
		
		$$('.latestEcho')[0].innerHTML = archiveList;
	}catch(e){}
}

document.body.onload = loadeEcho();

})();

mixiprototype.jsが使えるよ

スクリプト内容の要約

http://mixi.jp/recent_echo.plHTMLを取得

createElementで、DIV作成

作ったDIVにinnerHTML = で、http://mixi.jp/recent_echo.plHTML流し込み

Xpathを使って、div.archiveListのinnerHTML取得

トップページの p.latestEchoのinnerHTMLに流し込み