<?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>Life: a Journey to Explore</title>
	<atom:link href="http://www.compare-review-information.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.compare-review-information.com</link>
	<description>Review and comparison of information and opinions</description>
	<pubDate>Mon, 02 Aug 2010 02:41:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Crystal Jewelry: Necklace, Bracelet and Earring</title>
		<link>http://www.compare-review-information.com/crystal-jewelry-necklace-bracelet-earring/</link>
		<comments>http://www.compare-review-information.com/crystal-jewelry-necklace-bracelet-earring/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 07:19:05 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
		
		<category><![CDATA[Crystal Jewelry]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=434</guid>
		<description><![CDATA[The word “Ai” is the oldest symbol in the eastern Asia. It has been used to convey people’s love to friends, the neighbours, flowers, and virtually anything. Ai Jewelry, a sweet name of a jewelry series, brings love to you and ones you love.
A friend of mine has ordered a crystal necklace from the Ai [...]]]></description>
			<content:encoded><![CDATA[<p>The word “Ai” is the oldest symbol in the eastern Asia. It has been used to convey people’s love to friends, the neighbours, flowers, and virtually anything. <strong><a href="http://www.800necklace.com" target="_blank">Ai Jewelry</a></strong>, a sweet name of a jewelry series, brings love to you and ones you love.</p>
<p>A friend of mine has ordered a <strong><a href="http://www.800necklace.com" target="_blank">crystal necklace</a></strong> from the Ai Jewelry web site. It arrives in a few days with a well packaged box.</p>
<p>When the box opens, you see a box full of love. More information about <strong><a href="http://crystalnecklace.wordpress.com" target="_blank">crystal jewelry</a></strong>:</p>
<p>Quartz crystal is a colorless mineral. Silica, and the main chemical substances ordinary sand. In another environment, the jewelry type contains crystal, agate, chalcedony, quartz, and the true son of Flint’s conversion.</p>
<p>Perfect hexagonal crystals, hexagonal rod-like shape, often one or two cylinders, long-term as the family crystal, beautiful and magnificent links, the number of members as sharp. Crystalline silicon is a different style. Crystal Gallery’d form will be surprised at the possibility of crystalline silicon. In addition to the typical long sword, as there are other signs of Double Cone who paved the finger. There are more than 24 grams, weight about 280 kg.</p>
<p>Beautiful natural human crystalline impressive, human health and psychological benefits and colorful appearance, diamonds, gold could not compete. Simple and beautiful stones are used to make jewelry are very popular materials.</p>
<p><a href="http://crystalbead.wordpress.com/" target="_blank"><strong>Crystal Bracelet and Pendants</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/crystal-jewelry-necklace-bracelet-earring/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Canadian Citizenship Test</title>
		<link>http://www.compare-review-information.com/new-canadian-citizenship-test/</link>
		<comments>http://www.compare-review-information.com/new-canadian-citizenship-test/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 05:44:38 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Citizenship]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=418</guid>
		<description><![CDATA[From March 15, 2010 on, the Canadian citizenship test is based on a new study guide: &#8216;Discover Canada&#8221;. Compared with the old study guide &#8216;A Look at Canada&#8217;, it is a more comprehensive document. If you have studied the old book but now you are required to take the new test, here is a list [...]]]></description>
			<content:encoded><![CDATA[<p>From March 15, 2010 on, the <a href="http://www.v-soul.com" target="_blank">Canadian citizenship test</a> is based on a new study guide: &#8216;Discover Canada&#8221;. Compared with the old study guide &#8216;A Look at Canada&#8217;, it is a more comprehensive document. If you have studied the old book but now you are required to take the new test, here is a list of the new content that you should pay attention to: </p>
<p>1. More details about the Canadian history. It has a section of more than 10 pages about the history of Canada and 4 pages about Modern Canada. It describes the Aboriginal peoples, British and French  as the founding people of Canada. Canada&#8217;s role in two world wars is detailed. Many histroic people are introduced so you may have more names to remember before sitting for the test. It is interesting to see that the study guide admits the historic wrongdoings of the Canadian government, such as the &#8220;Head Tax&#8221;, wartime wrongs inflicted on Japanese and education of Aboriginal children.</p>
<p>2. There are wording changes about the Canadian government, though the concepts are mainly the same. In the old book, it states Canada&#8217;s government has a system of parliamentary government. It is now in the new book as &#8220;a federal state, a parliamentary democracy and a constitutional monarchy.&#8221;</p>
<p>3. The concept of Sovereign is emphasized in the new book. A bill must be finally approved by &#8216;royal assent&#8217;. </p>
<p>4. The section about federal election is mostly unchanged except for the election cycle. In 2007, new laws passed to force a general election at least every 4 years and has a fixed date. The new book reflects this lastest change in legislation. </p>
<p>5. Justice System is the new content not seen in the old book, so you must know about it.</p>
<p>6. Canada Regions are now in more details. The new book covers each province/territory separately. Therefore, you must know at least the region you are in. </p>
<p>7. Canadian symbols now include &#8220;Coat of Arm and Motto&#8221;, honours to Canadians, sports and holidays.</p>
<p>If you are preparing for the <a href="http://canadiancitizenship.wordpress.com/" target="_blank">Canadian citizenship test</a> after March 15, 2010, you can use a good online practice web site which provides practice questions of the <b><a href="http://www.v-soul.com/onlinetest/">New Canadian Citizenship Test</a></b>.</p>
<p>Related Links:<br />
<a href="http://www.800citizen.org/application.htm" target="_blank">US Citizenship Application</a> for people to apply for their American citizenship and prepare for the <a href="http://www.800citizen.org/us_citizenship_test/" target="_blank">US Citizenship Test</a>.</p>
<p><a href="http://www.800necklace.com/" target="_blank">Crystal jewelry, necklaces, crystal earrings, ring crystal bracelets</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/new-canadian-citizenship-test/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Java SE 6u18 Performance Improvements</title>
		<link>http://www.compare-review-information.com/java-6u18-performance-improvement/</link>
		<comments>http://www.compare-review-information.com/java-6u18-performance-improvement/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 05:14:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=404</guid>
		<description><![CDATA[
Unlike the u17, the u18 update is not released for security, instead, it introduces many improvements on performance.


Faster Jar File Creation If you application need to create a lot of jar files, you will see about 20 percent improvement.


Hotspot VM Enhancement This includes some hardware-aware features, garbage collection improvements, class loading optimization and compile time [...]]]></description>
			<content:encoded><![CDATA[<p>
Unlike the u17, the u18 update is not released for security, instead, it introduces many improvements on performance.
</p>
<p>
<B>Faster Jar File Creation</b> If you application need to create a lot of jar files, you will see about 20 percent improvement.
</p>
<p>
<B>Hotspot VM Enhancement</b> This includes some hardware-aware features, garbage collection improvements, class loading optimization and compile time optimization on code generation. The improved G1 garbage collector is still not yet ready for production, unless you have business support contract with Sun.
</p>
<p>
<B>Application Startup Time Improvements</b> If you are using JavaFX, you will notice about 20 percent improvement when launching an FX application. Web start and applet application can now download jar files concurrently.
</p>
<p>
Other improvements include runtime UI application performance, zip file reading and deployment updates. For more info, please check out <a href="http://java.sun.com/javase/6/webnotes/6u18.html" rel="nofollow" target="_blank">here</a>.
</p>
<p>
Other links:<BR><br />
<a href="http://www.javafxgame.com/latest-eclipse-plugin-javafx/">JavaFX Plug-in for Eclipse 3.5.x</a><br />
<a href="http://www.compare-review-information.com/javafx-used-olympics/">javaFX used in Winter Olympics 2010</a><br />
<a href="http://www.compare-review-information.com/review-book-essential-javafx/">Review on Essential JavaFX</a><br />
<a href="http://www.javafxgame.com/javafx-how-tos/">JavaFX How-tos</a><BR><br />
<a href="http://australia.800citizen.com/australian_citizenship_test.php">Australian Citizenship Test</a><br />
<a href="http://life-in-the-uk-test.800citizen.com/uk_british_citizenship_test.php">Free British citizenship Test</a><br />
<a href="http://www.800citizen.com/application.htm">US Citizenship Application</a></p>
<p><a href="http://www.javafxblogs.com/java-se-u18%e7%9a%84%e6%80%a7%e8%83%bd%e6%8f%90%e5%8d%87/">Java SE U18的性能提高</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/java-6u18-performance-improvement/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JavaFX Used in Vancouver Olympics</title>
		<link>http://www.compare-review-information.com/javafx-used-olympics/</link>
		<comments>http://www.compare-review-information.com/javafx-used-olympics/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 10:08:30 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=383</guid>
		<description><![CDATA[I am not sure if this is the first web site that uses JavaFX for production, the official web site of the Vancouver Winter Olympics 2010 is using JavaFX for displaying the medal history of the Winter Olympics Games. In this winter, Vancouver is probably hot for Olympics, so is JavaFX. ( Check it out [...]]]></description>
			<content:encoded><![CDATA[<p>I am not sure if this is the first web site that uses JavaFX for production, the official web site of the Vancouver Winter Olympics 2010 is using JavaFX for displaying the medal history of the Winter Olympics Games. In this winter, Vancouver is probably hot for Olympics, so is JavaFX. ( Check it out here: <a href="http://www.vancouver2010.com/olympic-medals/geo-view/" rel="nofollow" target="_blank">http://www.vancouver2010.com/olympic-medals/geo-view/</a> )</p>
<p>This is a very cool demo (oh, I should say real world application) of the JavaFX visualization technologies. Overall, it works well except for some animations were not so smooth. Though the same effects can be achieved by Flash, I would say this is a good start for JavaFX going into practical use. Hope to see more and more such applications in JavaFX.</p>
<p><B>Other Links:</b><br />
<a href="http://www.javafxgame.com" target="_blank">Games in JavaFX</a><br />
<a href="http://www.javafxcenter.com" target="_blank">JavaFX Resources</a><br />
<a href="http://life-in-the-uk-test.800citizen.com/uk_british_citizenship_test.php" target="_blank">British Citizenship Test</a>: Life in the United Kingdom Test for settlement and Citizenship<BR><br />
<a href="http://www.phoneisfriend.com/iphone_life_in_uk_test/iphone_uk_citizenship_test.php" target="_blank">UK Citizenship Test on iPhone</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/javafx-used-olympics/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Review on the Book &#8220;Essential JavaFX&#8221;</title>
		<link>http://www.compare-review-information.com/review-book-essential-javafx/</link>
		<comments>http://www.compare-review-information.com/review-book-essential-javafx/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 15:39:26 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=363</guid>
		<description><![CDATA[


It has been a year since the official release of JavaFX. JavaFX had gone through 3 major releases and now the current version is 1.2.1. There are a few books out there on JavaFX. Today I would introduce the book “Essential JavaFX” by Gail Anderson and Paul Anderson. The book is also available in Chinese [...]]]></description>
			<content:encoded><![CDATA[<table border="0">
<tbody>
<tr>
<td>It has been a year since the official release of JavaFX. JavaFX had gone through 3 major releases and now the current version is 1.2.1. There are a few books out there on JavaFX. Today I would introduce the book “Essential JavaFX” by Gail Anderson and Paul Anderson. The book is also available in Chinese and it was translated by Sun Asian Globalization Center. You can read <a href="http://www.javafxblogs.com/javafx-essential/" target="_blank">my review in Chinese.</a></td>
<td width="18"></td>
<td><img src="/javafx/essential/javafx_book.jpg" alt="" height="108" /></td>
</tr>
</tbody>
</table>
<p>Gail and Paul are the founders of Anderson Software Group, Inc. They are both experienced software professionals and instructors. They have coauthored a few textbooks. “Essential JavaFX” is their latest book for people to learn the JavaFX script language. The JavaFX team at Sun had provided technical guidance for the book. The content conformed the JavaFX 1.2 SDK. For this reason, the book can serve as an excellent textbook for students or beginners. Other JavaFX programmers may also find it helpful as a reference resource.</p>
<p>As stated in the preface, the book is primarily for developers with some previous experience in any programming language(not necessarily Java). Readers without any programming experienced are advised to first learn some language such as Java or C++. In my opinion, because the strong intrinsic relationship between JavaFX and Java, I would consider that Java programmers are the most likely to learn JavaFX and have the lowest barrier to master it. Other developers with OO (Object Oriented) programming experience may also find familiar concepts and syntax in JavaFX.</p>
<p>I have multiple years of experience in various programming languages such as VB, Java and C++. When I start to learn a new language, I usually go through a HelloWorld like example to quickly understand its style and characteristics. Then I will skim through its grammar or syntax. After I got some basic ideas, I will dive into the details of each language construct. I find this approach extremely effective. Since the chapters of the book are organized in the same way, I find it very easy to follow.</p>
<p>The first chapter tells you how to download and setup your development environment. You basically need JavaFX SDK and NetBeans IDE. If you have experience on modern IDE like NetBeans or Eclipse, it won’t be difficult for you to install everything. A working development environment speeds up your progress in learning because you can try out the sample code while you are reading the book.</p>
<p>The second chapter provides an overview of JavaFX by an example called GuitarTuner. This example gets you on fast track to understand key concepts in JavaFX, such as declarative syntax, scene graph, binding and animation. After the first two chapters, you will probably get a feel of what functionalities can be achieved by JavaFX and how they are done in the language.<br />
<img src="/javafx/essential/tuner.jpg" alt="" /></p>
<p>The third chapter is about the language elements, such as variables and types, operators and expressions, classes and objects, functions and triggers. This chapter may seem tedious for experienced programmers. However, these are the fundamentals of a language, so my suggestion is to go through it fast and come back from time to time for language references.</p>
<p>The next two chapters introduce the graphical objects and UI components. You need to know them in order to construct your UI by using nodes, shapes, layouts, skins and SWING wrappers provided by JavaFX. If you know SWING or Java2D well, you may be able to identify some links between JavaFX and Java.</p>
<p>The sixth chapter elaborates on a JavaFX project “Piano” to demonstrate various features to build a rich application. By digesting this example, readers learn how to put everything together to build a JavaFX application. After finishing this chapter, a Java programmer should be able to write applications in JavaFX.<br />
<img src="/javafx/essential/piano.jpg" alt="" width="198" /></p>
<p>Chapter 7 and 8 illustrate two important features of JavaFX: animation and image handling, which include topics on Timelines, Keyframes, interpolation, path, transition, Image and ImageView classes. If you want your application to get “richer” and have better user experience, you should spend more time on these two chapters.<br />
<img src="/javafx/essential/ladder.jpg" alt="" width="198" /></p>
<p>Chapter 9 gives more details on getting internet data through RESTful web services. Getting remote data is almost a must for any RIA. Readers will learn two classes of JavaFX: PullParser and HttpRequest to retrieve and parse JSON or XML data. An example shows how to invoke web services from flickr’s photo services.</p>
<p>The last chapter describes how to develop a JavaFX mobile application. The Mobile Emulator in NetBeans is introduced. If you are going to develop a mobile application, you should definitely read this chapter to understand some mobile-specific issues. As an example, the authors walk you through the process of migrating a desktop JavaFX program to run on a mobile device.</p>
<table border="0">
<tbody>
<tr>
<td><img src="/javafx/essential/vertical.png" alt="" height="208" /></td>
<td width="18"></td>
<td><img src="/javafx/essential/horizontal.png" alt="" height="208" /></td>
</tr>
</tbody>
</table>
<p>In general, the content of the book “Essential JavaFX” is easy to be understood and the examples are quite instructive. I think the authors probably aim at writing a textbook for junior or intermediate programmers, hence some advanced features of JavaFX are not covered, such as multi-media and reflection. To sum up, I would recommend it to people who are about to learn the JavaFX language. It helps you learn JavaFX effectively.</p>
<p>P.S. if you are interested in other JavaFX books, you can check out Jonathan Giles’ blog of <a rel="nofollow" href="http://jonathangiles.net/blog/?p=421" target="_blank"><strong>Mini ‘Pro JavaFX Platform’ Book Review</strong></a>. I may write some comparison of a few JavaFX books too. So check back my blog later.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/review-book-essential-javafx/feed/</wfw:commentRss>
		</item>
		<item>
		<title>American Citizenship Practice Test</title>
		<link>http://www.compare-review-information.com/american-citizenship-practice-test/</link>
		<comments>http://www.compare-review-information.com/american-citizenship-practice-test/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 16:18:59 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Citizenship]]></category>

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

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

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

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

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

		<category><![CDATA[The Citizenship]]></category>

		<category><![CDATA[united states]]></category>

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=324</guid>
		<description><![CDATA[Last year, the USCIS( United States Citizenship and Immigration Services) had changed the US citizenship test format. This citizenship test is part of the naturalization process for immigrants to get their American citizenship. 
The test usually contains two parts. The first part is a test of English skill, which includes reading, writing and speaking English. [...]]]></description>
			<content:encoded><![CDATA[<p>Last year, the USCIS( United States Citizenship and Immigration Services) had changed the US citizenship test format. This citizenship test is part of the naturalization process for immigrants to get their American citizenship. </p>
<p>The test usually contains two parts. The first part is a test of English skill, which includes reading, writing and speaking English. The second part is the civics test, which a USCIS officer asks the applicant 10 questions about the United States. The applicant must answer at least six questions in order to pass this interview exam. </p>
<p>In the new citizenship test, there are 100 possible questions which the USCIS officer may ask. So it is very important that the citizenship applicants practise enough before going for the interview. One of the best citizenship web sites provides a <a href="http://www.800citizen.org/us_citizenship_test/"><b>free online citizenship test practcing system</b></a>. This practice system randomly generates 5-50 questions. It provides very good practice for people to get familiar with the test format and background knowledge. </p>
<p>This web site also provide excellent products such as DIY <a href="http://www.800citizen.org/application.htm"><b>US citizenship application kit</b></a> and <a href="http://www.800citizen.org/us_immigration_application/"><b>American immigration application kits for family class</b></a>. If you understand English, you probably need only these application kits to apply for your citizenship, or help your family members to reside in the United States.</p>
<p>Other Links:<br />
<a href="http://usacitizenship.wordpress.com">US Citizenship Application and Test Questions</a><br />
<a href="http://canadiancitizenship.wordpress.com">Canadian Citizenship Test Questions</a><br />
<a href="http://britishcitizentest.wordpress.com">UK Citizenship Online Test</a><br />
<a href="http://www.v-soul.com/onlinetest/" target="_blank">Free Online Canada Citizenship Test</a><br />
<a href="http://australia.800citizen.com/australian_citizenship_test.php">New Citizenship Test Questions of Australia</a><br />
<a href="http://life-in-the-uk-test.800citizen.com/uk_british_citizenship_test.php">Life in the UK: British Citizenship Test</a><br />
<a href="http://www.800citizen.org/us_citizenship_test/" target="_blank">US American Citizenship Practice Test</a><br />
<a href="http://www.800citizen.com/application.htm" target="_blank">US Citizenship Application Package</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/american-citizenship-practice-test/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Process of Canadian Citizenship Application</title>
		<link>http://www.compare-review-information.com/process-canadian-citizenship-application/</link>
		<comments>http://www.compare-review-information.com/process-canadian-citizenship-application/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 05:28:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Citizenship]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=7</guid>
		<description><![CDATA[Recently, some Canadian friends asked me how to apply for their citizenship in Canada. Here are the advices I gave them:
For one to apply for the Canadian citizenship, there are some basic requirements:
1) be a landed immigrant(permanent resident ) in Canada;
2) be 18 years of age or older at the time of application submission;
3) have [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, some Canadian friends asked me how to apply for their citizenship in Canada. Here are the advices I gave them:</p>
<p>For one to apply for the Canadian citizenship, there are some basic requirements:</p>
<p>1) be a landed immigrant(permanent resident ) in Canada;<br />
2) be 18 years of age or older at the time of application submission;<br />
3) have resided in Canada for a total of three years out of the four years on the day before you apply. You may count half of the time for the time you resided in Canada before you became a PR. The time you resided in Canada after you became a permanent resident counts as full time;<br />
4) know enough English or French for a simple conversation; and<br />
5) know enough about Canada&#8217;s geography, politics, history, and the rights and responsibilities of a citizenship to pass a test.</p>
<p>If all the above requirements are meet, one can pay the citizenship fees which are $200.00 in total. The fees can be paid at most financial institutions such as a bank. After that, send the application to the CIC case processing center. Things to send in:</p>
<p>a) Receipt of payment of citizienship fees;<br />
b) Completed application form;<br />
c) Two photos taken within the last 12 months.<br />
d) Supporting document such as Permanent Resident Card(Maple Card) and two personal IDs.</p>
<p><a href="http://www.phoneisfriend.com/canada_citizenship_test.php" target="_blank">Canada Citizenship Test on iphone ipod</a><br />
<a href="http://www.v-soul.com/onlinetest/" target="_blank">Free Online Canada Citizenship Test</a><br />
<a href="http://www.v-soul.com" target="_blank">Canadian Citizenship Application and Test</a><br />
<a href="http://australia.800citizen.com/australian_citizenship_test.php">New Citizenship Test Questions of Australia</a><br />
<a href="http://life-in-the-uk-test.800citizen.com/uk_british_citizenship_test.php">Life in the UK: British Citizenship Test</a><br />
<a href="http://www.800citizen.org/us_citizenship_test/" target="_blank">Online American Citizenship Test</a><br />
<a href="http://www.800citizen.com" target="_blank">US Citizenship Application</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/process-canadian-citizenship-application/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Earthquake Hits JavaFX</title>
		<link>http://www.compare-review-information.com/earthquake-hits-javafx/</link>
		<comments>http://www.compare-review-information.com/earthquake-hits-javafx/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 07:44:11 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=344</guid>
		<description><![CDATA[
What does an earthquake have to do with JavaFX? It is not so obvious, eh?




After I published my post about a JavaFX Online Wish Tree Application, I received some emails from readers reporting there were some problems to start the JavaFX client of the wish tree demo. I double checked and found nothing wrong in [...]]]></description>
			<content:encoded><![CDATA[<p><BR><br />
What does an earthquake have to do with JavaFX? It is not so obvious, eh?
</p>
<table>
<tr>
<td valign=top>
After I published my post about a <a href="http://www.javafxgame.com/javafx-online-game-prototype/" target="_blank"><b>JavaFX Online Wish Tree Application</b></a>, I received some emails from readers reporting there were some problems to start the JavaFX client of the wish tree demo. I double checked and found nothing wrong in my code and the deployment environment. So I provided some hints and started to work with those readers to troubleshoot the problem.
</td>
<td width=28></td>
<td><a href="http://www.javafxgame.com/javafx-online-game-prototype/" target="_blank"><img src="http://www.javafxgame.com/articles/wishtree/e-tree1.png" alt="javafx online Wish Tree" border=0 width=168 height=108></a>
</td>
</tr>
</table>
<p><BR></p>
<p>
After a few rounds of emails back-and-forth, we finally determined that it was due to a recent earthquake occured near the Taiwan region. The earthquake caused serious damage to the communication cables underneath the Pacific ocean. These cables are backbones connecting the internet between Asia and North America. As a result, people in Asia could not visit almost 70% of web sites located in North America. Still, how was this related to my JavaFX app? Here is the fact: the JNLP file of JavaFX requires connecting to javafx.com every time the application gets launched. Due to the outage of network, users in Asia could not connect to javafx.com. This eventually caused the failure of launching my JavaFX demo.</p>
<p>Since Sun does not allow redistribution of the JavaFX binary code, a user must connect to javafx.com to get some necessary jar files in order to run a JavaFX application. I suppose JavaFX should provide an alternative approach to resolve this kind of issue. Right now, the workaround is to have the javafx jar/dll files uploaded to the web server and modify the JNLP file to include them for the application. </p>
<p><b>Other JavaFX Articles: </b><br />
<a href="http://http://www.javafxgame.com/javafx-scene-swing-java/">JavaFX Nodes Usded in Swing Apps</a> &nbsp; &nbsp; &nbsp; <a href="http://www.compare-review-information.com/javafx-api-for-java/">JavaFX API for Java</a><br />
<a href="http://www.javafxgame.com/building-menu-in-javafx/">Building JavaFX Menu</a> &nbsp; &nbsp; &nbsp; <a href="http://www.javafxgame.com/calling-javafx-classes-from-java-code/">How can Java Code Call JavaFX?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/earthquake-hits-javafx/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JavaFX API for Java?</title>
		<link>http://www.compare-review-information.com/javafx-api-for-java/</link>
		<comments>http://www.compare-review-information.com/javafx-api-for-java/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 09:38:42 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=335</guid>
		<description><![CDATA[
Last week, in a poll many java developers said they did not want to use JavaFX in their applications. A  reason is probably that the APIs of JavaFX is not yet stable. It is true that JavaFX language itself is still evolving. If we search on the internet and we often get obsolete examples [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.javafxgame.com/dzoneurl.php?u=c&#038;i=javafx-api-for-java/&#038;b=javafx+api+for+java&#038;s=2&#038;t=javafx+api+for+java" width=153 height=25 hspace=0 vspace=0 frameborder=0 marginheight=0 marginwidth=0 scrolling=no></iframe></p>
<p>Last week, in a poll many java developers said they did not want to use JavaFX in their applications. A  reason is probably that the APIs of JavaFX is not yet stable. It is true that JavaFX language itself is still evolving. If we search on the internet and we often get obsolete examples which no longer run in the latest JavaFX version. So &#8220;pay attention to the publishing date&#8221; is a useful tip when you are looking for documents on JavaFX. </p>
<p>The second reason that developers stay away from JavaFX is the lack of convenient way to integrate existing Java applications with JavaFX. Undoubtedly, the strength of JavaFX is that it is based on Java. It gets compiled into bytecode, runs on a JVM and it can call methods of java classes. While compared with Flex or Silverlight, JavaFX has the advantage of n million of Java developers and a huge amount of Java applications. This is great and it gives a robust start to JavaFX. Unfortunately, there is no official way(except for reflection) for Java to fully utilize JavaFX features directly. This becomes a substantial barrier for people to adopt JavaFX. </p>
<p>JavaFX&#8217;s attraction to Java developers is the functionalities that are not available in Java SE, such as animation, media processing, charting. However, the price may be too high for developers to convert their existing Java code into JavaFX only to leverage the new features. There are many Java applications out there which cannot be easily changed, esp. for enterprise applications. If we have an easy way to call JavaFX functions from Java, the adoption of JavaFX in the Java developer community will be a lot faster and wider.</p>
<p>I think an ideal architecture of JavaFX API may look like this: <BR></p>
<p><img src="/javafx/javafxapi.png"></p>
<p>I am not sure technically how difficult it is to come up with a JavaFX API for Java, but I think it should be given some consideration for future JavaFX releases. Since JavaFX is still in its early stage of development, I hope we can see something like this sooner rather than later.</p>
<p><B>Related Articles:</B></p>
<p><a href="http://www.javafxgame.com/javafx-scene-swing-java/" target="_blank">How to Display JavaFX Scene in a Swing Window</a><BR><br />
<a href="http://www.javafxgame.com/calling-javafx-classes-from-java-code/" target="_blank">Using JavaFX Features in Java</a><BR><br />
<a href="http://www.compare-review-information.com/javafx-java-interoperability/" target="_blank">Interoperability between JavaFX &#038; Java</a><BR><br />
<a href="http://www.javafxgame.com/building-menu-in-javafx/">How to Show a SWING Menu in JavaFX</a><BR><br />
<a href="http://weblogs.java.net/blog/aim/archive/2009/06/insiders_guide.html" rel="nofollow" target="_blank">Convert Swing to JavaFX</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/javafx-api-for-java/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Pure Java Code to Call JavaFX Class</title>
		<link>http://www.compare-review-information.com/pure-java-code-to-call-javafx-class/</link>
		<comments>http://www.compare-review-information.com/pure-java-code-to-call-javafx-class/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 06:48:53 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<category><![CDATA[JavaFX Coding]]></category>

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=278</guid>
		<description><![CDATA[

In my previous post Interoperability between JavaFX and Java, I discussed three possible approaches to invoke JavaFX features from the Java side. These approaches were:




1. The ScriptEngineManager class. It is based on JSR-223, the java scripting API, which allows a java program to call a script(such as JavaFX Script, javascript).
2. The JavaFX reflection API. It [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.javafxgame.com/dzone.php" width=155 height=26 hspace=0 vspace=0 frameborder=0 marginheight=0 marginwidth=0 scrolling=no><br />
</iframe><br />
In my previous post <a href="http://www.compare-review-information.com/javafx-java-interoperability/" target="_blank">Interoperability between JavaFX and Java</a>, I discussed three possible approaches to invoke JavaFX features from the Java side. These approaches were:<BR></p>
<table>
<tr>
<td width=20></td>
<td>
1. The ScriptEngineManager class. It is based on JSR-223, the java scripting API, which allows a java program to call a script(such as JavaFX Script, javascript).<br />
2. The JavaFX reflection API. It can probably call any classes in JavaFX. <br />
3. The JavaFX class implements a Java interface so that a Java program can invoke the JavaFX class via the interface. The interface acts as a bridge between the two sides.
</td>
</tr>
</table>
<p>The third one seems the most elegant to call JavaFX from Java. However, there is a drawback: the program should start from the JavaFX side. The reason is that it is simpler to use JavaFX code to instantiate the JavaFX classes which can be passed to Java code. Nevertheless, in some scenario, it would be better to start the program from the java side. For example, if you want to add in some JavaFX features to an existing large java application, it is better to have java code as the entry point. To solve this issue, I am combining the essence of Approach 2 and 3 to create the below example.</p>
<p>Let&#8217;s say we want to invoke the latest charting functions of JavaFX 1.2 from the java code. We will first use the JavaFX reflection API to instantiate the JavaFX class. We then use it via its java interface. So we define a Java interface first.</p>
<pre name="code" class="java">
/*
 * JavaInterface.java
 *
 * @author Henry Zhang      http://www.javafxgame.com
 */
package javatest;
public interface JavaInterface {
  public void addData(String name, float data);
  public void showChart();
}
</pre>
<p>The next step is to create a JavaFX class <b>MyChart</b> to implements this interface: </p>
<pre name="code" class="javafx">
/*
 * MyChart.fx
 *
 * @author Henry Zhang     http://www.javafxgame.com
 */
package javatest;

import javafx.scene.chart.PieChart;
import javafx.scene.Scene;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.scene.chart.PieChart3D;

public class MyChart extends JavaInterface {
  var chartData :  PieChart.Data[] = [];

  public override function addData( l:String, v: Number):Void {
    var labelString = l;

    var data =  PieChart.Data {
      label : l
      value : v
      action: function() {
        println("{labelString} clicked!");
      }
     } ;

    insert data into chartData;
  }

  public override function showChart() : Void {
    var chart =
      PieChart3D {
        data : chartData
        pieThickness: 25
        pieLabelFont: Font{ size: 9 };
        pieToLabelLineOneLength: 10
        pieToLabelLineTwoLength : 20
        pieLabelVisible: true
        pieValueVisible: true
        translateY: -50
     };

    Stage {
      title: "PieChart Window"
      width: 520
      height: 300
      scene: Scene {
        content: [
          Text {
            font : Font {
                    size : 16
                   }
            x: 200
            y: 20
            content: "Pie Chart"
          },
          chart
        ]
      }
    }
  }
}
</pre>
<p>The last thing is to write the java main class <b>JavaTest</b>.</p>
<pre name="code" class="java">
/*
 * JavaTest.java
 * @author Henry Zhang    http://www.javafxgame.com
 */
package javatest;

import javafx.reflect.FXClassType;
import javafx.reflect.FXLocal;
import javafx.reflect.FXLocal.Context;
import javafx.reflect.FXLocal.ObjectValue;

public class JavaTest {
  public static void main(String args[]) {
    Context context = FXLocal.getContext();
    FXClassType instance = context.findClass("javatest.MyChart");
    ObjectValue obj = (ObjectValue)instance.newInstance();

    JavaInterface ji = (JavaInterface)obj.asObject();

    String [] labels = {"January", "Febuary", "March", "April"};
    int [] values = { 18, 20, 25, 37 };

    for ( int i=0; i < values.length; i++ ) {
      ji.addData(labels[i], values[i]);
    }

    ji.showChart();
  }
}
</pre>
<p>In the above code, there are three lines for instantiating a JavaFX class via reflection: </p>
<pre>
    Context context = FXLocal.getContext();
    FXClassType instance = context.findClass("javatest.MyChart");
    ObjectValue obj = (ObjectValue)instance.newInstance();
</pre>
<p>The next line is to convert the JavaFX instance into a java interface so that it can be used by Java code:</p>
<pre>
    JavaInterface ji = (JavaInterface)obj.asObject();
</pre>
<p>If you are using NetBeans IDE, you can set <b><tt>javatest.JavaTest</tt></b> as the main class in your project properties(so that it can be the entry point of your program). Build this project you will get a <b>javatest.jar</b>. Running this program produces the below screenshot: <BR><br />
<a href="http://www.compare-review-information.com/pure-java-code-to-call-javafx-class/"><br />
<img src="http://www.javafxgame.com/articles/interop/javapiechart.png" border=0 alt="Java PieChart via JavaFX"></a>
</p>
<p>To run it from the command line, use the below command:</p>
<pre>
<b>   javafx -jar javatest.jar</b>
</pre>
</p>
<p>Actually, you could do it in the purest java style by including all the JavaFX runtime stuffs, the command would look like this: </p>
<pre>
<b> java -Djava.library.path="&lt;path to javafx sdk lib>"
     -classpath "&lt;all javafx sdk jars>" -jar javatest.jar</b>
</pre>
<p>Since there are many jar files used by the JavaFX, this purest java approach turns out to be very troublesome. I would rather use the <b>javafx</b> command, which is a wrapper of the above java command.</p>
<p>
Please leave comments if you have any questions.<BR><BR>This article is cross-posted at <a target="_blank"  href="http://www.javafxgame.com/calling-javafx-classes-from-java-code">Calling JavaFX Classes from Pure Java Code</a>. The Chinese translation can be found at <a href="http://www.javafxblogs.com/java-call-javafx-code/" target="_blank">http://www.javafxblogs.com</a>.<BR><br />
<a href="http://www.compare-review-information.com/javafx-used-olympics/">JavaFX Used in Winter Olympic Games 2010</a><br />
<a href="http://www.compare-review-information.com/review-book-essential-javafx/">Review on Essential JavaFX</a><br />
<a href="http://www.800citizen.org/us_citizenship_test/">US Citizenship Practice Test</a></p>
<p><iframe src="http://www.javafxgame.com/dzoneurl.php?u=c&#038;i=pure-java-code-to-call-javafx-class/&#038;b=javafx+tips&#038;s=2&#038;t=Pure+Java+Code+to+Call+JavaFX+Class" width=153 height=25 hspace=0 vspace=0 frameborder=0 marginheight=0 marginwidth=0 scrolling=no></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/pure-java-code-to-call-javafx-class/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Pac-Man Widget for JavaFX 1.2</title>
		<link>http://www.compare-review-information.com/pac-man-widget-for-javafx-12/</link>
		<comments>http://www.compare-review-information.com/pac-man-widget-for-javafx-12/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 06:38:39 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<category><![CDATA[JavaFX Coding]]></category>

		<category><![CDATA[Javafx Games]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=262</guid>
		<description><![CDATA[To fully take advantage of the power of JavaFX 1.2, Stephen Chin had just released the WidgetFX 1.2 API beta version. There is even a widget contest running until the end of July. 

Just before the JavaOne 2009, Jim Weaver asked me to write a widget for my JavaFX Pac-man game. The WidgetFX API was [...]]]></description>
			<content:encoded><![CDATA[<p>To fully take advantage of the power of JavaFX 1.2, <a href="http://widgetfx.org" target="_blank" rel="nofollow">Stephen Chin</a> had just released the WidgetFX 1.2 API beta version. There is even a widget contest running until the end of July. </p>
<p>
Just before the JavaOne 2009, <a href="http://learnjavafx.typepad.com/" rel="nofollow" target="_blank">Jim Weaver</a> asked me to <a href="http://www.javafxgame.com/pac-man-game-widget/" target="_blank">write a widget for my JavaFX Pac-man game</a>. The WidgetFX API was quite simple to use, so I finished it pretty soon. The game widget later got demo-ed on Jim and Steve&#8217;s JavaOne sessions. There was a small problem of the pac-man widget: it run relatively slow due to the performance issue of JavaFX 1.1. Since JavaFX 1.2 and WidgetFX 1.2 are ready now, I am modifying the code to see the improvement on performance.
</p>
<p>First, the code of the Pac-Man game needs to be modified a little bit for JavaFX 1.2 . Since multi-inheritance is gone, we need to use mixin classes now.  You can refer to <a href="http://www.insideria.com/haining-henry-zhang/" rel="nofollow" target="_blank">my articles on insideRIA.com</a> for details of the code. Changes for JavaFX 1.2 were given on comments of Article 4 by Patrick Webster. I also added in a pausing key(&#8221;P&#8221; button) handling for the game. I compiled the game into a <b>pacman.jar</b> file.
</p>
<p>The next step is to write the widget. Actually, the code is quite simple if you do not have stuffs like configuartion etc. Let&#8217;s take a look at the code below:
</p>
<pre name="code" class="javafx">
/*
 * PacManWidget.fx
 * http://www.javafxgame.com
 */

package pacmanwidget;

import org.widgetfx.Widget;

/**
 * @author Henry Zhang
 */

def defaultWidth = 528.0;
def defaultHeight = 576.0;

def maze =  pacman.Maze {};

var widget:Widget = Widget {
    width: defaultWidth
    height: defaultHeight
    aspectRatio: defaultWidth / defaultHeight
    resizable: false
    content: maze          

    onDock: function():Void {
       maze.pauseGame();
    }
}

return widget;
</pre>
<p>
In the standalone game, an instance of the <b><tt>Maze</tt></b> class was put into the <b><tt>content</tt></b> variable of a <b><tt>Stage</tt></b>. Now, instead of putting it into a <b><tt>Stage</tt></b>, we add it into a <b><tt>Widget</tt></b>. To do this, we can just set the <b><tt>content</tt></b> variable of a <b><tt>Widget</tt></b> instance. Other attributes of the <b><tt>Widget</tt></b> class are quite straightforward, mostly for resizing purposes. The next thing is to write a <b><tt>onDock()</tt></b> function to pause the game when the widget gets docked. The game can be resumed after pressing the &#8220;p&#8221; button when it is undocked.
</p>
<p>The last thing is to deploy it on a web server. We need a JNLP file. Be sure to write the jnlp file of the JavaFX 1.2 style. Netbeans can generate the JNLP file which we can modify for deployment. I listed below part of my jnlp file. Besides the widget code <b><tt>PacManWidget.jar</tt></b>, there are supporting jar files( pacman.jar and WidgetFX-API.jar) under the <b>/lib</b> folder as well. Notice that there is a bug in the generated JNLP file by NetBeans 6.5.1: the <b>&lt;update></b> tag is missing a slash(/) at the end of the tag.
</p>
<pre>

 . . . . . .
 &lt;resources>
     &lt;j2se version="1.5+" />
     &lt;extension name="JavaFX Runtime"
        href="http://dl.javafx.com/1.2/javafx-rt.jnlp"/>
     &lt;jar href="PacManWidget.jar" main="true"/>
     &lt;jar href="lib/pacman.jar"/>
     &lt;jar href="lib/WidgetFX-API.jar"/>
 &lt;/resources>
 &lt;application-desc main-class="com.sun.javafx.runtime.main.Main">
    &lt;argument>MainJavaFXScript=pacmanwidget.PacManWidget&lt;/argument>
 &lt;/application-desc>
 &lt;update check="background" />
 . . . . . .
</pre>
<p><BR></p>
<p>Now, you can click on the below button to start the Pac-man widget for JavaFX 1.2. Enjoy!
</p>
<p>
<a href="http://widgetfx.org/beta/runner.jnlp?arg=http://www.javafxgame.com/articles/widget/jfxgamepacmanwidget.jnlp" rel="nofollow"><br />
<img border=0 src="http://widgetfx.googlecode.com/svn/site/images/WidgetFX-launch-icon.png" /></a> Pac-Man Widget 1.2
</p>
<p><BR><br />
<a href="http://www.javafxgame.com/pac-man-widget-for-widgetfx-12/">Pac-Man Game Widget for WidgetFX 1.2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/pac-man-widget-for-javafx-12/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JavaFX Pac-Man Game Article 5</title>
		<link>http://www.compare-review-information.com/javafx-pac-man-game-5/</link>
		<comments>http://www.compare-review-information.com/javafx-pac-man-game-5/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 10:26:47 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<category><![CDATA[JavaFX Coding]]></category>

		<category><![CDATA[Javafx Games]]></category>

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

		<category><![CDATA[pac-man]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=256</guid>
		<description><![CDATA[On java.net, there was a post by kfarnham about my articles on writing Pac-man game in JavaFX. He wondered whether there would be a fifth article. The answer is positive. Yesterday, my last article of a series, &#8220;Writing the Pac-Man Game in JavaFX Part 5&#8220;, had been published on insiderRIA.com. This final article detailed the [...]]]></description>
			<content:encoded><![CDATA[<p>On java.net, there was a <a href="http://weblogs.java.net/blog/editors/archives/2009/06/pacman_in_javaf.html" rel="nofollow" target="_blank">post by kfarnham</a> about my articles on writing Pac-man game in JavaFX. He wondered whether there would be a fifth article. The answer is positive. Yesterday, my last article of a series, &#8220;<a href="http://www.insideria.com/2009/06/writing-the-pac-man-game-in-ja-4.html" target="_blank" rel="nofollow">Writing the Pac-Man Game in JavaFX Part 5</a>&#8220;, had been published on insiderRIA.com. This final article detailed the chasing algorithms of the ghosts. I think it is probably one of the most interesting things in the code.
</p>
<p>When writing the game, there are a few points we need to consider before designing an algorithm of the ghosts, such as effectiveness, randomness, simplicity. You can refer to the article about considerations on these aspects. An excerpt from the article is listed below in blue text. It discussed the  choice of a proper algorithm. This algorithm not only serves as the chasing logic, it can also control the escaping behavior of the ghosts.
</p>
<p style="font-size:12px; color: blue;">
  . . . . . .<br />
After some thinking, I found that the distance between a ghost and the Pac-Man is a good ranking metric. The shorter the distance is, the higher the score is given to a particular choice. The advantages of using the distance as a metric are obvious. It is very simple and can be caculated easily. Besides, this algorithm makes a ghost move in the direction that has the shortest distance to thePac-Man. To illustrate this algorithm, let&#8217;s look at the below figure.
</p>
<p><img src="http://www.javafxgame.com/articles/pacman/ghostmoving.png"></p>
<p style="font-size:12px; color: blue;">In the figure, the ghost Blinky is moving into an intersection from the right to the left. When it reaches the intersection, it has three possible choices of its next movement: to go up, to go down and to continue heading left. Going down is not a valid move because it hits the border of the maze. So we need to compare the other two options. The below table shows the computation of the distance of the two possible moves: </p>
<p style="font-size:12px; color: blue;">
<table border=1 style="font-size:12px; color: blue;" >
<tr style="font-size:12px; font-weight: bold;" >
<td>Choice</td>
<td>X distance</td>
<td>Y distance</td>
<td>Total</td>
</tr>
<tr style="font-size:12px; color: blue;" >
<td>Intersection</td>
<td>3</td>
<td>10</td>
<td>13</td>
</tr>
<trstyle="font-size:12px; color: blue;" >
<td>Up</td>
<td>3</td>
<td>9</td>
<td>12</td>
</tr>
<tr>
<td>Left</td>
<td>4</td>
<td>10</td>
<td>14</td>
</tr>
</table>
<p style="font-size:12px; color: blue;">
As shown in the table, the distance from the intersection to the Pac-Man character is 13 (The distance between two adjacent dots is 1). If Blinky goes up, the distance is reduced to 12. If it heads left, the distance becomes 14. Therefore, going up seems a better choice for Blinky. In this way, Blinky should be able to get closer and closer to the Pac-Man and eventually catches him.
</p>
<p style="font-size:12px; color: blue;">Of course, this simple algorithm does not take into consideration for the walls in the maze. For this reason, sometimes the calculated score does not in fact represent the shortest path. However, this inaccuracy makes the ghosts appear &#8220;stupid&#8221; in the game, which is the randomness we want to achieve in the behavior. So we are going to implement it in our code. We rewrite the class <b><tt>MoveDecision</tt></b>. When the function <b><tt>evaluate()</tt></b> calculates a score, it takes in two arguments: the reference to Pac-Man instance and whether the ghost is in a hollow state. The variable <b><tt>distance</tt></b> is used to compute the score. If the ghost is going after the Pac-Man character, the score is <b><tt>500-distance</tt></b>, which means a shorter distance yields a higher score. If the Pac-Man is hunting the ghosts(when they are hollow), the score is caculated as <b><tt>500+distance</tt></b>. This makes the ghosts running away from the Pac-Man.<br />
. . . . . .
</p>
<p>
Now that all the articles had been published and I hope you enjoyed reading them. The game was originally written in JavaFX 1.0, and was compatible with JavaFX 1.1. Because multi-inheritance has been removed in JavaFX 1.2, I made some minor changes to the code. The abstract class <b><tt>MovingObject</tt></b> had been changed to <b>mixin</b> class. The code for JavaFX 1.2 can be download from <a href="http://www.javafxgame.com/download">JavaFX  Game Download Page</a>.
</p>
<p>You can now click on the below image to play the completed Pac-Man game, it is based on the newly released JavaFX 1.2 . With the improved performance, the game run very smoothly.
</p>
<p>
<a href="http://www.javafxgame.com/v10/pacman.jnlp"><br />
<img src="http://www.javafxgame.com/screenshoot.png" width="228" border=0 alt="click to run"></p>
<p><img src="http://www.javafxgame.com/launch.gif" alt="click to run" border=0></a>
</p>
<p>
<B>Related Articles:<BR></b><br />
<a href="http://www.javafxgame.com/javafx-pac-man-article-5">JavaFX Pac Man Part 5</a><br />
<a href="http://www.javafxgame.com">Develop Games in JavaFX</a><br />
<a href="http://www.javafxgame.com/javafx-sample-game-minesweeper/">JavaFX MineSweeper Demo Game</a><br />
<a href="http://www.javafxgame.com/the-linkup-game-in-javafx/">JavaFX Demo Game: LinkUP</a><br />
<a href="http://www.javafxgame.com/pac-man-game-widget/">WidgetFX Game Widgets: Pac-Man</a><br />
<a href="http://www.compare-review-information.com/my-javafx-demo/">My First JavaFX Game Demo</a><br />
<a href="http://www.compare-review-information.com/category/javafx/">JavaFX Discussion Blogs</a><BR></p>
<p>The Featured Articles on insideRIA.com:<BR><br />
May 14, 2009: <a href="http://www.insideria.com/2009/05/writing-the-pac-man-game-in-ja.html" target="_blank">Writing the Pac-Man Game in JavaFX - Part 1</a> <BR><br />
May 21, 2009: <a href="http://www.insideria.com/2009/05/writing-the-pac-man-game-in-ja-1.html" target="_blank">Writing the Pac-Man Game in JavaFX - Part 2</a> <BR><br />
May 28, 2009: <a href="http://www.insideria.com/2009/05/writing-the-pac-man-game-in-ja-2.html" target="_blank">Writing the Pac-Man Game in JavaFX - Part 3</a> <BR><br />
June 4, 2009: <a href="http://www.insideria.com/2009/06/writing-the-pac-man-game-in-ja-3.html" target="_blank">Writing the Pac-Man Game in JavaFX - Part 4</a> <BR><br />
June 11, 2009:<a href="http://www.insideria.com/2009/06/writing-the-pac-man-game-in-ja-4.html" target="_blank">Writing the Pac-Man Game in JavaFX - Part 5</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/javafx-pac-man-game-5/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Writing the Pac-Man Game Part 4</title>
		<link>http://www.compare-review-information.com/writing-the-pac-man-game-part-4/</link>
		<comments>http://www.compare-review-information.com/writing-the-pac-man-game-part-4/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 13:28:34 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<category><![CDATA[JavaFX Coding]]></category>

		<category><![CDATA[Javafx Games]]></category>

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

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

		<category><![CDATA[pac-man]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=248</guid>
		<description><![CDATA[My latest article of a series, &#8220;Writing the Pac-Man Game in JavaFX Part 4&#8220;, was out on June 4. As we continue on bulding the game, the articles are getting more and more interesting now.

In this fourth article, the interaction between Pac-Man character and the four ghosts was implemented. The article showed how to determine [...]]]></description>
			<content:encoded><![CDATA[<p>My latest article of a series, &#8220;<a href="http://www.insideria.com/2009/06/writing-the-pac-man-game-in-ja-3.html" target="_blank" rel="nofollow">Writing the Pac-Man Game in JavaFX Part 4</a>&#8220;, was out on June 4. As we continue on bulding the game, the articles are getting more and more interesting now.</p>
<p>
In this fourth article, the interaction between Pac-Man character and the four ghosts was implemented. The article showed how to determine whether the Pac-man character and a ghost touched each other. A simplified equation was applied to achieve better performance. When Pac-man touches a ghost, he can eat it if the ghost is hollow. The ghost then is thrown back to the cage again. Otherwise, the ghost eats the Pac-man, at this moment, an animation of showing a dying Pac-Man appears. This is in fact a shrinking circle which disappears at the end of the animation. The animation is accomplished by the <b><tt>DyingPacMan</tt></b> class. </p>
<p>The below figure depicts the animation process of the dying Pac-man character.</p>
<p><img src="http://www.javafxgame.com/articles/pacman/dyingman.png" alt="shriking pac-man"><br />
<BR>The code of <B>DyingPacMan.fx</b> is listed below:</p>
<pre name="code" class="javafx">
public class DyingPacMan extends Arc {

  var timeline = Timeline {
     repeatCount: 1
     keyFrames: [
        KeyFrame {
           time: 600ms
           action: function() {
           // hide the pacMan character &#038; ghosts before the animation
              maze.pacMan.visible = false;

              for ( g in maze.ghosts ) {
                 g.hide();
              }
              visible = true;
            }
           values: [ startAngle => 90, length=>360 ];
         },
        KeyFrame {
           time: 1800ms
           action: function() {
              visible = false;
            }
           values: [ startAngle => 270 tween Interpolator.LINEAR,
                     length => 0 tween Interpolator.LINEAR ]
         },
      ]
    }

 ... code omitted ...
}
</pre>
<p>As you can see it in the code, there are two keyframes of the animation. Interpolations of two instance variables, <b><tt>startAngle</tt></b> and <b><tt>length</tt></b>, are involved during the animation. To better illustrate this process, the below figure shows the change of the shape against a timeline. The animation started with a pause of 600ms and then the first key frame appears, which is a full circle. After that, the full circle will gradually turns into nothing(empty circle). This effect is done by the interpolation provided by JavaFX API.</p>
<p><img src="http://www.javafxgame.com/articles/pacman/pieanimation.png" alt="timeline pac-man">
</p>
<p>Hope you enjoy reading the articles. You can use arrow keys to play the current version of the game. The ghosts are moving randomly which makes the game less challenging. In the next article, I will introduced a better algorithm. Try it by clicking the below screenshot:
</p>
<p ><a href="http://www.javafxgame.com/v9.5/pacman.jnlp"><br />
<img src="http://www.insideria.com/upload/2009/05/maze11.png" width="228" border=0 alt="click to run"><br />
<img src="http://www.insideria.com/upload/2009/05/launch.gif" alt="click to run" border=0></a>
</p>
<p>
<b>Related Articles:<BR></b><br />
More articles on JavaFX Games: <a href="http://www.javafxgame.com">Developing Games in JavaFX</a><br />
<a href="http://www.javafxgame.com/download/">Source of the Pac-Man Game</a><br />
<a href="http://www.javafxgame.com/javafx-sample-game-minesweeper/">JavaFX Demo Game: MineSweeper </a><br />
<a href="http://www.javafxgame.com/the-linkup-game-in-javafx/">JavaFX Demo Game: LinkUP</a><br />
<a href="http://www.javafxgame.com/pac-man-game-widget/">Game Widgets for WidgetFX: Pac-Man</a><br />
<a href="http://www.javafxgame.com/my-first-javafx-demo-game-pac-man/">My JavaFX Demo Game: Pac-Man</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/writing-the-pac-man-game-part-4/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Writing the JavaFX Pac-Man Game Part 3</title>
		<link>http://www.compare-review-information.com/writing-javafx-pacman-game-3/</link>
		<comments>http://www.compare-review-information.com/writing-javafx-pacman-game-3/#comments</comments>
		<pubDate>Sun, 31 May 2009 09:42:27 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<category><![CDATA[JavaFX Coding]]></category>

		<category><![CDATA[Javafx Games]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=240</guid>
		<description><![CDATA[The latest JavaFX article of writing the Pac-Man game is published on May 28. It is the third out of a five-article series: &#8220;Writing the Pac-Man Game in JavaFX - Part 3&#8220;. 
In this article, the ghosts are introduced. The animation of the ghosts are almost the same as the Pac-Man character. It is basically [...]]]></description>
			<content:encoded><![CDATA[<p>The latest JavaFX article of writing the Pac-Man game is published on May 28. It is the third out of a five-article series: &#8220;<a href="http://www.insideria.com/2009/05/writing-the-pac-man-game-in-ja-2.html" target="_blank">Writing the Pac-Man Game in JavaFX - Part 3</a>&#8220;. </p>
<p>In this article, the ghosts are introduced. The animation of the ghosts are almost the same as the Pac-Man character. It is basically moving a CustomNode and switching the images. There are three sets of images for the animation: normal, hollow and flashing. The moving algorithm of the ghosts is the heart of the code. In this article, for simplicity, a random moving algorithm is applied. A more complicated moving behavior of the ghosts will be introduced in Article 5. Click on the below image to try the program so far. The Pac-man and ghosts cannot eat each other even they meet in the maze. The feature of eating each other will be illustrated in next article. As before, you can try this semi-completed program by clicking Java Web Start button below:</p>
<p><a href="http://www.javafxgame.com/v7/pacman.jnlp"><br />
<img src="http://www.insideria.com/upload/2009/05/maze8.png" border=0 width=280></p>
<p><img src="http://www.insideria.com/upload/2009/05/launch.gif" border=0></a>
</p>
<p>Related Articles:<BR><br />
<a href="http://www.compare-review-information.com/my-javafx-demo/">My JavaFX Demo Game: Pac-Man</a><BR><br />
<a href="http://www.compare-review-information.com/javafx-articles-writing-pac-man-game/">Articles on Writing the JavaFX Pac-Man Game</a><BR><br />
<a href="http://www.javafxgame.com/pac-man-game-widget/" target="_blank">Pac-Man Game WidgetFX Widget</a><BR><br />
<a href="http://www.javafxgame.com/javafx-sample-game-minesweeper/" target="_blank">JavaFX Game Example Code: MineSweeper</a><BR><br />
<a href="http://www.javafxgame.com/my-first-javafx-demo-game-pac-man/" target="_blank">JavaFX Game Demo Example: Pac-Man</a><BR>
</p>
<p><BR></p>
<p>Other unrelated links:<BR><br />
<a href="http://www.800citizen.com/" target="_blank">Applicant of American Citizenship</a> Information, software and guide.<BR><br />
<a href="http://www.800citizen.org/" target="_blank">Guide American Citizenship in United States</a><BR><br />
<a href="http://www.v-soul.com/" target="_blank">Canadian Citizenship Application and Practice Exam</a><BR></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/writing-javafx-pacman-game-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The 2nd Article on Pac-Man Game with JavaFX</title>
		<link>http://www.compare-review-information.com/article-on-pac-man-game-javafx-2/</link>
		<comments>http://www.compare-review-information.com/article-on-pac-man-game-javafx-2/#comments</comments>
		<pubDate>Fri, 22 May 2009 06:57:05 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<category><![CDATA[JavaFX Coding]]></category>

		<category><![CDATA[Javafx Games]]></category>

		<category><![CDATA[pac-man]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=238</guid>
		<description><![CDATA[The 2nd article of the series, &#8220;Writing the Pac-Man Game in JavaFX&#8220;, is published today. 

The first article introduced a data model in Java and the JavaFX drawing logic of the maze. In the 2nd article, the animation part of the Pac-Man character is detailed. When you are reading, you can click on the java [...]]]></description>
			<content:encoded><![CDATA[<p style="font-size:13px;">The 2nd article of the series, &#8220;<a href="http://www.insideria.com/2009/05/writing-the-pac-man-game-in-ja-1.html" target="_blank">Writing the Pac-Man Game in JavaFX</a>&#8220;, is published today. </p>
<p style="font-size:13px;">
The <a href="http://www.insideria.com/2009/05/writing-the-pac-man-game-in-ja.html" target="_blank" rel="nofollow">first article</a> introduced a data model in Java and the JavaFX drawing logic of the maze. In the 2nd article, the animation part of the Pac-Man character is detailed. When you are reading, you can click on the java web start links to see the Pac-Man opening and closing mouths, and gradually moving inside the maze. The keyboard handling code is illustrated as well. </p>
<p style="font-size:13px;">Some JavaFX features demostrated in these two articles include:</p>
<pre>
. shapes
. keyboard handling
. animation timeline
. java code integration
. Transfromation
</pre>
</p>
<p style="font-size:13px;">Hope you can enjoy reading the articles. You can use arrow keys to play a no-ghost version of the game. The Pac-Man character now can move around and gobble dots. Try it by clicking the below screenshot: <BR><BR></p>
<p><a href="http://www.javafxgame.com/v6/pacman.jnlp"><br />
<img src="http://www.insideria.com/upload/2009/05/maze7.png" width=280 alt="click to run" border=0></p>
<p><img src="http://www.insideria.com/upload/2009/05/launch.gif" border=0 alt="click to run"></a><BR><BR>
</p>
<p style="font-size:13px;">
Related Articles:<BR><br />
<a href="http://www.javafxgame.com">Develop Games in JavaFX</a><BR><br />
<a href="http://www.compare-review-information.com/my-javafx-demo/">My JavaFX Demo Game: Pac-Man</a><BR></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/article-on-pac-man-game-javafx-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Articles on Writing the JavaFX Pac-Man Game</title>
		<link>http://www.compare-review-information.com/javafx-articles-writing-pac-man-game/</link>
		<comments>http://www.compare-review-information.com/javafx-articles-writing-pac-man-game/#comments</comments>
		<pubDate>Sat, 16 May 2009 15:51:05 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<category><![CDATA[JavaFX Coding]]></category>

		<category><![CDATA[Javafx Games]]></category>

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

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

		<category><![CDATA[pac-man]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=219</guid>
		<description><![CDATA[


After the release of JavaFX 1.0, I wrote a Pac-Man game using the JavaFX API.  Many people were quite interested in the game. They either enjoyed playing it or asked me for the details fo the JavaFX code. JavaFX expert Jim Weaver invited me to write some articles about the process of building the [...]]]></description>
			<content:encoded><![CDATA[<p><table>
<tr>
<td>
After the release of JavaFX 1.0, I wrote a Pac-Man game using the JavaFX API.  Many people were quite interested in the game. They either enjoyed playing it or asked me for the details fo the JavaFX code. JavaFX expert <a href="http://learnjavafx.typepad.com" rel="nofollow" target="_blank">Jim Weaver</a> invited me to write some articles about the process of building the game. After a few weeks&#8217; hard work, with Jim&#8217;s constructive ideas and great help in proofreading, I finished the articles.  Now they are published on <a href="http://www.insideria.com" rel="nofollow" target="_blank">insideRIA.com</a>, an O&#8217;Reilly&#8217;s web site, as featured articles. There will be 5 articles in total and they will run through the coming 5 weeks.
</td>
<p><Td><br />
<img src="http://www.compare-review-information.com/javafx/screenshoot.png" width="200">
</td>
</tr>
</table>
<p>In each article, there are a few web start links that you can click on and start a JavaFX program to see how it works. If you follow the 5 articles, you will find out how the game is built bit by bit. I hope the articles can help people who want to learn JavaFX or want to develop games in JavaFX. Thanks Jim for making these articles possible. My thanks also goes to Rich, the editor of insideRIA.com. </p>
<p>Here is the links for the articles: </p>
<p>May 14, 2009:<br />
<a href="http://www.insideria.com/2009/05/writing-the-pac-man-game-in-ja.html" target="_blank">Writing the Pac-Man Game in JavaFX - Part 1</a><br />
May 21, 2009:<br />
<a href="http://www.insideria.com/2009/05/writing-the-pac-man-game-in-ja-1.html" target="_blank">Writing the Pac-Man Game in JavaFX - Part 2</a><br />
May 28, 2009:<br />
<a href="http://www.insideria.com/2009/05/writing-the-pac-man-game-in-ja-2.html" target="_blank">Writing the Pac-Man Game in JavaFX - Part 3</a><br />
June 4, 2009:<br />
<a href="http://www.insideria.com/2009/06/writing-the-pac-man-game-in-ja-3.html" target="_blank">Writing the Pac-Man Game in JavaFX - Part 4</a><br />
June 11, 2009:<br />
<a href="http://www.insideria.com/2009/06/writing-the-pac-man-game-in-ja-4.html" target="_blank">Writing the Pac-Man Game in JavaFX - Part 5</a> </p>
<p><b>Related articles: </b><br />
<a href="http://learnjavafx.typepad.com/weblog/2009/05/pacman-code-revealed.html" rel="nofollow" target="_blank">Answer: Blinky, Pinky, Inky and Clyde</a> from Jim Weaver&#8217;s Blog</p>
<p><a href="http://www.compare-review-information.com/my-javafx-demo/" target="_blank">My JavaFX Demo Game: PACMAN</a></p>
<p><a href="http://www.javafxgame.com/my-first-javafx-demo-game-pac-man/" target="_blank">JavaFX Demo Game: PAC-MAN</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/javafx-articles-writing-pac-man-game/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Wish Tree in JavaFX</title>
		<link>http://www.compare-review-information.com/build-a-wish-tree-in-javafx/</link>
		<comments>http://www.compare-review-information.com/build-a-wish-tree-in-javafx/#comments</comments>
		<pubDate>Thu, 14 May 2009 12:34:47 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<category><![CDATA[JavaFX Coding]]></category>

		<category><![CDATA[wish tree]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=212</guid>
		<description><![CDATA[This is a JavaFX program for my kids, or say it is some fun for everybody. You can make a wish and put it somewhere on a Wish Tree. Hopefully, it will come true some time pretty soon. A star hanging on the tree denotes a wish. For Phase I, I am building this wish [...]]]></description>
			<content:encoded><![CDATA[<p>This is a JavaFX program for my kids, or say it is some fun for everybody. You can make a wish and put it somewhere on a <b>Wish Tree</b>. Hopefully, it will come true some time pretty soon. A star hanging on the tree denotes a wish. For Phase I, I am building this wish tree as a standalone application. In Phase II, I will make an internet version, so that everyone can place wishes on the same tree(s).<br />
<center><a href="http://www.javafxgame.com/javafx-wish-tree/"><br />
<img src="http://www.javafxgame.com/articles/wishtree/e-tree1.png" border=0 alt="Wish tree: http://www.javafxgame.com"></a></center>
</p>
<p><BR></p>
<p>When you click on the wish tree, a wish star appears and a dialog is shown to allow you to enter your name and your wish. Later on, if you click on the same star, you have a chance to modify your wish. My daughter likes it very much, she places all kinds of wishes( such as I want a Barbie) on the tree and really hope they will come true soon. Go have some fun by clicking on the below image to place your wishes and good luck! ( JDK1.5+ is required, JDK 1.6 U13+ is better):<BR></p>
<p><center><a href="http://www.javafxgame.com/articles/wishtree/e-wishtreefast.jnlp"><br />
<img src="http://www.javafxgame.com/articles/wishtree/e-tree2.png" border=0 alt="Wish tree: http://www.javafxgame.com"><BR><br />
<img alt="click to start JavaFX Wish Tree" src="/launch.gif" border=0></a><br />
</center>
</p>
<p><BR></p>
<p>The program utilizes the features of JavaFX effect classes. The source code can be <a href="http://www.javafxgame.com/?page_id=38">downloaded here</a>. I will write a few articles to explain how to create such an application.
</p>
<p>The article is also posted at javafxgame.com: <a href="http://www.javafxgame.com/javafx-wish-tree/" target="_blank">JavaFX Wish Tree</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/build-a-wish-tree-in-javafx/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JavaFX Reserved Words and Syntax Highlighter</title>
		<link>http://www.compare-review-information.com/javafx-reserved-words/</link>
		<comments>http://www.compare-review-information.com/javafx-reserved-words/#comments</comments>
		<pubDate>Sat, 02 May 2009 12:10:50 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=207</guid>
		<description><![CDATA[Recently, when I was writing some articles on JavaFX, I found it necessary to obtain a list of reserved words(keywords) of JavaFX so that I could use them in a syntax highlighter for blogs and web pages. After some search, I found them at openjfx site. Since the keywords may be useful for other purposes, [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, when I was writing some articles on JavaFX, I found it necessary to obtain a list of reserved words(keywords) of JavaFX so that I could use them in a syntax highlighter for blogs and web pages. After some search, I found them at <a href="http://openjfx.java.sun.com/current-build/doc/reference/apas01.html" target="_blank' rel=">openjfx site</a>. Since the keywords may be useful for other purposes, I list them below ( for JavaFX 1.1):</p>
<pre>abstract after and as assert at attribute before bind bound break
catch class continue def delete else exclusive extends false finally
first for from function if import indexof in init insert instanceof
into inverse last lazy mixin mod new not null on or override
package postinit private protected public-init public public-read
replace return reverse sizeof static step super then this throw
trigger true try tween typeof var where while with</pre>
<p>Here is a sample of the <a href="http://www.javafxgame.com/javafx-syntaxhighlighter/" target="_blank">JavaFX syntax highlighter</a>, if you are intersted, check it out here: <a href="http://www.javafxgame.com/javafx-syntaxhighlighter/" target="_blank">JavaFX syntax highlighter</a>.</p>
<pre class="javafx">package pacman;
import java.lang.Math;
import pacman.MazeData;
import pacman.PacMan;

/**
 * @author Henry Zhang
 */

public class MoveDecision {

  // x and y of an intended move
  public var x: Number;
  public var y: Number;

  // evaluate if the move is valid and its score if it's valid
  public function evaluate(pacMan:PacMan, isHollow:Boolean): Void {
    if ( x &lt; 1 or y &lt; 1 or y &gt;= MazeData.GRID_SIZE
         or x &gt;= MazeData.GRID_SIZE){
      score = -1;
      return ;
    }
  }
 . . .
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/javafx-reserved-words/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Online Canadian Citienship Test Practice System</title>
		<link>http://www.compare-review-information.com/online-canadian-citienship-test-practice/</link>
		<comments>http://www.compare-review-information.com/online-canadian-citienship-test-practice/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 22:14:20 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Citizenship]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=147</guid>
		<description><![CDATA[After a few weeks&#8217; hard work, I finally came up with an Online Practice for the Canadian Citizenship Test. Many of my friends are Canadians and they find my online practice system very interesting and helpful.
This online system has a database of more than 120 practice questions. What makes it different from other systems is [...]]]></description>
			<content:encoded><![CDATA[<p>After a few weeks&#8217; hard work, I finally came up with an <a href="http://www.v-soul.com/onlinetest/">Online Practice for the Canadian Citizenship Test</a>. Many of my friends are Canadians and they find my online practice system very interesting and helpful.</p>
<p>This online system has a database of more than 120 practice questions. What makes it different from other systems is that it contains province-specific questions. For example, for citizenship applicants in Ontario, the questions will be like &#8220;What is the Premier of Ontario?&#8221;. This system can also keep track of practicing time and give a score based on the number of correct answers. After the test taker finishes a practice test, he/she can re-do the test for more practice.</p>
<p>So far, more than 400 daily visitors use this online practice system. I am very happy with it and will continue to work on it for improvement. More on <a href="http://www.v-soul.com/">Canadian Citizenship Practice Exam</a> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/online-canadian-citienship-test-practice/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Oracle buys Sun: The Future of JavaFX</title>
		<link>http://www.compare-review-information.com/future-of-javafx/</link>
		<comments>http://www.compare-review-information.com/future-of-javafx/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 16:07:59 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=193</guid>
		<description><![CDATA[Now that Oracle agrees to buy Sun for $7.4B. The acquisition of Sun has finally come to an end( or at least for a while). When we comparing the deal with IBM, it seems a better result for Sun, which is one of the most innovative companies in the Silicon Valley. Unlike IBM&#8217;s overlapping product [...]]]></description>
			<content:encoded><![CDATA[<p>Now that Oracle agrees to buy Sun for $7.4B. The acquisition of Sun has finally come to an end( or at least for a while). When we comparing the deal with IBM, it seems a better result for Sun, which is one of the most innovative companies in the Silicon Valley. Unlike IBM&#8217;s overlapping product lines, most of Sun&#8217;s software and hardware products are complement to Oracle&#8217;s. It is definitely a good news for Java, because now a software company owns it and should be able to make better use of it. </p>
<p>The future of JavaFX may not look so optimistic. JavaFX is only a few months old(since officially released). The APIs are not stable yet. It is not an industry standard and not many vendors are committed to it. Further, competing technology such as Flash is very popular and almost dominates the RIA domain. The only advantage of JavaFX is the broad user base of Java language. JavaFX is indeed built on top of Java, this makes it the biggest reason to use JavaFX. If Sun is acquired by Oracle, the roadmap or vision of JavaFX may change, or lay some uncertainty ahead.</p>
<p>If the acquisition does go through, I do hope Oracle can continue to foster JavaFX, which is still in its infancy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/future-of-javafx/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JavaFX Game: Frozen Bubble</title>
		<link>http://www.compare-review-information.com/javafx-frozen-bubble/</link>
		<comments>http://www.compare-review-information.com/javafx-frozen-bubble/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 07:34:16 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<category><![CDATA[Javafx Games]]></category>

		<category><![CDATA[frozen bubble]]></category>

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=187</guid>
		<description><![CDATA[Liu Xuan, a Chinese programmer, had written a Frozen Bubble game in JavaFX. He is kind to allow me to share his code here. The game was originally developed in Perl/SDL. A java port is available too. Liu&#8217;s program implemented a simplified version of the Frozen Bubble game in JavaFX.
Click on the below button to [...]]]></description>
			<content:encoded><![CDATA[<p>Liu Xuan, a Chinese programmer, had written a Frozen Bubble game in JavaFX. He is kind to allow me to share his code here. The <a rel="nofollow" href="http://www.frozen-bubble.org/">game</a> was originally developed in Perl/SDL. <a rel="nofollow" href="http://glenn.sanson.free.fr/v2/">A java port</a> is available too. Liu&#8217;s program implemented a simplified version of the Frozen Bubble game in JavaFX.</p>
<p><BR>Click on the below button to start the game, use left/right arrow key to aim and space button to fire.</p>
<p>
<center><a href="http://www.compare-review-information.com/javafx/frozenbubblecri.jnlp"><br />
<img src="http://www.compare-review-information.com/javafx/bubblescreen.png" border=0><BR><br />
<BR><img src="http://www.compare-review-information.com/launch.gif" border=0><br />
</a></center><br />
<BR></p>
<p>
The key handling code is accomplished in the class <strong><tt>Container</tt></strong>:</p>
<p><pre name="code" class="javafx" >public class Container extends CustomNode{
    public var bubbles = new HashMap();
    public var fadeBubbles: Bubble[];
    public var fallBubbles: Bubble[];
    public var gun: Gun = Gun{};
    public var shootAngle: Number;
    public var group: Group = Group {
        content: [
            // backgroud
            Rectangle {
                width: 320
                height: 480
                strokeWidth: 1
                stroke: Color.BLACK
                fill: LinearGradient {
                    startX: 0.0,
                    startY: 0.0,
                    endX: 0.0,
                    endY: 1.0
                    proportional: true
                    stops: [ Stop {
                            offset: 0.0
                            color: Color.YELLOWGREEN },
                        Stop {
                            offset: 1.0
                        color: Color.LIGHTBLUE } ]
                }
                onKeyPressed: function(e: KeyEvent):Void {
                  // keyboard event handling
                      .......
             }
            }
            gun
            //warning line
            Line {
                startX: 0,
                startY: Config.RED_LINE
                endX: 320
                endY: Config.RED_LINE
                strokeWidth: 1
                stroke: Color.RED
            }
            ImageView {
                  .......
            }
        ]
    };   

    public var inverseX = 1;   

    //semi-transparent layer for game over screen
    var layer = Rectangle {
        width: 320
        height: 480
        fill: Color.BLACK
        opacity: .4
    }
    var text = Text {
        content: "Press Enter To Start"
        font: Font {
            size: 20
        }
        x: 60
        y: 250
    }   

    // status of the game
    // 0 - game start and wait for shooting
    // 1 - bubble is moving
    // 2 - game over, the animation timeLine instanc
   // will stop at this value
    public var state = 2 on replace {
        if(state == 2) {
            timeline.stop();
            insert layer into group.content;
            insert text into group.content;
        }
    }   

    override public function create(): Node {
        group
    }   

    public function getLocation(row: Integer, col: Integer) : Point{
        var locationY = Config.ROW_SPACE * row;
        var locationX;
        if(row mod 2 == 0) {
            locationX = Config.BUBBLE_DIAMETER * col
        } else {
            locationX =
            Config.BUBBLE_DIAMETER * (col + .5) as Integer
        }
        return new Point(locationX, locationY)
    }   

    public function getAround(row: Integer, col: Integer): Bubble[] {
        var bArray: Bubble[] = [];
        var flag: Integer = 0;
        if(row mod 2 == 0) {
            flag = -1;
        }
        var bubble0 = getBubble(row, col - 1);
        var bubble1 = getBubble(row - 1, col + flag);
        var bubble2 = getBubble(row - 1, col + 1 + flag);
        var bubble3 = getBubble(row, col + 1);
        var bubble4 = getBubble(row + 1, col + flag);
        var bubble5 = getBubble(row + 1, col + 1 + flag);
        insert bubble0 into bArray;
        insert bubble1 into bArray;
        insert bubble2 into bArray;
        insert bubble3 into bArray;
        insert bubble4 into bArray;
        insert bubble5 into bArray;
        return bArray;
    }   

    public function getAround(bubble: Bubble): Bubble[] {
        var row: Integer = bubble.index.x;
        var col: Integer = bubble.index.y;
        return getAround(row, col);
    }
    public function getSameBubble(bubble: Bubble): Vector {
     var vector: Vector = new Vector();
     vector.add(bubble);
     var cursor = 0;
     while(
      cursor &lt; vector.size()) {
        var bubbleInVector: Bubble =
        vector.get(cursor++) as Bubble;
        var aroundBubbles:Bubble[]=getAround(bubbleInVector);
        for(aroundBubble in aroundBubbles) {
          if ( aroundBubble != null
               and aroundBubble.color == bubble.color
               and vector.indexOf(aroundBubble) == - 1) {
               vector.add(aroundBubble);
                }
            }
        }
        return vector;
    }   

    public function getConnected(bubble: Bubble): Vector {
      var vector: Vector = new Vector();
      vector.add(bubble);
      var cursor = 0;
      while(cursor &lt; vector.size()) {
        var bubbleInVector: Bubble =
        vector.get(cursor++) as Bubble;
        var aroundBubbles:Bubble[]=getAround(bubbleInVector);
        for(aroundBubble in aroundBubbles) {
            if ( aroundBubble != null
              and vector.indexOf(aroundBubble) == - 1) {
              vector.add(aroundBubble);
              }
            }
        }
        return vector;
    }   

  public function getIsolatedBubble(vector: Vector): Vector {
    var islatedBubble: Vector = new Vector();
      for(object in vector) {
        var sameBubble: Bubble = object as Bubble;
        var aroundBubbles:Bubble[] = getAround(sameBubble);
        for(aroundBubble in aroundBubbles) {
          if(aroundBubble != null) {
            var connectedBubble:Vector=getConnected(aroundBubble);
            var islate = true;
            for(col in [0..= 3) {
              for(object in vector) {
                var sameBubble: Bubble = object as Bubble;
                bubbles.remove(sameBubble.index);
                insert sameBubble into fadeBubbles;
              }
              for(object in getIsolatedBubble(vector)) {
                var islatedBubble: Bubble = object as Bubble;
                bubbles.remove(islatedBubble.index);
                insert islatedBubble into fallBubbles;
              }
            }
            state = 0;
            checkGameOver();
        }
    }   

    var timeCount = 0;   

    //moving, erasing, dropping the bubbles
    def timeline = Timeline {
        repeatCount: Timeline.INDEFINITE
        keyFrames:[
            KeyFrame {
                time: 0.005s
                action: function() {
                    ......
                    checkGameOver();
                    .......
            //reduce the transparency to erase the bubbles
            for(fadeBubble in fadeBubbles) {
                fadeBubble.opacity -= .02;
                if(fadeBubble.opacity &lt;= 0) {
                   fadeBubble.visible = false;
                   delete fadeBubble from fadeBubbles;
                   delete fadeBubble from group.content;
                   }
              }
              //drop those isolated bubbles
              for(fallBubble in fallBubbles) {
                fallBubble.locationY += 5;
                if(fallBubble.locationY &gt;= 428) {
                   fallBubble.visible = false;
                   delete fallBubble from fallBubbles;
                   delete fallBubble from group.content;
                   }
                 }   

                if(state == 1) {
                        ......
                //rebounce and collision handling
                checkCollision(bubble);
                }
              }
            }
        ]
    }   

    // initialization
    public function gameStart():Void {
          .....
          timeline.play();
    }
}</pre>
<p><BR></p>
<p>Source code can be downloaded <a href="http://www.compare-review-information.com/javafx/frozenbubblesource.zip">here</a>. Please note that Liu Xuan has the copyright of the code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/javafx-frozen-bubble/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Interoperability between JavaFX and Java</title>
		<link>http://www.compare-review-information.com/javafx-java-interoperability/</link>
		<comments>http://www.compare-review-information.com/javafx-java-interoperability/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 15:08:08 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<category><![CDATA[JavaFX Coding]]></category>

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=170</guid>
		<description><![CDATA[[ 2009/06/28 Update: Please refer to my latest article for discussion on: Pure Java Code to Call JavaFX Class ]
From the official JavaFX blog, an article discussed the possiblity of invoking methods of JavaFX classes from Java.  JavaFX can call Java code without any problem, however, the reverse is not supported by JavaFX.  [...]]]></description>
			<content:encoded><![CDATA[<p><b>[ 2009/06/28 Update: Please refer to my latest article for discussion on:<BR> <a target="_blank"  href="http://www.compare-review-information.com/pure-java-code-to-call-javafx-class/">Pure Java Code to Call JavaFX Class</a> ]</b></p>
<p>From the official <a href="http://blogs.sun.com/javafx/entry/how_to_use_javafx_in">JavaFX blog</a>, an article discussed the possiblity of invoking methods of JavaFX classes from Java.  JavaFX can call Java code without any problem, however, the reverse is not supported by JavaFX.  Doing some googling shows that programmers are trying all kinds of hacks to invoke a JavaFX class method from Java.  You can check out <a rel="nofollow" href="http://www.jroller.com/aalmiray/entry/some_javafx_java_groovy_examples">an interesting article on reverse engineering of JavaFX classes</a>. Even the example on JavaFX blog provided a hack to work around this.</p>
<p>So do we really have the need of such kind of interaction between Java and JavaFX? I&#8217;d say it is a &#8220;YES&#8221;. If Java and JavaFX can be used interchangeably(when possible), this could give more life to JavaFX in the long run. Just consider the MVC design pattern, we can write an application by using Java and JavaFX together. The &#8220;M&#8221; and &#8220;C&#8221; part can be implemented in Java while the &#8220;V&#8221; can be done by JavaFX. It would be very interesting to see this.</p>
<p>Right now, there are a few &#8220;standard&#8221; ways to call JavaFX from Java:</p>
<p>1) Using the ScriptEngineManager class.  From <a rel="nofollow" href="http://java.dzone.com/news/calling-javafx-from-java">Geertjan Wielenga</a>&#8217;s article, we can do it in this way:</p>
<pre name="code" class="java" >package calc; 

import java.io.InputStreamReader;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException; 

public class CalculatorLauncher { 

public static void main(String[] args) {
 try {
 ScriptEngineManager manager=new ScriptEngineManager();
 ScriptEngine engine = manager.getEngineByExtension("fx");
 InputStreamReader reader = new InputStreamReader
 (CalculatorLauncher.class.getResourceAsStream
 ("Calculator.fx"));
 engine.eval(reader);
   } catch (ScriptException ex) {
  }
 }
}</pre>
<p>However, this is just like <tt>System.exec(&#8221;calc&#8221;)</tt> as pointed out by cronseaux. I agree with him. A even simpler way is to use <tt>System.exec(&#8221;javafx Calculator.fx&#8221;)</tt> to complete the above code. So this is not a good solution.</p>
<p>2) Manage to use java reflection to call JavaFX class methods. This one should work because JavaFX classes are compiled into Java classes and byte code. However, the complexity makes it almost unusable and code written in this way has no readability.</p>
<p>3) A third approach is to define an interface in Java and implement it in JavaFX.  For example,</p>
<pre name="code" class="java" >
public interface JavaInterface
{ ... }</pre>
<p>In MyJavaFXClass.fx, do something like:</p>
<pre name="code" class="javafx" >public class MyJavaFXClass extends JavaInterface
{ ... }</pre>
<p>In you java code, just invoke the JavaFX object directly using the interface. This approach can solve most of the interoperation issues. Just that an interface is needed for every JavaFX class which is going to be called from Java. Though it is very cumbersome, at least it is the best workaround I can find so far.</p>
<p>Since this is the first release of JavaFX, I don&#8217;t criticize much on this given the strong powerful features of JavaFX. I do hope the future releases of JavaFX can improve on this.</p>
<p><b>[Update: Please refer to my latest article for discussion on <BR><br />
<a target="_blank"  href="http://www.javafxgame.com/calling-javafx-classes-from-java-code/">Pure Java Code to Call JavaFX Class</a>]</b></p>
<p><a href="http://www.aplusmodel.com/nascar/diecast/" target="_blank">Diecast Cars NASCAR Collectables</a><BR></p>
<p><a href="http://www.800citizen.org/us_citizenship_test/">Online US Citizenship Practice Test</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/javafx-java-interoperability/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Jim Weaver&#8217;s feedback</title>
		<link>http://www.compare-review-information.com/jim-weavers-feedback/</link>
		<comments>http://www.compare-review-information.com/jim-weavers-feedback/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 16:04:24 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=164</guid>
		<description><![CDATA[Today, I received JavaFX guru Jim Weaver&#8217;s feedback on my demo game PACMAN. He even had a post about my game on his blog. I am so encouraged by him. Thanks a lot, Jim. 
Many people visited my blog and played the game. I am really happy about it. Thanks for everyone&#8217;s playing and feedback. [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I received JavaFX guru Jim Weaver&#8217;s feedback on my demo game PACMAN. He even had a post about my game on <a href="http://learnjavafx.typepad.com/weblog/2008/12/henry-zhang-just-raised-the-bar-for-javafx-games.html">his blog</a>. I am so encouraged by him. Thanks a lot, Jim. </p>
<p>Many people visited my blog and played the game. I am really happy about it. Thanks for everyone&#8217;s playing and feedback. </p>
<p>Some people were asking me for the source code. I am working on the code towards a more complete version. After that, I will publish the code and write some documents on it. Hopefully I can finish it within a week(if I am not too busy at work&#8230; ^_^)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/jim-weavers-feedback/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Layoff number</title>
		<link>http://www.compare-review-information.com/layoffs-number/</link>
		<comments>http://www.compare-review-information.com/layoffs-number/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 14:58:28 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Others]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=108</guid>
		<description><![CDATA[News came today from the government that 533,000 jobs were cut in November. Forbe&#8217;s statistics also indicated that 31,387 job losses in December so far were from top 500 public companies. The unemployment rate jumped to almost 7%. In total, more than 10 million people were unemployed as of November, while the number of employed [...]]]></description>
			<content:encoded><![CDATA[<p>News came today from the government that 533,000 jobs were cut in November. Forbe&#8217;s statistics also indicated that 31,387 job losses in December so far were from top 500 public companies. The unemployment rate jumped to almost 7%. In total, more than 10 million people were unemployed as of November, while the number of employed was roughly 144 million.</p>
<p>Employers are slashing jobs to cut costs and cope with the contracting economy. Many of my friends are worrying about the security of their jobs, while frustrated by tanking stock prices and home values. This in turns results in more shrinking in consumer spending. And the cycle of even more job losses.</p>
<p>The most  important thing for now is to get enough cash to at hand to survive this winter. Investment should be really conservative for most. Refer to <a href="http://www.compare-review-information.com/safest-investment/">Safest Investment</a> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/layoffs-number/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JavaFX 1.0 Launched</title>
		<link>http://www.compare-review-information.com/javafx-10-launched/</link>
		<comments>http://www.compare-review-information.com/javafx-10-launched/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 06:31:34 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=102</guid>
		<description><![CDATA[Today, the JavaFX 1.0 SDK is officially released. It is really exciting! The JavaFX platform opens a huge market for developers and UI designers to work together for a rich interface application(RIA). Because Java technology is already on more than 10M devices(PDA, computers, cellphones, etc), this new scripting language is expected to be widely accepted [...]]]></description>
			<content:encoded><![CDATA[<p>Today, the JavaFX 1.0 SDK is officially released. It is really exciting! The JavaFX platform opens a huge market for developers and UI designers to work together for a rich interface application(RIA). Because Java technology is already on more than 10M devices(PDA, computers, cellphones, etc), this new scripting language is expected to be widely accepted by most Java developers.</p>
<p>One of the most innovative features, I think, should be the eye-opening Drag-to-install trick. This is support by the JDK 1.6U10. Applets can be dragged directly onto a desktop and run in a seperate window. This bring us the simplicity of installation of internet application.</p>
<p>Other useful and powerful features attractive to me include Netbeans IDE, video support, production suite. I downloaded and try the IDE, it is very simple to build your first &#8220;hello world&#8221; JavaFX program.</p>
<p>Refer to <a href="http://blogs.sun.com/javafx/entry/javafx_1_0_is_live" rel="nofollow">JavaFX is live</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/javafx-10-launched/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My JavaFX Demo Game: PAC-MAN</title>
		<link>http://www.compare-review-information.com/my-javafx-demo/</link>
		<comments>http://www.compare-review-information.com/my-javafx-demo/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 12:28:00 +0000</pubDate>
		<dc:creator>Henry Zhang</dc:creator>
		
		<category><![CDATA[JavaFX]]></category>

		<category><![CDATA[Javafx Games]]></category>

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

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

		<category><![CDATA[pac-man]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=123</guid>
		<description><![CDATA[UPDATE: June 30, 2009
If you are interested in how to write the Pac-Man game in JavaFX, the source code of this game, please check out this article: 
How to Write the Pac-Man Game with JavaFX
or Articles on Writing the JavaFX Pac-Man Game


I spent some time to implement the classic game &#8220;PAC MAN&#8221;. It demos many [...]]]></description>
			<content:encoded><![CDATA[<p><b>UPDATE: June 30, 2009<br />
If you are interested in how to write the Pac-Man game in JavaFX, the source code of this game, please check out this article: </p>
<p><a href="http://www.javafxgame.com/how-to-write-pac-man-game-javafx/" target="_blank">How to Write the Pac-Man Game with JavaFX</a><br />
or <a href="http://www.compare-review-information.com/javafx-articles-writing-pac-man-game/">Articles on Writing the JavaFX Pac-Man Game</a><br />
</b></p>
<p>
I spent some time to implement the classic game &#8220;PAC MAN&#8221;. It demos many features of the JavaFX language. Right now, it is a &#8220;simplified&#8221; PACMAN Game. I am working on the code and hopefully to complete the PACMAN game soon. Source code is not released yet because I plan to do so when I finish the whole game. A blog of writing this game will be available soon. Stay tuned.</p>
<p><strong>Usage:</strong><br />
Arrow keys to move and control to pac-man to eat all dots inside the maze. The big dots are magic dots which allow the pac-man to eat ghosts.</p>
<p>JavaFX Features Demostrated:</p>
<ul>
<li>Bindings</li>
<li>Animations</li>
<li>Effects</li>
<li>Transforms</li>
<li>Multiple inheritant</li>
<li>Java classes integration</li>
<li>Declarative statements</li>
<li>Sequences, how to map 2D arrays into a 1D Sequence</li>
<li>Handling keyboard events</li>
</ul>
<p>JRE 1.5+ required, JRE1.6 U10 is better, it will take some time for first time launching the game &#8230;</p>
<p><a href="http://www.javafxgame.com/pacman.jnlp"><img src="http://www.compare-review-information.com/javafx/screenshoot.png" alt="screenshot" width="400" /></p>
<p><img src="http://www.compare-review-information.com/launch.gif" border="0" alt="" /></a></p>
<p>My JavaFX code is compatible with the newly released JavaFX 1.0. JavaFX is for Windows and Mac for now. The unofficial JavaFX SDK of Linux can be found here:<br />
<a rel="nofollow" href="http://silveiraneto.net/2008/12/06/javafx-sdk-10-on-linux/">http://silveiraneto.net/2008/12/06/javafx-sdk-10-on-linux/</a></p>
<p><b>If you cannot play now, you can watch the video:</b><br />
<BR><br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/_N6xJcT00D4&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/_N6xJcT00D4&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p><BR><BR><BR><br />
Unrelated links:<BR><br />
<a href="http://www.javafxcenter.com/javafx/">JavaFX Articles</a><BR><br />
<a href="http://www.aplusmodel.com/nascar/diecast/">Collection: NASCAR Diecast Model Cars</a><br />
<BR><br />
<a href="http://members.verizon.net/~vze2kyct/prm.html">Canadian Citizenship Practice Test</a><br />
<BR><a href="http://members.verizon.net/~vze2kyct/diecast_nascar.html">NASCAR Car Diecast</a><br />
<BR><a href="http://www.aplusmodel.com/nascar/drivers/">NASCAR Drivers</a><br />
<BR><a href="http://life-in-the-uk-test.800citizen.com/uk_british_citizenship_test.php"><b>British Citizenship Test for United Kingdom</b></a><BR><BR></p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/my-javafx-demo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Citigroup&#8217;s bailout</title>
		<link>http://www.compare-review-information.com/cititgroup-bailout/</link>
		<comments>http://www.compare-review-information.com/cititgroup-bailout/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 13:04:20 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=67</guid>
		<description><![CDATA[Last night, the US government rushed to rescue Citigroup and agreed to put billions of dollars into the stricken bank and to plow a whopping $20 billion into it.
Again, Citigroup is &#8220;too big&#8221; to fail, just like that AIG is &#8220;too big&#8221; to fail,  BoA and lots of other banks, too. And despite the [...]]]></description>
			<content:encoded><![CDATA[<p>Last night, the US government rushed to rescue Citigroup and agreed to put billions of dollars into the stricken bank and to plow a whopping $20 billion into it.</p>
<p>Again, Citigroup is &#8220;too big&#8221; to fail, just like that AIG is &#8220;too big&#8221; to fail,  BoA and lots of other banks, too. And despite the posturing in Congress right now, we can bet the &#8220;Big 3&#8243; automakers are too big to fail, too. They are going to get a voucher of $30, $60 or even $100 billion soon. In total, about a trillion tax dollars will probably end up in smoke.</p>
<p>However, the government does not even give a damn about our personal investment losses. The meltdown of the markets wiped off our hard-earned money. Who will bail us out? Mr. Obama, do you listen to us?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/cititgroup-bailout/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Safest investment</title>
		<link>http://www.compare-review-information.com/safest-investment/</link>
		<comments>http://www.compare-review-information.com/safest-investment/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 13:39:11 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=83</guid>
		<description><![CDATA[During the financial crisis, what is the safest investment today?
The answer is probably the Treasury bill(T-bill). This investment instrument is backed by the government. As long as the government remains alive, your T-bill will be paid back with a interest. If the country goes bankrupted, like Iceland, the T-bill will probably be worthless. Recently, a [...]]]></description>
			<content:encoded><![CDATA[<p>During the financial crisis, what is the safest investment today?</p>
<p>The answer is probably the Treasury bill(T-bill). This investment instrument is backed by the government. As long as the government remains alive, your T-bill will be paid back with a interest. If the country goes bankrupted, like Iceland, the T-bill will probably be worthless. Recently, a T-bill pays you 1.x% of interest. </p>
<p>The next safest product maybe is  the savings bond at 2.x%. A corporate bond usually pays out about 3.x%. A corporate bond has more risk than a Treasury bill. A friend told me that there is an instrument that can get him a 14% annual interest. Though I don&#8217;t know what the actual investment is, I am sure this kind of return should be associated with extraordinarily high risk based on the risk/return ratio. So I advice him avoid such kind of investment because we are in a time that cash is the King, or perserve your capital and wait for the right time to invest.</p>
<p>So let&#8217;s wait and see&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/safest-investment/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Effective Content for Marketing</title>
		<link>http://www.compare-review-information.com/effective-content-marketing/</link>
		<comments>http://www.compare-review-information.com/effective-content-marketing/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 17:25:21 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
		
		<category><![CDATA[Others]]></category>

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=141</guid>
		<description><![CDATA[People visit a web site mostly for useful information, especially frequently updated content. The home page of your site is the most crucial one which you should pay more attention to. When visitors come to your web site, you have about 10-20 seconds to convince them that your site is what they are looking for. [...]]]></description>
			<content:encoded><![CDATA[<p>People visit a web site mostly for useful information, especially frequently updated content. The home page of your site is the most crucial one which you should pay more attention to. When visitors come to your web site, you have about 10-20 seconds to convince them that your site is what they are looking for. So the content of your front page is really important. </p>
<p>To run a successful web site, content is the king. Your content should be accurate, interesting, and reader-friendly. You can either write your own content or purchase from some one else. If you are writing your own articles, make sure know the content well. If you are buying from others, you should carefully pick the authors with a good reputation in the domain. Usually, images/photo content are easy to find, many free resources online. Unless you have a very high budget, do not buy a lot written content. Only a few good articles can help building your web site&#8217;s credit in the area.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/effective-content-marketing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Best time to invest to where?</title>
		<link>http://www.compare-review-information.com/best-time-to-invest-in-where/</link>
		<comments>http://www.compare-review-information.com/best-time-to-invest-in-where/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 16:04:22 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=71</guid>
		<description><![CDATA[We know that the U.S. stock markets won&#8217;t come back any time sooner. So where can we put our money to work? 
I think China is a candidate that we can put safe money into. China&#8217;s growth rate will drop to around 8-9% in 2009, but it is still much higher than the US, which [...]]]></description>
			<content:encoded><![CDATA[<p>We know that the U.S. stock markets won&#8217;t come back any time sooner. So where can we put our money to work? </p>
<p>I think China is a candidate that we can put safe money into. China&#8217;s growth rate will drop to around 8-9% in 2009, but it is still much higher than the US, which is going towards a recession. So you do not have to be a mathematician to figure out where the big money flows to in the coming few years.</p>
<p>Furthermore, it is seldom known to us that the Chinese banking system is much safer now - with less than 0.1% of the asset exposure to the subprime mess. Chinese banking system is dominated by four big state-owned banks, which can hardly get bankrupted. With more than $1.4 trillion in cash sitting in the banks, there&#8217;s no liquidity crisis in China. </p>
<p>Therefore we are sure that the smart money is flooding into China at light speed, with investors cherry-picking world-class Chinese companies for pennies on the dollar. </p>
<p>Based on the above reasoning, I suggest we buy into some Chinese index funds, such as ETFs for a long time gain. To name a few, FXI and PGJ.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/best-time-to-invest-in-where/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Online Marketing techniques</title>
		<link>http://www.compare-review-information.com/online-marketing-techniques/</link>
		<comments>http://www.compare-review-information.com/online-marketing-techniques/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 19:20:50 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
		
		<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=87</guid>
		<description><![CDATA[Last week, I joined a seminar of internet marketing. It was a good one and I learnt quite a few techniques to promote an online business. Sum up as below:
1) Use Distinguished Product Description
When we are putting up our product pages, we can use key attributes such as product ID, item number. This will make [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I joined a seminar of internet marketing. It was a good one and I learnt quite a few techniques to promote an online business. Sum up as below:</p>
<p>1) Use Distinguished Product Description</p>
<p>When we are putting up our product pages, we can use key attributes such as product ID, item number. This will make your products or pages unique in search engines like google and help increasing the visibility of relevant keyword search.</p>
<p>2) Use Right Descriptions</p>
<p>The description is where you want to provide accurate details of your products. Be sure to avoid ambiguity, so that your customers won&#8217;t come back for a refund simply because they misunderstood your products&#8217; features.</p>
<p>3) Apply Creative Titles</p>
<p>This is the common rule that should be applied to titles of blogs, articles, forum post subjects, etc. You should try your best to get visitors&#8217; attention with the title before they get bored and leave your site.</p>
<p>4) Keep Updating Your Feeds </p>
<p>It is a good practice to update your feeds once a day. This should give you an exceptional boost in exposure to potential buyers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/online-marketing-techniques/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Selling a House</title>
		<link>http://www.compare-review-information.com/house-selling/</link>
		<comments>http://www.compare-review-information.com/house-selling/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 01:04:29 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=78</guid>
		<description><![CDATA[A friend of mine is putting a property for sale. Last year, he found his house was worth $820,000. This year, the house was reassessed for only $740,000.  He checked the listings around the area the price range from $600,000 to $860,000. So he decided to sell his house for $700,000. My friend wants [...]]]></description>
			<content:encoded><![CDATA[<p>A friend of mine is putting a property for sale. Last year, he found his house was worth $820,000. This year, the house was reassessed for only $740,000.  He checked the listings around the area the price range from $600,000 to $860,000. So he decided to sell his house for $700,000. My friend wants to cash out the house, but no offer for his listing for 2 months.</p>
<p>He is asking me for advices. As I told him for a few times this year, I do believe the housing market to reverse more than it should. Because it went up much higher than it should have and the correction in price is inevitable. Whatever the house was worth last year is irrelevant now. His property is offered in today&#8217;s market conditions. I let him look over what are for sale and what were actually sold. This is all that matters. Go checking out the listings in the same area. Compare them to his house, and after that, relist it below the averaged offering price( for he wants to get out of the property).  I am sure in this way it will be sold faster than before.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/house-selling/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Can obama save my pension funds?</title>
		<link>http://www.compare-review-information.com/can-obama-save-my-pension-funds/</link>
		<comments>http://www.compare-review-information.com/can-obama-save-my-pension-funds/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 21:23:34 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
		
		<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=60</guid>
		<description><![CDATA[Ok, Barack Obama won the election, stock markets cheered and rebounded. Then what?
Though Mr. Obama won the election, doesn&#8217;t mean this credit crisis ends, that housing prices will rebound quickly, or that the stock market will hit new heights soon. 
On the contrary, it is going to get worse and there&#8217;s not much that Obama [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, Barack Obama won the election, stock markets cheered and rebounded. Then what?</p>
<p>Though Mr. Obama won the election, doesn&#8217;t mean this credit crisis ends, that housing prices will rebound quickly, or that the stock market will hit new heights soon. </p>
<p>On the contrary, it is going to get worse and there&#8217;s not much that Obama can do to reverse it. Let me explain a bit more.</p>
<p>The financial crisis and the meltdown of housing market has sent investors rushing out of U.S. stocks. The result has smashed the U.S. financial system, and led to the death of many big financial institutions. The banking crisis has now spreaded over to the global markets. So do you believe Obama can help anything here?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/can-obama-save-my-pension-funds/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Building Online Community</title>
		<link>http://www.compare-review-information.com/building-online-community/</link>
		<comments>http://www.compare-review-information.com/building-online-community/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 02:15:44 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Others]]></category>

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

		<category><![CDATA[internet marketing]]></category>

		<category><![CDATA[Online Marketing]]></category>

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=156</guid>
		<description><![CDATA[Almost every internet user is a member of some sort of an online community.
An online community is usually a public place where people&#8217;s internet identity to &#8220;gather&#8221; virtually and &#8220;interact&#8221; with each other. Some examples of an online community are bulletin boards, newsletters and photo sharing web sites. 
So why are online communities important for [...]]]></description>
			<content:encoded><![CDATA[<p>Almost every internet user is a member of some sort of an online community.<br />
An online community is usually a public place where people&#8217;s internet identity to &#8220;gather&#8221; virtually and &#8220;interact&#8221; with each other. Some examples of an online community are bulletin boards, newsletters and photo sharing web sites. </p>
<p>So why are online communities important for marketing purposes? Because it draws many people together so that people can discover new information, share ideas and have fun in it. Though having an online name, people are actually anonymous in a community. This encourage people to speak out something they would not say to someone they know. &#8220;Nobody knows who you are and anyone can talk to you&#8221; makes it attractive to all.</p>
<p>Why should we make use of online communites to do our marketing? A good approach to start is to find the targeted audience of your web site and locate their community. Take part in the community and find out what people are discussing. This gives you knowledge of the community and allows you to understand what they need. You can build your credibility by interaction with people in the community such as sending posts on a message board or chatting with others. If you have a good reputation in a community, you will find it easy for subsequent marketing events.</p>
<p>References:<br />
<a href="http://www.compare-review-information.com/effective-content-marketing/">Effective Content Marketing</a><br />
<a href="http://www.compare-review-information.com/online-marketing-techniques/">Online Marketing Techniques</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/building-online-community/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Citizenship TEst</title>
		<link>http://www.compare-review-information.com/new-citizenship-test/</link>
		<comments>http://www.compare-review-information.com/new-citizenship-test/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 15:11:35 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Citizenship]]></category>

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=95</guid>
		<description><![CDATA[After a multi-year process, the USCIS has finally finished a redesign of the citizenship test, or the naturalization test. This test is usually taken by people who apply for the U.S. Citizenship. The redesigned test put more focus on the rights and responsibilities of citizenship and the fundamental understandings of American democracy. It encourages citizenship [...]]]></description>
			<content:encoded><![CDATA[<p>After a multi-year process, the USCIS has finally finished a redesign of the citizenship test, or the naturalization test. This test is usually taken by people who apply for the U.S. Citizenship. The redesigned test put more focus on the rights and responsibilities of citizenship and the fundamental understandings of American democracy. It encourages citizenship applicants to  identify the basic values shared by Americans.</p>
<p>I took a look at those new sample questions of the test. I don&#8217;t think there is much change in the questions and the probably won&#8217;t make much difference for applicants.</p>
<p>Starting from Oct 1, 2008, the new test will be used. So applicants must get to know whether they are going to take the new or old test.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/new-citizenship-test/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Internet Marketing: Banner Ad</title>
		<link>http://www.compare-review-information.com/internet-marketing-banner-ad/</link>
		<comments>http://www.compare-review-information.com/internet-marketing-banner-ad/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 23:05:00 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Others]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=139</guid>
		<description><![CDATA[One common misunderstanding of banner ads are to reach the greatest number of audience. In fact, the right focus should be reaching as many as possible targeted people, who are related to your web site&#8217;s content. So having your targeted banner ads is the first rule.
Since most banner ads are cost you money, you should [...]]]></description>
			<content:encoded><![CDATA[<p>One common misunderstanding of banner ads are to reach the greatest number of audience. In fact, the right focus should be reaching as many as possible targeted people, who are related to your web site&#8217;s content. So having your targeted banner ads is the first rule.</p>
<p>Since most banner ads are cost you money, you should make sure your budget is well controled. This is especially important for small business site owners. When buying banner ads, try to confirm the placement of your ad. You should make sure the content is related to your ad. The more deep down to the site, the more effective your ad is. And you can save money while reaching your targeted people.</p>
<p>Of course, if you have a large budget of online marketing, banner ads should be placed on the pages of the most traffic. Be careful to use click through ads because this could eat up your budget without getting the result you want.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/internet-marketing-banner-ad/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Advantages of Internet Marketing</title>
		<link>http://www.compare-review-information.com/advantages-of-internet-marketing/</link>
		<comments>http://www.compare-review-information.com/advantages-of-internet-marketing/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 01:59:01 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Others]]></category>

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=113</guid>
		<description><![CDATA[Marketing strategies are almost the same for small and big business. You need to consider these aspects:
1) your product name,
2) your target readers
3) convert visitors to buyers
4) build repeat customers
A successful internet marketing should be good for managing all above elements.
On-line marketing contains tasks such as communicating with your readers, promoting your topics online, and [...]]]></description>
			<content:encoded><![CDATA[<p>Marketing strategies are almost the same for small and big business. You need to consider these aspects:</p>
<p>1) your product name,<br />
2) your target readers<br />
3) convert visitors to buyers<br />
4) build repeat customers</p>
<p>A successful internet marketing should be good for managing all above elements.</p>
<p>On-line marketing contains tasks such as communicating with your readers, promoting your topics online, and having a website with current and helpful content.</p>
<p>An advantage of on-line marketing is that you do not have to spend a large amount of money to put together a marketing campaign. So, to be successful in online business, you must master the techniques of marketing online.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/advantages-of-internet-marketing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Online marketing 101</title>
		<link>http://www.compare-review-information.com/online-marketing-101/</link>
		<comments>http://www.compare-review-information.com/online-marketing-101/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 15:01:35 +0000</pubDate>
		<dc:creator>citizenship</dc:creator>
		
		<category><![CDATA[Others]]></category>

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

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

		<guid isPermaLink="false">http://www.compare-review-information.com/?p=111</guid>
		<description><![CDATA[What is online marketing? How to have successful online marketing?
If you own a business, and want to perform marketing online, you need to be a creative thinker and think outside of the box.
The Internet is the ideal place for small businesses(such as home business) to roll out their marketing campaign. Using the web for advertising [...]]]></description>
			<content:encoded><![CDATA[<p>What is online marketing? How to have successful online marketing?</p>
<p>If you own a business, and want to perform marketing online, you need to be a creative thinker and think outside of the box.</p>
<p>The Internet is the ideal place for small businesses(such as home business) to roll out their marketing campaign. Using the web for advertising is very effective because it is highly targeted towards the people you want to reach and the cost is relatively low.</p>
<p>The goal of online marketing is that you need to turn your website into a place that your readers or customers trust. You also need to get more people to visit your site. Therefore, online marketing should be carefully planned for these items:</p>
<p>1) Build an attractive web site<br />
2) Broaden your reader base by e-mail marketing<br />
3) Choose a good online partner<br />
4) Customize your site to have readers visit frequently<br />
5) Setup your site as an authority of your domain</p>
]]></content:encoded>
			<wfw:commentRss>http://www.compare-review-information.com/online-marketing-101/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
