<?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>finelworks &#187; Programming</title>
	<atom:link href="http://finelworks.net/archives/category/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://finelworks.net</link>
	<description>とある夢見の現実逃避</description>
	<lastBuildDate>Tue, 29 Dec 2009 13:50:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>iGoogleガジェット「しょぼいカレンダー アニメアラート」障害対応しました。</title>
		<link>http://finelworks.net/archives/2009/06/igoogle_1.html</link>
		<comments>http://finelworks.net/archives/2009/06/igoogle_1.html#comments</comments>
		<pubDate>Thu, 18 Jun 2009 15:09:15 +0000</pubDate>
		<dc:creator>finel</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Anime]]></category>
		<category><![CDATA[iGoogle]]></category>

		<guid isPermaLink="false">http://finel.m2.coreserver.jp/2009/06/igoogle%e3%82%ac%e3%82%b8%e3%82%a7%e3%83%83%e3%83%88%e3%80%8c%e3%81%97%e3%82%87%e3%81%bc%e3%81%84%e3%82%ab%e3%83%ac%e3%83%b3%e3%83%80%e3%83%bc-%e3%82%a2%e3%83%8b%e3%83%a1%e3%82%a2%e3%83%a9%e3%83%bc.html</guid>
		<description><![CDATA[				Syobocal Alert、2年前に作ったiGoogleのガジェットだが、気がついたらまともに動いてなかった。
				現象は抽出条件が全角だと正しい抽出結果がでない。
				たとえば抽出条件が「MAJOR」 [...]]]></description>
			<content:encoded><![CDATA[				<p><a href="http://www.google.co.jp/ig/directory?url=japan.inaba.googlepages.com%2Fsyobocalalert.xml">Syobocal Alert</a>、2年前に作ったiGoogleのガジェットだが、気がついたらまともに動いてなかった。<br />
				現象は抽出条件が全角だと正しい抽出結果がでない。<br />
				たとえば抽出条件が「MAJOR」だった場合はMAJORを含む番組タイトルが抽出されるが、抽出条件が「【新】」の場合だと【新】を含む番組タイトルが存在していてもindexOfメソッドで常に-1が返却されスルーされてしまう。<br />
				どこかで文字化けか文字コードがそろっていないのかと疑ったが、ガジェットのソース、しょぼいカレンダーのRSS、ブラウザのエンコード、すべてUTF-8で揃っていた。訳がわからない。化けようがない。<br />
				ユーザー設定の抽出条件を読み込まずにソース内にハードコーディングすると正常に抽出してくれるから、このままでいいや～原因究明めんどくさい。あ～でも一応ユーザー数見てからにしよう。<br />
				って<a href="http://www.google.co.jp/ig/directory?url=japan.inaba.googlepages.com%2Fsyobocalalert.xml">見てみたら</a>393人も使ってくれてた。Goodなコメントも二件ついてた！<br />
				使ってる人なんて5人ぐらいだと思ってたからびっくりだよ！<br />
				こりゃ勝手はできない、つかさっさと直さないと大迷惑じゃないか！ってんで至急原因を探ってみた。<br />
				ユーザー設定の値がどうも臭う。調べてみるとユーザー設定値の取得方法には現在使っている文字列置換方式以外にJavaScriptで取得する方法があるらしい。<br />
				文字列置換方式で取得した値とJavaScriptで取得した値をcharCodeAtで文字コードを比較してみると同じ文字でもコードが違っていた。内部で文字化けしてた？みたい。<br />
				早速取得方法を変更してみると直った！<br />
				ユーザーの皆様ご迷惑おかけしました。<br />
				※新しいガジェットのソースがgoogleサーバーに反映されるまで１～２日かかると思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://finelworks.net/archives/2009/06/igoogle_1.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>近似する相場をヒストリカルデータから検索して相場を予測するツールを作ってみました</title>
		<link>http://finelworks.net/archives/2008/02/post_42.html</link>
		<comments>http://finelworks.net/archives/2008/02/post_42.html#comments</comments>
		<pubDate>Sun, 24 Feb 2008 15:41:18 +0000</pubDate>
		<dc:creator>finel</dc:creator>
				<category><![CDATA[FX]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[テクニカル分析]]></category>

		<guid isPermaLink="false">http://finel.m2.coreserver.jp/2008/02/%e8%bf%91%e4%bc%bc%e3%81%99%e3%82%8b%e7%9b%b8%e5%a0%b4%e3%82%92%e3%83%92%e3%82%b9%e3%83%88%e3%83%aa%e3%82%ab%e3%83%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%81%8b%e3%82%89%e6%a4%9c%e7%b4%a2%e3%81%97%e3%81%a6.html</guid>
		<description><![CDATA[近似する相場をヒストリカルデータから検索してその後どうなるのか予測するためのツールを作ってみました。 検索したい相場が赤と青のローソク足、その後の相場が黄と
]]></description>
			<content:encoded><![CDATA[				<p><img src="http://finel.m2.coreserver.jp/wordpress/wp-content/uploads/2008/02/tm_Image1.jpg" alt="" title="tm_Image1" width="460" height="345" class="alignnone size-full wp-image-200" /></p>
				<p>近似する相場をヒストリカルデータから検索してその後どうなるのか予測するためのツールを作ってみました。</p>
				<p>検索したい相場が赤と青のローソク足、その後の相場が黄と緑のローソク足、そして多数の薄く赤いバーチャートが折り重なったものが、検索したい相場に近似した相場のその後の値動きを表したものです。</p>
				<p>もし相場が過去の値動きと同じ値動きを繰り返すのなら濃く赤い部分にローソク足が描かれるはず・・・</p>
				<p>なのですが、ロジックが悪いためか１７万本のヒストリカルデータで検索するのに４分ほど掛かるので多く試してないんですが、ほとんどの相場で上下対称の山（正規分布？）が出現してしまい、予測にはつかえないのかなぁと鬱状態。</p>
				<p>まあ、<a href="http://www.mfx.co.jp/" target="_blank">アストマックスＦＸ</a>のPUCKツールっていう市場予測ツールと似てなくもないので、上げ下げの予測ではなく、リスク管理ツールとして使えるかもしれませんね。<br />
				とにかく人に使ってもらえるような品質まで持って行きたいです。</p>
				<p>今後の改良点としては</p>
				<ul>
				<li>検索に時間が掛かりすぎるのでパフォーマンスの改善</li>
				<li>ヒートマップ風に相関係数によってバーチャートの色を変えてみる</li>
				<li>ニューラルネットとか多変量解析を導入してみる</li>
				</ul>
				<p>レシピはこんな感じ</p>
				<ul>
				<li>Microsoft Visual C# 2005 Express Edition</li>
				<li>MySQL Server 5.0</li>
				<li>NPlot(チャートを描画するライブラリ）</li>
				<li>AutoForexiteとCandleStickEditorで生成したヒストリカルデータ</li>
				<li>相関係数を求める式</li>
				</ul>
				<p>以下出力例</p>
				<p><img src="http://finel.m2.coreserver.jp/wordpress/wp-content/uploads/2008/02/tm_Image2.jpg" alt="" title="tm_Image2" width="460" height="346" class="alignnone size-full wp-image-201" /><br />
				収束してない例（手を出すなってことか！？）</p>
				<p><img src="http://finel.m2.coreserver.jp/wordpress/wp-content/uploads/2008/02/tm_Image3.jpg" alt="" title="tm_Image3" width="460" height="344" class="alignnone size-full wp-image-202" /><br />
				予測とは逆に下がった（トレンドの変わり目に弱い？）</p>
]]></content:encoded>
			<wfw:commentRss>http://finelworks.net/archives/2008/02/post_42.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MT4でDLLを作らずにカンタンにプロセス間通信を行う方法</title>
		<link>http://finelworks.net/archives/2007/08/mt4dll.html</link>
		<comments>http://finelworks.net/archives/2007/08/mt4dll.html#comments</comments>
		<pubDate>Sun, 26 Aug 2007 13:43:49 +0000</pubDate>
		<dc:creator>finel</dc:creator>
				<category><![CDATA[FX]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[MetaTrader]]></category>

		<guid isPermaLink="false">http://finel.m2.coreserver.jp/2007/08/mt4%e3%81%a7dll%e3%82%92%e4%bd%9c%e3%82%89%e3%81%9a%e3%81%ab%e3%82%ab%e3%83%b3%e3%82%bf%e3%83%b3%e3%81%ab%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9%e9%96%93%e9%80%9a%e4%bf%a1%e3%82%92%e8%a1%8c%e3%81%86.html</guid>
		<description><![CDATA[DLLを作らずともATOMとSendMessageでプロセス間通信を行い外部と連携が出来るようになります。 これでMetaTraderから売買シグナルを発信し、それを受け取った外部システムがブラウザや売買システムを自動操縦して発注するなんてことも出来ますね。怖いけど
]]></description>
			<content:encoded><![CDATA[				<p>ここの所、障害対応と仕様変更対応ぐらいしか仕事がなくてとっても暇です。</p>
				<p>んで暇つぶしにMetaTrader4のCustom Indicatorを改造したり作ったりしてます。</p>
				<p>MetaTrader4のCustom IndicatorやExpert Advisorsの作成に専用のスクリプト言語、MetaQuotes Language(以下MQL)を使うわけだけどこのMQL、C言語そっくりなんで１日中ネットしてるより罪悪感がなくて良い感じです。</p>
				<p>MQL専用エディタもシンタックスハイライトやコードアシストがありそこら辺のエディタよりも出来が良いです。あと今気がつきましたがブレークポイントまでありました。素晴らしすぎです。</p>
				<p>そして外部と連携したいときC/C++言語で作ったDLLを呼べるんですが・・・ﾒﾝﾄﾞｸｾ(&#8216;A`)</p>
				<p>C#に慣れすぎてどうすんだか忘れたし、Cのコンパイラ入れてないし。どーすっかなーと考えてて思い出した。</p>
				<p>あ！そうだATOMを使おう。GlobalAddAtomにデータを入れて、AtomIDをSendMessageで連携したいプロセスに送ればタイムラグ無しに連携できるネ。</p>
				<pre>#include &lt;WinUser32.mqh&gt;
#import "kernel32.dll"
int GlobalAddAtomA(string lpString);
int GlobalGetAtomName(int nAtom,string lpBuffer,int nSize);
int GlobalDeleteAtom(int nAtom);
#import
#define WM_APP_ATOM 0x8001</pre>
				<p>こんな感じでkernel32から使うWin32API関数を宣言する。 さらにSendMessageとFindWindowが必要なんでWinUser32.mqhをincludeします。 WM_APP_ATOMはSendMessageで送信するメッセージ定義です。</p>
				<pre>string ClassName = "WindowsForms10.Window.8.app.0.b7ab7b";
string TitleName = "Form1";
int HWND = FindWindowA(ClassName,TitleName);</pre>
				<p>そしてウィンドウクラス名とウィンドウタイトルを指定してウィンドウハンドルを取得。</p>
				<pre>int atom = GlobalAddAtomA("アッー");
SendMessageA(HWND,WM_APP_ATOM,atom,0);
GlobalDeleteAtom(atom);</pre>
				<p>ATOMに文字列を保存して得られたATOMIDをSendMessageで送信。</p>
				<pre>[DllImport("kernel32.dll", SetLastError = true)]
static extern int GlobalGetAtomNameA(int nAtom, StringBuilder lpBuffer, int nSize);
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_APP_ATOM)
{
StringBuilder buf = new StringBuilder();
GlobalGetAtomNameA((int)m.WParam, buf, 1024);
Console.WriteLine(buf.ToString());
}
base.WndProc(ref m);
}</pre>
				<p>送信先システム(例ではC#)でWM_APP_ATOMを受信したらWParamに入っているATOMIDを元にGlobalGetAtomNameAで文字列を取り出す。</p>
				<hr size="16" />という具合にDLLを作らずともATOMとSendMessageでプロセス間通信を行い外部と連携が出来るようになります。<br />
				これでMetaTraderから売買シグナルを発信し、それを受け取った外部システムがブラウザや売買システムを自動操縦して発注するなんてことも出来ますね。怖いけど。</p>
]]></content:encoded>
			<wfw:commentRss>http://finelworks.net/archives/2007/08/mt4dll.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>アニメの新番組や放送時間の変更を通知するiGoogleのガジェットを作った</title>
		<link>http://finelworks.net/archives/2007/06/igoogle.html</link>
		<comments>http://finelworks.net/archives/2007/06/igoogle.html#comments</comments>
		<pubDate>Wed, 13 Jun 2007 15:30:51 +0000</pubDate>
		<dc:creator>finel</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Anime]]></category>
		<category><![CDATA[iGoogle]]></category>
		<category><![CDATA[Pragger]]></category>
		<category><![CDATA[しょぼいカレンダー]]></category>

		<guid isPermaLink="false">http://finel.m2.coreserver.jp/2007/06/%e3%82%a2%e3%83%8b%e3%83%a1%e3%81%ae%e6%96%b0%e7%95%aa%e7%b5%84%e3%82%84%e6%94%be%e9%80%81%e6%99%82%e9%96%93%e3%81%ae%e5%a4%89%e6%9b%b4%e3%82%92%e9%80%9a%e7%9f%a5%e3%81%99%e3%82%8bigoogle%e3%81%ae.html</guid>
		<description><![CDATA[昨日、しょぼいカレンダーからアニメの番組データを取得してアニメの新番組や放送時間の変更を抽出するツールをPraggerで作りましたが、導入が簡単じゃないので、iGoogle用の単体で動くガジェットを作りました。+Googleってボタンを押せばiGoogle(旧Googleパーソナライズドホーム)にガジェットを追加できます。
]]></description>
			<content:encoded><![CDATA[				<p>昨日、<a href="http://cal.syoboi.jp/">しょぼいカレンダー</a>からアニメの番組データを取得してアニメの新番組や放送時間の変更を抽出するツールをPraggerで作りましたが、導入が簡単じゃないので、iGoogle用の単体で動くガジェットを作りました。</p>
				<p>これで多くの方が番組表を必死に見ることなく、2007年夏期の新番組の嵐を乗り越えられれば幸いです。</p>
				<p><script src="http://gmodules.com/ig/ifr?url=http://japan.inaba.googlepages.com/syobocalalert.xml&amp;up_mtitle=Syobocal%20Alert&amp;up_titlelink=http%3A%2F%2Ffinelworks.net%2F&amp;up_userid=finel&amp;up_days=14&amp;up_regex=%E3%80%90%E6%96%B0%E3%80%91%20%E3%80%90%E6%B3%A8%E3%80%91%20%E3%80%90%E7%B5%82%E3%80%91%20%E5%8A%87%E5%A0%B4%20%E7%89%B9%E9%81%B8%20%E7%89%B9%E5%88%A5%20%E6%98%A0%E7%94%BB&amp;up_exception=&amp;up_contentsnum=9&amp;up_textsizeset=12&amp;up_listmark=%2B&amp;synd=open&amp;w=320&amp;h=200&amp;title=Syobocal+Alert&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js" type="text/javascript">
				</script></p>
				<p>+Googleってボタンを押せばiGoogle(旧Googleパーソナライズドホーム)にガジェットを追加できます。</p>
				<p>ガジェットを追加したら右上の[↓]ボタンを押して、設定画面を開いてください。</p>
				<p><img class="alignnone size-full wp-image-206" title="syobocalalert1" src="http://finel.m2.coreserver.jp/wordpress/wp-content/uploads/2007/06/syobocalalert1.png" alt="" width="412" height="249" /></p>
				<p>設定画面にて<a href="http://cal.syoboi.jp/">しょぼいカレンダー</a>のユーザーIDを入力してください。</p>
				<p>入力したら、保存ボタンを押してください。<br />
				他の設定項目は後述します。</p>
				<p><img class="alignnone size-full wp-image-207" title="syobocalalert2" src="http://finel.m2.coreserver.jp/wordpress/wp-content/uploads/2007/06/syobocalalert2.png" alt="" width="394" height="301" /></p>
				<p>するとこんな感じで、新番組や放送日の変更、たまに放送されるアニメ映画劇場、そして憎っくき野球中継により発生する繰り下げ予告などアニオタなら見逃してはならない情報が一目でわかっちゃいます。</p>
				<p><img class="alignnone size-full wp-image-208" title="syobocalalert3" src="http://finel.m2.coreserver.jp/wordpress/wp-content/uploads/2007/06/syobocalalert3.png" alt="" width="392" height="240" /></p>
				<h4>設定項目について</h4>
				<p><strong>タイトル名：</strong>ガジェットのタイトル名を設定します。</p>
				<p><strong>タイトルのリンク：</strong>ガジェットのタイトル部分のリンクを設定します。</p>
				<p><strong>しょぼいカレンダーのユーザーID：</strong>しょぼいカレンダーのユーザ設定を使って、フィルタリングされたデータを取得するため。</p>
				<p><strong>取得する日数：</strong>取得する日数で設定した日付分の番組情報をしょぼいカレンダーより取得します。</p>
				<p><strong>抽出条件：</strong>抽出条件に設定したスペース区切りの単語が番組タイトルに含まれている番組を抽出します。</p>
				<p><strong>除外条件：</strong>抽出条件で抽出した番組に除外条件に設定した単語が含まれている場合、抽出結果から除外します。</p>
				<p><strong>表示個数：</strong>抽出結果から何件の番組を表示するかを設定します。</p>
				<p><strong>フォントサイズ：</strong>そのままの意味です。</p>
				<p><strong>マーク：</strong>番組タイトルの先頭に表示するマークを設定します。</p>
]]></content:encoded>
			<wfw:commentRss>http://finelworks.net/archives/2007/06/igoogle.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Praggerでアニメの新番組や放送時間の変更等を拾ってRSSに吐かせる</title>
		<link>http://finelworks.net/archives/2007/06/praggerrss.html</link>
		<comments>http://finelworks.net/archives/2007/06/praggerrss.html#comments</comments>
		<pubDate>Tue, 12 Jun 2007 16:58:44 +0000</pubDate>
		<dc:creator>finel</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Anime]]></category>
		<category><![CDATA[Pragger]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://finel.m2.coreserver.jp/2007/06/pragger%e3%81%a7%e3%82%a2%e3%83%8b%e3%83%a1%e3%81%ae%e6%96%b0%e7%95%aa%e7%b5%84%e3%82%84%e6%94%be%e9%80%81%e6%99%82%e9%96%93%e3%81%ae%e5%a4%89%e6%9b%b4%e7%ad%89%e3%82%92%e6%8b%be%e3%81%a3%e3%81%a6rss.html</guid>
		<description><![CDATA[				2007年夏期に放送開始されるアニメは24本、春に比べれば格段に少ないが、放送日時を調べるのはやっぱり大変です。
				そこで役立つのがしょぼいカレンダーです。視聴可能なチャンネルを設定すれば、アニメの放送スケ [...]]]></description>
			<content:encoded><![CDATA[				<p>2007年夏期に放送開始されるアニメは24本、春に比べれば格段に少ないが、放送日時を調べるのはやっぱり大変です。</p>
				<p>そこで役立つのが<a href="http://cal.syoboi.jp/" target="_blank">しょぼいカレンダー</a>です。視聴可能なチャンネルを設定すれば、アニメの放送スケジュールが一目で分かるようになります。</p>
				<p>でも、毎日しょぼいカレンダーを見に行くのも面倒なのでしょぼいカレンダーのRSSから「新番組」「終了」「注目」「放送日時変更」など注意しなければならない所だけ抽出して再びRSSとして出力するフィルターを作ってみた。</p>
				<p>※追記</p>
				<p>一般向けにiGoogle用のガジェットを作りましたので、こちら（<a href="http://finelworks.net/archives/2007/06/igoogle.html">アニメの新番組や放送時間の変更を通知するiGoogleのガジェットを作った</a>）をご利用下さい。</p>
				<p><img title="syobocal.jpg" src="http://finelworks.net/images/2007/syobocal.jpg" border="0" alt="iGoogleで表示してる様子" width="388" height="239" /></p>
				<p>実際にiGoogleでRSSを表示してる様子</p>
				<p>こうゆうのはPlaggerで作るのが有名だがインストールが面倒くさいので止めた。</p>
				<p>代わりにインストールが簡単なPlaggerのRuby版、<a href="http://pragger.ikejisoft.com/" target="_blank">PRagger</a>を使います。</p>
				<p>svnからチェックアウトしてRubyが使えるサーバーにUPすればOK。</p>
				<p>PRaggerはyamlというファイルに利用するプラグインと設定を記述してRSSなどのデータを制御します。</p>
				<p>が、説明も面倒くさいので作成したyamlとプラグインの配置とyamlの編集方法だけ書きます。</p>
				<p>詳しく知りたい場合は<a href="http://journal.mycom.co.jp/articles/2007/05/09/Pragger/index.html" target="_blank">それPraggerでできるよ! &#8211; Ruby版Plagger登場</a>を読んでみてください。</p>
				<hr size="16" />あらかじめ、しょぼいカレンダーにてアカウントを取得して視聴可能なチャンネルを設定してください。</p>
				<p><a href="http://finelworks.net/publish/syobocalfilter.zip" target="_blank">ここ(syobocalfilter.zip)</a>から、自作したyamlとプラグインをダウンロードしてください。</p>
				<p>syobocal.yamlとpluginフォルダをpragger.rbと同じフォルダにコピーしてください。</p>
				<h4>１．読み込むRSSのアドレスを編集します。</h4>
				<p>syobocal.yamlをメモ帳などのテキストエディタで開いてください。<br />
				RSSのアドレスにしょぼいカレンダーのユーザーIDを入れます。<br />
				下記のように、<strong>ここにユーザーIDを入れる</strong>という文字列をユーザーIDに差し替えてください。<br />
				たとえば、ユーザーIDがfinelの場合は</p>
				<blockquote><p><a href="http://cal.syoboi.jp/rss.php?usr">http://cal.syoboi.jp/rss.php?usr</a>=<strong>ここにユーザーIDを入れる</strong>&amp;days=14&amp;titlefmt=$(StTime)%20$(Mark)%20$(ShortTitle)%20$(ChName)<br />
				↓<br />
				<a href="http://cal.syoboi.jp/rss.php?usr=finel&amp;days=14&amp;titlefmt=$(StTime)%20$(Mark)%20$(ShortTitle)%20$(ChName">http://cal.syoboi.jp/rss.php?usr=<strong>finel</strong>&amp;days=14&amp;titlefmt=$(StTime)%20$(Mark)%20$(ShortTitle)%20$(ChName</a>)</p></blockquote>
				<h4>２．番組を抽出する条件を編集する。</h4>
				<p>あらかじめ、「新番組」「最終話」「注目」を抽出するようにしています。<br />
				他に、条件を追加したい場合は下記部分を編集してください。<br />
				正規表現で書く必要がありますが、条件を追加するだけなら&#8217;|'で単語を区切るだけでOKです。</p>
				<blockquote><p>regex: &#8220;【新】|【注】|【終】&#8221;</p></blockquote>
				<p>また、プラグイン側で&#8221;6/25は放送休止&#8221;とか&#8221;金曜日に放送日を移動&#8221;みたいコメントがある場合も抽出します。</p>
				<h4>３．抽出された番組から不要な番組を除外する。</h4>
				<p>注目番組にマンガ夜話とかアニメ夜話があるけど出したくない、とか<br />
				新番組にガンダムがあるけど出したくない、という場合</p>
				<blockquote><p>filter: &#8220;&#8221;<br />
				↓<br />
				filter: &#8220;夜話|ガンダム&#8221;</p></blockquote>
				<p>とすればOKです。</p>
				<h4>４．必要なら、出力するRSSのファイル名とタイトルを変えましょう。</h4>
				<p>標準でsyobocal.rdfという名前のRSSを出力しますが、変更したい場合は</p>
				<blockquote><p>filename: syobocal.rdf</p></blockquote>
				<p>上記の部分を変えてください。</p>
				<p>RSSのタイトルを変えたい場合は</p>
				<blockquote><p>title: しょぼいカレンダー</p></blockquote>
				<p>上記の部分を変えてください。</p>
				<h4>５．実行</h4>
				<p>シェルスクリプトに</p>
				<blockquote><p>#!/bin/sh<br />
				/usr/local/bin/ruby pragger.rb -c syobocal.yaml<br />
				exit</p></blockquote>
				<p>と書いてcronで毎日実行してしてRSSを吐かせます。</p>
				<p>私は、iGoogleでRSSを表示していますが、iGoogleのキャッシュのせいで上手く出なかったので、適当にiGoogleのRSSリーダーガジェットを改造してつねに最新のRSSを取得するようにしました。</p>
				<p>syobocal.xmlがiGoogleの改造版RSSリーダーガジェットです。</p>
				<h4>６．さいごに</h4>
				<p>昔にも似たようなツールを作りましたが、今回もサーバーが必要だったり、タスクの定期実行のためのcornが必要だったりと分からない人にはさっぱりですよね。</p>
				<p>またこんど暇があれば、iGoogleのガジェットにしょぼいカレンダーのユーザーIDを入れるだけで動作するようなモノを作ってみたいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://finelworks.net/archives/2007/06/praggerrss.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ウィンドウのタイトルバーと枠を外して「ほぼテキストブラウザ」を更に目立たなくするツール</title>
		<link>http://finelworks.net/archives/2007/05/post_31.html</link>
		<comments>http://finelworks.net/archives/2007/05/post_31.html#comments</comments>
		<pubDate>Sun, 20 May 2007 12:56:32 +0000</pubDate>
		<dc:creator>finel</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://finel.m2.coreserver.jp/2007/05/%e3%82%a6%e3%82%a3%e3%83%b3%e3%83%89%e3%82%a6%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%83%90%e3%83%bc%e3%81%a8%e6%9e%a0%e3%82%92%e5%a4%96%e3%81%97%e3%81%a6%e3%80%8c%e3%81%bb%e3%81%bc%e3%83%86.html</guid>
		<description><![CDATA[業務中に少し暇が出来たのでちょこっとだけ最新ニュースが見たい、だけど大っぴらにブラウザ立ち上げるのもイヤだなぁなんてことありません？  そんなときは、見た目が「メ
]]></description>
			<content:encoded><![CDATA[				<p>業務中に少し暇が出来たのでちょこっとだけ最新ニュースが見たい、だけど大っぴらにブラウザ立ち上げるのもイヤだなぁなんてことありません？</p>
				<p>そんなときは、見た目が「メモ帳」そっくりなWebブラウザを使うと画像やスタイルをOFFにして文字だけ表示してくれる「<a href="http://matsystem.net/" target="_blank">ほぼテキストブラウザー</a>」が大活躍なんですが…</p>
				<p>ただ、プログラマな人たちは「メモ帳」は使わないんですよね。</p>
				<p>「EmEditor」とか「サクラエディタ」とか「秀丸」などのエディタを使います。</p>
				<p>それにウチの場合、Eclipseなどの統合開発環境が作業のメインなのでメモ帳らしきモノを開いてたら異様です。</p>
				<p><img class="alignnone size-full wp-image-211" title="madomai_1s" src="http://finel.m2.coreserver.jp/wordpress/wp-content/uploads/2007/05/madomai_1s.gif" alt="" width="450" height="338" /></p>
				<p>そこで考えました。</p>
				<p>ウィンドウのタイトルバーと外枠を取り除けば他のアプリケーションに溶け込ませることができそうです。</p>
				<p>さくっと作ってみました。</p>
				<p>名前は「窓枠職人」とでもしましょう。低機能のソフトに職人と名付けるのもアレですが。</p>
				<h4 class="entry-sub-header">使い方</h4>
				<p><img class="alignnone size-full wp-image-212" title="madomai_2s" src="http://finel.m2.coreserver.jp/wordpress/wp-content/uploads/2007/05/madomai_2s.gif" alt="" width="450" height="332" /></p>
				<p>「窓枠職人」を起動すると最前面のウィンドウに赤い枠が現れます。</p>
				<p>そのまま「窓枠 ON/OFF」ボタンを押すとタイトルバーとウィンドウ枠が消えます。</p>
				<p><img class="alignnone size-full wp-image-213" title="madomai_3s" src="http://finel.m2.coreserver.jp/wordpress/wp-content/uploads/2007/05/madomai_3s.gif" alt="" width="450" height="274" /></p>
				<p>ほら、下のアプリケーションの一部のように見えるよね？</p>
				<p>もう一度「窓枠 ON/OFF」ボタンを押すと元に戻ります。</p>
				<p>あとはおまけ程度にウィンドウの透明度を変更する機能とウィンドウをつねに最前面に設定する機能を持たせました。</p>
				<p>「ほぼテキストブラウザ」×「窓枠職人」で限度をわきまえて、快適なこっそりブラウジングをお楽しみ下さい。</p>
				<h4 class="entry-sub-header">ダウンロード</h4>
				<p>「窓枠職人」 ver1.0.0.0 (48.35KB)<br />
				<a href="http://finelworks.net/publish/madomai_v1.zip" target="_blank">ダウンロード</a></p>
				<hr size="16" /><a title="Amazon で商品の詳細を確認する" href="http://www.amazon.co.jp/%E4%BB%95%E4%BA%8B%E3%81%AF%E6%A5%BD%E3%81%97%E3%81%84%E3%81%8B%E3%81%AD-%E3%83%87%E3%82%A4%E3%83%AB-%E3%83%89%E3%83%BC%E3%83%86%E3%83%B3/dp/4877710787%3FSubscriptionId%3D1QECH4B3SY93CF2AAAR2%26tag%3Dfinelworks-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4877710787"><img src="http://ecx.images-amazon.com/images/I/514AWCH6ZNL._SL160_.jpg" alt="仕事は楽しいかね?" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://finelworks.net/archives/2007/05/post_31.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>毎週予約している番組の放送時間変更を通知するスクリプト</title>
		<link>http://finelworks.net/archives/2005/03/post_20.html</link>
		<comments>http://finelworks.net/archives/2005/03/post_20.html#comments</comments>
		<pubDate>Mon, 28 Mar 2005 15:51:19 +0000</pubDate>
		<dc:creator>finel</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://finel.m2.coreserver.jp/2005/03/%e6%af%8e%e9%80%b1%e4%ba%88%e7%b4%84%e3%81%97%e3%81%a6%e3%81%84%e3%82%8b%e7%95%aa%e7%b5%84%e3%81%ae%e6%94%be%e9%80%81%e6%99%82%e9%96%93%e5%a4%89%e6%9b%b4%e3%82%92%e9%80%9a%e7%9f%a5%e3%81%99%e3%82%8b.html</guid>
		<description><![CDATA[毎週録画してたけど再生してみたら、今週は放送時間が変わってた Σ(ﾟДﾟ) いつの間にか新番組が始まってた、第一話見過ごしたorz そんな事態を予防する手段は幾つかあります。 でも、毎日テレビ欄見るのも面倒、番組ナビゲータは便利だけどISDNじゃ番組データ取ってくるだけで何分も掛かる、 最近のDVD...
]]></description>
			<content:encoded><![CDATA[				<p>毎週録画してたけど再生してみたら、今週は放送時間が変わってた Σ(ﾟДﾟ)<br />
				いつの間にか新番組が始まってた、第一話見過ごしたorz</p>
				<p>そんな事態を予防する手段は幾つかあります。</p>
				<p>でも、毎日テレビ欄見るのも面倒、<a href="&lt;br"></a> &#8220;http://www.roy.hi-ho.ne.jp/masao/rd/yoyaku.htm&#8221;&gt;番組ナビゲータは便利だけどISDNじゃ番組データ取ってくるだけで何分も掛かる、<br />
				最近のDVD/HDDレコーダに番組追跡録画機能が付いてるけど高くて買えない。</p>
				<p>そう思って書いたのがこのttTvスクリプトです。説明書書いたので公開することにしました。<br />
				ttTvは<strong>Perl</strong> + <strong>sendmail</strong> +<strong>cron</strong>が利用可能な環境をお持ちなら使用できます。</p>
				<p>ttTvは放送時間の変更を監視する<strong>《番組追跡機能》</strong>、<br />
				設定したキーワードを監視する<strong>《キーワード検索機能》</strong>を提供し、<br />
				<strong>cron</strong>で毎日定期実行しておけば監視結果を<strong>メール</strong>でお知らせします。</p>
				<p>■例1)番組追跡結果メール</p>
				<pre class="cd">舞－HiME[最終回] テレビせとうち
-
1:55～2:30 (木)が
4/7 (木)の1:58～2:28までに変更
G-CODE:8903113
まほらば～Heartful　days～ テレビせとうち
-
2:00～2:30 (金)が
4/8 (金)の2:33～3:03までに変更
G-CODE:1222392
ネギま！ テレビせとうち
-
2:40～3:10 (水)が
4/6 (水)の2:43～3:13までに変更
G-CODE:2737341</pre>
				<p>■例1)キーワード検索結果メール [新]が検出されたところ</p>
				<pre class="cd">[新]エレメンタルジェレイド BSジャパン
-
4/6 (水)に18:25～18:55で放送
G-CODE:-
[新]鉄人28号 BSジャパン
-
4/6 (水)に23:58～0:28で放送
G-CODE:-
[新]これが私の御主人様 BS-i
-
4/8 (金)に0:30～1:00で放送
G-CODE:-</pre>
				<p>ただし、幾つか問題点が在ります。</p>
				<ul>
				<li>番組追跡機能は番組名が省略されると正しく追跡できません。</li>
				<li>番組追跡機能は一分でも時間が変わると変更されたと通知します。</li>
				<li>過去に変更を通知したか？をG-CODEで管理しているのでG-CODEの無いBSデジタル放送の番組はログに残らず、<br />
				毎度変更を通知してきます。</li>
				<li>設定はGUIなんて高尚なモノはなく、テキストエディタで行います。</li>
				<li>めんどくさかったので殆どエラー処理してません。</li>
				<li>データ取得元のYahoo!TVはよく仕様変更します。</li>
				<li>設定方法が分かりづらい、説明書が意味不明。</li>
				</ul>
				<p>無料・無保証・無サポート(こっちのミスを除く)、過信しすぎて番組見逃しても文句言わない。等を承諾したうえでお使いください。</p>
				<p><a href="/publish/tttv1.zip">ttTv Ver1.00 ダウンロード</a></p>
]]></content:encoded>
			<wfw:commentRss>http://finelworks.net/archives/2005/03/post_20.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
