Ricky Wu's blog

Opera unite: Your Browser is Now a Web Server

Ricky Wu's picture

New Opera Unite technique blurs the boundary between client and server after new version of Opera browser released. You can also have your own dedicated web server by walking through few step of simple setting up. With opera unite you need to find web hosting no more but can sharing your files, documents, videos and pictures to anyone who permitted to access you web host. Of course you should open up your opera unite and keep your computer awake to ensure these service continuing.

Opera unite let your PC acts like a client or a server. Not like the traditional installation of  the web server, It simplify the setting steps make user configure their own server more convenient and easy, such like reduce the setting up of port forwarding in traditional network setting. And it has characteristic of cross platform and structure based on open architecture network also reduce the complexity of web service developing for developers.


Opera unite comes with six basic services, File Sharing, Fridge, Media Player, Photo Sharing, The Lounge, and Web server etc. The File Sharing service allows you sharing any type of files with friends no matter how big it is. And you also can make your own access limitation rule to make file sharing more private. You can also browse your music and play it directly through Unite Media Player in anywhere you want the only require is you need to connect to internet. The Lounge creates a chat room that you can host in your computer, Fridge for friends and family to leave virtual sticky notes on. And it provides a more private and secure platform to let people possible to pass instant message without install any instant message applications.


In the future development, Opera Unite provides an open architecture platform that broken old fashioned client-server architecture rule. Maybe the easy to use able to provides an alternative option of peer-to-peer model to online users, even if it will take place the recently centralized peer-to-peer community under development of network in the future. In this architecture, users manage their private information on their own host, so personal information will share with others in more safe and reliable way. For developers, this new technique provides a lower-cost system required method to built-up development environment, and accelerates development cycles for network service development. Besides, the open network architecture has an advantage in flexibility of diversity of service development. For example, if recent online games such like ‘Happy Farm’ reconstruct without centralized model, I think it will become smaller and growth in various way.

Reference:

unite.opera.com

Read White Web: Your Browser is Now a Web Server: Opera Includes Opera Unite in Opera 10.10

Drupal Introduction

Ricky Wu's picture

Drupal is one of the best Content Management Systems (CMS). It is written in PHP and requires a MySQL database. Its basic installation can be easily turned into many different types of web sites - from simple web logs to large online communities.

Here is a list of the Drupal benefits:

  • Easy to install - Drupal installation described here;
  • Easy to use - no programming knowledge needed! Read this tutorial to learn the basics of Drupal.
  • Lots of features including Search Engine Friendly URLs(SEF), categories, search function and many more;
  • Lots of modules to extend your site's functionality;
  • Flexibility - you can easily turn your Drupal installation into a forum, blog, wiki and many other types of web sites;
  • Free to use, open source. You can freely install Drupal and you can modify the source code to fit your needs;
  • Lots of users and a large community - easy to find solutions to your problems.

By enabling and configuring individual modules, an administrator can design a unique site which can be used for knowledge management, web publishing, community interaction purposes, etc.
Here are some typical Drupal usages:

  • Content management - Via a simple, browser-based interface, members can publish stories, blogs, polls, images, forums, etc. Administrators can easily customize the design of their Drupal installation.
  • The Drupal classification system allows hierarchical ordering, cross-indexing of posts and multiple category sets for most content types. Access to content is controlled through administrator-defined user roles. A search option is also available.
  • Weblog - A single installation can be configured as an individual personal weblog site or multiple individual weblogs. Drupal supports the Blogger API, provides RSS feeds for each individual blog and can be set to ping weblog directories when new content is posted on the home page.
  • Discussion-based community - A Drupal web site can be successfully used as a discussion forum. Comment boards, attached to most content types, make it simple for members to discuss new posts. Administrators can control whether content and comments are posted without approval, with administrator approval or through community moderation. With the built-in news aggregator, communities can subscribe to and then discuss content from other sites.
  • Collaboration - Used for managing the construction of Drupal, the project module is suitable for supporting other open source software projects. The wiki-like collaborative book module includes versions control, making it simple for a group to create, revise and maintain documentation or any other type of text.

Drupal is a powerful, developer-friendly tool for building complex sites. Like most powerful tools, it requires some expertise and experience to operate. But it’s not friendly to user as beginner.

Referrence :

Drupal - Official Website

Server and Desktop Virtualization

Ricky Wu's picture

In Computing, virtualization is broad term that refers to the abstraction of computer resources. It hides the physical characteristics of computing resources from their users, be they application, or end users. This includes making a single physical resource appear to function as multiple virtual resources; It can also include making multiple physical resources appears as a single virtual resource…
In a recent discussion, the virtualization is widely applied to a number of concept including:

  • Server Virtualization
  • Desktop Virtualization
  • Network Virtualization
  • Storage Virtualization
  • Application Infrastructure Virtualization

In this article, we’ll focus on server and client Virtualization.

 read more »

Intro to MongoDB

Ricky Wu's picture

NoSQL is a kind of database that different to common relational database, does not provide SQL interface to manipulate data. NoSQL databases can be separate into 3 categories : column-oriented, key-value pairs and document oriented databases. The following database we’re going to introduce is belonging to document-oriented database.
Unlike most relational databases, document-oriented database do not store data in table with fix-sized fields for each record. Instead, each record is stored as a document no matter the number of fields is variable or any length of a field can be added to a document. Fields can be split into many pieces and become a nested format also.

$person = array(
    "name" => "Cesar Rodas",
    "country" => "Paraguay",
    "languages" => array("Spanish", "English", "Guarani"),
);

MongoDB is a scalable, high-performance, document-oriented database written in the C++ programming language. It is a open source software and free for use also. The goal of MongoDB is to combine pros. of key-value store and traditional RDBMS systems. SO it has character of fast and highly scalable of key-value store database and also has rich queries and deep functionality of RDBMS system.
MongoDB has following interesting characters in implementation :

  • It uses JSON, instead of XML
  • It is fast, as it is written in C++
  • Supports index definitions
  • Provides an easy to use query interface, very similar to some database abstraction layers
  • Supports operations with sub-documents
  • Provides a native PHP extension
  • Supports auto-sharding
  • Supports map-reduce for data transformation

Installation and configuration: MongoDB support is available in many mainstream programming languages such like PHP, Python, Ruby, JAVA, C++ etc. So it’s easy and convenient to use. MongoDB provides many pre-compiled distributions for any platform and there are also packages available for various package managers. And they also provides source code of MongoDB for advanced user to download.
Installing MongoDb is simple. First, go to MongoDB official website and download appropriate package according to your platform. Then:
mkdir -p /data/db tar -xvzf PACKAGE   ./mongodb-xxxxxxx/bin/mongod
./mongodb-xxxxxxx/bin/mongo

After installation completed, then lunch MongoDB daemon to listen on port 27017. Default path of database is set to /data/db (c:\data\db in Windows). Now, we can manipulate database through mongo that is command-line shell client for mongoDB.
Ref.
Developing scalable PHP applications using MongoDB - PHP Classes blog