Today I am releasing my first WordPress plugin - Local Analytics. Though this is not the first plugin I have started working on, this is the first one to be released. The first plugin I started working on was WapPress - a plugin to make your blog Mobile Friendly.
Local Analytics is based on a program I wrote a few days back on how to speed up Google Analytics by locally hosting urchin.js and automatically updating it. The wonderful idea of creating a Word press plugin with it was suggested by Carl mercier. Carl is the author of the anti spam plugin, Defensio, which is still in beta stage. I have been been beta testing the plugin for the past few days and found it much easier to use, compared to Akismet.
Local Analytics is simple to use for a normal user and highly configurable for advanced users. Normal users only need to enter their Analytics Account ID, wheras advanced users can control the complete behavior of the plugin.
Please try the plugin and let me know your valuable comments and suggestions.
Ever since reading on some of the popular blogs about the effect of the latest PageRank updates on their blog, I too have been waiting eagerly to know Google’s decision on my blog. Hurray! Google has showered some blessings on me too. Yes, the PageRank of JoyceBabu.Com jumped from PR0 to PR3. Well, this may not be as great as the PR5 of JohnCow.com, JonLee.ca or ContestBlogger.com. But I am more than happy with this. Now I believe I too have got some bragging rights.
Since the Google PageRank update is still running, not all datacenters have updated their PR database. Here are some interesting tools that helps you to analyze your sites pagerank in different ways.
info:domain.com
If the SERP returns just one URL which same as the one you searched for, then the site is not using link cloaking. But if there are no results or if the returned results are different from the URL you searched for, then something fishy is going on. SEOJunky has posted an alternate method for finding link cloaking.
Here are some tools for checking PageRank validity
Do you know any other such cool PageRank tools? If so, please let me know.
Microsoft recently introduced a new feature to its Windows Live accounts - the ability to link your different Windows Live Accounts together, so that you can switch between your different accounts in just two clicks. This is a feature I have been missing very badly in my Google Accounts. I have over 10 Gmail and Google Apps for Domain mail accounts, which I find very difficult to manage. I hope google will also follow Microsoft in enabling integration of multiple Google Accounts.
When two or more of your accounts are linked together, you can switch from account to another by clicking on your Live ID on the top right corner and selecting the new account from the drop down list. Previously you had to logout of your current session and re-login to access the second account. Now you can check your different Live mail accounts without logging in to each account separately.
I used to find it quite annoying when checking my site stats with Google Analytics, since my Analytics account is tied with a Google Account different from my primary email address. On logging in my gmail account, I get logged out from my Analytic account and on logging in to Analytic my gmail inbox also switches. Adsense, Gmail and Orkut allows you to login to multiple accounts at the same time, but not Analytics or Webmaster Tools. Fortunately, after starting this blog, I moved my primary email address to this domain and is powered by Google Apps for Domain. Hence I strongly feel that this new feature is going to be a great time saver for many of the Windows Live account holders.
But there is a small downside to this great new option. If you are not careful with each account, someone may access all your accounts as all your linked accounts are equally important now. Suppose somebody hacks into one of your account (or steals the password from your system), then the person has all your accounts at his disposal. So make sure that each account is secured with a strong password. Also never link your personal accounts with shared or group accounts.
You may visit LiveSide, if you wish to know more about the recent update.
Update: Â Thanks to the wonder idea by Carl Mercier, the script is now available as a WordPress pluging. Please try Local Analytics.
Google Analytics is one of the best web traffic analysis service available. The best thing about Google Analytics is that it is FREE, while most  of the similar services requires a premium membership for such detailed reports. Microsoft announced starting their own Web Analytics service codenamed
Back to our topic. Recently I came across an article in JonLee.ca on speeding Up Google Analytics by hosting urchin.js it locally. Google support says that it is allowed, though not recommended, to host urchin.js locally. Google recommends directly linking to the file hosted on their server, because it will ensure that your users are downloading the latest version of the file.
A work around to this proposed by the above site and many other blogs is to setup a cron job to automatically update the file at regular intervals. But most of the sites does not provide any information on how to do that. Also not all webhosts support crontab. When a gzip enabled browser requests for the file, Google compresses the file before sending theirby reducing the file size from 21KB to 6KB. If your server is not configured to automatically compress all Javascript files, then this can increase the file download time.
Hence I have created a simple php script that will automatically download the script from Google Server at regular intervals and provides your users with latest version of urchin.js. The script also supports Gzip compression by default, though it can be turned off by changing $useGzip to false.
Here is the script:
< ?php
// Remote file to download
$remoteFile = 'http://www.google-analytics.com/urchin.js';
// Local File name. Must be made writable
$localFile = "local-urchin.js";
// Time to cache in hours
$cacheTime = 24;
// Connection time out
$connTimeout = 10;
// Use Gzip compression
$useGzip = true;
if($useGzip){
ob_start('ob_gzhandler');
}
if(file_exists($localFile) && (time() - ($cacheTime * 3600) < filemtime($localFile))){
readfile($localFile);
}else{
$url = parse_url($remoteFile);
$host = $url['host'];
$path = isset($url['path']) ? $url['path'] : '/';
if (isset($url['query'])) {
$path .= '?' . $url['query'];
}
$port = isset($url['port']) ? $url['port'] : '80';
$fp = @fsockopen($host, '80', $errno, $errstr, $connTimeout );
if(!$fp){
// On connection failure return the cached file (if it exist)
if(file_exists($localFile)){
readfile($localFile);
}
}else{
// Send the header information
$header = "GET $path HTTP/1.0\r\n";
$header .= "Host: $host\r\n";
$header .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6\r\n";
$header .= "Accept: */*\r\n";
$header .= "Accept-Language: en-us,en;q=0.5\r\n";
$header .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
$header .= "Keep-Alive: 300\r\n";
$header .= "Connection: keep-alive\r\n";
$header .= "Referer: http://$host\r\n\r\n";
fputs($fp, $header);
$response = '';
// Get the response from the remote server
while($line = fread($fp, 4096)){
$response .= $line;
}
// Close the connection
fclose( $fp );
// Remove the headers
$pos = strpos($response, "\r\n\r\n");
$response = substr($response, $pos + 4);
// Return the processed response
echo $response;
// Save the response to the local file
if(!file_exists($localFile)){
// Try to create the file, if doesn't exist
fopen($localFile, 'w');
}
if(is_writable($localFile)) {
if($fp = fopen($localFile, 'w')){
fwrite($fp, $response);
fclose($fp);
}
}
}
}
?>
 Installing the Script
