Getting started with Amazon EC2, S3

I have found some good resource about Amazon EC2, S3.

Advertisements

Links for 2008-09-21

  • ProgrammableWeb gets you the latest on what’s new and interesting with mashups, Web 2.0 APIs, and the Web as Platform. It’s a directory, a news source, a reference guide, a community.
  • Really useful flash application to create chart using Google Chart API. It is front-end for Google Chart API. Using it we can create many types of chart supported by Google Chart API without knowing the detail & technical specification of Google Chart API.
  • This article reviews some of the top open-source version control systems and tools that make setting up a version control system easy. This article discuss about CVS, SVN, Mercurial, Bazaar, Monotone, LibreSource, Git.
  • Good resource for Linux.
  • This article will share some best practices and examples for using the popular Javascript framework to create unobtrusive, accessible DOM scripting effects. The article will explore what constitutes best practices with regard to Javascript and, furthermore, why jQuery is a good choice of a framework to implement best practices.
    1. Why jQuery?
    2. Unobtrusive DOM Scripting?
    3. Understanding jQuery for Unobtrusive DOM Scripting
    4. Conclusion
    5. Further Reading

Gmail/Gdata Contacts & Group via Proxy

In last few days I got chance to see Gdata API. This is nice. I tried to retrieve Gmail Contacts via Proxy server in PHP code using Zend Gdata libriary. Actually Zend Gdata libriary do not have Contacts object like it has for other Google service like calendar, Youtube etc… But Google contacts can be accessed via Zend_Gdata classes easily on direct internet connection but It has some problem with Proxy connection. It can be solved by providing proxy connection parameters while creating Zend_Http_Client object like following:

$httpProxy = array(
       'adapter'      => 'Zend_Http_Client_Adapter_Proxy',
       'proxy_host'   => 'my.proxy.com',
       'proxy_port'   => 3128
);
$clientProxy = new Zend_Http_Client('https://raiyaraj.wordpress.com/', $httpProxy); 

//Client authentication
$client = Zend_Gdata_ClientLogin::getHttpClient($email, $passwd, 'cp', $clientProxy, 'My-ContactFetcher-0.1'); //cp for contacts

Above code help to do some client authentication via proxy server. But If we use $client object make request to retrieve feed data then it gives some errors saying ‘Can not connect to tcp://google.com:80’. Now it seems we have already provided http proxy detail to $clientProxy object, why it is giving error. But http proxy detail needs to provide again before making request to retrieve feed data. Code is like following

$client->setConfig($httpProxy);

Above $client object can be used to call following functions.

Google contacts can have group so to retrieve associated group of contact. First we need to retrieve all groups & its ids. Because only id of group is stored with contact. Following is code to retrieve all groups & its ids.

function getAllContactsGroups($client,$mail)
{
       $scope= "http://www.google.com/m8/feeds/groups/".urlencode($mail)."/";
       $gdata = new Zend_Gdata($client); 
       $query = new Zend_Gdata_Query($scope.'full');
       $query->setMaxResults(10);
       $feed = $gdata->retrieveAllEntriesForFeed($gdata->getFeed($query));
       $arrGroups = array();
       foreach ($feed as $entry){
		$arrGroups[$entry->id->text] =  $entry->title->text;
       }
       return $arrGroups;
} 

Following is code to retrieve all contacts. This code also finds its group id, that is retrieved with contact entry. At the end it prints contact name, its email & its group name.

function getAllContacts($client, $email)
{
	$arrContactGroups = getAllContactsGroups($client,$email);
	$gdata = new Zend_Gdata($client);
	$query = new Zend_Gdata_Query('http://www.google.com/m8/feeds/contacts/default/thin');
	$query->setMaxResults(10);
	$feed = $gdata->retrieveAllEntriesForFeed($gdata->getFeed($query));
	$i =1;
	$arrContacts =  array();
	foreach($feed as $entry){ 
	$name = $entry->title->text;
	$parts = $entry->getExtensionElements(); 
	$contactGroup = '';
		foreach($parts as $p){ 
			$element = $p->getDOM(); 
			switch($element->tagName){ 
			case 'email': 
				$email = $element->getAttribute('address'); 
				break; 
			case 'groupMembershipInfo': 
				$contactGroup = $element->getAttribute('href'); 
				break; 
			default: 
				continue;
			} 
		}
	echo $i++.") ".$name."=". $email ."=". $arrContactGroups[$contactGroup]."<br/>" ;	
	}
}

Links for 2008-09-14

