Tag Archives: Google

List of Google April Fools Pranks 2012

Here’s a quick list of Google’s April Fools pranks for this year, 2012!

Google Racing – Google is collaborating with NASCAR, and their self driving car will be taking part of the NASCAR race. They even have a video on the official NASCAR website describing their involvement!

Really Advanced Search – Allows you to be real specific about what you want to search for, right inside of Google.

Gmail Tap – Use just two fingers to discreetly type an entire message in binary. Not only that, the Double Black Diamond mode allows you to type up to EIGHT messages at once!

Jargon-Bot for Google Apps – Jargon-Bot for Google Apps instantly recognizes business terms and provides clear jargon translation. It works on all your devices, no matter where you are. The official page provides a few funny examples of Jargon-Bot twisting what folks are saying to their most probable intention.

Click to Teleport – Click-To-Teleport extensions allow potential customers to instantly teleport to your location through an AdWord ad. This brand new technology puts an end to inaccurate location targeting, and introduces a revolutionized way to bring in clients.

Chrome Multitask Mode – Multitask mode allows you access to two mice instead of one. When a couple only has one mouse instead of two, you can both use it at the same time!

Google Weather Control – Don’t like the weather? Simply change it!

Google RoGo – Many folks using modern browsers have trouble accessing websites. However, Google’s studies have shown that 100% of folks using rotary phones have trouble accessing websites. Google RoGo aims to fix the problem folks using rotary phones experience when browsing the internet.

Google Fiber (nutrition bar) – Google is now getting involved with the distribution of a whole new type of fiber. Their new nutrition bar will give you up to 100 times the energy and productivity than what you have experienced before.

8 bit Google Maps – view the entire world in 8 bit Nintendo Style

Google Voice for Pets – Google Voice for Pets will allow your cats and dog to text. Together. Google’s Special Voice Communication collars will allow dogs to communicate with cats and other dogs via Wifi. Google’s Voice Transcription software also recognizes pet lingo, so can transcribe their nonsense into plain English!

Google Pagerank API in PHP (Updated October 2011)

May 2012 Update: We have modified the original version of the google pagerank script, and we have modified it so it works on 64 bit, and corrects some of the bugs that exist in this one. Even though this post is “newer”, we recommend that you use the older version of the script.

The script below demonstrates the usage of the Google Pagerank API in PHP. Do note the script only works on 32 bit PHP installs, as the byte shifting does not work properly with 64 bit operating systems. We are working to provide a 64 bit alternative, although that’s not yet available.

The below example features a PageRank class, and two lines demonstrating the usage of the class. The script is mostly self explanatory.

<?php

