<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Daily Gadgets, Computer, and Electronics News &#187; tutorial</title>
	<atom:link href="http://www.funponsel.com/blog/tag/tutorial/feed" rel="self" type="application/rss+xml" />
	<link>http://www.funponsel.com/blog</link>
	<description>Daily Gadgets, Computer, and Electronics News</description>
	<lastBuildDate>Sun, 22 Nov 2009 14:02:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How To Install DirectX 9.0c Over Windows XP SP2 With DirectX 9.0b</title>
		<link>http://www.funponsel.com/blog/software/how-to-install-directx-90c-over-windows-xp-sp2-with-directx-90b.html</link>
		<comments>http://www.funponsel.com/blog/software/how-to-install-directx-90c-over-windows-xp-sp2-with-directx-90b.html#comments</comments>
		<pubDate>Wed, 04 Jan 2006 02:47:18 +0000</pubDate>
		<dc:creator>cosa</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[directx]]></category>
		<category><![CDATA[free-DirectX-9.0c]]></category>
		<category><![CDATA[free-directx-uninstaller]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.funponsel.com/blog/?p=2090</guid>
		<description><![CDATA[I bought The Movies 2 weeks ago. I&#8217;ve heard many good things about this game, so I thought I should give it a try. After installing the game, it said that DirectX 9.0c is required, and ask whether I want to install it or not. Now here goes the problem &#8211; DirectX 9.0c won&#8217;t install. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/exec/obidos/redirect?tag=kuliahit-20%26link_code=xm2%26camp=2025%26creative=165953%26path=http://www.amazon.com/gp/redirect.html%253fASIN=B00026D13A%2526tag=kuliahit-20%2526lcode=xm2%2526cID=2025%2526ccmID=165953%2526location=/o/ASIN/B00026D13A%25253FSubscriptionId=0EMV44A9A5YT1RVDGZ82" title="View product details at Amazon"><img class="alignright" src="http://images.amazon.com/images/P/B00026D13A.01._SCTHUMBZZZ_.jpg" alt="The Movies" /></a>I bought The Movies 2 weeks ago. I&#8217;ve heard many good things about this game, so I thought I should give it a try. After installing the game, it said that DirectX 9.0c is required, and ask whether I want to install it or not. Now here goes the problem &#8211; DirectX 9.0c won&#8217;t install. When the installation begin, it went straight into the &#8220;Installation Finish&#8221; dialog box. Weird, huh?</p>
<p><span id="more-2090"></span>Doing a little research on the web, I found out that <strong>this problem is occured when we try to install DirectX 9.0c over DirectX 9.0b in Windows XP SP2 OS</strong>. I were using SP2 Beta with 9.0b at that time, so it seemed that my condition applied to the problem. </p>
<p>More deeper research revealed that this is a (stupid) bug from Microsoft&#8217;s DirectX 9.0c installation program. Technically, the install program (setup.exe) will check the Windows version first. If it is Windows XP with SP2 installed, it will then check the DirectX version, but only the major version (the number behind the dot). If it is &#8220;9&#8243; (including 9.0a and 9.0b), the program will think that you already have DirectX 9.0c installed since most Windows XP SP2 installation already come with that DirectX version. Big mistake, isn&#8217;t it?</p>
<p>So anyway, here&#8217;s the solution for the DirectX 9.0c installation problem.</p>
<ol>
<li>Get DirectX Uninstall program. There are lot of them on the web. Search using &#8220;<em>directx uninstall download</em>&#8221; keyword will do. Most of them are freeware so don&#8217;t worry about wasting extra money.</li>
<li>Run the program you&#8217;ve just downloaded. I think <em>all</em>, if not <em>most of them</em>, will ask you to restart the computer. Do it.</li>
<li>Once your computer restarted, your DirectX 9.0b (or 9.0a) is gone. Instead, you&#8217;ll get the native DirectX 8.1 that come with the original Windows XP installation.</li>
<li>Try to install DirectX 9.0c now. If it works, you&#8217;re done. If it&#8217;s not, go on with the next step. Mine won&#8217;t install in this step, but I read some comment/solution on the web said that it did work, so give it a try first.</li>
<li>Download DirectX 9.0b distribution package. You will also need 9.0c distribution package, so download it if you don&#8217;t have it yet. Extract them on any folder you want, for example: DX9B (for DirectX 9.0b) and DX9C (for DirectX 9.0c).</li>
<li>Now here goes the tricky part. <strong>Copy all the CAB files from your DirectX 9.0c folder  (DX9C) into your DirectX 9.0b folder (DX9B).</strong> Choose &#8220;YES&#8221; when prompted to overwrite files. Note that copying NON-CAB files from DX9B into DX9C might also work (I didn&#8217;t try it so I can&#8217;t guarantee it).</li>
<li>Run the DirectX installation program from the 9.0B folder (DX9B). DirectX 9.0c installation should work now.</li>
</ol>
<p>It works for me, so I hope it&#8217;d work for you too, guys! <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.funponsel.com/blog/software/how-to-install-directx-90c-over-windows-xp-sp2-with-directx-90b.html/feed</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>Best Hacking Tools and Tutorials</title>
		<link>http://www.funponsel.com/blog/crack-and-hack/best-hacking-tools-and-tutorials.html</link>
		<comments>http://www.funponsel.com/blog/crack-and-hack/best-hacking-tools-and-tutorials.html#comments</comments>
		<pubDate>Mon, 22 Aug 2005 09:16:40 +0000</pubDate>
		<dc:creator>cosa</dc:creator>
				<category><![CDATA[Crack & Hack]]></category>
		<category><![CDATA[crack]]></category>
		<category><![CDATA[Crack-&-Hack]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hacking-tools-2006]]></category>
		<category><![CDATA[msn-hacker-2007]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.funponsel.com/blog/archives/2005/08/22/best-hacking-tools-and-tutorials/</guid>
		<description><![CDATA[A list of many hacking tools and tutorials available on the web.
[ Source ]
]]></description>
			<content:encoded><![CDATA[<p>A list of many hacking tools and tutorials available on the web.</p>
<p>[ <a href="http://thetechdomain.com/?p=27">Source</a> ]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funponsel.com/blog/crack-and-hack/best-hacking-tools-and-tutorials.html/feed</wfw:commentRss>
		<slash:comments>131</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Throw Away Your Old PC!</title>
		<link>http://www.funponsel.com/blog/hardware-and-peripheral/dont-throw-away-your-old-pc.html</link>
		<comments>http://www.funponsel.com/blog/hardware-and-peripheral/dont-throw-away-your-old-pc.html#comments</comments>
		<pubDate>Fri, 12 Aug 2005 07:02:12 +0000</pubDate>
		<dc:creator>cosa</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Hardware & Peripheral]]></category>
		<category><![CDATA[file_server]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.funponsel.com/blog/archives/2005/08/12/dont-throw-away-your-old-pc/</guid>
		<description><![CDATA[Because with the following article from Tech Manifesto, you can turn your old dusty PC into a file server. Use the file server to store your MP3s, images, movies, or any other shared data. A very good tutorial for newbie.
[ Read Tutorial ] [ Via TipMonkies ]
]]></description>
			<content:encoded><![CDATA[<p>Because with the <a href="http://www.techmanifesto.com/archives/2005/08/10/turn-your-old-pc-into-a-file-server/">following article</a> from <a href="http://www.techmanifesto.com/">Tech Manifesto</a>, you can turn your old dusty PC into a file server. Use the file server to store your MP3s, images, movies, or any other shared data. A very good tutorial for newbie.</p>
<p>[ <a href="http://www.techmanifesto.com/archives/2005/08/10/turn-your-old-pc-into-a-file-server/">Read Tutorial</a> ] [ Via <a href="http://www.tipmonkies.com/2005/08/11/turning-your-old-computer-into-a-file-server">TipMonkies</a> ]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funponsel.com/blog/hardware-and-peripheral/dont-throw-away-your-old-pc.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Combine Photoshop and CSS to Make a Great Website</title>
		<link>http://www.funponsel.com/blog/article/how-to-combine-photoshop-and-css-to-make-a-great-website.html</link>
		<comments>http://www.funponsel.com/blog/article/how-to-combine-photoshop-and-css-to-make-a-great-website.html#comments</comments>
		<pubDate>Thu, 11 Aug 2005 01:34:32 +0000</pubDate>
		<dc:creator>cosa</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web_design]]></category>

		<guid isPermaLink="false">http://www.funponsel.com/blog/archives/2005/08/11/how-to-combine-photoshop-and-css-to-make-a-great-website/</guid>
		<description><![CDATA[A very good article from SitePoint which will teach you how to create a CSS-based web page from the scratch, starting from a blank Photoshop canvas. The article is written by Corrie Haffly, a lead designer and developer for PixelMill.

Get Cooking with Photoshop and CSS &#8211; 3 Low-fat Recipes
Are you a CSS guru&#8230; but a [...]]]></description>
			<content:encoded><![CDATA[<p>A very good <a href="http://www.sitepoint.com/article/get-cooking-photoshop-css">article</a> from <a href="http://www.sitepoint.com/">SitePoint</a> which will teach you how to create a <acronym title="Cascade Style-Sheet">CSS</acronym>-based web page from the scratch, starting from a blank Photoshop canvas. The article is written by <a href="http://www.sitepoint.com/authorcontact/373/1485">Corrie Haffly</a>, a lead designer and developer for <a href="http://www.pixelmill.com/">PixelMill</a>.</p>
<p><span id="more-342"></span><br />
<blockquote>Get Cooking with Photoshop and CSS &#8211; 3 Low-fat Recipes</p>
<p>Are you a <acronym title="Cascade Style-Sheet">CSS</acronym> guru&#8230; but a layout and graphics newbie? Or are you a whiz at making great Websites using tables, but feel lost with this whole <acronym title="Cascade Style-Sheet">CSS</acronym> thing? Perhaps you&#8217;re a little bit of bothâ€¦ or are trying to be! You may have gone through lots of Photoshop or Fireworks tutorials, and pored over even more <acronym title="Cascade Style-Sheet">CSS</acronym> tutorials, but how do you combine great graphics, layouts, and <acronym title="Cascade Style-Sheet">CSS</acronym> to produce an outstanding Website?</p></blockquote>
<p>[ <a href="http://www.sitepoint.com/article/get-cooking-photoshop-css">Read Article</a> ]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funponsel.com/blog/article/how-to-combine-photoshop-and-css-to-make-a-great-website.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How to Digg</title>
		<link>http://www.funponsel.com/blog/article/how-to-digg.html</link>
		<comments>http://www.funponsel.com/blog/article/how-to-digg.html#comments</comments>
		<pubDate>Tue, 09 Aug 2005 10:48:15 +0000</pubDate>
		<dc:creator>cosa</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[digg]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.funponsel.com/blog/?p=320</guid>
		<description><![CDATA[If you don&#8217;t know what to write on your blog, there&#8217;s always Digg. Digg allows everyone to submit their story on Digg website, let other people rate the story by &#8216;digging&#8217; it, and if it already has enough digg, it will go on the main page.  Not only that, people can also blogged the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://www.funponsel.net/images//digg_logo.jpg" width="56" height="94" alt="Digged" title="Digged" />If you don&#8217;t know what to write on your blog, there&#8217;s always <a href="http://www.digg.com">Digg</a>. Digg allows everyone to <a href="http://digg.com/submit">submit their story</a> on Digg website, let other people <a href="http://digg.com/diggall">rate the story</a> by &#8216;digging&#8217; it, and if it already has enough digg, it will go on the main page.  Not only that, people can also blogged the story automatically into their own blog.</p>
<p><span id="more-320"></span>Digg description from their site:</p>
<blockquote><p><strong>What&#8217;s Digg?</strong> Digg is a technology news website that combines social bookmarking, dynamic social RSS, and non-hierarchical editorial control. With digg, users submit stories for review, but rather than allowing an editor to decide which stories go on the homepage, the users do.</p></blockquote>
<p>In the following tutorial, I&#8217;ll show you how to add digg story into your blog.</p>
<ol>
<li>Go to <a href="http://www.digg.com">Digg</a> website.</li>
<li>Find the story you want to put on your blog. Then click on <strong>Blog This</strong> link below the story.
<p><a href="http://www.funponsel.net/images//digg_1.jpg" title="Digg Story"><img src="http://www.funponsel.net/images//_digg_1.jpg" width="300" height="57" alt="Digg Story"  /></a>
	</li>
<li>On the <strong>Post Item to My Blog</strong> page, you can modify the title and the story. Note that Digg will automatically add a link to the story, either the real source or the Digg&#8217;s site. You have to edit them later from your blog&#8217;s admin. Click <strong>Submit</strong> when you&#8217;re done editing.
<p><a href="http://www.funponsel.net/images//digg_2.jpg" title="Blog This"><img src="http://www.funponsel.net/images//_digg_2.jpg" width="300" height="232" alt="Blog This"  /></a></li>
<li>Now check your blog. The story will appear on your blog. You can edit them, like formatting the link to the story. Here&#8217;s a <a href="http://www.funponsel.com/blog/archives/2005/08/09/collection-of-text-files-from-1980-to-1995/">sample result</a> in my blog.
<p><a href="http://www.funponsel.net/images//digg_3.jpg" title="Result"><img src="http://www.funponsel.net/images//_digg_3.jpg" width="300" height="77" alt="Result"  /></a></li>
</ol>
<p>Don&#8217;t forget, before you can use this feature, you have to configure your Digg preference. Create a new user first on your blog and give it access to post an entry.</p>
<p><img src="http://www.funponsel.net/images//digg_5.jpg" width="302" height="350" alt="Digg Preference" title="Digg Preference" /></p>
<p>Of course, writing an original post still much appreciated than just copy-paste from other source <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) </p>
<p>&#8211; <em>yes, I know, sometime I still do the copy-paste thingy</em> :p</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funponsel.com/blog/article/how-to-digg.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Download MP3 from IRC</title>
		<link>http://www.funponsel.com/blog/internet/how-to-download-mp3-from-irc.html</link>
		<comments>http://www.funponsel.com/blog/internet/how-to-download-mp3-from-irc.html#comments</comments>
		<pubDate>Sun, 03 Jul 2005 01:57:56 +0000</pubDate>
		<dc:creator>cosa</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.funponsel.com/blog/archives/2005/07/03/how-to-download-mp3-from-irc/</guid>
		<description><![CDATA[Okay, since I got a lot of request for MP3 files, I wrote this quick tutorial for downloading MP3 from Irc. No, I don&#8217;t send MP3 via email nor provide MP3 to download on this site, so stop asking please  
[ Read Tutorial ]
]]></description>
			<content:encoded><![CDATA[<p>Okay, since I got a lot of request for MP3 files, I wrote <a href="http://www.funponsel.com/blog/how-to-download-mp3-from-irc/">this quick tutorial</a> for downloading MP3 from Irc. No, <strong>I don&#8217;t send MP3 via email nor provide MP3 to download on this site</strong>, so stop asking please <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>[ <a href="http://www.funponsel.com/blog/how-to-download-mp3-from-irc/">Read Tutorial</a> ]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funponsel.com/blog/internet/how-to-download-mp3-from-irc.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Several Interesting Stuff</title>
		<link>http://www.funponsel.com/blog/news/several-interesting-stuff.html</link>
		<comments>http://www.funponsel.com/blog/news/several-interesting-stuff.html#comments</comments>
		<pubDate>Wed, 18 May 2005 05:31:36 +0000</pubDate>
		<dc:creator>cosa</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[News Splash]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[3]]></category>
		<category><![CDATA[360]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[nintendo]]></category>
		<category><![CDATA[playstation]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[xbox]]></category>

		<guid isPermaLink="false">http://www.funponsel.com/blog/archives/2005/05/18/several-interesting-stuff/</guid>
		<description><![CDATA[
Looking for tutorial? Here&#8217;s one excellent resource. Pixel2Life has thousands of tutorial. Check it out! 
The next console war, PS3 vs XBox 360. Read the comparison article from GameSpot here.
Nintendo also join the war with Nintendo Revolution. More about this next-gen console here. And here are some screenshot of the Revolution. Hmmm, another &#8216;black box&#8216;, [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li><strong>Looking for tutorial?</strong> Here&#8217;s one excellent resource. <a href="http://www.pixel2life.com/">Pixel2Life</a> has thousands of tutorial. Check it out! </li>
<li>The next console war, <strong>PS3 vs XBox 360</strong>. Read the comparison article from <a href="http://www.gamespot.com/">GameSpot</a> <a href="http://hardware.gamespot.com/Story-ST-x-1985-x-x-x?tag=boxcar_all_features_image">here</a>.</li>
<li>Nintendo also join the war with <strong>Nintendo Revolution</strong>. More about this next-gen console <a href="http://www.computerandvideogames.com/r/?page=www.computerandvideogames.com/news/news_story.php(que)id=118586">here</a>. And here are <a href="http://media.cube.ign.com/articles/615/615030/imgs_1.html?fromint=1">some screenshot</a> of the Revolution. Hmmm, another &#8216;<em>black box</em>&#8216;, huh.</li>
<li><a href="http://www.microsoft.com/">Microsoft</a> has just released <strong>MSN Desktop Search</strong> yesterday. This application is used to search files using specified keyword, not just from their name, but also within PDFs, ZIPs, HTML, image meta tags, and more. Grab the app <a href="http://desktop.msn.com/">here</a>.</li>
<li>From <a href="http://blogs.msdn.com/">MS IE developer&#8217;s blog</a>, <strong>there will be tabs on IE7</strong>, just like Mozilla, Firefox, etc. Read more about this <a href="http://blogs.msdn.com/ie/archive/2005/05/16/417732.aspx">here</a>.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.funponsel.com/blog/news/several-interesting-stuff.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ajax Tutorial &#8211; Part II</title>
		<link>http://www.funponsel.com/blog/programming/ajax-tutorial-part-ii.html</link>
		<comments>http://www.funponsel.com/blog/programming/ajax-tutorial-part-ii.html#comments</comments>
		<pubDate>Fri, 13 May 2005 02:21:29 +0000</pubDate>
		<dc:creator>cosa</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.funponsel.com/blog/archives/2005/05/13/ajax-tutorial-part-ii/</guid>
		<description><![CDATA[This is it. The second part of my Ajax tutorial (original version, written in Indonesian language, is available here). This part mostly covered the scripting stuff. The original article was first published in eKelas @ May 5th, 2005.

The Easy Ajax Implementation
For our study case, we&#8217;re going to make a simple voting/rating booth application. We&#8217;re going [...]]]></description>
			<content:encoded><![CDATA[<div class="note">This is it. The second part of my Ajax tutorial (original version, written in Indonesian language, is available <a href="http://www.funponsel.com/blog/archives/2005/05/08/ajax-tutorial-part-i/">here</a>). This part mostly covered the scripting stuff. The original article was first published in <a href="http://ekelas.stikom.edu/forum">eKelas</a> @ May 5<sup>th</sup>, 2005.</div>
<p><span id="more-141"></span><br />
<strong>The Easy Ajax Implementation</strong></p>
<p>For our study case, we&#8217;re going to make a simple voting/rating booth application. We&#8217;re going to make 2 files, one for the front-end (<strong>vote.php</strong>, handle the user interface) and one for the back-end (<strong>sendVote.php</strong>, handle the data saving and retrieval). </p>
<p>First, here&#8217;s the code for <strong>vote.php</strong> (we&#8217;ll explain this later)</p>
<p>[php]< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><br />
<html xmlns="http://www.w3.org/1999/xhtml" ><br />
<head></p>
<p>    <script language="javascript" type="text/javascript"> </p>
<p>        var url = "sendVote.php?id=";
        var delurl = "&#038;value=";</p>
<p>        function handleHttpResponse() {
            if (http.readyState == 4) {
                results = http.responseText.split(",");
                document.getElementById('voteResult').value = results[0];
            }
        }        </p>
<p>        function updateVote() { 
            var voteValue = document.getElementById("voteValue").value; 
            var voteId = document.getElementById("voteId").value;
            http.open("GET", url + voteId + delurl + voteValue, true); 
            http.onreadystatechange = handleHttpResponse; 
            http.send(null);
        }</p>
<p>        function getHTTPObject() { 
            var xmlhttp; /*@cc_on 
            @if (@_jscript_version >= 5) 
                try { 
                    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
                } 
                catch (e) { 
                    try { 
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
                    } 
                    catch (E) { 
                        xmlhttp = false; 
                    } 
                } 
            @else 
                xmlhttp = false; 
            @end @*/  
            if (!xmlhttp &#038;&#038; typeof XMLHttpRequest != 'undefined') { 
                try { 
                    xmlhttp = new XMLHttpRequest(); 
                } 
                catch (e) { 
                    xmlhttp = false; 
                } 
            } 
            return xmlhttp; 
        } </p>
<p>        var http = getHTTPObject();</p>
<p>    </script></p>
<p></head><br />
<body></p>
<form>
<input TYPE="hidden" NAME="voteId" ID="voteId" VALUE="1"/>
        Rating: </p>
<select NAME="voteValue" ID="voteValue">
            <option VALUE="1">1</option><br />
            <option VALUE="2">2</option><br />
            <option VALUE="3">3</option><br />
            <option VALUE="4">4</option><br />
            <option VALUE="5">5</option><br />
        </select>
<input TYPE="button" NAME="submit" ID="submit" VALUE="Vote" onclick="updateVote();" />
        <br />
        Input Rating:<br />
<input TYPE="text" NAME="voteResult" ID="voteResult" WIDTH="5" />
    </form>
<p></body><br />
</html>[/php]</p>
<p>And the second file, <strong>sendVote.php</strong></p>
<p>[php]< ?php<br />
    echo $_GET['value'];<br />
?>[/php]</p>
<p>Before we continue, let&#8217;s try it first by calling vote.php from your web browser. Notice that after you select the rating and hit Vote button, the rating you choose will be displayed on the texbox below.</p>
<p><ins datetime="2005-05-07T07:51:32-07:00">Live Demo:</ins> <a href="http://www.funponsel.com/dev/ajax_vote/vote.php" title="Live Demo">http://www.funponsel.com/dev/ajax_vote/vote.php</a></p>
<p>In this first sample, the process is really simple. We haven&#8217;t process the rating value yet (no database involved), instead, we just send it back as an output for the back-end process. When you hit the Vote button, the JavaScript function, <strong>updateVote()</strong> will be called. In this stage, voteId and voteValue (rating value) are taken from the form and sent to sendVote.php as a parameter through XMLHttpRequest object.</p>
<p>The purpose of <strong>handleHttpResponse()</strong> function is to handle any change on the request status. When the status equal to 4 (<code>readyState == 4</code>), then the request process is over. Or it means that the back-end process already return output. After that, return output is taken from <strong>ResponseText</strong> attribute and then displayed on the textbox.</p>
<p>As already mention, there is no interaction with the database yet. Hey, we haven&#8217;t even create the database <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) <strong>sendVote.php</strong> will simply take the parameter and return the value right away (<code>echo $_GET['value'];</code>.</p>
<div class="comment">What about <strong>getHTTPObject()</strong> function? Don&#8217;t bother with it <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  The point is almost the same as what we&#8217;ve learned before on the first part, but with a little bit more <em>twist</em> <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) So let&#8217;s just focus on the XMLHttpRequest process <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  </div>
<blockquote><p>Notice that in this first example we only use XHTML, a simple DOM, and XMLHttpRequest. Just like what I already said before on the first part. No need to worry about learning Ajax on the hard way (with all the complexity of XMLDOM and CSS), as the easy way already exists <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p></blockquote>
<p>On the next page, we will modify our code above and start communication with the database.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funponsel.com/blog/programming/ajax-tutorial-part-ii.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Ajax Tutorial &#8211; Part I</title>
		<link>http://www.funponsel.com/blog/programming/ajax-tutorial-part-i.html</link>
		<comments>http://www.funponsel.com/blog/programming/ajax-tutorial-part-i.html#comments</comments>
		<pubDate>Sat, 07 May 2005 19:53:51 +0000</pubDate>
		<dc:creator>cosa</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.funponsel.com/blog/archives/2005/05/08/ajax-tutorial-part-i/</guid>
		<description><![CDATA[This is the English translation for my Ajax tutorial. Original article, written in Indonesian language, can be found here.

Introduction
Ajax is the current rising star in the web development field. Several popular company already started using Ajax, including: Google (Gmail, GMaps, GSuggest, GGroups), Amazon (A9.com), Flickr, and Orkut.
Ajax is not a new technology. It&#8217;s a new [...]]]></description>
			<content:encoded><![CDATA[<div class="note">This is the English translation for my Ajax tutorial. Original article, written in Indonesian language, can be found <a href="http://www.funponsel.com/blog/archives/2005/05/05/tutorial-ajax/" title="Tutorial Ajax">here</a>.</div>
<p><span id="more-126"></span></p>
<h2>Introduction</h2>
<p>Ajax is the current rising star in the web development field. Several popular company already started using Ajax, including: Google (Gmail, GMaps, GSuggest, GGroups), Amazon (A9.com), Flickr, and Orkut.</p>
<p><em>Ajax is not a new technology</em>. It&#8217;s a new developing approach, based on the following existing technologies:</p>
<ul>
<li><strong>XHTML</strong> and <strong>CSS</strong> for standard presentation,</li>
<li><strong>DOM (Document Object Model)</strong> for dynamic and interactive presentation,</li>
<li><strong>XML</strong> and <strong>XSLT</strong> for data exchange and manipulation, and</li>
<li><strong>XMLHttpRequest</strong> for asynchronius data retrieval</li>
</ul>
<div class="notes">In the implementation, not all of them must be used at once. The minimal requirement are XHTML, DOM, and XMLHttpRequest. CSS is used to formating and styling the site presentation, while XML (and XSLT) is used to formatting the data being exchange.</div>
<p>The foundation of Ajax is XMLHttpRequest object. It was first implemented by Microsoft on Internet Explorer 5 as an ActiveX object. Later, Mozilla engineers developed a compatible native version for Mozilla 1.0 (and Netscape 7), followed by Apple on their Safari 1.2 browser. </p>
<div class="comment">I haven&#8217;t check it myself, but my friend said that Opera browser doesn&#8217;t support XMLHttpRequest yet. I&#8217;d be grateful if anyone can confirm this for me.</div>
<p>In short, the purpose of this XMLHttpRequest object is to handle data request asynchronously in the background for any web application who need to exchange and manipulate data on-the-fly without reloading the page. In traditional data processing, user submits the data through form, browser sends the data to the server, then server return the output through a new page, so browser need to load that new page in order to display the result to user.</p>
<div class="note">To see what Ajax looks like, just login to your <a href="http://www.google.com/gmail">GMail</a> account (if you don&#8217;t have one, get it free <a href="http://www.funponsel.com/blog/archives/2005/04/17/free-gmail-account">here</a> <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ), and check your inbox. You&#8217;ll see a &#8220;Loading&#8221; message on the top right of the screen. Then the message disappear, and a list of your inbox message is displayed. All of them happen without reloading the page. Compare the process with <a href="http://mail.yahoo.com/">Yahoo! Mail</a> or <a href="http://www.hotmail.com">HotMail</a>. <a href="http://www.google.com">Google</a>&#8217;s <a href="http://www.google.com/gmail">GMail</a> used Ajax, and that&#8217;s what you get with Ajax implementation. Cool, huh? <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</div>
<p>On the next page, we will discuss more about XMLHttpRequest object.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funponsel.com/blog/programming/ajax-tutorial-part-i.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tutorial Ajax &#8211; Part II</title>
		<link>http://www.funponsel.com/blog/programming/tutorial-ajax-part-ii.html</link>
		<comments>http://www.funponsel.com/blog/programming/tutorial-ajax-part-ii.html#comments</comments>
		<pubDate>Thu, 05 May 2005 15:52:10 +0000</pubDate>
		<dc:creator>cosa</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.funponsel.com/blog/archives/2005/05/05/tutorial-ajax-part-ii/</guid>
		<description><![CDATA[Second and final part of my Ajax tutorial. This part mostly covered the scripting stuff. This article first published in eKelas @ May 5th, 2005. And yes, I&#8217;ll translate this into English asap  

Implementasi
Untuk percobaan, kita akan membuat sebuah aplikasi voting/rating booth sederhana. Secara umum, kita akan menyiapkan 2 buah file, yaitu sebuah file [...]]]></description>
			<content:encoded><![CDATA[<div class="note">Second and final part of my Ajax tutorial. This part mostly covered the scripting stuff. This article first published in <a href="http://ekelas.stikom.edu/forum">eKelas</a> @ May 5<sup>th</sup>, 2005. And yes, I&#8217;ll translate this into English asap <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </div>
<p><span id="more-118"></span><br />
<strong>Implementasi</strong></p>
<p>Untuk percobaan, kita akan membuat sebuah aplikasi voting/rating booth sederhana. Secara umum, kita akan menyiapkan 2 buah file, yaitu sebuah file HTML (atau PHP) untuk presentasi ke layar dan sebuah file script PHP untuk melakukan proses backend (retrieve &#038; save data).</p>
<p>File pertama, <strong>vote.htm</strong></p>
<p>[html]< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><br />
<html xmlns="http://www.w3.org/1999/xhtml" ><br />
<head></p>
<p>    <script language="javascript" type="text/javascript"> </p>
<p>        var url = "sendVote.php?id=";
        var delurl = "&#038;value=";</p>
<p>        function handleHttpResponse() {
            if (http.readyState == 4) {
                results = http.responseText.split(",");
                document.getElementById('voteResult').value = results[0];
            }
        }        </p>
<p>        function updateVote() { 
            var voteValue = document.getElementById("voteValue").value; 
            var voteId = document.getElementById("voteId").value;
            http.open("GET", url + voteId + delurl + voteValue, true); 
            http.onreadystatechange = handleHttpResponse; 
            http.send(null);
        }</p>
<p>        function getHTTPObject() { 
            var xmlhttp; /*@cc_on 
            @if (@_jscript_version >= 5) 
                try { 
                    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
                } 
                catch (e) { 
                    try { 
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
                    } 
                    catch (E) { 
                        xmlhttp = false; 
                    } 
                } 
            @else 
                xmlhttp = false; 
            @end @*/  
            if (!xmlhttp &#038;&#038; typeof XMLHttpRequest != 'undefined') { 
                try { 
                    xmlhttp = new XMLHttpRequest(); 
                } 
                catch (e) { 
                    xmlhttp = false; 
                } 
            } 
            return xmlhttp; 
        } </p>
<p>        var http = getHTTPObject();</p>
<p>    </script></p>
<p></head><br />
<body></p>
<form>
<input TYPE="hidden" NAME="voteId" ID="voteId" VALUE="1"/>
        Nilai: </p>
<select NAME="voteValue" ID="voteValue">
            <option VALUE="1">1</option><br />
            <option VALUE="2">2</option><br />
            <option VALUE="3">3</option><br />
            <option VALUE="4">4</option><br />
            <option VALUE="5">5</option><br />
        </select>
<input TYPE="button" NAME="submit" ID="submit" VALUE="Vote" onclick="updateVote();" />
        <br />
        Nilai yang Anda masukkan:<br />
<input TYPE="text" NAME="voteResult" ID="voteResult" WIDTH="5" />
    </form>
<p></body><br />
</html>[/html]</p>
<p>File kedua, <strong>sendVote.php</strong></p>
<p>[php]< ?php</p>
<p>    echo $_GET['value'];</p>
<p>?>[/php]</p>
<p>Sebelum dibahas, coba jalankan dulu dng cara memanggil file vote.htm. Perhatkan, pada saat Anda memilih nilai rating dan menekan tombol Vote, beberapa saat kemudian nilai tersebut akan muncul pada textbox di bawahnya.</p>
<p><ins datetime="2005-05-07T07:51:32-07:00">Live Demo:</ins> <a href="http://www.funponsel.com/dev/ajax_vote/vote.php" title="Live Demo">http://www.funponsel.com/dev/ajax_vote/vote.php</a></p>
<p>Pada contoh pertama ini, proses berlangsung sangat sederhana. Pada saat tombol Vote ditekan, maka akan dilakukan pemanggilan function JS <strong>updateVote()</strong>. Dalam fungsi ini dilakukan pemanggilan thd file sendVote.php dng parameter id dan value yg diambil dari form. Proses pemanggilan dilakukan melalui obyek XMLHttpRequest.</p>
<p>Function <strong>handleHttpResponse</strong> bertujuan untuk menangani perubahan status request. Apabila status adalah 4, berarti proses telah selesai. Selanjutnya data akan diambil dari atribut ResponseText dan ditampilkan dlm textbox.</p>
<p>Script sendVote.php saat ini masih belum melakukan interaksi dng database. Prosesnya hanyalah menerima parameter value dan mengembalikannya sbg output. Itu sebabnya yg muncul pada textbox adalah nilai yg kita pilih.</p>
<div class="comment">Bagaimana dng function getHTTPObject()? Tidak perlu dipikir <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Intinya hampir sama dng fungsi yg ada pada bagian sebelumnya, hanya sedikit lebih detil (mbulet <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</div>
<blockquote><p>Perhatikan bahwa dlm contoh ini kita hanya menggunakan XHTML, DOM, dan XMLHttpRequest. Sesuai dng yg saya sebutkan sebelumnya <img src='http://www.funponsel.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  DOM yg digunakan pun sangat sederhana, sekedar method getElementById saja.</p></blockquote>
<p>Pada halaman selanjutnya, kita akan melakukan sedikit modifikasi untuk berkoneksi dng database.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.funponsel.com/blog/programming/tutorial-ajax-part-ii.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