Installing the script is extremely simple. Save the above code in a php file, say analytics.php or download it from here. Edit your Google Analytics code and change http://www.google-analytics.com/urchin.js to your new file path, say http://www.yourdomain.com/analytics.php.
Now your code will be something like this
Use this code instead of your original Google Analytics code.
After uploading analytics.php to the server, directly access the file using your web browser. This will create a local copy of urchin.js, named local-urchin.js, on your server. Make sure that local-urchin.js is writable (chmod to 777).
Important: If your server is using the zlib compression for compressing javascript files, then turn off gzip compression by changing line no. 11 to :
$useGzip = true;
Advantages of using the script
The Desktop team of the worlds fastest browser, Opera, has announced that the beta version of the latest version, Opera 9.5 (code named Kestrel) will be released on October 25. I am really excited by this announcement. Opera has been my favorite browser ever since I started using it a few years back. I love opera mainly because of its speed and less memory usage. Being a person who always have many tabs open at the same time, I find opera to be using much less resources than other browsers.
I have been using Kestrel for the last one month and I find it better than Opera 9, though still there are many unfixed bugs. Opera is world’s fastest browser and the latest 9.5 release is a complete rewrite of the original code. Hence the performance of Opera has improved unbelievably. You may check the results of some performance tests carried out on the latest versions of the popular browsers.
I will be updating my Opera+Tor+Privoxy bundle TorPlus, once the beta version is released.
You can download Opera 9.5 alpha from Opera.com and latest snapshot of Kestrel from the desktop team’s blog.
After starting this blog, I have read a lot on how to promote your blog and how to increase your traffic. One of the most important tip I have seen on several places was to use a unique and eye catchy design for your blog. I think a unique logo is as important as a unique design. Unfortunately, a unique design and a unique logo can cost you a couple of hundred bucks. Hence I have started working on creating a new theme for this blog. But logo designing is something that is out of my reach.
But today, while visiting The Prize Blog, I got extremely happy to know that they are hosting a “Win a Logo” competition on their site. The Prize Blog, started in December 2006, is one of the top contest related blog in the blogosphere. The winner of the “Win a Logo” contest will receive a custom logo design for their blog from SOS Factory. If you are not lucky enough to win the custom logo, there is another prize of $20 for one runner-up.
The best thing about the contest is that entering the contest is really simple. Just mention the contest on your blog and link to contest page and The Prize Blog homepage. Though I haven’t confirmed this with them, mentioning about the contest below one of your regular post seems to be enough to enter the contest.
So stop thinking and write a post about the contest ASAP. There is less than a week left for entering the contest. The winner will be anounced on October 17th.
Are you an orkut addict? I have been one every since I joined orkut long back. Infact, I am an active member of orkut with a couple of thousand scraps and hundreds of friends. Thanks to orkut I could reconnect with many of my long lost friends.
Every since I joined orkut, there was something about it that I didn’t like - the design. The initial design of the site, before Google took over the site was very bad. A large amount of Javascript code was embedded within the page, that made it slow to load and resource hungry. After its merger with Google Accounts, the site was redesigned. It was much better than the previous design, though there are many who are dissatisfied with the new look. The best thing about the new design was that the embedded Javascript and CSS codes were replaced by linked external files, which reduced made the pages load faster.
A few days back, while going through my previous article “Gmail and Yahoo! Mail Beautifiers“, a question struck me. Are there any similar script for Orkut? Once again GreaseMonkey came to our help. There are several scripts that allows you to change your Orkut theme. I checked two of the scripts with Opera User Scripts, and it worked fine with Opera too. The only downside of this method is that the theme switches only after the complete page load. For IE users, there is nothing you can do other than yell out, “IE Sucks“.
The first script I tested and the one I liked the most was Matrix by Crazysouls.com. The design was really cool, but unfortunately the design was broken at several places (most probably due to some recent updates by Orkut team). Hence, I have tweaked the files a little bit to make it compatible with the latest orkut layout. You can download the updated file from here.
Here is a screenshot of the Matrix Theme.
Keyboard Shortcuts
There is one more userscript that I wish to mention. OrkutShortcuts allows you to visit some of your most frequently visited orkut pages with some simple keyboard shortcuts. The supported shortcuts are
Installation
Inorder to install the script for Firefox, you must download and install the GreaseMonkey extension from the Firefox Addon Repository. After installing the extension and restarting Firefox, clicking on the appropriate download link above will popup an installation window. Click install and reload Orkut and you are done.
For installing the script in Opera, save the script somewhere on your HardDisk, say C:\\Program Files\\Opera\\Profile\\UserJs\\, or anywhere you like. After that go Tools > Preferences > Advanced > Content > Javascript Options in your Opera browser and click the choose button at the bottom of the window and select the directory where you saved the userscript. And reload the window to see your brand new Orkut.
If you are using TorPlus, then the user script path is already configured. Hence all you have to do is save the file in the corresponding directory. If you are using TorOpera, save the file in the directory TorPlus\\Opera\\Profile\\js\\user\\ and if you are using TorKestrel, then save the file in the directory TorPlus\\Kestrel\\Profile\\js\\user\\  and you are done.

