<?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>philo式 &#187; Programming</title>
	<atom:link href="http://philosy.com/blog/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://philosy.com/blog</link>
	<description>Philosophy of Hiroshi</description>
	<lastBuildDate>Wed, 21 Jul 2010 02:47:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Py3dsMax installation and demo</title>
		<link>http://philosy.com/blog/2010/02/20/py3dsmax-installation-and-demo/</link>
		<comments>http://philosy.com/blog/2010/02/20/py3dsmax-installation-and-demo/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 04:19:27 +0000</pubDate>
		<dc:creator>chiyama</dc:creator>
				<category><![CDATA[3ds max]]></category>
		<category><![CDATA[CG]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://philosy.com/blog/?p=605</guid>
		<description><![CDATA[Blur Studio 作の Py3dsMax が更新されていて、本格的に使用できるようになっていました。以前も動作はしたのですが、UI 部分が動かなかったので MaxScript から python モジュールにスクリプトを文字列として渡すとかしないといけなかったんですね。
今回のアップデートは PyQt に対応し、Python スクリプトもエディタから直接実行できるようになっています。Great!!!!!!
インストールも至って簡単で、Py3dsMax のサイトから必要なインストーラをダウンロードしてインストール、そして 3ds max のプラグインパスにインストールした Py3dsMax のパスを通すだけ(Max2010は、標準添付のQtライブラリを改名して無効にする必要あり)。
ついでなのでダウンロードからインストール、サンプルプログラムの実行までをムービーにしてみました。画面再撮で見にくかったり、インストール途中でハマってもたついたりしますが、全体の雰囲気は掴めるのではないかと思います。



とりあえずいいから動いているのを見たい!! という方は、 07:00 あたりから再生してください。
]]></description>
			<content:encoded><![CDATA[<p>Blur Studio 作の Py3dsMax が更新されていて、本格的に使用できるようになっていました。以前も動作はしたのですが、UI 部分が動かなかったので MaxScript から python モジュールにスクリプトを文字列として渡すとかしないといけなかったんですね。</p>
<p>今回のアップデートは PyQt に対応し、Python スクリプトもエディタから直接実行できるようになっています。Great!!!!!!</p>
<p>インストールも至って簡単で、<a href="http://code.google.com/p/blur-dev/wiki/Py3dsMax">Py3dsMax のサイト</a>から必要なインストーラをダウンロードしてインストール、そして 3ds max のプラグインパスにインストールした Py3dsMax のパスを通すだけ(Max2010は、標準添付のQtライブラリを改名して無効にする必要あり)。</p>
<p>ついでなのでダウンロードからインストール、サンプルプログラムの実行までをムービーにしてみました。画面再撮で見にくかったり、インストール途中でハマってもたついたりしますが、全体の雰囲気は掴めるのではないかと思います。</p>
<p><center><br />
<object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/AA9Y-4VErsY&#038;hl=ja_JP&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/AA9Y-4VErsY&#038;hl=ja_JP&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object><br />
</center></p>
<p>とりあえずいいから動いているのを見たい!! という方は、 07:00 あたりから再生してください。</p>
]]></content:encoded>
			<wfw:commentRss>http://philosy.com/blog/2010/02/20/py3dsmax-installation-and-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>並カン</title>
		<link>http://philosy.com/blog/2010/01/31/%e4%b8%a6%e3%82%ab%e3%83%b3/</link>
		<comments>http://philosy.com/blog/2010/01/31/%e4%b8%a6%e3%82%ab%e3%83%b3/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 01:18:12 +0000</pubDate>
		<dc:creator>chiyama</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[コンピュータ]]></category>

		<guid isPermaLink="false">http://philosy.com/blog/?p=582</guid>
		<description><![CDATA[今日の昼から開催される並カンに参加します。
ちょっと前に確認したときは定員オーバーでキャンセル待ちだったので諦めてしまったんですが、今はまだ余裕があるみたいです。
ミカンと聞いたら参加しないわけにはいかないですよね(違
]]></description>
			<content:encoded><![CDATA[<p>今日の昼から開催される<a href="http://atnd.org/events/2092">並カン</a>に参加します。<br />
ちょっと前に確認したときは定員オーバーでキャンセル待ちだったので諦めてしまったんですが、今はまだ余裕があるみたいです。</p>
<p>ミカンと聞いたら参加しないわけにはいかないですよね(違</p>
]]></content:encoded>
			<wfw:commentRss>http://philosy.com/blog/2010/01/31/%e4%b8%a6%e3%82%ab%e3%83%b3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Qt のライセンスについての考察</title>
		<link>http://philosy.com/blog/2009/12/09/qt-%e3%81%ae%e3%83%a9%e3%82%a4%e3%82%bb%e3%83%b3%e3%82%b9%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e8%80%83%e5%af%9f/</link>
		<comments>http://philosy.com/blog/2009/12/09/qt-%e3%81%ae%e3%83%a9%e3%82%a4%e3%82%bb%e3%83%b3%e3%82%b9%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e8%80%83%e5%af%9f/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 16:16:53 +0000</pubDate>
		<dc:creator>chiyama</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://philosy.com/blog/?p=313</guid>
		<description><![CDATA[Qtを使うと決めたものの、ライセンスのことをすっかり忘れていました。そういえば、以前も Qt にしようか迷って、ライセンスの余りの酷さに心が折れたことを思い出しましたよw
SRA のサイトにFAQがあったのでざっと目を通してみました
そして、そこで驚愕の記述が。

Q8 : 	オープンソースでないアプリケーションを Qt のオープンソース版で開発し、販売を開始する時に商用ライセンスを購入するのは可能ですか？
A8 : 	いいえ。商用ライセンスの取り決めは、商用ライセンスの取り決めの下に Qt を用いて開発されたソフトウェアだけに適用されます。この取り決めに先だって Qt オープンソース版で開発されたコードには適用されません。商用版ライセンスなしに Qt で開発されたソフトウェアは全て、オープンソースソフトウェアとしてリリースしなければなりません。 
えぇぇぇぇ!!!まーじーでーすーかー!!!!????更にこんなものも:

Q13: プログラムを作成したい全てのプラットフォーム用にライセンスが必要ですか？
A13: はい、必要です。例えば Qt を Windows と Mac の両方で使用するのであれば、2 つのプラットフォームのライセンスが必要になります。Windows と Mac と Linux で Qt を使用するのであれば、3 つのプラットフォーム用のライセンスが必要です。

Qt の商用ライセンスって、最低でも $2995 するんですけどwwwこれは気軽に買える金額じゃないです(汗
ここで気になるのが、PyQt(GPL/商用のデュアルライセンス) を使用してプログラムを作ったときのライセンスについて。ちょっと考察してみました
※ここからは、私個人の勝手な考察です!!これが全面的に正しいという確証はないので信じないでください!!

LGPLライセンス下では、LGPLなライブラリ部分を動的リンクしていれば全部のソースを公開する必要がない(はず)
ということはQtを使っても、共有ライブラリとして使う分には自分が開発した部分のソースコード公開の義務は発生しないはず
Qtベースでカスタムウィジェットを作っても、静的リンクしなければ大丈夫
このカスタムウィジェットをPyQtから呼んで使っても、ウィジエットは大丈夫
カスタムウィジェットをPyQtから呼ぶアプリを作ると、アプリ部分はソースコードを公開しないといけない
更に pyside(情報ありがとうございます!!>@t_ashulaさん) を使えば、アプリのソース公開義務も発生しない?

スクリプトベースのアプリとLGPLの動的リンクまわりの解釈がどうなるのかがはっきりしないですが、こんな感じでしょうか? pyside のサイトで名言されてますね。クローズドソースな商用アプリも作れるみたいです。
PySide Qt bindings allow both free open source and proprietary software development and ultimately [...]]]></description>
			<content:encoded><![CDATA[<p>Qtを使うと決めたものの、ライセンスのことをすっかり忘れていました。そういえば、以前も Qt にしようか迷って、ライセンスの余りの酷さに心が折れたことを思い出しましたよw</p>
<p>SRA のサイトに<a href="http://www.sra.co.jp/qt/faq/index.html">FAQ</a>があったのでざっと目を通してみました</p>
<p>そして、そこで驚愕の記述が。</p>
<blockquote><p>
Q8 : 	オープンソースでないアプリケーションを Qt のオープンソース版で開発し、販売を開始する時に商用ライセンスを購入するのは可能ですか？<br />
A8 : 	いいえ。商用ライセンスの取り決めは、商用ライセンスの取り決めの下に Qt を用いて開発されたソフトウェアだけに適用されます。この取り決めに先だって Qt オープンソース版で開発されたコードには適用されません。商用版ライセンスなしに Qt で開発されたソフトウェアは全て、オープンソースソフトウェアとしてリリースしなければなりません。 </p></blockquote>
<p>えぇぇぇぇ!!!まーじーでーすーかー!!!!????更にこんなものも:</p>
<blockquote><p>
Q13: プログラムを作成したい全てのプラットフォーム用にライセンスが必要ですか？<br />
A13: はい、必要です。例えば Qt を Windows と Mac の両方で使用するのであれば、2 つのプラットフォームのライセンスが必要になります。Windows と Mac と Linux で Qt を使用するのであれば、3 つのプラットフォーム用のライセンスが必要です。
</p></blockquote>
<p>Qt の商用ライセンスって、最低でも <a href="http://qt.nokia.com/products/pricing">$2995</a> するんですけどwwwこれは気軽に買える金額じゃないです(汗</p>
<p>ここで気になるのが、PyQt(GPL/商用のデュアルライセンス) を使用してプログラムを作ったときのライセンスについて。ちょっと考察してみました</p>
<p><strong>※ここからは、私個人の勝手な考察です!!これが全面的に正しいという確証はないので信じないでください!!</strong></p>
<ol>
<li>LGPLライセンス下では、LGPLなライブラリ部分を動的リンクしていれば全部のソースを公開する必要がない(はず)</li>
<li>ということはQtを使っても、共有ライブラリとして使う分には自分が開発した部分のソースコード公開の義務は発生しないはず</li>
<li>Qtベースでカスタムウィジェットを作っても、静的リンクしなければ大丈夫</li>
<li>このカスタムウィジェットをPyQtから呼んで使っても、ウィジエットは大丈夫</li>
<li>カスタムウィジェットをPyQtから呼ぶアプリを作ると、アプリ部分はソースコードを公開しないといけない</li>
<li>更に <a href="http://www.pyside.org/">pyside</a>(情報ありがとうございます!!>@t_ashulaさん) を使えば、アプリのソース公開義務も発生しない?</li>
</ol>
<p><del datetime="2009-12-08T16:26:56+00:00">スクリプトベースのアプリとLGPLの動的リンクまわりの解釈がどうなるのかがはっきりしないですが、こんな感じでしょうか?</del> pyside のサイトで名言されてますね。クローズドソースな商用アプリも作れるみたいです。</p>
<blockquote><p>PySide Qt bindings allow both free open source and proprietary software development and ultimately aim to support all of the platforms as Qt itself.</p></blockquote>
<p>更に言うと、LGPL な Qt を使って BSDライセンスなカスタムライブラリを作ってそれを商用利用するというのは OK なんでしょうか。こういう抜け方は誰でも考えるでしょうから、調べればいろいろ解釈がみつかると思います。。。が、疲れたので今日はここまで。</p>
<p>それにしても、これだけがんじがらめになってると Qt を使う気が一気に萎えますね。これまでも同じ理由で Qt を避けてきたのです。特に、途中から商用ライセンス下で開発することができないというのはキツすぎます。これだけはちょっと飲めないです ;-(</p>
]]></content:encoded>
			<wfw:commentRss>http://philosy.com/blog/2009/12/09/qt-%e3%81%ae%e3%83%a9%e3%82%a4%e3%82%bb%e3%83%b3%e3%82%b9%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e8%80%83%e5%af%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom Plugin Manager for 3ds max</title>
		<link>http://philosy.com/blog/2009/11/03/custom-plugin-manager-for-3ds-max/</link>
		<comments>http://philosy.com/blog/2009/11/03/custom-plugin-manager-for-3ds-max/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 10:10:07 +0000</pubDate>
		<dc:creator>chiyama</dc:creator>
				<category><![CDATA[3ds max]]></category>
		<category><![CDATA[CG]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://philosy.com/blog/?p=282</guid>
		<description><![CDATA[プラグイン開発者にとって、プラグインの動的 Load/Unload ができるかできないかは生産性に直結する問題です。
振り返ってみると Maya はさすがというか標準で対応していて、気軽にプラグインの更新ができるようになっています。
ところが、3ds max は遅延ロードには対応しているものの Unload ができません。これは正直アリエナイです(笑。こんな環境でプラグイン開発なんてやってたらmaxの再起動だけで1日が過ぎてしまいます。いや、そんなのに頼らずに一発で動くのを作ればいいじゃん?という声も聞こえてきそうですが、よっぽどの天才ならともかく、凡人の私には無理です(笑
ということで、プラグインマネージャからプラグインのアンロードができるように手を加えてみました。maxのモロモロの実装がアレな関係でMayaほどきちんと動かないですが、Unload→プラグイン更新→Load くらいはできます。
max2010/64bit 版のプラグインをアップロードしておくので、使いたい方は自己責任でご利用ください  
Unload 対応プラグインマネージャ for 3ds max 2010/64bit
]]></description>
			<content:encoded><![CDATA[<p>プラグイン開発者にとって、プラグインの動的 Load/Unload ができるかできないかは生産性に直結する問題です。</p>
<p>振り返ってみると Maya はさすがというか標準で対応していて、気軽にプラグインの更新ができるようになっています。</p>
<p>ところが、3ds max は遅延ロードには対応しているものの Unload ができません。これは正直アリエナイです(笑。こんな環境でプラグイン開発なんてやってたらmaxの再起動だけで1日が過ぎてしまいます。いや、そんなのに頼らずに一発で動くのを作ればいいじゃん?という声も聞こえてきそうですが、よっぽどの天才ならともかく、凡人の私には無理です(笑</p>
<p>ということで、プラグインマネージャからプラグインのアンロードができるように手を加えてみました。maxのモロモロの実装がアレな関係でMayaほどきちんと動かないですが、Unload→プラグイン更新→Load くらいはできます。</p>
<p>max2010/64bit 版のプラグインをアップロードしておくので、使いたい方は自己責任でご利用ください <img src='http://philosy.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p><a title="Unload 対応プラグインマネージャ for 3ds max 2010/64bit" href="/blog/wp-content/uploads/2009/11/pluginmanager.gup">Unload 対応プラグインマネージャ for 3ds max 2010/64bit</a></p>
]]></content:encoded>
			<wfw:commentRss>http://philosy.com/blog/2009/11/03/custom-plugin-manager-for-3ds-max/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>64bit Mayaプラグイン開発環境を無料で構築する</title>
		<link>http://philosy.com/blog/2009/08/31/64bit-maya%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e3%82%92%e7%84%a1%e6%96%99%e3%81%a7%e6%a7%8b%e7%af%89%e3%81%99%e3%82%8b/</link>
		<comments>http://philosy.com/blog/2009/08/31/64bit-maya%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e3%82%92%e7%84%a1%e6%96%99%e3%81%a7%e6%a7%8b%e7%af%89%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 15:27:30 +0000</pubDate>
		<dc:creator>chiyama</dc:creator>
				<category><![CDATA[CG]]></category>
		<category><![CDATA[Maya]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://philosy.com/blog/2009/08/31/64bit-maya%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e3%82%92%e7%84%a1%e6%96%99%e3%81%a7%e6%a7%8b%e7%af%89%e3%81%99%e3%82%8b/</guid>
		<description><![CDATA[64bit 版の Mayaプラグイン開発環境を作るためにやった作業メモ。ほとんど memlog さんからのコピペですwww

・Mayaのインストール
普通にインストールします。
・開発環境構築
無料で手に入る環境をインストールします

Visual Studio 2008 Express Edition
Windows SDK

・プラグインウィザードの設定
Maya のドキュメント通りにやってもうまくいきません。ガッデム!!
というか、いろいろ試しても Wizard はまともに動きませんでした。どうせ使わないのでこれは放置の方向でwww
・開発環境起動
1)スタート &#62; Microsoft Windows SDK v6.1 &#62; CMD Shellを起動
2)起動させたコマンドプロンプトから以下を実行
start VCExpress /useenv
これで、64bit環境が設定された Visual C++ 2008 Express Edition が起動します。
・環境設定
ツール/オプション で環境を設定します
プロジェクトおよびソリューション/VC++ ディレクトリ で、ディレクトリを表示するプロジェクトから インクルードファイル を選び、
 C:\Program Files\Autodesk\Maya2010\include
C:\Program Files\Autodesk\Maya2010\include\maya
この二つを追加。同様に、ライブラリファイルに
 C:\Program Files\Autodesk\Maya2010\lib
を追加します。
・サンプルプラグインをビルド

適当なサンプルのプロジェクトを開きます
プロジェクト→プロパティ から、構成プロパティ/リンカ/詳細 を選んで、対象コンピュータを &#8220;MachineX64&#8243; にします
ビルド!!

これでエラーが出なければ無事にプラグイン開発環境が整ったことになります。…が、正直ここまでするなら製品版を買ったほうが楽ですwwww
Standard なら 25000円くらいです。社会人の貴重な空き時間を買うと思えば安いものです。
もう一つの選択肢は、Windowsでは 64bit 環境で開発しないとか。Mac も Linux も、無料で開発できますからねぇ。
 結局、製品版の Visual Studio を購入しちゃいました。見事に Microsoft [...]]]></description>
			<content:encoded><![CDATA[<p>64bit 版の Mayaプラグイン開発環境を作るためにやった作業メモ。ほとんど <a href="http://blog.taikomatsu.com/2008/12/05/maya-plug-invcexpress%E3%81%A764bit%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AF%E4%BD%9C%E3%82%8C%E3%82%8B%E3%81%8B%E3%80%82/">memlog さんからのコピペ</a>ですwww</p>
<p><span id="more-248"></span></p>
<p><strong>・Mayaのインストール</strong><br />
普通にインストールします。</p>
<p><strong>・開発環境構築</strong><br />
無料で手に入る環境をインストールします</p>
<ul>
<li><a href="http://www.microsoft.com/japan/msdn/vstudio/express/">Visual Studio 2008 Express Edition</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7614FE22-8A64-4DFB-AA0C-DB53035F40A0&amp;displaylang=ja">Windows SDK</a></li>
</ul>
<p><strong>・プラグインウィザードの設定</strong><br />
Maya のドキュメント通りにやってもうまくいきません。ガッデム!!<br />
というか、いろいろ試しても Wizard はまともに動きませんでした。どうせ使わないのでこれは放置の方向でwww</p>
<p><strong>・開発環境起動</strong><br />
1)スタート &gt; Microsoft Windows SDK v6.1 &gt; CMD Shellを起動<br />
2)起動させたコマンドプロンプトから以下を実行</p>
<blockquote><p>start VCExpress /useenv</p></blockquote>
<p>これで、64bit環境が設定された Visual C++ 2008 Express Edition が起動します。</p>
<p><strong>・環境設定</strong><br />
ツール/オプション で環境を設定します</p>
<p>プロジェクトおよびソリューション/VC++ ディレクトリ で、ディレクトリを表示するプロジェクトから インクルードファイル を選び、</p>
<blockquote><p> C:\Program Files\Autodesk\Maya2010\include<br />
C:\Program Files\Autodesk\Maya2010\include\maya</p></blockquote>
<p>この二つを追加。同様に、ライブラリファイルに</p>
<blockquote><p> C:\Program Files\Autodesk\Maya2010\lib</p></blockquote>
<p>を追加します。</p>
<p><strong>・サンプルプラグインをビルド</strong></p>
<ul>
<li>適当なサンプルのプロジェクトを開きます</li>
<li>プロジェクト→プロパティ から、構成プロパティ/リンカ/詳細 を選んで、対象コンピュータを &#8220;MachineX64&#8243; にします</li>
<li>ビルド!!</li>
</ul>
<p>これでエラーが出なければ無事にプラグイン開発環境が整ったことになります。…が、正直ここまでするなら製品版を買ったほうが楽ですwwww</p>
<p>Standard なら 25000円くらいです。社会人の貴重な空き時間を買うと思えば安いものです。</p>
<p>もう一つの選択肢は、Windowsでは 64bit 環境で開発しないとか。Mac も Linux も、無料で開発できますからねぇ。</p>
<hr width="50%" /> 結局、製品版の Visual Studio を購入しちゃいました。見事に Microsoft の戦略にハマってますねぇ。</p>
]]></content:encoded>
			<wfw:commentRss>http://philosy.com/blog/2009/08/31/64bit-maya%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e3%82%92%e7%84%a1%e6%96%99%e3%81%a7%e6%a7%8b%e7%af%89%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>githubを使ってみよう</title>
		<link>http://philosy.com/blog/2009/04/15/github%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86/</link>
		<comments>http://philosy.com/blog/2009/04/15/github%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 14:24:00 +0000</pubDate>
		<dc:creator>chiyama</dc:creator>
				<category><![CDATA[CG]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://philosy.com/blog/2009/04/15/github%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86/</guid>
		<description><![CDATA[記事に触発されて、github を使ってみることにしました。
使ってみると決めたらまずはアカウント作成。必要なのはユーザー名とパスワード、それから ssh public key です。ここで間違って private key を貼りつけたりしなければ、特に問題はないと思います。
そしたらもう使えるようになっちゃいます。早っ!!本当にこれだけでした。記事にもならない(汗
使えるようになったので、早速lucille を fork します。これも簡単、my fork ボタンを押すだけ。
画面が切り替わって一瞬何が起こったか理解できないけれども、もう自分の lucille リポジトリができています。早っ!! github を使うと決めてここまで 5 分かかってません。これはスゴい。
そんな感じでできた私のページはこちら。使い始めの印象としては今までで最高です。使い勝手はどうかなー?
]]></description>
			<content:encoded><![CDATA[<p>記事に触発されて、<a href="http://github.com/">github</a> を使ってみることにしました。</p>
<p>使ってみると決めたらまずはアカウント作成。必要なのはユーザー名とパスワード、それから ssh public key です。ここで間違って private key を貼りつけたりしなければ、特に問題はないと思います。</p>
<p>そしたらもう使えるようになっちゃいます。早っ!!本当にこれだけでした。記事にもならない(汗</p>
<p>使えるようになったので、早速<a href="http://github.com/syoyo/lucille/tree/master">lucille</a> を fork します。これも簡単、my fork ボタンを押すだけ。</p>
<p>画面が切り替わって一瞬何が起こったか理解できないけれども、もう自分の lucille リポジトリができています。早っ!! github を使うと決めてここまで 5 分かかってません。これはスゴい。</p>
<p>そんな感じでできた私のページは<a href="http://github.com/chiyama/">こちら</a>。使い始めの印象としては今までで最高です。使い勝手はどうかなー?</p>
]]></content:encoded>
			<wfw:commentRss>http://philosy.com/blog/2009/04/15/github%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gitについての記事</title>
		<link>http://philosy.com/blog/2009/04/15/git%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e8%a8%98%e4%ba%8b/</link>
		<comments>http://philosy.com/blog/2009/04/15/git%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e8%a8%98%e4%ba%8b/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 12:56:59 +0000</pubDate>
		<dc:creator>chiyama</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://philosy.com/blog/2009/04/15/git%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e8%a8%98%e4%ba%8b/</guid>
		<description><![CDATA[git の話をしているところにピッタリなタイミングでこんな記事がありました
 ソーシャル化するOSS開発者たち
この記事を読むと、CVS や Subversion(svn) と git が全く違うということがわかります。
特に目から鱗だったのが、CVS や svn の中央レポジトリが物理的な&#8221;土地&#8221;と同じく政治的な意味を持つのに対して、 git のようなどこにでも同じレポジトリが存在するようになるとレポジトリという形は意味をなさなくなり、それぞれのレポジトリ上で何が行われているかが意味を持ってくるという話でした。
分かれたレポジトリで興味深い変更がされたら、自分のところに持ってくる(git pull)ということなんですね。へー。
この文章を読むと、 git 内での物事の考え方がわかる気がします。私も早速 lucille のクローンでも作ってみますかねw
]]></description>
			<content:encoded><![CDATA[<p>git の話をしているところにピッタリなタイミングでこんな記事がありました</p>
<blockquote><p> <a href="http://www.atmarkit.co.jp/news/analysis/200904/14/git.html">ソーシャル化するOSS開発者たち</a></p></blockquote>
<p>この記事を読むと、CVS や Subversion(svn) と git が全く違うということがわかります。</p>
<p>特に目から鱗だったのが、CVS や svn の中央レポジトリが物理的な&#8221;土地&#8221;と同じく政治的な意味を持つのに対して、 git のようなどこにでも同じレポジトリが存在するようになるとレポジトリという形は意味をなさなくなり、それぞれのレポジトリ上で何が行われているかが意味を持ってくるという話でした。<br />
分かれたレポジトリで興味深い変更がされたら、自分のところに持ってくる(git pull)ということなんですね。へー。</p>
<p>この文章を読むと、 git 内での物事の考え方がわかる気がします。私も早速 lucille のクローンでも作ってみますかねw</p>
]]></content:encoded>
			<wfw:commentRss>http://philosy.com/blog/2009/04/15/git%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e8%a8%98%e4%ba%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>lucille@github を使ってみよう</title>
		<link>http://philosy.com/blog/2009/04/11/lucillegithub-%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86/</link>
		<comments>http://philosy.com/blog/2009/04/11/lucillegithub-%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 02:43:01 +0000</pubDate>
		<dc:creator>chiyama</dc:creator>
				<category><![CDATA[CG]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[lucille]]></category>

		<guid isPermaLink="false">http://philosy.com/blog/2009/04/11/lucillegithub-%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86/</guid>
		<description><![CDATA[仕事が一段落して、久しぶりに心休まる週末なので github を使ってみることにしました。
とは言っても、github を使うのが目的ではなく lucille の最新コードを手元に持ってきていつでも最新版を使えるようにしたいのです。
github?
ここ最近開発者の間で流行っている Git のリポジトリを公開するためのサイトです。Git は…CVS とか Subversion とかのソースコード管理システムの一つみたいな認識でいいんじゃないかと。何で流行ってるのかと言うと…何でだろ?
Git?
そもそも Git って何よ?という感じだったので Wikipedia を参照すると、なるほど、

Linuxカーネルを開発するためにリーナスが作った
分散バージョン管理システム

ということですか。これは流行るわけだと妙に納得。
使ってみる
とりあえず github から lucille のコードを持ってきます。
これはもう簡単。Web ページからダウンロードできます。download ボタンを押すと zip か tar で持ってこれるようです。
ダウンロードしたら適当な場所に解凍してビルド。
ビルド
INSTALL を読むと幾つか依存するツールがあります。

python ( for scons )
scons &#62; 1.0 ( http://www.scons.org/ )
flex
bison
gcc &#62; 4.0 (If you use gcc)
cunit ( Optional. Used for unit testing. http://cunit.sourceforge.net/ )

足りないツールはサクサクと入れちゃう。昔はソースコード原理主義で一から作る派だったけど、今はそんな元気ないので Fink を使っちゃう。
環境が整ったらドキュメント通りに build/install。私の環境(Mac OSX 10.5)だと特につまづくところもなくおわりました。
レンダリング
 [...]]]></description>
			<content:encoded><![CDATA[<p>仕事が一段落して、久しぶりに心休まる週末なので github を使ってみることにしました。<br />
とは言っても、github を使うのが目的ではなく <a href="http://lucille.atso-net.jp/blog/">lucille</a> の最新コードを手元に持ってきていつでも最新版を使えるようにしたいのです。</p>
<p><strong>github?</strong><br />
ここ最近開発者の間で流行っている Git のリポジトリを公開するためのサイトです。Git は…CVS とか Subversion とかのソースコード管理システムの一つみたいな認識でいいんじゃないかと。何で流行ってるのかと言うと…何でだろ?</p>
<p><strong>Git?</strong><br />
そもそも Git って何よ?という感じだったので <a href="http://ja.wikipedia.org/wiki/Git">Wikipedia を参照</a>すると、なるほど、</p>
<ul>
<li>Linuxカーネルを開発するためにリーナスが作った</li>
<li>分散バージョン管理システム</li>
</ul>
<p>ということですか。これは流行るわけだと妙に納得。</p>
<p><strong>使ってみる</strong><br />
とりあえず github から lucille のコードを持ってきます。<br />
これはもう簡単。<a href="http://github.com/syoyo/lucille/tree/master">Web ページ</a>からダウンロードできます。download ボタンを押すと zip か tar で持ってこれるようです。</p>
<p>ダウンロードしたら適当な場所に解凍してビルド。</p>
<p><strong>ビルド</strong><br />
<a href="http://github.com/syoyo/lucille/blob/704029691342b1d6ab5df9b8882385a167142089/INSTALL">INSTALL</a> を読むと幾つか依存するツールがあります。</p>
<ul>
<li>python ( for scons )</li>
<li>scons &gt; 1.0 ( http://www.scons.org/ )</li>
<li>flex</li>
<li>bison</li>
<li>gcc &gt; 4.0 (If you use gcc)</li>
<li>cunit ( Optional. Used for unit testing. http://cunit.sourceforge.net/ )</li>
</ul>
<p>足りないツールはサクサクと入れちゃう。昔はソースコード原理主義で一から作る派だったけど、今はそんな元気ないので Fink を使っちゃう。<br />
環境が整ったらドキュメント通りに build/install。私の環境(Mac OSX 10.5)だと特につまづくところもなくおわりました。</p>
<p><strong>レンダリング</strong></p>
<blockquote><p> &gt;lsh tut1.rib</p></blockquote>
<p>とかでレンダリングできる。…がっ! muda とかいうファイルができるだけ。何これ?私のやってることはムダだって言われてる?(言ってません)<br />
rib をいじって出力先を muda.tif に変えてみる</p>
<blockquote><p> Display &#8220;muda.tif&#8221; &#8220;tiff&#8221; &#8220;rgb&#8221;</p></blockquote>
<p>muda.hdr ができる。出力は問答無用で HDR ファイル?なんて漢仕様(涙</p>
<p>3Deliht についている hdri2tif でも読めない。うむむ。。。</p>
<p><strong>とりあえずドキュメントでも読むか</strong><br />
lucille のドキュメントは <a href="http://sphinx.pocoo.org/">SPHINX</a> というものを使っているみたいです。doxygen みたいなもの? Python の easy_install というものでサクッとインストール。</p>
<blockquote><p> &gt;sudo easy_install sphinx</p></blockquote>
<p>その後、doc/userman に移って make。</p>
<blockquote><p> chiyama@lain:~/Projects/OpenSource/syoyo/lucille-git/doc/userman[668]% make<br />
make html<br />
mkdir -p build/html build/doctrees<br />
sphinx-build -b html -d build/doctrees   . build/html<br />
Running Sphinx v0.6.1<br />
loading pickled environment&#8230; done<br />
building [html]: targets for 5 source files that are out of date<br />
updating environment: 0 added, 0 changed, 0 removed<br />
looking for now-outdated files&#8230; none found<br />
preparing documents&#8230; done<br />
Exception occurred: 20%] cgkit<br />
File &#8220;/Library/Python/2.5/site-packages/Jinja2-2.1.1-py2.5-macosx-10.5-i386.egg/jinja2/environment.py&#8221;, line 357, in parse<br />
raise e<br />
TemplateSyntaxError: expected token &#8216;lparen&#8217;, got &#8216;block_end&#8217;<br />
File &#8220;/Users/chiyama/Projects/OpenSource/syoyo/lucille-git/doc/userman/_templates/layout.html&#8221;, line 7<br />
{%- macro relbar %}<br />
The full traceback has been saved in /var/folders/Jo/Jonjry+EHaeb9BGfWDzB2k+++TI/-Tmp-/sphinx-err-VdNq5_.log, if you want to report the issue to the author.<br />
Please also report this if it was a user error, so that a better error message can be provided next time.<br />
Send reports to sphinx-dev@googlegroups.com. Thanks!<br />
make[1]: *** [html] Error 1<br />
make: *** [all] Error 2<br />
chiyama@lain:~/Projects/OpenSource/syoyo/lucille-git/doc/userman[669]%</p></blockquote>
<p><strike>エラー!!ガッデム!!</strike><br />
ドキュメントが生成できない問題は syoyo さんが早速対応して下さって解決しました <img src='http://philosy.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /><br />
ありがとうございました。</p>
<p><strong>とりあえず置いておいて git 環境を作る</strong><br />
すぐに解決しなさそうなので最初の目的に戻る。Web 経由ではなく、コマンドラインから手軽に最新のコードを持ってこれるようにする。</p>
<blockquote><p> <a href="http://d.hatena.ne.jp/ytakano/20081018/github">GitHubを使い始めてみたメモ</a></p></blockquote>
<p>このあたりを参考に、git 環境を作る。これも Fink で一発。</p>
<p>Binary がなくて source から入れることになって小一時間かかってしまった。。。</p>
<p>気をとりなおして環境構築の続き。</p>
<p>git にユーザー名とメールアドレスを登録する。</p>
<blockquote><p> &gt; git config &#8211;global user.name &#8220;Hiroshi Chiyama&#8221;<br />
&gt; git config &#8211;global user.email &#8220;hchiyama@gmail.com&#8221;</p></blockquote>
<p>clone でマスターと同じものを手元に持ってくる。</p>
<blockquote><p> &gt; git clone git://github.com/syoyo/lucille.git<br />
Initialized empty Git repository in /Users/chiyama/Projects/OpenSource/lucille/.git/<br />
remote: Counting objects: 3139, done.<br />
remote: Compressing objects: 100% (1457/1457), done.<br />
remote: Total 3139 (delta 1946), reused 2757 (delta 1626)<br />
Receiving objects: 100% (3139/3139), 4.72 MiB | 384 KiB/s, done.<br />
Resolving deltas: 100% (1946/1946), done.</p></blockquote>
<p>できたので試しにビルドしてみたりレンダリングをしてみたりする。</p>
<p><strong>日々の更新</strong><br />
ここまでこれば常に最新版を手元に持ってくることができるようになる。</p>
<blockquote><p> &gt; git pull</p></blockquote>
<p><strong>まとめ</strong><br />
これでひとまず環境は整いました。ちょっと使った感じ、git は個人で使うにはちょっとオーバースペックすぎるかなぁという気もします。分散開発とかの概念が入ってる分、CVS や Subversion よりも複雑な印象を受けます。慣れれば便利なんでしょうけどね。</p>
<p>今後は lucille の開発動向を追いつつ、いろいろと試してみようかなと思います。今回解決できなかった問題もいくつかあるし。</p>
]]></content:encoded>
			<wfw:commentRss>http://philosy.com/blog/2009/04/11/lucillegithub-%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Blender一人読書会</title>
		<link>http://philosy.com/blog/2009/01/25/blender%e4%b8%80%e4%ba%ba%e8%aa%ad%e6%9b%b8%e4%bc%9a/</link>
		<comments>http://philosy.com/blog/2009/01/25/blender%e4%b8%80%e4%ba%ba%e8%aa%ad%e6%9b%b8%e4%bc%9a/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 14:17:35 +0000</pubDate>
		<dc:creator>chiyama</dc:creator>
				<category><![CDATA[Blender]]></category>
		<category><![CDATA[CG]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://philosy.com/blog/2009/01/25/blender%e4%b8%80%e4%ba%ba%e8%aa%ad%e6%9b%b8%e4%bc%9a/</guid>
		<description><![CDATA[CGソフトの内部構造が知りたかったので、Blenderのソースを読んでみました。ドキュメントを色々探したところ、blender.org &#8211; Architecture がBlenderの内部構造解説の決定版ぽいです。
ここを読めばアナタも Blender Master!! …というわけにはいかないですが、解析のための大きな手掛かりになります。
特にページ下部にあるソースコードの構造図はものすごく参考になります。この手の解説は古すぎて最新版では全く参考にならないことが多いのですが、私が見た限りこの図の通りの構造になっているようです。
あとは、Adding new Space Window のように、機能を追加する際の手順を解説してあるドキュメントを参考にするとデータや関数の相互関係の理解がしやすいです。で、これを読んでわかったんですが Blender って機能拡張しようとするとかなり厄介です。ソースコードのあちこちに依存関係が散らばっていて、それを把握するだけでも一仕事です。最近であればきちんとクラス化して、必要な部分を埋めていくだけで機能拡張できるようなアーキテクチャにするんでしょうがBlenderは定数定義、新関数の定義の嵐で目が潰れそうですwww
このあたりまで目を通せれば当初の目的は大体達成できたので、これぐらいでやめておきます。
Blender は思っていた以上にドキュメントが充実していて、比較的簡単にソースコードを読むことができたのはうれしい誤算でした。オープンソースの統合型3DCGソフトなんて他にないので、とても助かります。
ただ、内部の構造が余りにもスパゲティすぎるのが困りものです。ガイドがないと手も足も出ません(苦笑。
アーキテクチャも柔軟性に欠けるし、コアから書きなおしたほうがいいんじゃないか?というのが正直な感想です。

(追記)Hackers Guideに、実際にコードを書く時の情報がまとまってます。
]]></description>
			<content:encoded><![CDATA[<p>CGソフトの内部構造が知りたかったので、Blenderのソースを読んでみました。ドキュメントを色々探したところ、<a href="http://www.blender.org/development/architecture/">blender.org &#8211; Architecture</a> がBlenderの内部構造解説の決定版ぽいです。</p>
<p>ここを読めばアナタも Blender Master!! …というわけにはいかないですが、解析のための大きな手掛かりになります。<br />
特にページ下部にあるソースコードの構造図はものすごく参考になります。この手の解説は古すぎて最新版では全く参考にならないことが多いのですが、私が見た限りこの図の通りの構造になっているようです。</p>
<p>あとは、<a href="http://www.blender.org/development/coding-guides/coding-tutorials/adding-new-space-window/">Adding new Space Window</a> のように、機能を追加する際の手順を解説してあるドキュメントを参考にするとデータや関数の相互関係の理解がしやすいです。で、これを読んでわかったんですが Blender って機能拡張しようとするとかなり厄介です。ソースコードのあちこちに依存関係が散らばっていて、それを把握するだけでも一仕事です。最近であればきちんとクラス化して、必要な部分を埋めていくだけで機能拡張できるようなアーキテクチャにするんでしょうがBlenderは定数定義、新関数の定義の嵐で目が潰れそうですwww</p>
<p>このあたりまで目を通せれば当初の目的は大体達成できたので、これぐらいでやめておきます。</p>
<p>Blender は思っていた以上にドキュメントが充実していて、比較的簡単にソースコードを読むことができたのはうれしい誤算でした。オープンソースの統合型3DCGソフトなんて他にないので、とても助かります。</p>
<p>ただ、内部の構造が余りにもスパゲティすぎるのが困りものです。ガイドがないと手も足も出ません(苦笑。<br />
アーキテクチャも柔軟性に欠けるし、コアから書きなおしたほうがいいんじゃないか?というのが正直な感想です。</p>
<hr width="50%"/>
(追記)<a href="http://wiki.blender.org/index.php/Hackers_Guide">Hackers Guide</a>に、実際にコードを書く時の情報がまとまってます。</p>
]]></content:encoded>
			<wfw:commentRss>http://philosy.com/blog/2009/01/25/blender%e4%b8%80%e4%ba%ba%e8%aa%ad%e6%9b%b8%e4%bc%9a/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Study of Graph Programming</title>
		<link>http://philosy.com/blog/2009/01/20/study-of-graph-programming/</link>
		<comments>http://philosy.com/blog/2009/01/20/study-of-graph-programming/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 16:33:39 +0000</pubDate>
		<dc:creator>chiyama</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[コンピュータ]]></category>

		<guid isPermaLink="false">http://philosy.com/blog/2009/01/20/study-of-graph-programming/</guid>
		<description><![CDATA[週末に手をつけていたグラフ作成・描画プログラムがとりあえず動いた。
データ部分はちゃんと作ったのだけれども、描画部分がものすごいヤッツケなのでいろいろと直さないといけない。

YouTube にアップしたら、映像がジャギジャギで何が何だかわからなくなってる(涙。アップロード方法ももうちょっと研究しないと。
]]></description>
			<content:encoded><![CDATA[<p>週末に手をつけていたグラフ作成・描画プログラムがとりあえず動いた。<br />
データ部分はちゃんと作ったのだけれども、描画部分がものすごいヤッツケなのでいろいろと直さないといけない。</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/nJLFs5sX3uk&#038;hl=ja&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/nJLFs5sX3uk&#038;hl=ja&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>YouTube にアップしたら、映像がジャギジャギで何が何だかわからなくなってる(涙。アップロード方法ももうちょっと研究しないと。</p>
]]></content:encoded>
			<wfw:commentRss>http://philosy.com/blog/2009/01/20/study-of-graph-programming/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
