<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>vijayjoshi.org &#187; Technology</title>
	<atom:link href="http://www.vijayjoshi.org/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.vijayjoshi.org</link>
	<description>php &#124; javascript &#124; ajax &#124; and all things web</description>
	<lastBuildDate>Sun, 20 Nov 2011 15:24:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>PHP: Get intersecting dates between 2 date ranges</title>
		<link>http://www.vijayjoshi.org/2011/09/07/php-get-intersecting-dates-between-2-date-ranges/</link>
		<comments>http://www.vijayjoshi.org/2011/09/07/php-get-intersecting-dates-between-2-date-ranges/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 20:38:51 +0000</pubDate>
		<dc:creator>Vijay Joshi</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.vijayjoshi.org/?p=1212</guid>
		<description><![CDATA[
			
				
			
		
Here is a small code snippet that will give you intersecting dates between 2 date ranges. Say, for example, you have 2 date ranges, 1-Jan-2011 to 31-Mar-2011 and 23-Feb-2011 to 4-May-2011.  This function will give you 23-Feb-2011 to 31-Mar-2011 as result.
Here is the code:
$a1  = "2011-01-01";
$a2  = "2011-03-31";
$b1  = "2011-02-23";
$b2  = "2011-05-04";

$intersection = getIntersection($a1,$a2,$b1,$b2);
if($intersection === false)
{
	echo ...]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2011%2F09%2F07%2Fphp-get-intersecting-dates-between-2-date-ranges%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2011%2F09%2F07%2Fphp-get-intersecting-dates-between-2-date-ranges%2F&amp;source=v08i&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Here is a small code snippet that will give you intersecting dates between 2 date ranges. Say, for example, you have 2 date ranges, 1-Jan-2011 to 31-Mar-2011 and 23-Feb-2011 to 4-May-2011.  This function will give you 23-Feb-2011 to 31-Mar-2011 as result.</p>
<p>Here is the code:</p>
<pre class="brush:php">$a1  = "2011-01-01";
$a2  = "2011-03-31";
$b1  = "2011-02-23";
$b2  = "2011-05-04";

$intersection = getIntersection($a1,$a2,$b1,$b2);
if($intersection === false)
{
	echo 'No intersecting dates found';
}
else
{
	echo 'From '.date('d-M-Y', $intersection['start']).' till '.date('d-M-Y', $intersection['end']);
}

function getIntersection($a1,$a2,$b1,$b2)
{
	$a1 = strtotime($a1);
	$a2 = strtotime($a2);
	$b1 = strtotime($b1);
	$b2 = strtotime($b2);
	if($b1 &gt; $a2 || $a1 &gt; $b2 || $a2 &lt; $a1 || $b2 &lt; $b1)
	{
		return false;
	}
	$start = $a1 &lt; $b1 ? $b1 : $a1;
	$end = $a2 &lt; $b2 ? $a2 : $b2;

	return array('start' =&gt; $start, 'end' =&gt; $end);
}</pre>
<p>Above will show the following on browser :</p>
<pre class="brush:plain">From 23-Feb-2011 till 31-Mar-2011</pre>
<p>If the 2 date ranges have any intersecting dates, an array will be returned which will have <em>start </em>and <em>end </em>elements that represent the beginning and end of intersecting range.  Set of dates given below will return <em>false </em>as there are no intersecting dates.</p>
<pre class="brush:php">$a1  = "2011-01-01";
$a2  = "2011-03-31";
$b1  = "2011-04-23";
$b2  = "2011-05-04";

$intersection = getIntersection($a1,$a2,$b1,$b2);</pre>
<p>This will show</p>
<pre class="brush:plain">No intersecting dates found</pre>
<p>The code is self-explanatory. As you can see, first we have used php function <em>strtotime </em>to convert all dates to timestamps. Then we can compare them easily. This way you can use whatever(allowed) date format you wish.</p>
<div class="shr-publisher-1212"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.vijayjoshi.org%2F2011%2F09%2F07%2Fphp-get-intersecting-dates-between-2-date-ranges%2F' data-shr_title='PHP%3A+Get+intersecting+dates+between+2+date+ranges'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://www.vijayjoshi.org/2011/09/07/php-get-intersecting-dates-between-2-date-ranges/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book Review: Mastering phpMyAdmin 3.3.x for Effective MySQL Management</title>
		<link>http://www.vijayjoshi.org/2011/02/10/book-review-mastering-phpmyadmin-3-3-x-for-effective-mysql-management/</link>
		<comments>http://www.vijayjoshi.org/2011/02/10/book-review-mastering-phpmyadmin-3-3-x-for-effective-mysql-management/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 05:46:15 +0000</pubDate>
		<dc:creator>Vijay Joshi</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.vijayjoshi.org/?p=1200</guid>
		<description><![CDATA[
			
				
			
		
Recently I was contacted by Richard from Packt Publication to review their new book &#8220;Mastering phpMyAdmin 3.3.x for Effective MySQL Management&#8220;. Being a PHP-MySQL developer and an avid reader of technical books myself, I instantly agreed.
It took me a bit longer to read it then I had expected. At first, I had decided to just skim through the important chapters ...]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2011%2F02%2F10%2Fbook-review-mastering-phpmyadmin-3-3-x-for-effective-mysql-management%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2011%2F02%2F10%2Fbook-review-mastering-phpmyadmin-3-3-x-for-effective-mysql-management%2F&amp;source=v08i&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Recently I was contacted by Richard from Packt Publication to review their new book &#8220;<strong><a title="phpMyAdmin Book" href="http://link.packtpub.com/K5JQ8I" target="_blank">Mastering phpMyAdmin 3.3.x for Effective MySQL Management</a></strong>&#8220;. Being a PHP-MySQL developer and an avid reader of technical books myself, I instantly agreed.</p>
<p>It took me a bit longer to read it then I had expected. At first, I had decided to just skim through the important chapters but it was interesting enough to change my decision. I then read all chapters one by one and realized that despite using phpMyAdmin on a daily basis, there is so much more to it that we developers are unaware of.</p>
<p>The author of this book is <strong>Marc Delisle</strong>, who is contributing to this project for more then 12 years. The book contains 19 chapters and 2 appendices. In my opinion the book can be divided broadly into 5 parts.</p>
<p style="text-align: center;"><a href="http://link.packtpub.com/K5JQ8I" target="_blank"><img class="aligncenter" title="Mastering phpMyAdmin 3.3x for Effective MySQL Management" src="https://www.packtpub.com/sites/default/files/3548OS_MockupCover.jpg" alt="" width="315" height="389" /></a></p>
<p><strong>Chapter 1 to Chapter 3</strong><br />
I will say these warm up chapters as they cover installation, configuration and overview of phpMyAdmin interface in detail. Experienced users may skip these but beginners should go through each one of them.</p>
<p><span id="more-1200"></span></p>
<p><strong>Chapter 4 to Chapter 7</strong><br />
These 4 chapters explain through data management i.e. creating database and table structures and import/export of data.</p>
<p><strong>Chapter 8 to Chapter 12</strong><br />
You will find all information on querying tables(including multiple table queries), table and database operations, creating relations and keys etc. I liked these chapters the most.</p>
<p><strong>Chapter 13 to Chapter 15</strong><br />
These chapters cover data synchronization, bookmarking and generation of printable reports and schemas from phpMyAdmin. Very useful chapters indeed, in case you want to synchronize data between 2 servers or you want the schemas printed or available in pdf format.</p>
<p><strong>Chapter 16 to Chapter 19</strong><br />
Chapters for advanced and experienced users, these explain data transformation, creating views, stored procedures, executing triggers etc. Chapter 18 is specifically for versioning and tracking database changes. Final chapter is all about administering the MySQL server with phpMyAdmin. All of these chapters are extremely useful.</p>
<p><strong>Conclusion</strong></p>
<p>Each chapter is explained in a detailed manner which sometimes seems too much, but thats my perspective, someone who has been using phpMyAdmin for more then 5-6 years now. Beginner and intermediate users will find those details useful and easy to understand.</p>
<p>Overall, I liked the book and learned about few things I did not know even existed. I will definitely recommend it. For new users of phpMyAdmin, it starts from beginner level and explains each task by breaking it down in steps. More advanced users may skip initial 5-6 chapters but later chapters will be definitely helpful for them.</p>
<p>You can see more details on this book at Packt&#8217;s website at <a title="phpMyAdmin Book" href="http://link.packtpub.com/K5JQ8I">this link</a> and buy at either Packt website or amazon.</p>
<div class="shr-publisher-1200"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.vijayjoshi.org%2F2011%2F02%2F10%2Fbook-review-mastering-phpmyadmin-3-3-x-for-effective-mysql-management%2F' data-shr_title='Book+Review%3A+Mastering+phpMyAdmin+3.3.x+for+Effective+MySQL+Management'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://www.vijayjoshi.org/2011/02/10/book-review-mastering-phpmyadmin-3-3-x-for-effective-mysql-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A web developers rants for new year</title>
		<link>http://www.vijayjoshi.org/2011/01/04/a-web-developers-rants-for-new-year/</link>
		<comments>http://www.vijayjoshi.org/2011/01/04/a-web-developers-rants-for-new-year/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 07:31:39 +0000</pubDate>
		<dc:creator>Vijay Joshi</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.vijayjoshi.org/?p=1004</guid>
		<description><![CDATA[
			
				
			
		
Image Courtesy: Desizn Tech
2011 has begun and everyone on the web is either busy in making predictions for the web or taking resolutions for another year. This post reflects on plans that I have for this year. Personally, I don&#8217;t believe in resolutions that much. Adding to this fact that I am extremely lazy. So, absolutely no f****g guarentee for ...]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2011%2F01%2F04%2Fa-web-developers-rants-for-new-year%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2011%2F01%2F04%2Fa-web-developers-rants-for-new-year%2F&amp;source=v08i&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="aligncenter size-full wp-image-1008" title="2011" src="http://www.vijayjoshi.org/wp-content/uploads/2011.png" alt="2011" />Image Courtesy: <a href="http://desizntech.info/">Desizn Tech</a></p>
<p>2011 has begun and everyone on the web is either busy in making predictions for the web or taking resolutions for another year. This post reflects on plans that I have for this year. Personally, I don&#8217;t believe in resolutions that much. Adding to this fact that I am extremely lazy. So, absolutely no f****g guarentee for any of these to be complete. But it is always good to know where you are heading to. Here is what I plan to learn/achieve this year.</p>
<h3>Write another book</h3>
<p>Last year I got a chance to write a book on 2 of my favorite technologies : PHP and jQuery. The result was <a title="PHP jQuery Cookbook" href="http://goo.gl/WlFX">PHP jQuery Cookbook</a>. Writing a book is an interesting and a great learning experience. You must know every word that you are writing because you cannot rollback once the words are out in print. Nevertheless, I would like to write one more book this year. Probably on Google APIs or various other APIs like facebook, twitter etc.</p>
<h3>Read more blogs</h3>
<p>I am an avid reader of web development blogs. <a title="Google Reader" href="www.google.com/reader">Google reader</a> and bookmarks toolbar are a great help. This year I will add more and more feeds so that I do not skip anything.</p>
<h3>jQuery Mobile</h3>
<p>Accept it. jQuery is a revolution. There are many great libraries like MooTools, PrototypeJS etc but jQuery is far ahead of them all. It has changed the way we write javascript. jQuery Mobile is another cross platform mobile framework for smartphones and tablets. With mobile apps increasing at a rapid rate, jQuery mobile is the coolest tool to learn.</p>
<p><span id="more-1004"></span></p>
<h3>Facebook Apps</h3>
<p>I have tried several other APIs(twitter, Flickr, Reddit, Youtube etc) in the past but have never created a Facebook app. It has become hard to ignore facebook. So, you will see at least couple of cool facebook apps from me this year.</p>
<h3>The Kohana Framework</h3>
<p>Kohana is another PHP MVC framework and it looks really promising. I have worked in past with <a title="Symfony Project" href="http://www.symfony-project.org/">Symfony </a>and <a title="Code Igniter" href="http://codeigniter.com/">CodeIgniter</a>. This year I plan to give Kohana a try.</p>
<h3>Miscellaneous</h3>
<ul>
<li>HTML5</li>
<li>CSS3</li>
<li>CoffeeScript</li>
<li>Probably YQL</li>
</ul>
<p>This list is not complete and is just a dump of whatever came to my mind. I believe we will see many more interesting technologies in this year and some of them will leave a mark and will stay with us forever.</p>
<p>Thanks for reading and have a great year ahead.</p>
<div class="shr-publisher-1004"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.vijayjoshi.org%2F2011%2F01%2F04%2Fa-web-developers-rants-for-new-year%2F' data-shr_title='A+web+developers+rants+for+new+year'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://www.vijayjoshi.org/2011/01/04/a-web-developers-rants-for-new-year/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>8 blogs you must read if you are a web developer</title>
		<link>http://www.vijayjoshi.org/2010/12/19/8-blogs-you-must-read-if-you-are-a-web-developer/</link>
		<comments>http://www.vijayjoshi.org/2010/12/19/8-blogs-you-must-read-if-you-are-a-web-developer/#comments</comments>
		<pubDate>Sat, 18 Dec 2010 20:55:15 +0000</pubDate>
		<dc:creator>Vijay Joshi</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.vijayjoshi.org/?p=782</guid>
		<description><![CDATA[
			
				
			
		
Ajaxian
Ajaxian covers all news related to javascript, libraries, AJAX related news, technologies, libraries, browsers quirks etc.
Why?
Definitive resource for AJAX whether you use it with PHP, Perl, NET(argh!) or whatever else. This blog should not be missed.
A List Apart
This is a classic one. The creators of this web magazine call it &#8220;For people who make websites&#8221;.
A List Apart Magazine explores the ...]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F12%2F19%2F8-blogs-you-must-read-if-you-are-a-web-developer%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F12%2F19%2F8-blogs-you-must-read-if-you-are-a-web-developer%2F&amp;source=v08i&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<h2><a title="Ajaxian" href="http://ajaxian.com/">Ajaxian</a></h2>
<p><a href="http://ajaxian.com/"><img class="size-full wp-image-773 alignleft" title="Ajaxian" src="http://www.vijayjoshi.org/wp-content/uploads/1-ajaxian.gif" alt="Ajaxian" width="173" height="120" /></a>Ajaxian covers all news related to javascript, libraries, AJAX related news, technologies, libraries, browsers quirks etc.</p>
<p><strong>Why?</strong></p>
<p>Definitive resource for AJAX whether you use it with PHP, Perl, NET(argh!) or whatever else. This blog should not be missed.</p>
<h2><a title="A List Apart" href="http://www.alistapart.com/">A List Apart</a></h2>
<p>This is a classic one. <a href="http://www.alistapart.com/"><img class="size-full wp-image-774 alignright" style="display: block;" title="A List Apart" src="http://www.vijayjoshi.org/wp-content/uploads/2-alistapart.gif" alt="2-alistapart" width="142" height="182" /></a>The creators of this web magazine call it &#8220;For people who make websites&#8221;.</p>
<blockquote><p>A List Apart Magazine explores the design, development, and meaning of web content, with a special focus on web standards and best practices.</p></blockquote>
<p><strong>Why?</strong></p>
<p>If you want to know all about building websites including design, code, writing compelling content and project management, this is the place.</p>
<h2><a title="Cats Who Code" href="http://www.catswhocode.com/blog/">Cats Who Code</a></h2>
<p><a href="http://www.catswhocode.com/blog/"><img class="size-full wp-image-794 alignleft" title="Cats Who Code" src="http://www.vijayjoshi.org/wp-content/uploads/3-catswhocode.png" alt="Cats Who Code" width="307" height="127" /></a>Cats Who Code is a blog by Jean-Baptiste Jung who is a web developer and professional blogger.</p>
<p><strong>Why?</strong></p>
<p>For lots of helpful code snippets, lists and hacks on PHP, jQuery and definitive information on a variety of wordpress topics.</p>
<h2><a title="CSS-Tricks" href="http://css-tricks.com/">CSS-Tricks</a></h2>
<p><a href="http://css-tricks.com/"><img class="size-full wp-image-795 alignright" title="CSS-Tricks" src="http://www.vijayjoshi.org/wp-content/uploads/4-csstricks.png" alt="4-csstricks" width="265" height="135" /></a>CSS-Tricks is a website by renowned design ninja Chris Coyer where he shares his CSS secrets.</p>
<p><strong>Why?</strong></p>
<p>For detailed articles on how css works, browser hacks, cross browser compatibility and HTML 5.</p>
<h2><a title="Nettuts+" href="http://net.tutsplus.com/">Nettuts+</a></h2>
<p><a href="http://net.tutsplus.com/"><img class="size-full wp-image-796 alignleft" title="Nettuts" src="http://www.vijayjoshi.org/wp-content/uploads/5-nettuts.png" alt="5-nettuts" width="220" height="120" /></a>A part of Tuts+ Network, this site contains tutorials and screencasts on HTML, CSS, Javascript/jQuery, PHP, Ruby on Rails etc.Though most of the articles are free, it also publishes premium tutorials which are available for a small fee.</p>
<p><strong>Why?</strong><br />
High quality articles that explain each topic step by step in detail and are very easy to follow even for a beginner.</p>
<p><span id="more-782"></span></p>
<h2><a title="PHPDeveloper" href="http://www.phpdeveloper.org/">PHPDeveloper</a><a href="http://www.phpdeveloper.org/"><img class="alignright size-full wp-image-797" title="PHPDeveloper" src="http://www.vijayjoshi.org/wp-content/uploads/6-phpdeveloper.png" alt="6-phpdeveloper" width="263" height="143" /></a></h2>
<p>This site has been around for a long time and is a trustworthy source for news that is all PHP. Besides news, it also updates users about php conferences, jobs and new web technologies regularly.</p>
<p><strong>Why?</strong></p>
<p>All awesome news of PHP at on place.</p>
<h2><a title="Six Revisions" href="http://sixrevisions.com/">Six Revisions</a></h2>
<p><a href="http://sixrevisions.com/"><img class="alignleft size-full wp-image-798" title="Six Revisions" src="http://www.vijayjoshi.org/wp-content/uploads/7-sixrevisions.png" alt="7-sixrevisions" width="294" height="61" /></a>Despite the fact that this site is only 3 years old, it already has made a reputed name in community. It was founded by Jacob Gube who himself is a designer/developer, this blog now publishes web design related articles of authors from all over the world.</p>
<p><strong>Why?</strong></p>
<p>For high quality resources and articles on web design and development, web standards.</p>
<h2><a title="Smashing Magazine" href="http://www.smashingmagazine.com/">Smashing Magazine</a><a href="http://www.smashingmagazine.com/"><img class="alignright size-full wp-image-780" title="Smashing Magazine" src="http://www.vijayjoshi.org/wp-content/uploads/8-SmashingMagazine.jpg" alt="8-SmashingMagazine" width="227" height="194" /></a></h2>
<p>Founded by German designers Sven Lennartz &amp; Vitaly Friedman, for the past 4 years smashing magazine has been publishing high quality articles on web design. SM has also created what it calls &#8220;Smashing Network&#8221;. Smashing network is a channel of 30+ web development/design blogs.</p>
<p><strong>Why?</strong></p>
<p>Insightful and innovative articles focused primarily on web design. Very high quality content and free goodies like wallpapers, themes and wordpress themes.</p>
<h2>Bonus</h2>
<p>Every year in December many sites create an advent calendar that publishes 1 article per day starting from 1st of December till Christmas. Below are 2 of my favorites.</p>
<p><strong>24 ways &#8211; <a href="http://24ways.org/">http://24ways.org/</a></strong></p>
<p>24 ways started out in 2005. Here is the excerpt from the site itself.</p>
<blockquote><p><strong>24 ways</strong> is the advent calendar for web geeks. Each day throughout December we publish a daily dose of web design and development goodness to bring you all a little Christmas cheer.</p></blockquote>
<p><strong>PHP Advent</strong> &#8211; <a title="PHP Advent" href="http://phpadvent.org/">http://phpadvent.org/</a></p>
<p>Curated by Chris Shiflett &amp; Sean Coates, PHP advent started in 2008. Since then, it has been publishing articles on PHP and related technologies each year till Christmas in the month of December.</p>
<p>All article are written by well known developers and experts.</p>
<div class="shr-publisher-782"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F12%2F19%2F8-blogs-you-must-read-if-you-are-a-web-developer%2F' data-shr_title='8+blogs+you+must+read+if+you+are+a+web+developer'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://www.vijayjoshi.org/2010/12/19/8-blogs-you-must-read-if-you-are-a-web-developer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Theme Changed</title>
		<link>http://www.vijayjoshi.org/2010/12/03/theme-changed/</link>
		<comments>http://www.vijayjoshi.org/2010/12/03/theme-changed/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 08:55:24 +0000</pubDate>
		<dc:creator>Vijay Joshi</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.vijayjoshi.org/?p=696</guid>
		<description><![CDATA[
			
				
			
		
Don&#8217;t get surprised. It is the same blog but with a changed theme.
I got bored with the last theme so decided to changed it with a new one. The new theme is UpSide &#8211; a free theme. I found it very neat and clean and very customizable.
Enjoy!
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F12%2F03%2Ftheme-changed%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F12%2F03%2Ftheme-changed%2F&amp;source=v08i&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Don&#8217;t get surprised. It is the same blog but with a changed theme.</p>
<p>I got bored with the last theme so decided to changed it with a new one. The new theme is UpSide &#8211; a free theme. I found it very neat and clean and very customizable.</p>
<p>Enjoy!</p>
<div class="shr-publisher-696"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F12%2F03%2Ftheme-changed%2F' data-shr_title='Theme+Changed'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://www.vijayjoshi.org/2010/12/03/theme-changed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Guys, I am writing a book</title>
		<link>http://www.vijayjoshi.org/2010/11/22/guys-i-am-writing-a-book/</link>
		<comments>http://www.vijayjoshi.org/2010/11/22/guys-i-am-writing-a-book/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 11:25:08 +0000</pubDate>
		<dc:creator>Vijay Joshi</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.vijayjoshi.org/?p=671</guid>
		<description><![CDATA[
			
				
			
		

Yes that&#8217;s right and it is called PHP jQuery Cookbook.  As the name suggests, it&#8217;s about creating rich internet applications using 2 of my favorite technologies &#8211; PHP and jQuery.
I love coding web apps and helping others find solutions. Perhaps that is the reason I agreed to write when the wonderful people at Packt Publishing contacted me. (Also, a book ...]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F11%2F22%2Fguys-i-am-writing-a-book%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F11%2F22%2Fguys-i-am-writing-a-book%2F&amp;source=v08i&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-630" title="PHP jQuery Cookbook" src="http://www.vijayjoshi.org/wp-content/uploads/2749OS_MockupCover_Cookbook_0.jpg" alt="PHP jQuery Cookbook" width="320" height="395" /></p>
<p>Yes that&#8217;s right and it is called <strong><a title="PHP jQuery Cookbook" href="https://www.packtpub.com/php-jquery-cookbook-to-create-interactive-web-applications/book">PHP jQuery Cookbook</a></strong>.  As the name suggests, it&#8217;s about creating rich internet applications using 2 of my favorite technologies &#8211; PHP and jQuery.</p>
<p>I love coding web apps and helping others find solutions. Perhaps that is the reason I agreed to write when the wonderful people at <a title="Packt Publishing" href="http://www.packtpub.com/">Packt Publishing</a> contacted me. (Also, a book on resume isn&#8217;t that bad either <img src='http://www.vijayjoshi.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</p>
<p>Another reason is I love Open source. It is a lovely philosophy and I am a strong believer in it. Having learnt so much from the Open source community since I started coding, I have always wanted to return something back. Nothing could have been better then this. And did I mention, Packt pays <a title="Packt Open Source Royalties" href="http://authors.packtpub.com/content/open-source-royalties">direct royalty to a project</a> if they sell a book written on the same.</p>
<p><strong><span id="more-671"></span></strong></p>
<p>Long story short, the book is cookbook with around 65 recipes covering PHP, jQuery, MySql and some API&#8217;s (Flickr, Youtube).</p>
<p>Structure wise, it has 10 chapters in all.</p>
<ul>
<li>Handling Events</li>
<li>Combining PHP and jQuery</li>
<li>Working with XML documents</li>
<li>Working with JSON</li>
<li>Working with Forms</li>
<li>Adding Visual effects to forms</li>
<li>Creating cool Navigation Menus</li>
<li>Data binding with PHP and jQuery</li>
<li>Enhancing your site with PHP and jQuery</li>
<li>Appendix &#8211; FireBug</li>
</ul>
<p>The book is available now <span style="text-decoration: line-through;">will be available by 14th December</span> <del datetime="2010-12-01T06:28:41+00:00">Christmas this year or January next year</del>. You can have a look in detail about what it is all about on Packt Website. Order a copy in case you find it interesting <img src='http://www.vijayjoshi.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="shr-publisher-671"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F11%2F22%2Fguys-i-am-writing-a-book%2F' data-shr_title='Guys%2C+I+am+writing+a+book'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://www.vijayjoshi.org/2010/11/22/guys-i-am-writing-a-book/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Goggle&#8217;s new book on browsers and web &#8211; 20 things I learned</title>
		<link>http://www.vijayjoshi.org/2010/11/19/goggles-new-book-on-browsers-and-web-20-things-i-learned/</link>
		<comments>http://www.vijayjoshi.org/2010/11/19/goggles-new-book-on-browsers-and-web-20-things-i-learned/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 07:35:16 +0000</pubDate>
		<dc:creator>Vijay Joshi</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.vijayjoshi.org/?p=632</guid>
		<description><![CDATA[
			
				
			
		

Google has created a new interactive book called &#8220;20 things I learned about browsers and the web&#8220;. It has 20 small chapters each answering a topic related to web like browsers, html, privacy, security etc.
This book itself has been created in HTML 5 and has both mouse and keyboard navigation enabled. Moreover, after it loads once, you can read it ...]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F11%2F19%2Fgoggles-new-book-on-browsers-and-web-20-things-i-learned%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F11%2F19%2Fgoggles-new-book-on-browsers-and-web-20-things-i-learned%2F&amp;source=v08i&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-631" style="border: 0pt none;" title="20 Things I Learned" src="http://www.vijayjoshi.org/wp-content/uploads/20-Things-I-Learned.png" alt="20 Things I Learned" width="559" height="377" /></p>
<p>Google has created a new interactive book called &#8220;<strong><a title="20 Things I learned" href="http://www.20thingsilearned.com/">20 things I learned about browsers and the web</a></strong>&#8220;. It has 20 small chapters each answering a topic related to web like browsers, html, privacy, security etc.</p>
<p>This book itself has been created in HTML 5 and has both mouse and keyboard navigation enabled. Moreover, after it loads once, you can read it offline.</p>
<p>Written by the chrome team and with beautiful illustrations by <a href="http://christophniemann.com">Christoph Niemann</a>,this book is a delight to read. Its language is very simple and catchy and users without any technical background can also read it without worrying about technical jargons.</p>
<p>You can read the book at <a title="20 Things I learned" href="http://www.20thingsilearned.com/">http://www.20thingsilearned.com/</a>. For the lazy below are direct links for chapters.</p>
<p><a href="http://www.20thingsilearned.com/what-is-the-internet/1">Internet</a><br />
<a title="Cloud Computing" href="http://www.20thingsilearned.com/cloud-computing/1">Cloud Computing</a><br />
<a title="Web Apps" href="http://www.20thingsilearned.com/web-apps/1">Web Apps</a><br />
<a href="http://www.20thingsilearned.com/html/1">HTML, JS, CSS and more</a><br />
<a title="HTML5" href="http://www.20thingsilearned.com/html5/1">HTML5</a><br />
<a href="http://www.20thingsilearned.com/threed/1">3d in a Browser</a><br />
<a href="http://www.20thingsilearned.com/old-vs-new-browsers/1">A browser madrigal or old vs modern browsers </a><br />
<a href="http://www.20thingsilearned.com/plugins/1">Plug-ins</a><br />
<a href="http://www.20thingsilearned.com/browser-extensions/1">Browser Extensions</a><br />
<a href="http://www.20thingsilearned.com/sync/1">Synchronizing the Browser</a><br />
<a href="http://www.20thingsilearned.com/browser-cookies/1">Cookies</a><br />
<a href="http://www.20thingsilearned.com/browser-privacy/1">Browsers and Privacy</a><br />
<a href="http://www.20thingsilearned.com/malware/1">Malware, Phishing and Security Risks</a><br />
<a href="http://www.20thingsilearned.com/browser-protection/1">How modern browsers protect you from malware and phishing</a><br />
<a href="http://www.20thingsilearned.com/url/1">Using web addresses to stay safe</a><br />
<a href="http://www.20thingsilearned.com/dns/1">IP addresses and DNS</a><br />
<a href="http://www.20thingsilearned.com/identity/1">Validating identities online</a><br />
<a href="http://www.20thingsilearned.com/page-load/1">Evolving to a faster web</a><br />
<a title="Open Source" href="http://www.20thingsilearned.com/open-source/1">Open Source and browsers</a><br />
<a href="http://www.20thingsilearned.com/conclusion/1">Conclusion: 19 things later</a></p>
<div class="shr-publisher-632"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F11%2F19%2Fgoggles-new-book-on-browsers-and-web-20-things-i-learned%2F' data-shr_title='Goggle%27s+new+book+on+browsers+and+web+-+20+things+I+learned'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://www.vijayjoshi.org/2010/11/19/goggles-new-book-on-browsers-and-web-20-things-i-learned/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>19 Things NOT To Do When Building a Website</title>
		<link>http://www.vijayjoshi.org/2010/08/09/19-things-not-to-do-when-building-a-website/</link>
		<comments>http://www.vijayjoshi.org/2010/08/09/19-things-not-to-do-when-building-a-website/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 11:33:19 +0000</pubDate>
		<dc:creator>Vijay Joshi</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.vijayjoshi.org/?p=570</guid>
		<description><![CDATA[
			
				
			
		
Here is a very useful post I found today. 19 mistakes to avoid while designing websites. Although, I am no expert on designing but I have found myself making some of these mistakes then and now.
Some of my favorites from the list are:

If your website does not work in Firefox, welcome to 2007 DUMBASS.


If your site needs a search engine ...]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F08%2F09%2F19-things-not-to-do-when-building-a-website%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F08%2F09%2F19-things-not-to-do-when-building-a-website%2F&amp;source=v08i&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Here is a very useful post I found today. 19 mistakes to avoid while designing websites. Although, I am no expert on designing but I have found myself making some of these mistakes then and now.</p>
<p>Some of my favorites from the list are:</p>
<ul>
<li><strong>If your website does not work in Firefox, welcome to 2007 DUMBASS.</strong></li>
</ul>
<ul>
<li><strong>If your site needs a search engine for users to find information, it’s time to start over and fire the guy who came up with the site map (and those slick drop downs on your nav)</strong></li>
</ul>
<p>and most important (for me at least)</p>
<ul>
<li><strong>Just because a technology is new, or you just discovered it does not make it suitable to put on a business website, JUST BECAUSE you can.</strong> &#8211; Absolutely right &#8211; I did this with AJAX.</li>
</ul>
<p><a title="19 things not to do while designing websites" href="http://www.josiahcole.com/2007/02/14/a-webmasters-19-commandments/" target="_blank"><strong>Do read the full post on Josiah Cole&#8217;s blog.</strong></a></p>
<div class="shr-publisher-570"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F08%2F09%2F19-things-not-to-do-when-building-a-website%2F' data-shr_title='19+Things+NOT+To+Do+When+Building+a+Website'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://www.vijayjoshi.org/2010/08/09/19-things-not-to-do-when-building-a-website/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>5 must have firefox addons for every web developer</title>
		<link>http://www.vijayjoshi.org/2010/01/21/5-must-have-firefox-addons-for-every-web-developer/</link>
		<comments>http://www.vijayjoshi.org/2010/01/21/5-must-have-firefox-addons-for-every-web-developer/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 05:24:58 +0000</pubDate>
		<dc:creator>Vijay Joshi</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://www.vijayjoshi.org/?p=509</guid>
		<description><![CDATA[
			
				
			
		
Being a web developer there are some tools which I need and use on daily basis. Here are 5 such addons I think every web developer should install on their firefox.
1- Web developer toolbar

Home: http://chrispederick.com/work/web-developer/
Install: https://addons.mozilla.org/en-US/firefox/addon/60


 


This addon adds a toolbar and a menu to firefox. The toolbar contains several mini tools in it to perform various tasks. It has ...]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F01%2F21%2F5-must-have-firefox-addons-for-every-web-developer%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F01%2F21%2F5-must-have-firefox-addons-for-every-web-developer%2F&amp;source=v08i&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p class="mceTemp mceIEcenter" style="text-align: left;">Being a web developer there are some tools which I need and use on daily basis. Here are 5 such addons I think every web developer should install on their firefox.</p>
<h3 class="mceTemp mceIEcenter" style="text-align: left;">1- Web developer toolbar</h3>
<p class="mceTemp mceIEcenter" style="text-align: left;">
<p class="mceTemp mceIEcenter" style="text-align: left;"><strong>Home: </strong><a href="http://chrispederick.com/work/web-developer/" target="_self">http://chrispederick.com/work/web-developer/</a></p>
<p class="mceTemp mceIEcenter" style="text-align: left;"><strong>Install: </strong><a href="https://addons.mozilla.org/en-US/firefox/addon/60" target="_self">https://addons.mozilla.org/en-US/firefox/addon/60</a></p>
<p><img class="size-full wp-image-505 " style="border: 1px solid black;" title="web-developer" src="http://www.vijayjoshi.org/wp-content/uploads/web-developer.png" alt="Web Developer Toolbar" width="545" height="381" /></p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_505" class="wp-caption aligncenter" style="width: 555px;"> </dl>
</div>
<p style="text-align: left;">
<p style="text-align: left;">This addon adds a toolbar and a menu to firefox. The toolbar contains several mini tools in it to perform various tasks. It has 11 built in menus for different tasks like cookies, css, forms, html, images and many others. You can read a review of web developer toolbar <a href="http://tips.webdesign10.com/web-developer-toolbar.htm" target="_self">here</a>.</p>
<p style="text-align: left;">
<p style="text-align: left;">
<h3 style="text-align: left;">2- JSONView<strong> </strong></h3>
<p style="text-align: left;">
<p style="text-align: left;"><strong>Home: </strong><a href="http://benhollis.net/blog/2009/02/24/jsonview-view-json-documents-in-firefox/" target="_self">http://benhollis.net/blog/2009/02/24/jsonview-view-json-documents-in-firefox/</a></p>
<p><strong>Install: </strong><a href="https://addons.mozilla.org/en-US/firefox/addon/10869" target="_self">https://addons.mozilla.org/en-US/firefox/addon/10869</a></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-508" style="border: 1px solid black;" title="jsonview" src="http://www.vijayjoshi.org/wp-content/uploads/jsonview.png" alt="" width="315" height="375" /></p>
<p style="text-align: left;">JSON is becoming more popular day by day as a data exchange format. JSONView allows you to view json documents in the browser itself without having to open in any text editor and format it. Local files can also be seen if they have .json extension. It formats the document nicely and also provides options to collapse/expand nodes too (just like XML).<br />
In case of invalid json it reports an error.</p>
<p style="text-align: left;">
<p style="text-align: left;">
<h3>3- Fireftp</h3>
<p style="text-align: left;">
<p style="text-align: left;"><strong> Home: </strong><a href="http://fireftp.mozdev.org/" target="_self">http://fireftp.mozdev.org/</a></p>
<p style="text-align: left;"><strong> Install: </strong><a href="https://addons.mozilla.org/en-US/firefox/addon/684" target="_self">https://addons.mozilla.org/en-US/firefox/addon/684</a></p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-507" title="fireftp" src="http://www.vijayjoshi.org/wp-content/uploads/fireftp.png" alt="" width="590" height="420" /></p>
<p style="text-align: left;">You will not have to open a separate ftp client if you use this. To open Fire FTP, go to <strong>Tools -&gt; Fire FTP</strong> on firefox menu bar. It opens an easy to use interface in a new tab. You can create multiple accounts and you will get all the features that you expect from a ftp client.</p>
<p style="text-align: left;"><strong>From the site: </strong>&#8220;Along with transferring your files quickly and efficiently, FireFTP also includes more advanced features such as: directory comparison, syncing directories while navigating, SFTP, SSL encryption, search/filtering, integrity checks, remote editing, drag &amp; drop, file hashing, and much more!&#8221;</p>
<p style="text-align: left;"><strong><span id="more-509"></span></strong></p>
<p style="text-align: left;">
<h3>4- IE Tab</h3>
<p style="text-align: left;">
<p style="text-align: left;"><strong>Home: </strong><a href="http://ietab.mozdev.org/" target="_self">http://ietab.mozdev.org/</a></p>
<p style="text-align: left;"><strong> Install: </strong><a href="https://addons.mozilla.org/en-US/firefox/addon/1419" target="_self">https://addons.mozilla.org/en-US/firefox/addon/1419</a></p>
<p style="text-align: left;">
<p style="text-align: left;">Use IE tab if you want to check display of your web pages in Internet explorer. Instead of opening IE separately, it will open a tab in firefox which will display your page using the IE engine installed on your machine.  It will put an icon on your status bar using which you can switch engines.</p>
<p style="text-align: center;">
<h3>5- Firebug</h3>
<p style="text-align: left;">
<p style="text-align: left;"><strong>Home: </strong><a href="http://getfirebug.com/" target="_self">http://getfirebug.com/</a></p>
<p style="text-align: left;"><strong>Install: </strong><a href="https://addons.mozilla.org/en-US/firefox/addon/1843" target="_self">https://addons.mozilla.org/en-US/firefox/addon/1843</a></p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-506" title="firebug" src="http://www.vijayjoshi.org/wp-content/uploads/firebug.png" alt="firebug" width="590" height="280" /></p>
<p style="text-align: left;">
<p style="text-align: left;">How can a firefox addons list be complete without Firebug. <strong> </strong></p>
<p style="text-align: left;"><strong>From the site:</strong> &#8220;Firebug integrates with Firefox to put a wealth of web development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page.&#8221;</p>
<p style="text-align: left;">Firebug needs no inroduction to web developers. It reduces the development time to a great extent, specially if your application relies on javascript/ajax too much. It provides rock solid debugging for javascript where you can add/remove breakpoints, watch variables in real time and much more.</p>
<p style="text-align: left;">Want more? You can inspect and edit html/css on the fly to change the look and feel of a page. You can also check the download time for your css files,scripts, images and html pages using the net tab which are helpful for optimizations.</p>
<p style="text-align: left;">Firbug has a number of addons too (yes! addons for an addon). I recommend both the addons given below.</p>
<p><strong>Page Speed </strong>: It is an addon from Google which is used to analyze the loading performance of a page. It tests a page against Web Performance Best Practices which you can <a href="http://code.google.com/speed/page-speed/docs/rules_intro.html" target="_self">read here</a>. After this a score out of 100 is provided. Greater score means faster page load. Install it from <a href="http://code.google.com/speed/page-speed/download.html" target="_self">this link</a>.</p>
<p><strong>YSlow: </strong>YSlow is a addon similar to Page Speed. It is created by Yahoo. YSlow measures a web page&#8217;s performance against a set of rules for high performance pages created by Yahoo. You can <a href="https://addons.mozilla.org/en-US/firefox/addon/5369" target="_self">download it from</a> here and <a href="http://developer.yahoo.com/performance/rules.html" target="_self">read the performance criteria here</a>.</p>
<p style="text-align: left;">
<h3>Bonus:  Colorzilla<strong> </strong></h3>
<p><strong>Home: </strong><a href="http://www.colorzilla.com/firefox/" target="_self">http://www.colorzilla.com/firefox/</a></p>
<p style="text-align: left;"><strong>Install: </strong><a href="https://addons.mozilla.org/en-US/firefox/addon/271" target="_self">https://addons.mozilla.org/en-US/firefox/addon/271</a></p>
<p style="text-align: left;">Need to pick a color from any web page, text or image within browser? Just click colorzilla, which sits at extreme left of your status bar, and point to that location. Now right click on colorzilla and you can copy rgb and hex color codes for that color.</p>
<p style="text-align: left;">It comes with a built in Color Picker and Palette Browser.</p>
<p style="text-align: left;">
<p style="text-align: left;">
<div class="shr-publisher-509"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F01%2F21%2F5-must-have-firefox-addons-for-every-web-developer%2F' data-shr_title='5+must+have+firefox+addons+for+every+web+developer'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://www.vijayjoshi.org/2010/01/21/5-must-have-firefox-addons-for-every-web-developer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How to dynamically load the Google Maps javascript API (On demand loading)</title>
		<link>http://www.vijayjoshi.org/2010/01/19/how-to-dynamically-load-the-google-maps-javascript-api-on-demand-loading/</link>
		<comments>http://www.vijayjoshi.org/2010/01/19/how-to-dynamically-load-the-google-maps-javascript-api-on-demand-loading/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 10:21:25 +0000</pubDate>
		<dc:creator>Vijay Joshi</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google map]]></category>

		<guid isPermaLink="false">http://www.vijayjoshi.org/?p=481</guid>
		<description><![CDATA[
			
				
			
		
Normally google maps js api is loaded at the time of page load via a script tag with src set. If map is not so major feature of your application or you want to reduce page download time, you can defer loading the javascript load it when required.
This is a javascript pattern called On demand javascript.
Bottomline is: &#8220;JavaScript being pulled ...]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F01%2F19%2Fhow-to-dynamically-load-the-google-maps-javascript-api-on-demand-loading%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F01%2F19%2Fhow-to-dynamically-load-the-google-maps-javascript-api-on-demand-loading%2F&amp;source=v08i&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Normally google maps js api is loaded at the time of page load via a script tag with src set. If map is not so major feature of your application or you want to reduce page download time, you can defer loading the javascript load it when required.<br />
This is a javascript pattern called <a title="On demand javascript" href="http://ajaxpatterns.org/On-Demand_Javascript" target="_self">On demand javascript</a>.</p>
<p>Bottomline is: <a title="On demand javascript summary" href="http://ajaxpatterns.org/On-Demand_Javascript#In_A_Blink" target="_self">&#8220;JavaScript being pulled from the server after the page has loaded</a>&#8220;.</p>
<p>Google maps provide the facility to dynamically load the api when required.  So no need to load it at the time of page load. I will present an example here which will load the maps api on click of a button. Here is how to do it.</p>
<div class="mceTemp">
<dl id="attachment_453" class="wp-caption alignnone" style="width: 190px;">
<dt class="wp-caption-dt"><a title="Google maps ondemand loading demo" href="http://www.vijayjoshi.org/examples/gmap.html" target="_blank"><img class="size-full wp-image-453" style="border:0px" title="demo" src="http://www.vijayjoshi.org/wp-content/uploads/demo.png" alt="View Demo" width="180" height="45" /></a></dt>
</dl>
</div>
<p>As said above, <strong>DO NOT </strong>load any javascript api from Google using script tags. Instead we will use a button.</p>
<pre class="brush:html">
<input id="loadButton" onclick="loadAPI();" type="button" value="Load maps api" /></pre>
<p>To load the api onclick of this button, create a script tag, set its src and append it to document. This will load the Google AJAX API required to load other google APIs.</p>
<pre class="brush:js">function loadAPI()
{
    var script = document.createElement("script");
    script.src = "http://www.google.com/jsapi?key=YOUR_API_KEY_HERE&amp;callback=loadMaps";
    script.type = "text/javascript";
    document.getElementsByTagName("head")[0].appendChild(script);
}</pre>
<p>Do not forget to replace the API key above with your API key. (You can get an API key by <a title="Google maps API key" href="http://code.google.com/apis/maps/signup.html" target="_self">signing up here</a>)</p>
<p><strong>Important:</strong> Note the <strong>callback=loadMaps</strong> in script.src. This is the thing doing all the magic. It tells which function to call when AJAX API has loaded. In above case it will call loadMaps function. So, let us define that.</p>
<pre class="brush:js">function loadMaps()
{
    //AJAX API is loaded successfully. Now lets load the maps api
    google.load("maps", "2", {"callback" : mapLoaded});
}</pre>
<p>loadMaps function uses load method of google AJAX API to load a specific api. Above we loaded &#8220;maps&#8221; version &#8220;2&#8243;. Again callback is the name of function that will be called when maps api is loaded. callback function will be called only when the maps api is loaded successfully.</p>
<pre class="brush:js">function mapLoaded()
{
    //here you can be sure that maps api has loaded
    //and you can now proceed to render the map on page
    if (GBrowserIsCompatible())
    {
        var map = new GMap2(document.getElementById("map_canvas"));
        map.setMapType(G_SATELLITE_MAP);
        map.setCenter(new GLatLng(28.631466106808542, 77.07853317260742), 5);
    }
}</pre>
<p>That is all to it. I have created a demo along these lines. View source for code. <a title="Google maps ondemand loading demo" href="http://www.vijayjoshi.org/examples/gmap.html" target="_blank"><strong>You can see it here</strong></a>.</p>
<div class="shr-publisher-481"></div><!-- Start Shareaholic LikeButtonSetBottom --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fwww.vijayjoshi.org%2F2010%2F01%2F19%2Fhow-to-dynamically-load-the-google-maps-javascript-api-on-demand-loading%2F' data-shr_title='How+to+dynamically+load+the+Google+Maps+javascript+API+%28On+demand+loading%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://www.vijayjoshi.org/2010/01/19/how-to-dynamically-load-the-google-maps-javascript-api-on-demand-loading/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