Microsoft, one of the largest email service providers with their hotmail and live mail service, has introduced a new initiative called “CoolHotmail.com” to lure Indian internet users to use their hotmail service. The service, powered by their live mail service, presently offers users 193 unique domain names to choose from, in addition to their standard Live Mail features.
Microsoft believes that your email id truly reflects your personality. Hence they have classified the into  5 groups namely Where I live, Who I like, Who am I, What I like and I Don’t fit. Some of the available domain names are MumbaiRocks.in, SalaamDelhi.in, ClubSachin.in, IAmMarried.in, ILoveSoccer.in and so on. You can also request for a particular domain, if it is not already on the list. Ofcourse, it is subject to the availability of the domain and they don’t guarantee that they will offer the domain even if it is available.
Other than for a few people who wish to try out new services, I am not sure how many people will be interested in this service. Most of the people will prefer to stick with their current email address. Also it is very unprofessional to use email addresses like these and to change email address every now and then. If you are really serious with your email address and use it for professional purposes, then I highly recommend you to get your own domain in your name or your company’s name. If you signup for a free Google Apps account with your domain, you and your friends/family/employees get a free 2 GB inbox with all standard Gmail features, Google Calendar, Google Docs and Google Personalized homepage too. Microsoft also provides a similar service named Windows Live Custom Domains. But personally, I think Google Apps is better than Windows Live Custom Domains.
I found this new technique yesterday. Many of you might be knowing this already. But still I thought it is worth to write about it.
So what the heck is Steganography? According to Wikipedia
 ”Steganography is the art and science of writing hidden messages in such a way that no one apart from the intended recipient knows of the existence of the message; this is in contrast to cryptography, where the existence of the message itself is not disguised, but the content is obscured.“
