<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.cellopoint.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Newest Blogs on Cellopoint</title>
 <link>http://www.cellopoint.com/rss/blogs</link>
 <description>RSS for Blogs</description>
 <language>en</language>
<item>
 <title>Cloud-Based Gaming with OnLive</title>
 <link>http://www.cellopoint.com/media_resources/blog/2010/07/Cloud_Based_Gaming_with_OnLive</link>
 <description>&lt;p&gt;With OnLive&#039;s on-demand gaming service, PC gaming has gotten cheaper and easier. There is no need to have high-end computers with fancy graphics cards and fast CPUs to play the latest videos games. Low-end computers running Windows XP, Windows Vista, or Intel-based Macs running OS X together with a decent Internet connection is enough to get started. Users can also gain access to OnLive using their televisions with the OnLive MicroConsole. OnLive enables users to play or rent games, try out game demos and play multi-player games with other users using the OnLive service. There are also community features such as speculating live games, recording and sharing gameplay videos and accessing gamer profiles. &lt;br /&gt;
&lt;br /&gt;
Essentially, the user just needs to know how to use a browser. Game data and interactions are sent from the browser to the OnLive servers for processing. Once all the data has been computed, a compressed video stream is sent back to the user&#039;s browser and the user continues to play the game. To the user, the gameplay is real-time and will feel no different than playing with a local copy of that game. It is convenient for the user, because OnLive eliminates installing and updating the games and the need for local storage space.&lt;br /&gt;
&lt;br /&gt;
The OnLive service achieves this instant access with a combination of remote servers working dedicated or shared to produce continuous gameplay for the users. Game data are stored and processed on these servers and their hardware are upgraded every six months to provide users with optimal processing power. Each server has a particular task like handling the user interface, running the games and streaming video. There are also several classes of servers depending on the requirements of the computations and the number of connections. Thus, during a session, a user is passed to several servers depending on their state of play and processing requirement. &lt;br /&gt;
&lt;br /&gt;
With all the data transmissions happening in the background, it is obvious that the OnLive service is dependent on and limited to the user&#039;s broadband connection and region. OnLive claims that high-definition quality is achievable with video at up to 1280x720 resolution and a frame rate up to 60 frames per second with a connection of at least 5 Mbps. However, the slower the speed, the lower the resolution and frame rate. With a 1.5 Mbps connection, a standard-definition quality is obtainable, but it may be insufficient to play a real-time, action-packed game because the video feedback may not be as smooth as playing on a local machine. Also, with the compression of the video, some of the art details in the scenes are lost. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.cellopoint.com/media_resources/blog/2010/07/Cloud_Based_Gaming_with_OnLive&quot;&gt;&amp;nbsp;read&amp;nbsp;more&amp;nbsp;&amp;raquo;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 21 Jul 2010 11:19:37 +0800</pubDate>
 <dc:creator>june.huang</dc:creator>
 <guid isPermaLink="false">244 at http://www.cellopoint.com</guid>
</item>
<item>
 <title>Node.JS</title>
 <link>http://www.cellopoint.com/media_resources/blog/2010/07/Node.JS</link>
 <description>&lt;p&gt;Node.js is an evented I/O framework built on top of Google&amp;rsquo;s V8 JavaScript engine; its design is influenced by systems like Ruby&amp;rsquo;s Event Machine or Python&amp;rsquo;s Twisted. Node&amp;rsquo;s goal is to provide an easy way to build high performance, real-time and scalable web applications.&lt;/p&gt;
