<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2japanesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>いわぶろ（ろてん）</title>
	
	<link>http://blog.iss.ms</link>
	<description>issmの公私混同的おぼえがき</description>
	<lastBuildDate>Thu, 10 May 2012 05:09:49 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/issm" /><feedburner:info uri="issm" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>[perl] Image::Sizeで画像サイズを取得できないことがある件とその（アドホックな）対処方法</title>
		<link>http://feedproxy.google.com/~r/issm/~3/NUlO3hfDnt4/140633</link>
		<comments>http://blog.iss.ms/2012/05/10/140633#comments</comments>
		<pubDate>Thu, 10 May 2012 05:06:33 +0000</pubDate>
		<dc:creator>issm</dc:creator>
				<category><![CDATA[技術メモ]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.iss.ms/?p=3969</guid>
		<description><![CDATA[はじめに CPANモジュール Image::Size を使って画像サイズを取得できないケースに遭遇したのでメモ． なお，モジュールのバージョンは 3.230 です． 現象 同モジュールを入れると imgsize コマンド [...]]]></description>
			<content:encoded><![CDATA[<p><!--Title:[perl] Image::Sizeで画像サイズを取得できないことがある件とその（アドホックな）対処方法--></p>
<h3>はじめに</h3>
<p>CPANモジュール <a href="http://search.cpan.org/perldoc?Image::Size">Image::Size</a> を使って画像サイズを取得できないケースに遭遇したのでメモ．</p>
<p>なお，モジュールのバージョンは 3.230 です．</p>
<h3>現象</h3>
<p>同モジュールを入れると <code>imgsize</code> コマンドを利用できるようになります．本来であれば次のような感じ：</p>

<div class="wp_syntax"><div class="code"><pre class="terminal" style="font-family:monospace;">% imgsize /path/to/img_ok.jpg
width=&quot;2693&quot; height=&quot;1800&quot;</pre></div></div>

<p>しかし，次のようなケースに遭遇しました：</p>

<div class="wp_syntax"><div class="code"><pre class="terminal" style="font-family:monospace;">% imgsize /path/to/img_ng.jpg
Use of uninitialized value in printf at /home/www/perl5/perlbrew/perls/perl-5.14.2/bin/imgsize line 61.</pre></div></div>

<p>Perlスクリプトとして実行してみたら，次のようになりました：</p>

<div class="wp_syntax"><div class="code"><pre class="terminal" style="font-family:monospace;">% perl -MImage::Size=imgsize -MData::Dumper -le 'print Dumper [ imgsize(&quot;/path/to/img_ng.jpg&quot;) ]'
$VAR1 = [
          undef,
          undef,
          'Data stream is not a known image file format'
        ];</pre></div></div>

<p>うーん，画像フォーマットの識別がうまくいっていないのかな，と推測．</p>
<h3>ひとまずの対処法</h3>
<p>同モジュールのソースをざっと眺めてみると，<code>Image::Magick</code> モジュールを読み込んでいれば，そのメソッド <code>->Get()</code> を使ってくれることがわかったので，とりあえずはそんな感じで対処：</p>

<div class="wp_syntax"><div class="code"><pre class="terminal" style="font-family:monospace;">% perl -MImage::Magick -MImage::Size=imgsize -MData::Dumper -le 'print Dumper [ imgsize(&quot;/path/to/img_ng.jpg&quot;) ]'
$VAR1 = [
          2693,
          1800,
          'Joint Photographic Experts Group JFIF format'
        ];</pre></div></div>

<p>取得できました！</p>
<h3>おわりに</h3>
<p>以上，<code>Image::Size</code> モジュール（または <code>imgsize</code> コマンド）で画像サイズ情報を取得できないケースに遭遇して，アドホックに対処したお話でした．</p>
<p>また，<code>imgsize($file, { format => 'jpeg' })</code> のような感じで画像フォーマットを強制的に固定できるようになってもいいんじゃないかな，とか思ったりしました．</p>
<p>あとでもう少し詳しくソースを読んでみるとします．</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iss.ms/2012/05/10/140633/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.iss.ms/2012/05/10/140633</feedburner:origLink></item>
		<item>
		<title>5月連休とaquaさん</title>
		<link>http://feedproxy.google.com/~r/issm/~3/Ily3YFKckZ8/213217</link>
		<comments>http://blog.iss.ms/2012/05/06/213217#comments</comments>
		<pubDate>Sun, 06 May 2012 12:32:17 +0000</pubDate>
		<dc:creator>issm</dc:creator>
				<category><![CDATA[自転車ライフ]]></category>
		<category><![CDATA[bicycle]]></category>
		<category><![CDATA[gps]]></category>

		<guid isPermaLink="false">http://blog.iss.ms/?p=3954</guid>
		<description><![CDATA[はじめに この連休中にaquaさんでちょこっと走った際の記録などです． 2012-05-03: 名古屋〜豊橋 朝はまだ雨が少し降っていたものの次第に晴れてきたので，スタートが遅いかなと思いつつも決行することに． 初めて碧 [...]]]></description>
			<content:encoded><![CDATA[<p><!--Title:5月連休とaquaさん --></p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7137907583/" title="こういうの食べればいいの？ by issm, on Flickr"><img src="http://farm8.staticflickr.com/7224/7137907583_30e0d93f31.jpg" width="500" height="500" alt="こういうの食べればいいの？"></a>
</div>
<h3>はじめに</h3>
<p>この連休中にaquaさんでちょこっと走った際の記録などです．</p>
<h3>2012-05-03: 名古屋〜豊橋</h3>
<p>朝はまだ雨が少し降っていたものの次第に晴れてきたので，スタートが遅いかなと思いつつも決行することに．</p>
<p>初めて碧南・蒲郡方面を経由してみました．全体的に平坦な感じで走りやすかったです．一部唐突に出現する上り坂なんかもありましたが．</p>
<h4>記録</h4>
<p>iPhoneアプリ <a href="http://click.linksynergy.com/fs-bin/click?id=IzWAfxt1bak&#038;offerid=94348.4330595774&#038;type=2&#038;subid=0">Cyclemeter</a> での記録です．またデータが一部欠けちゃってるなぁ．．．</p>
<div class="googlemap">
<iframe width="720" height="480" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.jp/?q=http:%2F%2Fshare.abvio.com%2Fbad0%2Fdbd8%2F4e9b%2Fc2cb%2FCyclemeter-Cycle-20120503-1151.kml&amp;ie=UTF8&amp;t=m&amp;brcurrent=3,0x34674e0fd77f192f:0xf54275d47c665244,0&amp;ll=34.953493,137.213745&amp;spn=0.540274,0.987396&amp;z=10&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.jp/?q=http:%2F%2Fshare.abvio.com%2Fbad0%2Fdbd8%2F4e9b%2Fc2cb%2FCyclemeter-Cycle-20120503-1151.kml&amp;ie=UTF8&amp;t=m&amp;brcurrent=3,0x34674e0fd77f192f:0xf54275d47c665244,0&amp;ll=34.953493,137.213745&amp;spn=0.540274,0.987396&amp;z=10&amp;source=embed" style="color:#0000FF;text-align:left">大きな地図で見る</a></small>
</div>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">スタート: 2012/05/03 11:51:26
バイクタイム: 4:57:59
停止時間: 0:00
距離: 101.75 km
平均スピード: 時速 20.49 km
最高スピード: 時速 58.46 km
登り: 259 メートル
降り: 220 メートル</pre></div></div>

<h4>写真いくつか</h4>
<p>西尾のあたり．車通りもそんなに多くありませんでした：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7137852659/" title="西尾に入った。 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7232/7137852659_1e8681b8a6.jpg" width="500" height="500" alt="西尾に入った。"></a>
</div>
<p>蒲郡を経由した証ｗ：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7137984717/" title="競艇場前。 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7259/7137984717_08eaf58114.jpg" width="500" height="500" alt="競艇場前。"></a>
</div>
<p>あ，ラグーナとか撮ってないやｗ</p>
<h3>2012-05-05: 豊橋駅〜渥美半島の根元あたり</h3>
<p>有名らしい「大松屋食堂」を目的地に設定して，国道259号線と国道42号線を，という感じに．</p>
<p>駅のコインロッカーに，輪行袋はじめ帰り用のかさばる荷物を預けておいたので気楽です．</p>
<h4>記録</h4>
<p>同じく <a href="http://click.linksynergy.com/fs-bin/click?id=IzWAfxt1bak&#038;offerid=94348.4330595774&#038;type=2&#038;subid=0">Cyclemeter</a> での記録．こっちはデータ欠けてないみたい．</p>
<div class="googlemaps">
<iframe width="720" height="640" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.jp/?q=http:%2F%2Fshare.abvio.com%2Fbad0%2Fdbd8%2F4e9b%2Fc2cb%2FCyclemeter-Cycle-20120505-0938.kml&amp;ie=UTF8&amp;t=m&amp;brcurrent=3,0x6004d25c7aca3abf:0xcc79b557d07fd9c6,0&amp;ll=34.689686,137.300606&amp;spn=0.180669,0.247192&amp;z=12&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.jp/?q=http:%2F%2Fshare.abvio.com%2Fbad0%2Fdbd8%2F4e9b%2Fc2cb%2FCyclemeter-Cycle-20120505-0938.kml&amp;ie=UTF8&amp;t=m&amp;brcurrent=3,0x6004d25c7aca3abf:0xcc79b557d07fd9c6,0&amp;ll=34.689686,137.300606&amp;spn=0.180669,0.247192&amp;z=12&amp;source=embed" style="color:#0000FF;text-align:left">大きな地図で見る</a></small>
</div>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">スタート: 2012/05/05 9:38:43
バイクタイム: 5:52:00
停止時間: 12:44
距離: 53.95 km
平均スピード: 時速 9.20 km
最高スピード: 時速 60.28 km
登り: 247 メートル
降り: 211 メートル</pre></div></div>

<h4>写真いくつか</h4>
<p>大松屋食堂．中に入れるまで30分くらい待ちました：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7143816099/" title="目的地到着！順番まで30分待ち！ by issm, on Flickr"><img src="http://farm9.staticflickr.com/8025/7143816099_6dfa41575a.jpg" width="500" height="500" alt="目的地到着！順番まで30分待ち！"></a>
</div>
<p>天丼がヤバいｗ：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7143883193/" title="天丼がやばい！ by issm, on Flickr"><img src="http://farm8.staticflickr.com/7263/7143883193_0777d37701.jpg" width="500" height="500" alt="天丼がやばい！"></a>
</div>
<p>食後，膨れたお腹を抱えて海沿いにゆっくりと道の駅まで：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7143999577/" title="Untitled by issm, on Flickr"><img src="http://farm6.staticflickr.com/5467/7143999577_d6a8ea9da1.jpg" width="500" height="500" alt="Untitled"></a>
</div>
<p>大清水駅からは，土曜・休日に運行している，渥美線のサイクルトレインに乗車して豊橋駅まで移動しました：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6998080272/" title="渥美線のサイクルトレインに。 by issm, on Flickr"><img src="http://farm9.staticflickr.com/8158/6998080272_0ccfa0c6f7.jpg" width="500" height="500" alt="渥美線のサイクルトレインに。"></a>
</div>
<h3>おまけ：2012-05-02: 荷物を実家へ</h3>
<p>走るのに要らないだろう荷物を，先に実家へ送りました：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7134372087/" title="これから実家に送る。 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7109/7134372087_810ab99290.jpg" width="500" height="500" alt="これから実家に送る。"></a>
</div>
<p>同様に，5日の朝，実家近くのコンビニから名古屋の自宅へ向けて送り返してやりました．</p>
<h3>おわりに</h3>
<p>以上，この連休中にaquaさんで走ったメモでした．快晴の下を走るのは最高ですね！</p>
<p>しかし，日焼け止めを塗っていなかったため，腕が火傷した感じになってしまいましたとさ．涼しいことと日差しの強さは無関係ですね＞＜：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7141639847/" title="筋肉痛はまったくないんだけど、日焼けが痛いw by issm, on Flickr"><img src="http://farm8.staticflickr.com/7188/7141639847_fbde817685.jpg" width="500" height="500" alt="筋肉痛はまったくないんだけど、日焼けが痛いw"></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.iss.ms/2012/05/06/213217/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.iss.ms/2012/05/06/213217</feedburner:origLink></item>
		<item>
		<title>[perl][php] Textile記法+GeSHiでシンタックスハイライトするためのText::Textile::Pluggableプラグインを書いてみた</title>
		<link>http://feedproxy.google.com/~r/issm/~3/CCefXoGIOTM/111656</link>
		<comments>http://blog.iss.ms/2012/04/26/111656#comments</comments>
		<pubDate>Thu, 26 Apr 2012 02:16:56 +0000</pubDate>
		<dc:creator>issm</dc:creator>
				<category><![CDATA[開発ごっこ]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[textile]]></category>

		<guid isPermaLink="false">http://blog.iss.ms/?p=3934</guid>
		<description><![CDATA[はじめに WordPressのプラグイン WP-Syntax で利用されていることでもおなじみの，シンタックスハイライトなPHPライブラリ GeSHi ですが，Textileにおける bc. とか bc.. とかの記法を [...]]]></description>
			<content:encoded><![CDATA[<p><!--Title:[perl][php] Textile記法+GeSHiでシンタックスハイライトするためのText::Textile::Pluggableプラグインを書いてみた--></p>
<div class="flickr2-photo-o">
<a href="http://www.flickr.com/photos/issm/6968266072/" title="ss-1335401781 by issm, on Flickr"><img src="http://farm9.staticflickr.com/8141/6968266072_965955bf66_o.png" width="640" height="480" alt="ss-1335401781"></a>
</div>
<h3>はじめに</h3>
<p>WordPressのプラグイン <a href="http://wordpress.org/extend/plugins/wp-syntax/">WP-Syntax</a> で利用されていることでもおなじみの，シンタックスハイライトなPHPライブラリ <a href="http://qbnz.com/highlighter/">GeSHi</a> ですが，Textileにおける <code>bc.</code> とか <code>bc..</code> とかの記法を少し拡張してシンタックスハイライトするのに使えないかどうか，ということを考えていました．</p>
<p>少々力技ではありますが，ざっと形になったので，<code>Text::Textile::Pluggable::Plugin::SyntaxHighlight::GeSHi</code> という名前をつけてGitHubに公開してみました．</p>
<ul class="links">
<li><a href="https://github.com/issm/p5-Text-Textile-Pluggable-Plugin-SyntaxHighlight-GeSHi" title="issm/p5-Text-Textile-Pluggable-Plugin-SyntaxHighlight-GeSHi">issm/p5-Text-Textile-Pluggable-Plugin-SyntaxHighlight-GeSHi</a></li>
</ul>
<h3>できること</h3>
<p>Textile記法では，コードブロックを表記するのに，<code>bc.</code> とか <code>bc..</code> とかを使います．</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">bc. foo
bar
baz
&nbsp;
this line is not code
&nbsp;
bc.. foo
bar
baz
&nbsp;
this line is code too</pre></div></div>

<p>そこで，本プラグインでは，<code>bc[lang].</code>，<code>bc[lang]..</code> という記法が使えるようにしてみました．で，<code>lang</code> が示す言語に沿ったシンタックスハイライトが施されるようになっています．（もちろん，GeSHiに対応しているもののみですが！）</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">bc[lang]. foo
bar
baz
&nbsp;
this line is not code
&nbsp;
bc[lang].. foo
bar
baz
&nbsp;
this line is code too</pre></div></div>

<h3>使い方</h3>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">use</span> Text<span style="color: #339933;">::</span><span style="color: #006600;">Textile</span> <span style="color: #009966; font-style: italic;">qw/textile/</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$text</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #ff0000;">'...'</span><span style="color: #339933;">;</span>
bc<span style="color: #009900;">&#91;</span>perl<span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span>
<span style="color: #000000; font-weight: bold;">use</span> strict<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> warnings<span style="color: #339933;">;</span>
<span style="color: #000066;">print</span> <span style="color: #ff0000;">'foobar.'</span><span style="color: #339933;">;</span>
<span style="color: #339933;">...</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># procedural usage</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$html</span> <span style="color: #339933;">=</span> textile<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$text</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #000066;">qw</span><span style="color: #339933;">/</span>SyntaxHighlight<span style="color: #339933;">::</span><span style="color: #006600;">GeSHi</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># OOP usage</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$textile</span> <span style="color: #339933;">=</span> Text<span style="color: #339933;">::</span><span style="color: #006600;">Textile</span><span style="color: #339933;">::</span><span style="color: #006600;">Pluggable</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #009900;">&#40;</span>
    plugins <span style="color: #339933;">=&gt;</span> <span style="color: #009900;">&#91;</span><span style="color: #000066;">qw</span><span style="color: #339933;">/</span>SyntaxHighlight<span style="color: #339933;">::</span><span style="color: #006600;">GeSHi</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$html</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$textile</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">process</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>環境的な前提</h3>
<p>環境的には，次の3点が前提となります：</p>
<ul>
<li>Text-Textile-Pluggable-0.03</li>
<li>PHP</li>
<li>GeSHi</li>
</ul>
<h4>Text-Textile-Pluggable-0.03</h4>
<p>プラグインモジュールのロード処理まわりを少し修正したバージョンが必要になります．</p>
<ul class="links">
<li><a href="https://github.com/issm/p5-Text-Textile-Pluggable" title="issm/p5-Text-Textile-Pluggable">issm/p5-Text-Textile-Pluggable</a></li>
</ul>
<h4>PHP</h4>
<p>PHPも使える必要があります．バージョンはそれなりにテキトーで問題ないかと思います．</p>
<h4>GeSHi</h4>
<p>これが肝心ですね．</p>
<p>ダウンロードは次から行えます：</p>
<ul class="links">
<li><a href="http://sourceforge.net/projects/geshi/files/geshi/" title="GeSHi - Generic Syntax Highlighter - Browse /geshi at SourceForge.net">GeSHi &#8211; Generic Syntax Highlighter &#8211; Browse /geshi at SourceForge.net</a></li>
</ul>
<p><code>&lt;?php include_once 'geshi/geshi.php'; ?&gt;</code> ができるように，展開したものをそのまま <code>include_path</code> へ移動します．</p>
<p>なお，<code>include_path</code> は，次のようにすれば見つけられるでしょう：</p>

<div class="wp_syntax"><div class="code"><pre class="terminal" style="font-family:monospace;">% echo '&lt;? phpinfo() ?&gt;' | php | grep include_path
include_path =&gt; .:/Users/issm/local/lib/php =&gt; .:/Users/issm/local/lib/php</pre></div></div>

<p>私の環境では，<code>/Users/issm/local/lib/php</code> がそれにあたるので，<code>/Users/issm/local/lib/php/geshi/geshi.php</code> として参照できるような形になればOK，という感じです．</p>
<h3>力技の中身</h3>
<ol>
<li>（<code>bc[lang].</code> は <code>&lt;pre>&lt;code language="lang">...&lt;/code>&lt;/pre></code> というようなHTMLに変換される）</li>
<li>渡されたHTMLテキストから <code>&lt;pre>&lt;code language="lang">...&lt;/code>&lt;/pre></code> となっている個所を抜き出す</li>
<li>抜き出したコード部分を一時ファイルに書き出す</li>
<li><code>`echo $php_code | php -- $file $lang`</code> みたいな感じでPHPを実行する</li>
<li>PHP内では，一時ファイルを読んでGeSHiに通してできたHTMLを標準出力する，というようなことをしている</li>
<li>先の <code>&lt;pre>&lt;code language="lang">...&lt;/code>&lt;/pre></code> な部分を，得られたHTMLで置換する</li>
<li>これを繰り返す</li>
</ol>
<p>PHPコードを標準入力として読み込ませれば，それ専用のスクリプトファイルを準備しなくてもいいよね，といった判断でこうなりました．</p>
<p>また，GeSHiを通すためのコード自体も引数とかで与えようとしたけれど，クオートとかの処理がよくわからなかったので，一時ファイルを経由する形にしてしまいました．</p>
<h4>プラグインのソースコード</h4>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #000066;">package</span> Text<span style="color: #339933;">::</span><span style="color: #006600;">Textile</span><span style="color: #339933;">::</span><span style="color: #006600;">Pluggable</span><span style="color: #339933;">::</span><span style="color: #006600;">Plugin</span><span style="color: #339933;">::</span><span style="color: #006600;">SyntaxHighlight</span><span style="color: #339933;">::</span><span style="color: #006600;">GeSHi</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> <span style="color: #cc66cc;">5.008001</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> strict<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> warnings<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> File<span style="color: #339933;">::</span><span style="color: #006600;">Temp</span> <span style="color: #009966; font-style: italic;">qw/tempfile/</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> HTML<span style="color: #339933;">::</span><span style="color: #006600;">Entities</span> <span style="color: #009966; font-style: italic;">qw/decode_entities/</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> Encode <span style="color: #009966; font-style: italic;">qw/encode_utf8 decode_utf8/</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">our</span> <span style="color: #0000ff;">$VERSION</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">'0.01'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$php_code</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #ff0000;">'...'</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;?</span>php
include_once <span style="color: #ff0000;">&quot;geshi/geshi.php&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #0000ff;">$file</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$argv</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$lang</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$argv</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$code</span> <span style="color: #339933;">=</span> file_get_contents<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #0000ff;">$geshi</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> GeSHi<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$code</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">$lang</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$html</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$geshi</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">parse_code</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
echo <span style="color: #0000ff;">$html</span><span style="color: #339933;">;</span>
<span style="color: #339933;">?&gt;</span>
<span style="color: #339933;">...</span>
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$re_html_code</span> <span style="color: #339933;">=</span> <span style="color: #000066;">qr</span><span style="color: #009900;">&#123;</span><span style="color: #009999;">&lt;pre&gt;</span><span style="color: #339933;">&lt;</span>code <span style="color: #009900;">&#40;</span><span style="color: #339933;">?:</span>\<span style="color: #000066;">s</span> language<span style="color: #339933;">=</span><span style="color: #ff0000;">&quot;([^<span style="color: #000099; font-weight: bold;">\&quot;</span>]+)&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">?&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">?:.|</span><span style="color: #0000ff;">\n</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*?</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;/</span>code<span style="color: #339933;">&gt;&lt;/</span> pre<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#125;</span>mx<span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;"># &quot;&lt;/ pre&gt;&quot;: WP-Syntaxが誤反応しないための対策．通常はスペースはない</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">sub</span> init <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$o</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
    <span style="color: #0000ff;">$o</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'plugin.geshi'</span><span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
        echo <span style="color: #339933;">=&gt;</span> <span style="color: #ff0000;">'/bin/echo'</span><span style="color: #339933;">,</span>
        php  <span style="color: #339933;">=&gt;</span> <span style="color: #ff0000;">'/usr/bin/env php'</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">sub</span> post <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$o</span>    <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$text</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$echo</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$o</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'plugin.geshi'</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#123;</span>echo<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$php</span>  <span style="color: #339933;">=</span> <span style="color: #0000ff;">$o</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'plugin.geshi'</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#123;</span>php<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span> <span style="color: #b1b100;">my</span> <span style="color: #339933;">@</span><span style="color: #000066;">m</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$text</span> <span style="color: #339933;">=~</span> <span style="color: #0000ff;">$re_html_code</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">my</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$lang</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">$code</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #000066;">m</span><span style="color: #339933;">;</span>
        <span style="color: #0000ff;">$lang</span> <span style="color: #339933;">||=</span> <span style="color: #ff0000;">'text'</span><span style="color: #339933;">;</span>
        <span style="color: #000066;">chomp</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$code</span> <span style="color: #339933;">=</span> decode_entities<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$code</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">my</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$fh</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">$file</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> tempfile<span style="color: #009900;">&#40;</span>UNLINK <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066;">print</span> <span style="color: #0000ff;">$fh</span> encode_utf8<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$code</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066;">close</span> <span style="color: #0000ff;">$fh</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #0000ff;">$text</span> <span style="color: #339933;">=~</span> <span style="color: #000066;">s</span><span style="color: #009900;">&#123;</span><span style="color: #0000ff;">$re_html_code</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#123;</span>
            decode_utf8<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">`$echo '$php_code' | $php -- $file $lang`</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>ex<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000066;">return</span> <span style="color: #0000ff;">$text</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h3>おわりに</h3>
<p>以上，Textile記法をちょこっと拡張してGeSHiを使ったシンタックスハイライトを行えるようにするための <code>Text::Textile::Pluggable</code> プラグインを書いてみたお話でした．</p>
<p>なお，冒頭のスクリーンショットは，<a href="https://github.com/issm/SiTeWiki">SiTeWiki</a> に本プラグインを追加してみたときのものです．一応動いていますねｗ</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iss.ms/2012/04/26/111656/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.iss.ms/2012/04/26/111656</feedburner:origLink></item>
		<item>
		<title>[perl] Markdown記法をプラグインっぽく拡張できる「Text::Markdown::Pluggable」というモジュールを書いてみた</title>
		<link>http://feedproxy.google.com/~r/issm/~3/43oPyAbqkTc/041025</link>
		<comments>http://blog.iss.ms/2012/04/21/041025#comments</comments>
		<pubDate>Fri, 20 Apr 2012 19:10:25 +0000</pubDate>
		<dc:creator>issm</dc:creator>
				<category><![CDATA[開発ごっこ]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.iss.ms/?p=3928</guid>
		<description><![CDATA[はじめに 前エントリ が @hell2u さん に次のように言及されていたみたいです： blog.iss.ms/2012/04/19/135… 良さそうなのでMarkdownでおながいします。 Twitter / @he [...]]]></description>
			<content:encoded><![CDATA[<p><!--Title:[perl] Markdown記法をプラグインっぽく拡張できる「Text::Markdown::Pluggable」というモジュールを書いてみた--></p>
<h3>はじめに</h3>
<p><a href="http://blog.iss.ms/2012/04/19/135607">前エントリ</a> が <a href="https://twitter.com/#!/hell2u">@hell2u さん</a> に次のように言及されていたみたいです：</p>
<blockquote cite="https://twitter.com/#!/hell2u/status/192842390074167296"><p>
blog.iss.ms/2012/04/19/135… 良さそうなのでMarkdownでおながいします。<br />
<cite><a href="https://twitter.com/#!/hell2u/status/192842390074167296" title="Twitter / @hell2u: http://t.co/x25im9FB 良さそうな ...">Twitter / @hell2u: http://t.co/x25im9FB 良さそうな &#8230;</a></cite>
</p></blockquote>
<p>．．．ということなので調子に乗って <code>Text::Markdown::Pluggable</code> というモジュールも書いてみました．</p>
<ul class="links">
<li><a href="https://github.com/issm/p5-Text-Markdown-Pluggable" title="issm/p5-Text-Markdown-Pluggable">issm/p5-Text-Markdown-Pluggable</a></li>
<li><a href="http://prepan.org/module/3Yz7PYrBS5" title="PrePAN - Text::Markdown::Pluggable">PrePAN &#8211; Text::Markdown::Pluggable</a></li>
</ul>
<h3>概要と基本的な使い方</h3>
<p><a href="http://search.cpan.org/dist/Text-Markdown/">Text::Markdown</a> のサブクラスで，そこに「プラグイン」を読み込むしくみを追加しています．（プラグインの作り方については，<a href="http://blog.iss.ms/2012/04/19/135607">Text::Textile::Pluggable 書いてみたエントリ</a> は「プラグインの作り方」の部分のサンプルコードの <code>[Tt]extile</code> を <code>[Mm]arkdown</code> に置き換えて読んでくださいｗ）</p>
<p>使い方は次のとおりです：</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">use</span> Text<span style="color: #339933;">::</span><span style="color: #006600;">Markdown</span><span style="color: #339933;">::</span><span style="color: #006600;">Pluggable</span> <span style="color: #009966; font-style: italic;">qw/markdown/</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$html</span> <span style="color: #339933;">=</span> markdown<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$text</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #000066;">qw</span><span style="color: #339933;">/</span>Foobar <span style="color: #339933;">+</span>MyApp<span style="color: #339933;">::</span><span style="color: #006600;">Markdown</span><span style="color: #339933;">::</span><span style="color: #006600;">Plugin</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">use</span> Text<span style="color: #339933;">::</span><span style="color: #006600;">Markdown</span><span style="color: #339933;">::</span><span style="color: #006600;">Pluggable</span> <span style="color: #009966; font-style: italic;">qw/markdown/</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$html</span> <span style="color: #339933;">=</span> markdown<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$text</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #000066;">qw</span><span style="color: #339933;">/</span>Foobar <span style="color: #339933;">+</span>MyApp<span style="color: #339933;">::</span><span style="color: #006600;">Markdown</span><span style="color: #339933;">::</span><span style="color: #006600;">Plugin</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>
    empty_element_suffix <span style="color: #339933;">=&gt;</span> <span style="color: #ff0000;">'&gt;'</span><span style="color: #339933;">,</span>
    tab_width <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">use</span> Text<span style="color: #339933;">::</span><span style="color: #006600;">Markdown</span><span style="color: #339933;">::</span><span style="color: #006600;">Pluggable</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$m</span> <span style="color: #339933;">=</span> Text<span style="color: #339933;">::</span><span style="color: #006600;">Markdown</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #009900;">&#40;</span>
    plugins <span style="color: #339933;">=&gt;</span> <span style="color: #009900;">&#91;</span><span style="color: #000066;">qw</span><span style="color: #339933;">/</span>Foobar <span style="color: #339933;">+</span>MyApp<span style="color: #339933;">::</span><span style="color: #006600;">Markdown</span><span style="color: #339933;">::</span><span style="color: #006600;">Plugin</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$html</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$m</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">markdown</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">use</span> Text<span style="color: #339933;">::</span><span style="color: #006600;">Markdown</span><span style="color: #339933;">::</span><span style="color: #006600;">Pluggable</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$m</span> <span style="color: #339933;">=</span> Text<span style="color: #339933;">::</span><span style="color: #006600;">Markdown</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #009900;">&#40;</span>
    plugins <span style="color: #339933;">=&gt;</span> <span style="color: #009900;">&#91;</span><span style="color: #000066;">qw</span><span style="color: #339933;">/</span>Foobar <span style="color: #339933;">+</span>MyApp<span style="color: #339933;">::</span><span style="color: #006600;">Markdown</span><span style="color: #339933;">::</span><span style="color: #006600;">Plugin</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
    empty_element_suffix <span style="color: #339933;">=&gt;</span> <span style="color: #ff0000;">'&gt;'</span><span style="color: #339933;">,</span>
    tab_width <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$html</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$m</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">markdown</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>プラグインを読み込むことを除けば， 使い方は Text::Markdown と同様だと思います．</p>
<h3>サンプル</h3>
<p>Text::Textile::Pluggable と同様，次の2つのモジュールを同梱しています：</p>
<ul>
<li><code>Text::Markdown::Pluggable::Plugin::GitHub::Links</code></li>
<li><code>Text::Markdown::Pluggable::Plugin::GitHub::Gist</code></li>
</ul>
<p><code>GitHub::Links</code> プラグインのサンプル：</p>

<div class="wp_syntax"><div class="code"><pre class="terminal" style="font-family:monospace;">% perl -Ilib -M5.10.0 -MText::Markdown::Pluggable=markdown -le 'say markdown(&quot;github:issm&quot;)'
&lt;p&gt;github:issm&lt;/p&gt;
&nbsp;
% perl -Ilib -M5.10.0 -MText::Markdown::Pluggable=markdown -le 'say markdown(&quot;github:issm&quot;, [qw/GitHub::Links/])'
&lt;p&gt;&lt;a href=&quot;https://github.com/issm&quot;&gt;github:issm&lt;/a&gt;&lt;/p&gt;
&nbsp;
% perl -Ilib -M5.10.0 -MText::Markdown::Pluggable=markdown -le 'say markdown(&quot;github:issm/p5-Text-Markdown-Pluggable&quot;, [qw/GitHub::Links/])'
&lt;p&gt;&lt;a href=&quot;https://github.com/issm/p5-Text-Markdown-Pluggable&quot;&gt;github:issm/p5-Text-Markdown-Pluggable&lt;/a&gt;&lt;/p&gt;
&nbsp;
%</pre></div></div>

<p><code>GitHub::Gist</code> プラグインのサンプル：</p>

<div class="wp_syntax"><div class="code"><pre class="terminal" style="font-family:monospace;">% perl -Ilib -M5.10.0 -MText::Markdown::Pluggable=markdown -le 'say markdown(&quot;gist:123456&quot;)'
&lt;p&gt;gist:123456&lt;/p&gt;
&nbsp;
% perl -Ilib -M5.10.0 -MText::Markdown::Pluggable=markdown -le 'say markdown(&quot;gist:123456&quot;, [qw/GitHub::Gist/])'
&lt;script src=&quot;https://gist.github.com/123456.js&quot;&gt;&lt;/script&gt;
&nbsp;
% perl -Ilib -M5.10.0 -MText::Markdown::Pluggable=markdown -le 'say markdown(&quot;gist:123456#file1&quot;, [qw/GitHub::Gist/])'
&lt;script src=&quot;https://gist.github.com/123456.js?file=file1&quot;&gt;&lt;/script&gt;
&nbsp;
%</pre></div></div>

<h3>おわりに</h3>
<p>以上，Markdown 記法をちょこっと独自拡張するのに便利かもしれないモジュール Text::Markdown::Pluggable を調子に乗って書いてみた，というお話でした．</p>
<p>やっぱり Markdown記法の方が需要はあるんですかね．私はとりあえず今のところ Textile記法推し（？）で生きていってみますｗ</p>
<p>あと，Markdown にしろ Textile にしろ，Bootstrap とかのCSSフレームワークと併用するとラクしていい感じのドキュメントページができますね！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iss.ms/2012/04/21/041025/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.iss.ms/2012/04/21/041025</feedburner:origLink></item>
		<item>
		<title>[perl] Textile記法をプラグインっぽく拡張できる「Text::Textile::Pluggable」というモジュールを書いてみた</title>
		<link>http://feedproxy.google.com/~r/issm/~3/HpsKk9KqG80/135607</link>
		<comments>http://blog.iss.ms/2012/04/19/135607#comments</comments>
		<pubDate>Thu, 19 Apr 2012 04:56:07 +0000</pubDate>
		<dc:creator>issm</dc:creator>
				<category><![CDATA[開発ごっこ]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[textile]]></category>

		<guid isPermaLink="false">http://blog.iss.ms/?p=3917</guid>
		<description><![CDATA[はじめに お仕事で情報をテキストで共有するための書式に利用したり，「SiTeWiki」とかいうものを作ったり，もちろんRedmineのテキスト入力系でも使ったり，と，Textile記法 にちょこっと触れている今日この頃で [...]]]></description>
			<content:encoded><![CDATA[<p><!--Title:[perl] Textile記法をプラグインっぽく拡張できる「Text::Textile::Pluggable」というモジュールを書いてみた--></p>
<h3>はじめに</h3>
<p>お仕事で情報をテキストで共有するための書式に利用したり，<a href="http://blog.iss.ms/2012/02/24/174514">「SiTeWiki」とかいうものを作ったり</a>，もちろんRedmineのテキスト入力系でも使ったり，と，<a href="http://en.wikipedia.org/wiki/Textile_(markup_language)">Textile記法</a> にちょこっと触れている今日この頃です．特に，アプリケーションを実装する際には，CPANモジュール <a href="http://search.cpan.org/dist/Text-Textile/">Text::Textile</a> にはお世話になりっぱなしです．</p>
<p>そんな中，Redmineでの <code>commit:abcdef</code> とか <code>#1234</code> とかの表記がと特定ページへのリンクに変換されるような処理を，Text::Textile を使ったアプリケーションにも組み込みたくなり，ただ，直接処理を書くよりは，拡張部分だけを使い回しできるようなしくみにした方が後々幸せになれそう，みたいな背景のもと，<code>Text::Textile::Pluggable</code> という俺得モジュールを書いてみました．</p>
<p>GitHub で公開するとともに，<a href="http://prepan.org/">PrePAN</a> にも submit してみました（初PrePAN！）．</p>
<ul class="links">
<li><a href="https://github.com/issm/p5-Text-Textile-Pluggable" title="issm/p5-Text-Textile-Pluggable">issm/p5-Text-Textile-Pluggable</a></li>
<li><a href="http://prepan.org/module/3Yz7PYrBRY" title="PrePAN - Text::Textile::Pluggable">PrePAN &#8211; Text::Textile::Pluggable</a></li>
</ul>
<h3>概要と基本的な使い方</h3>
<p>Text::Textile のサブクラスで，そこに「プラグイン」（作り方は後述）を読み込むしくみを追加しています．</p>
<p>使い方は次のとおりです：</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">use</span> Text<span style="color: #339933;">::</span><span style="color: #006600;">Textile</span><span style="color: #339933;">::</span><span style="color: #006600;">Pluggable</span> <span style="color: #009966; font-style: italic;">qw/textile/</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># procedural usage</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$html</span> <span style="color: #339933;">=</span> textile<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$text</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #000066;">qw</span><span style="color: #339933;">/</span>Foobar <span style="color: #339933;">+</span>MyApp<span style="color: #339933;">::</span><span style="color: #006600;">Textile</span><span style="color: #339933;">::</span><span style="color: #006600;">Plugin</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># OOP usage</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$textile</span> <span style="color: #339933;">=</span> Text<span style="color: #339933;">::</span><span style="color: #006600;">Textile</span><span style="color: #339933;">::</span><span style="color: #006600;">Pluggable</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #009900;">&#40;</span>
    plugins <span style="color: #339933;">=&gt;</span> <span style="color: #009900;">&#91;</span><span style="color: #000066;">qw</span><span style="color: #339933;">/</span>Foobar <span style="color: #339933;">+</span>MyApp<span style="color: #339933;">::</span><span style="color: #006600;">Textile</span><span style="color: #339933;">::</span><span style="color: #006600;">Plugin</span><span style="color: #339933;">/</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$html</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$textile</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">process</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>プラグインを読み込むことを除けば， 使い方は <a href="http://search.cpan.org/dist/Text-Textile/">Text::Textile</a> と同様です．（プラグインを読み込まなければ，Text::Textile そのまんまですねｗ）</p>
<h3>プラグインの作り方</h3>
<p>テキトーな名前のモジュールに，サブルーチン <code>pre</code>，<code>post</code> を準備します．</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #000066;">package</span> Text<span style="color: #339933;">::</span><span style="color: #006600;">Textile</span><span style="color: #339933;">::</span><span style="color: #006600;">Pluggable</span><span style="color: #339933;">::</span><span style="color: #006600;">Plugin</span><span style="color: #339933;">::</span><span style="color: #006600;">Foobar</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># before proceccing textiled text</span>
<span style="color: #000000; font-weight: bold;">sub</span> pre <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$textile</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$text</span>    <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;"># text BEFORE processing</span>
    <span style="color: #339933;">...</span>
    <span style="color: #000066;">return</span> <span style="color: #0000ff;">$text</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># after proceccing textiled text</span>
<span style="color: #000000; font-weight: bold;">sub</span> post <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$textile</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$text</span>    <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;"># text AFTER processing</span>
    <span style="color: #339933;">...</span>
    <span style="color: #000066;">return</span> <span style="color: #0000ff;">$text</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span></pre></div></div>

<p><code>pre</code> には Textile記法 → HTML 変換前のテキストに対する処理を，<code>post</code> には変換後のテキストに対する処理を記述します．必要なければ定義は不要です．</p>
<p>名前空間を <code>Text::Textile::Pluggable::Plugin::*</code> とすれば，プラグイン読み込み時に <code>plugins => ['Foobar']</code> のように省略できますが，必ずこの名前空間に従う必要もなく，好きな名前で作れます．</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #000066;">package</span> MyApp<span style="color: #339933;">::</span><span style="color: #006600;">Textile</span><span style="color: #339933;">::</span><span style="color: #006600;">Plugin</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #339933;">...</span>
&nbsp;
<span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span></pre></div></div>

<p>独自の名前で準備した場合には， <code>plugins => ['+MyApp::Textile::Plugin']</code> とすることで読み込めます．</p>
<h3>サンプル</h3>
<p>サンプルプラグインとして，次の2つを同梱しました：</p>
<ul>
<li><code>Text::Textile::Pluggable::Plugin::GitHub::Links</code></li>
<li><code>Text::Textile::Pluggable::Plugin::GitHub::Gist</code></li>
</ul>
<p><code>GitHub::Links</code> プラグインは，<code>github:issm</code> とか <code>github:issm/p5-Text-Textile-Pluggable</code> とかの表記を，<a href="https://github.com/">GitHub</a> へのリンクに置き換えます．</p>

<div class="wp_syntax"><div class="code"><pre class="terminal" style="font-family:monospace;">% perl -MText::Textile::Pluggable=textile -le 'print textile(&quot;github:issm&quot;)'
&lt;p&gt;github:issm&lt;/p&gt;
% perl -MText::Textile::Pluggable=textile -le 'print textile(&quot;github:issm&quot;, [qw/GitHub::Links/])'
&lt;p&gt;&lt;a href=&quot;https://github.com/issm&quot;&gt;github:issm&lt;/a&gt;&lt;/p&gt;
% perl -Ilib -MText::Textile::Pluggable=textile -le 'print textile(&quot;github:issm/p5-Text-Textile-Pluggable&quot;, [qw/GitHub::Links/])'
&lt;p&gt;&lt;a href=&quot;https://github.com/issm/p5-Text-Textile-Pluggable&quot;&gt;github:issm/p5-Text-Textile-Pluggable&lt;/a&gt;&lt;/p&gt;</pre></div></div>

<p><code>GitHub::Gist</code> プラグインは，<code>gist:123456</code> とか <code>gist:123456#file1</code> とかの表記を，番号「123456」に該当する gist のコードを埋め込むためのコードに変換します．</p>

<div class="wp_syntax"><div class="code"><pre class="terminal" style="font-family:monospace;">% perl -MText::Textile::Pluggable=textile -le 'print textile(&quot;gist:123456&quot;)'
&lt;p&gt;gist:123456&lt;/p&gt;
% perl -MText::Textile::Pluggable=textile -le 'print textile(&quot;gist:123456&quot;, [qw/GitHub::Gist/])'
&lt;script src=&quot;https://gist.github.com/123456.js&quot;&gt;&lt;/script&gt;
% perl -MText::Textile::Pluggable=textile -le 'print textile(&quot;gist:123456#file1&quot;, [qw/GitHub::Gist/])'
&lt;script src=&quot;https://gist.github.com/123456.js?file=file1&quot;&gt;&lt;/script&gt;</pre></div></div>

<h3>おわりに</h3>
<p>以上，Textile記法をちょこっと独自拡張するのに便利（自称）なモジュール <code>Text::Textile::Pluggable</code> を書いてみた，というお話でした．</p>
<p>とりあえずは，お仕事用に作っているアプリケーションにおけるTextile記法まわりを拡張するところから始めてみるとします．</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iss.ms/2012/04/19/135607/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.iss.ms/2012/04/19/135607</feedburner:origLink></item>
		<item>
		<title>aquaさんで入鹿池を2周してきた（約2年ぶり2回目）</title>
		<link>http://feedproxy.google.com/~r/issm/~3/ZIR4jdCHAgs/085325</link>
		<comments>http://blog.iss.ms/2012/04/16/085325#comments</comments>
		<pubDate>Sun, 15 Apr 2012 23:53:25 +0000</pubDate>
		<dc:creator>issm</dc:creator>
				<category><![CDATA[自転車ライフ]]></category>
		<category><![CDATA[bicycle]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[lifelog]]></category>

		<guid isPermaLink="false">http://blog.iss.ms/?p=3910</guid>
		<description><![CDATA[はじめに 明日朝早く起きられたら入鹿池まで行ってみよう，とさっき思い立った． Twitter / @issm: 明日朝早く起きられたら入鹿池まで行ってみよう，とさっ &#8230; こんな感じで前日に思い立ち，当日 4月 [...]]]></description>
			<content:encoded><![CDATA[<p><!--Title:aquaさんで入鹿池を2周してきた（約2年ぶり2回目）--></p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7077845537/" title="入鹿池なーう。 by issm, on Flickr"><img src="http://farm6.staticflickr.com/5444/7077845537_68873f32b0.jpg" width="500" height="500" alt="入鹿池なーう。"></a>
</div>
<h3>はじめに</h3>
<blockquote cite="https://twitter.com/#!/issm/status/191101472807718912"><p>
明日朝早く起きられたら入鹿池まで行ってみよう，とさっき思い立った．<br />
<cite><a href="https://twitter.com/#!/issm/status/191101472807718912" title="Twitter / @issm: 明日朝早く起きられたら入鹿池まで行ってみよう，とさっ ...">Twitter / @issm: 明日朝早く起きられたら入鹿池まで行ってみよう，とさっ &#8230;</a></cite>
</p></blockquote>
<p>こんな感じで前日に思い立ち，当日 4月15日，起きたら天気がよかったので，出かけてみました．</p>
<p>前回の入鹿池は次のとおり：</p>
<ul class="links">
<li><a href="http://blog.iss.ms/2010/05/08/142349" title="aquaさんで入鹿池を一周してきた « いわぶろ（ろてん）">aquaさんで入鹿池を一周してきた « いわぶろ（ろてん）</a></li>
</ul>
<h3>今回のルート</h3>
<p>行きは国道19号線を，帰りはその1本東の「下街道」を通る感じで．</p>
<p>前回，周回中に道に迷いかなり時間を消費したのですが，今回は無事に迷わず回れたため，調子に乗って2周してみました．</p>
<p>以下，iPhoneアプリ <a href="http://click.linksynergy.com/fs-bin/click?id=IzWAfxt1bak&#038;offerid=94348.4330595774&#038;type=2&#038;subid=0">Cyclemeter</a> での記録ですが，序盤のデータが一部欠けちゃってるみたいです，残念：</p>
<div class="googlemaps">
<iframe width="720" height="780" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.jp/?q=http:%2F%2Fshare.abvio.com%2Fbad0%2Fdbd8%2F4e9b%2Fc2cb%2FCyclemeter-Cycle-20120415-0527.kml&amp;t=m&amp;brcurrent=3,0x60036db736ad9299:0x930301ee30499b77,0&amp;ie=UTF8&amp;ll=35.2616,136.989555&amp;spn=0.218659,0.246849&amp;z=12&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.jp/?q=http:%2F%2Fshare.abvio.com%2Fbad0%2Fdbd8%2F4e9b%2Fc2cb%2FCyclemeter-Cycle-20120415-0527.kml&amp;t=m&amp;brcurrent=3,0x60036db736ad9299:0x930301ee30499b77,0&amp;ie=UTF8&amp;ll=35.2616,136.989555&amp;spn=0.218659,0.246849&amp;z=12&amp;source=embed" style="color:#0000FF;text-align:left">大きな地図で見る</a></small>
</div>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">スタート: 2012/04/15 5:27:09
バイクタイム: 4:28:04
停止時間: 43:11
距離: 85.79 km
平均スピード: 時速 19.20 km
最高スピード: 時速 62.49 km
登り: 679 メートル
降り: 660 メートル</pre></div></div>

<p>もうひとつ，ルートラボにインポートしたもの：</p>
<div class="routelab">
<script type="text/javascript" encoding="UTF-8" src="http://latlonglab.yahoo.co.jp/route/paste?id=351a3d7a7fbbca6de9f54372c6c792f0&#038;width=640&#038;height=480&#038;mapstyle=map&#038;graph=true&#038;maponly=true"></script>
</div>
<ul class="links">
<li><a href="http://latlonglab.yahoo.co.jp/route/watch?id=351a3d7a7fbbca6de9f54372c6c792f0" title="2012-04-15 入鹿池 - ルートラボ - LatLongLab">2012-04-15 入鹿池 &#8211; ルートラボ &#8211; LatLongLab</a></li>
</ul>
<h3>写真いくつか</h3>
<p>「尾張富士」の坂を上るルートを選択をしてしまいましたｗ 2周ともナントカ足をつかずに登り切れただけでもよしとしたいです＞＜：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6931944108/" title="2回目！ by issm, on Flickr"><img src="http://farm6.staticflickr.com/5238/6931944108_0f8f2a43cd.jpg" width="500" height="500" alt="2回目！"></a>
</div>
<p>ガンバレたのはこの子のおかげですね！：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7078025143/" title="ねこに会ったのでがんばれる！ by issm, on Flickr"><img src="http://farm6.staticflickr.com/5152/7078025143_cb82cbdf5c.jpg" width="500" height="500" alt="ねこに会ったのでがんばれる！"></a>
</div>
<p>このあたりは名古屋と比べて標高が高くて少し北にあるためか，桜がまだまだたくさん咲いていました：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6931882972/" title="Untitled by issm, on Flickr"><img src="http://farm6.staticflickr.com/5465/6931882972_d9f3006947.jpg" width="500" height="500" alt="Untitled"></a>
</div>
<p>2周終わったところで駐車場に戻ってみると，お店が開き始めていたので，何気なく立ち寄った「湖畔亭」というところで朝食：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6932020230/" title="うどんとアイスコーヒーという組み合わせw by issm, on Flickr"><img src="http://farm8.staticflickr.com/7214/6932020230_d2a01394ec.jpg" width="500" height="500" alt="うどんとアイスコーヒーという組み合わせw"></a>
</div>
<p>「釣れたところをGPSの位置情報として記録して，次来たときもそのポイントを目指せるように，スマートフォンを使っている人もいる」みたいなお話をお店の方に聴きながら食べてました．</p>
<h3>おわりに</h3>
<p>以上，約2年ぶりに入鹿池まで行ってきたお話でした．</p>
<p>午前中に戻ってきたのに，そのあとウトウトしてしまい，この日はほとんど何もしていなかった気がします．．．＞＜</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iss.ms/2012/04/16/085325/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.iss.ms/2012/04/16/085325</feedburner:origLink></item>
		<item>
		<title>aquaさんで山崎川とか天白川とかの桜を眺めてきた（おまけで豊橋少々）</title>
		<link>http://feedproxy.google.com/~r/issm/~3/2bU4of3zR0o/102718</link>
		<comments>http://blog.iss.ms/2012/04/10/102718#comments</comments>
		<pubDate>Tue, 10 Apr 2012 01:27:18 +0000</pubDate>
		<dc:creator>issm</dc:creator>
				<category><![CDATA[自転車ライフ]]></category>
		<category><![CDATA[bicycle]]></category>
		<category><![CDATA[lifelog]]></category>

		<guid isPermaLink="false">http://blog.iss.ms/?p=3880</guid>
		<description><![CDATA[はじめに 2012年 4月 7日，いい天気だし，今年もいい加減桜をひと目見ておかないとね，ということで，昨年と同じく山崎川をぶらっとしてきました．天白川沿いもきれいだということで，ついでにそっちの方まで足を運んでもみまし [...]]]></description>
			<content:encoded><![CDATA[<p><!--Title:aquaさんで山崎川とか天白川とかの桜を眺めてきた（おまけで豊橋少々）--></p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6906087206/" title="IMGP7697 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7086/6906087206_d8649ea2a8.jpg" width="333" height="500" alt="IMGP7697"></a>
</div>
<h3>はじめに</h3>
<p>2012年 4月 7日，いい天気だし，今年もいい加減桜をひと目見ておかないとね，ということで，<a href="http://blog.iss.ms/2011/04/11/115305">昨年と同じく</a>山崎川をぶらっとしてきました．天白川沿いもきれいだということで，ついでにそっちの方まで足を運んでもみました．</p>
<h3>ルート</h3>
<p>大まかにだけ決めて，あとはテキトーに．帰りは八事石坂を，自転車で初めて通ってみました．（もうちょっと距離があれば個人的にはよい練習になりそうですｗ）</p>
<p>以下，iPhoneアプリ <a href="http://click.linksynergy.com/fs-bin/click?id=IzWAfxt1bak&#038;offerid=94348.4330595774&#038;type=2&#038;subid=0">Cyclemeter</a> での記録です：</p>
<p><iframe width="720" height="480" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.jp/?q=http:%2F%2Fshare.abvio.com%2Fbad0%2Fdbd8%2F4e9b%2Fc2cb%2FCyclemeter-Cycle-20120407-0659.kml&amp;t=m&amp;brcurrent=3,0x600364cdeac78de9:0xaf2be6d5dccc8d1f,0&amp;ie=UTF8&amp;ll=35.137037,136.969643&amp;spn=0.067383,0.123425&amp;z=13&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.jp/?q=http:%2F%2Fshare.abvio.com%2Fbad0%2Fdbd8%2F4e9b%2Fc2cb%2FCyclemeter-Cycle-20120407-0659.kml&amp;t=m&amp;brcurrent=3,0x600364cdeac78de9:0xaf2be6d5dccc8d1f,0&amp;ie=UTF8&amp;ll=35.137037,136.969643&amp;spn=0.067383,0.123425&amp;z=13&amp;source=embed" style="color:#0000FF;text-align:left">大きな地図で見る</a></small></p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">スタート: 2012/04/07 6:59:04
バイクタイム: 2:03:00
停止時間: 0:00
距離: 28.49 km
平均スピード: 時速 13.90 km
最高スピード: 時速 48.32 km
登り: 105 メートル
降り: 114 メートル</pre></div></div>

<h3>山崎川沿い</h3>
<p>昨年と違い，朝早めに出たので，人混みもなく快適に進めた感じです．</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7052175595/" title="IMGP7672 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7095/7052175595_b6b3db95d2.jpg" width="500" height="333" alt="IMGP7672"></a>
</div>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6906086768/" title="IMGP7684 by issm, on Flickr"><img src="http://farm6.staticflickr.com/5319/6906086768_ed180da63b.jpg" width="333" height="500" alt="IMGP7684"></a>
</div>
<h3>途中寄り道</h3>
<p>個人的にお気に入りの場所：</p>
<div class="flickr2-photo-o">
<a href="http://www.flickr.com/photos/issm/7051939495/" title="Untitled by issm, on Flickr"><img src="http://farm6.staticflickr.com/5334/7051939495_6435cf5c8d_o.jpg" width="612" height="612" alt="Untitled"></a>
</div>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7052176261/" title="IMGP7692 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7224/7052176261_21aac31a39.jpg" width="333" height="500" alt="IMGP7692"></a>
</div>
<h3>天白川沿い</h3>
<p>お祭りやってそうです：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6906087378/" title="IMGP7699 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7037/6906087378_22a0e10aac.jpg" width="500" height="333" alt="IMGP7699"></a>
</div>
<p><span id="more-3880"></span></p>
<p>天白川沿いは歩行者・自転車専用路として整備されているみたいです：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7052176941/" title="IMGP7707 by issm, on Flickr"><img src="http://farm6.staticflickr.com/5464/7052176941_13be71b83d.jpg" width="500" height="333" alt="IMGP7707"></a>
</div>
<p>しかし，しばらく進んだら行き止まりになっちゃった：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6906087806/" title="IMGP7712 by issm, on Flickr"><img src="http://farm6.staticflickr.com/5467/6906087806_f82c537d3d.jpg" width="333" height="500" alt="IMGP7712"></a>
</div>
<p>反対側にまわって戻ります：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7052177651/" title="IMGP7726 by issm, on Flickr"><img src="http://farm6.staticflickr.com/5035/7052177651_b3771ef35e.jpg" width="333" height="500" alt="IMGP7726"></a>
</div>
<p>白トビしちゃってるけど，なんとなく幸せそうな 1枚：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7052177925/" title="IMGP7747 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7222/7052177925_ed22a8702b.jpg" width="333" height="500" alt="IMGP7747"></a>
</div>
<p>お花見の場所取りが：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7052178305/" title="IMGP7754 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7106/7052178305_ca698bb219.jpg" width="500" height="333" alt="IMGP7754"></a>
</div>
<h3>おまけ：豊橋日帰り輪行</h3>
<p>2012年 4月 8日，実家に用事があったので，その移動手段のためだけに自転車を持って行きました．この日も風が強かった！</p>
<p>豊橋駅西口前のロータリーで組み立てて移動開始：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7055456997/" title="さて移動開始、 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7104/7055456997_88e7373129.jpg" width="500" height="500" alt="さて移動開始、"></a>
</div>
<p>帰り，豊橋駅で自転車を袋詰めにしていると花火の音が．振り向いたら少しだけ見えました：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6910206002/" title="花火だ。 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7178/6910206002_cd909922b3.jpg" width="500" height="500" alt="花火だ。"></a>
</div>
<p>新幹線待ち．ホームは誰もいませんｗ：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7056322565/" title="19:45発待ち。 by issm, on Flickr"><img src="http://farm6.staticflickr.com/5156/7056322565_1fe9c4b39d.jpg" width="500" height="500" alt="19:45発待ち。"></a>
</div>
<p>名古屋駅からの帰りは，桜通りの桜もきれいでしたね．</p>
<h3>おわりに</h3>
<p>以上，ソフトに自転車を楽しんだ週末でした．</p>
<p>あと，実家のマシンに <a href="http://db.tt/LUT99SN">Dropbox</a> を入れたので，データ共有が楽になりそうですな．</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iss.ms/2012/04/10/102718/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.iss.ms/2012/04/10/102718</feedburner:origLink></item>
		<item>
		<title>サイクルショップカワタさんなツーリング＠奈良</title>
		<link>http://feedproxy.google.com/~r/issm/~3/7spZLGiokns/234345</link>
		<comments>http://blog.iss.ms/2012/04/09/234345#comments</comments>
		<pubDate>Mon, 09 Apr 2012 14:43:45 +0000</pubDate>
		<dc:creator>issm</dc:creator>
				<category><![CDATA[自転車ライフ]]></category>
		<category><![CDATA[bicycle]]></category>
		<category><![CDATA[lifelog]]></category>

		<guid isPermaLink="false">http://blog.iss.ms/?p=3882</guid>
		<description><![CDATA[はじめに 去る 2012年 3月25日，サイクルショップカワタさん主催の奈良ツーリングにおジャマしてました． 以下，ルートとか写真とかをざっと． 今回のルート 自動車2台で片方に自転車を，片方に人間を，という感じで移動し [...]]]></description>
			<content:encoded><![CDATA[<p><!--Title:サイクルショップカワタさんなツーリング＠奈良--></p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6873188352/" title="IMGP7534 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7089/6873188352_f2ba3e46e7.jpg" width="500" height="333" alt="IMGP7534"></a>
</div>
<h3>はじめに</h3>
<p>去る 2012年 3月25日，<a href="http://www.cskawata.com/">サイクルショップカワタ</a>さん主催の奈良ツーリングにおジャマしてました．</p>
<p>以下，ルートとか写真とかをざっと．</p>
<h3>今回のルート</h3>
<p>自動車2台で片方に自転車を，片方に人間を，という感じで移動し，法隆寺近くの駐車場で自転車を下ろし，そこをスタート・ゴールとする，という計画です．</p>
<p>以下，iPhoneアプリ <a href="http://click.linksynergy.com/fs-bin/click?id=IzWAfxt1bak&#038;offerid=94348.4330595774&#038;type=2&#038;subid=0">Cyclemeter</a> での記録：</p>
<div class="googlemaps">
<iframe width="720" height="720" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.jp/?q=http:%2F%2Fshare.abvio.com%2Fbad0%2Fdbd8%2F4e9b%2Fc2cb%2FCyclemeter-Cycle-20120325-1004.kml&amp;ie=UTF8&amp;t=m&amp;brcurrent=3,0x6006c72a378527d3:0xea476003f6e9c172,0&amp;ll=34.605802,135.805779&amp;spn=0.203459,0.246849&amp;z=12&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.jp/?q=http:%2F%2Fshare.abvio.com%2Fbad0%2Fdbd8%2F4e9b%2Fc2cb%2FCyclemeter-Cycle-20120325-1004.kml&amp;ie=UTF8&amp;t=m&amp;brcurrent=3,0x6006c72a378527d3:0xea476003f6e9c172,0&amp;ll=34.605802,135.805779&amp;spn=0.203459,0.246849&amp;z=12&amp;source=embed" style="color:#0000FF;text-align:left">大きな地図で見る</a></small>
</div>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">スタート: 2012/03/25 10:04:34
バイクタイム: 5:51:42
停止時間: 0:00
距離: 62.98 km
平均スピード: 時速 10.74 km
最高スピード: 時速 47.49 km
登り: 262 メートル
降り: 263 メートル</pre></div></div>

<h3>写真いくつか</h3>
<p>積み込んだ自転車を下ろして，走りだす準備を：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6873182960/" title="IMGP7417 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7215/6873182960_76bf6b2b1c.jpg" width="500" height="333" alt="IMGP7417"></a>
</div>
<p>奈良県はサイクリングロードが充実しているみたいです：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6873192492/" title="IMGP7587 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7262/6873192492_dbb7ff37f9.jpg" width="500" height="333" alt="IMGP7587"></a>
</div>
<p>向こう側に見える上り坂．出だしからヘコタレそうになりますｗ：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7019289293/" title="IMGP7429 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7119/7019289293_d8d11df51d.jpg" width="333" height="500" alt="IMGP7429"></a>
</div>
<p>平城京で記念（？）撮影：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7019291057/" title="IMGP7474 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7043/7019291057_04e6c81189.jpg" width="500" height="333" alt="IMGP7474"></a>
</div>
<p>東大寺の中は歩いて：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6873186386/" title="IMGP7495 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7242/6873186386_a316e65b81.jpg" width="500" height="333" alt="IMGP7495"></a>
</div>
<p>昔の雰囲気の残っている旧道いい感じです：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7019294743/" title="IMGP7540 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7244/7019294743_3846e0e748.jpg" width="500" height="333" alt="IMGP7540"></a>
</div>
<p>ルートは大雑把にしか決めていないので，定期的に地図を見ながら確認します：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7019296353/" title="IMGP7560 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7070/7019296353_01de4d20d0.jpg" width="500" height="333" alt="IMGP7560"></a>
</div>
<p>私が持参したiPadの地図もなかなか重宝しましたｗ：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/7019296857/" title="IMGP7568 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7252/7019296857_9067e8758b.jpg" width="500" height="333" alt="IMGP7568"></a>
</div>
<p>無事にゴール．小休憩して自転車を積み込みます：</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6873194622/" title="IMGP7621 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7262/6873194622_b99d92576b.jpg" width="500" height="333" alt="IMGP7621"></a>
</div>
<p>その他いくつか上げてます：</p>
<ul class="links">
<li><a href="http://www.flickr.com/photos/issm/sets/72157629311514334/" title="2012-03-25 奈良ツーリング - a set on Flickr">2012-03-25 奈良ツーリング &#8211; a set on Flickr</a></li>
</ul>
<h3>走行後</h3>
<p>スーパー銭湯「虹の湯」ってところで入浴＆夕食してから帰途についた感じです．</p>
<p>それにしても，鈴鹿あたり（だったか？）の渋滞はひどかった！</p>
<h3>おわりに</h3>
<p>以上，サイクルショップカワタさん主催の奈良ツーリングにおジャマさせていただいていた件を簡単に，でした．</p>
<p>この日はとにかく風が強く，横からあおられることもしばしばありました．転倒までは至りませんでしたが，なかなか油断ならんですｗ</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iss.ms/2012/04/09/234345/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.iss.ms/2012/04/09/234345</feedburner:origLink></item>
		<item>
		<title>「魔法少女まどか☆マギカ展 名古屋会場」の写真いくつか</title>
		<link>http://feedproxy.google.com/~r/issm/~3/A1tzDXLPqm0/103519</link>
		<comments>http://blog.iss.ms/2012/03/27/103519#comments</comments>
		<pubDate>Tue, 27 Mar 2012 01:35:19 +0000</pubDate>
		<dc:creator>issm</dc:creator>
				<category><![CDATA[イベント]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[photo]]></category>

		<guid isPermaLink="false">http://blog.iss.ms/?p=3875</guid>
		<description><![CDATA[2012年 3月24日，魔法少女まどか☆マギカ展 に行ってきてました． そのときの写真をいくつか上げてますのでよろしければ． 2012-03-24 魔法少女まどか☆マギカ展 名古屋会場 &#8211; a set on  [...]]]></description>
			<content:encoded><![CDATA[<p><!--Title:「魔法少女まどか☆マギカ展 名古屋会場」の写真いくつか--></p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6872065720/" title="IMGP7411 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7236/6872065720_dcbd6498e5.jpg" width="500" height="333" alt="IMGP7411"></a>
</div>
<p>2012年 3月24日，<a href="http://www.mpsinc.co.jp/madoka-magica-event/">魔法少女まどか☆マギカ展</a> に行ってきてました．</p>
<p>そのときの写真をいくつか上げてますのでよろしければ．</p>
<ul class="links">
<li><a href="http://www.flickr.com/photos/issm/sets/72157629308770390/" title="2012-03-24 魔法少女まどか☆マギカ展 名古屋会場 - a set on Flickr">2012-03-24 魔法少女まどか☆マギカ展 名古屋会場 &#8211; a set on Flickr</a></li>
</ul>
<p>雨の中開場まで2時間くらい列に並んで待機したり，ポストカードセットとかマスケット銃的バウムクーヘンとかを買ったり，ゲームで3戦全敗したり，水橋かおりさん，加藤英美里さんのトークライヴを聴いたり，<a href="http://www.google.co.jp/search?q=キュゥべえカレー">キュゥべえカレー</a>食べたり，そして行列に流れながら各種の展示を眺めたり．．．とまぁそんな感じで堪能してました．</p>
<p>それにしても，人の熱気がすごかったですね！</p>
<p>あと，暗い中でのマニュアルフォーカス難しい！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iss.ms/2012/03/27/103519/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.iss.ms/2012/03/27/103519</feedburner:origLink></item>
		<item>
		<title>Kyoto.pm #1に参加 ＆ LTに飛び入らせていただいてきた</title>
		<link>http://feedproxy.google.com/~r/issm/~3/WByOZtBWo-o/100007</link>
		<comments>http://blog.iss.ms/2012/03/19/100007#comments</comments>
		<pubDate>Mon, 19 Mar 2012 01:00:07 +0000</pubDate>
		<dc:creator>issm</dc:creator>
				<category><![CDATA[イベント]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[kyotopm]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.iss.ms/?p=3866</guid>
		<description><![CDATA[はじめに はてなさんで開催された，Kyoto.pm の記念すべき第1回目 におジャマさせていただいてきました． 加えて，飛び入り的にLTもさせていただいてきました． LTの発表資料 会場でスライドをこさえ，以前書いた g [...]]]></description>
			<content:encoded><![CDATA[<p><!--Title:Kyoto.pm #1に参加 ＆ LTに飛び入らせていただいてきた --></p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6994620501/" title="IMGP7067 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7050/6994620501_6aff8f0bb5.jpg" width="500" height="333" alt="IMGP7067"></a>
</div>
<h3>はじめに</h3>
<p><a href="http://www.hatena.ne.jp/">はてなさん</a>で開催された，<a href="http://www.atnd.org/events/25439">Kyoto.pm の記念すべき第1回目</a> におジャマさせていただいてきました．</p>
<p>加えて，飛び入り的にLTもさせていただいてきました．</p>
<h3>LTの発表資料</h3>
<p>会場でスライドをこさえ，以前書いた <a href="https://github.com/issm/git-rebase-matsuri">git-rebase-matsuri</a> について発表しました．</p>
<p>発表資料は次のとおりです：</p>
<div class="slideshare">
<div style="width:595px" id="__ss_12053025"><object id="__sse12053025" width="595" height="497"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=2012-03-17-kyotopm01lt-120318063645-phpapp02&#038;stripped_title=2012-0317kyotopm01lt&#038;userName=issm" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent"/><embed name="__sse12053025" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=2012-03-17-kyotopm01lt-120318063645-phpapp02&#038;stripped_title=2012-0317kyotopm01lt&#038;userName=issm" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="595" height="497"></embed></object></div>
</div>
<p>Nagoya.pm の存在もさりげなくアピールしておきましたｗ</p>
<p><code>git-rebase-matsuri</code> については，以前のエントリもあわせて参照いただければ：</p>
<ul class="links">
<li><a href="http://blog.iss.ms/2011/12/26/114441" title="[git][perl] rebase祭りを支援するツール「git-rebase-matsuri」というのを書いてみた « いわぶろ（ろてん）">[git][perl] rebase祭りを支援するツール「git-rebase-matsuri」というのを書いてみた « いわぶろ（ろてん）</a></li>
</ul>
<h3>LTに関する補足</h3>
<p>コミットメッセージがカオスなのは，デモのときに毎回 <code>touch $file &#038;&#038; git add $file &#038;&#038; git commit -m '...'</code> とか打ってられないので，ワンコマンドでそのへんをしてくれるものをテキトーにでっちあげた，次の2つのシェルスクリプトによるものです．</p>

<div class="wp_syntax"><div class="code"><pre class="shellscript" style="font-family:monospace;"># random
#!/bin/sh
PERL=&quot;/usr/bin/env perl&quot;
DIGITS=$1
RANDOM_STRING=$($PERL -M5.10.0 -MString::Random=random_regex -e 'my $n = $ARGV[0] // 8; my $re = &quot;[0-9a-zA-Z]{$n}&quot;; print random_regex($re)' $DIGITS)
echo $RANDOM_STRING</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="shellscript" style="font-family:monospace;"># commit
#!/bin/sh
FILE=$(./random 8)
COMMIT_MESSAGE=$(./random 40).
touch $FILE
git add $FILE
git ci -m $COMMIT_MESSAGE</pre></div></div>

<p>実行するとこんな感じ：</p>

<div class="wp_syntax"><div class="code"><pre class="terminal" style="font-family:monospace;">% ./commit
[master a04786a] PXfeCXb6jOuuTbOGEdRkZbQpzC5nPGqf0u6U9UQs.
 0 files changed
 create mode 100644 3FZcctwy</pre></div></div>

<h3>拾ったキーワードいくつか</h3>
<ul>
<li>
    Perl入学式</p>
<ul>
<li>教え合うことは最大の勉強</li>
<li>WindowsユーザにはVMWare ＆ Ubuntuをインストール</li>
<li>参加できなかった人向けに「補講」</li>
<li><a href="http://it-stamp.jp/">IT勉強会スタンプラリー</a></li>
</ul>
</li>
<li>
    Job Queue</p>
<ul>
<li>処理を後回し → リアルタイム性の必要ないもの</li>
<li>client</li>
<li>worker</li>
<li>worker manager</li>
</ul>
</li>
<li><a href="http://search.cpan.org/dist/Qudo/">Qudo</a></li>
<li><a href="http://search.cpan.org/dist/Jonk/">Jonk</a></li>
<li><a href="http://search.cpan.org/dist/Clutch/">Clutch</a></li>
<li>PJAX</li>
<li>HTTPヘッダ <code>X-PJAX: true</code></li>
<li>
    <a href="http://search.cpan.org/dist/Acme-Acotie/">Acme::Acotie</a></p>
<ul>
<li><a href="http://search.cpan.org/dist/Class-Inspector/">Class::Inspector</a></li>
</ul>
</li>
<li><a href="http://search.cpan.org/dist/Acme-FizzBuzz/">Acme::FizzBuzz</a></li>
<li>
    <a href="http://search.cpan.org/dist/Acme-Monta/">Acme::Monta</a></p>
<ul>
<li>もんたメソッド</li>
</ul>
</li>
<li>
    <a href="http://search.cpan.org/dist/dan/">dan</a></p>
<ul>
<li>空気読めないことで有名ｗ</li>
</ul>
</li>
<li><a href="https://github.com/kazeburo/GrowthForecast">GrowthForecast</a></li>
<li>
    HR</p>
<ul>
<li>kazeburoさんが開発中</li>
<li>RRDtool不要</li>
</ul>
</li>
<li><a href="http://bartaz.github.com/impress.js/">impress.js</a></li>
<li><a href="http://rackhub.net/">rackhub</a></li>
<li><a href="http://oembed.com/">oEmbed</a></li>
</ul>
<h3>駆けつけxaicronさん</h3>
<p>xaicronさんが急遽東京から駆けつけられました．行動力すごいｗ 懇親会中に到着し，強制的にLTの運びとなりました．自作モジュールのお話など．</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6848482914/" title="IMGP7073 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7054/6848482914_1a9509f574.jpg" width="500" height="333" alt="IMGP7073"></a>
</div>
<h3>鴨川沿いで</h3>
<p>懇親会の二次会は，鴨川沿いでビールとか餃子とか，でした．</p>
<p>卒業式の学校もあったようで，学生さんらしき方でごった返してました．トイレの待ち行列はまじかんべんでしたｗ</p>
<div class="flickr2-photo">
<a href="http://www.flickr.com/photos/issm/6843551714/" title="鴨川で戯れるPerlMongers、＋α。 by issm, on Flickr"><img src="http://farm8.staticflickr.com/7060/6843551714_639a56b835.jpg" width="500" height="500" alt="鴨川で戯れるPerlMongers、＋α。"></a>
</div>
<h3>おわりに</h3>
<p>以上，Kyoto.pm の第1回目におジャマさせていただいたお話でした．参加者・発表者のみなさま，ためになる＆楽しい時間をありがとうございました！</p>
<p>「Kyoto.pm の方向性」ということで shiba_yu36 さんがおっしゃっていた「アウトプット大事」，Nagoya.pm とか yuruperl とかでは，これがほとんどできていないので，これは見習わないといかん，と思った次第です．</p>
<p>ということで，yuruperl の第18回目が，4月7日にありますよ：</p>
<ul class="links">
<li><a href="http://partake.in/events/54a1476c-cbde-43a0-98a3-75176f90e12f" title="名古屋でPerl をゆるく語る会 #18 - [PARTAKE]">名古屋でPerl をゆるく語る会 #18 &#8211; [PARTAKE]</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.iss.ms/2012/03/19/100007/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.iss.ms/2012/03/19/100007</feedburner:origLink></item>
	</channel>
</rss><!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->