Some good links about GData Zend Framework authentication problem

First experience with Google Chrome : Review

I came to know about Google Chrome. Then I checked its comic book. Comic book has convinced to download & try it.

It took few seconds to download & install it. It don’t ask much question to install it. Even it has not asked to set it as default browser. I liked it. It don’t want to create its monopoly from day one.

Title-bar

Chrome is very sleek browser. It has utilized title bar area of window as a tab bar. I see first application which has used title-bar area to other than tab. I don’t know how much people like it but I like it. Chrome has broke very old concept of any application window by replacing tab bar with title-bar. I have seen first good implementation of tab bar in Opera browser (may be in version 5 or 6). Firefox made concept of tab browsing very popular. Now it is adopted by most of all popular browser. Now Chrome has try to tab-bar with new idea. Actually it has tried to utilized space used by title bar & tried to give more area for web page.In  Chrome opening new window & tab is faster & smooth.

Address-bar

Address-bar is good. It suggest good option automatically from history & from search engine (may be i am 100% right about it). It has no separate search bar like Firefox but address-bar will be used to search. It also has option for changing search engine. Chrome highlights domain part of URL. It is a good usability feature. It is available in firefox with some add-on.

Application Shortcut

Another good feature is application shortcut. You can type Gmail URL & select from menu to make it application shortcut. It is good you don see address bar as you don’t need it while accessing such application. But this application opens in separate window. That I don’t like. It should have open in main window without address-bar & it should have saved space in task bar. Same feature is also available with Firefox using Prism.

Crash Management/ Error Handing

Chrome crashes many time during my first few hours of use. But this crash was different from Firefox & IE. I have not lost anything. It just show message of special page saying just reload the page & reload made me happy as I got everything. It also crashed while installing Silverlite from top page of Microsoft. It Also crashed while closing one tab (I don’t remember exact details about it). It has at least crashed 8-10 times while writing this blog. But it is different experience. I simply call it error while rendering page or doing some other operation like installing something. I hate frequent crashing of Chrome but I would give full marks for error handling or crash management. But I feel that error shown by Chrome is bit higher. I hope update of chrome will be make Chrome more stable in few weeks. Till the time I would not like to write WordPress blog using Chrome.

Developer Option

Chrome shows HTML source in separate tab with color highlight. It also have javascript debug feature & javascript console. Javascript console is like firebug in Firefox. I liked it very much. Not because it has features but Chrome team understand the need of developer better at first go.

Javascript Console

Javascript Console

incognito window

Chrome has good & new safety feature called incognito window. This window will keep application/page running this window hidden from other window or tab. It also don’t record it in history. Good feature.

incognito

incognito window

Status bar, Find bar, Task manager, bookmark bar

Nice find bar shown when Ctrl + f pressed. Inteligent status-bar is shown only when you on hyperlink. Progress-bar is missing. Task manager is good concept. It can help to terminate some unwanted or hanged tab or window process. Shows some important information about loaded page. Bookmark bar can show or hide  by just pressing Ctrl + b.

Usability feature: Text Zoom

Text zoom is old feature. Using this only text of page are zoomed. Other than text is not zoomed. So page get lost its actual layout. This feature is in Firefox 2 & IE 6. But IE 7 & Firefox 3 has moved to some advance zoom feature in that all content of page is zoomed including images & content like flash also.  It is something like starching base canvas on that page is drawn.

Missing features

User interface customization is first missing feature in chrome. Nowadays user like to see layout browser as it comes out of box. Everyone wants personalized layout. So feature like themes can make make me happy. Also Layout customization is require to set particular user interface component like button address bar at personalized place. Such features is available with major competitor.

Second missing is add-ons or extension. Add-ons or extension is a way to extend the custom functionality which is not a standard. As lots of add-ons are available for firefox. This add-ons of Firefox made me the real fan of Firefox. This are must features for any extensive browser user.

Final verdict

May be google has planed to introduce missing features gradully in near future. Hope we will see it soon. But I would like to see first more stable version of Chrome. Overall first preview has put good impresion on me. I would like to try feature realease of Chrome before throwning away.

Some other good review links:

  1. http://jeremybuff.wordpress.com/2008/09/03/review-google-chrome-2/
  2. http://ostatic.com/172340-blog/hands-on-with-chrome-clean-and-crisp-but-needs-extensions
  3. http://www.usefulconcept.com/index.cfm/2008/9/2/Google-Chrome-Review
  4. http://ptech.allthingsd.com/20080902/first-test-of-googles-new-browser/