blekko slashtag search

Blekko is another search engine competes with Google and Bing Microsoft. It aims to eliminates unwanted noises of information from the search result and return the truly user want. It applies slashtag method to power the search, by giving mary/girl, you get the girl who named Mary, by giving CD/amazon, you get the CD from amazon. It is amazing and you can create your own slashtag as well.

Blekko is now in beta mode.

Below is the text that believed it was the objective of Blekko doing another gang of search engine:

web search bill of rights

1. Search shall be open
2. Search results shall involve people
3. Ranking data shall not be kept secret
4. Web data shall be readily available
5. There is no one-size-fits-all for search
6. Advanced search shall be accessible
7. Search engine tools shall be open to all
8. Search & community go hand-in-hand
9. Spam does not belong in search results
10. Privacy of searchers shall not be violate

Had attended 36 Hours The Longest Open Source Software Programming Events of Malaysia

I as Khor Yong Hao, Gan Chee Tak, Alvis Chen, had attended 36 Hours The Longest Open Source Software Programming Events of Malaysia around 6 October to 8 October 2010. We are representing the Team named as ColourWeb. This competition is organized by MAMPU (Malaysia Open Source Conference), located at EPF Institute, Kajang.

36 Hours OSS WebDev Contest (Organized by MAMPU) (Recorded in The Malaysia Books of Record)

In this competition, we had learnt many new things. At first, we have less experience in Linux last time as playing Amazon EC2, but we managed to setup and install whatever requirements in the process of building web application and stuffs. The most important we learn is good process of team collaboration. We help each other with our own profession. Sharing is the best word to say at here. We promote open source, promote sharing. We are good team collaboration players. But at the same time our weaknesses is less experience in designing big projects. Through this competition, we know our perspectives and know how to handle it in the near future.

This is not the end of the spirit, and also not the end of this post, to be continued…

最近的技术学习方向

现在的我处于一半毕业的状态,时间非常充裕,也有鲜少的时间可以做一些研究,做技术上的提升。

这里将会记录这个月来我看到的,学习到的东西。
上个月来我在看着 Robocode;过后下载了,阅读了,一些有关 神经网络 Neural Network 及 遗传算法 Genetic Algorithm;HTML5 Canvas 制作数学,动画机制;Google Android SDK;最近也接触了 Discuz X。
我说过,未来10年的技术方向,主要朝向三个领域,即 云计算 Cloud Computing,流动计算 Mobile Computing,社交计算 Social Computing。云计算即是运算资源如水一样便宜到非常容易获取,剩下的就是如何利用这些近乎免费的资源去创造更美好的东西;流动计算,也就是说智能手机的行业,时下智能手机平台的发展,手机上网的潮流越来越上潮了;社交计算,代表性的有 Facebook, Twitter,这些社交计算也将继续统领未来的 IT 发展趋势。未来的 IT 发展趋势,将与人类的发展紧紧环抱。IT 的发展将远离实验室研究而更真正的渗透入人类的社群生活里。

Inversion of Control (IoC)

Inversion of Control, or IoC, is an abstract principle describing an aspect of some software architecture designs in which the flow of control of a system is inverted in comparison to procedural programming.

Saw IoC many times in many technical articles especially with the topics of Object-oriented design or software engineering development. However, I have no fully understand what IoC is talking about at the first pace. Therefore, I had carried out a research about this.

To understand this, let take a scenario.

Consider we have a framework, and application that runs on the framework.

In traditional aspects, application calls required libraries or API to carry out their tasks. The central control is held by central piece of code in application. In Inversion of Control, framework  actively calls application to carry out tasks. It often using inheritance to realize IoC. Parent class actively calls the method from child class. Framework lets relevant parent classes work together to define the process of the tasks. At the meantime, parent class leave interface, or in Java Term, abstract method, to be implemented by child classes.

The advantage of Inversion of Control is that there is decoupling of the execution of a certain task from implementation. Secondly, it enables less hassles in system replacement.

Further reading:

http://en.wikipedia.org/wiki/Inversion_of_control

Increment Difference between C and Java

Both C and Java are high-level language.

Both language provides support for variable increment such as the statement: “c++”, “++c”.

However I have discovered some difference between them, where my knowledge is not able to define it currently.

Consider a piece of code in C:

#include <stdio.h>

int main(void) {
    int c = 1;
    c = c++ + ++c;
    printf("this c: %d", c);
    return 0;
}

The output will be c = 5;

#include <stdio.h>

int main(void) {
    int c = 1;
    c = c++ + c++;
    printf("this c: %d", c);
    return 0;
}

The output will be c = 4;

