Archive

Archive for the ‘political’ Category

Import Yahoo contact to website / download CSV

June 28, 2012 1 comment

Image representing OAuth as depicted in CrunchBase

Written in PHP and using cURL, this script imports the names and email addresses from your yahoo account (yahoo id and password needed to login to yahoo from the script and retreive the address book).

<!–?php–>
ob_start();
session_start();
require ‘globals.php’;
require ‘oauth_helper.php’;
require ‘yahoo_function.php’;

// Callback can either be ‘oob’ or a url whose domain must match
// the domain that you entered when registering your application

$callback='<your call back URL>’;

if($_REQUEST[‘oauth_verifier’] != ”) {
$request_token = $_REQUEST[‘oauth_token’];
$oauth_verifier = $_REQUEST[‘oauth_verifier’];
$request_token_secret = $_SESSION[‘request_token_secret’];

$accessToken = get_access_token(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET,$request_token, $request_token_secret,$oauth_verifier, false, true, true);

$access_token = urldecode($accessToken[3][‘oauth_token’]);
$access_token_secret = urldecode($accessToken[3][‘oauth_token_secret’]);
$guid = $accessToken[3][‘xoauth_yahoo_guid’];

$callcont = callcontact(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET, $guid, $access_token, $access_token_secret, false, true);
print ‘Total Email COntact :’ .$callcont[‘contacts’][‘total’];
print ‘<br/><br/>’;

print ‘asda’.($callcont[‘contacts’][‘total’]);
for($i=0; $i<=$callcont[‘contacts’][‘total’];$i++) {
print ‘<br/><br/>’;
print $callcont[‘contacts’][‘contact’][$i][‘fields’][0][‘value’];
print ‘<br/><br/>’;
}

}else{

$retarr = get_request_token(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET,$callback, false, true, true);

if (! empty($retarr)){
$request_token = $retarr[3][‘oauth_token’];
$request_token_secret = $retarr[3][‘oauth_token_secret’];
$request_url = urldecode($retarr[3][‘xoauth_request_auth_url’]);
$_SESSION[‘request_token_secret’] = $request_token_secret;
header(“location:https://api.login.yahoo.com/oauth/v2/request_auth?oauth_token=&#8221;.$request_token);
}
exit(0);
}
?>

Yahoo_function.php

<?php

function get_request_token($consumer_key, $consumer_secret, $callback, $usePost=false, $useHmacSha1Sig=true, $passOAuthInHeader=false)
{
$retarr = array(); // return value
$response = array();

$url = ‘https://api.login.yahoo.com/oauth/v2/get_request_token&#8217;;
$params[‘oauth_version’] = ‘1.0’;
$params[‘oauth_nonce’] = mt_rand();
$params[‘oauth_timestamp’] = time();
$params[‘oauth_consumer_key’] = $consumer_key;
$params[‘oauth_callback’] = $callback;

// compute signature and add it to the params list
if ($useHmacSha1Sig) {
$params[‘oauth_signature_method’] = ‘HMAC-SHA1‘;
$params[‘oauth_signature’] =
oauth_compute_hmac_sig($usePost? ‘POST‘ : ‘GET’, $url, $params,
$consumer_secret, null);
} else {
$params[‘oauth_signature_method’] = ‘PLAINTEXT‘;
$params[‘oauth_signature’] =
oauth_compute_plaintext_sig($consumer_secret, null);
}

// Pass OAuth credentials in a separate header or in the query string
if ($passOAuthInHeader) {

$query_parameter_string = oauth_http_build_query($params, FALSE);

$header = build_oauth_header($params, “yahooapis.com”);
$headers[] = $header;
} else {
$query_parameter_string = oauth_http_build_query($params);
}

// POST or GET the request
if ($usePost) {
$request_url = $url;
logit(“getreqtok:INFO:request_url:$request_url”);
logit(“getreqtok:INFO:post_body:$query_parameter_string”);
$headers[] = ‘Content-Type: application/x-www-form-urlencoded‘;
$response = do_post($request_url, $query_parameter_string, 443, $headers);
} else {
$request_url = $url . ($query_parameter_string ?
(‘?’ . $query_parameter_string) : ” );

logit(“getreqtok:INFO:request_url:$request_url”);

$response = do_get($request_url, 443, $headers);

}

// extract successful response
if (! empty($response)) {
list($info, $header, $body) = $response;
$body_parsed = oauth_parse_str($body);
if (! empty($body_parsed)) {
logit(“getreqtok:INFO:response_body_parsed:”);

}
$retarr = $response;
$retarr[] = $body_parsed;
}

return $retarr;
}
function get_access_token($consumer_key, $consumer_secret, $request_token, $request_token_secret, $oauth_verifier, $usePost=false, $useHmacSha1Sig=true, $passOAuthInHeader=true)
{
$retarr = array(); // return value
$response = array();

$url = ‘https://api.login.yahoo.com/oauth/v2/get_token&#8217;;
$params[‘oauth_version’] = ‘1.0’;
$params[‘oauth_nonce’] = mt_rand();
$params[‘oauth_timestamp’] = time();
$params[‘oauth_consumer_key’] = $consumer_key;
$params[‘oauth_token’]= $request_token;
$params[‘oauth_verifier’] = $oauth_verifier;

// compute signature and add it to the params list
if ($useHmacSha1Sig) {
$params[‘oauth_signature_method’] = ‘HMAC-SHA1’;
$params[‘oauth_signature’] =
oauth_compute_hmac_sig($usePost? ‘POST’ : ‘GET’, $url, $params,
$consumer_secret, $request_token_secret);
} else {
$params[‘oauth_signature_method’] = ‘PLAINTEXT’;
$params[‘oauth_signature’] =
oauth_compute_plaintext_sig($consumer_secret, $request_token_secret);
}

// Pass OAuth credentials in a separate header or in the query string
if ($passOAuthInHeader) {
$query_parameter_string = oauth_http_build_query($params, false);
$header = build_oauth_header($params, “yahooapis.com”);
$headers[] = $header;
} else {
$query_parameter_string = oauth_http_build_query($params);
}

// POST or GET the request
if ($usePost) {
$request_url = $url;
logit(“getacctok:INFO:request_url:$request_url”);
logit(“getacctok:INFO:post_body:$query_parameter_string”);
$headers[] = ‘Content-Type: application/x-www-form-urlencoded’;
$response = do_post($request_url, $query_parameter_string, 443, $headers);
} else {
$request_url = $url . ($query_parameter_string ?
(‘?’ . $query_parameter_string) : ” );
logit(“getacctok:INFO:request_url:$request_url”);
$response = do_get($request_url, 443, $headers);
}

// extract successful response
if (! empty($response)) {
list($info, $header, $body) = $response;
$body_parsed = oauth_parse_str($body);
if (! empty($body_parsed)) {
logit(“getacctok:INFO:response_body_parsed:”);
//print_r($body_parsed);
}
$retarr = $response;
$retarr[] = $body_parsed;
}
return $retarr;
}
function callcontact($consumer_key, $consumer_secret, $guid, $access_token, $access_token_secret, $usePost=false, $passOAuthInHeader=true)
{
$retarr = array(); // return value
$response = array();

$url = ‘http://social.yahooapis.com/v1/user/&#8217; . $guid . ‘/contacts’;

$params[‘format’] = ‘json’;
$params[‘view’] = ‘compact’;
$params[‘oauth_version’] = ‘1.0’;
$params[‘oauth_nonce’] = mt_rand();
$params[‘oauth_timestamp’] = time();
$params[‘oauth_consumer_key’] = $consumer_key;
$params[‘oauth_token’] = $access_token;

// compute hmac-sha1 signature and add it to the params list
$params[‘oauth_signature_method’] = ‘HMAC-SHA1’;
$params[‘oauth_signature’] =
oauth_compute_hmac_sig($usePost? ‘POST’ : ‘GET’, $url, $params,
$consumer_secret, $access_token_secret);

// Pass OAuth credentials in a separate header or in the query string
if ($passOAuthInHeader) {
$query_parameter_string = oauth_http_build_query($params, true);
$header = build_oauth_header($params, “yahooapis.com”);
$headers[] = $header;
} else {
$query_parameter_string = oauth_http_build_query($params);
}

// POST or GET the request
if ($usePost) {
$request_url = $url;
logit(“callcontact:INFO:request_url:$request_url”);
logit(“callcontact:INFO:post_body:$query_parameter_string”);
$headers[] = ‘Content-Type: application/x-www-form-urlencoded’;
$response = do_post($request_url, $query_parameter_string, 80, $headers);
} else {
$request_url = $url . ($query_parameter_string ?
(‘?’ . $query_parameter_string) : ” );
logit(“callcontact:INFO:request_url:$request_url”);
$response = do_get($request_url, 80, $headers);
}

// extract successful response
if (! empty($response)) {
list($info, $header, $body) = $response;
if ($body) {
logit(“callcontact:INFO:response:”);

json_pretty_print($body);

}
$retarr = $response;
}
$contactsRes = json_decode($retarr[2],true);
return $contactsRes;
}
?>

Facebook buys facial-recognition startup

Image representing Facebook as depicted in Cru...

Image via CrunchBase

Image representing Face.com as depicted in Cru...

Image via CrunchBase

Facebook Inc (FB.O) is paying $55 million to $60 million to buy Face.com, according to people familiar with the matter, acquiring the company that provides the facial-recognition technology used by the world’s largest social network to help users identify and tag photos.

The deal bolsters one of Facebook’s most popular features — the sharing and handling of photos — but the use of the startup’s

has spurred concerns about user privacy.

The No. 1 social network will pay cash and stock for Face.com, potentially paying as much as $60 million, two sources with knowledge of the deal said. Media reports in past weeks have pegged the transaction at $80 million to $100 million.

Neither Facebook nor Face.com disclosed terms of the deal, which is expected to close in coming weeks.

Facebook, which will acquire the technology and the employees of the 11-person Israeli company, said in a statement that the deal allows the company to bring a “long-time technology vendor in house.”

Face.com, which has raised nearly $5 million from investors including Russian Web search site Yandex (YNDX.O), launched its first product in 2009. The company makes standalone applications that consumers can use to help them identify photos of themselves and of their friends on Facebook, as well as providing the technology that Facebook has integrated into its service.

Facebook uses the technology to scan a user’s newly uploaded photos, compares faces in the snapshots with previous pictures, then tries to match faces and suggest name tags. When a match is found, Facebook alerts the person uploading the photos and invites them to “tag,” or identify, the person in the photo.

Responding to inquiries from U.S. and European privacy advocates, Facebook last year made it easier for users to opt out of its controversial facial-recognition technology for photographs posted on the website, an effort to address concerns that it had violated consumers’ privacy.

The deal is the latest in a string of acquisitions by Facebook in recent months, including the $1 billion acquisition of mobile photo-sharing service Instagram. U.S. antitrust regulators are undertaking an extended review of the Instagram deal, which Facebook expects to close by the end of the year.

Shares of Facebook, which continue to trade below the price at which they were offered during the initial public offering in May, closed Monday’s regular session up 4.7 percent at $31.41.

Microsoft‘s tablet no threat to iPad: analysts

Image representing iPad as depicted in CrunchBase

Image via CrunchBase

Microsoft Corp‘s new tablet computers are no threat to Apple Inc‘s iPad, given the lack of enthusiasm among developers to create applications that run on the new Windows operating system, analysts said.

Microsoft introduced its own “Surface” line of tablets on Monday, taking on Apple as well as its own hardware partners including Samsung Electronics Co Ltd and Hewlett-Packard Co.

“Though pricing details are unclear … Microsoft will need to significantly undercut the iPad to be competitive,” Jefferies analyst Peter Misek said.

The Surface tablet will come in two versions, one running Windows RT, based on the same chip designs that power most tablets, and a higher-performance version running Windows 8 Pro.

“The most important factor in the success of a tablet is its ecosystem. Based on our discussions with developers, we find the lack of enthusiasm concerning,” Misek said.

Misek said he expects Windows 8 tablets to struggle to compete with the iPad, which offers over 225,000 apps, and to a lesser extent with Google Inc‘s Android-based tablets, such as the Galaxy Tab.

Microsoft’s lighter, thinner version of the Surface tablet would compete directly with the iPad, while the second, heavier tablet, aimed at the new generation of lightweight laptops, would compete with larger PC makers.

But selling two versions of the tablet in the same retail channels will confuse consumers, said analysts at Jefferies, Forrester Research and ThinkEquity.

“Choice is a key tenet of Windows, but too much choice is overwhelming for consumers,” Forrester Research said. “Apple gets this, and limits iPad options to connectivity, storage, and black … or white.”

However, a keyboard that doubles up as the tablet cover and aggressive pricing could help Microsoft gain market share, some analysts said.

“The keyboard, a simple accessory, is what makes the device most compelling, as it preserves traditional interface that we believe many users appreciate (and will demand) with the subtlety of a cover, something most users will want anyway,” said Citi analyst Walter Pritchard.

Morgan Stanley’s Adam Holt said the cover keyboard, compatibility with Microsoft Office, integrated USB ports and features optimized for Skype would help Microsoft differentiate itself from other tablet makers.

Microsoft shares edged up 19 cents to $30.03 on Tuesday before the bell. They closed at $29.84 on Monday on the Nasdaq.

How to Count Visitors Using PHP & MySQL

June 16, 2012 3 comments

This example tutorial will show how to count visitors by using PHP and MySLQ, you can count all visitor visited your website by ip, hour, minute, date, month, year, page, browser, referrer and it is stored in MySQL. So you can get detail information about your visitors.

Tracking our website’s visitors is a very important step if you’re serious enough about analyzing your traffic and optimizing your pages to get the most of your visitors. There are many reasons why you should think of implementic tracking scripts (it’s crucial to know where your traffic is coming from and where it goes, wha people search, how long they stay etc.), you could increase sales, you could optimize your pages to increase page hits, you could make lots of changes to increase your Adsense profits and the list goes on and on.

Bellow is tutorial how to count visitors using php and MySQL, follow with this step :

First step you need create visitors_table. Copy code bellow and pasted it Query SQL, you will get a table “visitors_table’.

CREATE TABLE `visitors_table` (
`ID` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`visitor_ip` VARCHAR( 32 ) NULL ,
`visitor_browser` VARCHAR( 255 ) NULL ,
`visitor_hour` SMALLINT( 2 ) NOT NULL DEFAULT '00',
`visitor_minute` SMALLINT( 2 ) NOT NULL DEFAULT '00',
`visitor_date` TIMESTAMP( 32 ) NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`visitor_day` SMALLINT( 2 ) NOT NULL ,
`visitor_month` SMALLINT( 2 ) NOT NULL ,
`visitor_year` SMALLINT( 4 ) NOT NULL ,
`visitor_refferer` VARCHAR( 255 ) NULL ,
`visitor_page` VARCHAR( 255 ) NULL
) TYPE = MYISAM ;

Ok. We have our database ready for storing our visitors info We will need to setup a script which will store the visitor’s info in our database so let’s start writing it. We need the ip address of our visitor so we will get it using the following method.

function getBrowserType () {
if (!empty($_SERVER['HTTP_USER_AGENT']))
{
   $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
}
else if (!empty($HTTP_SERVER_VARS['HTTP_USER_AGENT']))
{
   $HTTP_USER_AGENT = $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
}
else if (!isset($HTTP_USER_AGENT))
{
   $HTTP_USER_AGENT = '';
}
if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version))
{
   $browser_version = $log_version[2];
   $browser_agent = 'opera';
}
else if (ereg('MSIE ([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version))
{
   $browser_version = $log_version[1];
   $browser_agent = 'ie';
}
else if (ereg('OmniWeb/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version))
{
   $browser_version = $log_version[1];
   $browser_agent = 'omniweb';
}
else if (ereg('Netscape([0-9]{1})', $HTTP_USER_AGENT, $log_version))
{
   $browser_version = $log_version[1];
   $browser_agent = 'netscape';
}
else if (ereg('Mozilla/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version))
{
   $browser_version = $log_version[1];
   $browser_agent = 'mozilla';
}
else if (ereg('Konqueror/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version))
{
   $browser_version = $log_version[1];
   $browser_agent = 'konqueror';
}
else
{
   $browser_version = 0;
   $browser_agent = 'other';
}
return $browser_agent;
}

Here is browser types code:
$visitor_browser = getBrowserType();
Now we need to define hour, minute, day, month and year of visitors:

$visitor_hour = date("h");
$visitor_minute = date("i");
$visitor_day = date("d");
$visitor_month = date("m");
$visitor_year = date("y");

And next we need to find out who is sending us visitors so we can thank them.

$visitor_refferer = gethostbyname($HTTP_REFERER);

So to get the full url of our page we will use this function:

function selfURL() {
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
}
function strleft($s1, $s2) { return substr($s1, 0, strpos($s1, $s2));
}

Now we have our page, we will store it on a variable:

$visited_page = selfURL();

We need to create a new page which will be used to connect to the database.

It is visitors_connections.php. Copy this code and save it:

$hostname_visitors = "host";
$database_visitors = "database";
$username_visitors = "username";
$password_visitors = "password";

$visitors = mysql_connect($hostname_visitors, $username_visitors,
 $password_visitors) or rigger_error(mysql_error(),E_USER_ERROR);

function getBrowserType () {
if (!empty($_SERVER['HTTP_USER_AGENT']))
{
   $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
}
else if (!empty($HTTP_SERVER_VARS['HTTP_USER_AGENT']))
{
   $HTTP_USER_AGENT = $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
}
else if (!isset($HTTP_USER_AGENT))
{
   $HTTP_USER_AGENT = '';
}
if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version))
{
   $browser_version = $log_version[2];
   $browser_agent = 'opera';
}
else if (ereg('MSIE ([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version))
{
   $browser_version = $log_version[1];
   $browser_agent = 'ie';
}
else if (ereg('OmniWeb/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version))
{
   $browser_version = $log_version[1];
   $browser_agent = 'omniweb';
}
else if (ereg('Netscape([0-9]{1})', $HTTP_USER_AGENT, $log_version))
{
   $browser_version = $log_version[1];
   $browser_agent = 'netscape';
}
else if (ereg('Mozilla/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version))
{
   $browser_version = $log_version[1];
   $browser_agent = 'mozilla';
}
else if (ereg('Konqueror/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version))
{
   $browser_version = $log_version[1];
   $browser_agent = 'konqueror';
}
else
{
   $browser_version = 0;
   $browser_agent = 'other';
}
return $browser_agent;
}

function selfURL() {
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
}

function strleft($s1, $s2) { return substr($s1, 0, strpos($s1, $s2)); }

function paginate($start,$limit,$total,$filePath,$otherParams) {
    global $lang;

    $allPages = ceil($total/$limit);

    $currentPage = floor($start/$limit) + 1;

    $pagination = "";
    if ($allPages>10) {
        $maxPages = ($allPages>9) ? 9 : $allPages;

        if ($allPages>9) {
            if ($currentPage>=1&&$currentPage<=$allPages) {
                $pagination .= ($currentPage>4) ? " ... " : " ";

                $minPages = ($currentPage>4) ? $currentPage : 5;
                $maxPages = ($currentPage<$allPages-4) ? $currentPage : $allPages - 4;

                for($i=$minPages-4; $i<$maxPages+5; $i++) {
                    $pagination .= ($i == $currentPage) ? "<a href=\"#\"
                    class=\"current\">".$i."</a> " : "<a href=\"".$filePath."?
                    start=".(($i-1)*$limit).$otherParams."\">".$i."</a> ";
                }
                $pagination .= ($currentPage<$allPages-4) ? " ... " : " ";
            } else {
                $pagination .= " ... ";
            }
        }
    } else {
        for($i=1; $i<$allPages+1; $i++) {
        $pagination .= ($i==$currentPage) ? "<a href=\"#\" class=\"current\">".$i."</a> "
        : "<a href=\"".$filePath."?start=".(($i-1)*$limit).$otherParams."\">".$i."</a> ";
        }
    }

    if ($currentPage>1) $pagination = "<a href=\"".$filePath."?
    start=0".$otherParams."\">FIRST</a> <a href=\"".$filePath."?
    start=".(($currentPage-2)*$limit).$otherParams."\"><</a> ".$pagination;
    if ($currentPage<$allPages) $pagination .= "<a href=\"".$filePath."?
    start=".($currentPage*$limit).$otherParams."\">></a> <a href=\"".$filePath."?
    start=".(($allPages-1)*$limit).$otherParams."\">LAST</a>";

    echo '<div>' . $pagination . '</div>';
}

Now we have all the details information for store in MySQL,  So we need to write them into our database. We will create a new file called “visitor_tracking.php” and include it in every page that we want to track:

require_once('visitors_connections.php');//the file with connection code and functions
//get the required data

$visitor_ip = GetHostByName($REMOTE_ADDR);
$visitor_browser = getBrowserType();
$visitor_hour = date("h");
$visitor_minute = date("i");
$visitor_day = date("d");
$visitor_month = date("m");
$visitor_year = date("Y");
$visitor_refferer = GetHostByName($HTTP_REFERER);
$visited_page = selfURL();

//write the required data to database
mysql_select_db($database_visitors, $visitors);
$sql = "INSERT INTO visitors_table (visitor_ip, visitor_browser, visitor_hour,
 visitor_minute, visitor_date, visitor_day, visitor_month, visitor_year,
 visitor_refferer, visitor_page) VALUES ('$visitor_ip', '$visitor_browser',
 '$visitor_hour', '$visitor_minute', '$visitor_date', '$visitor_day', '$visitor_month',
 '$visitor_year', '$visitor_refferer', '$visitor_page')";
$result = mysql_query($sql) or trigger_error(mysql_error(),E_USER_ERROR);

To display information detail about visitors, we need to create a new page called “display_visits.php”

Go to create new page PHP and then copy code bellow and save it.

require_once('visitors_connections.php');//the file with connection code and functions

if ($_GET['start'] == "") $start = 0;
else $start = $_GET['start'];
$limit = 15;

$additionalQuery = "SQL_CALC_FOUND_ROWS ";

mysql_select_db($database_visitors, $visitors);
$query_visitors = "(SELECT ".$additionalQuery." * FROM visitors_table WHERE";

if ($_POST['day']!="") {
$query_visitors .= " visitor_day = '".$_POST['day']."'";
} else {
$query_visitors .= " visitor_day = ".date("d")."";

if ($_POST['month']!="") {
$query_visitors .= " AND visitor_month = '".$_POST['month']."'";
} else {
$query_visitors .= " AND visitor_month = ".date("m")."";
}

if ($_POST['year']!="") {
$query_visitors .= " AND visitor_year = '".$_POST['year']."'";
} else {
$query_visitors .= " AND visitor_year = ".date("Y")."";
}}
$query_visitors .= " LIMIT $start,$limit)";
$insert_visitors = mysql_query($query_visitors, $visitors) or die(mysql_error());
$row_visitors = mysql_fetch_assoc($insert_visitors);
$totalRows_visitors = mysql_num_rows($insert_visitors);

$nbItems = mysql_result(mysql_query("Select FOUND_ROWS() AS nbr"),0,"nbr");
if ($nbItems>($start+$limit)) $final = $start+$limit;
else $final = $nbItems;

echo '<table style="width:100%; border:1px dashed #CCC" cellpadding="3">
      <form id="form1" name="form1" method="post" action="display_visits.php">
       <tr>
        <td>day
        <select name="day" id="day">
          <option value="" selected="selected"></option>
          <option value="01">01</option>
          <option value="02">02</option>
          <option value="03">03</option>
          <option value="04">04</option>
          <option value="05">05</option>
          <option value="06">06</option>
          <option value="07">07</option>
          <option value="08">08</option>
          <option value="09">09</option>
          <option value="10">10</option>
          <option value="11">11</option>
          <option value="12">12</option>
          <option value="13">13</option>
          <option value="14">14</option>
          <option value="15">15</option>
          <option value="16">16</option>
          <option value="17">17</option>
          <option value="18">18</option>
          <option value="19">19</option>
          <option value="20">20</option>
          <option value="21">21</option>
          <option value="22">22</option>
          <option value="23">23</option>
          <option value="24">24</option>
          <option value="25">25</option>
          <option value="26">26</option>
          <option value="27">27</option>
          <option value="28">28</option>
          <option value="29">29</option>
          <option value="30">30</option>
          <option value="31">31</option>
        </select></td>
        <td>Month
        <select name="month" id="month">
          <option value="" selected="selected"></option>
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
          <option value="6">6</option>
          <option value="7">7</option>
          <option value="8">8</option>
          <option value="9">9</option>
          <option value="10">10</option>
          <option value="11">11</option>
          <option value="12">12</option>
        </select></td>
        <td>Year
        <select name="year" id="year">
          <option value="" selected="selected"></option>
          <option value="2007">2007</option>
        </select></td>
        <td><input type="submit" name="Submit" value="Submit" /></td>
        <td></td>
       </tr>';

echo '<tr>
        <td style="width:15%;border-bottom:1px solid #CCC">IP</td>
        <td style="width:15%;border-bottom:1px solid #CCC">Browser</td>
        <td style="width:15%;border-bottom:1px solid #CCC">Time</td>
        <td style="width:30%;border-bottom:1px solid #CCC">Refferer</td>
        <td style="width:25%;border-bottom:1px solid #CCC">Page</td>
       </tr>';

do {

echo '<tr onmouseout="this.style.backgroundColor=\'\'"
      onmouseover="this.style.backgroundColor=\'#EAFFEA\'">
        <td>'.$row_visitors['visitor_ip'].'</td>
        <td>'.$row_visitors['visitor_browser'].'</td>
        <td>'.$row_visitors['visitor_hour'].':'.$row_visitors['visitor_minute'].'</td>
        <td>'.$row_visitors['visitor_refferer'].'</td>
        <td>'.$row_visitors['visitor_page'].'</td>
       </tr>';
} while ($row_visitors = mysql_fetch_assoc($insert_visitors));
paginate($start,$limit,$nbItems,"display_visits.php","");

There’s only one small step to do and we’re ready to see some results. We need to include the following line in every page that we need to track results for:

include('visitor_tracking.php');

To see the results please call page “display_visits.php” in your browser. Ok now I’m testing it, it works fine, I hope you will find it useful somewhere in your website. Good Luck…!

Display Contents of Different File Formats Word/Excel/Powerpoint/PDF/RTF as HTML

HTML 4.01 vs HTML 5 illustrated

HTML 4.01 vs HTML 5 illustrated (Photo credit: Glutnix)

This is a typical problem which I also raised on Stack Overflow (http://stackoverflow.com/questions/11061929/php-extract-text-from-different-file-formats-word-excel-powerpoint-pdf-rtf#comment14475398_11061929), but there seemed no single resource around the web to solve this particular problem, so since I have solved it I thought it would make sense to provide an approach and a solution, it can be refined better with time

Problem: We have a web application that allows different users to upload different files to share with others, the file types are limited. However just before downloading a file, the user needs to see a preview of the file contents, which is where it becomes tricky since each  file type is different.

Approach:

1. Identify the extension of each file

2. Display the text or HMTL from each file using the appropriate library for the file type, since there is no unified library

The base class is https://gist.github.com/2941076 which requires the path to the file and the extension (since the extension is already stored in the database I do not try to extract it from the file)

The libraries used for the different types of files are the key to the solution:

1. MS Word Documents – LiveDocx Service within Zend Framework (http://www.phplivedocx.org/2009/08/13/convert-docx-doc-rtf-to-html-in-php/) the steps are:

– Create a Mail Merge Document using the word document as a template

– Connect to the LiveDocx service (here you need SOAP and SSL enabled on your local LAMP installation)

– Save the generated document, and render it as HTML

2. MS Excel – PHPExcel from Codeplex so simple its scary (http://phpexcel.codeplex.com)

– Create a PHP Excel class to read the file

– Create an HTML writer to render the HTML

– Save the HTML to a file and read its contents

3. PDF text extract – http://pastebin.com/hRviHKp1 

– Create an instance of the PDF2Text class holding a reference to the PDF file

– Decode the PDF which extracts the text out of the file

d) Powerpoint – Work in Progress to be added later

More as I work in the power point extractions

Mobypicture Photo post with API method php

March 27, 2012 4 comments
Image representing Mobypicture as depicted in ...

Image via CrunchBase

include(/*‘api.php’);
$mp = new Mobypicture;
$result = $mp->postMediaUrl(‘imagename,’username‘, ‘password‘);
$result = $mp->postMedia();
print_r($result);

 

====================================================
API .php
===============================================================
<?php

/**
* A Mobypicture API class
*
* @author Andreas Creten/madewithlove
* @version 1
**/
class Mobypicture {
/**
* The MobyPicture API key
**/
static $api_key = ‘zkFcHG1hpSqL4Xb2’;

/**
* The MobyPicture API Location
**/
static $api_location = ‘https://api.mobypicture.com/&#8217;;

/**
* Upload media to MobyPicture
*
* @param string $image The image to be uploaded
* @param string $username The username of the uploader
* @param string $password The p
* @param string $description
* @param array $tags  Tags for the image
* @param string $location
* @param array $hashtags
* @param array $services
* @return mixed
* @author Andreas Creten
**/
public function postMedia($image, $username, $password, $title = null, $description = null, $tags = array(), $location = null, $hashtags = array(), $services = array()) {
// Call the postMedia method on thw MobyPicture API
$response = $this->api_call(‘postMedia’, array(
‘i’ => $image,
‘u’ => $username,
‘p’ => $password,
‘t’ => $title,
‘d’ => $description,
‘tags’ => implode(‘,’, $tags),
‘latlong’ => $location,
‘ht’=> implode(‘,’, $hashtags),
‘s’ => implode(‘,’, $services)
));

// Parse the response of the MobyPicture API
if($response->result) {
print_r();
if(isset($response->result[‘code’]) && $response->result[‘code’] == 0) {
return $response;
}
else {
// This needs more detailed error messages
return false;
}
}
}

/**
* Upload media to MobyPicture
*
* @param string $image The image to be uploaded
* @param string $username The username of the uploader
* @param string $password The password of the uploader
* @param array $tags Tags for the image
* @return mixed
* @author Andreas Creten
**/
public function postMediaUrl($image, $username, $password) {

// Call the postMedia method on thw MobyPicture API
$response = $this->api_call(‘postMediaUrl’, array(
‘i’ => $image,
‘u’ => $username,
‘p’ => $password
//’tags’ => implode(‘,’, $tags)
));

print_r($tags);
exit;
// Parse the response of the MobyPicture API
if($response->result) {

if(isset($response->result[‘code’]) && $response->result[‘code’] == 0) {
return $response;
}
else {
// This needs more detailed error messages
return false;
}
}
}

/**
* Get the thumbnail url for an image on MobyPicture
*
* @param string $tinyurl The tinyurl or tinyurl code for of picture
* @param string $size The size of the needed thumbnail (thumbnail, small or medium)
* @return mixed
* @author Andreas Creten
* @todo
**/
public function getThumb($tinyurl, $size = ‘thumbnail’) {
// Try to remove the crap out of the tiny url
$tinyurl_code = $this->tinyurl_to_tinyurl_code($tinyurl);

// Call the getThumbUrl method on thw MobyPicture API
$response = $this->api_call(‘getThumbUrl’, array(
‘t’ => $tinyurl,
‘s’ => $size
));

// Parse the response of the MobyPicture API
if($response->result) {
if(isset($response->result[‘code’]) && $response->result[‘code’] == 0) {
return $response;
}
else {
// This needs more detailed error messages
return false;
}
}
}

/**
* Get the thumbnail url for an image on MobyPicture
*
* @param string $tinyurl The tinyurl or tinyurl code for of picture
* @param string $size The size of the needed thumbnail (thumbnail, small or medium)
* @return mixed
* @author Andreas Creten
**/
public function getThumbUrl($tinyurl, $size = ‘thumbnail’) {
// Try to remove the crap out of the tiny url
$tinyurl_code = $this->tinyurl_to_tinyurl_code($tinyurl);

// Call the getThumbUrl method on thw MobyPicture API
$response = $this->api_call(‘getThumbUrl’, array(
‘t’ => $tinyurl,
‘s’ => $size
));

// Parse the response of the MobyPicture API
if($response->result) {
if(isset($response->result[‘code’]) && $response->result[‘code’] == 0) {
return $response;
}
else {
// This needs more detailed error messages
return false;
}
}
}

/**
* Get the info of an image on MobyPicture
*
* @param string $tinyurl The tinyurl or tinyurl code for of picture
* @return mixed
* @author Andreas Creten
**/
public function getMediaInfo($tinyurl) {
// Try to remove the crap out of the tiny url
$tinyurl_code = $this->tinyurl_to_tinyurl_code($tinyurl);

// Call the getThumbUrl method on thw MobyPicture API
$response = $this->api_call(‘getMediaInfo’, array(
‘t’ => $tinyurl
));

// Parse the response of the MobyPicture API
if($response->result) {
if(isset($response->result[‘code’]) && $response->result[‘code’] == 0) {
return $response;
}
else {
// This needs more detailed error messages
return false;
}
}
}

/**
* Check an account on MobyPicture
*
* @param string $username
* @param string $pin The password of the user
* @return mixed
* @author Andreas Creten
**/
public function checkCredentials($username, $pin) {
// Call the createUser method on the MobyPicture API
$response = $this->api_call(‘checkCredentials’, array(
‘u’ => $username,
‘p’ => $pin
));

// Parse the response of the MobyPicture API
if($response->result) {
//log_r($response);
if(isset($response->result[‘code’]) && $response->result[‘code’] == 0) {
return true;
}
else {

return $response;
}
}
}

/**
* Post a comment on MobyPicture
*
* @param string $username Username (can be a Twitter username)
* @param string $pin PIN or password
* @param string $name Name (not used in case an username has been supplied)
* @param string $email Email (not used in case an username has been supplied)
* @param string $tinyurl The tinyurl or tinyurl code for of picture
* @param string $message
* @param string $tweet Tweets this comment on Twitter if possible with the supplied credentials
* @return mixed
* @author Andreas Creten
**/
public function postComment($username, $pin, $name, $email, $tinyurl, $message, $tweet = 0) {
// Try to remove the crap out of the tiny url
$tinyurl_code = $this->tinyurl_to_tinyurl_code($tinyurl);

// Call the createUser method on thw MobyPicture API
$response = $this->api_call(‘postComment’, array(
‘u’ => $username,
‘p’ => $pin,
‘name’ => $name,
’email’ => $email,
‘tinyurl_code’ => $tinyurl_code,
‘message’ => $message,
‘tweet’ => $tweet
));

// Parse the response of the MobyPicture API
if($response->result) {
//log_r($response);
if(isset($response->result[‘code’]) && $response->result[‘code’] == 0) {
return true;
}
else {

return $response;
}
}
}

/**
* Create a new account on MobyPicture
*
* @param string $tinyurl The tinyurl or tinyurl code for of picture
* @return mixed
* @author Andreas Creten
**/
public function getComments($tinyurl) {
// Try to remove the crap out of the tiny url
$tinyurl_code = $this->tinyurl_to_tinyurl_code($tinyurl);

// Call the createUser method on thw MobyPicture API
$response = $this->api_call(‘getComments’, array(
‘tinyurl_code’ => $tinyurl_code
));

// Parse the response of the MobyPicture API
if($response->result) {
//log_r($response);
if(isset($response->result[‘code’]) && $response->result[‘code’] == 0) {
return true;
}
else {

return $response;
}
}
}

/**
* Create a new account on MobyPicture
*
* @param string $username
* @param string $pin The password for the new user
* @param string $email
* @param string $firstname
* @param string $lastname
* @param string $country
* @param string $keepposted
* @param string $agreeterms
* @return mixed
* @author Andreas Creten
**/
public function createUser($username, $pin, $email, $firstname, $lastname, $country, $keepposted, $agreeterms) {
// Call the createUser method on thw MobyPicture API
$response = $this->api_call(‘createUser’, array(
‘username’ => $username,
‘pin’ => $pin,
’email’ => $email,
‘firstname’ => $firstname,
‘lastname’ => $lastname,
‘countryid’ => $country,
‘keepposted’ => $keepposted,
‘agreeterms’ => $agreeterms
));

// Parse the response of the MobyPicture API
if($response->result) {
//log_r($response);
if(isset($response->result[‘code’]) && $response->result[‘code’] == 0) {
return true;
}
else {

return $response;
}
}
}

/**
* Search posts on MobyPicture
*
* @param string $terms Specifies for which words to search
* @param string $items_per_page Amount of posts to show on each page (default: 10)
* @param string $current_page The current page (default: 1)
* @param string $fields  Specifies in what fields to search (‘title’, ‘description’ or ‘both’, default: both)
* @param array $tags Look for one or more tags
* @param string $username Only return postings from the specified username
* @param string $sort_by Sort the results based on this field
* @param string $order Specifies in which direction sorting should be done
* @param string $country Only return postings from the specified country (ISO3166 code2)
* @param string $city Only return postings from the specified city
* @return mixed
* @author Andreas Creten
**/
public function searchPosts($terms, $items_per_page = 10, $current_page = 1, $fields = ‘both’, $tags = array(), $username = null, $sort_by = null, $order = null, $country = null, $city = null) {
// Call the createUser method on thw MobyPicture API
$response = $this->api_call(‘searchPosts’, array(
‘searchTerms’ => $terms,
‘searchItemsPerPage’ => $items_per_page,
‘searchPage’ => $current_page,
‘searchIn’ => $fields,
‘searchUsername’ => $lastname,
‘searchTags’ => implode(‘,’, $tags),
‘searchSortBy’ => $sort_by,
‘searchOrder’ => $order,
‘searchGeoCity’ => $city,
‘searchGeoCountry’ => $country
));

// Parse the response of the MobyPicture API
if($response->result) {
//log_r($response);
if(isset($response->result[‘code’]) && $response->result[‘code’] == 0) {
return true;
}
else {

return $response;
}
}
}

/**
* Do a call to the MobyPicture API
*
* @param string $method The method to be called
* @param array $arguments The arguments for this call
* @return SimpleXMLObject The MobyPicture response
* @author Andreas Creten
**/
private function api_call($method, $arguments) {

// Check which type of method it is (postMedia requers another type of handling)
if($method == ‘postMedia’) {
// Initialize the curl session
$ch = curl_init();

// Set the target url
curl_setopt($ch, CURLOPT_URL, self::$api_location);

// Enable post
curl_setopt($ch, CURLOPT_POST, 1);

// Enable return transfer
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// Create the arguments array
$arguments = array_merge($arguments, array(
‘k’      => self::$api_key,
‘action’ => $method,
‘format’ => ‘xml’
));

// Load the image file
$arguments[‘i’] = ‘@’.$arguments[‘i’] ;

// Add the arguments to curl
curl_setopt($ch, CURLOPT_POSTFIELDS, $arguments);

// Execute the curl request
$result = curl_exec($ch);

// Close curl
curl_close($ch);

print_r($result);

// Return the response as an SimpleXML object
return simplexml_load_string($result);
}
else {
// Compose the target URL
$url = sprintf(self::$api_location.’?action=%s&k=%s&format=xml&%s’, $method, self::$api_key, http_build_query($arguments));

// Return the response as an SimpleXML object
return simplexml_load_file($url);
}
}

/**
* Transform a Mobypicture tinyurl into a tinyurl_code
*
* @param string $tinyurl The tinyurl for the picture
* @return string The tinyurl code for the picture
* @author Andreas Creten
**/
private function tinyurl_to_tinyurl_code($tinyurl) {
// Try to remove the crap out of the tiny url
$tinyurl = str_replace(‘http://mobypicture.com/?&#8217;, ”, $tinyurl);
$tinyurl = str_replace(‘http://www.mobypicture.com/?&#8217;, ”, $tinyurl);
$tinyurl = str_replace(‘http://moby.to/&#8217;, ”, $tinyurl);

return $tinyurl;
}
}

?>

October 20, 2011 Leave a comment
Php

Image via Wikipedia

I’ve run into an error using an image resizing script by Victor Teixeira, which has worked wonderfully until I noticed an issue related to using the Featured Image uploader. If I a Featured Image, then attempt to re-insert a different image in its place I get this error:

function vt_resize( $attach_id = null, $img_url = null, $width, $height, $crop = false ) {

// this is an attachment, so we have the ID
if ( $attach_id ) {

    $image_src = wp_get_attachment_image_src( $attach_id, 'full' );
    $file_path = get_attached_file( $attach_id );

// this is not an attachment, let's use the image url
} else if ( $img_url ) {

    $file_path = parse_url( $img_url );
    $file_path = $_SERVER['DOCUMENT_ROOT'] . $file_path['path'];

    //$file_path = ltrim( $file_path['path'], '/' );
    //$file_path = rtrim( ABSPATH, '/' ).$file_path['path'];

    $orig_size = getimagesize( $file_path );

    $image_src[0] = $img_url;
    $image_src[1] = $orig_size[0];
    $image_src[2] = $orig_size[1];
}

$file_info = pathinfo( $file_path );
$extension = '.'. $file_info['extension'];

// the image path without the extension
$no_ext_path = $file_info['dirname'].'/'.$file_info['filename'];

$cropped_img_path = $no_ext_path.'-'.$width.'x'.$height.$extension;

// checking if the file size is larger than the target size
// if it is smaller or the same size, stop right here and return
if ( $image_src[1] > $width || $image_src[2] > $height ) {

    // the file is larger, check if the resized version already exists (for $crop = true but will also work for $crop = false if the sizes match)
    if ( file_exists( $cropped_img_path ) ) {

        $cropped_img_url = str_replace( basename( $image_src[0] ), basename( $cropped_img_path ), $image_src[0] );

        $vt_image = array (
            'url' => $cropped_img_url,
            'width' => $width,
            'height' => $height
        );

        return $vt_image;
    }

    // $crop = false
    if ( $crop == false ) {

        // calculate the size proportionaly
        $proportional_size = wp_constrain_dimensions( $image_src[1], $image_src[2], $width, $height );
        $resized_img_path = $no_ext_path.'-'.$proportional_size[0].'x'.$proportional_size[1].$extension;            

        // checking if the file already exists
        if ( file_exists( $resized_img_path ) ) {

            $resized_img_url = str_replace( basename( $image_src[0] ), basename( $resized_img_path ), $image_src[0] );

            $vt_image = array (
                'url' => $resized_img_url,
                'width' => $proportional_size[0],
                'height' => $proportional_size[1]
            );

            return $vt_image;
        }
    }

    // no cache files - let's finally resize it
    $new_img_path = image_resize( $file_path, $width, $height, $crop );
    $new_img_size = getimagesize( $new_img_path );
    $new_img = str_replace( basename( $image_src[0] ), basename( $new_img_path ), $image_src[0] );

    // resized output
    $vt_image = array (
        'url' => $new_img,
        'width' => $new_img_size[0],
        'height' => $new_img_size[1]
    );

    return $vt_image;
}

// default output - without resizing
$vt_image = array (
    'url' => $image_src[0],
    'width' => $image_src[1],
    'height' => $image_src[2]
);

return $vt_image;
}

7Am Arivu Movie Review.

October 4, 2011 Leave a comment
Aamir Khan with director A. R. Murugadoss

Image via Wikipedia

ஏழாம் அறிவு திரைவிமர்சனம்:

சூர்யாவின் அசத்தலான நடிப்பில் நடிப்பில்  எ.ஆர்.முருகதாஸ்சின் அதிரடி இயக்கத்தில் உதயநிதி ஸ்டாலின் தயாரிப்பில்  வெளிவந்திருக்கும் இருக்கும் படம் தான் இந்த ஏழாம் அறிவு.

தமிழ் சினிமா இதுவரை பார்காத திரைகளம் இது வரை பார்காத ஆக்சன், இதுவரை பார்காத  தொழில்நுட்பம் என இதுவரை அனுபவிக்காத ஒரு அனுபவத்தை தந்து இருக்கின்றார் நம்ம  எ.ஆர்.முருகதாஸ். படம் ஆரம்ப முதலே பரபரப்பு. அதுவும் முதல் அந்த பதிநைந்து நிமிட  காட்சிக்கு நாம் படத்திற்கு குடுத்த பணம் முடிந்துவிட்டது.

பலமான படத்திற்கு பலமே அதில் நடித்த நடிகர்களின் நடிப்பும் அவர்களின் ஈடுபாடும்  தான். அதிலும் சூர்யாவின் நடிப்பு நாம் எதிர்பார்காத ஒன்று. இத்தனை ஈடுபாட்டுடன்  ஒரு நடிகன் அதுவும் தனது 26வது படத்திலே ஒரு நடிகனால் நடிக்க முடியுமா? என வியக்க  வைத்திருக்கின்றார்  மனுஷன்.

இரட்டை வேடம்: சர்கஸ் நாயகன் மற்றும் குங்பூவை உருவாக்கிய ஒரு துறவி என இரண்டு  சவாலான கதாபாத்திரம். இரண்டிலுமே மனதில் நிற்கின்றார் நம்ம சூர்யா.

அதுவும் அவருடைய அந்த குங்பூ சண்டை தமிழ் சினிமா வரலாற்றில்  சண்டைகாட்சிகளுக்கெல்லாம்  முன் மாதிரியாக இருக்க போகின்றது.

கலக்குங்க சூர்யா…. இனி ஒரு வருடம் உங்கள் நடிப்பைதான் தமிழ் சினிமா பேச  போகின்றது.

அப்புறம் அறிமுக நாயகியாக ஸ்ருதி கமல் ஹாசன். தமிழில்தான் இது இவருக்கு முதல்  படம். அதனை உணர்த்துவது போல் அழகான அளவான நடிப்பு. கமல் ஹாசன் நிச்சயம் பெருமைபட்டு  கொள்ளலாம்.

அப்புறம் அனய்யா இரண்டாவது சூர்யாவுக்கு ஜோடியாக வருகின்றார். மனதை விட்டு  மரையாத கதாபத்திரம் அவங்களுடையது.

வில்லனாக வரும் அந்த ஹாலிவுட் நடிகர் யப்பா சண்டை காட்சிகளில் அப்படி ஒரு  ஆக்ரோஷம். சண்டை கட்சிகள் உயிரோட்டமாக அமைந்ததற்கு இவருடைய பங்களிப்பு ஒரு முக்கிய  காரணம்.

ஹாரிஸ் ஜெயராஜின் இசையில் ஏற்கணவே பாடல்கள் ஹிட்டாகி விட்டன. பின்ணணி  இசையிலும் மிரட்டி இருக்கின்றார். ஆனால் ஏற்கனவே கேட்ட பீலிங் வருவதை தவிற்க்க  முடியவில்லை.

இப்படி ஒரு கதையை யோசித்தற்காகவே எ.ஆர். முருகதாஸ்சை எவ்வளவு வேண்டுமானாலும்  பாராட்டலாம்.
தமிழர்கள் எல்லாம் பெருமைபட கூடிய வகையில் ஒரு படத்தை தந்ததற்காக  ஒரு மிக பெரிய சல்யூட்.

தாங்ஸ் முருகதாஸ்.

கதையை கூறிவிட்டால் படதின் சுவாரஸ்யம் குறைந்துவிடும் என்பதால் அனைவரும் படத்தை
திரையில் பார்த்து தெரிந்து கொள்ளவும்.

நான் இந்த படத்தை இரவு 2:30 மணி ஷோவில் வீட்டில் இருந்தவாறு டிரீம் லாண்டில்
(அதாங்க கனவு) பார்த்து ரசித்தேன்.

படத்தை பற்றிய என்னுடைய கமெண்ட்: தமிழ் சினமாவின் இரண்டாம் அத்தியாயத்தை தொடங்கி
வைத்திருக்கின்றார் எ.அர்.முருகதாஸ்

விமர்சனம் பிடித்து இருந்தால் தயவுசெய்து  உங்கள் ஓட்டை பதிவு  செய்யவும்.

உங்கள் கருத்தை ஆவலுடன் எதிர்பார்கின்றேன்

தங்கள் வருகைக்கு நன்றி

Top 10 Tamil Actor survive

October 4, 2011 Leave a comment
Tamil actor Surya Sivakumar photographed in Er...

Image via Wikipedia

டாப் 10 தமிழ் நடிகர்கள்: ஒரு அலசல்:

முதலில் எனது எந்த வலையுளகிற்கு வருகை தந்த
உங்களுக்கு எனது நன்றி கலந்த  வணக்கங்கள். எனது இந்த பதிவு பிடித்தாலும் பிடிக்காவிட்டாலும்,மாற்று கருத்து  இருந்தாலும் தயவுசெய்து பின்னூட்டம் இடவும் என தாழ்மையுடன் கேட்டு  கொள்கின்றேன்.

பொதுவா எனக்கு சினிமா சம்பந்தமான பதிவு எழுதுவதில் அதிக ஆர்வம் கிடையாது. ஆனால்  சினிமா அதிக அளவு வாசகர் வட்டம் கொண்டது என்பதால் அது தவிற்க முடியாததாகின்றது.

சரி விஷயதுக்கு வருவோம்: இந்த போட்டியில் ரஜினியையும் கமலையும்
சேர்க்கவில்லை.  ஏன் என்றால் அவர்களையும் சேர்த்தால் முதல் இரண்டு இடத்திற்கு
போட்டிகள் இருக்காது.அவர்கள் இரண்டு பேரும் எப்போதும் நம்பர் ஒன்.

10வது இடம் ஜெயம் ரவி: ஜெயம் படத்தின் மூலம் அமர்களமாக அறிமுகமாகி சன் ஆப்
மகாலச்சுமி என அடுத்தடுத்து இரண்டு ஹிட் படங்களை கொடுத்தவர். வேறு  இயக்குனர்களின் படங்களில் இவர் நடித்த படங்கள் சரியாக போகாத நிலையில் பேராண்மை மற்றும் சந்தோஷ்  சுப்ரமணியம் ஆகிய படங்கள் இவரை தூக்கி நிருத்தியது. நல்ல நடிகர். டான்ஸ், சண்டை  காட்சிகள், ரொமான்ஸ் என சகல துறைகளிலும் அசத்துவார். இவர் படங்களை குடும்பத்துடன்  சென்று பார்க்கலாம் என்பது இவரின் சிறப்பு. அதிக பெண் ரசிகர்கள்  கொண்டவர். இவரின் குடும்பமே சினிமா துறையில் உள்ளது இவரின் கூடுதல் பலம்

குறிப்பு: இவரை விட அதிக ஹிட் படங்களை கொடுத்த நடிகர் ஜீவா டாப் 10
நடிகர்கள் பட்டியலில் இல்லை என்பது எனக்கே கொஞ்சம் வருத்தமாக
இருக்கின்றது.(ராம்,டிஷ்யூம்,கற்றது தமிழ்,சிவா மனசுல சக்தி,கோ)

9வது இடம் புரட்சி தளபதி விஷால்: இவருடைய பட்டத்தை பார்த்தாலே பத்திகிட்டு
வருது. புரட்சி என்பதன் அர்த்தமே போய்விட்டது. பேர் சொல்லுர மாதிரி ஒரு படமும்
கொடுக்கவில்லை(அவன் இவன் தவிர). ஆனாலும் இவர் படத்துக்கு கமர்சியல் மதிப்பு இருப்பதாக  கூறிகொள்கின்றார்கள்.எனக்கு என்னமோ அப்படி தெரியவில்லை. இவர் நடித்ததில் எனக்கு  பிடித்தது செல்லமே,சண்ட கோழி,அவன் இவன் மட்டுமே. நல்ல நடிகன் மாதிரிதான் தெரியுது  ஆனால் மாஸ் என்கிற போதையில் தடம் மாறுவது போல் தெரிகின்றது. டாப் 10னில் நீடிக்க  வேன்டுமானால் நல்ல கதைகளை தேர்வு செய்ய வேண்டியது அவசியம்.

அவன் இவனுக்கு முன்னாடி இவர் நடித்த மூன்று படமும் படு தோல்வி.

8 வது இடம் ஆர்யா:
தமிழ் சினிமாவில் தற்போதைக்கு ஈகோ பார்காத நடிகர்.  பாலாவின் நான் கடவுள் மூலம் மறு அவதாரம் எடுத்துள்ளார். மதராஷ பட்டினம்,பாஸ் என்கிற  பாஸ்கரன் அவன் இவன் என தொடர்ந்து ஹிட் படங்களை கொடுத்துள்ளார்.இவரின் திறமையை இவர்  இன்னும் சரியாக பயன்படுத்தவில்லை என்றுதான் தோன்றுகின்றது.

இனிமேல் தான் இவருக்கு உண்மையான போட்டியே இருக்கின்றது.

நடித்ததில் பிடித்தது: நான் கடவுள், மதராச பட்டிணம்,பாஸ் என்கிற
பாஸ்கரன்,அறிந்தும் அறியாமலும்,அவன் இவன்.

7வது சிம்பு என்கிற S.T.R:

எனக்கு சுத்தமா பிடிக்காத நடிகர் வானத்துக்கு முன்னாடி வரையும்.வானம் படம்
பார்த்தவுடம் அவர் மீது ஒரு நல்ல மதிப்பு வந்தது உண்மை. அது நீடிக்குமா? நீடிக்காதா
என்பது இனி வரும் அவரின் படங்களை பொருத்து. இவர் படம் தானாக ஒடுனதைவிட ஓட வைக்கபட்டது என்பதே என்னுடைய கருத்து.இவருடைய உண்மையான ஹிட் விண்ணைதாண்டி  வருவாயா தான்.அடுத்து வந்த வானமும் ஹிட் என்பதால் இனி வரவுள்ள இவரின் படங்களுக்கு  எதிபார்ப்பு கூடி இருக்கு.இவர் தனது படங்களுக்கு நல்ல பப்ளிசிடி தேடி கொள்வதில்  திறமையானவர்.

திறமையானவர் தான் ஆனால் இவரும் மாஸ் போதையில் அலைவது தான்  வருத்தமான விஷயம்.

சமீப காலமாக அஜித் ரசிகர்களை தன் பக்கம் இழுக்க  குறிவைத்துள்ளார்.அஜித் ரசிகர்களே ஜாக்கிரதை…..

6வது இடம் தனுஷ்:
நல்ல வேலை இவருக்கு பட்டங்கள் எதுவும் இல்லை.இவரின் வெற்றி  இவரே எதிர்பாராதது.ஆனாலும் கிடைத்த வெற்றியை திறமையாக தக்க வைத்து  கொண்டவர்.
முதல் மூன்று படங்களுமே அதிரி புதிரி வெற்றி…இடையில் சின்ன  சறுக்கம் ஆனாலும் பொல்லாதவன் மூலம் மீண்டு வந்தார்.திறமையான நடிகர் மிகவும்  இளவயதில் தேசிய விருது பெற்றிருக்கிறார்.வாழ்த்துக்கள்.

இவர் சிம்புவுக்கு  போட்டி என்றாலும் ஹிட் பட வரிசையில் இவர்தான் டாப். இவர் நடித்த நல்ல கதை அம்சம்  உள்ள படங்கள் எல்லாம் நன்றாக ஓடின ஆனால் மசாலா படங்கள் அனைத்தும் சுமாரான வெற்றியே  பெற்றன.(திருவிளையாடல் தவிர)

இவர் நடித்ததில் எனக்கு பிடித்தது    :துள்ளுவதோ இளமை,
காதல்  கொண்டேன், பொல்லாதவன், ஆடுகளம், திருவிளையாடல் ஆரம்பம்.

5வது இடம் கார்த்தி:
ரொம்ப சீக்கிரத்திலேயே டாப் 10னின் இடம் பிடித்த  நடிகர்.இவர் நடித்த படங்கள் அனைத்துமே பாக்ஸ் ஆபிஸ் ஹிட்.கார்த்தி என பெயர்  வைத்ததால் என்னவோ நவரச நாயகன் கார்த்திகிற்கு பிறகு ஒரு துள்ளல் நடிப்பும் நல்ல காமெடி டைமிங்கும் இவரிடம் இருக்கின்றது. சிறப்பாக கதையை தேர்வு  செய்கின்றார்.தனது ஐந்தாவது படத்திலேயே இரட்டை வேடம் ஏற்று வெற்றி பெறவும்  வைத்தவர்.

நல்ல எதிகாலம் இருக்கின்றது.தனது இடத்தை தக்க வைக்க கடுமையாக உழைக்க
வேண்டும்
நடித்ததில் பிடித்தது: எல்லா படமும் பிடிக்கும். அனைத்தும் வெவ்வேறான  அனுபவங்கள்

4வது விக்ரம்:
வியக்க வைக்கும் உழைப்பு,விடாமுயற்சி, தன்னம்பிக்கை, இவை  இணைந்ததுதான் விக்ரம்.வியக்க வைக்கும் நடிகர் தனது அயராத உழைப்பின்  தமிழ் சினிமாவில் தனியிடம் பிடித்திருக்கின்றார். பீமா, கந்தசாமி,இராவணன் போன்ற  தொடர் தோல்விக்கு பிறகு ஒரு கமர்சியல் சினிமா நடிக்காமல் தெய்வ திருமகளில் நடித்த  அவரின் துணிச்சல் பாராட்ட பட வேண்டியது.தமிழ் சினிமாவில் இவருக்கான அங்கிகாரம்  சற்று குறைவு என்றுதான் எண்ணுகின்றேன்.

தமிழுக்கு சிறந்த நடிகனாக தேசிய விருது பெற்று தந்திருக்கின்றார்.இவர்  நடிக்கும் படங்கள் தரமானவை என நம்பி செல்லலாம்.தொடர்ந்து தமிழுக்கு நல்ல  படங்கள் கொடுப்பார் என நம்புவோம்.

நடித்ததில் பிடித்தது: சேது,காசி, தில், தூள்,அன்னியன்,சாமி,மஜா(எனக்கு பிடிச்சு
இருந்தது)மற்றும் தெய்வ திருமகள்.

3வது  இளைய தளபதி விஜய்:

விஜய் ரசிகர்களுக்கு இது கோபத்தை ஏற்படுத்தலாம்.மங்காத்தா  வெற்றின் தாக்கம் தான் விஜயின் இறக்கம்.வேலாயுதம் வந்தால் இந்த நிலை மாறலாம்.இனி  வரும் படங்கள் மீண்டும் விஜயை நம்பர் ஒன்னாக்கும் என நம்புவோமாக!!  பூவே  உனக்காக, துள்ளாத மனமும் துள்ளும்,காதலுக்கு மரியாதை, லவ் டுடே என மென்மையான  படங்களில் நடித்து திருமலை,கில்லி,சிவகாசி,திருப்பாச்சி,போக்கிரி என அதிரடி நாயகனாக  ரசிகர்கள் மனதி இடம் பிடித்த விஜய், வில்லு, வேட்டைகாரன்,சுறா என தொடர் தோல்வி
படங்களில் நடித்து இப்போது நான்காவது இடத்தில் இருக்கின்றார். ஒரு காலத்திற்கு
அப்புறம் மக்களுக்கு சலிப்பு வரகூடிய படங்களில் நடித்து வெறுப்பை சம்பாதித்து
கொண்டார்.பின்னர் சுதாரித்து காவலன் என்ற ஹிட் படத்தை கொடுத்தார். இப்போது இவர்  நடித்து கொண்டிருக்கும் படங்கள் எல்லாமே மிகுந்த எதிபார்பிற்குறிய படங்கள் என்பதால்  மீண்டும் இவர் பழைய இடத்தை பிடிப்பார் என நம்புவோமாக.

நடித்ததில் பிடித்தது: பூவே உனக்காக,துள்ளாத மனமும் துள்ளும்,காதலுக்கு
மரியாதை,கில்லி,திருமலை,போக்கிரி,சிவகாசி,குஷி

2வது இடம் அஜித்:
மங்காத்தாவின் அதிரடி வெற்றி இவரை இரண்டாவது இடத்தில் உக்கார வைத்திருக்கின்றது.  முன்னனி நடிகர்களில் அதிகமான தோல்வி படங்களில் நடித்தது இவராகதான் இருக்க  முடியும்.அதையெல்லாம் தாண்டிய இவரது தன்னம்பிக்கைதான் இவரை இந்த இடத்தில்  உக்கார வைதிருக்கின்றது. நல்ல நடிகர் மட்டும் அல்ல. நல்ல மனிதரும் கூட.. தைரியசாலி  தனது ரசிகர்மன்றத்தை கலைத்தது அதற்கான சான்று.
இவரின் இந்த முடிவு வரவேற்க  கூடியது. இவர் அல்டிமேட் ஸ்டார் பட்டத்தை துறந்ததும் ஒரு பாராட்ட படகூடிய  விஷயம் இன்று இருக்க கூடிய முன்னனி இயக்குனர்களுக்கு முதல் பட சான்ஸ் கொடுத்து  திறையுலகில் அறிமுக படுத்திய பெருமை அஜிதையே சாரும்.

கதை தேர்வில் கூடுதல் கவனம் தேவை என்பதே என்னுடைய எண்ணம்.

சரண்.எ.ஆர்.முருகதாஸ், சூர்யா, இயக்குனர் விஜய், என பட்டியல் நீளும்.
நடித்ததில் பிடித்தது: காதல் மன்னன்,அமர்களம்,வரலாறு,வாலி,பில்லா, தினா,
போன்றவை

முதல் இடம் சூர்யா:

தமிழ் சினிமாவின் தற்போதய ஹாட் கேக்.. பாக்ஸ் ஆபிஸ் ஹீரோ..
உழைப்பு மற்றும் ஈடுபாடு கொண்ட இயக்குனர்களின் நடிகன். இவரை வைத்து படம்
எடுத்தவர்களே மீண்டும் இவரிடம் இணைந்து படம் எடுப்பது இவருடைய ஈடுபாட்டுக்கு
சான்று. வரிசையாக பாக்ஸ் ஆபிஸ் ஹிட் கொடுத்தவர். மாஸ் மற்றும் கிளாஸ் படங்களை மாறி  மாறி கொடுப்பவர்.

இயக்குனர் பாலாவினால் வாழ்வளிக்க பட்டவர்களில் இவரும் ஒருவர்.இவரின் ஆரம்பகால படங்கள் இவருக்கு பெயரெடுத்து தராத நிலையில் இயக்குனர் பாலாவின்
இயக்கத்தில் இவர் நடித்த நந்தா இவருக்கு திருப்புமுனையாக அமைந்தது.அதை சரியாக
பயன்படுத்திகொண்ட அவர் படிபடியாக முன்னனி நடிகராக உயர்ந்து இன்று நம்பர் 1 அந்தஸ்தை  எட்டியிருக்கின்றார்.காக்க காக்க, பேரழகன்,பிதாமகன்,கஜினி,வாரணம்
ஆயிரம்,அயன்,சிங்கம் ஆகியவை பெயர் சொல்லும் படங்களாக அமைந்தது.

எ.ஆர்.முருகதாஸ் இயக்கத்தில் இவர் நடித்து கொண்டிருக்கும் ஏழாம் அரிவு மிகுந்த எதிபார்பை கிளப்பி  இருக்கின்றது.

நடிப்பு,ஆக்சன்,ரொமான்ஸ் என அனைத்திலும் சிறந்தவர்.அகரம் பௌன்டேசன் மூலம் ஏழை  குழந்தைகளுக்கு கல்வி அறிவு கிடைக்க உதவி வருகின்றார்.

தனக்கு கிடைத்த மக்கள் ஆதரவை சரியான வகையில் சரியான திசையில் பயன்படுத்துவதாக  எனக்கு படுகின்றது.

(முதல் மூன்று இடங்களில் மாற்றம் எப்போது வேண்டுமானாலும் நிகழலாம்.அது அவர்களின்  பாக்ஸ் ஆபிஸ் வெற்றியை பொறுத்து)
எனக்கு தெரிந்த வரையில் நான் சரியான முறையில்  வரிசைபடுத்தி இருக்கிறேன் என நம்புகின்றேன். குறை இருந்தால் தயவுசெய்து தெரிய  படுத்தவும்.

குறிப்பு: டாப் 10 நடிகர்களில் அஜித்,விக்ரம் தவிர்த்து மற்ற நடிகர்கள் அனைவரும்
குடும்ப சபோர்ட் மூலம் சினிமா துறையில் நுழைந்தவர்கள்.

வந்தத வந்துடீங்க தயவுசெய்து உங்கள் ஓட்டையும் போட்டுட்டு போங்க….

vela vela song Lyrics from Velayudham

September 13, 2011 Leave a comment

ada vela vela vela vela velayudham
nee otha paarva partha podhum nooraayudham

coming down town, coming to the sea
he is the man like shiny bee
breaking to the barriers …..
gonna come and carry us
don shout out
come get some
you cant get down, he is velayutham

ada vela vela vela vela velayutham
nee otha paarva partha podhum nooraayudham

chillax chillax song Lyrics From Velayutham

September 13, 2011 1 comment
Velayudham

Image via Wikipedia

chillax chillax chillax chillax chillax..
chillax chillax chillax chillax chillax..

manjanathi marathu katta
maiya vechi mayaki puta
naatu katta townu katta
rendum kalandha semma katta
kaiyu rendum urutu katta
kannu rendum vetta vetta
nenjukulla ratham sotta
eduku vara kitta..

sooriyane thevaiyille vithudalama
rathiriya inga mattum inga vachukalama
thirupachi meesaiyile sikkikalama
neeyachu naanachu paathukalama

manjanathi marathu katta
maiya vechi mayaki puta
naatu katta townu katta
rendum kalandha semma katta
kaiyu rendum urutu katta
kannu rendum vetta vetta
nenjukulla ratham sotta
eduku vara kitta..

dheem dheem thananam dheem dheem thananam
ah ah..ahhaaa..ah ah ahhaa

en odhattu sayathula
ottikolla vaada ulla
patthu veral theekuchiya
pattha veika vaadi pulla
kattabomma peran ne katthi meesa veeran
muthan vechu kuthi kollu sethu poren
mayavi tha neeyum inga mayangiputta nanum
athangara moginiyum vaa nee enna katti pudikka

chillax chillax chillax chillax chillax
chillax chillax chillax chillax chillax
chillax chillax chillax chillax chillax
chillax chillax chillax chillax chillax
chilllllaaaaa….x chillax baby

en odambu panju metha
kitta vandhu kaatu vitha
un iduppu vaazha maata
naa pudicha thaanga maata
sandhu pondhu veedu nee vanthu vilayadu
patta vaanga thevaiyilla kotta podu
vetiya na sethu un marapula korthu
ennanamo pannuriye nenjukitta ketta kanava (ketta kanavu..)

chillax chillax chilla chilla chillax
chillax chillax chilla chilla chillax

manjanathi marathu katta
maiya vechi mayaki puta
naatu katta townu katta
rendum kalandha semma katta
kaiyu rendum urutu katta
kannu rendum vetta vetta
nenjukulla ratham sotta
eduku vara kitta..

sooriyane thevaiyille vithudalama
rathiriya inga mattum inga vachukalama
thirupachi meesaiyile sikkikalama
neeyachu naanachu paathukalama
chillax chillax chillax chillax chillax..
chillax chillax chillax chillax chillax..
chillax chillax chillax chillax chillax..
chillax chillax chillax chillax chillax..
chillax chillax chillax

Verdict on Kanimozhi’s bail plea today

May 20, 2011 1 comment
Central Bureau of Investigation

Image via Wikipedia

NEW DELHI: A special Central Bureau of Investigation (CBI) court will on Friday rule on the bail plea of DMK MP Kanimozhi and Kalaignar TV chief Sharad Kumar, named co-accused in the 2G spectrum allocation case.

Special Judge O P Saini, who had reserved his order on their bail application on May 6, will pronounce his verdict on Friday.

Kanimozhi, who has been regularly appearing in court for the case’s hearing since April 6, was present in the court but complained of ill-health.

Her counsel orally made a submission before the court that her client was suffering from stomach ache.

Then, she was granted exemption for May 12 and 13 as she was to be be questioned by income tax officials in Chennai.

ICC Cricket World Cup 2011 – Crowning Glory for India

The 2011 Cricket World Cup tournament lit up our TV screens with high quality play, absolute rubbish, highlights, lowlights, pluck, timidity and a mass of other notables. Here are some of the things The Daily Maverick can praise, bewail and argue about.

Hosts winning

While we may be pretty serious fans of cricket, and sport in general, in South Africa, we are nowhere near as obsessive about it as India. The Indian team’s victory in the Final in front of their own blaring fans in their premier city is one of the most romantic scripts that could be written for the game. That they did it with a South African coach added to the gut-warming feeling we were permitted as the news channels broadcast one happy Indian fan after another.

Plucky cricket

Two teams at the tournament showed that talent isn’t the sole ingredient for success. New Zealand and Ireland both showed what a bit of grit, pressurising fielding and counter-attacking mentality can achieve. Ireland came from behind to beat England and chased down a massive Dutch score, and New Zealand knocked out South Africa when a betting man (who had never seen South Africa play in a knockout match before) would have put all of his money on the Proteas.

Umpiring

This was the first World Cup to feature the Umpire Decision Review System and has finally meant that we have statistical evidence to see which of the umpires are the best. In a show of initiative not seen since they last decided to disagree with whatever the BCCI said, the ICC actually removed the underperforming Asoka de Silva from important World Cup fixtures after he hashed a few games. Marais Erasmus, South Africa’s representative at the tournament, had a good run and, to our knowledge, only had one decision overturned.

Photo: Cricket fans celebrate in New Delhi, after India won the ICC Cricket World Cup final match against Sri Lanka, April 2, 2011. India sparked wild celebrations among their billion supporters after beating Sri Lanka by six wickets in the World Cup final at Mumbai’s Wankhede Stadium on Saturday. REUTERS/B Mathur.


The Bad


South Africa

It was a familiar sight to see South Africa return to Mzansi within a day of their first knockout fixture. After the farcical 1992 semi-final, the Proteas have managed to cock up the quarters in 1996, the tied semi in 1999, semis in 2009 and 2011. Add to that the fire-spittingly haemorrhaging 2003 “knockout” game against Sri Lanka and you’ll see why SA cricket fans have earned the right to government-subsidised anti-depressants.

The West Indies
We didn’t need a reminder, but we had confirmation that the swashbuckling days of swaggering batsmen and giant fast-bowlers are completely over. The West Indies folded meekly against South Africa, England, India and in the quarter-final against Pakistan. Watching Darren Sammy bowl his dibbly-dobblies at first change for the team that once produced skull- and toe-crunching bowlers like Andy Roberts, Malcolm Marshall, Joel Garner and Curtly Ambrose was worse than sad.

The Final toss

The toss circus in the Final was a good indication that the odd batsman walking does not a dignified sport make, nor does the presence of a match-referee actually serve a purpose in a cricket match. If the game was what we wanted it to be, MS Dhoni could have just asked Kumar Sangakkarra what he had called and we all could have moved on. Had the match referee, the same one who wanted Sri Lanka batting in the dark in the 2007 Final, paid any sort of attention this could also have been avoided.

Photo: New Zealand’s wicket keeper Brendon McCullum (L) runs out South Africa’s AB de Villiers (R) during their Cricket World Cup quarter-final match in Dhaka March 25, 2011. REUTERS/Adnan Abidi.


The Unexpected


England

England usually fall over flat and die in the group stages of World Cups or they do very well throughout. England qualified for the Final in 1987 and 1992 (losing to Australia and Pakistan respectively) but then crashed out in the group stage of the 1996, 1999 and 2003 tournaments. This year’s Cricket World Cup had an England which managed to lose to Ireland and Bangladesh, beat South Africa, scrape a win against the Netherlands and tie with India. The Empire XI showcased one of the best batsmen of the tournament (Jonathan Trott), the innings of the tournament (Andrew Strauss’ 158 vs India), the bowling spells of the tournament (Stuart Broad’s 4/15 vs South Africa) and yet England were sent packing by Sri Lanka in the quarter-finals.

Robin Peterson

We humbly admit we had no faith in Robin Peterson when he was selected in the SA World Cup squad. We thought he had only been brought as cover for Imran Tahir and Johan Botha, and he would only get a game if one of them did themselves in. How incredibly wrong we were. With sporting pitches, Peterson was South Africa’s most successful bowler in the tournament, picking up 15 wickets at an average of 15, and he only went for 4.25 an over. Incredible stuff. He was the second most penetrative spinner and the fourth highest wicket-taker overall.


Team of the tournament


Absolutely the most contentious part of any World Cup review, this is our team of the tournament:

  • Sachin Tendulkar
  • TM Dilshan
  • Jonathan Trott
  • Kumar Sangakkara (c)
  • Yuvraj Singh
  • Mahela Jayawardene
  • Mohammad Hafeez
  • Shahid Afridi
  • Zaheer Khan
  • Tim Southee
  • Ray Price/Dale Steyn
  • 12th man: AB de Villiers

Tendulkar and Dilshan are no-brainer selections. Trott makes it in on sheer weight of runs, which he scored at a strike rate of more than 80. Yuvraj was man of the tournament as his scoring was up there with the best and he chipped in with 15 wickets with what look like left-arm spinners to us, but are evidently scud-missiles when one is holding a bat at 20m.

Photo: Sri Lanka’s captain and wicketkeeper Kumar Sangakkara speaks with Muttiah Muralitharan, who is playing in his last Cricket World Cup, after their team beat New Zealand in their ICC Cricket World Cup 2011 semi-final match in Colombo March 29, 2011. REUTERS/Dinuka Liyanawatte.

We know we left out Dhoni, the World Cup winning captain who turned the Final around India’s way, but his batting throughout the tournament wasn’t so hot. Sangakkara’s blade was far more consistent. He is paired in the middle order with Mahela Jayawardene who scored two centuries in the World Cup, including that delicious knock in the Final.

Mohammad Hafeez sneaks in ahead of Ajantha Mandis because of his superb economy rate of 3.5 and his ability to bat. He isn’t a great batsman, and his constant opening says more about Pakistan’s depth than it does about his skills. If we picked Mendis then Afridi would come in at number seven and we think that’s a place too early. We prefer Hafeez there.

Ray Price also sneaked in because of his economy rate, but his selection would be dependent on the wicket. If it suited pace bowlers Dale Steyn would come in for him. Price is an incredible player. He bowls left-arm spin with the new ball for a team that gets walloped every time it plays someone decent. To have an economy rate below 3.5 in any context is superb. While representing Zimbabwe, it is super-human.

Tim Southee and Zaheer Khan were far and away the top fast bowlers of the tournament. Southee has found an extra bit of pace which, coupled with his bounce, snagged him 18 wickets in eight games. To put that into perspective, he never took more than three wickets in a match – underlying his consistency. Compare that to Malinga – if you take away his six-wicket haul against Kenya he only took seven wickets at 33.


2015


A decent tournament recipe has finally been found. The complicated Super 6 and Super 8 varieties were tossed out and a round-robin format resulting in knockouts was adopted. If any tinkering were done further, we would recommend removing two of the minnow teams – Canada, Kenya and the Netherlands didn’t add much to the tournament – and hastening up the group stage by playing more than one fixture a day. The group stage in this tournament took longer than the entire FIFA World Cup did last year.

Only four years to go until the next one… DM

Raja, aides arrested in 2G spectrum scam

February 2, 2011 Leave a comment

Former Telecom Minister A. Raja was on Wednesday arrested along with his two former associates in connection with the 2G spectrum scam.

Mr. Raja arrived at the Central Bureau of Investigation headquarters on Wednesday morning, a day after his brother A.K. Perumal was questioned by the agency about alleged funding of some front organisations owned by telecom companies which had been allocated spectrum from October 2007 to January 2008, official sources said.

Mr. Raja, his former personal secretary R.K. Chandolia and former Telecom Secretary Siddartha Behura were arrested for allegedly abusing their official position and manipulating the tendering procedures to benefit certain telecom companies in getting the spectrum.

The arrest of 47-year-old Mr. Raja, who has been questioned four times by the agency, comes over two months after he was forced to resign in the wake of the spectrum controversy.

Mr. Raja, who was questioned earlier on December 24 and 25 last year and January 31, was called to the CBI office on Wednesday morning and quizzed before being arrested, the sources said.

The Dravida Munnetra Kazhagam MP had been confronted with some questions and documents recovered from the computers seized during searches conducted by the investigation agency earlier at his premises, the sources said.

He was also asked about his conversations with corporate lobbyist Niira Radia and the reasons for advancing the cut-off date of applying for license for spectrum allocation in 2007 by a week.

Mr. Raja was forced to resign on November 14 last year in the wake of the CAG report which held that the spectrum allocation at undervalued prices resulted in a notional loss of Rs 1.76 lakh crore to the state exchequer.

The Supreme Court has asked the CBI and the Enforcement Directorate to submit status reports on their investigations into the 2G spectrum case to it by February 10 when the case will come up for further hearing.

In its FIR, the CBI mentioned the loss in spectrum allocation as Rs. 22,000 crore based on Central Vigilance Commission findings which had referred the case to it.

The CBI has also questioned former Telecom Regulatory Authority of India (TRAI) chief Pradip Baijal, a 1966 batch IAS officer of Madhya Pradesh cadre, and former Telecom Secretary D.S. Mathur in connection with the case.

Welcome to ICC Cricket World Cup 2011

January 31, 2011 Leave a comment
ICC Cricket World Cup trophy replica which is ...

Image via Wikipedia

Welcome to Cricketworldcup2011.co.in – a complete website on the upcoming ICC Cricket World Cup 2011. This website would update you about ICC Cricket World Cup 2011 schedule, Cricket World Cup 2011 fixtures, Cricket World Cup 2011 venue and Cricket World Cup 2011 teams.

Cricket is considered as a religion in India and people are crazy about Cricket, especially in this part of the world. With ICC Cricket World Cup 2011 coming in the year 2011, the game would rise to new levels. If you are a Cricket fan searching for ICC Cricket World Cup 2011 schedule, Cricket World Cup 2011 fixtures, Cricket World Cup 2011 venue and Cricket World Cup 2011 teams, then you need not to go elsewhere as you will get information on Cricket World Cup 2011 fixtures, Cricket World Cup 2011 venue and Cricket World Cup 2011 teams and ICC Cricket World Cup 2011 schedule and every other info about ICC Cricket World Cup 2011.

ICC Cricket World Cup 2011 will be the 10th World Cup. Prior to the ICC Cricket World Cup 2011, 9 Cricket World Cups have been organized by ICC. Australia have emerged winner on the most occasions – 4. Closely following is West Indies, who won the inaugural and the very next World Cup. All the Indian Subcontinent teams – India, Pakistan and Sri Lanka have won 1 World Cup each. Australia won in 1987, 1999, 2003 and 2007. West Indies won on 1975 (the first World Cup) and 1979. India won the World Cup in 1983, Pakistan won the World Cup in 1992 and Sri Lanka won in 1996.

ICC Cricket World Cup 2011 schedule and Cricket World Cup 2011 fixtures: ICC Cricket World Cup 2011 schedule and Cricket World Cup 2011 fixtures are given below on our website.

<ilayer src=”http://www.s2d6.com/x/?x=i&z=i&v=2264922&r=%5BRANDOM%5D&k=%5BNETWORKID%5D&#8221; z-index=”0″ width=”160″ height=”600″> click here

<ilayer src=”http://www.s2d6.com/x/?x=i&z=i&v=2264922&r=%5BRANDOM%5D&k=%5BNETWORKID%5D&#8221; z-index=”0″ width=”160″ height=”600″> click here

Welcome to ICC Cricket World Cup 2011

Welcome to Cricketworldcup2011.co.in – a complete website on the upcoming ICC Cricket World Cup 2011. This website would update you about ICC Cricket World Cup 2011 schedule, Cricket World Cup 2011 fixtures, Cricket World Cup 2011 venue and Cricket World Cup 2011 teams.

Cricket is considered as a religion in India and people are crazy about Cricket, especially in this part of the world. With ICC Cricket World Cup 2011 coming in the year 2011, the game would rise to new levels. If you are a Cricket fan searching for ICC Cricket World Cup 2011 schedule, Cricket World Cup 2011 fixtures, Cricket World Cup 2011 venue and Cricket World Cup 2011 teams, then you need not to go elsewhere as you will get information on Cricket World Cup 2011 fixtures, Cricket World Cup 2011 venue and Cricket World Cup 2011 teams and ICC Cricket World Cup 2011 schedule and every other info about ICC Cricket World Cup 2011.

<ilayer src=”http://www.s2d6.com/x/?x=i&z=i&v=2264926&r=%5BRANDOM%5D&k=%5BNETWORKID%5D&#8221; z-index=”0″ width=”468″ height=”60″> click here

ICC Cricket World Cup 2011 will be the 10th World Cup. Prior to the ICC Cricket World Cup 2011, 9 Cricket World Cups have been organized by ICC. Australia have emerged winner on the most occasions – 4. Closely following is West Indies, who won the inaugural and the very next World Cup. All the Indian Subcontinent teams – India, Pakistan and Sri Lanka have won 1 World Cup each. Australia won in 1987, 1999, 2003 and 2007. West Indies won on 1975 (the first World Cup) and 1979. India won the World Cup in 1983, Pakistan won the World Cup in 1992 and Sri Lanka won in 1996.

ICC Cricket World Cup 2011 schedule and Cricket World Cup 2011 fixtures: ICC Cricket World Cup 2011 schedule and Cricket World Cup 2011 fixtures are given below on our website.

<ilayer src=”http://www.s2d6.com/x/?x=i&z=i&v=2264928&r=%5BRANDOM%5D&k=%5BNETWORKID%5D&#8221; z-index=”0″ width=”468″ height=”60″> click here
Match Date Teams Venue
1 19 Feb India vs Bangladesh Dhaka
2 20 Feb New Zealand vs Kenya Chennai
3 20 Feb Sri Lanka vs Canada Hambantota
4 21 Feb Australia vs Zimbabwe Ahmedabad
5 22 Feb England vs Netherlands Nagpur
6 23 Feb Pakistan vs Kenya Hambantota
7 24 Feb South Africa vs West Indies New Delhi
8 25 Feb Australia vs New Zealand Nagpur
9 25 Feb Bangladesh vs Ireland Dhaka
10 26 Feb Sri Lanka vs Pakistan Colombo
11 27 Feb India vs England Kolkata*
12 28 Feb West Indies vs Netherlands New Delhi
13 28 Feb Zimbabwe vs Canada Nagpur
14 1 Mar Sri Lanka vs Kenya Colombo
15 2 Mar England vs Ireland Bangalore
16 3 Mar South Africa vs Netherlands Mohali
17 3 Mar Pakistan vs Canada Colombo
18 4 Mar New Zealand vs Zimbabwe Ahmedabad
19 4 Mar Bangladesh vs West Indies Dhaka
20 5 Mar Sri Lanka vs Australia Colombo
21 6 Mar India vs Ireland Bangalore
22 6 Mar England vs South Africa Chennai
23 7 Mar Kenya vs Canada New Delhi
24 8 Mar Pakistan vs New Zealand Pallekelle
25 9 Mar India vs Netherlands New Delhi
26 10 Mar Sri Lanka vs Zimbabwe Pallekelle
27 11 Mar West Indies vs Ireland Mohali
28 11 Mar Bangladesh vs England Chittagong
29 12 Mar India vs South Africa Nagpur
30 13 Mar New Zealand vs Canada Mumbai
31 13 Mar Australia vs Kenya Bangalore
32 14 Mar Pakistan vs Zimbabwe Pallekelle
33 14 Mar Bangladesh vs Netherlands Chittagong
34 15 Mar South Africa vs Ireland Kolkata
35 16 Mar Australia vs Canada Bangalore
36 17 Mar England vs West Indies Chennai
37 18 Mar Sri Lanka vs New Zealand Mumbai
38 18 Mar Ireland vs Netherlands Kolkata
39 19 Mar Australia vs Pakistan Colombo
40 19 Mar Bangladesh vs South Africa Dhaka
41 20 Mar Zimbabwe vs Kenya Kolkata
42 20 Mar India vs West Indies Chennai
43 23 Mar First Quarterfinal Dhaka
44 24 Mar Second Quarterfinal Colombo
45 25 Mar Third Quarterfinal Dhaka
46 26 Mar Fourth Quarterfinal Ahmedabad
47 29 Mar First Semifinal Colombo
48 30 Mar Second Semifinal Mohali
49 02 Apr FINAL Mumbai
*To be confirmed. Most probably it would be played in M Chinnaswamy Stadium, Bengaluru (Bangalore).

Once you bookmark this page you can view ICC Cricket World Cup 2011 schedule and Cricket World Cup 2011 fixtures anytime you like.

Cricket World Cup 2011 venue: With India as the main host of ICC Cricket World Cup 2011, Cricket World Cup 2011 venue includes stadiums of cities like Dhaka, Mumbai, Kolkata, Mohali, Colombo, Chennai, Nagpur, Ahmedabad, chittagong and Bangalore. Cricket World Cup 2011 venue also includes new venues like Pallekelle and Hambantota – both being in Sri Lanka.

Cricket World Cup 2011 teams: Cricket World Cup 2011 teams include 4 times winner Australia, 2 times winners West Indies, South Africa, India, Pakistan, Sri Lanka, Bangladesh, Zimbabwe, New Zealand, Netherlands, Canada, Ireland, England and Kenya. Groups in which Cricket World Cup 2011 teams are divided:

Group A – Australia, Pakistan, New Zealand, Sri Lanka, Zimbabwe, Canada and Kenya.

Group B – India, South Africa, England, Bangladesh, West Indies, Netherlands and Ireland.

Rana is Rajini’s Next Flim Title!

January 31, 2011 2 comments
Rajinikanth at an audio release function held ...

Close sources of Superstar Rajini confirms that his next movie‘s title will be Rana. According to the sources, K S Ravikumar direct the movie and Rathnavel will handle the camera. Rahman is the music director of Rana.
Rajinikanth’s Next ‘RANA’ K. S. Ravikumar direction, Rajini playing triple role

International media house Eros International and Soundarya Rajinikanth’s Ocher Studios have joined hands to co-produce the next film of Super Star Rajinikanth to be directed by K. S. Ravikumar.
The film titled ‘RANA” is going to be another big multilingual that will be released in Tamil, Telugu and Hindi. Scheduled to go on floor in March this year, Rana will be a live action magnum opus with Rajini playing triple role.
The film will have Music by A R Rahman, Cinematography is by Ratnavelu, Editing is by Antony and Art directed by Rajeevan. The technical & special effects director will be Soundarya Rajinikanth and Charles Darby of Eyeqube Studios, renowned visual effects luminary and an Emmy award winner will be the visual effects supervisor on the film. The film is scheduled to release early 2012.
Speaking on the development, Sunil Lulla, Managing Director, Eros International Media Ltd said, “We are extremely excited to join hands with Tamil industry’s most popular super star Rajinikanth for Rana and this time audiences will be treated with their favourite actor donning a triple role in the film. Rana is going to be far different from any of the recent Rajni films, a complete live action magnum opus with loads of entertainment for his fans”.
Soundarya Rajinikanth, Director of Ocher Studios Private Limited added, “We are very pleased to announce this partnership with Eros International for RANA. We hope to make a film together that will live up to the huge expectations of the movie-goers and reach out to maximum audiences across the globe”.
Superstar Rajinikanth next film is going to be trilingual which is being made in Tamil, Telugu and Hindi versions. It has been titled as ‘Rana’.  K S Ravi Kumar who did super hit films like ‘Muthu’ and ‘Narasimha’ with Rajini has once again directing him. Bollywood sizzling actress Deepika Padukone is likely to be the leading lady of the film. 

As per sources, Rajinikanth will be seen in triple role. The film will move onto sets in the month of March. It is co-produced by Eros International and Ocher Studios, the production house run by Soundarya Rajinikanth.

There is a buzz that this film might be Rajinikanth’s animated film which is being directed jointly by Soundarya Rajinikanth and K S Ravikumar. However, Rana filmmakers have clarified that this is a new script which is going to direct by K S Ravi Kumar with huge buget.

Academy Award Winner A R Rehman will score the music for the film. Ratnavelu, who worked as camera man for sensational ‘Robo’ is working as cinematographer.

Rana is scheduled to release early in 2012.

2010 in review

January 3, 2011 Leave a comment

The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here’s a high level summary of its overall blog health:

Healthy blog!

The Blog-Health-o-Meter™ reads Wow.

Crunchy numbers

Featured image

The average container ship can carry about 4,500 containers. This blog was viewed about 15,000 times in 2010. If each view were a shipping container, your blog would have filled about 3 fully loaded ships.

 

In 2010, there were 126 new posts, growing the total archive of this blog to 285 posts. There were 110 pictures uploaded, taking up a total of 13mb. That’s about 2 pictures per week.

The busiest day of the year was September 10th with 244 views. The most popular post that day was Boss Engira Baskaran Movie Review.

Where did they come from?

The top referring sites in 2010 were en.search.wordpress.com, en.wordpress.com, google.co.in, search.conduit.com, and ifreestores.com.

Some visitors came searching, mostly for raavan video songs, robo release, rajini robo stills, mukesh ambani house, and robo rajini stills.

Attractions in 2010

These are the posts and pages that got the most views in 2010.

1

Boss Engira Baskaran Movie Review September 2010

2

Raavan Behne De Video Song April 2010
1 comment

3

Rajini’s Robo release Date!!! October 2008
4 comments

4

Vijay Sura Mp3 Songs Free download March 2010
4 comments

5

Vinnaithandi Varuvaya Movie Review March 2010

Women to be fire fighters in Goa

December 11, 2010 Leave a comment
PANAJI: If the state government keeps its promise, then Goa will be the first state in western India to recruit women fire fighters in the Fire and Emergency Services.

However, the new recruits will not land in tough fire-fighting operations straightaway — they will be first put on fire prevention, training and communication duty till they can handle riskier jobs. Atpresent only Chennai and Hyderabad fire brigades have women firefighters.

“A proposal to change the Recruitment Rules to enable recruitment of women in the Fire and Emergency Services has been received by us and we are in the process of changing the recruitment rules and identifying the posts to be allotted to women in the department,” chief secretary Sanjay Srivastava said.

“In a critical situation, we have felt that a woman can help another woman better. We had seen during Bicholim floods that women are hesitant when men try to help or rescue them. Therefore, women fire personnel are the need of the hour. Initially, we will recruit women for fire prevention, training and communication duty and also train them as fire fighters to handle emergency situations “, said director of Fire and Emergency Services Ashok Menon.

Srivastava said, “Once the recruitment rules for inducting women in the services are finalized, then we will notify the posts to enable the recruitment. This should be done by April 14, 2011”.

The proposal will go to Personnel department from where it will be referred to Law department, he Srivastava added. Sources said that the Fire department has suggested that a similar criterion as the one adopted by the Goa police in recruitment of female officers be adopted for Fire services also.

Home minister Ravi Naik, who was also present at the function, said that induction of women in the force is crucial as they can be involved in rescue operations involving women casualties. All the 13 fire stations in the state will have women fire-fighters, he said.

At the moment there are 507 sanctioned posts in the Fire department and all posts are filled by men. Based on the study conducted by the Administrative reforms Study, the fire department has sent a proposal to the government to increase the staff strength to 700.

“Once the sanction for 200 more personnel is granted by the government and recruitment rules are changed to appoint women, then we will earmark posts for women”, added Menon.

Read more: Women to be fire fighters in Goa – The Times of India http://timesofindia.indiatimes.com/city/goa/Women-to-be-fire-fighters-in-Goa/articleshow/7082758.cms#ixzz17oGTFSIx

Seven new features you can expect from WordPress 3.1

October 11, 2010 Leave a comment

 

Image representing WordPress as depicted in Cr...

Image via CrunchBase

 

There have been a number of recent developments at WordPress which have proven that the company is as dynamic and fluid as it has ever been. Firstly, Matt Mullenweg, the co-founder of WordPress, announced the formal handing over of the WordPress trademark from Automattic (a for-profit company) to the WordPress Foundation, a non-profit organisation “dedicated to promoting and ensuring access to WordPress and related open source projects in perpetuity”.

This is in line with the ethos behind the WordPress brand of being an open and expressive community. The official WordPress blog announced that, “moving forward, the Foundation will be responsible for safeguarding the trademarked name and logo from misuse toward the end of protecting WordPress and preventing confusion among people trying to figure out if a resource is ‘official’ or not”.

In addition to the trademark handover, discussions have begun around the development of the next WordPress release, version 3.1, scheduled for December 2010.

Following the packed and impressive feature list released in version 3.0, WordPress die-hards have been eagerly waiting to see what’s coming next.

Judging from the discussions on the WordPress Development P2 blog, these are some of the features that are likely to appear in WordPress 3.1.

Internal Linking
When linking to a page or a post within WordPress, you are able to simply type “/pagename” and, internally, the system will be able to find your page. This feature will, as I understand it, enable easy linking between internal content (eg: from one page to another, or a page to a blog post) without the need for a full URL to be inserted as the link. Talk amongst developers indicates that this is a favourite new feature for release in WordPress 3.1.

Improved integration between custom post types and taxonomies will take WordPress a step further towards becoming a fully-fledged content management system.

AJAX-ified Admin Screens
Perhaps no longer a buzz term, “AJAX” has become an almost de-facto standard in many Rich Internet Applications used today. So it makes sense to include it in the WordPress administration screens. While there are subtle areas where this has been done (comment moderation, for example), having all the screens functioning via AJAX would greatly speed up working within the system and could make for an overall richer user experience, as the screen would, essentially, not refresh.

Admin Bar
The WordPress admin bar creates easy access links to areas of the administration (for example, the “New Post” screen) from within the website’s frontend, via a neat bar at the top of the window. While this could fall into the “plugin territory” category, it will most likely end up being an optional feature than can be enabled if desired.

Custom Post Type enhancements
The initial release of a new feature usually sparks off ideas for improvements. Now that the custom post types feature has been released, a list of possible enhancements is being compiled on the Development blog, to make the feature even better than it currently is. Ideas include opt-in archives for the post types as well as custom status values per post type. This has the potential to greatly expand the way data is stored and handled with these post types.

Advanced taxonomy queries
Advanced taxonomy querying is an area that has many developers in an excited frenzy. These queries could involve, for example, gathering all entries that are tied to a particular category and that aren’t tied to a specific post tag. While this is a relatively simple example, the possibilities become greatly increased as to the kinds of content relationships which can be created within WordPress (instead of posts which are simply tied to categories and tags, for example).

Post templates / Post styles
In the Twenty Ten theme, custom styles and layouts were introduced for blog posts listed in categories called “gallery” and “aside”. As I understand it, this was an attempt at creating different post styles and catering specifically for those types. Like Tumblr does it, custom post styles would eliminate the need for the “aside” and “gallery” categories, allowing posts to be treated according to style, rather than what category they are in.

QuickPress template tag
The QuickPress widget has become especially popular for posting short and quick posts directly from your blog’s dashboard. Why not move this form wherever you want it? The QuickPress template tag will allow developers to include the QuickPress form anywhere in WordPress, with a simple call of a function. Pretty self-explanatory, but very exciting for regular users of QuickPress, as well as users who are looking into themes that post from the front-end, like the popular P2 theme.

The above features have, as mentioned above, been pitched on the official WordPress Development Blog and are by no means set in stone. Which means there could be many other features and enhancements added to this release. As with every release, we can expect loads of careful attention being paid to the user interface, the user experience and the code maintenance. Then keep your eyes pealed for version 3.2, folks. That’s when the big additions will arrive.