<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Web scratch &#187; クリップボード</title> <atom:link href="http://efcl.info/tag/%e3%82%af%e3%83%aa%e3%83%83%e3%83%97%e3%83%9c%e3%83%bc%e3%83%89/feed/" rel="self" type="application/rss+xml" /><link>http://efcl.info</link> <description>フリーソフトやFirefoxなどについて、web全般なサイト</description> <lastBuildDate>Sat, 14 Apr 2012 15:37:26 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>スニペット管理もできるクリップボード履歴拡張ソフトウェア「clipex」</title><link>http://efcl.info/2011/0123/res2246/</link> <comments>http://efcl.info/2011/0123/res2246/#comments</comments> <pubDate>Sat, 22 Jan 2011 15:15:05 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[software]]></category> <category><![CDATA[クリップボード]]></category> <category><![CDATA[ソフトウェア]]></category> <category><![CDATA[検索]]></category> <category><![CDATA[設定]]></category><guid
isPermaLink="false">http://efcl.info/?p=2246</guid> <description><![CDATA[クリップボード履歴拡張ソフトのclipexの紹介です。 しばらくペースターを使っていたのですが、最近になってclipexに移行しました。 clipexの特徴 履歴アイテムの振り分け アプリ別に表示アイテム(定型文とか)を [...]]]></description> <content:encoded><![CDATA[<p>クリップボード履歴拡張ソフトの<a
title="clipex" href="http://www.vector.co.jp/soft/winnt/util/se486732.html">clipex</a>の紹介です。<br
/> しばらく<a
title="ペースター" href="http://homepage2.nifty.com/autumn-soft/paster.htm">ペースター</a>を使っていたのですが、最近になって<a
title="clipex" href="http://www.vector.co.jp/soft/winnt/util/se486732.html">clipex</a>に移行しました。</p><h3>clipexの特徴</h3><ul><li>履歴アイテムの振り分け</li><li>アプリ別に表示アイテム(定型文とか)を変更できる</li><li>FIFO/FILO (連続貼り付けみたいな機能)</li><li><strong>PAP</strong>対応<br
/><dl><dt>PAP(Pop up in Application Process)という造語</dt><dd>アプリケーションプロセス内ポップアップ機能(エクスプローラのファイル名変更等でフォーカスが失われたりしない)</dd></dl></li><li>スクリプト機能(IronPython、IronRuby、C#) JScript対応しないかなー</li><li>マクロ記録</li><li>インクリメンタルサーチ機能 ( 重要! )　+ migemo対応</li></ul><p>という感じで一通りのクリップボード拡張+検索機能が付いてる感じのソフトウェアです。</p><div
id="attachment_2247" class="wp-caption alignnone" style="width: 266px"><a
href="http://efcl.info/wp-content/uploads/2011/01/ss-2011-01-22-3.png"><img
class="size-medium wp-image-2247" title="ss-2011-01-22-3" src="http://efcl.info/wp-content/uploads/2011/01/ss-2011-01-22-3-256x300.png" alt="" width="256" height="300" /></a><p
class="wp-caption-text">オプション</p></div><p>オプションも充実しているので、設定にはそこまで困らない感じがします。(ポップアップとインクリメンタルサーチは別々のショートカットで起動できるようになるともっと良いのだけど)</p><div
id="attachment_2249" class="wp-caption alignnone" style="width: 310px"><a
href="http://efcl.info/wp-content/uploads/2011/01/486732_02.png"><img
class="size-medium wp-image-2249" title="486732_02" src="http://efcl.info/wp-content/uploads/2011/01/486732_02-300x153.png" alt="" width="300" height="153" /></a><p
class="wp-caption-text">インクリメンタルサーチ</p></div><p><br
class="spacer_" /></p><p><br
class="spacer_" /></p><div
id="attachment_2248" class="wp-caption alignnone" style="width: 246px"><a
href="http://efcl.info/wp-content/uploads/2011/01/ss-2011-01-22-4.png"><img
class="size-medium wp-image-2248" title="ss-2011-01-22-4" src="http://efcl.info/wp-content/uploads/2011/01/ss-2011-01-22-4-236x300.png" alt="" width="236" height="300" /></a><p
class="wp-caption-text">ポップアップメニュー</p></div><p>インクリメンタルサーチ機能は貼り付けのポップアップとは別々に存在しているので、貼り付けのUIはよく見るコンテキストタイプの形になっているので安心できます。</p><p>面白い機能としてフィルター機能があります。これは正規表現や実行アプリ名を元に履歴やアイテムに振り分けることができる機能です。逆に正規表現でマッチしたものは履歴に追加しないなどの設定も行えます。<br
/> 例えば次のような正規表現にマッチしたものを入れるアイテムフォルダを作っておけば、JavaScriptの関数っぽいものだけを格納できます。</p><pre>&#91;\s\t&#93;*function +&#91;a-zA-Z0-9_&#93;+ *\(&#91;^\)&#93;*\)
&#91;\$a-zA-Z0-9_&#93;+.*?function *\(&#91;^\)&#93;*\)
</pre><h3>スニペット管理としてのclipex</h3><div
id="attachment_2250" class="wp-caption alignnone" style="width: 310px"><a
href="http://efcl.info/wp-content/uploads/2011/01/ss-2011-01-22-2.png"><img
class="size-medium wp-image-2250" title="ss-2011-01-22-2" src="http://efcl.info/wp-content/uploads/2011/01/ss-2011-01-22-2-300x240.png" alt="" width="300" height="240" /></a><p
class="wp-caption-text">メインウィンドウでのアイテム設定</p></div><p>メインウィンドウの登録アイテムには任意のフォルダを設定できるので、それをスニペット管理として扱うこともできます。<br
/> 要はフォルダで分別できる定型文機能なので、自由にフォルダ分けしてその中に好きな定型文を書いていくだけです。<br
/> ここで登録したアイテムはポップアップメニューに表示させられるので、そこから選んでペーストするのも良いですがclipexはインクリメンタルサーチが使えます。</p><p>インクリメンタルサーチには登録アイテムも検索候補に存在するので、登録しまくった後に検索してペーストできるスニペット管理ソフトとして最適だと思います。クリップボード履歴拡張 と インクリメンタルサーチ という機能を持ったソフトウェアはeclipなど過去にも存在していましたが、イマイチ使い勝手が良くなかったりしていたので、clipexは両方を備えていてとても使い勝手が良いソフトとなっていて素晴らしい。</p><p>まだちょっと不安定な所もあって、ポップアップやインクリメンタルサーチの結果から選択してからペーストするまでに無駄に時間がかかったり(ここは何とかして欲しい)、フィルター機能を設定して大きな文字列をコピーするととても重くなったり、設定画面の表示などが重くなったり、クリップボード拡張の鬼門であるOfficeソフトとの相性が余り良くなかったりします。<br
/> ただこれはアップデートにより解決される可能性はあり、また現在頻繁にアップデートされているため、clipexにはこれからも期待しています。</p><dl><dt><strong>eclipからclipexに乗り換えた &#8211; 教えてお星様</strong></dt><dd><a
title="eclipからclipexに乗り換えた - 教えてお星様" href="http://d.hatena.ne.jp/kkk6/20110114/1294978827">http://d.hatena.ne.jp/kkk6/20110114/1294978827</a></dd></dl><dl><dt><strong>Vector： clipex &#8211; 新着ソフトレビュー</strong></dt><dd><a
title="Vector： clipex - 新着ソフトレビュー" href="http://www.vector.co.jp/magazine/softnews/101204/n1012041.html">http://www.vector.co.jp/magazine/softnews/101204/n1012041.html</a></dd></dl><dl><dt><strong>clipexの詳細情報 : Vector ソフトを探す！</strong></dt><dd><a
title="clipexの詳細情報 : Vector ソフトを探す！" href="http://www.vector.co.jp/soft/winnt/util/se486732.html">http://www.vector.co.jp/soft/winnt/util/se486732.html</a></dd></dl>]]></content:encoded> <wfw:commentRss>http://efcl.info/2011/0123/res2246/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>NILScriptの使い方と書き方</title><link>http://efcl.info/2010/0816/res1888/</link> <comments>http://efcl.info/2010/0816/res1888/#comments</comments> <pubDate>Mon, 16 Aug 2010 05:19:47 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[javascript]]></category> <category><![CDATA[NILScript]]></category> <category><![CDATA[software]]></category> <category><![CDATA[twitter]]></category> <category><![CDATA[Windows]]></category> <category><![CDATA[エクスプローラ]]></category> <category><![CDATA[クリップボード]]></category> <category><![CDATA[プラグイン]]></category><guid
isPermaLink="false">http://efcl.info/?p=1888</guid> <description><![CDATA[NILScriptとはSpiderMonkeyを使ったJavaScriptベースのスクリプト実行環境です。(Windows専用+Wine環境でもある程度) 直感的に言うと、WSH + AutoHotKeyみたいな感じとい [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://lukewarm.s151.xrea.com/nilscript.html">NILScript</a>とはSpiderMonkeyを使ったJavaScriptベースのスクリプト実行環境です。(Windows専用+Wine環境でもある程度)<br
/> 直感的に言うと、WSH + AutoHotKeyみたいな感じというのが分かりやすいかな。<br
/> できることなど細かい事は<a
href="http://lukewarm.s151.xrea.com/nilscript.html">NILScript</a>のページやDocを読んでもらうとして、SpiderMonkey(JavaScript 1.8.1ベース)を使った処理系なのでFirefoxと同じJavaScriptの文法で、エクスプローラでのバッチ処理やキーバインドの変更などWSHやAutoHotKeyで行っていたような事が<strong>JavaScript</strong>で書けます。</p><h3>使い方</h3><p><a
href="http://lukewarm.s151.xrea.com/nilscript.html">NILScript</a>のページからnil.zipをダウンロードして、適当な場所に解凍します。<br
/> 解凍して出てくるng.exe(コンソールあり)とngw.exe(コンソールなし)のどちらかに、NILScriptのスクリプトファイルである*.ngファイルを渡すと実行されます。(WSHだとng = Cscript ,ngw = Wscript みたいな感じ)<br
/> 毎回ng.exeなどにD&amp;Dや引数などでngファイルを渡すのは面倒なので、ngファイルをクリックで実行できるように関連づけを行うinstall.batというのが入っています。実行するとng.exeと*.ngファイルが関連づけされ、クリックで実行できるようになります。<br
/> (多分レジストリを使うのはここだけ)<br
/> これで、実行する準備はできたので試しに何かスクリプトを実行してみましょう。</p><p><strong>追記:現在は<a
title="Home - NILScript - GitHub" href="https://github.com/azu/NILScript/wiki">Home &#8211; NILScript &#8211; GitHub</a>にほとんどのスクリプト置いてあります</strong><br
/> 自分が作った適当なスクリプトで試してみる。</p><ul><li><a
href="http://gist.github.com/raw/526275/67c3dd182b194beee8c48ceac80a00c0bc5d834d/displayInputKeys.ng">displayInputKeys.ng</a></li></ul><p><a
href="http://efcl.info/wp-content/uploads/2010/08/ss-2010-08-16-1.png"><img
class="alignnone size-full wp-image-1889" title="ss-2010-08-16-1" src="http://efcl.info/wp-content/uploads/2010/08/ss-2010-08-16-1.png" alt="" width="153" height="78" /></a></p><p>上のngスクリプトはちっちゃいウィンドウが出てきて押したキー(組み合わせも大丈夫)を表示するだけのスクリプトです。</p><ul><li><a
href="http://gist.github.com/raw/487432/8adefe14ee39f7bb54130c3c4ab55dda731ca011/Twitter_friend_search.ng">Twitter_friend_search.ng</a></li></ul><p><a
href="http://efcl.info/wp-content/uploads/2010/08/ss-2010-08-16-2.png"><img
class="alignnone size-medium wp-image-1890" title="ss-2010-08-16-2" src="http://efcl.info/wp-content/uploads/2010/08/ss-2010-08-16-2-179x300.png" alt="" width="121" height="203" /></a></p><p>こっちのngスクリプトは、Twitterで自分がフォローしてる人からユーザー名を検索してコピーするスクリプトです。 <br
/> 初回の起動時はOAuth認証します。(NILScriptで立てた簡易サーバをリダイレクト先にしている)<br
/> 2回目の起動で自分のフォローしてるユーザーのリストを取得してから、ユーザー名を検索するウィンドウを表示します。<br
/> ユーザー名を途中まで入力して↓キーなどを押せば、入力したユーザー名の所まで飛べます。Ctrl+Cでユーザー名をコピーできます。</p><p>このようにngスクリプトを書けば、ローカルで動くものがJavaScriptで書けるので簡単なものを書いたりするのに便利です。<br
/> 特にエクスプローラなどのファイル操作周りはWSHより簡単に書けるので、簡易なバッチ処理を書きやすい。<br
/> 次はngスクリプトの書き方を見ていきます。</p><h3>書き方</h3><p>ドキュメントはダウンロードしたnilフォルダにdocというフォルダがあり、その中にユニット(機能)毎のドキュメントが書いてあります。<br
/> いろいろあるので何から見れば良いか迷いますが、まずは_readme.txtを開いてみると、NILScriptには大きく分けて、<br
/> Base.ng内で定義されているNIL標準クラス・関数 と require()関数で読み込んで使うユニットスクリプトがあることが分かります。<br
/> 簡単言うと、前者はngスクリプトにそのまま書いて使える関数などで、後者はrequire(&#8216;Clipboard&#8217;)のようにユニットスクリプトを読み込んでから使えるようになる関数などが存在するという事です。<br
/> まずはNIL標準クラス・関数にどんなものがあるかをbase_*.txtなどを軽く見て把握しましょう。<br
/> 眺めているとprintlnなどのよくあるような感じのものからsleepやスレッドやポインタなどのJavaScriptでは扱えないものもあることが分かります。(base_main.txtはよく使う関数があるので必須)<br
/> 正直、まだドキュメントは箇条書き程度で文例などが不足しているので、実際に動かしながら確認する必要がある。<br
/> (<a
href="http://nilscript.blogspot.com/" target="_blank">NILScriptブログ</a>で使い方などの解説も始まったので合わせて読む)<br
/> 必要な機能は必要になったらgrepなどで検索して探すので効率的。</p><p>ドキュメントばかり見てもよく分からないので、サンプルファイルを見ながらどういう風に書いているのかを見てみましょう。<br
/> サンプルはnilフォルダのsampleというフォルダに入っています。<br
/> NIL標準クラス・関数はそのまま使えるので、ドキュメントや動作を見れば何となく分かってくると思います。<br
/> ユニットスクリプトを使うものはrequireしてから使う必要があるので、requireの仕方を見てみましょう。<br
/> 例えばsampleのclipboard.ngを見ると、clipboardを扱うためのユニットスクリプトを読み込んでいるのが分かります。(詳細はClipboard.txtに)</p><pre class="brush:javascript;">/*
タスクトレイにアイコンを登録して常駐し、
クリップボードの内容が変更された時に、形式に応じた情報を表示します。
*/

Main.createNotifyIcon();// タスクバーにアイコン表示
var Clipboard=require('Clipboard').Clipboard;// ユニットスクリプトを読み込む

Clipboard.observe('change',function(obj){// クリップボードが変化したら動作するリスナー
	if(this.hasFormat('files')){// クリップボードの中身がファイル形式
		var a=this.files,r=&#91;&#93;;
		for(var i=0,l=a.length;i&#60;l;i++){
			r.push(a&#91;i&#93;.name);
		}
		Main.notifyIcon.showInfo(r.join("\n"),this.isMove?"move":"copy");// タスクトレイのアイコンにバルーンメッセージを表示する
	}else if(this.hasFormat('html')){// html形式
		var h=this.html;
		Main.notifyIcon.showInfo(h.fragment,h.url);
	}else if(this.hasFormat('text')){// テキスト形式
		Main.notifyIcon.showInfo(this.text,'text');
	}
});</pre><p>上ではvar Clipboard=require(&#8216;Clipboard&#8217;).Clipboard;というようにクリップボードのユニットスクリプトを読み込んで、<br
/> 読み込んだクリップボードスクリプトのClipboardというクラスをClipboardという変数に渡しています。<br
/> _readme.txtの●ユニットスクリプト機能にも書いてありますが、ユニットスクリプトrequire(&#8220;SomeUnit&#8221;).SomeClass という感じで、<br
/> 多くのものはSomeUnitとSomeClassは同じ名前を持っているので上のような読み込み方法がよく出てきます。<br
/> 他にもユニットスクリプトの使い方はあるので詳しくは<a
href="http://nilscript.blogspot.com/2010/08/blog-post_2026.html">NILScript: ユニット(拡張ライブラリスクリプト)の読み込み方法</a>を見ると良いでしょう。(withでやるやり方はWindowでよく使います)</p><p>まずはHelloWorldを書いて実行するところから始めて、クリップボードが使いたくなったら関係するサンプルとClipboard.txtを見て作ってみる(それでもよく分からないときはlibフォルダにユニットスクリプトのソースがあるので中身を見てしまうと言うのもあります)</p><pre class="brush:javascript;">println("Hellow World");</pre><p>サンプルを見ていくと大体雰囲気は使えめると思いますが、まだまだ文例が足りないのでハマる事があります。<br
/> くだらないものを書いてもどんどん公開して、いろんな書き方が見られるようになるともっと使いやすいものになると思います！</p><h3>作例</h3><p><strong>追記:現在は<a
title="Home - NILScript - GitHub" href="https://github.com/azu/NILScript/wiki">Home &#8211; NILScript &#8211; GitHub</a>にほとんどのスクリプト置いてあります</strong></p><p>というわけで自分が今までに自分が書いたNILScript。</p><ul><li><a
href="http://gist.github.com/401178">gist: 401178 &#8211; NILScript用のスクリプト- GitHub</a><br
/> コピーする深さを決められるtreeコマンドみたいなもの。<br
/> 一番最初に書いたものなので何かおかしいところがあったり。(フォルダ判定はsizeより、dir.attributes.directoryがフォルダならtrueを返してくれるのでそっちを使いましょう)</li><li><a
href="http://gist.github.com/425452">gist: 425452 &#8211; 30分ごとにLDRの未読数を表示するNilScript- GitHub</a><br
/> アイコンとタイマーとHTTP.getText</li><li><a
href="http://gist.github.com/526275">gist: 526275 &#8211; 押したキーを表示するNILScript- GitHub</a><br
/> 上で紹介していたもの。<br
/> ウィンドウの表示方法とKeyboard。</li><li><a
href="http://gist.github.com/453042">gist: 453042 &#8211; クリップボードのJavaScriptコードを整形してクリップボードに返すNILScript &#8211; GitHub</a><br
/> JavaScriptで実装されたJS Beautifierをそのまま使えるって話</li><li><a
href="http://gist.github.com/453264">gist: 453264 &#8211; プロセスを起動して落ちるのを待つだけ- GitHub</a><br
/> サンプルにも似たようなものがあるのでそっちの方が参考になる<br
/> exeの起動方法</li><li><a
href="http://gist.github.com/526351">gist: 526351 &#8211; プロセスの起動 &#8211; GitHub</a><br
/> 上と殆ど同じ。プロセスのフルパスはエスケープする必要がある。</li><li><a
href="http://gist.github.com/454863">gist: 454863 &#8211; NILScriptでXMLHttpRequest的なものを書くテスト- GitHub</a><br
/> GM_xmlhttpRequestてきな感覚でXHRを書くのをテスト<br
/> 同じインスタンスのリクエストは上から順に実行される?</li><li><a
href="http://gist.github.com/456001">gist: 456001 &#8211; ファイルの作成して書き込み #NILScript- GitHub</a><br
/> そのまま。</li><li><a
href="http://gist.github.com/467939">gist: 467939 &#8211; #NILScript にデフォルト値を入れたものを新規作成- GitHub</a><br
/> 上のを土台にした作ったもの。<br
/> Greasemonkeyの新規作成ダイアログみたいなもので、// ==NILScript==のようなメタ情報を書いたngファイルを生成する。<br
/> AutoHotKeyでもそうだったけど、スクリプト単体で配布されることが多いので、後でこれどこで拾ったけ?って事があると思うので、メタ情報はできるだけ入れておいた方がよいと思う。</li><li><a
href="http://gist.github.com/463430">gist: 463430 &#8211; D&amp;Dしたディレクトリ以下をフラットにする #NILScript- GitHub</a><br
/> フォルダ(1)内のフォルダ(2)の中身をフォルダ(1)に移動させて、フォルダ(2)を削除<pre>    フォルダ
    ├fileA
    ├fileB
    └フォルダ&#91;DIR&#93;
     ├fileC
     └fileD
が
    フォルダ
    ├fileA
    ├fileB
    ├fileC
    └fileD</pre><p>のようにするスクリプト。複数のフォルダを同時にD&amp;Dしてもできるようにしている。<br
/> treeコマンドの時よりフォルダの扱いがちゃんとしてるはず。</p></li><li><a
href="http://gist.github.com/485691">gist: 485691 &#8211; #NILScript からTwitterへ投稿- GitHub</a><br
/> Greasemonkey向けにOAuthラッパを書いてあったので、NILScriptでも動くようにしてみたサンプル。<br
/> NILscriptでのOAuthについては後ろの方でまた書くのでこれは見る程度で。<br
/> <a
href="http://github.com/azu/OAuth-for-Greasemonkey">azu&#8217;s OAuth-for-Greasemonkey at master &#8211; GitHub</a></li><li><a
href="http://gist.github.com/487432">gist: 487432 &#8211; 自分のフォローしてる人からユーザー(スクリーン)名を検索する #NILScript- GitHub</a><br
/> これもOAuth使ったサンプル。<br
/> OAuth.jsとかも一緒くたにしてるので、分離する方法はまた後ろ</li></ul><p><br
class="spacer_" /></p><p>最後の方で出てきた<strong>OAuthをNILScriptで使う方法</strong>。(上のサンプルは無視していいよ)</p><ul><li><a
href="http://gist.github.com/raw/526379/fa17c5da823169bd8d4c6f4f6159ae2cf277b85e/OAuth.ng">OAuth.ng</a> (ライブラリみたいなものです)</li></ul><p>をダウンロードして、OAuthを使うスクリプト内でinclude(&#8220;OAuth.ng&#8221;);して、後は<a
href="http://efcl.info/2010/0610/res1721/">OAuth for Greasemonkeyのラッパーライブラリ | Web scratch</a>とメソッドの使い方は同じ。(xhrは実装してないです)<br
/> 単純なサンプルで、OAuth.ngと同じフォルダに入れて実行するとOAuth認証ができます。</p><ul><li><a
href="http://gist.github.com/526378">gist: 526378 &#8211; OAuth for NILScriptのサンプル- GitHub</a></li></ul><p>本当はユニットスクリプトやプラグインにした方が良いんだけどやり方がイマイチ分からなかったのでincludeにしてみた。</p><h3>まとめ</h3><p>良いところ</p><p>SpiderMonkeyベースなのでE4Xなども使えて文字列処理がやりやすいので、Firebugなどでマクロ的な文字列処理をしてる人とかJavaScriptで書くならこっちの方が便利かもよ。(JavaScript の新しめの機能(Array の拡張)とかも動くよ)<br
/> デフォルトで<a
href="http://nilscript.blogspot.com/2010/08/hotstrokes.html">マルチストローク対応ホットキー</a>やマウスジェスチャープラグインなどもあるので、AutoHotKeyでよくあるキーバインドを変更するとかもできるよ(自分の設定を公開とかやるといいかも)<br
/> WSHに比べてファイル操作をするものがかなり書きやすいよ。(base_io.txtを読む)<br
/> AutoHotKeyと違ってマルチバイト文字列に対応してるのでダメ文字とか日本語書けないとかに悩まされないよ。<br
/> 標準関数やユニットスクリプトなどもNILScriptで書かれているので、ソースを直接読むことができる(この辺、情報不足感といいJetpackによく似てる。requireするとこも)</p><p>悪いところ</p><p>知名度が少ないので情報が少ない(→作ったものはどんどん公開して欲しい)<br
/> SpiderMonkeyにはDOM実装はないので、LooseXMLという独自のパーサーになっている。XPathに似た表記で使えたり悪いとは言い切れないけど、普段使うJavaScriptのDOMとはちょっと違うので手間取る。<br
/> GUIの表現が貧弱。Windowを使う事で基本的なウィンドウは簡単に作れるが、文字サイズなど装飾など細かい事ができない部分も多い。</p><p>NILScriptの用途として個人的に使うものを書く場合が多いと思いますが、書いたものをどんどん公開していこうぜ！という感じで〆</p><dl><dt><a
href="http://lukewarm.s151.xrea.com/nilscript.html"><strong>NILScript</strong></a></dt><dd>NILScript配布場所</dd><dt><a
href="http://nilscript.blogspot.com/" target="_blank">NILScriptブログ</a></dt><dd>特徴や使用例の紹介記事</dd></dl>]]></content:encoded> <wfw:commentRss>http://efcl.info/2010/0816/res1888/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>JailbreakしたiPhone3Gに入れていたCydiaアプリ</title><link>http://efcl.info/2010/0701/res1819/</link> <comments>http://efcl.info/2010/0701/res1819/#comments</comments> <pubDate>Thu, 01 Jul 2010 14:21:46 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[iPhone]]></category> <category><![CDATA[app]]></category> <category><![CDATA[cydia]]></category> <category><![CDATA[クリップボード]]></category> <category><![CDATA[脱獄]]></category> <category><![CDATA[設定]]></category><guid
isPermaLink="false">http://efcl.info/?p=1819</guid> <description><![CDATA[iPhone4を買ったためiPhone3Gはメインではなくなったので、iPhone3G+OS3.1.2JBに入れていたCydiaアプリの記録。以前書いた脱獄時のメモの今版(ちょっと古いけど)みたいなもの。 [脱獄]iPh [...]]]></description> <content:encoded><![CDATA[<p>iPhone4を買ったためiPhone3Gはメインではなくなったので、<strong>iPhone3G+OS3.1.2JB</strong>に入れていたCydiaアプリの記録。<br
/>以前書いた脱獄時のメモの今版(ちょっと古いけど)みたいなもの。</p><dl><dt><strong>[脱獄]iPhoneに入れているJailbreak向けアプリ | Web scratch</strong></dt><dd><a
href="http://efcl.info/2008/1018/res355/">http://efcl.info/2008/1018/res355/</a></dd></dl><p>入れて直ぐ外したのも混ざっているので、見ている頃と機能が違うものも含まれます。</p><ul><li>Action Menu<br
/>Favoriteのためにいれてた。Action Menu Plus Packは競合しやすいので外してた。</li><li>AppLinks<br
/>アプリのシンボリックリンクを作ってくれる。iFunboxなどから見るのに便利</li><li>Activator<br
/>まあ使ってれば勝手に入ってる事がほとんど。設定用</li><li>Backgrounder<br
/>マルチタスク</li><li>Kirikae<br
/>Backgrounderとセットで。アプリの切り替え</li><li>Battery Control<br
/>電池を数値で表示する</li><li>SBSetting<br
/>JBで快適に生活するために必要なシステムランチャーみたいなもの。</li><li>Browser Changer<br
/>デフォルトだとsafariで開くがそれの代わりに起動するブラウザアプリを決められる。</li><li>iPod widget<br
/>SBSettingからiPodの再生/停止ができる</li><li>CyDelete<br
/>通常のappのようにCydiaアプリもspringboardからアンインストールできる。</li><li>Cydget<br
/>ロック画面をカスタマイズするためのスクリプト実行環境。Lock calendar用</li><li>Lock calendar<br
/>ロック画面にカレンダーの予定を表示。<br
/>Google Calendarとカレンダーをプッシュで同期させれば、domo todo+などで追加した予定がロック画面に自動で表示されるのでかなり便利。(Google CalendarをTodoとして使う理由)</li><li>iFile<br
/>エクスプローラ的なアプリ。多分必須なぐらい使えるアプリ</li><li>infinidock<br
/>ドックを横にもスライドでき、ドックにおけるアプリの個数も変えられるのでかなり重宝する。</li><li>MultilconMover<br
/>springboard上で複数のアプリを同時に選択して移動させられる。整理用アプリ</li><li>Panorama<br
/>springboardの背景画像(壁紙)を設定できる。名前の通り、一枚の横長な画像を設定して少しづつスライドさせて表示する。<br
/>一部アプリではロード画面中にもなぜか設定した背景が出てくるので意外と面白い。<br
/><a
href="http://www.youtube.com/watch?v=Lagz73o_1dY">Simple Background</a> でも似たようなパノラマなホーム壁紙ができるみたいです。(ちょっと調整がしにくそうだけど)</li><li>Shrink<br
/>springboardのアイコンのサイズを変えられる。</li><li>PasteboardStacker<br
/>moyashiさんのクリップボード履歴アプリ。(もう配布されていない)<br
/>Action Menuのやつは使えない事があったのでこっちを使用してた。<br
/>クリップボード関係はOS2.xの時の方が圧倒的にできがよい。</li><li>PrivaCy<br
/>アプリ内でトラッキングなどを防止する</li><li>QuickScrool2<br
/>スクロールバーを付けてくれるアプリ。一気に下に行くときなどにかなり便利</li><li>Safari Tab Closer<br
/>safariのタブをまとめて閉じる</li><li>Shutter Sound Toggle<br
/>シャッター音をなくす。これが無いとスクリーンショットとかカメラ使うアプリが恥ずかしくて使えない。<br
/>トグルする必要もない気がしてきたので/System/Library/Audio/UISounds/photoShutter.caf あたりを直接いじっても同じ効果。</li><li>Snappy<br
/>カメラの起動、保存がとても遅いiPhone3Gでは必須といえるぐらい素晴らしいアプリ。<br
/>Activatorで設定した方法でカメラを起動して直ぐにとれる。アプリ上にあるカメラを使うと落ちることがよくあったので、Snappyで取ったものをカメラロールから選んだ方が安全だった。</li><li>SysinfoPlus<br
/>システム情報がかなり詳細に見られるアプリ。</li><li>SprintBoard<br
/>springboardで効くQuickScrool2みたいなもの。<br
/>springboardの●部分をスライドさせるだけで高速移動できる。</li><li>TimeServerClient<br
/>iPhoneの時計を一定時間ごとに合わせてくれる</li><li>Tweetie2RTPatcher<br
/>TweetieとTwitter for iPhoneのRT挙動を日本式に変える</li><li>UC Browser<br
/>Web kitではないブラウザアプリ。<br
/><a
href="http://iphonesbrog.blogspot.com/2010/03/uc-browseriphonecydia.html">「UC Browser」高速iPhoneブラウザ英語版で登場 | iPhone&#8217;z</a></li><li>wigglefree<br
/>springboardでアプリを長押ししたときのぷるぷるをさせない。</li></ul><p>&nbsp;</p>]]></content:encoded> <wfw:commentRss>http://efcl.info/2010/0701/res1819/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>メディアマーカーで楽しく読書管理する</title><link>http://efcl.info/2010/0509/res1678/</link> <comments>http://efcl.info/2010/0509/res1678/#comments</comments> <pubDate>Sun, 09 May 2010 08:59:06 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[Greasemonkey]]></category> <category><![CDATA[雑記]]></category> <category><![CDATA[Evernote]]></category> <category><![CDATA[iPhone]]></category> <category><![CDATA[クリップボード]]></category> <category><![CDATA[ソフトウェア]]></category> <category><![CDATA[小説]]></category> <category><![CDATA[画像]]></category><guid
isPermaLink="false">http://efcl.info/?p=1678</guid> <description><![CDATA[メディアマーカーは読書管理を行えるWebサービスで、基本的な読書管理のシステムも優れていながら、Twitterへの連携やiPhoneアプリもあるので、とても使い勝手がよいサービスです。今回は自分がどのようにメディアマーカ [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://mediamarker.net/">メディアマーカー</a>は読書管理を行えるWebサービスで、基本的な読書管理のシステムも優れていながら、Twitterへの連携や<a
href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=323530721&amp;mt=8">iPhoneアプリ</a>もあるので、とても使い勝手がよいサービスです。<br
/>今回は自分がどのようにメディアマーカーを使っているか、自分流の読書管理方法について書いてみる。</p><p>まず、読書管理について自分で心がけているのは</p><ol><li>どんな本だったかが直ぐ分かること</li><li>読書した本の登録が面倒くさくならないこと</li><li>読書管理を楽しめること</li></ol><p>これを目標にしていろいろな読書管理方法を試してきました。<br
/>1のように後から見返したときにどんな本だったかを知るために読書した本を管理しているところが大きいので、以前はどんな内容だったかをレビュー形式で書いたりしていました。<br
/>しかし、本のレビューみたいに詳しく 書いていくと面倒臭さが増し2や3を破ってしまう事になり、あまり長くは続きませんでした。<br
/>(レビュー書く事が全く苦ではない人はブログや<a
href="http://www.forest.impress.co.jp/lib/home/house/hobby/shihonkanrip.html">私本管理Plus</a>を使って書きためるのもいいかもしれません)</p><p>後から見たときに本の内容を簡単に思い出す方法を考えていて思いついたのが、<strong>本の内容を貼り付けてしまえばいい</strong>と考えました。<br
/>つまり、本を読んでいるときに小説なら気になったフレーズ、漫画なら気になったコマをそのまま貼り付けてしまえばいい！<br
/>それを実現するためにとった方法は、本をカメラで撮影して画像にしてしまうという方法。<br
/>漫画などはこの方法で気になった部分を画像にできるし、小説はちょっとカメラに精度が必要となってしまうので、できなかった場合はiPhoneで気になったフレーズを書き写して、メディアマーカーiPhoneアプリで先に登録しておくといい。<br
/>最近流行ってる書籍の電子化で、既に電子化したものをビューアーで読んでいる場合はスクリーンショット機能を使って気になった部分を画像として保存しておく。<br
/>そうしてできた画像をDropboxのPublicフォルダに入れておいて外部からも参照できるようにしておく。<br
/>後は、メディアマーカーに数行のレビュー(レビューとはいえないレベル)とDropboxにある画像を貼り付けて画像を表示すれば、後から見たときに直ぐ内容が分かって便利になる。</p><div
class="wp-caption alignnone" style="width: 190px"><img
title="簡単な書籍の内容についてと画像" src="http://efcl.info/wp-content/uploads/2010/05/sshot-2010-05-09-2-300x198.png" alt="簡単な書籍の内容についてと画像" width="180" height="119" /><p
class="wp-caption-text">簡単な書籍の内容についてと画像</p></div><p>この気になった部分を画像にして貼り付けるのは意外と楽しくて、かつ撮影してそこで直ぐ完結するので手間があまりかからない。特に電子化している場合はスクリーンショットを取るだけなので一瞬で終わる。<br
/>また画像を貼り付けるときに、Dropboxに一つの書籍について複数の画像がある場合、エクスプローラの&#8221;Copy Public  Link&#8221;だと一個づつしかURLをコピーできないし、Imgタグで囲うのが面倒なのでコマンドラインで動くバッチのようなものを作る。</p><ul><li><a
href="http://gist.github.com/raw/395018/259d0871121ff326e0bba042ef228afa4d60bce4/Program.cs">Program.cs</a></li></ul><p>このProgram.csのdropboxPath部分を自分のDropbox環境に合わせてからコンパイルする。<br
/>csc.exeで以下のよう に指定するとコンパイルできる。(csc.exeの場所は.NETのどっかにあるかと、もしくはVisual Studio使うとか)</p><pre>&#62;C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe Program.cs
</pre><p>コ ンパイルしてできたexeファイルにD&amp;Dや送るからファイルを渡すと渡したファイルのURLをimgタグにしたものがクリップボードにコピーさ れるので、それをメディアマーカーに貼り付けるだけでよくなる。</p><p>さらにメディアマーカーは書籍登録時にタグをつけることができ、後から見返すときにそれらの情報をつけておくと分かりやすくなるため、タグ付けを補助するGreasemonkeyを導入する。</p><p><a
href="http://efcl.info/wp-content/uploads/2010/05/sshot-2010-05-09-1.png"><img
title="sshot-2010-05-09-1" src="http://efcl.info/wp-content/uploads/2010/05/sshot-2010-05-09-1-300x48.png" alt="" width="300" height="48" /></a></p><ul><li><a
title="MediaMaker  with Amazon tags" href="http://userscripts.org/scripts/show/67298">MediaMaker with Amazon tags</a></li><li><a
title="MediaMaker  with booklog tags" href="http://userscripts.org/scripts/show/76273">MediaMaker with booklog tags</a></li></ul><p>それぞれ、登録時にAmazonとbooklogにつけられている書籍のタグを表示してくれるので、クリックするだけで書籍に関係あるタグを追加できる。</p><p>補助ツールを使うことで書籍の登録の面倒臭さも低減されるし、何よりも書籍の内容を画像で表示するのは思っている以上に楽しい事だと思う。</p><p>evernote+iPhoneで似ている事をやっている人もいます。<br
/>やっぱりカメラで写真を撮るのと書き出すのは圧倒的に手間が違うし、いつも持ち歩いてるiPhoneでもカメラは何とかなることが多いので面倒な手間が結構減ります。</p><dl><dt><strong>Blog  Forest: 読書メモの作成にevernoteを使う</strong></dt><dd><a
title="Blog  Forest: 読書メモの作成にevernoteを使う" href="http://morimorishop.com/2009/03/evernote_2.html">http://morimorishop.com/2009/03/evernote_2.html</a></dd></dl><p>evernoteなら画像のOCR機能があるので検索できるという淡い期待もありますが、 Amazonから情報を引っ張れたり他とは関係の情報を切り離して見られるメディアマーカーのようなサービスで書籍を管理した方が自分にとっては便利かなーと思う。<br
/>後から見返したときに楽しいというのも大きな点。<br
/>あくまでevernte+写真はメモにして、そこから文字を書き出すというのも一つの手であると思います。</p><p>以上。</p><p>おまけ、Dropboxの画像をPublic経由で表示してるので少し重たくなってしまう。<br
/>表示する画像をローカルのものと差し替えるGreasemonkey</p><pre>@include
originSrc
newSrc
の三カ所を書き換える必要がある。
</pre><ul><li><a
href="http://gist.github.com/395040">Mediamaker img local replace.user.js</a></li></ul><p>セキュリティの理由からpref.jsに以下を追加してメディアマーカーからローカルの画像を表示できるようにしておかないと機能しない。</p><pre>user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
user_pref("capability.policy.localfilelinks.sites", "http://mediamarker.net");
user_pref("capability.policy.policynames", "localfilelinks");
</pre><dl><dt><strong>Muses Factory » Firefoxでcheckloaduri.enabledの設定が反映されない</strong></dt><dd><a
title="Muses Factory » Firefoxでcheckloaduri.enabledの設定が反映されない" href="http://reva.s28.xrea.com/archives/38.html">http://reva.s28.xrea.com/archives/38.html</a></dd></dl>]]></content:encoded> <wfw:commentRss>http://efcl.info/2010/0509/res1678/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>引数で渡した(任意の)ファイル名でスクリーンショットをとるAutoHotkey</title><link>http://efcl.info/2010/0324/res1624/</link> <comments>http://efcl.info/2010/0324/res1624/#comments</comments> <pubDate>Tue, 23 Mar 2010 15:36:45 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[software]]></category> <category><![CDATA[クリップボード]]></category> <category><![CDATA[画像]]></category><guid
isPermaLink="false">http://efcl.info/?p=1624</guid> <description><![CDATA[とてもニッチなものですが、スクリーンショットソフトに引数で任意の文字列を渡し、スクリーンショットをとってクリップボードに保存すると引数のファイル名でスクリーンショットを保存できるAutoHotkeyスクリプトです。 自分 [...]]]></description> <content:encoded><![CDATA[<p>とてもニッチなものですが、スクリーンショットソフトに引数で任意の文字列を渡し、スクリーンショットをとってクリップボードに保存すると引数のファイル名でスクリーンショットを保存できるAutoHotkeyスクリプトです。</p><p>自分の使い方</p><p>PDFなどを見ている時に、表示してる一部分を切り出して(スクリーンショットをとって)、その画像ファイル名を使って任意の場所に保存するのに利用してます。<br
/> いわゆるスクリーンショットを使ったメモみたいな感じです。<br
/> <a
href="http://morimorishop.com/2009/03/evernote_2.html">Blog Forest: 読書メモの作成にevernoteを使う</a> とかに似てる。(これの電子版みたいな)</p><p><span
id="more-1624"></span></p><p>必要なもの</p><ul><li><a
href="http://www.autohotkey.com/">AutoHotkey</a> (コンパイルしないと動かないAHKスクリプトなので)</li><li><a
href="http://www.ruche-home.net/?%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9">imgctl.dll</a> (画像を保存するのに必要なdll)</li><li>クリップボードへ保存する機能があるスクリーンショットソフト(自動保存機能があると楽)</li></ul><p>ダウンロード</p><ul><li> <a
href="http://gist.github.com/raw/341280/bdce2c453edfc47793ce283aedf647b1889b26e8/Clipboard.ahk">Clipboard.ahk </a></li></ul><p>上記のソースコードで、使うスクリーンショットソフトのパスとなまず様のライブラリ使って保存するファイル名の置換などができるようにしてるので、そこを自由に編集する必要があると思います<br
/> 編集が終わったらAHKのスタートフォルダにConvert .ahk to .exeがあると思うので、それを使ってexeにコンパイルする。<br
/> (上記のソースをコンパイルしてできたものをClipboard.exeとします。)<br
/> そしてClipboard.exeとimgctl.dll を画像を保存したいフォルダに起きます。<br
/> 後はClipboard.exeにファイル名にする引数を渡して起動するだけ。</p><p>動作の流れ</p><p>ファイル名にしたい文字列を引数にしてClipboard.exeを起動→Clipboard.exeがパスを指定したスクリーンショットソフトを起動→スクリーンショットをとってクリップボードに保存→スクリーンショットソフトを落とす→スクリーンショットソフトが落ちたらクリップボードにある画像を任意のファイル名で書き出す</p><p>という面倒な流れになっています。スクリーンショットソフトのプロセスを監視して落ちるまで待ってるので何回でも取り直せます。(スクリーンショットソフトを落とした時、クリップボードにある画像が保存されます)</p> ]]></content:encoded> <wfw:commentRss>http://efcl.info/2010/0324/res1624/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>今見てるサイトの短縮URLをクリップボードにコピーするTomblooパッチ</title><link>http://efcl.info/2009/0831/res1276/</link> <comments>http://efcl.info/2009/0831/res1276/#comments</comments> <pubDate>Mon, 31 Aug 2009 12:41:52 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[Tombloo]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[クリップボード]]></category><guid
isPermaLink="false">http://efcl.info/?p=1276</guid> <description><![CDATA[Tomblooのパッチとして動作するのでTomblooをインストールしている人用です。 今見てるサイトの短縮URLを一発でクリップボードにコピーできます。 action.copyShortLink.jsis.gd版 ac [...]]]></description> <content:encoded><![CDATA[<p>Tomblooのパッチとして動作するので<a
href="http://wiki.github.com/to/tombloo">Tombloo</a>をインストールしている人用です。<br
/> 今見てるサイトの短縮URLを一発でクリップボードにコピーできます。<br
/> <a
href="http://efcl.info/wp-content/uploads/sshot-2009-08-29-17-43-16.png"><img
class="alignnone size-medium wp-image-1277" title="sshot-2009-08-29-[17-43-16]" src="http://efcl.info/wp-content/uploads/sshot-2009-08-29-17-43-16-300x109.png" alt="sshot-2009-08-29-[17-43-16]" width="300" height="109" /></a></p><ul><li><a
href="http://gist.github.com/raw/177432/dbef848e7adc0e232705e790bde22dc924c59a50/action.copyShortLink.js">action.copyShortLink.js</a><br
/>is.gd版</li><li><a
href="http://gist.github.com/raw/415348/84a91d4fc1b518a2094d848e25154edc0c2df6ff/action.copybitlyLink.js">action.copybitlyLink.js</a><br
/>追加:bit.ly版</li></ul><div><span
style="text-decoration: underline;">上のリンク上で右クリック、[Tombloo]-[Tomblooパッチのインストール]で簡単インストール</span></div><p>インストールするとTomblooのコンテキストメニューにMake Short Linkが追加されてるので、<br
/> それをクリックするとクリップボードに短縮URLがコピーされます。</p><h3>Tomblooのメモ</h3><p>Tomblooのscriptフォルダを毎回開くのが面倒だったので、一発で開くスクリプト</p><div
id="attachment_1288" class="wp-caption alignnone" style="width: 310px"><a
href="http://efcl.info/wp-content/uploads/sshot-2009-08-31-21-37-47.png"><img
class="size-medium wp-image-1288" title="sshot-2009-08-31-[21-37-47]" src="http://efcl.info/wp-content/uploads/sshot-2009-08-31-21-37-47-300x96.png" alt="ツールのところのTomblooに追加される" width="300" height="96" /></a><p
class="wp-caption-text">ツールのところのTomblooに追加される</p></div><p><br
class="spacer_" /></p><ul><li><a
href="http://gist.github.com/raw/178438/8344b6f8b50bbdc22ff2b49a01539c0faa957e6c/action.openScriptFolder.js">action.openScriptFolder.js</a></li></ul><p>firebugを呼ぶにはlog()で大丈夫だった。</p><p>クリップボードにコピーするには</p><pre>ClipboardHelper.copyString("コピー文字列");</pre><p>みたいな感じで簡単に使える。<br
/> Tomblooには色んなヘルパー関数が用意されてるっぽいけど、どういうのがあるのかはソースを読む必要がありそう。</p><p>HTMLとしてコピーするものがなかったので適当に作成</p><pre class="brush:javascript;">// HTMLとしてstrをコピーする
// https://developer.mozilla.org/en/Using_the_Clipboard
function copyHTML(str) {
    var textHtml = str;
    // firebug("log" , textHtml);
    var htmlstring = Components.classes&#91;"@mozilla.org/supports-string;1"&#93;.
                     createInstance(Components.interfaces.nsISupportsString);
    if (!htmlstring) return false; // couldn't get string obj
    htmlstring.data = textHtml;
    var trans = Components.classes&#91;"@mozilla.org/widget/transferable;1"&#93;.
                           createInstance(Components.interfaces.nsITransferable);
    if (!trans) return false; //no transferable widget found
    trans.addDataFlavor("text/html");
    trans.setTransferData("text/html", htmlstring, textHtml.length);
    // copy the transferable widget!

    var clipboard = Components.classes&#91;"@mozilla.org/widget/clipboard;1"&#93;.
                           getService(Components.interfaces.nsIClipboard);
    if (!clipboard) return false; // couldn't get the clipboard

    clipboard.setData(trans, null, Components.interfaces.nsIClipboard.kGlobalClipboard);
    return true;
}

</pre><p>追記</p><p>短縮URLを取得するshortenUrls関数とかがあった。</p><dl><dt><strong>gist: 415348 &#8211; Tomblooパッチ- GitHub</strong></dt><dd><a
href="http://gist.github.com/415348" title="gist: 415348 - Tomblooパッチ- GitHub">http://gist.github.com/415348</a></dd></dl>]]></content:encoded> <wfw:commentRss>http://efcl.info/2009/0831/res1276/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 4/15 queries in 0.024 seconds using disk: basic
Object Caching 577/602 objects using disk: basic

Served from: efcl.info @ 2012-05-23 09:10:50 -->