class PageRank {
	function __construct($url) {
		$url = 'info:' . $url;
		$hash = '6' . $this->c($this->e($this->b($url)));
		$fetch = 'http://toolbarqueries.google.com/tbr?client=navclient-auto&ch=' . $hash . '&ie=UTF-8&oe=UTF-8&features=Rank&q=' . $url;
		if(function_exists('curl_init')) {
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL, $fetch);
			curl_setopt($ch, CURLOPT_HEADER, 0);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
			$out = curl_exec($ch);
			curl_close($ch);
		} else {
			$out = file_get_contents($fetch);
		}
		$out = trim($out);
		if(strlen($out) > 0) {
			$this->pr = substr($out, 9);
		} else {
			$this->pr = -1;
		}
	}

	function b($hash) {
		$j = array();
		$length = strlen($hash);
        for($i = 0; $i < $length; $i++) {
        	$j[$i] = ord($hash[$i]);
        }
        return $j;
    }
	function c($l) {
		$l = ((($l / 7) << 2) | (($this->h($l, 13)) & 7));
		$j = array();
		$j[0] = $l;
		for($i = 1; $i < 20; $i++) {
			$j[$i] = $j[$i - 1] - 9;
		}
		$l = $this->e($this->g($j), 80);
		return $l;
	}
	function e($hash) {
		$r = 3862272608;
        $j = count($hash);
        $p = 2654435769;
        $o = 2654435769;
        $n = 3862272608;
        $l = 0;
        $m = $j;
        $q = array();
        while ($m >= 12) {
            $p += ($hash[$l] + ($hash[$l + 1] << 8) + ($hash[$l + 2] << 16) + ($hash[$l + 3] << 24));
            $o += ($hash[$l + 4] + ($hash[$l + 5] << 8) + ($hash[$l + 6] << 16) + ($hash[$l + 7] << 24));
            $n += ($hash[$l + 8] + ($hash[$l + 9] << 8) + ($hash[$l + 10] << 16) + ($hash[$l + 11] << 24));
            $q = $this->s($p, $o, $n);
            $p = $q[0];
            $o = $q[1];
            $n = $q[2];
            $l += 12;
            $m -= 12;
        }
        $n += $j;
        switch ($m) {
        case 11:
            $n += $hash[$l + 10] << 24;
        case 10:
            $n += $hash[$l + 9] << 16;
        case 9:
            $n += $hash[$l + 8] << 8;
        case 8:
            $o += $hash[$l + 7] << 24;
        case 7:
            $o += $hash[$l + 6] << 16;
        case 6:
            $o += $hash[$l + 5] << 8;
        case 5:
            $o += $hash[$l + 4];
        case 4:
            $p += $hash[$l + 3] << 24;
        case 3:
            $p += $hash[$l + 2] << 16;
        case 2:
            $p += $hash[$l + 1] << 8;
        case 1:
            $p += $hash[$l];
        }
        $q = $this->s($p, $o, $n);
        return ($q[2] < 0) ? (4294967296 + $q[2]) : $q[2];
	}
	function f($j, $i) {
        $k = 2147483648;
        if ($k & $j) {
            $j = $j >> 1;
            $j &= ~$k;
            $j |= 1073741824;
            $j = $j >> ($i - 1);
        } else {
            $j = $j >> $i;
        }
        return $j;
    }

    function g($j) {
    	$l = array();
    	$length = count($j);
    	for($k = 0; $k < $length; $k++) {
    	    for ($m = $k * 4; $m <= $k * 4 + 3; $m++) {
                $l[$m] = $j[$k] & 255;
                $j[$k] = $this->f($j[$k], 8);
            }
    	}
        return $l;
    }

    function h($j, $l) {
        $k = floor($j / $l);
        return ($j - $k * $l);
    }
	function s($t, $k, $u) {
		$t -= $k;
		$t -= $u;
		$t ^= ($this->f($u, 13));
		$k -= $u;
		$k -= $t;
		$k ^= ($t << 8);
		$u -= $t;
		$u -= $k;
		$u ^= ($this->f($k, 13));
		$t -= $k;
		$t -= $u;
		$t ^= ($this->f($u, 12));
		$k -= $u;
		$k -= $t;
		$k ^= ($t << 16);
		$u -= $t;
		$u -= $k;
		$u ^= ($this->f($k, 5));
		$t -= $k;
		$t -= $u;
		$t ^= ($this->f($u, 3));
		$k -= $u;
		$k -= $t;
		$k ^= ($t << 10);
		$u -= $t;
		$u -= $k;
		$u ^= ($this->f($k, 15));
		return array($t, $k, $u);
	}
}

$page_rank = new PageRank('http://www.fusionswift.com');
echo $page_rank->pr;
?>

Google Pagerank Script in PHP (Updated June 2012)

Important: This script has been updated as of May 2012, so the script runs on 64bit operating systems.

Recently, I’ve been searching for a PHP script that was able to retrieve the pagerank of a specific web page, since Google doesn’t provide an API for it. I found many options, although none of them worked since Google has changed their pagerank hash, so therefore, I have decided to dig through the Google Toolbar source code, and find out on my own.

<?php

function genhash ($url) {
	$hash = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE. Yes, I'm talking to you, scammer.";
	$c = 16909125;
	$length = strlen($url);
	$hashpieces = str_split($hash);
	$urlpieces = str_split($url);
	for ($d = 0; $d < $length; $d++) {
		$c = $c ^ (ord($hashpieces[$d]) ^ ord($urlpieces[$d]));
		$c = (($c >> 23) & 0x1ff) | $c << 9;
 	}
 	$c = -(~($c & 4294967295) + 1);
 	return '8' . dechex($c);
}

function pagerank($url) {
	$googleurl = 'http://toolbarqueries.google.com/tbr?client=navclient-auto&ch=' . genhash($url) . '&features=Rank&q=info:' . urlencode($url);
	if(function_exists('curl_init')) {
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_URL, $googleurl);
		$out = curl_exec($ch);
		curl_close($ch);
	} else {
		$out = file_get_contents($googleurl);
	}
	if(strlen($out) > 0) {
		return trim(substr(strrchr($out, ':'), 1));
	} else {
		return -1;
	}
}

echo pagerank('http://www.fusionswift.com/');
?>

You may have been brought here from the October 2011 version of the script. While the original date on this post is from older back, this is the “more” working version. The October 2011 version works, though only on 32 bit operating systems.