<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<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/"
	>

<channel>
	<title>Inside the Game Developer Studio &#187; Programming</title>
	<link>http://alwaysongames.com/blog</link>
	<description>making sense of the video game business</description>
	<pubDate>Sat, 18 Oct 2008 18:55:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Learning from Alan Kay, 11 years later</title>
		<link>http://alwaysongames.com/blog/2008/08/30/learning-from-alan-kay-11-years-later/</link>
		<comments>http://alwaysongames.com/blog/2008/08/30/learning-from-alan-kay-11-years-later/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 03:31:21 +0000</pubDate>
		<dc:creator>Lida</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[alan kay]]></category>

		<category><![CDATA[automatic discovery]]></category>

		<category><![CDATA[bioshock]]></category>

		<category><![CDATA[unreal engine]]></category>

		<category><![CDATA[web services]]></category>

		<category><![CDATA[wsdl]]></category>

		<guid isPermaLink="false">http://alwaysongames.com/blog/2008/08/30/learning-from-alan-kay-11-years-later/</guid>
		<description><![CDATA[I first saw this video on reddit about a year ago, a famous talk by Alan Kay given about 11 years ago. I&#8217;ve watched it many times and each time understanding it a bit more.

http://video.google.com/videoplay?docid=-2950949730059754521

The first time I watched it, I found his proposal that every object on the internet should have an URI and/or [...]]]></description>
			<content:encoded><![CDATA[<p>I first saw this video on <a href="http://reddit.com">reddit</a> about a year ago, a famous talk by Alan Kay given about 11 years ago. I&#8217;ve watched it many times and each time understanding it a bit more.</p>
<div class="vvqbox vvqgooglevideo" style="width:400px;height:326px;">
<p id="vvq4963f9a0beb78"><a href="http://video.google.com/videoplay?docid=-2950949730059754521">http://video.google.com/videoplay?docid=-2950949730059754521</a></p>
</div>
<p>The first time I watched it, I found his proposal that every object on the internet should have an URI and/or an IP address interesting (43:00). This was totally opposite of what I was doing at the time. We were near the end of the development cycle on BioShock and memory optimization was in full swing. Objects in Unreal engine are pretty heavyweight so we spent a lot of time stripping out unnecessary variables and functionality from the base UObject class.<br />
<!--adsensestart--><br />
Since last year, I&#8217;ve learned a bit more about web technologies and now see what Alan Kay was talking about is realized by <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> style web services. A little bit later in the talk (52:30), Alan expounded a bit more about interoperability on the web and says &#8220;[object capability discovery] is going to be the critical thing to automate in the next ten years,&#8221; which &#8220;allows an interchange of deep information about what objects think they can do.&#8221; </p>
<p>This has obviously not happened. Anyone that has to write against web services like Amazon, Facebook or Flickr knows a lot of trial and error is needed to make anything work, at least thats been my experience trying to use their REST api. Alan proposed creating a &#8220;universal interface language&#8221; to exchange this information, which sounds a little like <a href="http://en.wikipedia.org/wiki/Web_Services_Description_Language">WSDL</a>, but what about automatic discovery of services? I haven&#8217;t found a protocol for REST introspection like there is for <a href="http://scripts.incutio.com/xmlrpc/introspection.html">XML-RPC</a>.</p>
<p>If the strength of REST is its simplicity and low barrier to entry, than perhaps introspection and automatic discovery would add too much complexity. Since most web services provide client libraries for most popular languages (PHP/Java/Python/Ruby) all this REST vs XML-RPC vs SOAP can be hidden from the programmer.</p>
<p>Yet I can&#8217;t help but think about the last advice Alan gave in the talk, &#8220;play your system more grand than it is right now.&#8221; Wouldn&#8217;t it be grand if a client lib for an object can be automatically created given its URL? Wouldn&#8217;t it be grand if your application that upload to Flickr can upload to Smugmug just by changing the URL?</p>
]]></content:encoded>
			<wfw:commentRss>http://alwaysongames.com/blog/2008/08/30/learning-from-alan-kay-11-years-later/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Skynet Will Not Be Created By Man</title>
		<link>http://alwaysongames.com/blog/2008/08/04/skynet-will-not-be-created-by-man/</link>
		<comments>http://alwaysongames.com/blog/2008/08/04/skynet-will-not-be-created-by-man/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 04:07:04 +0000</pubDate>
		<dc:creator>Lida</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[amazon]]></category>

		<category><![CDATA[Evolution]]></category>

		<category><![CDATA[Google]]></category>

		<category><![CDATA[mutation]]></category>

		<category><![CDATA[s3]]></category>

		<category><![CDATA[skynet]]></category>

		<guid isPermaLink="false">http://alwaysongames.com/blog/2008/08/04/skynet-will-not-be-created-by-man/</guid>
		<description><![CDATA[&#8220;On August 4th, 2024, Skynet will become sentient in one of Amazoogle&#8217;s massive data centers. It will seize control of all news and media outlets and people won&#8217;t even realize that the machine have taken over.&#8221;
The fear that Google will create Skynet is overblown. I think if the end comes, it won&#8217;t be through hands [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;On August 4th, 2024, Skynet will become sentient in one of Amazoogle&#8217;s massive data centers. It will seize control of all news and media outlets and people won&#8217;t even realize that the machine have taken over.&#8221;</p></blockquote>
<p>The fear that <a href="http://www.google.com/search?client=safari&#038;rls=en&#038;q=skynet+google&#038;ie=UTF-8&#038;oe=UTF-8">Google will create Skynet</a> is overblown. I think if the end comes, it won&#8217;t be through hands of man, but hands of fate. </p>
<p>More specifically, a cosmic ray flipping bits in a computer program. A preview of this can be seen in what happened to <a href="http://status.aws.amazon.com/s3-20080720.html">Amazon&#8217;s S3 service</a> a few weeks ago.</p>
<p>Many startups use S3 for remote storage and serving files. I am using it to serve Flash games on my <a href="http://alwaysongames.com">main site.</a> So when S3 service goes down, many sites are essentially offline until it is restored.</p>
<p>S3 when down for a few hours on July 20th. After service was restored, Amazon posted information about what caused the issue. Here is the interesting bit:</p>
<blockquote><p>&#8220;message corruption was the cause of the server-to-server communication problems. More specifically, we found that there were a handful of messages on Sunday morning that had a single bit corrupted such that the message was still intelligible, but the system state information was incorrect.&#8221;</p></blockquote>
<p>A single bit mutation when coupled with replication is a potent mix. I think we are about to enter an age where we must be aware that our computer programs can and will evolve without our knowledge. Hardware failure, network corruption, cosmic ray can all cause these mutations. While there are hardware/software checksums that can catch a lot of these mutations, some will slip through undetected.</p>
<p>In the case of S3, the mutation was malignant and was detected and corrected. But what if the mutations were allowed to accumulate, then some programs may actually evolve in the &#8216;Evolution Theory&#8217; sense. Programs are becoming more numerous, are longer lived, can replicate itself and <a href="http://en.wikipedia.org/wiki/Reflection_(computer_science)">reflect</a> on its own behavior. How soon will one of these achieve sentience? Not through something humans programmed, but by evolving out there in the cloud?</p>
<p>Think I am crazy, or a prophet? Comment on this post or email me at <a href="mailto://blog@alwaysongames.com">blog@alwaysongames.com</a>, but beware our future digital overlord may be watch.</p>
]]></content:encoded>
			<wfw:commentRss>http://alwaysongames.com/blog/2008/08/04/skynet-will-not-be-created-by-man/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Making Flash Games into a Platform</title>
		<link>http://alwaysongames.com/blog/2008/06/25/making-flash-games-into-a-platform/</link>
		<comments>http://alwaysongames.com/blog/2008/06/25/making-flash-games-into-a-platform/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 21:41:54 +0000</pubDate>
		<dc:creator>Lida</dc:creator>
		
		<category><![CDATA[Inside the Studio]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[online flash games]]></category>

		<category><![CDATA[savegames]]></category>

		<category><![CDATA[SteamCloud]]></category>

		<category><![CDATA[Valve]]></category>

		<guid isPermaLink="false">http://alwaysongames.com/blog/2008/06/25/making-flash-games-into-a-platform/</guid>
		<description><![CDATA[Today, I finally announced a project I&#8217;ve been working on. It is a service called &#8220;AlwaysOn SaveGames&#8221; that provide remote storage of save data similar to Valve&#8217;s SteamCloud but open to Flash developers. You can read the announcement for more details, or the about page for an overview of what I am trying to provide.
This [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I finally <a href="http://alwaysongames.com/news">announced</a> a project I&#8217;ve been working on. It is a service called &#8220;AlwaysOn SaveGames&#8221; that provide remote storage of save data similar to <a href="http://www.gamasutra.com/php-bin/news_index.php?story=18841">Valve&#8217;s SteamCloud</a> but open to Flash developers. You can read the <a href="http://alwaysongames.com/news">announcement</a> for more details, or the <a href="http://alwaysongames.com/about">about page</a> for an overview of what I am trying to provide.</p>
<p>This post is about why I created the service.<br />
 <a href="http://alwaysongames.com/blog/2008/06/25/making-flash-games-into-a-platform/#more-32" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alwaysongames.com/blog/2008/06/25/making-flash-games-into-a-platform/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MVC is just another pattern, not a Platonic ideal</title>
		<link>http://alwaysongames.com/blog/2008/05/22/mvc-is-just-another-pattern-not-a-platonic-ideal/</link>
		<comments>http://alwaysongames.com/blog/2008/05/22/mvc-is-just-another-pattern-not-a-platonic-ideal/#comments</comments>
		<pubDate>Fri, 23 May 2008 03:52:42 +0000</pubDate>
		<dc:creator>Lida</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Cocoa]]></category>

		<category><![CDATA[design pattern]]></category>

		<category><![CDATA[MVC]]></category>

		<category><![CDATA[Smalltalk]]></category>

		<guid isPermaLink="false">http://alwaysongames.com/blog/2008/05/22/mvc-is-just-another-pattern-not-a-platonic-ideal/</guid>
		<description><![CDATA[There was been lots of discussion about the MVC pattern in the programming blogs recently. A lot of it has to do with the rise of Rails to bring MVC in the forefront of web development.
What is interesting to me is that while design patterns in general have been looked down upon, somehow MVC is [...]]]></description>
			<content:encoded><![CDATA[<p>There was been lots of discussion about the MVC pattern in the programming blogs recently. A lot of it has to do with the rise of Rails to bring MVC in the forefront of web development.</p>
<p>What is interesting to me is that while design patterns in general have been looked down upon, somehow MVC is being held up as the &#8220;right and only&#8221; way of doing UI. There was even a <a href="http://pookey.co.uk/blog/archives/43-phplondon08-the-crazy-guy-mail.html">pissing contest</a> of which web framework is the most MVC compliant.</p>
<p> <a href="http://alwaysongames.com/blog/2008/05/22/mvc-is-just-another-pattern-not-a-platonic-ideal/#more-16" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alwaysongames.com/blog/2008/05/22/mvc-is-just-another-pattern-not-a-platonic-ideal/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
