<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>When the rain falls silver &#187; プログラミング</title>
	<atom:link href="http://www.fortunerinn.org/blog/tag/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fortunerinn.org/blog</link>
	<description></description>
	<lastBuildDate>Wed, 01 Feb 2012 15:29:07 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/tag/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/feed" />
		<item>
		<title>意図的に手を出さないのは難しい</title>
		<link>http://www.fortunerinn.org/blog/2011/07/4763</link>
		<comments>http://www.fortunerinn.org/blog/2011/07/4763#comments</comments>
		<pubDate>Fri, 29 Jul 2011 13:36:50 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=4763</guid>
		<description><![CDATA[最近、設計レビューなどをする機会があるのだが、勘所をわかってもらうのが中々に難しい。 高次設計なのに、やけに具体的に書きすぎてしまったり、酷いといきなりchar*などが飛び出して実装を意識しすぎたり。とにかく目的を飛ばして手順だけ書く感じ。「何故その処理なのか」が無い。 そりゃあ実装寸前まで考えてからやれる規模ですし、私もそうしてますけれども、ソフトウェア工学的にはあくまで高次なわけで…。実装フリーな抽象化した記述というのが、難しい所なのだろう。 自分で手を出せる規模ではないので、レビューに徹するしかないのが良いのか悪いのか。こんな所で趣味や大学での余分な履修が役にたっています。余技程度とはいえ、好みのままにあれやこれやに手を出しておいて本当によかった。]]></description>
			<content:encoded><![CDATA[				<p>最近、設計レビューなどをする機会があるのだが、勘所をわかってもらうのが中々に難しい。</p>
				<p>高次設計なのに、やけに具体的に書きすぎてしまったり、酷いといきなりchar*などが飛び出して実装を意識しすぎたり。とにかく目的を飛ばして手順だけ書く感じ。「何故その処理なのか」が無い。</p>
				<p>そりゃあ実装寸前まで考えてからやれる規模ですし、私もそうしてますけれども、ソフトウェア工学的にはあくまで高次なわけで…。実装フリーな抽象化した記述というのが、難しい所なのだろう。</p>
				<p>自分で手を出せる規模ではないので、レビューに徹するしかないのが良いのか悪いのか。こんな所で趣味や大学での余分な履修が役にたっています。余技程度とはいえ、好みのままにあれやこれやに手を出しておいて本当によかった。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2011/07/4763/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2011/07/4763" />
	</item>
		<item>
		<title>プログラミング言語 Ruby が JIS 規格に</title>
		<link>http://www.fortunerinn.org/blog/2011/03/4327</link>
		<comments>http://www.fortunerinn.org/blog/2011/03/4327#comments</comments>
		<pubDate>Tue, 22 Mar 2011 00:42:31 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=4327</guid>
		<description><![CDATA[プログラム言語RubyのJIS規格（JIS X 3017）制定について RubySpecとのからみはどうなっているのだろう。]]></description>
			<content:encoded><![CDATA[				<p><a href="http://www.ipa.go.jp/about/press/20110322.html">プログラム言語RubyのJIS規格（JIS X 3017）制定について</a></p>
				<p>RubySpecとのからみはどうなっているのだろう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2011/03/4327/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2011/03/4327" />
	</item>
		<item>
		<title>ZenCoding</title>
		<link>http://www.fortunerinn.org/blog/2010/10/3741</link>
		<comments>http://www.fortunerinn.org/blog/2010/10/3741#comments</comments>
		<pubDate>Mon, 18 Oct 2010 04:16:45 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=3741</guid>
		<description><![CDATA[EmacsWiki: Zen Codingから、Carbon EmacsにZenCodingを導入してみる。 簡単に言えばHTMLをとことん省略記法で書こうというもの。ただし、難点として少なくともEmacs版(非公式)は行単位なので、inlineで書くのには役に立たない。 色々なエディタに組込めるようなので、マークアップ効率化 &#8211; zen-codingでコーディングを倍速にあたりを見るとわかりやすいかも。]]></description>
			<content:encoded><![CDATA[				<p><a href="http://www.emacswiki.org/emacs/ZenCoding">EmacsWiki: Zen Coding</a>から、Carbon EmacsにZenCodingを導入してみる。</p>
				<p>簡単に言えばHTMLをとことん省略記法で書こうというもの。ただし、難点として少なくともEmacs版(非公式)は行単位なので、inlineで書くのには役に立たない。</p>
				<p>色々なエディタに組込めるようなので、<a href="http://techblog.yahoo.co.jp/cat207/web_1/_zencoding/">マークアップ効率化 &#8211; zen-codingでコーディングを倍速に</a>あたりを見るとわかりやすいかも。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2010/10/3741/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2010/10/3741" />
	</item>
		<item>
		<title>Hadoopに興味はあるんだけど</title>
		<link>http://www.fortunerinn.org/blog/2010/09/3649</link>
		<comments>http://www.fortunerinn.org/blog/2010/09/3649#comments</comments>
		<pubDate>Sun, 19 Sep 2010 10:37:07 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=3649</guid>
		<description><![CDATA[オープンソースカンファレンスのHadoop講演資料を紹介します (Yahoo! JAPAN Tech Blog) 上司がいじっているのを見て、気になっている技術の一つ。基本的な仕組みはMap/Reduceということで理解はできるのだが、いざ実際に使おうとするとどういうパターンで使えばいいのかわからず、準備するのが面倒そうというのもあって手を出していない。 作っているとSQLならばこんな風[1]に、Key-Value系ならこんな風[2]に、というのはある程度見えたので、これも実例を試してみればいいのだろう。今一適当な題材が決まらないのが難点だ。 要するに即時性なし、大規模、分散可能なデータであればいいんだよな。攻撃パケットを適当に投げて、傾向分析でもすればいいのかしらん。…やっぱり使ってみないと勘所がよくわからなさそうだ。バッチで使ってもいいので、適当にブラウザゲームあたりをでっちあげて解析するのもありか。マッチメーカー系とか自分でもしてみたいし。 何にせよ、ある程度処理オーダーの壁を超えられるので、少しでも手を出しておきたい技術ではある。 …とりあえず、どれだけ資源を費せば最低限できそうなのかから調べてみるか。 SQLを通じてDB直や、ORマッピングを介したデータ操作。Core DataなどのCocoa風味。あるいは試していないがmemcached系?]]></description>
			<content:encoded><![CDATA[				<p><a href="http://techblog.yahoo.co.jp/cat206/post_29/">オープンソースカンファレンスのHadoop講演資料を紹介します (Yahoo! JAPAN Tech Blog)</a></p>
				<p>上司がいじっているのを見て、気になっている技術の一つ。基本的な仕組みはMap/Reduceということで理解はできるのだが、いざ実際に使おうとするとどういうパターンで使えばいいのかわからず、準備するのが面倒そうというのもあって手を出していない。</p>
				<p>作っているとSQLならばこんな風<sup>[<a href="http://www.fortunerinn.org/blog/2010/09/3649#footnote_0_3649" id="identifier_0_3649" class="footnote-link footnote-identifier-link" title="SQLを通じてDB直や、ORマッピングを介したデータ操作。">1</a>]</sup>に、Key-Value系ならこんな風<sup>[<a href="http://www.fortunerinn.org/blog/2010/09/3649#footnote_1_3649" id="identifier_1_3649" class="footnote-link footnote-identifier-link" title="Core DataなどのCocoa風味。あるいは試していないがmemcached系?">2</a>]</sup>に、というのはある程度見えたので、これも実例を試してみればいいのだろう。今一適当な題材が決まらないのが難点だ。</p>
				<p>要するに即時性なし、大規模、分散可能なデータであればいいんだよな。攻撃パケットを適当に投げて、傾向分析でもすればいいのかしらん。…やっぱり使ってみないと勘所がよくわからなさそうだ。バッチで使ってもいいので、適当にブラウザゲームあたりをでっちあげて解析するのもありか。マッチメーカー系とか自分でもしてみたいし。</p>
				<p>何にせよ、ある程度処理オーダーの壁を超えられるので、少しでも手を出しておきたい技術ではある。</p>
				<p>…とりあえず、どれだけ資源を費せば最低限できそうなのかから調べてみるか。</p>
				<ol class="footnotes"><li id="footnote_0_3649" class="footnote">SQLを通じてDB直や、ORマッピングを介したデータ操作。</li><li id="footnote_1_3649" class="footnote">Core DataなどのCocoa風味。あるいは試していないがmemcached系?</li></ol>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2010/09/3649/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2010/09/3649" />
	</item>
		<item>
		<title>Quartz Comporserで遊んでみる</title>
		<link>http://www.fortunerinn.org/blog/2010/07/3435</link>
		<comments>http://www.fortunerinn.org/blog/2010/07/3435#comments</comments>
		<pubDate>Mon, 12 Jul 2010 14:15:46 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=3435</guid>
		<description><![CDATA[Macで５分でARアプリを作る方法(AR without programming in 5min)を見ていたら面白そうだったので、いじって遊んでみる。 簡単に言えばパッチを組みあわせて作るビジュアルプログラミング。 2Dでも3Dでも適当に貼りつけて動かせるし、なかなかに楽しい。並列操作が得意な分、シーケンス操作が難しそうだが、これはマクロでもつくれというものなのだろう。 わけのわからないパッチが山ほどあるので、もうちょっと触ってみるつもり。]]></description>
			<content:encoded><![CDATA[				<p><a href="http://www.monogocoro.jp/2010/05/25/ar-without-programming-in-5min.html">Macで５分でARアプリを作る方法(AR without programming in 5min)</a>を見ていたら面白そうだったので、いじって遊んでみる。</p>
				<p>簡単に言えばパッチを組みあわせて作るビジュアルプログラミング。</p>
				<p>2Dでも3Dでも適当に貼りつけて動かせるし、なかなかに楽しい。並列操作が得意な分、シーケンス操作が難しそうだが、これはマクロでもつくれというものなのだろう。</p>
				<p>わけのわからないパッチが山ほどあるので、もうちょっと触ってみるつもり。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2010/07/3435/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2010/07/3435" />
	</item>
		<item>
		<title>きょ、今日はこのへんにしといてやる</title>
		<link>http://www.fortunerinn.org/blog/2010/07/3414</link>
		<comments>http://www.fortunerinn.org/blog/2010/07/3414#comments</comments>
		<pubDate>Wed, 07 Jul 2010 01:18:00 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=3414</guid>
		<description><![CDATA[調子が悪かったので、宴会に行かずさっさと帰宅。 Twitterの発言から、Mecabを試してみようとfinkでインストール。 試してみると、見事に文字化け。どうやら、標準だとEUC-JPで全部処理しているらしい。仕方がないので、本体と辞書をUTF8で作りなおしてインストール。すると、今度はrubyバインディングが動かなくなってしまった。どこか妙なライブラリをひろってしまったんだろうか。 面倒そうなので、一端ここまでで中断。なんというか、暑さで気力が続かない。]]></description>
			<content:encoded><![CDATA[				<p>調子が悪かったので、宴会に行かずさっさと帰宅。</p>
				<p>Twitterの発言から、Mecabを試してみようとfinkでインストール。</p>
				<p>試してみると、見事に文字化け。どうやら、標準だとEUC-JPで全部処理しているらしい。仕方がないので、本体と辞書をUTF8で作りなおしてインストール。すると、今度はrubyバインディングが動かなくなってしまった。どこか妙なライブラリをひろってしまったんだろうか。</p>
				<p>面倒そうなので、一端ここまでで中断。なんというか、暑さで気力が続かない。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2010/07/3414/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2010/07/3414" />
	</item>
		<item>
		<title>頭の体操</title>
		<link>http://www.fortunerinn.org/blog/2010/05/3211</link>
		<comments>http://www.fortunerinn.org/blog/2010/05/3211#comments</comments>
		<pubDate>Sat, 01 May 2010 05:47:12 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[ゲーム]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=3211</guid>
		<description><![CDATA[アイドレスの大元はプリミティブな仕様の裏で物凄く面倒なことをしているようだ。MVCのうち、Mだけが突出している正直表がRoRである必要性を感じないが(1セッションのコストを考えると特に)バックエンドや管理画面等で便利なことも多いのだろう。 とにかく、この過去との互換性を背負った複雑な書式にあいまいな記載のデータをつっこんで、きちんとした結果を出す、そのプロセスの複雑さは想像することすらできない。パーザの仕様を見てみたい。 その一方で不思議なのが、何故書式がｉ言語ではないのか。同言語がゲームを記述する言語であり、ゲーム規則を規定する言語ならば、何故その言語ではないのか。初期に基礎となる規定を精査したけれど、それ意外の部分でも言語として成立しない理由があるように見える。 プログラムの組める人間からの視点だと「公式データが書式違反ばかりだった」につきる。イレギュラーをお手本にして厳密な規定はできない。また編集支援の無い記号山盛りの言語は辛い、ということ。リファレンスパーザが初期にあれば良かったのだろうが、公式データが入らないのにねえ…。 後から色々成立した時には、独自の書式があり、それにあわせるのがプレイヤーも楽だというデ・ファクトの強みが発揮されている。結果、規定を定義するのではなく、データを定義する言語にダウングレードしているように見える。特殊行動はデータ持ちなのである意味ドミニオン的なデザイン。 もっとも、データの大規模修正や一斉転換(今回の大元もその一つ)が行われることはあるので、将来的にはコストが見合えば一つの言語に集結し、メタ規定でメタメタ規定で作り、ユーザがそれにメタメタメタ規定で答えるといった風になるのかもしれない。十分なIT支援が前提だけど。 その上で、今回の大元、私ならこうするというデザイン。現状のプレイヤーから導かれた解であるし、基本的なVCはこのままとする。 まず、内部的にｉ言語で冗長表現の無い厳密解ができているとして、入力をパースして、中間言語のｉ言語に変換する。そして、バイナリ表現に変換した上でオブジェクトごとにハッシュでidをふり、データベース(SQLでもNoSQLでも)に保存する。ここでKEY-VALUEにしておけば、後でmemcachedにでも何にでも乗せやすい。 中間言語に変換するのはフロントエンドを適時交換できるようにするためである。対外的に利用できるｉ言語を内部インタフェースとしておけば、人間ご利用であろうがAPI経由の利用であろうが対応のための変更は少なくすむ。 データを保存するのはキャッシュとして再利用するためである。利用形態からも、突発的に出るデータは少なく同じデータの試行錯誤が多いと想定でき、データの局所性が十分に期待できる。 組み合わせについては、まあ頑張る。流石に深く見ていないのでここに関しては断言できない。おそらくは言語におけるevalにようにややこしく、山のような特殊処理が入るのだろう。 出力についてはｉ言語で出す。その上で、APIなりウェブなりテキストなりに変換する。 …やっぱり肝心要の部分がややこしすぎる。本当によく大元ではまとめたものだ。そして普通に開発すると、まず顧客からの要求仕様が足りなくて、ほぼ確実に設計者以降が泣く。]]></description>
			<content:encoded><![CDATA[				<p>アイドレスの大元はプリミティブな仕様の裏で物凄く面倒なことをしているようだ。MVCのうち、Mだけが突出している正直表がRoRである必要性を感じないが(1セッションのコストを考えると特に)バックエンドや管理画面等で便利なことも多いのだろう。</p>
				<p>とにかく、この過去との互換性を背負った複雑な書式にあいまいな記載のデータをつっこんで、きちんとした結果を出す、そのプロセスの複雑さは想像することすらできない。パーザの仕様を見てみたい。<br />
				<span id="more-3211"></span><br />
				その一方で不思議なのが、何故書式がｉ言語ではないのか。同言語がゲームを記述する言語であり、ゲーム規則を規定する言語ならば、何故その言語ではないのか。初期に基礎となる規定を精査したけれど、それ意外の部分でも言語として成立しない理由があるように見える。</p>
				<p>プログラムの組める人間からの視点だと「公式データが書式違反ばかりだった」につきる。イレギュラーをお手本にして厳密な規定はできない。また編集支援の無い記号山盛りの言語は辛い、ということ。リファレンスパーザが初期にあれば良かったのだろうが、公式データが入らないのにねえ…。</p>
				<p>後から色々成立した時には、独自の書式があり、それにあわせるのがプレイヤーも楽だというデ・ファクトの強みが発揮されている。結果、規定を定義するのではなく、データを定義する言語にダウングレードしているように見える。特殊行動はデータ持ちなのである意味ドミニオン的なデザイン。</p>
				<p>もっとも、データの大規模修正や一斉転換(今回の大元もその一つ)が行われることはあるので、将来的にはコストが見合えば一つの言語に集結し、メタ規定でメタメタ規定で作り、ユーザがそれにメタメタメタ規定で答えるといった風になるのかもしれない。十分なIT支援が前提だけど。</p>
				<p>その上で、今回の大元、私ならこうするというデザイン。現状のプレイヤーから導かれた解であるし、基本的なVCはこのままとする。</p>
				<p>まず、内部的にｉ言語で冗長表現の無い厳密解ができているとして、入力をパースして、中間言語のｉ言語に変換する。そして、バイナリ表現に変換した上でオブジェクトごとにハッシュでidをふり、データベース(SQLでもNoSQLでも)に保存する。ここでKEY-VALUEにしておけば、後でmemcachedにでも何にでも乗せやすい。</p>
				<p>中間言語に変換するのはフロントエンドを適時交換できるようにするためである。対外的に利用できるｉ言語を内部インタフェースとしておけば、人間ご利用であろうがAPI経由の利用であろうが対応のための変更は少なくすむ。</p>
				<p>データを保存するのはキャッシュとして再利用するためである。利用形態からも、突発的に出るデータは少なく同じデータの試行錯誤が多いと想定でき、データの局所性が十分に期待できる。</p>
				<p>組み合わせについては、まあ頑張る。流石に深く見ていないのでここに関しては断言できない。おそらくは言語におけるevalにようにややこしく、山のような特殊処理が入るのだろう。</p>
				<p>出力についてはｉ言語で出す。その上で、APIなりウェブなりテキストなりに変換する。</p>
				<p>…やっぱり肝心要の部分がややこしすぎる。本当によく大元ではまとめたものだ。そして普通に開発すると、まず顧客からの要求仕様が足りなくて、ほぼ確実に設計者以降が泣く。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2010/05/3211/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2010/05/3211" />
	</item>
		<item>
		<title>最近のゲームAI</title>
		<link>http://www.fortunerinn.org/blog/2010/04/3187</link>
		<comments>http://www.fortunerinn.org/blog/2010/04/3187#comments</comments>
		<pubDate>Sat, 24 Apr 2010 13:54:51 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[ゲーム]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[科学]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=3187</guid>
		<description><![CDATA[GDC2010 報告会の資料 「Killzone 2」「The Sims 3」のAIから辿って、デジタルコンテンツ制作の 先端技術応用に関する調査研究報告書 2008年度をざっと読んでみる。 画像に音楽AIに職業状況等多彩な情報が盛り込まれたいたが、一番の興味を引いたところは矢張りAI。近年のAIは知覚系-体-思考を完全に分離した上で、対応する状況の粒度を変えた階層構造を持ち、メタAIやメタメタAIが連携してタスクをこなす構造がスタンダードらしい。 それで思い出したのがGPMや絢爛舞踏祭なのだが、言及が無かったのは資料の開示があるかどうかが大きいのかな。絢爛は一応攻略本にAIの概説程度は書いてあったけれども、確か欲求ベースのモデルで、The Simsで示された例に近い構造を持っていたはず。あれは観察していてなかなか愉快なAIっぷりだった。]]></description>
			<content:encoded><![CDATA[				<p><a href="http://blogai.igda.jp/article/36888801.html">GDC2010 報告会の資料 「Killzone 2」「The Sims 3」のAI</a>から辿って、<a href="http://www.dcaj.org/report/">デジタルコンテンツ制作の 先端技術応用に関する調査研究報告書 2008年度</a>をざっと読んでみる。</p>
				<p>画像に音楽AIに職業状況等多彩な情報が盛り込まれたいたが、一番の興味を引いたところは矢張りAI。近年のAIは知覚系-体-思考を完全に分離した上で、対応する状況の粒度を変えた階層構造を持ち、メタAIやメタメタAIが連携してタスクをこなす構造がスタンダードらしい。</p>
				<p>それで思い出したのがGPMや絢爛舞踏祭なのだが、言及が無かったのは資料の開示があるかどうかが大きいのかな。絢爛は一応攻略本にAIの概説程度は書いてあったけれども、確か欲求ベースのモデルで、The Simsで示された例に近い構造を持っていたはず。あれは観察していてなかなか愉快なAIっぷりだった。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2010/04/3187/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2010/04/3187" />
	</item>
		<item>
		<title>iPad/iPhoneは可搬型マイコン? それとも家電?</title>
		<link>http://www.fortunerinn.org/blog/2010/04/3175</link>
		<comments>http://www.fortunerinn.org/blog/2010/04/3175#comments</comments>
		<pubDate>Thu, 22 Apr 2010 00:19:21 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=3175</guid>
		<description><![CDATA[今回のプログラム縛りについてのMeCab作者の意見を読んだ。 きまぐれ日記: MeCabがiPhone,OSXに載っていると言うのは止めようと思う 違和感が何か見えてきた気がする。iPhoneは家電であって家電でないということかな。これがプログラムの外挿自体が特別な機器であるテレビや冷蔵庫やビデオレコーダ等…例えばApple TV上のガジェットならそう言われなかったのだろう。 携帯電話だとしても言語縛りは別に今まで問題とはなってこなかった。BREWでしか作れないと言われてもそんなものか、ですんでしまう。いわゆる従来からのスマートフォンの系譜にあるバイナリさえあれば言語は何でもいいというのと、今まで解放していたのが制限された、というのが反発しやすい条件になっているのだろう。自由の制限、というのはわかりやすいし。 私自身としては、libc相当から自前で書きおこしているdjb ware的なものを皆が使うと何か不安だよね、という程度の違和感なので、ミドルウェアは何だっていいじゃない、とは思う。一方で、市場が縮小する判断をしてまで安定性を重視したアップルの姿勢もわからなくはない。多分短期的には悪い方向に行くんだろうなあと思いつつ様子見といったところ。]]></description>
			<content:encoded><![CDATA[				<p>今回のプログラム縛りについてのMeCab作者の意見を読んだ。</p>
				<p><a href="http://chasen.org/~taku/blog/archives/2010/04/mecabiphoneosx.html">きまぐれ日記: MeCabがiPhone,OSXに載っていると言うのは止めようと思う</a></p>
				<p>違和感が何か見えてきた気がする。iPhoneは家電であって家電でないということかな。これがプログラムの外挿自体が特別な機器であるテレビや冷蔵庫やビデオレコーダ等…例えばApple TV上のガジェットならそう言われなかったのだろう。 </p>
				<p>携帯電話だとしても言語縛りは別に今まで問題とはなってこなかった。BREWでしか作れないと言われてもそんなものか、ですんでしまう。いわゆる従来からのスマートフォンの系譜にあるバイナリさえあれば言語は何でもいいというのと、今まで解放していたのが制限された、というのが反発しやすい条件になっているのだろう。自由の制限、というのはわかりやすいし。</p>
				<p>私自身としては、libc相当から自前で書きおこしているdjb ware的なものを皆が使うと何か不安だよね、という程度の違和感なので、ミドルウェアは何だっていいじゃない、とは思う。一方で、市場が縮小する判断をしてまで安定性を重視したアップルの姿勢もわからなくはない。多分短期的には悪い方向に行くんだろうなあと思いつつ様子見といったところ。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2010/04/3175/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2010/04/3175" />
	</item>
		<item>
		<title>Objective-C学習中</title>
		<link>http://www.fortunerinn.org/blog/2009/11/2675</link>
		<comments>http://www.fortunerinn.org/blog/2009/11/2675#comments</comments>
		<pubDate>Wed, 18 Nov 2009 14:34:16 +0000</pubDate>
		<dc:creator>silver</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[本]]></category>

		<guid isPermaLink="false">http://www.fortunerinn.org/blog/?p=2675</guid>
		<description><![CDATA[通勤中にヒレガス本を読んで、帰ってから課題の一つである文字列の入力とその文字数を数えるメッセージを出すというのをやってみた。場所でいうと「5.6 チャレンジ」(日本語版の場合p96、英語はp90)。 まずは素直に IBOutlet/IBAction を使うバージョン。NSTextField の outlet を二つ用意して、ボタンの押下を IBAction のメソッドで受ける。ついでに awakeFromNIB メソッドを定義してラベルの初期値を設定してみた。これは課題のページのすぐ前あたりでやっていることなので簡単。 さらに作りなおしてみる。Key-Value コーディングが面白そうだったので、がらっと違う方法で挑戦。 NSString を二つ(テキスト入力用、テキスト出力用)用意して、@property と @synthesize で setter/getter を自動定義。文字列の入力即文字数カウントとしたかったので、IBで入力テキストフィールドのContinuesを有効にして、setter だけ自前で書く。このへんでどハマり。 まず、NSString の更新ってどうなるんだっけ、と延々マニュアルをあさってみたりする。結局 textField = t; と単純なポインタ代入でよかったようだ。本当はその前にt を retainしたりtextField を release したり必要なはずだが、しばらくはメモリ管理は忘れたままでおきたいので、ガーベージコレクションをビルドオプションでつけて逃げる。 そして、あんのじょう値を直接更新したのに更新通知を飛ばしてしまい、willChangeValueKey と didChangeValueKeyに辿りつくまで長々と悩んでしまう。出力側のテキストの更新も少々悩んだが、こちらは self 経由で [self setLengthMessage:msg]; と @synthesize がつくってくれた setter を指定することで逃げた。 なんだかんだで2,3時間かけて課題完了。少しは勘所がわかってきた気がする。 NIBがないとわからないが、一応二番目の課題でつくったクラス AppController.h。 #import @interface AppController : NSObject { NSString [...]]]></description>
			<content:encoded><![CDATA[				<p><a href='http://www.amazon.co.jp/dp/4894714469%3FSubscriptionId%3DAKIAJ3ENPZKLHCVXAPMQ%26tag%3Dsilve0d-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4894714469'><img src='http://ecx.images-amazon.com/images/I/519IIrjtwnL._SL160_.jpg' /></a><a href='http://www.amazon.co.jp/dp/0321503619%3FSubscriptionId%3DAKIAJ3ENPZKLHCVXAPMQ%26tag%3Dsilve0d-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0321503619'><img src='http://ecx.images-amazon.com/images/I/411tvhio6HL._SL160_.jpg' /></a></p>
				<p>通勤中にヒレガス本を読んで、帰ってから課題の一つである文字列の入力とその文字数を数えるメッセージを出すというのをやってみた。場所でいうと「5.6 チャレンジ」(日本語版の場合p96、英語はp90)。</p>
				<p>まずは素直に IBOutlet/IBAction を使うバージョン。NSTextField の outlet を二つ用意して、ボタンの押下を IBAction のメソッドで受ける。ついでに awakeFromNIB メソッドを定義してラベルの初期値を設定してみた。これは課題のページのすぐ前あたりでやっていることなので簡単。</p>
				<p>さらに作りなおしてみる。Key-Value コーディングが面白そうだったので、がらっと違う方法で挑戦。</p>
				<p>NSString を二つ(テキスト入力用、テキスト出力用)用意して、@property と @synthesize で setter/getter を自動定義。文字列の入力即文字数カウントとしたかったので、IBで入力テキストフィールドのContinuesを有効にして、setter だけ自前で書く。このへんでどハマり。</p>
				<p>まず、NSString の更新ってどうなるんだっけ、と延々マニュアルをあさってみたりする。結局 <code>textField = t;</code> と単純なポインタ代入でよかったようだ。本当はその前にt を retainしたりtextField を release したり必要なはずだが、しばらくはメモリ管理は忘れたままでおきたいので、ガーベージコレクションをビルドオプションでつけて逃げる。</p>
				<p>そして、あんのじょう値を直接更新したのに更新通知を飛ばしてしまい、willChangeValueKey と didChangeValueKeyに辿りつくまで長々と悩んでしまう。出力側のテキストの更新も少々悩んだが、こちらは self 経由で <code>[self setLengthMessage:msg];</code> と @synthesize がつくってくれた setter を指定することで逃げた。</p>
				<p>なんだかんだで2,3時間かけて課題完了。少しは勘所がわかってきた気がする。</p>
				<p>NIBがないとわからないが、一応二番目の課題でつくったクラス AppController.h。</p>
				<pre title="AppController.h">
#import <cocoa /Cocoa.h>

@interface AppController : NSObject {
	NSString *textField;
	NSString *lengthMessage;
}
- (id)setTextField:(NSString *)t;
- (int)countLength:(NSString *)t;
@property (readwrite, copy) NSString *lengthMessage;
@property (readonly) NSString *textField;
@end
</cocoa></pre>
				<p>ついでに AppController.m。</p>
				<pre title="AppController.m">
#import "AppController.h"

@implementation AppController
- (id)setTextField:(NSString *)t
{
	// set new textField
	[self willChangeValueForKey:@"textField"];
	textField = t;
	[self didChangeValueForKey:@"textField"];

	NSLog(@"%@ -> %@", textField, t);

	// update length message
	[self countLength: t];

	return self;
}

- (int)countLength:(NSString *)t
{
	NSString *msg;
	int length;

	// make message from textfield's length
	length = textField.length;
	msg = [[NSString alloc] initWithFormat:@"'%@' has %d characters.",
		   textField,
		   length];

	// set value using self-setter(automated)
	[self setLengthMessage:msg];
	NSLog(@"%@", msg);

	return length;
}

@synthesize textField;
@synthesize lengthMessage;
@end
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fortunerinn.org/blog/2009/11/2675/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.fortunerinn.org/blog/2009/11/2675" />
	</item>
	</channel>
</rss>