Remember the good old days when you used to write invisible messages on paper using lime juice? Yes, this is the modern version of the same technique.
There are several methods for hiding data within files. One method is to alter the covering image bits and storing the secret file contents within the least significant bits of the covering image. More information on this method can be found on the Wikipedia page on Steganography. This affects the covering image quality (though the changes are usually undetectable).
The second method, which we are dealing with here is appending the contents of the secret file at the end of the JPEG file. In this method, the quality of the original image is not compromised. The simplest method for doing this is using the command copy in Windows and cat in Linux / Mac.
On windows, open the command prompt (Start Menu > Run > cmd) and type
copy /b cover_image.jpg + secret.zip output_file.jpg
On Linux / Mac systems run the following command in your terminal window
cat  cover_image.jpg secret.zip >> output_file.jpg
Where cover_image.jpg is the JPEG file used to cover the secret file
secret.zip is the archive whose content is to be protected
output_file.jpg is the protected file having the contents of secret.zip hidden within cover_image.jpg
If you wish to incorporate extra protection to the hidden file, then don’t forget to password protect the archive before hiding.
Now that you have stored the files, how do you retrieve it? Unfortunately, not all compression and archiving softwares support these archives. Fortunately, WinRAR and 7-Zip, two popular compression utilities supports these files. Depending on your system, the extract option may or may not be available on the Explorer right click context menu of the output image file (It is not shown in my system, while it is being shown in my friend’s system). If it is not shown, then do one of the following
PHP programmers interested in Steganography please check the Stegger library at PHPClasses.
I have a happy news to share today. You might be remembering my third post last month on “How to win and spend $500” over at JohnCowdotCom. Â I was talking over the phone today when my mail client reported a new mail. It was a report from my blog reporting a new pingback from JohnCowdotCom with the title “Announcing 8 (!) Winners“. I checked the post and I became dumbstruck for a few minutes and couldn’t believe that I have actually won the $500.
There are some changes on how I am going to spend the money (I hope Bob wouldn’t mind it
). I have already given the order for my new MacBook. Also I have decided not to change my web host, but go for the next higher plan with my current host.
BTW, there is another good news for all the WordPress users. I am developing a new plugin for making your WordPress blogs mobile friendly. I know there are some other similar plugins available, but I am trying to make the plugin a lot more customizable and search engine friendly. I am presently having some problem with URL rewriting. Once I sort it out, the plugin will be released without much delay.
A final thanks to JohnCow and Micfo for the great prize.