To put bidvertiser advertisements on your website, please come to to apply as a publisher, therefore you can earn your own.

For me, I have registered and I have placed a advertisement on the left panel on this blog, as you can see.

I am very pleased to tell you this advertisements website is very good, it is better than google adsense because it can earn more money. It is true.

Linux Virtual Server Running ASP.NET

This morning I have found a way, the way how to let my linux virtual server running ASP.NET.

This server actually is in apache version and only support PHP and not support ASP.NET. But I have tried to make a engine to let the ASP.NET live on.


You can try to navigate to that page and view source.

As a beginner learner of ASP.NET I will try to learn to make the Form submitter inside later.

Thanks to support me, if you have problem please give me a reply.

Binary Tree in Java

I have learnt binary tree in Mathematics Computing last two semester in universities. And after I have completed the double module of Java, I know a little knowledge of Object-oriented Programming, so as I have tried to build a Java program which using object-oriented concept to construct a binary tree in Java.

This is my source code which written by me, fyhao.

  1. class Node {  
  2. public Node parentElement; // parent element of the node
  3. public Node leftElement; // left child element of the node
  4. public Node rightElement; // right child element of the node
  5. public String value; // the value of the node
  6. }  
  7. public class TestNode {  
  8. public static void main(String args[]) {  
  9. //String sentence = “The fox is jump over that fence”;
  10.         String sentence = “The three fox are jump over that fence”;  
  11. // Break each word into array
  12.         String word[] = sentence.split(” “);  
  13. // Initialize the main tree
  14.         Node node = new Node();  
  15. // SetTree
  16. for(int i=0; i<WORD.LENGTH; {<br i++) />  
  17. if(i == 0) {  
  18.                 node.value = word[i];  
  19.                 node.parentElement = null;  
  20.             } else
  21.                 setNode(node, word[i]);  
  22.         }  
  23. // GetTree
  24.         System.out.println(“Demonstration of Mathematic for Computing: Tree”);  
  25.         System.out.println(“Sentence: ” + sentence);  
  26.         System.out.println(“Height of tree: ” + getNodeHeight(node));  
  27.         System.out.println(“Leaf: ” + getLeaf(node));  
  28.         System.out.println(“Parent of jump: ” + getParent(node, getNode(node, “jump”)).value);  
  29.         System.out.println(“Parent of fence: ” + getParent(node, getNode(node, “fence”)).value);  
  30.         System.out.println(“Height of sub-tree on fox: ” + getNodeHeight(getNode(node, “fox”)));  
  31.     }  
  32. // Set the structure of the tree on each node
  33. // @param Tree of node, word (value)
  34. public static void setNode(Node node, String word) {  
  35.         Node childNode;  
  36. if(node.value != null) {  
  37.             childNode = new Node();  
  38.             childNode.parentElement = node;  
  39.             childNode.value = word;  
  40. // compare ignore case
  41.             word = word.toLowerCase();  
  42.             node.value = node.value.toLowerCase();  
  43. if(word.compareTo(node.value) == 0)  
  44. return; // if equal, break out of method
  45. else if(word.compareTo(node.value) < 0) {  
  46. if(node.leftElement != null)  
  47.                     setNode(node.leftElement, word);  
  48. else
  49.                     node.leftElement = childNode;  
  50.             } else {  
  51. if(node.rightElement != null)  
  52.                     setNode(node.rightElement, word);  
  53. else
  54.                     node.rightElement = childNode;  
  55.             }  
  56.         }  
  57.     }  
  58. // Get node by value
  59. // @param Tree of node, value
  60. // @return the node want to get
  61. public static Node getNode(Node node, String value) {  
  62.         Node targetNode = null;  
  63. if(value.equals(node.value))  
  64.             targetNode = node;  
  65. else {  
  66. // check if left or right got target, then only one target found only, strange problem, getParent also encountered, maybe not very good
  67. if(node.leftElement != null)  
  68.                targetNode = targetNode == null ? getNode(node.leftElement, value) : targetNode;  
  69. if(node.rightElement != null)  
  70.                targetNode = targetNode == null ? getNode(node.rightElement, value) : targetNode;  
  71.         }  
  72. return targetNode;  
  73.     }  
  74. // Get height of the tree
  75. // @param Tree node
  76. // @return height of tree
  77. public static int getNodeHeight(Node node) {  
  78. int height = 1;  
  79. int leftHeight = 0, rightHeight = 0;  
  80. if(node.leftElement == null && node.rightElement == null)  
  81. return height;  
  82. else {  
  83. if(node.leftElement != null)  
  84.                 leftHeight += getNodeHeight(node.leftElement);  
  85. if(node.rightElement != null)  
  86.                 rightHeight += getNodeHeight(node.rightElement);  
  87.         }  
  88. return height + Math.max(leftHeight, rightHeight);  
  89.     }  
  90. // Get number of leafs in the tree
  91. // @param Tree node
  92. // @return number of leaf
  93. public static int getLeaf(Node node) {  
  94. int leaf = 0;  
  95. if(node.leftElement == null && node.rightElement == null)  
  96. return 1;  
  97. else {  
  98. if(node.leftElement != null)  
  99.                 leaf += getLeaf(node.leftElement);  
  100. if(node.rightElement != null)  
  101. &
    nbsp;               leaf += getLeaf(node.rightElement);  

  102.         }  
  103. return leaf;  
  104.     }  
  105. // Get parent of node by value
  106. // @param Tree of node, child of node
  107. // @return the parent of node
  108. public static Node getParent(Node node, Node childNode) {  
  109. // found that node
  110.         Node parentNode = null;  
  111. if(node.value.equals(childNode.value))  
  112. return node.parentElement;  
  113. else {  
  114. if(node.leftElement != null)  
  115.                 parentNode = parentNode == null ? getParent(node.leftElement, childNode) : parentNode;  
  116. if(node.rightElement != null)  
  117.                 parentNode = parentNode == null ? getParent(node.rightElement, childNode) : parentNode;  
  118.          }       
  119. return parentNode;  
  120.     }  

Introducing the Google AJAX APIs

Google’s Mission

As you may know, Google’s mission is to organize the world’s information and make it universally accessible and useful. This article discusses how Google is doing just that by providing easy to use JavaScript-based APIs that allow a wide range of web developers, from experts to casual bloggers, to integrate rich and compelling Google provided search and feed data seamlessly into their web pages. More specifically, this article reviews the overall architecture of Google’s AJAX Search and AJAX Feed APIs and shows how to use the technologies they provide. As you’ll see with this article, integrating cool search and Internet feed technologies ranging from traditional web searches to compelling multimedia searches is actually very easy to do without even requiring a hard core AJAX programming background.

Introducing the Google AJAX APIs: AJAX Search and AJAX Feed

Have you ever wanted to integrate rich, multimedia, search, or feed-based Internet content into your web applications/pages only to realize that creating your own AJAX infrastructure for doing this turned out to be a daunting task? Fortunately, Google provides a solution to this by providing very easy to use JavaScript APIs known as the AJAX Search and AJAX Feed APIs. These APIs are cousins to the popular Google Maps API and are functionally similar in that you can use them to easily insert rich AJAX content into your pages simply by adding small amounts of JavaScript code.

The AJAX Search API allows you to easily integrate some very powerful and diverse Google based search mechanisms or “controls” onto a Web page with relatively minimal coding. These include:

  • Web Search: This is a traditional search input field where, when a query is entered, a series of text search results appear on the page.
  • Local Search: With Local Search, a Google Map is mashed together with a search input field and the search results are based on a specific location.
  • Video Search: The AJAX Video Search provides the ability to offer compelling video search along with accompanying video based search results.

Other search controls also included in the AJAX Search API are Google News Search, Blog Search, and Book Search; each offer enhanced and specialized search capabilities.

The AJAX Feed API is an Internet feed-based technology that allows web developers to pull down any RSS or Atom feed and integrate it into their web pages purely via JavaScript, all without requiring access to a server. In addition to raw data access to Internet feeds, Google also provides custom solutions built on top of the feed mechanism and offers rich feed-based solutions including a feed driven slideshow control.

Getting Started with the Google AJAX APIs

To get a feel for how to use Google’s AJAX APIs, you’ll review a simple “HelloWorld” AJAX Search application that integrates Google’s powerful search mechanism into a custom web page.

A HelloWorld AJAX Search Example

Getting started with an AJAX Search example is a two-step process. The first step, as with any of Google’s AJAX APIs, involves generating an API key for your usage of the API. This can be accomplished by going to Google’s developer web site,, and generating an API key. A Google API key allows you to use the AJAX APIs on a particular web site or domain.

After generating a key, you then can create your own HelloWorld example with the AJAX API. Fortunately, this is just a matter of copying and pasting a provide example from

Here is the core part of a HelloWorld example provided in the AJAX Search Web site at in the samples section (

   <script src="
                &key=YOUR-KEY" type="text/javascript"></script>
   <script type="text/javascript">
   function onLoad() {
      // Create a search control
      var searchControl = new GSearchControl();

      // Add in a full set of searchers
      var localSearch = new GlocalSearch();
      searchControl.addSearcher(new GwebSearch());
      searchControl.addSearcher(new GvideoSearch());
      searchControl.addSearcher(new GblogSearch());
      searchControl.addSearcher(new GnewsSearch());
      searchControl.addSearcher(new GbookSearch());

      // Set the Local Search center point
      localSearch.setCenterPoint("New York, NY");

      // tell the searcher to draw itself and tell it where to attach

      // execute an inital search
      searchControl.execute("VW Beetle");

      <div id="searchcontrol">Loading</div>

First Blog on Window Live Writer

Yes, this is my first blog, the first WordPress on Window Live Writer.

Window Live Writer is a excellent blogging software, I’m lovin to use it to blog.

For its features which could connect to the blogging service, to analyze the web site information, and give us a chance to write blog on the visual style, the layout that we will see after we blog. It is significant.

Just now I have watched the Golden Award on Astro AEC. This year also have a magician, a guy from France, he has a magic show which integrated with multimedia. I like it. A beautiful way to show how to move from mid-Taiwan to Taipei within a second.

And this year the Golden Award held on Taipei, Taiwan. I have seen most of the awards are given to the Taiwan people. So I think this year is a Taiwan Year.

The most movie is titled “海角七号”, it got so many awards.

And I have to thank for Qxinnet member to continue support me, I have developed a system which integrated between Qxinnet UCHOME with WordPress. Whoever blog on WordPress, the latest subject and link are sent to the uchome, the other member on uchome can just read and can follow the link through to the blog post. This is a good idea and other people also support me, so I am very thanks to the other. So for the next time I will develop the similar system which integrated with the and I will need the support from you all.

And this is the time for end of my blog and I will continue to work hard to make the life better.

Development of Last Few Days

Last few days, I am examined with my UCHOME, UCenter Home, a SNS software which developed by Comsenz. I need to explore it, develop something on it, to give benefits to the my website user. And this few weeks I discovered that I lovin with blogging. I have opened so many blogs. Headache now…

When I had my dinner, suddenly, such one thing light up my brain. For SNS, a Web 3.0 world, a user is important more ever than before. We give the services to the user with take them in front of the user. If a way to communicate the user, where the user go what the user do in the internet world, that can viewed and noted.

So, I have developed a system to communicate between UCHOME and Blogspot. For a UCHOME user in my website, they can post a blog on their blogspot, and immediately send a feed to the UCHOME. Then the other people on the UCHOME they can view the feed that show what the blogger post. They can link to the blogger’s blog to read as well. For a blogger, it helps to attract more people to come. And they provide a road to their friends who are concerned with him, to help them to know what the condition of the blogger during the times…

And after five days, I also developed a system for Pixnet, a Taiwan-developed blog sites, it seem many Chinese go to open blog. I also do the same way for this system, and now find a person to support me. But more people using Blogspot.

And now I have interest to build up a blogger groups in my website, I want to group them, communicate them together.

Unfortunately, there are also some difficult things need the solution. For example the method to get the data via the flash, with the javascript from Blogspot to UCHOME. If using the PHP is better but I think it will gather more CPU usage. So I think if can use flash just use flash.

Last, I have seen the Adobe CS4 come out. I saw it, very huge and powerful, the 3D supported features inside the flash, and do the simple 3D flip and rotation, and also the 3D brush inside the Photoshop. So I think I need to find a day to download it.

First Blog

Here is the annoucement, that is a release of my WordPress Learning Blog.

At first, let me introduce myself, I am fyhao, a Malaysian Chinese University Student, study Bsc(Hons) in Computer Science, Coventry University, just Year 1, and I would like to open this blog to learn how to use it.

Previously, I have opened many blogs, in blogspot, xspace, and many more, but for this blog, this is only for a journey to learn the features of the WordPress. And maybe have some times later I will move all my blogs to my web host which using WordPress.

Currently, I have many blogs, one in xspace there, is on my web host, it is in chinese language, is to share my feelings with my online friends, even in my forum. It is or a newer . And I also got a technical blog but also in chinese,, it will show some technical information and also what I learned in school. And last I have also a feeling blogs to attract the other community, it is, oh, it is also in Chinese. Although it has 1 % I wrote in English, but the most readers are Chinese. So, actually, I have thought before I need to open a English blog, 100 % English, through this blogs to communiciate, to make friends with Western Country. Hope through this blog I can achieve it.

Hopefully, this blog can let me find a good friend.

Let me introduce more about myself. I have more interested in computer programming instead of computer graphics. I know a little bit .NET but intermediate knowledge in PHP and MYSQL, and little bit knowledge in XHTML + CSS, I like to design a web page, but currently it is  simple web page, not very beautiful. And this web link is my home page,, it is also in Chinese… And I have use Discuz!, a China forum software to open forum, and very interested in Discuz!, and also famous in Discuz! technical stuff. And now I also will support Discuz! to open to international, to translate chinese into English, because I learnt from my friends, that there is little Western people, like North America, they also heard about Discuz!. Yes, I use this to open forums, and its programming script let me to learn the PHP and Mysql together. I use that from version 2.5, now in version 6.1, and also 7.0 will come out. Hehe, 7.0 come out with a SNS-liked styles. Not only Discuz! in PHP, but also in .NET. The .NET version of Discuz!, Discuz NT, it is the only one web application to be shown in the Microsoft Tech-ed Forum last year. I am happy to hear that. It is the first to implement the silverlight techniques, and it is well done.

OK, in my real world, I have little bit friends, and most friends are known at first on Internet. And now I have no girdfriends, hehe. Hard to find girlfriends, because of me, shhh……

OK, allright, I will continue to write this blogs, to share my feeling to you all, and also write some things that I have learned about the WordPress at here.