&lt;p&gt;JavaScript has traditionally only run in the web browser. In recent years, projects such as CommonJS, Jaxer and Narwhal reflect the considerable interest in bringing JavaScript into the server side as well. In contrast to these concurrency models where OS threads are employed, Node is event-based rather than thread based. Thread based model often has the disadvantage of not scaling well with many long-lived connections necessary in real-time applications, becoming relatively inefficient and complex.&lt;br /&gt;
Node takes an alternative approach by telling the OS that it should be notified when a new connection is made, and then it goes to sleep. In the event of a new connection, the callback is executed; each connection is only a small heap allocation. This results in a much better memory efficiency under high-loads than systems which allocated 2mb thread stacks for each connection. Furthermore, Node is free of locks: almost no function in Node directly performs I/O, so the process never blocks. The programmers won&amp;rsquo;t need to worry about dead-locking the process.&lt;/p&gt;
&lt;p&gt;Node&amp;rsquo; advantage comes from the fact that most thread based models spend the majority of their time waiting for I/O operations which are much slower than memory operations. Node&amp;rsquo;s I/O operations are asynchronous, which means that it can continue to process incoming requests while the I/O operation is taking place.&lt;/p&gt;
&lt;p&gt;The following is an example of a web server written in Node which responds with &amp;ldquo;Hello World&amp;rdquo; for every request.&lt;/p&gt;
&lt;p&gt;var sys = require(&amp;lsquo;sys&amp;rsquo;), http = require(&amp;lsquo;http&amp;rsquo;);&lt;/p&gt;
&lt;p&gt;http.createServer(function(request, response) {&lt;br /&gt;
response.writeHead(200, {&amp;lsquo;Content-Type&amp;rsquo;: &amp;lsquo;text/plain&amp;rsquo;});&lt;br /&gt;
res.end(&amp;lsquo;Hello World\n&amp;rsquo;);&lt;br /&gt;
}).listen(8124);&lt;/p&gt;
&lt;p&gt;sys.puts(&amp;lsquo;Server running at http://127.0.0.1:8124&amp;rsquo;);&lt;/p&gt;
&lt;p&gt;This simple script imports the sys and http modules, and creates an HTTP server. The anonymous functions passed to http.createServer will be called every time a request is made to the server.&lt;/p&gt;
&lt;p&gt;Node is a very exciting technology built on top of another powerful technology, V8. It has gathered a lot of attention within the technology community, and with its great module system, there are many third party modules available for just about everything. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.cellopoint.com/media_resources/blog/2010/07/Node.JS&quot;&gt;&amp;nbsp;read&amp;nbsp;more&amp;nbsp;&amp;raquo;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 13 Jul 2010 18:05:02 +0800</pubDate>
 <dc:creator>griffith</dc:creator>
 <guid isPermaLink="false">243 at http://www.cellopoint.com</guid>
</item>
<item>
 <title>Opera unite: Your Browser is Now a Web Server</title>
 <link>http://www.cellopoint.com/media_resources/blog/2010/07/Opera_unite</link>
 <description>&lt;p class=&quot;rtecenter&quot;&gt;&lt;img width=&quot;640&quot; height=&quot;200&quot; border=&quot;2&quot; alt=&quot;&quot; src=&quot;/files/aotw-bookmarksandmath.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;541&quot; height=&quot;208&quot; alt=&quot;&quot; src=&quot;/files/operauni.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Opera unite let your PC acts like a client or a server. Not like the traditional installation of&amp;nbsp; 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.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
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.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
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 &amp;lsquo;Happy Farm&amp;rsquo; reconstruct without centralized model, I think it will become smaller and growth in various way.&lt;/p&gt;
&lt;p&gt;Reference:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://unite.opera.com&quot;&gt;unite.opera.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.readwriteweb.com/archives/opera_1010_now_with_built-in_opera_unite_web_serve.php&quot;&gt;Read  White Web: Your Browser is Now a Web Server: Opera Includes  Opera  Unite in Opera 10.10&lt;/a&gt; &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.cellopoint.com/media_resources/blog/2010/07/Opera_unite&quot;&gt;&amp;nbsp;read&amp;nbsp;more&amp;nbsp;&amp;raquo;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 07 Jul 2010 15:26:09 +0800</pubDate>
 <dc:creator>ricky.wu</dc:creator>
 <guid isPermaLink="false">242 at http://www.cellopoint.com</guid>
</item>
<item>
 <title>Cassandra Introduction -- data model</title>
 <link>http://www.cellopoint.com/media_resources/blog/2010/05/cassandra-data-model</link>
 <description>&lt;h3&gt;Introduction:&lt;/h3&gt;
&lt;p&gt;With the more and more data insertions and queries from the database, we may face the situation that we need to scale out the architecture by increasing new machines to handle the amount of data. However, in the traditional MySQL database, it needs a lot of work to add a new machine (i.e. shading, we partition the data into different machines). And sometimes only key-value queries are needed instead of JOIN operation. We can&#039;t help but think that if there is an alternative solution for database system scalability. By searching on the internet, we find many distributed key-value database are develop for this situation. Among these database systems, Cassandra is a java-based distributed key-value database which is created by Facebook. It is different from MySQL which contains the JOIN operation, Cassandra is good at dealing with the distributed data. You may view the whole cluster as a big hash table with all fault tolerant and data partition are handle by it. It provides &amp;quot;incremental scalability&amp;quot; (which means you can increase throughput by adding new nodes). And Cassandra also supports &amp;quot;Column&amp;quot; feature, it is more convenient than only key-value database systems.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;Let me show you the key elements of Cassandra :&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
&lt;b&gt;Basic key-value database:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Table[&#039;key1&#039;] = value1&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;/files/image/blogs/Cassandra_01.jpg&quot; /&gt;&lt;/p&gt;
&lt;div&gt;&lt;b&gt;With Column feature:&lt;/b&gt;&lt;/div&gt;
&lt;p&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;Table[&#039;Key1&#039;][&#039;column family1&#039;][&#039;Column1&#039;] = Vaule1&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
&lt;img src=&quot;/files/image/blogs/Cassandra_02.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;Data Model:&lt;/h3&gt;
&lt;div&gt;&lt;i&gt;In Cassandra, it can be thought of as a four or five dimensional hash table. From top to bottom, the hierarchy looks like this.&lt;/i&gt;&lt;/div&gt;
&lt;p&gt;&lt;i&gt;&lt;img src=&quot;/files/image/blogs/Cassandra_03.jpg&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;br /&gt;
&lt;b&gt;So the query will look like this:&lt;/b&gt;&lt;br /&gt;
&lt;/i&gt;&lt;/p&gt;
&lt;div&gt;&lt;i&gt;get &amp;lt;ksp&amp;gt;.&amp;lt;cf&amp;gt;[&#039;&amp;lt;key&amp;gt;&#039;][&#039;&amp;lt;col&amp;gt;&#039;] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Get a column value.&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;&lt;i&gt;get &amp;lt;ksp&amp;gt;.&amp;lt;cf&amp;gt;[&#039;&amp;lt;key&amp;gt;&#039;][&#039;&amp;lt;super&amp;gt;&#039;][&#039;&amp;lt;col&amp;gt;&#039;] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Get a sub column value.&lt;/i&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Key Space:&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;In Cassandra, you can define many Key Space. You can think it as the Table in MySQL. It contains {Row, [ColumnFamily]} list. Normally one Key Space per application.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;b&gt;Row:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;For row key, you can have data from relative Column Family. The data in each Column Family is sorted according row key&#039;s order. The row key does not have to contains data in all column family.&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
&lt;div&gt;&lt;b&gt;Column Family:&lt;/b&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;In Column Family, it contains a list of Column or a list of Super Column. You must define it in config before Cassandra start. And each Column Family is stored in a separate file. The number of column in each column family is unlimited.&lt;/p&gt;
&lt;br /&gt;
&lt;b&gt;Column:&lt;/b&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;It is the smallest element &amp;nbsp;of data, and it only contains a name, a value, and a timestamp. You can add new or delete column at anytime.&lt;/p&gt;
&lt;br /&gt;
&lt;div&gt;&lt;b&gt;Super Column:&lt;/b&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Super Column is the container to &amp;nbsp;contain Columns.&lt;/p&gt;
&lt;br /&gt;
&lt;h3&gt;Architecture:&lt;/h3&gt;
&lt;/div&gt;
&lt;p&gt;Cassandra use consistent hash to do key distribution and partition. Each node in Cassandra cluster will take a token (0&amp;lt;token&amp;lt;2^32) in the ring. The size of the ring is 2^32. When the key is coming, it will make the md5 hash for the key and find the smallest token which is larger than the key md5. The the key is mapping the correspond node according to the token, so the data will be store in the corresponding node.&lt;/p&gt;
&lt;div&gt;Like the following example, the key will be inserted into node 2.&lt;br /&gt;
&lt;img src=&quot;/files/image/blogs/Cassandra_04.jpg&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Replicate method:&lt;/h4&gt;
&lt;p&gt;If you want to store two replicas of data in Cassandra cluster. It will store data in the next two nodes.&lt;br /&gt;
&lt;img src=&quot;/files/image/blogs/Cassandra_05.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;h4&gt;Adding a new node:&lt;/h4&gt;
&lt;p&gt;In consistent hash method, adding a new node will only affect the nodes in neighbors. In this case, we do not need to rehash all data. Some data store in node 1 will now store in new node 4. The new node will choose a token randomly, and find the corresponding location according to the md5 hash.&amp;nbsp;&lt;br /&gt;
&lt;img src=&quot;/files/image/blogs/Cassandra_06.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;&lt;b&gt;Reference:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;a href=&quot;http://wiki.apache.org/cassandra/DataModel&quot;&gt;&lt;i&gt;http://wiki.apache.org/cassandra/DataModel&lt;/i&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;a href=&quot;http://blog.gslin.org/archives/2009/07/25/2065/&quot;&gt;&lt;i&gt;http://blog.gslin.org/archives/2009/07/25/2065/&lt;/i&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;i&gt;&lt;a href=&quot;http://arin.me/blog/wtf-is-a-supercolumn-cassandra-data-model&quot;&gt;http://arin.me/blog/wtf-is-a-supercolumn-cassandra-data-model&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;
&lt;p&gt; &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.cellopoint.com/media_resources/blog/2010/05/cassandra-data-model&quot;&gt;&amp;nbsp;read&amp;nbsp;more&amp;nbsp;&amp;raquo;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;</description>
 <pubDate>Mon, 28 Jun 2010 11:21:59 +0800</pubDate>
 <dc:creator>yuteh.shen</dc:creator>
 <guid isPermaLink="false">239 at http://www.cellopoint.com</guid>
</item>
<item>
 <title>Diaspora - the privacy aware, personally controlled, do-it-all distributed open source social network</title>
 <link>http://www.cellopoint.com/media_resources/blog/2010/06/diaspora-open-facebook-project</link>
 <description>&lt;p&gt;&lt;img width=&quot;600&quot; height=&quot;410&quot; src=&quot;/files/12about_CA0-articleLarge-v2.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This newly announced project is featured in New York Times on May 12 - &lt;a href=&quot;http://www.nytimes.com/2010/05/12/nyregion/12about.html?partner=rss&amp;amp;emc=rss&quot;&gt;&amp;quot;Four Nerds and a Cry to Arms Against Facebook&amp;quot;&lt;/a&gt;. First line of the article says &amp;quot;How angry is the world at Facebook for devouring every morsel of personal information we are willing to feed it?&amp;quot;.&lt;/p&gt;
&lt;p&gt;Almost all social network services presenting today are centralized, such as Facebook, Twitter, Orkut etc. we fill out personal information to register as an user, hand over messages via their servers to communicate with our friends. In the mean while, what we are giving up is all of our own privacy. That may increase data leakage and we have to be more cautious about what we are posting on these social networks.&lt;/p&gt;
&lt;p&gt;A few months back, four geeky college students of NYU (Mr. Salzberg and Mr. Grippi are Raphael Sofaer, 19, and Ilya Zhitomirskiy, 20), decided to build a social network that wouldn&amp;rsquo;t force people to surrender their privacy to a big business in exchange for convenient access to their sites. They have called their project &lt;a href=&quot;http://www.kickstarter.com/projects/196017994/diaspora-the-personally-controlled-do-it-all-distr&quot;&gt;Diaspora &lt;/a&gt;and intend to distribute the software free, and to make the code openly available so that other programmers can build on it.&lt;/p&gt;
&lt;p&gt;The Diaspora group was inspired to begin their project after hearing a talk about &amp;quot;internet privacy&amp;quot; by Eben Moglen, a law professor at Columbia University. As more and more of our lives and identities become digitized, Moglen explains, the convenience of putting all of our information in the hands of companies on &amp;ldquo;the cloud&amp;rdquo; is training us to casually sacrifice our privacy and fragment our online identities. Why is there no good alternative to centralized services that, as Moglen pointed out, comes with &amp;quot;spying for free?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;When you give up that data, you&amp;rsquo;re giving it up forever&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;In our real lives, we talk to each other, We don&amp;rsquo;t need to hand our messages to a hub.&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;Our real social lives do not have central managers, and our virtual lives do not need them.&amp;quot; &amp;mdash; said by Diaspora group.&lt;/p&gt;
&lt;p&gt;The project is described as a &amp;quot;network that allows everyone to install their own &amp;ldquo;seed&amp;rdquo; &amp;mdash; i.e. a personal web server with a user&amp;rsquo;s photos, videos and everything else &amp;mdash; within the larger network. That seed would be fully owned and controlled by the user, so the user could share anything and still maintain ownership over it&amp;quot;.&lt;/p&gt;
&lt;p&gt;It would take three or four months to write the code, and they would need a few thousand dollars each to live on. They gave themselves 39 days to raise $10,000, using an online site, Kickstarter, that helps creative people find support. They announced their project on April 24. They reached their $10,000 goal in 12 days, and the money continues to come in: as of today (May 24), they had raised over $180,000&lt;/p&gt;
&lt;p&gt;Not bad for a financial start to turning an envisioned new network into reality. It is far too soon to tell whether Diaspora will replace Facebook and become the next top social networking website, however due to the ripe timing and tremendous amount of support, it might just have a shot. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.cellopoint.com/media_resources/blog/2010/06/diaspora-open-facebook-project&quot;&gt;&amp;nbsp;read&amp;nbsp;more&amp;nbsp;&amp;raquo;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 07 Jun 2010 18:37:24 +0800</pubDate>
 <dc:creator>gibson.yang</dc:creator>
 <guid isPermaLink="false">240 at http://www.cellopoint.com</guid>
</item>
<item>
 <title>Cross-platform C++ libraries for system and network programming</title>
 <link>http://www.cellopoint.com/media_resources/blog/2010/05/Cross-platform-C++libraries-system-and-network-programming</link>
 <description>&lt;p&gt;For years, C++ users have complained a lot about lack of libraries to build system and networking applications. Compared to other Object-Oriented languages like Java and C# which enjoy abundant built-in classes and functions in hand, C++ is somewhat awkward. Programmers need to write code from scratch using native system APIs, or look for existing solutions provided by software vendors. Building everything from ground up can be painful if they don&#039;t have a firm grasp of OS APIs and the code itself is not portable as well. Given that in mind, some intelligent programmers have written and share their libraries to address the issue.&lt;/p&gt;
&lt;p&gt;Adaptive Communication Environment (ACE)&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;560&quot; height=&quot;379&quot; src=&quot;/files/ace(2).gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;ACE has been around for quite a long period. It was first developed by Douglas C. Schmidt during his graduate work at University of California, Irvine. Based on my experience, the source code itself is kind of old-style C++ with lots of Macros inside. With plenty of classes and modern design patterns incorporated, it is considered to be complex and require a long learning curve to master. But due to its glorious history, ACE supports most operating systems, even those you have never heard of.&lt;/p&gt;
&lt;p&gt;Poco C++ Libraries&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;320&quot; height=&quot;255&quot; alt=&quot;&quot; src=&quot;/files/poco(1).png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;You may think Poco as a revised version of ACE with much more clean codebase. To certain extent, It covers what ACE covers plus a lot of de-facto standard C/C++ library, say, PCRE, zlib, etc. Poco is well-documented and source code is quite self-explained. I would recommend it for a beginner who wants to try out such a library.&lt;/p&gt;
&lt;p&gt;Boost C++ Libraries&lt;/p&gt;
&lt;p&gt;Boost is another great library you should never miss out. It has a bunch of useful utility libraries more than you can expect and you will be amazed by the power of C++ templates used in these libraries. In the recent version, it also included a network library called ASIO which is worth to explore. However, when it comes to debugging, the template-based code may not be a pleasure to trace. But if you were a C++ geek, you would love it! &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.cellopoint.com/media_resources/blog/2010/05/Cross-platform-C++libraries-system-and-network-programming&quot;&gt;&amp;nbsp;read&amp;nbsp;more&amp;nbsp;&amp;raquo;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 24 May 2010 10:20:24 +0800</pubDate>
 <dc:creator>angus.liu</dc:creator>
 <guid isPermaLink="false">238 at http://www.cellopoint.com</guid>
</item>
<item>
 <title>Cellopoint Cloud Series 1: the Past, Present, and the Future of Cloud Computing</title>
 <link>http://www.cellopoint.com/media_resources/blog/2010/04/CelloCloud</link>
 <description>&lt;p&gt;&lt;img width=&quot;500&quot; height=&quot;289&quot; alt=&quot;&quot; src=&quot;/files/image/enews/cloud-service.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;What on earth is the currently hottest Cloud Computing? What is its difference from the Grid Computing? This article will take you to the origins, conceptions, and related applications of Cloud Computing. You might have heard another noun, Grid Computing, before Cloud Computing was stirred up. Many people consider Grid Computing &amp;amp; Cloud Computing very much alike. In fact, there is no strict segmentation between the two concepts. They are both considered the concepts derived from Distributed Computing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Grid Computing VS Cloud Computing&lt;br /&gt;
Grid Computing:&lt;/strong&gt;&lt;br /&gt;
It is made of the virtual computing cluster by using the un-used resources (CPU resources &amp;amp; Disk Storage) from a large number of heterogeneous computers (usually called Desktops), and it  provides a structure for solving massive computing problems. Grid Computing focuses on the abilities of cross-domain computing support. With Parallel Computing applied, it focuses on the full-use of resources between and across the companies to jointly solve the tough computing tasks。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cloud Computing: &lt;/strong&gt;&lt;br /&gt;
It is a kind of dynamically scalable computing. The basic concept is to divide the task of computing into several processes. After they are processed and analyzed by the servo group (cloud hosts) distributed over the Internet, the outcomes will be returned to the end-users. Although Cloud Computing originates from Parallel Computing, it is not away from the concepts of Grid Computing. But, Cloud Computing focuses more on the processes of data.&lt;/p&gt;
&lt;p&gt;Mainstream Cloud Technologies:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MapReduce : &lt;/strong&gt;&lt;br /&gt;
It is the key technology that Google applies to Cloud Computing, which allows developers to develop more programs that process massive data. First, it divides the data into unrelated segments through the Map program for a large number of computers to process. Results are further gathered and integrated through the Reduce program. Then it outputs the outcomes required by developers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hadoop： &lt;/strong&gt;&lt;br /&gt;
Hadoop is an open-source program inspired by the Google Cloud Structure. The structure of Hadoop is implemented with the concepts proposed by the Google BigTable and the Google File System. It is written in Java, which can provide a Distributed Computing environment for massive data. But the Distributed File System used is different from Google&amp;rsquo;s. Yahoo is the main contributor and user of the program.。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Service Patterns of Cloud Computing &lt;/strong&gt;&lt;br /&gt;
The application of Cloud Computing usually provides the clients through the Internet with information technologies, including computation, storage, and bandwidth, in a virtual form of &amp;ldquo;services&amp;rdquo;. Through Cloud Computing, users only have to take the services as Black Boxes and input the actions required. They don&amp;rsquo;t have to know the operations inside the Boxes. They only have to wait for the outcomes returned.&lt;br /&gt;
Three patterns based on service categories:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Software as a Service, SaaS&lt;/strong&gt;&lt;br /&gt;
The SaaS is a pattern of acquiring the software deployment through the Internet. It provides the company with the Software on Demand from the front-end office applications, such as Email and word processing to the back-end data analysis, customer relationship management, business process management, and human resource management. Representatives are Google, Salesforce, Microsoft, etc.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Platform as a service, PaaS&lt;/strong&gt;&lt;br /&gt;
The PaaS is a kind of combination of Servo Hosting Platform and a Virtual Solution. Users don&amp;rsquo;t have to construct the hardware hosts and the operating systems by themselves. Through the rented Internet, PaaS service providers provide the Virtual Hosting Platform, which saves software &amp;amp; hardware maintenance and labor &amp;amp; time management. Through the PaaS, software providers can focus on the software development and accelerate function deployment online. Well-known developers are Amazon web service, Google App Engine, etc.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Infrastructure as a service, IaaS&lt;/strong&gt;&lt;br /&gt;
IaaS makes the IT infrastructure kind of service. The company outsources the structure required within the company to the IaaS contractors. Compared with the costs of ordering hardware, software, storage, power, and the bandwidth for construction of traditional computer room, the company can acquire the IT resources more efficiently by paying per use. The concepts of the Private Cloud &amp;amp; the Hybrid Cloud are extensions of the IaaS。Private Cloud makes the exterior resources interior within the company through the VPN; Hybrid Cloud, which integrates cloud services from different providers more flexibly, combines the Public Cloud/SaaS and the Private Cloud. Sensitive data are served by the Private Cloud while non-confidential data are served by the Public Cloud of lower costs.&lt;/p&gt;
&lt;p&gt;More and more suppliers are investing in the cloud services, and that means the Cloud service Market has become the trend for the future. The rise of the market means that the company can lower the construction costs of information services and that it can focus on the core of its operations to improve efficiency and competitiveness. However, Cloud services also bring about many problems, such as security apprehensions, whether or not the Service Level is sufficient for dealing with the daily operational requests from the company, the compatibility with the existing systems, etc. In the presence of the Cloud security problems, the next article will take you to the new technologies and its applications developed by information security providers. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.cellopoint.com/media_resources/blog/2010/04/CelloCloud&quot;&gt;&amp;nbsp;read&amp;nbsp;more&amp;nbsp;&amp;raquo;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 20 Apr 2010 00:00:00 +0800</pubDate>
 <dc:creator>nicki.koo</dc:creator>
 <guid isPermaLink="false">235 at http://www.cellopoint.com</guid>
</item>
<item>
 <title>CelloCloud™ protect you from H1N1 Spam</title>
 <link>http://www.cellopoint.com/media_resources/blogs/2009/05/H1N1-spam</link>
 <description>&lt;p&gt;Hackers usually use the most popular things that people are talking about to send the spam mail. By the spare of the H1N1 globally, the relative topic of H1N1 spam mail are all over the place. CelloCloud&amp;trade; Threat Sensor System already found out many cases of spam mail which are using the H1N1 as the topic to attack personal computer. They are using a very attractive topic such as &amp;rdquo;Madonna caught swine flu!&amp;rdquo; or &amp;rdquo;Swine flu in USA&amp;rdquo;&amp;ldquo; to let the receiver to click the website or download the Trojan to personal computer to steal the personal information or combine with Flash to attack the unguarded computers.&lt;/p&gt;
&lt;p&gt;Cellopoint wants to remind everyone 1. Be aware of the suspicious email. Do not open or click the links inside an email. Do not give away any personal information such as bank account number, password&amp;hellip;ect in the email. None of the companies would request this kind of information from their user. 2. Do not reply to spam, as it will let Spammer know your email address is valid. Then they will send more spam. In addition, a number of spam contains unsubscribe links will create the same result. The best way to deal with spam is to delete without reading it. 3. Watch out for social-engineering trap. Hackers become more sophisticated and often trick individuals to enable malicious code attacks (Spear Phishing). 4. Do not forward chain letters. This special kind of email may be created by hackers to collect email accounts for the production of spam.&lt;/p&gt;
&lt;p&gt;CelloCloud&amp;trade; Threat Sensor System relase the anti-spam database update when the system discovered the threat of the Swine spam to protect their global clients. CelloCloudTM provides &amp;ldquo;Global threat protection&amp;rdquo; and &amp;ldquo; Online update protection&amp;rdquo; functions. It can help for anti-spam, virus, anti-spy, phishing, anti-reply, DoS attack, hackers threat &amp;hellip;ect. CelloCloudTM Threat Sensor System just like a safety cloud to prevent our customers from the threat and reach our goal of &amp;ldquo;Cloud Security for Email&amp;rdquo; &lt;/p&gt;
&lt;p&gt; &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.cellopoint.com/media_resources/blogs/2009/05/H1N1-spam&quot;&gt;&amp;nbsp;read&amp;nbsp;more&amp;nbsp;&amp;raquo;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 05 May 2009 00:00:00 +0800</pubDate>
 <dc:creator>admin</dc:creator>
 <guid isPermaLink="false">223 at http://www.cellopoint.com</guid>
</item>
<item>
 <title>Free Email is an accessory for hacker to attack job hunters</title>
 <link>http://www.cellopoint.com/media_resources/blogs/2009/05/job-loss-fraud</link>
 <description>&lt;p&gt;Due to the economic resection ,there are more and more unemployed people looking for jobs on line and it gives the hackers a perfect chance to defraud those job hunters. Cellopoint Global Anti-spam Center (CGAC) has found and intercepted a huge amount of spear phishing messages which contain messages like &amp;ldquo;Thank you for applying xx position. After reviewing your resume, you are not qualified for this position. We decide to send your resume back to you&amp;hellip;&amp;rdquo;This email seems normal with the link of the company website. If you open the attached file, it would not be your resume that you are looking for. It would be Trojan Horse. It is impossible for the job hunters to memorize all the companies&#039; names and jobs that they applied for. This is the reason that job hunters are the victims of these false emails.&lt;/p&gt;
&lt;p&gt;Cellopoint Global Anti-spam Center (CGAC) thought that these spear phishing attacks are showing the new change of the social behaviors. Besides those Botnet computers which have been attacked by Trojan, hackers also use those free web mail servers as the step stone to attack regular user. For the service provider, this not only slows down the efficiency of the mail server but also becomes the black list which would effect the basic function of sending or receiving mails. If the service provider wants to promote a better email service by charging their customers, the black list would be the biggest problem for their future business plan. The Executive Yuan of the Republic of China has already passed the new law of &amp;ldquo;the management of sending business email&amp;rdquo; which says that the email service provider must prevent the spam of business email. If the email service provider can not forbid the spam, they will receive the find until they do something to stop it.&lt;/p&gt;
&lt;p&gt;Cellpoint email security and management solution also called Email UTM. It got the first place of the Ites Best Choice of &amp;ldquo;Anti-spam&amp;rdquo; in 2008 by Institute for Information Industry. From Email UTM, it included CGAC online guarding service about anti-spam, virus email, anti-spy, phising, anti-Relay, anti-Dos, anti-Hacking to secure the safety of email transferring, Digital Signature to solve the problem of counterfeit email. Cellopoint Policy Center can classify the email into different categories between business email and regular email. It provides IP Pool management. This can avoid the regular email IP to be listed in the spam blacklist. It can forward, delete, quarantine, notice the inspect or secure copy&amp;hellip;ect. This can increase the efficiency of the system dramatically for all the clients include the service providers, businesses and organizations. &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.cellopoint.com/media_resources/blogs/2009/05/job-loss-fraud&quot;&gt;&amp;nbsp;read&amp;nbsp;more&amp;nbsp;&amp;raquo;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 31 Mar 2009 00:00:00 +0800</pubDate>
 <dc:creator>admin</dc:creator>
 <guid isPermaLink="false">222 at http://www.cellopoint.com</guid>
</item>
<item>
 <title>Cellopoint warns of Valentine’s Threat</title>
 <link>http://www.cellopoint.com/media_resources/blogs/2009/02/valentine-spam</link>
 <description>&lt;p&gt;With Valentine&#039;s Day just around the corner, email threats hided in Valentine&amp;rsquo;s Card are also awakening. Cellopoint Global Anti-spam Center, CGAC has a warning for internet users: The surge of Valentine Day attacks come from notorious Waledac botnet and disguise as E-card format. This kind of spam carries links to get users to visit malicious sites. Instead of real greeting cards, malware will be downloaded and compromised their computers. The infected computers will become part of botnet and send out spam and virus without awareness as well. &lt;br /&gt;
This kind of spam is short and sweet one liner with content like: &amp;ldquo;Me and You&amp;rdquo;, &amp;ldquo;In Your Arms&amp;rdquo;, &amp;ldquo;With all my love&amp;rdquo; and &amp;ldquo;I give my heart to you&amp;rdquo; followed by an URL. If you receive an email above and similar to the title, you should be careful. Do not open it without double confirm. Besides, tax refund and online booking confirmation also increases in amount.&lt;/p&gt;
&lt;p&gt;Cellopoint provides a few tips to stay away from spam:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Use an email security solution. This solution should protect against inbound email threats and viruses while ensuring transmission of legitimate email messages without delay. It should maintain a very low false-positive rate.&lt;/li&gt;
    &lt;li&gt;Educate users on secure email practices. Be careful with suspicious email. Never fill out forms in email messages that ask for personal or financial information or passwords. Remember that legitimate companies will never ask for this type of information via email. Avoid opening suspicious emails and clicking on suspicious links.&lt;/li&gt;
    &lt;li&gt;Do not reply to spam, as it will let Spammer know your email address is valid. Then they will send more spam. In addition, a number of spam contains unsubscribe links will create the same result. The best way to deal with spam is to delete without reading it.&lt;/li&gt;
    &lt;li&gt;Watch out for social-engineering trap. Hackers become more sophisticated and often trick individuals to enable malicious code attacks (Spear Phishing).&lt;/li&gt;
    &lt;li&gt;Do not forward chain letters. This special kind of email may be created by hackers to collect email accounts for the production of spam.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;About Cellopoint&lt;br /&gt;
Cellopoint is a leading provider of email UTM (Unified Threat Management) solutions for organizations ranging from small businesses to large enterprise and ISPs. We defend against email threats such as spam and viruses, prevent leaks of confidential data by content filtering and secure mail delivery, archive email to protect your digital assets, comply with regulatory inquiries and corporate investigations in a single, web-based platform. We provide the maximum reliable, scalable and flexible solutions to help you deploy and manage easily. For more information, please visit: &lt;a href=&quot;http://www.cellopoint.com&quot;&gt;www.cellopoint.com&lt;/a&gt; &lt;span class=&#039;read-more&#039;&gt;&lt;a href=&quot;http://www.cellopoint.com/media_resources/blogs/2009/02/valentine-spam&quot;&gt;&amp;nbsp;read&amp;nbsp;more&amp;nbsp;&amp;raquo;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 10 Feb 2009 13:09:25 +0800</pubDate>
 <dc:creator>admin</dc:creator>
 <guid isPermaLink="false">210 at http://www.cellopoint.com</guid>
</item>
</channel>
</rss>
