Thursday, March 13, 2008

Social Networking - How Safe Are We !

Misuse & abuses of social networking sites is nothing new & we have been an audience to several instances of such cases through the daily newspapers & journals. Well, every action has some reaction & hence if you are seeking for glamor & publicity, you ought to dodge the hurdles!

In relation to the recent phenomenon of Social Networking websites, it appears, that individuals are more concerned with the aspect of socialising than being “let alone” on the internet. An immense amount of personal information is uploaded by users onto these websites, and this indicates an apparent lack of concern for privacy. However, privacy issues bear importance only when privacy is breached, and when the socializing no longer allows for a personal life.

The question of the liability of the website or an individual for a breach of privacy only arises once we establish that there is information on these websites which is liable to be misused. The broad range of information provided on these sites ranges from the type of information revealed or elicited often orbits around hobbies and interests, but can stride from there in different directions.

These include: semi-public information such as current and previous schools and employers (as in Friendster and Facebook, private information such as drinking and drug habits and sexual preferences and orientation as in Orkut and open-ended entries as in LiveJournal.
While users’ have an apparent control of the sharing of their personal information, this extends only to viewing by other users (which in itself poses several threats to privacy as discussed later). The information once in the possession of the site, is itself liable to being misused by third parties who come in contact with the owner of the websites. For example, the privacy policy of both Facebook and Orkut, contain a Section on the sharing on personal information with third parties and allow for this in the ambiguous terms of “to provide you with a better experience and to improve the quality of our services.” Facebook also states that "We may be required to disclose user information pursuant to lawful requests, such as subpoenas or court orders, or in compliance with applicable laws. We do not reveal information until we have a good faith belief that an information request by law enforcement or private litigants meets applicable legal standards. Additionally, we may share account or other information when we believe it is necessary to comply with law, to protect our interests or property, to prevent fraud or other illegal activity perpetrated through the Facebook service or using the Facebook name, or to prevent imminent bodily harm. This may include sharing information with other companies, lawyers, agents or government agencies. ”

Thus, having established, that all of the information users upload on Social Networking Websites is not necessarily only accessible to other users, but to unknown third parties who may use it to monitor customer habits , it is the submission of the researcher that there is breach of privacy and an unreasonable intrusion into ones personal life on these sites.

Shared by one of my friends !

2D arrays in Javascript

Folks, here is an example of creating a 2D array in javascript:

var polygon = Array(10);
for (i=0; i <limit; i++)
polygon[i]=new Array(10);

Here, 'polygon' is a 1D array. Each array element of this 1D array is initialized to be arrays which

subsequently makes 'polygon' as a 2D array.


Keep posting... :)

Wednesday, March 5, 2008

Does networking sites make profit?

Social networking sites like Facebook/Orkut does benefit by increasing users, how?

1. The higher the users, the more coverage each ad gets. These sites get ads from ad providers & have a robust ad tracking software which tracks the ad coverage, frequency, benefit for ad provider in addition to a plethora of other factors. Hence if ebay provides an ad on facebook, ebay will have an ad tracking software to understand the advantages ebay is having by placing ads. Users click on the adverts on the site & get lured to buy products sometimes. The discussion goes on how ads help in form of banners/lists/flash on sites.

2. These sites track user's behaviour & deliver specific ads which in directed towards each individual depending on his/her behaviour. Thus, the success of ads being potential increases.

3. Today, such networking sites are just one of the many applications provided by software giants. Like Google having orkut, Microsoft having Myspace, etc etc. What they try to do is to maximize users in order to market themselves & attract those users to other products of their's like mail apps, chat apps, etc etc. After all. its an era of marketing gimmicks !

The most popular of the ad provider/consumer products are offered by Google. These are adsense & adwords.

Keep adding inputs.

Tuesday, March 4, 2008

What is Web 2.0?

Since a long time there has been quite a lot of confusion on the definition of Web 2.0. Exactly, what is it? The confusion is caused due to various reasons. One of the major reasons is that whenever anything new comes up in technology, people tend to derive the source of the invention assuming that its something new & fresh. Well, thats not the case with Web 2.0 - it was always there. Just the way its being consumed now has made headlines and brought the buzzword Web 2.0 in the forefront of application developments.

Conceptually, its a knowledge-driven environment. Its the idea, the way, the process rather than anything solid & real and delivers user-rich interactivity. It is also a marketing gimmick to focus on the Web 2.0 techniques in order to collaborate & deliver such contents.

Web 2.0 sites often feature a rich, user-friendly interface based on Ajax, Flex or similar rich media.

The features of this buzzword are:
  • Rich user experience
  • User participation
  • Dynamic content
  • Web standards
Some of the technologies used to render Web 2.0 applications are:
  • Html / javascript / ajax
  • Flex / java / silverlight
  • Tags / meta data
  • Cascading style sheets
  • Xml / json based api
  • Weblogs / blogs
  • Syndication feeds in rss / atom
  • Wiki
  • Mashups
Google is perhaps the pioneer of Web 2.0 but they did not invent Web 2.0. They made use of such techniques which later got termed as standards for Web 2.0 experiences.

This is the definition from my end - will appreciate & acknowledge inputs.

Sunday, March 2, 2008

Flex cross-domain security problem

In this blog I comment on one of the hurdles I faced while executing flex-flash based apps on the net. By a thumb rule flash apps cannot directly access outside urls. I was in this case trying to consume some feed urls for my site and had a hard time understanding the problem initially since I was relatively new to flex.

I had come across the Flash cross-domain security problem & hence my flex apps were not able to connect to outside urls. This is one of the security features on the internet to disallow direct flash access to resources.

There are two ways to avoid this:
1. To allow access to the flash app by giving permission in the crossdomain.xml of the site being accessed.
2. Indirectly access the resources via a php/asp script.

The first option is not feasible since none of the site will expose holes in their security by allowing access to flash apps.

Here, I write about the second feasible option whereby we access the resource (rss feed / web service) via a php/asp script. This PHP script takes a "url" parameter, which is the XML file (or XML-RPC service) you are trying to reach. If you're trying to load http://rss.google.com/rss/topstories.rss, the new url you would access would be something like:
http://www.my_website.com/xml_proxy.php?url=http://rss.google.com/rss/topstories.rss.

Here the name of the php file having the script is xml_proxy.php.

Here is the content of the php file:


$post_data = $HTTP_RAW_POST_DATA;

$header[] = "Content-type: text/xml";
$header[] = "Content-length: ".strlen($post_data);

$ch = curl_init( $_GET['url'] );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

if ( strlen($post_data)>0 ){
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
}

$response = curl_exec($ch);

if (curl_errno($ch)) {
print curl_error($ch);
} else {
curl_close($ch);
print $response;
}

?>

This is a simple script taking the url as the input parameter, hits the remote server, gets the response & prints it out to be consumed by our flex app.
By the way, do remember that your hosting web server should support php executions. Even I got this script from one of the sites on the net. Cheers !