However in Java,

        int c = 1;
        c = c++ + ++c;
        System.out.println(c);
        int d = 1;
        d = d++ + d++;
        System.out.println(d);

The output will be c = 4 and d = 3

Therefore, this is the difference between inner execution structure for both language and need to be researched in order to fill in the blank here.

To be continued…

We don’t want Java controlled by Oracle

Oracle sue Google because suspected Google using Java in its Google Android Operating System Framework. Oracle said that Java is an operating system framework language, and Google Android publishes its framework had infringed its seven patents. Is Java an operating system framework?

As Java Developer, I want to say something. Java is an open source product, should be maintained by open source community, and free to use by any company, any people, but not fully controlled by one central company, such as Oracle.

This Oracle’s decision to take over Java from Sun, to have fully control of the Java, will be a wrong step for Oracle, or the future of Java. If not Google, IBM, these companies using Java, Java may be die soon.

Oracle, please listen what Java developers thought, freeing Java, please, otherwise Java will die soon. Please don’t play fire yourself, which will burn your hand.

The Internet of Things (物联网)

In computing, the term Internet of Things (also known as the Internet of Objects) refers to the networked interconnection of everyday objects. It is generally viewed as a self-configuring wireless network of sensors whose purpose would be to interconnect all things. The concept is attributed to the original Auto-ID Center, founded in 1999 and based at the time in MIT.
The idea is as simple as its application is difficult. If all cans, books, shoes or parts of cars are equipped with minuscule identifying devices, daily life on our planet will undergo a transformation. Things like running out of stock or wasted products will no longer exist as we will know exactly what is being consumed on the other side of the globe. Theft will be a thing of the past as we will know where a product is at all times. The same applies to parcels lost in the post.

物联网(The Internet of things)的定义是:通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。物联网的概念是在1999年提出的。

Proposed HTML5 Simple Payment Protocol

HTML5 is a new generation web browser markup language and the ways the developer to create web application with full of desktop experience. HTML5 had introduced a lot of new tags, such as improvement of semantic tags (<header>, <footer>, <aside>, <section>, <article>) that made the different parts of the website can be represented by these tags rather than using <div>. Additionally, supports of <video> and <audio> make possible for browser to view video and listen music without installing Flash Plugin but using browser-implemented engine to run it. Besides that it had improvement for CSS3 as well, that allowed animation, shadow and many exciting features etc. Moreover, improvement to JavaScript API such as support geolocation API, Canvas (Rich Animation and 2D Drawing, will support 3D Drawing in the future), local Web Storage, and many yet features that not be shown here.

We known that the full HTML5 specification will be completed in 2030. In 2012, WhatWG will submit the suggestion documentation to W3C. Most of the browsers today except IE had already implemented HTML5, although not full features had implemented, but at least implemented a bit. Thanks Apple, Google, Opera and Mozilla implemented HTML5 in their browsers, either from PC or smart phone such as iPhone and Android. Market share is big, due to the fact that mobile market is emerging, associated with the rapid development of HTML5 and cloud computing, it made our future life more easier and convenient.

After thinking from my current country, Malaysia, electronic payment still not very popular like western country. Due to the fact that the security of payment still not getting trust from the users. As well as the supports from government, every aspects such as low internet speed, NEP, and it almost slow down the free development of the technology.

Moreover, due to the fact that nowadays there are many types of payment option in the world, in international we have Visa, MasterCard, Paypal and so on.  In Facebook, we have Facebook Credits also.

Hereby I proposed that new implementation for simple payment protocol for HTML5.

What is Simple Payment Protocol?

Simple Payment Protocol can be implemented in HTML5, by providing <payment> HTML5 tag, that will be rendered as payment panel with showing product name and price and the button where click to submit the payment. Proposed that it is a standard payment panel supported by different types of browser. Different types of browser either from PC Google Chrome, or smart phone such as Apple iPhone, both will render the same payment panel for user to make payment. Any seller or bank can collaborate with browser company, to build certain standard security layer that support encryption up to 128-bit and more. The browser itself can support the e-wallet function, allows user to carry their e-wallet at the same time carry their mobile devices anytime and anywhere.

Advantage is that the payment method will become the standard, using the standard the life of the user will be easier. Using the standard, payment process will be easier and fast and secure. When your web application need to implement payment method, you not need to learn specific API such as Paypal or another types of payment option, even you want to change from one payment method to another you will face problems. By using proposed implementation of HTML5 Simple Payment Protocol the web developers can just learn one API and easier to implement the payment function in their web application.

 

Noted that this proposal is the work of Khor Yong Hao, and this is only a draft and will be improved in the future. The further modification of this page will be carried out anytime in the future without notification.