<?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>HWPS! &#187; tech</title>
	<atom:link href="http://holy.enyou.org/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://holy.enyou.org</link>
	<description>HoLY's Web Press Site</description>
	<lastBuildDate>Mon, 06 Sep 2010 05:08:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>RubyKaigi2010 に行ってきた話</title>
		<link>http://holy.enyou.org/2010/09/06/rubykaigi2010/</link>
		<comments>http://holy.enyou.org/2010/09/06/rubykaigi2010/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 05:08:08 +0000</pubDate>
		<dc:creator>HoLY</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[イベント]]></category>

		<guid isPermaLink="false">http://holy.enyou.org/?p=578</guid>
		<description><![CDATA[もう先々週の話であるが今年も RubyKaigi2010 に参加した。一応金曜日から。

体調不良と暑さにより朝起きれずに午前はほとんど飛ばしてしまったのは残念。
いまだに見逃がしたセッションの動画を全部は見てないのだけど少しずつ見ている。

一番感銘を受けたのは Chad Fowler の講演であり 情熱プログラマ は読むべきだろう。

あとは esolang 話、 LT、esm 社のふつうの開発風景とかは必見だったと言えよう。



いろいろあって懇親会とかはまったく参加してないです。



RubyKaigi の間考えていくつか実行していきたいと思ったことを書いておく。


集中して仕事をしてなる早で帰る。
技術ネタのメモ書く場所を作る。これははてなの日記 を再開させる方向でよいだろう。
計画を立てて新しいことを始める。とりあえず新しい Web アプリを書く予定 (Rails3+MongoDB?) と新しい楽器を始める予定はある。


サイトは戦国大戦のサイトなんだけど。;)

github をもう少し使う。


もっと集中して生きたい。そのための計画を作りたい。

ｰｰｰｰ

そして現地のジュンク堂出張所で買った本たち。


WEB+DB PRESS Vol.58 &#8211; 言うまでもなく Rails3 者は必見
Rubyベストプラクティス -プロフェッショナルによるコードとテクニック &#8211; たぶん今年の Ruby 本の中では必見度高いと流し読みした結果感じたので。メタプログラミング Ruby がちやほやされてたけどそっちの前にこれじゃなかろうか。(メタプログラミング普段からしてるせいで大筋ではあまり新しいことがなかったせいかも…? 同僚には読ませたいんだけど。)
Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~ &#8211; esolang の本が出ていたとは知らなかった。体系的に(?)知りたかったので買ってみた。
情熱プログラマー ソフトウェア開発者の幸せな生き方 &#8211; 今回流し読みした結果買わざるを得なかった本。買ったあとに Chad Fowler の講演を聞いてそれが正しいと確信した。


ワタクシ情報収集のチャンネルが少ないのでもっと効率的に情報収集できるようにしないとな、と思っております。
]]></description>
			<content:encoded><![CDATA[<p>もう先々週の話であるが今年も RubyKaigi2010 に参加した。一応金曜日から。</p>

<p>体調不良と暑さにより朝起きれずに午前はほとんど飛ばしてしまったのは残念。
いまだに見逃がしたセッションの動画を全部は見てないのだけど少しずつ見ている。</p>

<p>一番感銘を受けたのは Chad Fowler の講演であり <span class="isbn_anchor"><a href="http://www.amazon.co.jp/o/ASIN/4274067939/hwps-22/"><img src="http://ecx.images-amazon.com/images/I/51KYrsCBI2L._SL75_PC_.jpg" />情熱プログラマ</a></span> は読むべきだろう。</p>

<p>あとは esolang 話、 LT、esm 社のふつうの開発風景とかは必見だったと言えよう。</p>

<hr />

<p>いろいろあって懇親会とかはまったく参加してないです。</p>

<hr />

<p>RubyKaigi の間考えていくつか実行していきたいと思ったことを書いておく。</p>

<ul>
<li>集中して仕事をしてなる早で帰る。</li>
<li>技術ネタのメモ書く場所を作る。これは<a href="http://d.hatena.ne.jp/holysugar">はてなの日記</a> を再開させる方向でよいだろう。</li>
<li>計画を立てて新しいことを始める。とりあえず新しい Web アプリを書く予定 (Rails3+MongoDB?) と新しい楽器を始める予定はある。

<ul>
<li>サイトは戦国大戦のサイトなんだけど。;)</li>
</ul></li>
<li>github をもう少し使う。</li>
</ul>

<p>もっと集中して生きたい。そのための計画を作りたい。</p>

<p>ｰｰｰｰ</p>

<p>そして現地のジュンク堂出張所で買った本たち。</p>

<ul>
<li><span class="isbn_anchor"><a href="http://www.amazon.co.jp/o/ASIN/4774143243/hwps-22/"><img src="http://ecx.images-amazon.com/images/I/51Zl31eqjML._SL75_PC_.jpg" />WEB+DB PRESS Vol.58</a></span> &#8211; 言うまでもなく Rails3 者は必見</li>
<li><span class="isbn_anchor"><a href="http://www.amazon.co.jp/o/ASIN/4873114454/hwps-22/"><img src="http://ecx.images-amazon.com/images/I/51IV0ZuH%2BhL._SL75_PC_.jpg" />Rubyベストプラクティス -プロフェッショナルによるコードとテクニック</a></span> &#8211; たぶん今年の Ruby 本の中では必見度高いと流し読みした結果感じたので。メタプログラミング Ruby がちやほやされてたけどそっちの前にこれじゃなかろうか。(メタプログラミング普段からしてるせいで大筋ではあまり新しいことがなかったせいかも…? 同僚には読ませたいんだけど。)</li>
<li><span class="isbn_anchor"><a href="http://www.amazon.co.jp/o/ASIN/4839927847/hwps-22/"><img src="http://ecx.images-amazon.com/images/I/41vb2HHFNJL._SL75_PC_.jpg" />Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~</a></span> &#8211; esolang の本が出ていたとは知らなかった。体系的に(?)知りたかったので買ってみた。</li>
<li><span class="isbn_anchor"><a href="http://www.amazon.co.jp/o/ASIN/4274067939/hwps-22/"><img src="http://ecx.images-amazon.com/images/I/51KYrsCBI2L._SL75_PC_.jpg" />情熱プログラマー ソフトウェア開発者の幸せな生き方</a></span> &#8211; 今回流し読みした結果買わざるを得なかった本。買ったあとに Chad Fowler の講演を聞いてそれが正しいと確信した。</li>
</ul>

<p>ワタクシ情報収集のチャンネルが少ないのでもっと効率的に情報収集できるようにしないとな、と思っております。</p>
]]></content:encoded>
			<wfw:commentRss>http://holy.enyou.org/2010/09/06/rubykaigi2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LDR から Google Reader に移行した</title>
		<link>http://holy.enyou.org/2010/03/01/ldr-to-greader/</link>
		<comments>http://holy.enyou.org/2010/03/01/ldr-to-greader/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 09:10:47 +0000</pubDate>
		<dc:creator>HoLY</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://holy.enyou.org/?p=512</guid>
		<description><![CDATA[普段の情報収集などに長く livedoor Reader を使っていたんだけれども、
最近いろいろ Feed 周りの環境を整理する上で、検索機能はフィードリーダー本体にあった方が(一時期流行った)別途 GMail を使ったやり方みたいな外部に依存しているものより良いだろうということで
結局 Google Reader に移行した。

読んでるフィードのリスト自体はLDRでエクスポート/GReaderにインポートでさくっと実行。

問題は設定。
自分の LDR の使い方は


左ペインに未読のあるフィードタイトルを表示
j/k で一気に見て気になるやつだけピンを立てて
ある程度まとまったらピンを開いて見る(ブックマークとかその他のオペレーションはこの後)


だったので、このように設定。


右上「リーダー設定」


スクロール トラッキング「全文表示の場合、スクロールして表示されたアイテムを既読にする。」のチェックを確認
ナビゲーション パネルの表示「使用するたびにナビゲーション パネルを表示します。」のチェックを確認

「登録フィード」以外のナビゲーションパネルを最小化
「登録フィード」の設定


未読件数を非表示 (これは趣味の問題だと思う)
ドラッグアンドドロップで並び替え (これも。アルファベット順で並んでる必要なし)
更新されたアイテムを表示



さらに設定だけではピンの再現はできなかったので、ピンの動作を再現する UserScript をインストール。

Pin Extension for GReader for Greasemonkey

UserScript だからピンを保存するわけではないけど、その用途には Star を普通に使えばよかろう。

これをメインのブラウザ (Firefox, Chrome) にインストールして、とりあえず前とほぼ同等の環境は作成できた。

キーバインドがいくつか変わってしまったけれども、それをわざわざ LDR 風にするほど LDR に忠誠心を持っていたわけでもないので慣れることにする。:)


ピンを立てる p → i
(未読の)次の記事 s → Shift-n Shift-o
(未読の)前の記事 a → Shift-p Shift-o 


なんか 1 ストローク増えてるけれども、勝手に開かなくなったと思えばそんなにひどくなったとは。どうせ前の記事を最後まで Space で読めば勝手に次へ行ってくれるし。

あとは左ペインを記事の新着順にソートができればより近い UI になるけど、必要なさそうに思えたので特に調べたりせず。
]]></description>
			<content:encoded><![CDATA[<p>普段の情報収集などに長く <a href="http://reader.livedoor.com/reader/">livedoor Reader</a> を使っていたんだけれども、
最近いろいろ Feed 周りの環境を整理する上で、検索機能はフィードリーダー本体にあった方が(一時期流行った)別途 GMail を使ったやり方みたいな外部に依存しているものより良いだろうということで
結局 <a href="http://www.google.com/reader/">Google Reader</a> に移行した。</p>

<p>読んでるフィードのリスト自体はLDRでエクスポート/GReaderにインポートでさくっと実行。</p>

<p>問題は設定。
自分の LDR の使い方は</p>

<ol>
<li>左ペインに未読のあるフィードタイトルを表示</li>
<li>j/k で一気に見て気になるやつだけピンを立てて</li>
<li>ある程度まとまったらピンを開いて見る(ブックマークとかその他のオペレーションはこの後)</li>
</ol>

<p>だったので、このように設定。</p>

<ul>
<li>右上「リーダー設定」

<ul>
<li>スクロール トラッキング「全文表示の場合、スクロールして表示されたアイテムを既読にする。」のチェックを確認</li>
<li>ナビゲーション パネルの表示「使用するたびにナビゲーション パネルを表示します。」のチェックを確認</li>
</ul></li>
<li>「登録フィード」以外のナビゲーションパネルを最小化</li>
<li>「登録フィード」の設定

<ul>
<li>未読件数を非表示 (これは趣味の問題だと思う)</li>
<li>ドラッグアンドドロップで並び替え (これも。アルファベット順で並んでる必要なし)</li>
<li>更新されたアイテムを表示</li>
</ul></li>
</ul>

<p>さらに設定だけではピンの再現はできなかったので、ピンの動作を再現する UserScript をインストール。</p>

<p><a href="http://userscripts.org/scripts/show/35525" title="Pin Extension for GReader for Greasemonkey">Pin Extension for GReader for Greasemonkey</a></p>

<p>UserScript だからピンを保存するわけではないけど、その用途には Star を普通に使えばよかろう。</p>

<p>これをメインのブラウザ (Firefox, Chrome) にインストールして、とりあえず前とほぼ同等の環境は作成できた。</p>

<p>キーバインドがいくつか変わってしまったけれども、それをわざわざ LDR 風にするほど LDR に忠誠心を持っていたわけでもないので慣れることにする。:)</p>

<ul>
<li>ピンを立てる p → i</li>
<li>(未読の)次の記事 s → Shift-n Shift-o</li>
<li>(未読の)前の記事 a → Shift-p Shift-o </li>
</ul>

<p>なんか 1 ストローク増えてるけれども、勝手に開かなくなったと思えばそんなにひどくなったとは。どうせ前の記事を最後まで Space で読めば勝手に次へ行ってくれるし。</p>

<p>あとは左ペインを記事の新着順にソートができればより近い UI になるけど、必要なさそうに思えたので特に調べたりせず。</p>
]]></content:encoded>
			<wfw:commentRss>http://holy.enyou.org/2010/03/01/ldr-to-greader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>プランニングポーカー購入</title>
		<link>http://holy.enyou.org/2009/11/30/get-planning-poker/</link>
		<comments>http://holy.enyou.org/2009/11/30/get-planning-poker/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 18:24:53 +0000</pubDate>
		<dc:creator>HoLY</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[購入記録]]></category>

		<guid isPermaLink="false">http://holy.enyou.org/?p=468</guid>
		<description><![CDATA[「プランニングポーカー」っていうのは、アジャイル方面の見積りグッズ。
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~ でも紹介されてる。



どう使うかっていうと、ある見積もるべきストーリー群がある時に。


それがどのようなタスクであるか話し合い
各自がそのタスクが何「ストーリーポイント」であるかを考えて
カードを出す
大きくずれてたら、なぜそうしたかなどを聞いたりして調整
ポイント確定
全部終わったら今回のスプリント(=今週あるいは半月などの単位)でどのストーリーまでを消化するか予定を決める。


実際にやっていて、このやり方の重要な点はこういうところだと思う。


各自が自分で考えた見積ポイントを出す。
時間単位でなくストーリーポイントという抽象的単位(あるタスクに対する相対的見積り)である。やる度に自分のチームはこの見積り方法で週何ポイント消化できる、という精度が上がっていく。実時間でいちいち見積らないところが重要。
「大きい見積りは精度が低い」というのが表現されている。ストーリーポイントは基本的にはフィボナッチ数で、13の次は 20, 40, 100。ストーリーを分割する目安にもなる。


ちゃんとしたやり方とか考え方は最初に挙げた「見積り本」に載ってるのでそちらを読むべし。↑間違ってるかもしれないのと、バックログとか優先度の考え方とか前提になることがいろいろ多い。

自分のプロジェクトではカード買うまでは手で紙に書いてやってたんだけど、カード買ったらずいぶん手軽になった気がする。ま、さらに慣れるとプランニングじゃんけんになるらしい けども。



んで、カード購入方法。Mountain Goat Software のサイトから、Planning Poker をカートに入れて、英語で住所とクレジットカード番号を入れて取り寄せるだけである。実際のところ普通に1週間もかからずさっくり届く。送料は高い。1セット$2.50 で10セット注文したけれども、Shipping: $39.85 とな。あと例によって JCB とか使えないから注意。

注文するなら円高のいまのうちですよ(適当)。

あと余ってるんで近いひとで試してみたいという方は連絡ください。w
]]></description>
			<content:encoded><![CDATA[<p>「プランニングポーカー」っていうのは、アジャイル方面の見積りグッズ。
<span class="isbn_anchor"><a href="http://www.amazon.co.jp/o/ASIN/4839924023/hwps-22/"><img src="http://ecx.images-amazon.com/images/I/51A8BTrHYxL._SL75_PC_.jpg" />アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~</a></span> でも紹介されてる。</p>

<p><a href="http://www.flickr.com/photos/holysugar/4134619573/" title="プランニングポーカー1つ開封 by holy.sugar, on Flickr"><img src="http://farm3.static.flickr.com/2562/4134619573_811c9d92bc.jpg" width="500" height="375" alt="プランニングポーカー1つ開封" /></a></p>

<p>どう使うかっていうと、ある見積もるべきストーリー群がある時に。</p>

<ol>
<li>それがどのようなタスクであるか話し合い</li>
<li>各自がそのタスクが何「ストーリーポイント」であるかを考えて</li>
<li>カードを出す</li>
<li>大きくずれてたら、なぜそうしたかなどを聞いたりして調整</li>
<li>ポイント確定</li>
<li>全部終わったら今回のスプリント(=今週あるいは半月などの単位)でどのストーリーまでを消化するか予定を決める。</li>
</ol>

<p>実際にやっていて、このやり方の重要な点はこういうところだと思う。</p>

<ul>
<li>各自が自分で考えた見積ポイントを出す。</li>
<li>時間単位でなくストーリーポイントという抽象的単位(あるタスクに対する相対的見積り)である。やる度に自分のチームはこの見積り方法で週何ポイント消化できる、という精度が上がっていく。実時間でいちいち見積らないところが重要。</li>
<li>「大きい見積りは精度が低い」というのが表現されている。ストーリーポイントは基本的にはフィボナッチ数で、13の次は 20, 40, 100。ストーリーを分割する目安にもなる。</li>
</ul>

<p>ちゃんとしたやり方とか考え方は最初に挙げた「見積り本」に載ってるのでそちらを読むべし。↑間違ってるかもしれないのと、バックログとか優先度の考え方とか前提になることがいろいろ多い。</p>

<p>自分のプロジェクトではカード買うまでは手で紙に書いてやってたんだけど、カード買ったらずいぶん手軽になった気がする。ま、さらに慣れると<a href="http://involo.blog27.fc2.com/blog-entry-60.html">プランニングじゃんけんになるらしい</a> けども。</p>

<hr />

<p>んで、カード購入方法。<a href="http://involo.blog27.fc2.com/blog-entry-60.html">Mountain Goat Software</a> のサイトから、Planning Poker をカートに入れて、英語で住所とクレジットカード番号を入れて取り寄せるだけである。実際のところ普通に1週間もかからずさっくり届く。送料は高い。1セット$2.50 で10セット注文したけれども、Shipping: $39.85 とな。あと例によって JCB とか使えないから注意。</p>

<p>注文するなら円高のいまのうちですよ(適当)。</p>

<p>あと余ってるんで近いひとで試してみたいという方は連絡ください。w</p>
]]></content:encoded>
			<wfw:commentRss>http://holy.enyou.org/2009/11/30/get-planning-poker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python で逆順のリストを得る</title>
		<link>http://holy.enyou.org/2009/11/23/python-reversed-list/</link>
		<comments>http://holy.enyou.org/2009/11/23/python-reversed-list/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 16:28:19 +0000</pubDate>
		<dc:creator>HoLY</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://holy.enyou.org/?p=460</guid>
		<description><![CDATA[Python の初歩的小ネタ。

Python では、あるリストの逆順を得るには、破壊的な reverse() メソッドを用いるか、逆順のイテレータを得るreversed()関数がある。

somelist.reverse() # somelist 自体が変更される
reversed(somelist) # somelist を逆順に辿るイテレータを得る


たいていはこの2つで足りるけども、たまーに somelist の逆順のリストが欲しいことがある。その場合は、(まず)つぎの2つの方法がある。

list(reversed(somelist)) 
# あるいは
somelist[::-1]


後者がなんとなくテクニカルっぽいけども、普通に考えて list(reversed(...)) でいいんじゃなかろうか(速度もそんな変わらん)。

もちろん、reversed() で足りるならその方が良いだろう。(リストのコピーしないだろうから)
]]></description>
			<content:encoded><![CDATA[<p>Python の初歩的小ネタ。</p>

<p>Python では、あるリストの逆順を得るには、破壊的な <code>reverse()</code> メソッドを用いるか、逆順のイテレータを得る<code>reversed()</code>関数がある。</p>

<pre><code>somelist.reverse() # somelist 自体が変更される
reversed(somelist) # somelist を逆順に辿るイテレータを得る
</code></pre>

<p>たいていはこの2つで足りるけども、たまーに somelist の逆順のリストが欲しいことがある。その場合は、(まず)つぎの2つの方法がある。</p>

<pre><code>list(reversed(somelist)) 
# あるいは
somelist[::-1]
</code></pre>

<p>後者がなんとなくテクニカルっぽいけども、普通に考えて <code>list(reversed(...))</code> でいいんじゃなかろうか(速度もそんな変わらん)。</p>

<p>もちろん、reversed() で足りるならその方が良いだろう。(リストのコピーしないだろうから)</p>
]]></content:encoded>
			<wfw:commentRss>http://holy.enyou.org/2009/11/23/python-reversed-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tiarra の Auto::Random に声優リストを</title>
		<link>http://holy.enyou.org/2009/11/10/tiarra-v/</link>
		<comments>http://holy.enyou.org/2009/11/10/tiarra-v/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 17:18:07 +0000</pubDate>
		<dc:creator>HoLY</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[声優]]></category>

		<guid isPermaLink="false">http://holy.enyou.org/?p=452</guid>
		<description><![CDATA[tiarra の Auto::Random に食わせるソースを出力するためのスクリプトの個人的メモ。俗に言うすももせいゆう機能(わからんて)。

例によって声優相性診断所さんのリストを使わせてもらってます。

#!/usr/local/bin/ruby
# -*- coding: UTF-8 -*- 
$KCODE = 'u'

require 'open-uri'
require 'nkf'
require 'uri'

uri = 'http://' + %w(tomoch s28 xrea com).join('.') + 'ime.cgi' # 本当はちゃんと書いてます.
out = 'va.txt'

vas = open(uri){&#124;f&#124; f.readlines }

lines = vas.collect {&#124;va&#124;
  name = va.gsub(/\&#60;.*?\&#62;/,'').split[1]
  if name
    wikilink = 'http://ja.wikipedia.org/wiki/' + URI.encode(name)
    "#{name}: #{wikilink}"
  [...]]]></description>
			<content:encoded><![CDATA[<p>tiarra の Auto::Random に食わせるソースを出力するためのスクリプトの個人的メモ。俗に言うすももせいゆう機能(わからんて)。</p>

<p>例によって<a href="http://tomoch.s28.xrea.com/">声優相性診断所</a>さんのリストを使わせてもらってます。</p>

<pre><code>#!/usr/local/bin/ruby
# -*- coding: UTF-8 -*- 
$KCODE = 'u'

require 'open-uri'
require 'nkf'
require 'uri'

uri = 'http://' + %w(tomoch s28 xrea com).join('.') + 'ime.cgi' # 本当はちゃんと書いてます.
out = 'va.txt'

vas = open(uri){|f| f.readlines }

lines = vas.collect {|va|
  name = va.gsub(/\&lt;.*?\&gt;/,'').split[1]
  if name
    wikilink = 'http://ja.wikipedia.org/wiki/' + URI.encode(name)
    "#{name}: #{wikilink}"
  else
    nil
  end
}.compact
open(out, 'w'){|f|
  f.puts lines.join("\n")
}
</code></pre>

<p>前は wget で一発だったんだけど Wikipedia のリンクが必要になったのでごにょごにょ。</p>
]]></content:encoded>
			<wfw:commentRss>http://holy.enyou.org/2009/11/10/tiarra-v/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ニコニコ動画(9)で nicovideo.rb 動かなくなってた</title>
		<link>http://holy.enyou.org/2009/11/04/fix-nicovideogem-for-nicovideo9/</link>
		<comments>http://holy.enyou.org/2009/11/04/fix-nicovideogem-for-nicovideo9/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 07:27:38 +0000</pubDate>
		<dc:creator>HoLY</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ニコニコ動画]]></category>

		<guid isPermaLink="false">http://holy.enyou.org/?p=447</guid>
		<description><![CDATA[gem で入れた nicovideo プラグイン を動画ダウンロード用のスクリプトで使っていたけど、
ニコニコ動画(9)になって動作しなくなっていたのでとりあえずダウンロードだけ動くようにした。(XPath 部分直しただけ)

require 'nicovideo'

module Nicovideo
  class VideoPage &#60; Page
    def parse(page)
      # title
      @title = page.title.toutf8.sub(/#{BASE_TITLE1}$/ou, '')

      # tags
      div = page.parser.search("div#video_tags")
      @tags [...]]]></description>
			<content:encoded><![CDATA[<p>gem で入れた <a href="http://coderepos.org/share/browser/lang/ruby/nicovideo_gem/trunk">nicovideo プラグイン</a> を動画ダウンロード用のスクリプトで使っていたけど、
ニコニコ動画(9)になって動作しなくなっていたのでとりあえず<strong>ダウンロードだけ</strong>動くようにした。(XPath 部分直しただけ)</p>

<pre><code>require 'nicovideo'

module Nicovideo
  class VideoPage &lt; Page
    def parse(page)
      # title
      @title = page.title.toutf8.sub(/#{BASE_TITLE1}$/ou, '')

      # tags
      div = page.parser.search("div#video_tags")
      @tags = div.to_html.scan(/&lt;a href=\"tag\/[\w\%]+?\"&gt;(.+?)&lt;\/a&gt;/ou).inject([]) {|arr, v|
        puts_debug v[0]
        arr &lt;&lt; v[0]
      }

      # published_at
      str = page.search("div[@id='WATCHHEADER']//p[@class='font12']/strong")[0].inner_text
      tm = str.scan(/\d+/)
      @published_at = Time.mktime(*tm)
    end
  end
end
</code></pre>

<p>ダウンロード以外はやっぱり動かないので注意。マイリスト回りのコードにも影響があるので commit しにくいなー……。</p>
]]></content:encoded>
			<wfw:commentRss>http://holy.enyou.org/2009/11/04/fix-nicovideogem-for-nicovideo9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>「のどか」購入の巻</title>
		<link>http://holy.enyou.org/2009/10/27/nodoka-on-windows7/</link>
		<comments>http://holy.enyou.org/2009/10/27/nodoka-on-windows7/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 18:06:59 +0000</pubDate>
		<dc:creator>HoLY</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[nodoka]]></category>

		<guid isPermaLink="false">http://holy.enyou.org/?p=429</guid>
		<description><![CDATA[開発用に英語キーボードな MacBook に Bootcamp で Windows 7 入れてみたわけだけど、
Ctrl と CAPS は当然として、 さりげなく Alt と Command(Windows) キーが普段と違ってしまい開発環境としては如何ともしがたく。

Alt キーはスペースバーの横じゃないとダメなのよねー。

そんなわけでキーバインドの変更が本当に必要になった。

今まで Vista な開発機には XKeymacs 使ってたけど、動作が今一つ自分の理想ではなかったのでそろそろ違うのを選びたかったところ。

というわけで 2000/XP の頃に「窓使いの憂鬱」を使ってたので後継である 「のどか」 をチョイス。 Vista の頃の mayu 後継はドライバ署名でいろいろあった気がしてたけど、最近署名が付いたというのがやはり大きい。

Windows 7 で前述のAlt-Commandキーの交換もできたのを確認して、さくっと PayPal で送金。

現状のほぼ最小設定はこんな感じ。

include "104.nodoka"
include "default.nodoka"

mod alt += LeftWindows
mod windows -= LeftWindows
key *LeftWindows = *LeftAlt

mod windows += LeftAlt
mod alt -= LeftAlt
key *LeftAlt = *LeftWindows


返事が見事に GMail の [...]]]></description>
			<content:encoded><![CDATA[<p>開発用に英語キーボードな MacBook に Bootcamp で Windows 7 入れてみたわけだけど、
Ctrl と CAPS は当然として、 さりげなく Alt と Command(Windows) キーが普段と違ってしまい開発環境としては如何ともしがたく。</p>

<p>Alt キーはスペースバーの横じゃないとダメなのよねー。</p>

<p>そんなわけでキーバインドの変更が本当に必要になった。</p>

<p>今まで Vista な開発機には XKeymacs 使ってたけど、動作が今一つ自分の理想ではなかったのでそろそろ違うのを選びたかったところ。</p>

<p>というわけで 2000/XP の頃に「窓使いの憂鬱」を使ってたので後継である <a href="http://www.appletkan.com/nodoka.htm">「のどか」</a> をチョイス。 Vista の頃の mayu 後継はドライバ署名でいろいろあった気がしてたけど、最近署名が付いたというのがやはり大きい。</p>

<p>Windows 7 で前述のAlt-Commandキーの交換もできたのを確認して、さくっと PayPal で送金。</p>

<p>現状のほぼ最小設定はこんな感じ。</p>

<pre><code>include "104.nodoka"
include "default.nodoka"

mod alt += LeftWindows
mod windows -= LeftWindows
key *LeftWindows = *LeftAlt

mod windows += LeftAlt
mod alt -= LeftAlt
key *LeftAlt = *LeftWindows
</code></pre>

<p>返事が見事に GMail の SPAM 箱に落ちてて正式版の取得が遅れたのは御愛嬌。:)</p>

<p>しかしこれでようやっと Windows7 上での開発のスタート地点に立ったってところだなー。まだ東方星蓮船専用機だし…</p>
]]></content:encoded>
			<wfw:commentRss>http://holy.enyou.org/2009/10/27/nodoka-on-windows7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails の path_prefix 付き scaffold</title>
		<link>http://holy.enyou.org/2009/10/14/rails-scaffold-with-prefix/</link>
		<comments>http://holy.enyou.org/2009/10/14/rails-scaffold-with-prefix/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 00:34:20 +0000</pubDate>
		<dc:creator>HoLY</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://holy.enyou.org/?p=416</guid>
		<description><![CDATA[久々に Rails アプリいじる。 Rails の scaffold で /adminonly/users みたいなのを定義しようとしたがまじめにやるとファイルの移動+定義変更とか面倒。デフォルトのルールもあるので prefix だけ付けても仕方ない。

……と思ったところでデフォルトルール( /controller/action/id ってやつね)を切ればいいことに気づいた。風呂リフレッシュ大事だわあ。

ActionController::Routing::Routes.draw do &#124;map&#124;
  map.resources :users, :path_prefix =&#62; '/adminonly'
end 


どうせ今は ActiveResource 型のルーティングがメインなのだからデフォルトルール的なものは個別に定義すべきであろう。(と言い聞かせる)
]]></description>
			<content:encoded><![CDATA[<p>久々に Rails アプリいじる。 Rails の scaffold で /adminonly/users みたいなのを定義しようとしたがまじめにやるとファイルの移動+定義変更とか面倒。デフォルトのルールもあるので prefix だけ付けても仕方ない。</p>

<p>……と思ったところでデフォルトルール( /controller/action/id ってやつね)を切ればいいことに気づいた。風呂リフレッシュ大事だわあ。</p>

<pre><code>ActionController::Routing::Routes.draw do |map|
  map.resources :users, :path_prefix =&gt; '/adminonly'
end 
</code></pre>

<p>どうせ今は ActiveResource 型のルーティングがメインなのだからデフォルトルール的なものは個別に定義すべきであろう。(と言い聞かせる)</p>
]]></content:encoded>
			<wfw:commentRss>http://holy.enyou.org/2009/10/14/rails-scaffold-with-prefix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>アジャイル開発なるもの</title>
		<link>http://holy.enyou.org/2009/10/10/agile-developmen/</link>
		<comments>http://holy.enyou.org/2009/10/10/agile-developmen/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 20:29:49 +0000</pubDate>
		<dc:creator>HoLY</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[アジャイル]]></category>

		<guid isPermaLink="false">http://holy.enyou.org/?p=410</guid>
		<description><![CDATA[開発手法に興味があるなら、まずこの2冊でアジャイル開発に踏み出すのがよかろう。


アート・オブ・アジャイル デベロップメント ―組織を成功に導くエクストリームプログラミング
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~


というか一緒に仕事する人は読んでください > 弊社の人とか。
こういう仕事のやり方はどうだい? というコンサルティングをしてくれる本だと思えば OK だ。

とりあえず「できるところから始める」でいいと思うけど、効率化していくとほとんどのことは
既存のプラクティスに近付いて行くんだよな。プラクティスとして紹介されているだけのことはあるのだ。

いろいろ自分の仕事でやってみて改善されたと思うことは、


本質的でない仕事が減った(チケットでタスク管理とか実際面倒でね?)


変化に強くなった: コンピュータでやるより紙のほうが早いことって結構あるんだ

コミュニケーションが飛躍的に増えた: スタンドアップミーティング、ペアプログラミング、ふりかえり、普段の井戸端会議 etc.etc&#8230;
楽しく仕事をするのを心がけられるようになった


うちはできてる! と思う人は根本的にそもそも近いんじゃないかと思う。それでも部分的にでも得るものはあるんじゃないかしらん。

褒めすぎたので困ったことも書く。


チームの理解がないと効果半減…: チームの人の理解は容易なはずだ
顧客の理解がないと効果半減…: むずかしい(特に日本では?)
壁が必要: 意外に難しい。でかい磁石の付くホワイトボードが最適だが。
ネットワーク越しは難しい: 無理。顧客も近くに置きたいのにチームも外はなかなか難しい。規模と個人の技量の問題ではあるがー。
少しずつ導入してるので慣れるに時間がかかってる。「メンター」であるような精通したコンサルとかいないからねー。


個人的には Trac ステを目標にしてみてはどうか。別に Trac 面倒だと思うけど嫌いなわけじゃないし、
実際全部捨ててはいないんだけども(BTS と Wiki は必要)。

そんなことを作業待ちの間に本読みながら考えておりましたとさ。
]]></description>
			<content:encoded><![CDATA[<p>開発手法に興味があるなら、まずこの2冊でアジャイル開発に踏み出すのがよかろう。</p>

<ul>
<li><span class="isbn_anchor"><a href="http://www.amazon.co.jp/o/ASIN/4873113954/hwps-22/"><img src="http://ecx.images-amazon.com/images/I/51bWSe172CL._SL75_PC_.jpg" />アート・オブ・アジャイル デベロップメント ―組織を成功に導くエクストリームプログラミング</a></span></li>
<li><span class="isbn_anchor"><a href="http://www.amazon.co.jp/o/ASIN/4839924023/hwps-22/"><img src="http://ecx.images-amazon.com/images/I/51A8BTrHYxL._SL75_PC_.jpg" />アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~</a></span></li>
</ul>

<p>というか一緒に仕事する人は読んでください > 弊社の人とか。
こういう仕事のやり方はどうだい? というコンサルティングをしてくれる本だと思えば OK だ。</p>

<p>とりあえず「できるところから始める」でいいと思うけど、効率化していくとほとんどのことは
既存のプラクティスに近付いて行くんだよな。プラクティスとして紹介されているだけのことはあるのだ。</p>

<p>いろいろ自分の仕事でやってみて改善されたと思うことは、</p>

<ul>
<li>本質的でない仕事が減った(チケットでタスク管理とか実際面倒でね?)

<ul>
<li>変化に強くなった: コンピュータでやるより紙のほうが早いことって結構あるんだ</li>
</ul></li>
<li>コミュニケーションが飛躍的に増えた: スタンドアップミーティング、ペアプログラミング、ふりかえり、普段の井戸端会議 etc.etc&#8230;</li>
<li>楽しく仕事をするのを心がけられるようになった</li>
</ul>

<p>うちはできてる! と思う人は根本的にそもそも近いんじゃないかと思う。それでも部分的にでも得るものはあるんじゃないかしらん。</p>

<p>褒めすぎたので困ったことも書く。</p>

<ul>
<li>チームの理解がないと効果半減…: チームの人の理解は容易なはずだ</li>
<li>顧客の理解がないと効果半減…: むずかしい(特に日本では?)</li>
<li>壁が必要: 意外に難しい。でかい磁石の付くホワイトボードが最適だが。</li>
<li>ネットワーク越しは難しい: 無理。顧客も近くに置きたいのにチームも外はなかなか難しい。規模と個人の技量の問題ではあるがー。</li>
<li>少しずつ導入してるので慣れるに時間がかかってる。「メンター」であるような精通したコンサルとかいないからねー。</li>
</ul>

<p>個人的には Trac ステを目標にしてみてはどうか。別に Trac 面倒だと思うけど嫌いなわけじゃないし、
実際全部捨ててはいないんだけども(BTS と Wiki は必要)。</p>

<p>そんなことを作業待ちの間に本読みながら考えておりましたとさ。</p>
]]></content:encoded>
			<wfw:commentRss>http://holy.enyou.org/2009/10/10/agile-developmen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ffmpeg の出力がひどかったがアップデートしたら解消されたメモ</title>
		<link>http://holy.enyou.org/2009/09/05/update-ffmpe/</link>
		<comments>http://holy.enyou.org/2009/09/05/update-ffmpe/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 15:24:02 +0000</pubDate>
		<dc:creator>HoLY</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[freebsd]]></category>

		<guid isPermaLink="false">http://holy.enyou.org/?p=385</guid>
		<description><![CDATA[FreeBSD の ports から入れた multimedia/ffmpeg の出力の mp3 がひどいことになっていてなんでだろう、と思っていたがバージョンのせいだった模様。のメモ。



元のはこんなんだった。

FFmpeg version SVN-r14424, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --cc=cc --prefix=/usr/local --disable-debug --enable-memalign-hack --enable-shared --enable-postproc --extra-cflags=-I/usr/local/include/vorbis -I/usr/local/include --extra-ldflags=-L/usr/local/lib -la52 --extra-libs=-pthread --enable-gpl --enable-pthreads --enable-swscale --mandir=/usr/local/man --enable-liba52 --enable-liba52bin --enable-libfaac --enable-libfaad --enable-libfaadbin --disable-libamr-nb --disable-libamr-wb --disable-mmx --disable-libgsm --enable-libmp3lame --disable-ffplay --enable-libtheora --enable-libvorbis --enable-libx264 --disable-libxvid
  libavutil version: 49.7.0
  libavcodec [...]]]></description>
			<content:encoded><![CDATA[<p>FreeBSD の ports から入れた multimedia/ffmpeg の出力の mp3 がひどいことになっていてなんでだろう、と思っていたがバージョンのせいだった模様。のメモ。</p>

<p><span id="more-385"></span></p>

<p>元のはこんなんだった。</p>

<pre><code>FFmpeg version SVN-r14424, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --cc=cc --prefix=/usr/local --disable-debug --enable-memalign-hack --enable-shared --enable-postproc --extra-cflags=-I/usr/local/include/vorbis -I/usr/local/include --extra-ldflags=-L/usr/local/lib -la52 --extra-libs=-pthread --enable-gpl --enable-pthreads --enable-swscale --mandir=/usr/local/man --enable-liba52 --enable-liba52bin --enable-libfaac --enable-libfaad --enable-libfaadbin --disable-libamr-nb --disable-libamr-wb --disable-mmx --disable-libgsm --enable-libmp3lame --disable-ffplay --enable-libtheora --enable-libvorbis --enable-libx264 --disable-libxvid
  libavutil version: 49.7.0
  libavcodec version: 51.61.0
  libavformat version: 52.18.0
  libavdevice version: 52.0.1
  built on Aug 28 2009 19:11:49, gcc: 4.2.1 20070719  [FreeBSD]
</code></pre>

<p>ports 更新して ffmpeg-0.5,1 を入れたらこうなった。</p>

<pre><code>FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --prefix=/usr/local --mandir=/usr/local/man --enable-shared --enable-gpl --enable-swscale --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-x11grab --enable-memalign-hack --cc=cc --extra-cflags=-I/usr/local/include/vorbis -I/usr/local/include --extra-ldflags=-L/usr/local/lib  --extra-libs=-pthread --disable-debug --disable-mmx --disable-libamr-nb --disable-libamr-wb --disable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --disable-libgsm --disable-vhook --enable-ipv6 --enable-libmp3lame --disable-libopenjpeg --enable-libschroedinger --disable-ffplay --disable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --disable-libxvid
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 0
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Aug 31 2009 16:39:22, gcc: 4.2.1 20070719  [FreeBSD]
</code></pre>

<p>オプションが Leopard の MacPorts 版と違ったのもこれで解決できた。</p>
]]></content:encoded>
			<wfw:commentRss>http://holy.enyou.org/2009/09/05/update-ffmpe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
