<?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"
	>

<channel>
	<title>Makoto Blog</title>
	<atom:link href="http://www.makzan.net/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.makzan.net/blog</link>
	<description>a blog for Multimedia, Web design and Flash Games</description>
	<pubDate>Sat, 09 Aug 2008 05:16:25 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>HOW-TO: Make your own game portal with MochiAds games - Step 1</title>
		<link>http://www.makzan.net/blog/?p=25</link>
		<comments>http://www.makzan.net/blog/?p=25#comments</comments>
		<pubDate>Sat, 09 Aug 2008 05:07:33 +0000</pubDate>
		<dc:creator>makzan</dc:creator>
		
		<category><![CDATA[Flash]]></category>

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

		<category><![CDATA[How-to]]></category>

		<category><![CDATA[mochiads monetize flash game portal make]]></category>

		<guid isPermaLink="false">http://www.makzan.net/blog/?p=25</guid>
		<description><![CDATA[This article will guide you to make a flash game portal by using games from MochiAds. You are able to kick off a game portal with thousands of flash games and get new games every day. You are also able to get revenue share by hosting the flash games.]]></description>
			<content:encoded><![CDATA[<p>You may see that I am getting some cool flash games on the <a href="http://www.makzan.net/blog/games/">Games</a> page. This is one of my experiment on fetching games from <a href="https://www.mochiads.com/r/4bb02a896cab82ad">MochiAds</a>. I am now running an facebook application called <a href="http://apps.new.facebook.com/mini_games/">"Mini Games Collection"</a> with similar method.</p>
<p><br><br />
<strong>What is MochiAds Games?</strong><br />
<a href="https://www.mochiads.com/r/4bb02a896cab82ad">MochiAds</a> is an advertising network for flash games. Being a developer, you can make your flash games and put an ads on the loading scene. Then you will get your revenue every time the player click the ads.</p>
<p>Being a publisher, like who make the game portal with <a href="https://www.mochiads.com/r/4bb02a896cab82ad">MochiAds</a> games. They will give you 10% revenue share every time player click the ads. Yes, you host other developers' flash games and you will get revenue. You just need to sign up at <a href="https://www.mochiads.com/r/4bb02a896cab82ad">MochiAds</a> and download the game it provides and host it on your webpage, blog, wordpress, facebook etc.</p>
<p><br><br />
<strong>Read the games feed</strong><br />
To make a game portal, you need to become a publisher. After you sign up, you will be able to access to the <a href="https://www.mochiads.com/r/4bb02a896cab82ad">MochiAds</a> Feed. You can choose both JSON or XML. I will use JSON in this tutorial.</p>
<p>The feed is updated every day. That means you will keep having new content for you game portal. And there are already almost 3000 games available now. You are able to kick off your portal without worrying no games on it.</p>
<p>Ok, let's get start on reading the games feed.</p>
<p>I am using python to download the feed and parse the json.</p>
<pre class="python">&nbsp;
!/usr/bin/python
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">urllib</span>,json,<span style="color: #dc143c;">sys</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># Downlaod the feed</span>
m = <span style="color: #dc143c;">urllib</span>.<span style="color: black;">urlopen</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;http://www.mochiads.com/feeds/games/{your key}/all/all?format=json&quot;</span><span style="color: black;">&#41;</span>
f = m.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># Use Python-json to parse the feed</span>
obj = json.<span style="color: black;">read</span><span style="color: black;">&#40;</span>f<span style="color: black;">&#41;</span>
&nbsp;</pre>
<p>Now we are accessing the feed with almost 3000 flash games. Next step we will use python to download all swf of the games. You need to download the games because you need to host the game on your domain to get revenue share.</p>
<div class='bookmarkify'><a name='bookmarkify'></a><div class='linkbuttons'><a href='http://del.icio.us/post?url=http://www.makzan.net/blog/?p=25&amp;title=HOW-TO: Make your own game portal with MochiAds games - Step 1' title='Save to del.icio.us' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/delicious.ico' style='width:16px; height:16px;' alt='[del.icio.us]'  /></a> <a href='http://digg.com/submit?phase=2&amp;url=http://www.makzan.net/blog/?p=25&amp;title=HOW-TO: Make your own game portal with MochiAds games - Step 1' title='Digg It!' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/digg.ico' style='width:16px; height:16px;' alt='[Digg]'  /></a> <a href='http://www.facebook.com/share.php?u=http://www.makzan.net/blog/?p=25' title='Save to Facebook' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/facebook.ico' style='width:16px; height:16px;' alt='[Facebook]'  /></a> <a href='http://www.furl.net/storeIt.jsp?u=http://www.makzan.net/blog/?p=25&amp;t=HOW-TO: Make your own game portal with MochiAds games - Step 1' title='Save to Furl' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/furl.ico' style='width:16px; height:16px;' alt='[Furl]'  /></a> <a href='http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.makzan.net/blog/?p=25&amp;title=HOW-TO: Make your own game portal with MochiAds games - Step 1' title='Save to Google Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/google.ico' style='width:16px; height:16px;' alt='[Google]'  /></a> <a href='http://www.myspace.com/Modules/PostTo/Pages/?c=http://www.makzan.net/blog/?p=25&amp;t=HOW-TO: Make your own game portal with MochiAds games - Step 1' title='Save to MySpace' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/myspace.ico' style='width:16px; height:16px;' alt='[MySpace]'  /></a> <a href='http://technorati.com/faves?add=http://www.makzan.net/blog/?p=25' title='Add to my Technorati Favorites' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/technorati.ico' style='width:16px; height:16px;' alt='[Technorati]'  /></a> <a href='http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http://www.makzan.net/blog/?p=25&amp;t=HOW-TO: Make your own game portal with MochiAds games - Step 1' title='Save to Yahoo! Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/yahoo.ico' style='width:16px; height:16px;' alt='[Yahoo!]'  /></a>  <a title='See more bookmark and sharing options...' href='http://www.makzan.net/blog/?p=25#bookmarkify' rel='nofollow'><small>More&nbsp;&raquo;</small></a></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.makzan.net/blog/?feed=rss2&amp;p=25</wfw:commentRss>
		</item>
		<item>
		<title>Quick and handy way to toggle fullscreen terminal in Mac OSX</title>
		<link>http://www.makzan.net/blog/?p=22</link>
		<comments>http://www.makzan.net/blog/?p=22#comments</comments>
		<pubDate>Mon, 21 Jul 2008 08:05:43 +0000</pubDate>
		<dc:creator>makzan</dc:creator>
		
		<category><![CDATA[Mac]]></category>

		<category><![CDATA[vim terminal visor]]></category>

		<guid isPermaLink="false">http://www.makzan.net/blog/?p=22</guid>
		<description><![CDATA[For developers or unix/linux users, terminal is always their friend. I recently face a problem that I need to change my focus between vim in terminal and web browser or Adobe Flash rapidly. I need vim to code the php/html and use firefox to preview it. Or I need vim to code the actionscript and [...]]]></description>
			<content:encoded><![CDATA[<p>For developers or unix/linux users, terminal is always their friend. I recently face a problem that I need to change my focus between vim in terminal and web browser or Adobe Flash rapidly. I need vim to code the php/html and use firefox to preview it. Or I need vim to code the actionscript and compile it in Adobe Flash.</p>
<p>There is a way to toggle full screen terminal and hide it with only a hot key in Leopard or Tiger. It is <a href="http://blacktree.com/?visor">Visor</a> from <a href="http://blacktree.com/">Blacktree</a></p>
<p><script>
 britepic_id="668444";
 britepic_src="http://www.makzan.net/blog/wp-content/images/visor_setting.jpg";
 britepic_keywords="visor%20quake%20terminal";
 britepic_show_ads=1;
 britepic_show_menu=1;
 britepic_href="http%3A//www.makzan.net/blog/wp-content/images/visor_setting.jpg";
 britepic_caption="Visor Setting";
</script><br />
<script src="http://www.britepic.com/britepic.js"></script><br />
<noscript><img src="http://www.makzan.net/blog/wp-content/images/visor_setting.jpg"></noscript></p>
<p>It is a terminal plugin that make a terminal window look like a console window in Quake or Counter-Strike. When the hot key (default CTRL+F1) is pressed, a terminal will appear on the top of the screen.</p>
<p><script>
 britepic_id="668444";
 britepic_src="http://www.makzan.net/blog/wp-content/images/visor_half.jpg";
 britepic_keywords="visor%20quake%20terminal";
 britepic_show_ads=1;
 britepic_show_menu=1;
 britepic_href="http%3A//www.makzan.net/blog/wp-content/images/visor_half.jpg";
 britepic_caption="Visor in default height";
 britepic_width=590;
 britepic_height=368;
</script><br />
<script src="http://www.britepic.com/britepic.js"></script><br />
<noscript><img src="http://www.makzan.net/blog/wp-content/images/visor_half.jpg"" width="640" height="400"></noscript></p>
<p>I changed the transition time to 0.1s. And then changed the terminal height from 24 to 62. 62 rows fits in a 1440x900 macbook pro for a fullscreen visor terminal.</p>
<p><script>
 britepic_id="668444";
 britepic_src="http://www.makzan.net/blog/wp-content/images/terminal_setting.jpg";
 britepic_keywords="terminal%20setting%20Mac%20Leopard%20";
 britepic_show_ads=1;
 britepic_show_menu=1;
 britepic_href="http%3A//www.makzan.net/blog/wp-content/images/terminal_setting.jpg";
 britepic_caption="Terminal setting with 62 rows height";
</script><br />
<script src="http://www.britepic.com/britepic.js"></script><br />
<noscript><img src="http://www.makzan.net/blog/wp-content/images/terminal_setting.jpg"></noscript></p>
<p>Now I can toggle my vim very fast by just typing CTRL+`  (the default visor key is CTRL+F1). It is really very nice and handy.</p>
<p><script>
 britepic_id="668444";
 britepic_src="http://www.makzan.net/blog/wp-content/images/visor_full.jpg";
 britepic_keywords="visor%20terminal%20full%20screen";
 britepic_show_ads=1;
 britepic_show_menu=1;
 britepic_href="http%3A//www.makzan.net/blog/wp-content/images/visor_full.jpg";
 britepic_caption="Visor terminal in full screen";
 britepic_width=590;
 britepic_height=368;
</script><br />
<script src="http://www.britepic.com/britepic.js"></script><br />
<noscript><img src="http://www.makzan.net/blog/wp-content/images/visor_full.jpg"" width="528" height="330"></noscript></p>
<p>And here is a screenshot of my working project on vim in visor terminal with full screen:</p>
<p><script>
 britepic_id="668444";
 britepic_src="http://www.makzan.net/blog/wp-content/images/visor_full_vim.jpg";
 britepic_keywords="visor%20terminal%20full%20screen%20with%20working%20vim";
 britepic_show_ads=1;
 britepic_show_menu=1;
 britepic_href="http%3A//www.makzan.net/blog/wp-content/images/visor_full_vim.jpg";
 britepic_caption="Visor terminal in full screen with working vim";
 britepic_width=590;
 britepic_height=368;
</script><br />
<script src="http://www.britepic.com/britepic.js"></script><br />
<noscript><img src="http://www.makzan.net/blog/wp-content/images/visor_full_vim.jpg"" width="528" height="330"></noscript></p>
<div class='bookmarkify'><a name='bookmarkify'></a><div class='linkbuttons'><a href='http://del.icio.us/post?url=http://www.makzan.net/blog/?p=22&amp;title=Quick and handy way to toggle fullscreen terminal in Mac OSX' title='Save to del.icio.us' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/delicious.ico' style='width:16px; height:16px;' alt='[del.icio.us]'  /></a> <a href='http://digg.com/submit?phase=2&amp;url=http://www.makzan.net/blog/?p=22&amp;title=Quick and handy way to toggle fullscreen terminal in Mac OSX' title='Digg It!' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/digg.ico' style='width:16px; height:16px;' alt='[Digg]'  /></a> <a href='http://www.facebook.com/share.php?u=http://www.makzan.net/blog/?p=22' title='Save to Facebook' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/facebook.ico' style='width:16px; height:16px;' alt='[Facebook]'  /></a> <a href='http://www.furl.net/storeIt.jsp?u=http://www.makzan.net/blog/?p=22&amp;t=Quick and handy way to toggle fullscreen terminal in Mac OSX' title='Save to Furl' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/furl.ico' style='width:16px; height:16px;' alt='[Furl]'  /></a> <a href='http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.makzan.net/blog/?p=22&amp;title=Quick and handy way to toggle fullscreen terminal in Mac OSX' title='Save to Google Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/google.ico' style='width:16px; height:16px;' alt='[Google]'  /></a> <a href='http://www.myspace.com/Modules/PostTo/Pages/?c=http://www.makzan.net/blog/?p=22&amp;t=Quick and handy way to toggle fullscreen terminal in Mac OSX' title='Save to MySpace' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/myspace.ico' style='width:16px; height:16px;' alt='[MySpace]'  /></a> <a href='http://technorati.com/faves?add=http://www.makzan.net/blog/?p=22' title='Add to my Technorati Favorites' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/technorati.ico' style='width:16px; height:16px;' alt='[Technorati]'  /></a> <a href='http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http://www.makzan.net/blog/?p=22&amp;t=Quick and handy way to toggle fullscreen terminal in Mac OSX' title='Save to Yahoo! Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/yahoo.ico' style='width:16px; height:16px;' alt='[Yahoo!]'  /></a>  <a title='See more bookmark and sharing options...' href='http://www.makzan.net/blog/?p=22#bookmarkify' rel='nofollow'><small>More&nbsp;&raquo;</small></a></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.makzan.net/blog/?feed=rss2&amp;p=22</wfw:commentRss>
		</item>
		<item>
		<title>My Makbook pro got repaired</title>
		<link>http://www.makzan.net/blog/?p=21</link>
		<comments>http://www.makzan.net/blog/?p=21#comments</comments>
		<pubDate>Fri, 18 Jul 2008 05:36:45 +0000</pubDate>
		<dc:creator>makzan</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<category><![CDATA[black screen]]></category>

		<category><![CDATA[logic board]]></category>

		<category><![CDATA[macbook pro]]></category>

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

		<guid isPermaLink="false">http://www.makzan.net/blog/?p=21</guid>
		<description><![CDATA[Hello. It has been a long time since last post. In this period, my makbook pro (Yes, "Mak"book) got something wrong. The screen will keep black after boot up and the grey screen did not show. I checked several time myself that it does started up and everything is working without the display. The Mac [...]]]></description>
			<content:encoded><![CDATA[<p>Hello. It has been a long time since last post. In this period, my makbook pro (Yes, "Mak"book) got something wrong. The screen will keep black after boot up and the grey screen did not show. I checked several time myself that it does started up and everything is working without the display. The Mac OSX still boot up, or the bootcamp still boot up with the windows' welcome sound. </p>
<p>The problem is this black screen problem did not show up every time. Sometimes when I could boot the mbp with screen on after trying for many times. Sometimes the screen will suddenly work if I press some boot up key combination, such as 'c', 'shift', 'reset p ram', 'eject' button. But most of the time the screen did no work and kept black.</p>
<p>This problem has been annoying me for more than a month. I tried not to put the mbp sleep or not shut it down. But when times passed, the problem were getting more serious. At last, I try two whole days and failed to boot the mbp with screen. Then I brought it to Apple Repair Center in Hong Kong.</p>
<p>Luckily my mbp is still with 1 year so I got my mbp fixed without paying any money.</p>
<p>I got my fixed mbp within one week I sent to the center. And the reason seems to be Logic Board failed. I got a new Logic Board inside my mbp now. And now I can keep on writing great things here.</p>
<p>Cheers! </p>
<div class='bookmarkify'><a name='bookmarkify'></a><div class='linkbuttons'><a href='http://del.icio.us/post?url=http://www.makzan.net/blog/?p=21&amp;title=My Makbook pro got repaired' title='Save to del.icio.us' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/delicious.ico' style='width:16px; height:16px;' alt='[del.icio.us]'  /></a> <a href='http://digg.com/submit?phase=2&amp;url=http://www.makzan.net/blog/?p=21&amp;title=My Makbook pro got repaired' title='Digg It!' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/digg.ico' style='width:16px; height:16px;' alt='[Digg]'  /></a> <a href='http://www.facebook.com/share.php?u=http://www.makzan.net/blog/?p=21' title='Save to Facebook' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/facebook.ico' style='width:16px; height:16px;' alt='[Facebook]'  /></a> <a href='http://www.furl.net/storeIt.jsp?u=http://www.makzan.net/blog/?p=21&amp;t=My Makbook pro got repaired' title='Save to Furl' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/furl.ico' style='width:16px; height:16px;' alt='[Furl]'  /></a> <a href='http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.makzan.net/blog/?p=21&amp;title=My Makbook pro got repaired' title='Save to Google Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/google.ico' style='width:16px; height:16px;' alt='[Google]'  /></a> <a href='http://www.myspace.com/Modules/PostTo/Pages/?c=http://www.makzan.net/blog/?p=21&amp;t=My Makbook pro got repaired' title='Save to MySpace' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/myspace.ico' style='width:16px; height:16px;' alt='[MySpace]'  /></a> <a href='http://technorati.com/faves?add=http://www.makzan.net/blog/?p=21' title='Add to my Technorati Favorites' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/technorati.ico' style='width:16px; height:16px;' alt='[Technorati]'  /></a> <a href='http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http://www.makzan.net/blog/?p=21&amp;t=My Makbook pro got repaired' title='Save to Yahoo! Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/yahoo.ico' style='width:16px; height:16px;' alt='[Yahoo!]'  /></a>  <a title='See more bookmark and sharing options...' href='http://www.makzan.net/blog/?p=21#bookmarkify' rel='nofollow'><small>More&nbsp;&raquo;</small></a></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.makzan.net/blog/?feed=rss2&amp;p=21</wfw:commentRss>
		</item>
		<item>
		<title>Godlike Basketball Game</title>
		<link>http://www.makzan.net/blog/?p=20</link>
		<comments>http://www.makzan.net/blog/?p=20#comments</comments>
		<pubDate>Mon, 12 May 2008 14:08:41 +0000</pubDate>
		<dc:creator>makzan</dc:creator>
		
		<category><![CDATA[Misc]]></category>

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

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

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

		<guid isPermaLink="false">http://www.makzan.net/blog/?p=20</guid>
		<description><![CDATA[

abWritePlayer(1747303, 468, 400, "http://vid.adbrite.com/video/abplayer?");





The player played this basketball game beyond godlike. The scroll counter overflow and reset to 000 after count over 999. It's really crazy. The hands move like a machine robot.
         More&#160;&#187;]]></description>
			<content:encoded><![CDATA[<p><!-- Begin AdBrite Video Code --><br />
<script src="http://files.adbrite.com/player/js/abplayerlib.js" language="javascript"></script><br />
<script language="javascript">
abWritePlayer(1747303, 468, 400, "http://vid.adbrite.com/video/abplayer?");
</script><br />
<noscript><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="468" height="400" id="abPlayerObj" align="middle"><param name="movie" value="http://vid.adbrite.com/video/abplayer.swf?&vid=1747303&og=1" /><param name="quality" value="best" /><embed src="http://vid.adbrite.com/video/abplayer.swf?&vid=1747303&og=1" quality="best" width="468" height="400" name="abPlayerObj" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object><br />
</noscript><br />
<!-- End AdBrite Video Code --></p>
<p>The player played this basketball game beyond godlike. The scroll counter overflow and reset to 000 after count over 999. It's really crazy. The hands move like a machine robot.</p>
<div class='bookmarkify'><a name='bookmarkify'></a><div class='linkbuttons'><a href='http://del.icio.us/post?url=http://www.makzan.net/blog/?p=20&amp;title=Godlike Basketball Game' title='Save to del.icio.us' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/delicious.ico' style='width:16px; height:16px;' alt='[del.icio.us]'  /></a> <a href='http://digg.com/submit?phase=2&amp;url=http://www.makzan.net/blog/?p=20&amp;title=Godlike Basketball Game' title='Digg It!' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/digg.ico' style='width:16px; height:16px;' alt='[Digg]'  /></a> <a href='http://www.facebook.com/share.php?u=http://www.makzan.net/blog/?p=20' title='Save to Facebook' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/facebook.ico' style='width:16px; height:16px;' alt='[Facebook]'  /></a> <a href='http://www.furl.net/storeIt.jsp?u=http://www.makzan.net/blog/?p=20&amp;t=Godlike Basketball Game' title='Save to Furl' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/furl.ico' style='width:16px; height:16px;' alt='[Furl]'  /></a> <a href='http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.makzan.net/blog/?p=20&amp;title=Godlike Basketball Game' title='Save to Google Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/google.ico' style='width:16px; height:16px;' alt='[Google]'  /></a> <a href='http://www.myspace.com/Modules/PostTo/Pages/?c=http://www.makzan.net/blog/?p=20&amp;t=Godlike Basketball Game' title='Save to MySpace' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/myspace.ico' style='width:16px; height:16px;' alt='[MySpace]'  /></a> <a href='http://technorati.com/faves?add=http://www.makzan.net/blog/?p=20' title='Add to my Technorati Favorites' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/technorati.ico' style='width:16px; height:16px;' alt='[Technorati]'  /></a> <a href='http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http://www.makzan.net/blog/?p=20&amp;t=Godlike Basketball Game' title='Save to Yahoo! Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/yahoo.ico' style='width:16px; height:16px;' alt='[Yahoo!]'  /></a>  <a title='See more bookmark and sharing options...' href='http://www.makzan.net/blog/?p=20#bookmarkify' rel='nofollow'><small>More&nbsp;&raquo;</small></a></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.makzan.net/blog/?feed=rss2&amp;p=20</wfw:commentRss>
		</item>
		<item>
		<title>HOW-TO: Make an online assistance by using javascript chatterbot - Part 1</title>
		<link>http://www.makzan.net/blog/?p=19</link>
		<comments>http://www.makzan.net/blog/?p=19#comments</comments>
		<pubDate>Tue, 06 May 2008 15:30:59 +0000</pubDate>
		<dc:creator>makzan</dc:creator>
		
		<category><![CDATA[How-to]]></category>

		<category><![CDATA[Web Designing]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://www.makzan.net/blog/?p=19</guid>
		<description><![CDATA[This tutorial will build an online assistance to help visiting the website.The online assistance chatterbox can show visitors the pages they want to visit. For example, if the visitor type "Please show me the company history". Then the chat bot will answer him with a nice respond and load the page "Company_history.htm" the most probably the visitor want to see.]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://www.makzan.net/blog/2008/05/ikea-chatbot/">previous</a> post, I talked about a chatterbot called "Anna" who will answer your question about IKEA and bring you to the pages you want to visit. </p>
<p>Today let's try to build our online assistance to help visiting the website. Here is my requirement of the online assistance. Basically, the chatterbot can show me the pages I want to visit. For example, if I type "Please show me the company history". Then the page will got to "Company_history.htm".</p>
<p>There are several chatterbot program that can be download and used on the web. Most of them need sever-side script such as PHP / ASP and a database. Here I used a Javascript chatterbot that I talked in <a href="http://www.makzan.net/blog/2008/05/build-your-own-chatterbot-chatbot/">previous post</a> about "Build your own chatterbot". However it need some code modification to make it work as a navigator and online assistance of your website.</p>
<p>First, you need to download the script from <a href="http://www.alkalisoftware.ca/Jschat.html" target="_blank">Alkali's Website</a> or <a href="http://www.makzan.net/blog/wp-content/uploads/2008/05/chatbot.js">here</a>. Then include the script within HEAD section.</p>
<p>Afterwards we need to an onLoad statement in the BODY tag:</p>
<pre>&nbsp;
  &lt;body onLoad=&quot;document.AI.BOT.value = beginPhrase;&quot;&gt;
&nbsp;</pre>
<p>and the chat box for conversation:</p>
<pre>&nbsp;
&lt;form name=AI onSubmit=&quot;return doAI();&quot;&gt;
      Chatbot:&lt;br&gt;
   &lt;textarea cols=50 rows=4 name=Bot wrap=virtual&gt;&lt;/textarea&gt;
&nbsp;
&nbsp;
      You:&lt;br&gt;
&lt;input type=text size=50 name=User&gt;
   &lt;/form&gt;
&nbsp;</pre>
<p>Of course you can modify the style to make it user-friendly. For example you can put your avatar  image there or some other decorations.</p>
<p>Here we come to the main point.</p>
<p><span id="more-19"></span></p>
<p>Open the chatbot.js file and you will see a guideline to make your own respond:</p>
<pre>
//Prefixes:
//  >    Display this text to change the subject or as a response.
//  !    Display this text only as a response.
//  ^    Evaluate this JavaScript expression (placed below > or !).
//  &    Require one of these words to match a response.
//  *    Provide these words as context.
</pre>
<p>Here we need to use "^" prefix to execute javascript such as change webpage. (so that the chatbot can guide the customer to the webpage they want to go)</p>
<p>The pattern will look like it:</p>
<pre>
"I","&YEARS","&OLD",
"!Wow, that's old!",
"HOW","&OLD","YOU","YOUR","&AGE",
"!I do not remember my age.",

// add here (anywhere between the conversation pairs)
"&HELP","&SITEMAP","SHOW",
"!Get lost? Let me show you the sitemap now.",
"^location.href='sitemap.htm'",

//...other conversation pairs
</pre>
<p>The ^ statement will always follows an ! statement. The chatbot answers the ! statement and execute the ^ statement at the same time.</p>
<p>You can add as many pairs of keywords and responds script as you want here.</p>
<p>You may think your chatterbot can work fine now. Actually it is not. You can try chat with your bot now with newly add keywords. You will find that your chatbot responds well on the first time but on the second times the chatbot will respond another thing rather then your preset respond. And of cource the second time your navigation script will not run.</p>
<p>This is because the javascript chatterbot is designed to keep the previous chat state and it never repeats the same respond twice.</p>
<p>PS. This problem appeared if the page navigate to another page without reset your chatterbot state. For example, you call Ajax called but not a whole page refresh at the respond. </p>
<p>In Part 2, I will suggest some methods to avoid it. Although the solution is not so good</p>
<div class='bookmarkify'><a name='bookmarkify'></a><div class='linkbuttons'><a href='http://del.icio.us/post?url=http://www.makzan.net/blog/?p=19&amp;title=HOW-TO: Make an online assistance by using javascript chatterbot - Part 1' title='Save to del.icio.us' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/delicious.ico' style='width:16px; height:16px;' alt='[del.icio.us]'  /></a> <a href='http://digg.com/submit?phase=2&amp;url=http://www.makzan.net/blog/?p=19&amp;title=HOW-TO: Make an online assistance by using javascript chatterbot - Part 1' title='Digg It!' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/digg.ico' style='width:16px; height:16px;' alt='[Digg]'  /></a> <a href='http://www.facebook.com/share.php?u=http://www.makzan.net/blog/?p=19' title='Save to Facebook' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/facebook.ico' style='width:16px; height:16px;' alt='[Facebook]'  /></a> <a href='http://www.furl.net/storeIt.jsp?u=http://www.makzan.net/blog/?p=19&amp;t=HOW-TO: Make an online assistance by using javascript chatterbot - Part 1' title='Save to Furl' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/furl.ico' style='width:16px; height:16px;' alt='[Furl]'  /></a> <a href='http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.makzan.net/blog/?p=19&amp;title=HOW-TO: Make an online assistance by using javascript chatterbot - Part 1' title='Save to Google Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/google.ico' style='width:16px; height:16px;' alt='[Google]'  /></a> <a href='http://www.myspace.com/Modules/PostTo/Pages/?c=http://www.makzan.net/blog/?p=19&amp;t=HOW-TO: Make an online assistance by using javascript chatterbot - Part 1' title='Save to MySpace' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/myspace.ico' style='width:16px; height:16px;' alt='[MySpace]'  /></a> <a href='http://technorati.com/faves?add=http://www.makzan.net/blog/?p=19' title='Add to my Technorati Favorites' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/technorati.ico' style='width:16px; height:16px;' alt='[Technorati]'  /></a> <a href='http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http://www.makzan.net/blog/?p=19&amp;t=HOW-TO: Make an online assistance by using javascript chatterbot - Part 1' title='Save to Yahoo! Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/yahoo.ico' style='width:16px; height:16px;' alt='[Yahoo!]'  /></a>  <a title='See more bookmark and sharing options...' href='http://www.makzan.net/blog/?p=19#bookmarkify' rel='nofollow'><small>More&nbsp;&raquo;</small></a></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.makzan.net/blog/?feed=rss2&amp;p=19</wfw:commentRss>
		</item>
		<item>
		<title>HOW-TO: Back / Forward history function in Ajax with Dojo toolkit</title>
		<link>http://www.makzan.net/blog/?p=18</link>
		<comments>http://www.makzan.net/blog/?p=18#comments</comments>
		<pubDate>Mon, 05 May 2008 19:58:27 +0000</pubDate>
		<dc:creator>makzan</dc:creator>
		
		<category><![CDATA[How-to]]></category>

		<category><![CDATA[Web Designing]]></category>

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

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

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

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

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

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

		<guid isPermaLink="false">http://www.makzan.net/blog/?p=18</guid>
		<description><![CDATA[Dojo toolkit is a powerful javascript toolkit. One of its functions is provides Ajax supports. If you are familiar with Ajax, you will know one of the problems that Ajax causes is the missing of traditional history function of the browser. The Back / Forward buttons not working anymore because you are not loading a [...]]]></description>
			<content:encoded><![CDATA[<p>Dojo toolkit is a powerful javascript toolkit. One of its functions is provides Ajax supports. If you are familiar with Ajax, you will know one of the problems that Ajax causes is the missing of traditional history function of the browser. The Back / Forward buttons not working anymore because you are not loading a whole webpage but just refreshing new contents within the page. The browser does not treat those changes within page as a history change.</p>
<p>Dojo toolkit provides an XMLHttpRequest for Ajax and it also provides a Dojo.back for history management. There should be no problem by using it because you should know how to use it by reading its documentation. This is what I thought before I try to use Dojo. Later on, I found that the XMLHttpRequest is easy to use but the Dojo.back is not. The documentation for Dojo.back is not helpful because it only show me how to alert a message saying "Back button is clicked". I tried for almost an hour but fail to make the browser back to my page. At last, I made it. Here is how I do:</p>
<p><span id="more-18"></span></p>
<p>First, include the Dojo script in in &gt;Head&lt; &gt;/Head&lt;</p>
<pre class="javascript"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;script type=<span style="color: #3366CC;">&quot;text/javascript&quot;</span> src=<span style="color: #3366CC;">&quot;js/dojo/dojo.js&quot;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    djConfig=<span style="color: #3366CC;">&quot;parseOnLoad:true, isDebug:true, preventBackButtonFix: false&quot;</span>&gt;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;/script&gt;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li></ol></pre>
<p>Then, put the require statement in the &lt;head&gt; too</p>
<pre class="javascript"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">dojo.<span style="color: #006600;">require</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;dojo.back&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li></ol></pre>
<p>For XMLHttpRequest, I used the code from <a href="http://dojocampus.org/content/2008/03/14/functional-ajax-with-dojo/trackback/" target="_blank">DojoCampus.org</a>. It provides an elegant way to call the xhr.</p>
<pre class="javascript"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> loadFromQuery<span style="color: #66cc66;">&#40;</span>url<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    <span style="color: #003366; font-weight: bold;">var</span> get = dojo.<span style="color: #006600;">xhrGet</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span> url: url <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>node<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">      get.<span style="color: #006600;">addCallback</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>data<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">        node.<span style="color: #006600;">innerHTML</span> = data;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">        <span style="color: #000066; font-weight: bold;">return</span> data;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">      <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    <span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">  <span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li></ol></pre>
<p>Then I wrote an initial function which will set the initial state of history</p>
<pre class="javascript"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span>url<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    dojo.<span style="color: #000066;">back</span>.<span style="color: #006600;">setInitialState</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    <span style="color: #000066;">back</span>: <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> openPage<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">urltrack</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span>,</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    <span style="color: #000066;">forward</span>: <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> openPage<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">urltrack</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #66cc66;">&#125;</span>,</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    changeUrl: url,</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    urltrack: url <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    dojo.<span style="color: #006600;">query</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'#container'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">forEach</span><span style="color: #66cc66;">&#40;</span>loadFromQuery<span style="color: #66cc66;">&#40;</span>url<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">  <span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li></ol></pre>
<p>And another function to replace &lt;a&gt;</p>
<pre class="javascript"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">  <span style="color: #003366; font-weight: bold;">function</span> openPage<span style="color: #66cc66;">&#40;</span>url<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    dojo.<span style="color: #000066;">back</span>.<span style="color: #006600;">addToHistory</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">        <span style="color: #000066;">back</span>: <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> openPage<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">urltrack</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span>,</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">         <span style="color: #000066;">forward</span>: <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> openPage<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">urltrack</span><span style="color: #66cc66;">&#41;</span>;<span style="color: #66cc66;">&#125;</span>,</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">         changeUrl: url,</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">         urltrack: url <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">     dojo.<span style="color: #006600;">query</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'#container'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">forEach</span><span style="color: #66cc66;">&#40;</span>loadFromQuery<span style="color: #66cc66;">&#40;</span>url<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">  <span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li></ol></pre>
<p>All the code above are put within &lt;Head&gt; &lt;/Head&gt;</p>
<p>Now we come to &lt;Body&gt; and add this line to load the first page:</p>
<pre><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;body onLoad=&quot;init('news.htm');&quot;&gt;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li></ol></pre>
<p>At last we need to call Dojo.back.init() in within &lt;Body&gt; &lt;/Body&gt;</p>
<pre class="javascript"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Dojo.<span style="color: #000066;">back</span>.<span style="color: #006600;">init</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li></ol></pre>
<p>We've already setup the code for XMLHttpRequest with History supports. When we add link, just simply use:</p>
<pre><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;a href=&quot;javascript:openPage('another_page.php')&quot;&gt;a link&lt;/a&gt;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li></ol></pre>
<hr>
Thank you <a href="http://dojocampus.org/content/2008/03/14/functional-ajax-with-dojo/trackback/" target="_blank">DojoCampus.org</a> for the XMLHttpRequest examples. Nice Work!</p>
<div class='bookmarkify'><a name='bookmarkify'></a><div class='linkbuttons'><a href='http://del.icio.us/post?url=http://www.makzan.net/blog/?p=18&amp;title=HOW-TO: Back / Forward history function in Ajax with Dojo toolkit' title='Save to del.icio.us' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/delicious.ico' style='width:16px; height:16px;' alt='[del.icio.us]'  /></a> <a href='http://digg.com/submit?phase=2&amp;url=http://www.makzan.net/blog/?p=18&amp;title=HOW-TO: Back / Forward history function in Ajax with Dojo toolkit' title='Digg It!' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/digg.ico' style='width:16px; height:16px;' alt='[Digg]'  /></a> <a href='http://www.facebook.com/share.php?u=http://www.makzan.net/blog/?p=18' title='Save to Facebook' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/facebook.ico' style='width:16px; height:16px;' alt='[Facebook]'  /></a> <a href='http://www.furl.net/storeIt.jsp?u=http://www.makzan.net/blog/?p=18&amp;t=HOW-TO: Back / Forward history function in Ajax with Dojo toolkit' title='Save to Furl' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/furl.ico' style='width:16px; height:16px;' alt='[Furl]'  /></a> <a href='http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.makzan.net/blog/?p=18&amp;title=HOW-TO: Back / Forward history function in Ajax with Dojo toolkit' title='Save to Google Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/google.ico' style='width:16px; height:16px;' alt='[Google]'  /></a> <a href='http://www.myspace.com/Modules/PostTo/Pages/?c=http://www.makzan.net/blog/?p=18&amp;t=HOW-TO: Back / Forward history function in Ajax with Dojo toolkit' title='Save to MySpace' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/myspace.ico' style='width:16px; height:16px;' alt='[MySpace]'  /></a> <a href='http://technorati.com/faves?add=http://www.makzan.net/blog/?p=18' title='Add to my Technorati Favorites' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/technorati.ico' style='width:16px; height:16px;' alt='[Technorati]'  /></a> <a href='http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http://www.makzan.net/blog/?p=18&amp;t=HOW-TO: Back / Forward history function in Ajax with Dojo toolkit' title='Save to Yahoo! Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/yahoo.ico' style='width:16px; height:16px;' alt='[Yahoo!]'  /></a>  <a title='See more bookmark and sharing options...' href='http://www.makzan.net/blog/?p=18#bookmarkify' rel='nofollow'><small>More&nbsp;&raquo;</small></a></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.makzan.net/blog/?feed=rss2&amp;p=18</wfw:commentRss>
		</item>
		<item>
		<title>HOW-TO: Make flash with MTASC and SWFMILL in Mac</title>
		<link>http://www.makzan.net/blog/?p=6</link>
		<comments>http://www.makzan.net/blog/?p=6#comments</comments>
		<pubDate>Mon, 05 May 2008 13:50:26 +0000</pubDate>
		<dc:creator>makzan</dc:creator>
		
		<category><![CDATA[Flash]]></category>

		<category><![CDATA[How-to]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://www.makzan.net/blog/?p=6</guid>
		<description><![CDATA[This post explores a new way to publish flash without Flash IDE. It provides developer a way to publish flash in terminal only. Use VI (or others) to code, use MTASC to compile the actionscript classes, use SWFMILL to combine the swf (include the swf from designer) and use terminal to see the trace output. The whole procedure is now in terminal, in pure text]]></description>
			<content:encoded><![CDATA[<p>Summary:<br />
This post explores a new way to publish flash without Flash IDE. It provides developer a way to publish flash in terminal only. Use VI (or others) to code, use MTASC to compile the actionscript classes, use SWFMILL to combine the swf (include the swf from designer) and use terminal to see the trace output. The whole procedure is now in terminal, in pure text.</p>
<p>The traditional workflow for Flash Developer is to draw graphic in Flash IDE and then open the Action window to program the movieclip. A newer workflow is to draw graphic in Flash IDE and then make the movieclip linkable to a Actionscript 2 class. </p>
<p>The newer approach can make the designer and programmer works separately. The designer draw the graphic and make it linkable. The developer code there Actionscript class in their favorite editor. This seems to be a good workflow. The workflow is good but it can be better. </p>
<p>After the developer coded the script and they want to compile the swf to debug or see the result. They have to use Flash IDE again. The developer need a license of Flash IDE and the worst is that they have to wait the fla project to compile for a long time every time. You know, pressing Ctrl+Enter (or Cmd+Enter in mac) means you have to wait.</p>
<p>Thanks to <a href="http://www.mtasc.org/" target="_blank">MTASC</a> and <a href="http://swfmill.org/" target="_blank">SWFMILL</a>, developers now can optimize the workflow without Flash IDE. Once after the designer draw the graphic and output it as swf files (Let's call library.swf). The developer can use the library.swf and code the Actionscript class. Then compile the classes with MTASC and use SWFMILL to combine the library.swf and the classes files and build the last working swf file (Let's call it app.swf). Flash IDE is not needed anymore in the whole workflow of a Fash developer. Below I will show how I setup the project.</p>
<p><span id="more-6"></span></p>
<p><a href="http://www.mtasc.org/" target="_blank">MTASC</a> is a Actionscript 2 compiler that generate swf files without Flash IDE. MTASC is free and open source so that you do not need to pay $$$ to make flash. It supports Windows, Linux and Macintosh platform. I use this compiler to compile Actionscript classes for the movieclip that the designer provides.</p>
<p><a href="http://swfmill.org/" target="_blank">SWFMILL</a> is an xml to swf processor that you write an xml file and then it will generate a swf files for you. You can specify what to put in the library or what to put in frame1, frame2 etc. I use this tool to combine the swf files from designer and the swf files compiled from Actionscript classes by MTASC.</p>
<p>Here is how my files setup:</p>
<p><script> britepic_id="668444"; britepic_src="http://www.makzan.net/blog/wp-content/uploads/2008/05/mtasc_project_directory_480.jpg"; britepic_keywords="MTASC,SWFMILL,flash,finder"; britepic_show_ads=1; britepic_show_menu=1; britepic_href="http%3A//www.makzan.net/blog/wp-content/uploads/2008/05/mtasc_project_directory.jpg"; britepic_caption="MTASC and SWFMILL project's folder"; britepic_width=480; britepic_height=325;</script><script src="http://www.britepic.com/britepic.js"></script><noscript><img src="http://www.makzan.net/blog/wp-content/uploads/2008/05/mtasc_project_directory_480.jpg"" width="480" height="325"></noscript></p>
<p><code><br />
/Clean<br />
this folder can be treat as an empty project. I duplicated the Clean folder for a new project. </p>
<p>/Clean/app.xml<br />
This is the xml file use in SWFMILL processor which generates build/app.swf </p>
<p>/Clean/Application.as<br />
This is a entry class for the application. I attach other movieclip inside it.</p>
<p>/Clean/make.sh<br />
This is a bash script to make me compile everything in one command and run the swf</p>
<p>/Clean/compile.sh<br />
This is another bash script than only compile everything without running the swf</p>
<p>/Clean/lib/library.swf<br />
This is where the designer's graphic flash put. It contains movieclip that set to link to class.</p>
<p>/Clean/build/<br />
This is the folder where the output of MTASC and SWFMILL put.<br />
</code></p>
<p>First, you need to download the <a href="http://www.mtasc.org/" target="_blank">MTASC</a> and <a href="http://swfmill.org/" target="_blank">SWFMILL</a> binary from their websites and unzip it.</p>
<p>Then create a folder and write some .as code there. For example:<br />
Application.as</p>
<pre class="actionscript"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">class</span> Application <span style="color: #0066CC;">extends</span> <span style="color: #0066CC;">MovieClip</span> <span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #000000; font-weight: bold;">var</span> helloworld_txt:<span style="color: #0066CC;">TextField</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #000000; font-weight: bold;">function</span> Application<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">onLoad</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #0066CC;">createTextField</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;helloworld_txt&quot;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">10</span>, <span style="color: #cc66cc;">75</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">20</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		mytf = <span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;helloworld_txt&quot;</span><span style="color: #66cc66;">&#93;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		mytf.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">&quot;Hello World!!&quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Hello!&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li></ol></pre>
<p>You may also need to write other actionscript classes to program other movieclip.<br />
Here is the app.xml:</p>
<pre class="xml"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;movie</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;400&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;300&quot;</span> <span style="color: #000066;">framerate</span>=<span style="color: #ff0000;">&quot;12&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;background</span> <span style="color: #000066;">color</span>=<span style="color: #ff0000;">&quot;#f0f8ff&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;clip</span> <span style="color: #000066;">import</span>=<span style="color: #ff0000;">&quot;build/classes.swf&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;import</span> <span style="color: #000066;">file</span>=<span style="color: #ff0000;">&quot;lib/library.swf&quot;</span> <span style="color: #000066;">url</span>=<span style="color: #ff0000;">&quot;lib/library.swf&quot;</span><span style="font-weight: bold; color: black;">/&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;frame<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;library<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;clip</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;app&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;Application&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/library<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;place</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;app&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;myApp&quot;</span> <span style="color: #000066;">depth</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/frame<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/movie<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li></ol></pre>
<p>Then it is time to compile them:<br />
make.sh:</p>
<pre class="bash"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #c20cb9; font-weight: bold;">cat</span> /dev/null &gt; ~/Library/Preferences/Macromedia/Flash\ Player/Logs/flashlog.txt</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #c20cb9; font-weight: bold;">cp</span> lib/*.swf build/lib/</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mtasc -swf build/classes.swf -header <span style="color: #000000;">1</span>:<span style="color: #000000;">1</span>:<span style="color: #000000;">12</span> *.<span style="color: #c20cb9; font-weight: bold;">as</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">swfmill simple app.xml build/app.swf</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">open build/app.swf</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot; &quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Showing trace message: &quot;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #c20cb9; font-weight: bold;">tail</span> -f ~/Library/Preferences/Macromedia/Flash\ Player/Logs/flashlog.txt</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li></ol></pre>
<p>You will see I tail the flashlog.txt. This is a method to see the trace code because you do not have Flash IDE so you cannot see the trace output in the output window.</p>
<p>For further documentation of the flashlog.txt. please see <a href="http://www.adobe.com/devnet/flex/articles/client_debug_print.html" target="_blank">Adobe Developer Center</a>. </p>
<p><a href="http://www.makzan.net/blog/wp-content/uploads/2008/05/clean.zip">Here is the source files of the project</a></p>
<div class='bookmarkify'><a name='bookmarkify'></a><div class='linkbuttons'><a href='http://del.icio.us/post?url=http://www.makzan.net/blog/?p=6&amp;title=HOW-TO: Make flash with MTASC and SWFMILL in Mac' title='Save to del.icio.us' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/delicious.ico' style='width:16px; height:16px;' alt='[del.icio.us]'  /></a> <a href='http://digg.com/submit?phase=2&amp;url=http://www.makzan.net/blog/?p=6&amp;title=HOW-TO: Make flash with MTASC and SWFMILL in Mac' title='Digg It!' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/digg.ico' style='width:16px; height:16px;' alt='[Digg]'  /></a> <a href='http://www.facebook.com/share.php?u=http://www.makzan.net/blog/?p=6' title='Save to Facebook' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/facebook.ico' style='width:16px; height:16px;' alt='[Facebook]'  /></a> <a href='http://www.furl.net/storeIt.jsp?u=http://www.makzan.net/blog/?p=6&amp;t=HOW-TO: Make flash with MTASC and SWFMILL in Mac' title='Save to Furl' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/furl.ico' style='width:16px; height:16px;' alt='[Furl]'  /></a> <a href='http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.makzan.net/blog/?p=6&amp;title=HOW-TO: Make flash with MTASC and SWFMILL in Mac' title='Save to Google Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/google.ico' style='width:16px; height:16px;' alt='[Google]'  /></a> <a href='http://www.myspace.com/Modules/PostTo/Pages/?c=http://www.makzan.net/blog/?p=6&amp;t=HOW-TO: Make flash with MTASC and SWFMILL in Mac' title='Save to MySpace' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/myspace.ico' style='width:16px; height:16px;' alt='[MySpace]'  /></a> <a href='http://technorati.com/faves?add=http://www.makzan.net/blog/?p=6' title='Add to my Technorati Favorites' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/technorati.ico' style='width:16px; height:16px;' alt='[Technorati]'  /></a> <a href='http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http://www.makzan.net/blog/?p=6&amp;t=HOW-TO: Make flash with MTASC and SWFMILL in Mac' title='Save to Yahoo! Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/yahoo.ico' style='width:16px; height:16px;' alt='[Yahoo!]'  /></a>  <a title='See more bookmark and sharing options...' href='http://www.makzan.net/blog/?p=6#bookmarkify' rel='nofollow'><small>More&nbsp;&raquo;</small></a></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.makzan.net/blog/?feed=rss2&amp;p=6</wfw:commentRss>
		</item>
		<item>
		<title>Fitter Happier</title>
		<link>http://www.makzan.net/blog/?p=17</link>
		<comments>http://www.makzan.net/blog/?p=17#comments</comments>
		<pubDate>Sun, 04 May 2008 17:38:58 +0000</pubDate>
		<dc:creator>makzan</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<category><![CDATA[fitter happier]]></category>

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

		<category><![CDATA[ok computer]]></category>

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

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

		<guid isPermaLink="false">http://www.makzan.net/blog/?p=17</guid>
		<description><![CDATA[

abWritePlayer(1744763, 468, 400, "http://vid.adbrite.com/video/abplayer?");





Tonight I found a song that is sung by a computer, macintosh. the Fitter Happier is a song in album OK Computer by Radiohead in 1997. A vocal application in macintosh "sing" or speak the lyrics.
The song may be a little boring because of the flat tone. However, I cannot stop until [...]]]></description>
			<content:encoded><![CDATA[<p><!-- Begin AdBrite Video Code --><br />
<script src="http://files.adbrite.com/player/js/abplayerlib.js" language="javascript"></script><br />
<script language="javascript">
abWritePlayer(1744763, 468, 400, "http://vid.adbrite.com/video/abplayer?");
</script><br />
<noscript><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="468" height="400" id="abPlayerObj" align="middle"><param name="movie" value="http://vid.adbrite.com/video/abplayer.swf?&vid=1744763&og=1" /><param name="quality" value="best" /><embed src="http://vid.adbrite.com/video/abplayer.swf?&vid=1744763&og=1" quality="best" width="468" height="400" name="abPlayerObj" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object><br />
</noscript><br />
<!-- End AdBrite Video Code --></p>
<p>Tonight I found a song that is sung by a computer, macintosh. the <a href="http://en.wikipedia.org/wiki/Fitter_Happier">Fitter Happier</a> is a song in album OK Computer by Radiohead in 1997. A vocal application in macintosh "sing" or speak the lyrics.</p>
<p>The song may be a little boring because of the flat tone. However, I cannot stop until I listen the whole song. </p>
<div class='bookmarkify'><a name='bookmarkify'></a><div class='linkbuttons'><a href='http://del.icio.us/post?url=http://www.makzan.net/blog/?p=17&amp;title=Fitter Happier' title='Save to del.icio.us' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/delicious.ico' style='width:16px; height:16px;' alt='[del.icio.us]'  /></a> <a href='http://digg.com/submit?phase=2&amp;url=http://www.makzan.net/blog/?p=17&amp;title=Fitter Happier' title='Digg It!' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/digg.ico' style='width:16px; height:16px;' alt='[Digg]'  /></a> <a href='http://www.facebook.com/share.php?u=http://www.makzan.net/blog/?p=17' title='Save to Facebook' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/facebook.ico' style='width:16px; height:16px;' alt='[Facebook]'  /></a> <a href='http://www.furl.net/storeIt.jsp?u=http://www.makzan.net/blog/?p=17&amp;t=Fitter Happier' title='Save to Furl' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/furl.ico' style='width:16px; height:16px;' alt='[Furl]'  /></a> <a href='http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.makzan.net/blog/?p=17&amp;title=Fitter Happier' title='Save to Google Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/google.ico' style='width:16px; height:16px;' alt='[Google]'  /></a> <a href='http://www.myspace.com/Modules/PostTo/Pages/?c=http://www.makzan.net/blog/?p=17&amp;t=Fitter Happier' title='Save to MySpace' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/myspace.ico' style='width:16px; height:16px;' alt='[MySpace]'  /></a> <a href='http://technorati.com/faves?add=http://www.makzan.net/blog/?p=17' title='Add to my Technorati Favorites' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/technorati.ico' style='width:16px; height:16px;' alt='[Technorati]'  /></a> <a href='http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http://www.makzan.net/blog/?p=17&amp;t=Fitter Happier' title='Save to Yahoo! Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/yahoo.ico' style='width:16px; height:16px;' alt='[Yahoo!]'  /></a>  <a title='See more bookmark and sharing options...' href='http://www.makzan.net/blog/?p=17#bookmarkify' rel='nofollow'><small>More&nbsp;&raquo;</small></a></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.makzan.net/blog/?feed=rss2&amp;p=17</wfw:commentRss>
		</item>
		<item>
		<title>Build your own chatterbot ( chatbot )</title>
		<link>http://www.makzan.net/blog/?p=14</link>
		<comments>http://www.makzan.net/blog/?p=14#comments</comments>
		<pubDate>Sun, 04 May 2008 09:20:03 +0000</pubDate>
		<dc:creator>makzan</dc:creator>
		
		<category><![CDATA[Web Designing]]></category>

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://www.makzan.net/blog/?p=14</guid>
		<description><![CDATA[Last time I talked about IKEA chatter bot. In this post I will talk about how to make your own chatterbot and include it into your blog or website.
There is a big list of chatterbot available on internet now. There are also some websites which provides chatterbot services such as MyCyberTwin. There are some open [...]]]></description>
			<content:encoded><![CDATA[<p>Last time I talked about IKEA chatter bot. In this post I will talk about how to make your own chatterbot and include it into your blog or website.</p>
<p>There is <a href="http://en.wikipedia.org/wiki/List_of_Chatterbots" target="_blank">a big list of chatterbot</a> available on internet now. There are also some websites which provides chatterbot services such as <a href="http://mycybertwin.com" target="_blank">MyCyberTwin</a>. There are some open source chatterbot created with javascript or some server side script available too. Alkali Javascript Chatterbot is one example.</p>
<h4><strong><span style="text-decoration: underline;">1. MyCyberTwin</span></strong></h4>
<p>Once you create a free account there, you will get a embed code that provides an interface for other people to chat with your chatterbot. You can input your personal info and personality in the setting panel so that your bot know how to respond like you. You can also "teach" the chatterbot to respond certain keywords. For example, if people say "hello", you can set three sentences that response it. There is a good things is that you can view the conversation history that the bot chat with others. Than you can know how well your bot respond and what keywords make your bot answer like a stupid. Then you can optimize the bot.</p>
<div><script type="text/javascript"><!--
 britepic_id="668444"; britepic_src="http://www.makzan.net/blog/wp-content/uploads/2008/05/mycybertwin_teach_400.jpg"; britepic_keywords="MyCyberTwin,chatterbot,classroom"; britepic_show_ads=1; britepic_show_menu=1; britepic_href="http%3A//www.makzan.net/blog/wp-content/uploads/2008/05/mycybertwin_teach.jpg"; britepic_caption="MyCyberTwin Classroom"; britepic_width=400; britepic_height=309;
// --></script><script src="http://www.britepic.com/britepic.js"></script><noscript><img src="http://www.makzan.net/blog/wp-content/uploads/2008/05/mycybertwin_teach_400.jpg" alt="" width="400" height="309" /></noscript><br />
 
</div>
<p>Here is an example with my MyCyberTwin. (The bot come with default now and I have not "teach" it anything yet)</p>
<div style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="535" height="335" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="id" value="standardUI" /><param name="align" value="middle" /><param name="allowScriptAccess" value="sameDomain" /><param name="wmode" value="transparent" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="baseUrl=http://www.mycybertwin.com&amp;cssPath=/ui/styles.css&amp;useridnum=31836" /><param name="src" value="http://mycybertwin.com/ui/standardUI.swf" /><embed id="standardUI" type="application/x-shockwave-flash" width="535" height="335" src="http://mycybertwin.com/ui/standardUI.swf" flashvars="baseUrl=http://www.mycybertwin.com&amp;cssPath=/ui/styles.css&amp;useridnum=31836" bgcolor="#ffffff" quality="high" wmode="transparent" allowscriptaccess="sameDomain" align="middle"></embed></object></div>
<p><span id="more-14"></span></p>
<h4><strong><span style="text-decoration: underline;">2. Javascript Chatterbot</span></strong></h4>
<p><a href="http://www.alkalisoftware.ca/Jschat.html">Alkali Software</a> provides an open source javascript based chatterbot program. I put this chatterbot on the right-hand side of the blog. Compare to the MyCyberTwin. The Javascript chatterbot come with a plain interface that you may work on an hour to decorate it. It provides similar teaching function but you have to edit your respond inside the code. It may be a little bit painful compare to MyCyberTwin if you are not familiar with javascript. However, the style of this javascript bot is free to edit so that you can make it fit anywhere on your website.</p>
<div><script type="text/javascript"><!--
 britepic_id="668444"; britepic_src="http://www.makzan.net/blog/wp-content/uploads/2008/05/jschatbot_400.jpg"; britepic_keywords="javascript,chatterbot,source%20code"; britepic_show_ads=1; britepic_show_menu=1; britepic_href="http%3A//www.makzan.net/blog/wp-content/uploads/2008/05/jschatbot.jpg"; britepic_caption="Javascript Chatterbot - source code snapshot";
// --></script><script src="http://www.britepic.com/britepic.js"></script><noscript><img src="http://www.makzan.net/blog/wp-content/uploads/2008/05/jschatbot_400.jpg" alt="" /></noscript></div>
<h4><strong><span style="text-decoration: underline;">Compare:</span></strong></h4>
<ul>
<li>Both chatterbot can edit responds text</li>
<li>MyCyberTwin provides a nice interface on both the conversation and the setting panels</li>
<li>MyCyberTwin let you input your own personality to act much like yourself.</li>
<li>MyCyberTwin is easy to embed into blog</li>
<li>Alkali Chatterbot is free distribution with source so can change style and even the program to make it suitable in anywhere</li>
<li>Alkali Chatterbot require blogger to know a little bit javascript and html to put it on website</li>
<li>Alkali Chatterbot responds faster then MyCyberTwin. (Alkali run in client side only and MyCyberTwin is client-server model)</li>
</ul>
<div class='bookmarkify'><a name='bookmarkify'></a><div class='linkbuttons'><a href='http://del.icio.us/post?url=http://www.makzan.net/blog/?p=14&amp;title=Build your own chatterbot ( chatbot )' title='Save to del.icio.us' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/delicious.ico' style='width:16px; height:16px;' alt='[del.icio.us]'  /></a> <a href='http://digg.com/submit?phase=2&amp;url=http://www.makzan.net/blog/?p=14&amp;title=Build your own chatterbot ( chatbot )' title='Digg It!' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/digg.ico' style='width:16px; height:16px;' alt='[Digg]'  /></a> <a href='http://www.facebook.com/share.php?u=http://www.makzan.net/blog/?p=14' title='Save to Facebook' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/facebook.ico' style='width:16px; height:16px;' alt='[Facebook]'  /></a> <a href='http://www.furl.net/storeIt.jsp?u=http://www.makzan.net/blog/?p=14&amp;t=Build your own chatterbot ( chatbot )' title='Save to Furl' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/furl.ico' style='width:16px; height:16px;' alt='[Furl]'  /></a> <a href='http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.makzan.net/blog/?p=14&amp;title=Build your own chatterbot ( chatbot )' title='Save to Google Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/google.ico' style='width:16px; height:16px;' alt='[Google]'  /></a> <a href='http://www.myspace.com/Modules/PostTo/Pages/?c=http://www.makzan.net/blog/?p=14&amp;t=Build your own chatterbot ( chatbot )' title='Save to MySpace' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/myspace.ico' style='width:16px; height:16px;' alt='[MySpace]'  /></a> <a href='http://technorati.com/faves?add=http://www.makzan.net/blog/?p=14' title='Add to my Technorati Favorites' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/technorati.ico' style='width:16px; height:16px;' alt='[Technorati]'  /></a> <a href='http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http://www.makzan.net/blog/?p=14&amp;t=Build your own chatterbot ( chatbot )' title='Save to Yahoo! Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/yahoo.ico' style='width:16px; height:16px;' alt='[Yahoo!]'  /></a>  <a title='See more bookmark and sharing options...' href='http://www.makzan.net/blog/?p=14#bookmarkify' rel='nofollow'><small>More&nbsp;&raquo;</small></a></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.makzan.net/blog/?feed=rss2&amp;p=14</wfw:commentRss>
		</item>
		<item>
		<title>Space Invader - playing with mouse</title>
		<link>http://www.makzan.net/blog/?p=8</link>
		<comments>http://www.makzan.net/blog/?p=8#comments</comments>
		<pubDate>Sun, 04 May 2008 05:03:24 +0000</pubDate>
		<dc:creator>makzan</dc:creator>
		
		<category><![CDATA[Flash]]></category>

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

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

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

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

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

		<category><![CDATA[space invaders]]></category>

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

		<guid isPermaLink="false">http://www.makzan.net/blog/?p=8</guid>
		<description><![CDATA[This is a classical game with mouse controlling the base to attack space invaders. The space invaders is made to shoot faster than normal to increase the difficulty. Try your best to get on the ranking list now.]]></description>
			<content:encoded><![CDATA[<p> </p>

<object	type="application/x-shockwave-flash"
			data="http://www.makzan.net/blog/wp-content/uploads/invaders.swf"
			width="480"
			height="360">
	<param name="movie" value="http://www.makzan.net/blog/wp-content/uploads/invaders.swf" />
</object> </p>
<p>Have you try playing Space Invaders with mouse?<br />
Try to get yourself in the Ranking list!</p>
<table border="0" cellspacing="1" cellpadding="5" width="80%" bgcolor="#feb500">
<tbody>
<tr bgcolor="#000&quot;">
<td>Rank #</td>
<td>Player's Name</td>
<td>Score</td>
</tr>
<tr bgcolor="#000">
<td>11</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p><a href="http://www.makzan.net/blog/2008/05/space-invader-playing-with-mouse/">refresh page and scores</a></p>
<div class='bookmarkify'><a name='bookmarkify'></a><div class='linkbuttons'><a href='http://del.icio.us/post?url=http://www.makzan.net/blog/?p=8&amp;title=Space Invader - playing with mouse' title='Save to del.icio.us' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/delicious.ico' style='width:16px; height:16px;' alt='[del.icio.us]'  /></a> <a href='http://digg.com/submit?phase=2&amp;url=http://www.makzan.net/blog/?p=8&amp;title=Space Invader - playing with mouse' title='Digg It!' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/digg.ico' style='width:16px; height:16px;' alt='[Digg]'  /></a> <a href='http://www.facebook.com/share.php?u=http://www.makzan.net/blog/?p=8' title='Save to Facebook' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/facebook.ico' style='width:16px; height:16px;' alt='[Facebook]'  /></a> <a href='http://www.furl.net/storeIt.jsp?u=http://www.makzan.net/blog/?p=8&amp;t=Space Invader - playing with mouse' title='Save to Furl' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/furl.ico' style='width:16px; height:16px;' alt='[Furl]'  /></a> <a href='http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.makzan.net/blog/?p=8&amp;title=Space Invader - playing with mouse' title='Save to Google Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/google.ico' style='width:16px; height:16px;' alt='[Google]'  /></a> <a href='http://www.myspace.com/Modules/PostTo/Pages/?c=http://www.makzan.net/blog/?p=8&amp;t=Space Invader - playing with mouse' title='Save to MySpace' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/myspace.ico' style='width:16px; height:16px;' alt='[MySpace]'  /></a> <a href='http://technorati.com/faves?add=http://www.makzan.net/blog/?p=8' title='Add to my Technorati Favorites' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/technorati.ico' style='width:16px; height:16px;' alt='[Technorati]'  /></a> <a href='http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http://www.makzan.net/blog/?p=8&amp;t=Space Invader - playing with mouse' title='Save to Yahoo! Bookmarks' onclick='target="_blank";' rel='nofollow'><img src='http://www.makzan.net/blog/wp-content/plugins/bookmarkify/yahoo.ico' style='width:16px; height:16px;' alt='[Yahoo!]'  /></a>  <a title='See more bookmark and sharing options...' href='http://www.makzan.net/blog/?p=8#bookmarkify' rel='nofollow'><small>More&nbsp;&raquo;</small></a></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.makzan.net/blog/?feed=rss2&amp;p=8</wfw:commentRss>
		</item>
	</channel>
</rss>

