<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9118091161166922394</id><updated>2012-01-25T04:53:36.543-08:00</updated><category term='Innovation'/><category term='flash'/><category term='Analytics'/><category term='tools'/><category term='MVC'/><category term='debugging'/><category term='news'/><category term='books'/><category term='development'/><category term='ResourceManagement'/><category term='serialization'/><category term='socialmedia'/><category term='ResolvingIssues'/><category term='Ebay'/><category term='Ajax'/><category term='Regular expressions'/><category term='frontend'/><category term='Webapplication'/><category term='Andriod'/><category term='Mobile Development'/><category term='Asp.net'/><category term='webcontrols'/><category term='HTML5'/><category term='toolkits'/><category term='wcf'/><category term='xml'/><category term='Web Server'/><category term='snippets'/><category term='Freelance'/><category term='ebooks'/><category term='webservices'/><category term='Cloud-Computing'/><category term='httpHandlers'/><category term='API'/><category term='SDK'/><category term='Open Source'/><category term='Entrepreneurship'/><category term='jquery'/><category term='integration'/><category term='tutorials'/><category term='SEO'/><category term='sql'/><category term='Ecommerce'/><category term='html'/><category term='GoogleCheckout'/><category term='checkout'/><category term='caching'/><category term='tweaks'/><category term='Optimization'/><category term='Cheat-Sheets'/><category term='Utilities'/><category term='e-commerce'/><title type='text'>Sharing  Knowledge  and Grooming Skills</title><subtitle type='html'>I will be updating the blog with the experiances i get in in my professional career as a .Net developer</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default?start-index=101&amp;max-results=100'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>218</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-8245092657646404230</id><published>2012-01-25T04:53:00.000-08:00</published><updated>2012-01-25T04:53:36.549-08:00</updated><title type='text'>Working with the JavaScript “this” Keyword</title><content type='html'>&lt;a href="http://weblogs.asp.net/dwahlin/archive/2011/12/28/working-with-the-javascript-this-keyword.aspx"&gt;Working with the JavaScript “this” Keyword&lt;/a&gt;: &lt;p&gt;JavaScript&amp;#39;s &amp;quot;this&amp;quot; keyword can be a bit tricky to work with depending on the context in which it&amp;#39;s used. When it&amp;#39;s used with patterns such as the &lt;a href="http://weblogs.asp.net/dwahlin/archive/2011/08/01/techniques-strategies-and-patterns-for-structuring-javascript-code-the-prototype-pattern.aspx"&gt;Prototype&lt;/a&gt; or &lt;a href="http://weblogs.asp.net/dwahlin/archive/2011/08/03/techniques-strategies-and-patterns-for-structuring-javascript-code-revealing-prototype-pattern.aspx"&gt;Revealing Prototype&lt;/a&gt; patterns working with &amp;quot;this&amp;quot; can be challenging in some cases. Unlike languages such as C# or Java, &amp;quot;this&amp;quot; can change context. For example, if a Calculator object named calc calls an add() function then &amp;quot;this&amp;quot; represents the Calculator object which means you can easily access any variables defined in the object such as a variable named &lt;i&gt;tax&lt;/i&gt; by simply using &lt;i&gt;this.tax&lt;/i&gt;. &lt;/p&gt;  &lt;p&gt;   &lt;br&gt;    &lt;pre&gt;calc.add(2, 2); &lt;span style="color:#006400"&gt;//Using &amp;quot;this&amp;quot; inside of the add() function gets you to the calc object&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;  &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;However, if add() makes a call to another function then &amp;quot;this&amp;quot; changes context and no longer represents the Calculator object. In fact, &amp;quot;this&amp;quot; will change to the &lt;i&gt;window&lt;/i&gt; object which means you can no longer access variables defined in the Calculator object such as &lt;i&gt;tax&lt;/i&gt;. That presents a bit of a problem that’s especially challenging if you’ve never dealt with it before.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;There are several ways to handle this challenge. First, you can pass &amp;quot;this&amp;quot; as a parameter to other functions. An example of passing &amp;quot;this&amp;quot; between functions is shown next. If a Calculator object calls a clearNumbers() function then you can easily access the Calculator object&amp;#39;s constructor variables within the function. However, once clearNumbers() calls other functions such as setVal() or setEquation(), &amp;quot;this&amp;quot; changes context. To account for the change, the code passes &amp;quot;this&amp;quot; as a parameter to each of the functions and they then use it like normal. Although this type of code works, it pollutes your function parameters in some cases and becomes a little messy to work with (at least in my opinion).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:blue"&gt;var &lt;/span&gt;Calculator = &lt;span style="color:blue"&gt;function &lt;/span&gt;(eq) {&lt;br /&gt;    &lt;span style="color:#006400"&gt;//state goes here&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.eqCtl = document.getElementById(eq);&lt;br /&gt;    &lt;span style="color:blue"&gt;this&lt;/span&gt;.lastNumber;&lt;br /&gt;    &lt;span style="color:blue"&gt;this&lt;/span&gt;.equalsPressed;&lt;br /&gt;    &lt;span style="color:blue"&gt;this&lt;/span&gt;.operatorSet;&lt;br&gt;&lt;span style="color:blue"&gt;    this&lt;/span&gt;.tax; &lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;Calculator.prototype = &lt;span style="color:blue"&gt;function &lt;/span&gt;() {&lt;br /&gt;    &lt;span style="color:#006400"&gt;//private members&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;var &lt;/span&gt;add = &lt;span style="color:blue"&gt;function &lt;/span&gt;(x, y) {&lt;br /&gt;        &lt;span style="color:blue"&gt;this&lt;/span&gt;.eqCtl.innerHTML = x + y + &lt;span style="color:blue"&gt;this&lt;/span&gt;.tax;&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    subtract = &lt;span style="color:blue"&gt;function &lt;/span&gt;(x, y) {&lt;br /&gt;        &lt;span style="color:blue"&gt;this&lt;/span&gt;.eqCtl.innerHTML = x – y + &lt;span style="color:blue"&gt;this&lt;/span&gt;.tax;&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    setVal = &lt;span style="color:blue"&gt;function &lt;/span&gt;(val, &lt;strong&gt;thisObj&lt;/strong&gt;) {&lt;br /&gt;        &lt;strong&gt;thisObj&lt;/strong&gt;.currNumberCtl.innerHTML = val;&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    setEquation = &lt;span style="color:blue"&gt;function &lt;/span&gt;(val, &lt;strong&gt;thisObj&lt;/strong&gt;) {&lt;br /&gt;        &lt;strong&gt;thisObj&lt;/strong&gt;.eqCtl.innerHTML = val;&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#006400"&gt;//Other functions omitted for brevity&lt;br&gt;&lt;br /&gt;    &lt;/span&gt;clearNumbers = &lt;span style="color:blue"&gt;function &lt;/span&gt;() {&lt;br /&gt;        &lt;span style="color:blue"&gt;this&lt;/span&gt;.lastNumber = &lt;span style="color:blue"&gt;null&lt;/span&gt;;&lt;br /&gt;        &lt;span style="color:blue"&gt;this&lt;/span&gt;.equalsPressed = &lt;span style="color:blue"&gt;this&lt;/span&gt;.operatorSet = &lt;span style="color:blue"&gt;false&lt;/span&gt;;&lt;br&gt; &lt;br&gt;        &lt;span style="color:#006400"&gt;//Pass the Calculator object that called clearNumbers() &lt;br&gt;        //to other functions as a parameter&lt;/span&gt; &lt;br /&gt;      &lt;strong&gt;  setVal(&lt;span style="color:maroon"&gt;'0'&lt;/span&gt;, &lt;span style="color:blue"&gt;this&lt;/span&gt;);&lt;br /&gt;        setEquation(&lt;span style="color:maroon"&gt;''&lt;/span&gt;, &lt;span style="color:blue"&gt;this&lt;/span&gt;);&lt;/strong&gt;&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#006400"&gt;//public members&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;return &lt;/span&gt;{&lt;br /&gt;        add: add,&lt;br /&gt;        subtract: subtract,&lt;br /&gt;        clearNumbers: clearNumbers&lt;br /&gt;    };&lt;br /&gt;} ();&lt;br&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;  &lt;br&gt;Another technique that can be used involves JavaScript&amp;#39;s call() function. This function can be used to invoke functions and set the context of &amp;quot;this&amp;quot; while the call is being made. For example, if you want to call a function named setVal() and preserve the current value of &amp;quot;this&amp;quot; as the call is made then you can do the following:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;setVal.call(&lt;span style="color:blue"&gt;this&lt;/span&gt;, &lt;span style="color:maroon"&gt;'yourParameterValue'&lt;/span&gt;);&lt;br&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;  &lt;br&gt;The current value of &amp;quot;this&amp;quot; will be passed along automatically to the setVal() function and it can safely use this.tax in the case of a Calculator object.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The following code uses the call() function to update the code shown earlier. The clearNumbers() function uses JavaScript&amp;#39;s call() function to invoke the setVal() and setEquation() functions and preserve the current value of &amp;quot;this&amp;quot; in the process. Notice that the setVal() and setEquation() functions no longer need the extra parameter as the functions shown earlier did and can simply use &amp;quot;this&amp;quot; to access Calculator object variables defined in the object&amp;#39;s constructor. This simplifies the call by eliminating the need for the extra parameter and makes the code a lot cleaner. &lt;br /&gt;  &lt;br&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:blue"&gt;var &lt;/span&gt;Calculator = &lt;span style="color:blue"&gt;function &lt;/span&gt;(eq) {&lt;br /&gt;    &lt;span style="color:#006400"&gt;//state goes here&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.eqCtl = document.getElementById(eq);&lt;br /&gt;    &lt;span style="color:blue"&gt;this&lt;/span&gt;.lastNumber;&lt;br /&gt;    &lt;span style="color:blue"&gt;this&lt;/span&gt;.equalsPressed;&lt;br /&gt;    &lt;span style="color:blue"&gt;this&lt;/span&gt;.operatorSet;&lt;br&gt;&lt;span style="color:blue"&gt;    this&lt;/span&gt;.tax;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;Calculator.prototype = &lt;span style="color:blue"&gt;function &lt;/span&gt;() {&lt;br /&gt;    &lt;span style="color:#006400"&gt;//private members&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;var &lt;/span&gt;add = &lt;span style="color:blue"&gt;function &lt;/span&gt;(x, y) {&lt;br /&gt;        &lt;span style="color:blue"&gt;this&lt;/span&gt;.eqCtl.innerHTML = x + y + &lt;span style="color:blue"&gt;this&lt;/span&gt;.tax;&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    subtract = &lt;span style="color:blue"&gt;function &lt;/span&gt;(x, y) {&lt;br /&gt;        &lt;span style="color:blue"&gt;this&lt;/span&gt;.eqCtl.innerHTML = x – y + &lt;span style="color:blue"&gt;this&lt;/span&gt;.tax;&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    setVal = &lt;span style="color:blue"&gt;function &lt;/span&gt;(val) {&lt;br /&gt;        &lt;span style="color:blue"&gt;&lt;strong&gt;this&lt;/strong&gt;&lt;/span&gt;.currNumberCtl.innerHTML = val;&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    setEquation = &lt;span style="color:blue"&gt;function &lt;/span&gt;(val) {&lt;br /&gt;        &lt;span style="color:blue"&gt;&lt;strong&gt;this&lt;/strong&gt;&lt;/span&gt;.eqCtl.innerHTML = val;&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#006400"&gt;//Other functions omitted for brevity&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;clearNumbers = &lt;span style="color:blue"&gt;function &lt;/span&gt;() {&lt;br /&gt;        &lt;span style="color:blue"&gt;this&lt;/span&gt;.lastNumber = &lt;span style="color:blue"&gt;null&lt;/span&gt;;&lt;br /&gt;        &lt;span style="color:blue"&gt;this&lt;/span&gt;.equalsPressed = &lt;span style="color:blue"&gt;this&lt;/span&gt;.operatorSet = &lt;span style="color:blue"&gt;false&lt;/span&gt;;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color:#006400"&gt;        &lt;br&gt;        //Set context of &amp;quot;this&amp;quot; to the Calculator object that called clearNumbers()&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;        setVal.call(&lt;span style="color:blue"&gt;this&lt;/span&gt;, &lt;span style="color:maroon"&gt;'0'&lt;/span&gt;);&lt;br /&gt;        setEquation.call(&lt;span style="color:blue"&gt;this&lt;/span&gt;, &lt;span style="color:maroon"&gt;''&lt;/span&gt;);&lt;/strong&gt;&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#006400"&gt;//public members&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;return &lt;/span&gt;{&lt;br /&gt;        add: add,&lt;br /&gt;        subtract: subtract,&lt;br /&gt;        clearNumbers: clearNumbers&lt;br /&gt;    };&lt;br /&gt;} ();&lt;br&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;  &lt;br&gt;Another example of where “this” gets tricky is inside of jQuery event handlers. For example, assume that an init() function is called that adds a click event to DOM elements. What if you want to get to a value of “this” representing the container Calculator object while inside of the click event handler function? The context of “this” changes to the anchor tag making it challenging. Two potential options that can be used are shown next.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The first option is to store the value of “this” as a variable outside of the click event handler function. By doing this a closure is created and you can still access the original value of “this” when the event fires:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Calculator.prototype = {&lt;br /&gt;    &lt;span style="color:#006400"&gt;//private members&lt;br /&gt;    &lt;/span&gt;init: &lt;span style="color:blue"&gt;function&lt;/span&gt;() {&lt;br /&gt;        &lt;span style="color:#006400"&gt;//Option 1 for working with &amp;quot;this&amp;quot;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;var &lt;/span&gt;calcObject = &lt;span style="color:blue"&gt;this&lt;/span&gt;;&lt;br /&gt;        $(&lt;span style="color:maroon"&gt;'a'&lt;/span&gt;).click(&lt;span style="color:blue"&gt;function &lt;/span&gt;() {&lt;br /&gt;            &lt;span style="color:#006400"&gt;//Can&amp;#39;t simply use this or $(this) &lt;br /&gt;            //since &amp;quot;this&amp;quot; represents the anchor now&lt;br /&gt;            //calcObject will represent the Calculator object&lt;br /&gt;            &lt;/span&gt;calcObject.highlight($(&lt;span style="color:blue"&gt;this&lt;/span&gt;));&lt;br /&gt;        });&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    highlight: &lt;span style="color:blue"&gt;function&lt;/span&gt;(anchor) {&lt;br /&gt;        anchor.toggleClass(&lt;span style="color:maroon"&gt;'highlight'&lt;/span&gt;);&lt;br /&gt;    }&lt;br /&gt;};&lt;br&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;Another option is to use an overloaded version of various jQuery event handlers such as on() to pass “this” and make it accessible through the event object: &lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Calculator.prototype = {&lt;br /&gt;    &lt;span style="color:#006400"&gt;//private members&lt;br /&gt;    &lt;/span&gt;init: &lt;span style="color:blue"&gt;function&lt;/span&gt;() {&lt;br /&gt;        &lt;span style="color:#006400"&gt;//Option 2 for working with &amp;quot;this&amp;quot;&lt;br /&gt;        //Pass &amp;quot;this&amp;quot; into the on() call&lt;br /&gt;        &lt;/span&gt;$(&lt;span style="color:maroon"&gt;'a'&lt;/span&gt;).on(&lt;span style="color:maroon"&gt;'click'&lt;/span&gt;, { calcObject: &lt;span style="color:blue"&gt;this &lt;/span&gt;}, &lt;span style="color:blue"&gt;function &lt;/span&gt;(event) {&lt;br /&gt;            &lt;span style="color:#006400"&gt;//Access the original value of &amp;quot;this&amp;quot; &lt;br /&gt;            //through the event object&amp;#39;s data property&lt;br /&gt;            &lt;/span&gt;event.data.calcObject.highlight($(&lt;span style="color:blue"&gt;this&lt;/span&gt;));&lt;br /&gt;        });&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    highlight: &lt;span style="color:blue"&gt;function&lt;/span&gt;(anchor) {&lt;br /&gt;        anchor.toggleClass(&lt;span style="color:maroon"&gt;'highlight'&lt;/span&gt;);&lt;br /&gt;    }&lt;br /&gt;};&lt;br&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;  &lt;br&gt;Notice that “this” is assigned to an object literal property named calcObject in the on() parameters. Once the click event fires the event object passed to the callback function can be used to get to the data property which exposes the calcObject value that was passed in.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Although working with JavaScript’s “this” keyword can be challenging in some scenarios, there are several different techniques that can be used to make it easier to work with. Have any other techniques you like to use? Feel free to leave a comment and share your technique with everyone.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Videos on JavaScript and jQuery&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;If you're interested in additional information about structuring JavaScript code check out my &lt;a href="http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=structuring-javascript"&gt;Structuring JavaScript Code&lt;/a&gt; course created for &lt;a href="http://www.pluralsight.com"&gt;PluralSight&lt;/a&gt;. Here's a sample from the course covering closures. &lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;strong&gt;Demo - Working with Closures in JavaScript&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;                &lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;A sample video from the &lt;a href="http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=jquery-fundamentals"&gt;jQuery programming&lt;/a&gt; course that covers using the each() function is shown next:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;strong&gt;Demo – Using jQuery’s each() Function&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;                &lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8186790" width="1" height="1"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-8245092657646404230?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/8245092657646404230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=8245092657646404230' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/8245092657646404230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/8245092657646404230'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2012/01/working-with-javascript-this-keyword.html' title='Working with the JavaScript “this” Keyword'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-4294144232684614941</id><published>2012-01-23T11:56:00.000-08:00</published><updated>2012-01-23T11:56:34.981-08:00</updated><title type='text'>Learn to Code in 2012 with Free Weekly Programming Lessons from Codecademy [Programming]</title><content type='html'>&lt;a href="http://feeds.gawker.com/~r/lifehacker/full/~3/TSI8-ez5eEA/learn-to-code-in-2012-with-free-weekly-programming-lessons-from-codecademy"&gt;Learn to Code in 2012 with Free Weekly Programming Lessons from Codecademy [Programming]&lt;/a&gt;: &lt;div style="float:left;padding-right:10px"&gt;&lt;br /&gt;               &lt;div&gt;&lt;a title="Click here to read Learn to Code in 2012 with Free Weekly Programming Lessons from Codecademy" href="http://lifehacker.com/5872682/learn-to-code-in-2012-with-free-weekly-programming-lessons-from-codecademy"&gt;&lt;br /&gt;      &lt;img style="border-color:#b3b3b3;border-width:0 1px 1px;border-style:none solid solid" height="120" width="190" title="Click here to read Learn to Code in 2012 with Free Weekly Programming Lessons from Codecademy" alt="Click here to read Learn to Code in 2012 with Free Weekly Programming Lessons from Codecademy" src="http://cache.lifehacker.com/assets/images/17/2012/01/small_abba0563905dcec192bd1d1ed9aa6b20.jpg"&gt;&lt;br /&gt;           &lt;/a&gt;&lt;/div&gt;&lt;br /&gt;         &lt;/div&gt;&lt;br /&gt;    If learning to code is one of your goals or New Year's resolutions, then Code Year is a program for you. The initiative, provided by &lt;a href="http://lifehacker.com/5836220/codecademy-is-a-free-interactive-webapp-that-teaches-you-how-to-code"&gt;previously mentioned&lt;/a&gt; webapp &lt;a href="http://www.codecademy.com/"&gt;Codecademy&lt;/a&gt; will email you free interactive programming lessons each week.     &lt;a href="http://lifehacker.com/5872682/learn-to-code-in-2012-with-free-weekly-programming-lessons-from-codecademy" title="Click here to read more about Learn to Code in 2012 with Free Weekly Programming Lessons from Codecademy [Programming]"&gt;More »&lt;/a&gt;&lt;br /&gt;    &lt;br style="clear:both"&gt;&lt;br /&gt;   &lt;br style="clear:both"&gt;&lt;br /&gt;&lt;br style="clear:both"&gt;&lt;br /&gt;&lt;a href="http://ads.pheedo.com/click.phdo?s=2f743b0760eec55dfb0242f0e011cdf1&amp;amp;p=1"&gt;&lt;img alt="" style="border:0" border="0" src="http://ads.pheedo.com/img.phdo?s=2f743b0760eec55dfb0242f0e011cdf1&amp;amp;p=1"&gt;&lt;/a&gt;&lt;br /&gt;&lt;img alt="" height="0" width="0" border="0" src="http://segment-pixel.invitemedia.com/pixel?code=TechBiz&amp;amp;partnerID=167&amp;amp;key=segment"&gt;&lt;img alt="" height="0" width="0" border="0" src="http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;amp;adv=wouzn4v&amp;amp;fmt=3"&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.gawker.com/~ff/lifehacker/full?a=TSI8-ez5eEA:lg9n1miSTPc:H0mrP-F8Qgo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lifehacker/full?d=H0mrP-F8Qgo" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.gawker.com/~ff/lifehacker/full?a=TSI8-ez5eEA:lg9n1miSTPc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lifehacker/full?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.gawker.com/~ff/lifehacker/full?a=TSI8-ez5eEA:lg9n1miSTPc:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lifehacker/full?i=TSI8-ez5eEA:lg9n1miSTPc:D7DqB2pKExk" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.gawker.com/~ff/lifehacker/full?a=TSI8-ez5eEA:lg9n1miSTPc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lifehacker/full?i=TSI8-ez5eEA:lg9n1miSTPc:V_sGLiPBpWU" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lifehacker/full/~4/TSI8-ez5eEA" height="1" width="1"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-4294144232684614941?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/4294144232684614941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=4294144232684614941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/4294144232684614941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/4294144232684614941'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2012/01/learn-to-code-in-2012-with-free-weekly.html' title='Learn to Code in 2012 with Free Weekly Programming Lessons from Codecademy [Programming]'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-1844903700017243616</id><published>2012-01-11T03:38:00.000-08:00</published><updated>2012-01-11T03:38:21.173-08:00</updated><title type='text'>Introduction to HTML5 Web Workers: the JavaScript Multi-threading Approach</title><content type='html'>&lt;a href="http://www.htmlgoodies.com/HTML5/client/introduction-to-html5-web-workers-the-javascript-multi-threading-approach.html"&gt;Introduction to HTML5 Web Workers: the JavaScript Multi-threading Approach&lt;/a&gt;: &lt;p&gt;HTML5 applications are obviously written using JavaScript. But compared  to other kinds of development environments (like native ones),  JavaScript historically suffers from an important limitation: all its  execution process remains inside a unique thread.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-1844903700017243616?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/1844903700017243616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=1844903700017243616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/1844903700017243616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/1844903700017243616'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2012/01/introduction-to-html5-web-workers.html' title='Introduction to HTML5 Web Workers: the JavaScript Multi-threading Approach'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-827272142630759015</id><published>2012-01-06T03:28:00.000-08:00</published><updated>2012-01-06T03:28:25.607-08:00</updated><title type='text'>Using jQuery to directly call ASP.NET AJAX page methods</title><content type='html'>&lt;a href="http://feeds.encosia.com/~r/Encosia/~3/378047813/"&gt;Using jQuery to directly call ASP.NET AJAX page methods&lt;/a&gt;: &lt;p&gt;When it comes to lightweight client-side communication, I’ve noticed that many of you prefer ASP.NET AJAX’s &lt;strong&gt;page methods&lt;/strong&gt; to full ASMX web services.  In fact, page methods came up in the very first comment on my article about &lt;a href="http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/"&gt;using jQuery to consume ASMX web services&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Given their popularity, I’d like to give them their due attention.  As a result of &lt;a href="http://www.codethinked.com/"&gt;Justin&lt;/a&gt;’s question in those comments, I discovered that you &lt;em&gt;can&lt;/em&gt; call page methods via &lt;a href="http://jquery.com" rel="nofollow"&gt;jQuery&lt;/a&gt;.  In fact, it turns out that you can even do it without involving the ScriptManager at all.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In this post, I will clarify exactly what is and isn’t necessary in order to use page methods.  Then, I’ll show you how to &lt;strong&gt;use jQuery to call a page method&lt;/strong&gt; &lt;em&gt;without using the ScriptManager&lt;/em&gt;.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Creating a page method for testing purposes.&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Writing a page method is easy.  &lt;a href="http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/"&gt;They must be declared as static&lt;/a&gt;, and they must be decorated with the &lt;strong&gt;[WebMethod]&lt;/strong&gt; attribute.  Beyond that, ASP.NET AJAX takes care of the rest on the server side.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This will be our page method for the example:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;pre&gt;&lt;span style="color:#0600ff"&gt;public&lt;/span&gt; partial &lt;span style="color:#ff0000"&gt;class&lt;/span&gt; _Default : Page &lt;br /&gt;&lt;span style="color:#000000"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#000000"&gt;[&lt;/span&gt;WebMethod&lt;span style="color:#000000"&gt;]&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#0600ff"&gt;public&lt;/span&gt; &lt;span style="color:#0600ff"&gt;static&lt;/span&gt; &lt;span style="color:#ff0000"&gt;string&lt;/span&gt; GetDate&lt;span style="color:#000000"&gt;(&lt;/span&gt;&lt;span style="color:#000000"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#000000"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0600ff"&gt;return&lt;/span&gt; DateTime.&lt;span style="color:#0000ff"&gt;Now&lt;/span&gt;.&lt;span style="color:#0000ff"&gt;ToString&lt;/span&gt;&lt;span style="color:#000000"&gt;(&lt;/span&gt;&lt;span style="color:#000000"&gt;)&lt;/span&gt;;&lt;br /&gt;  &lt;span style="color:#000000"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;What about the ScriptManager and EnablePageMethods?&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Traditionally, one of your first steps when utilizing page methods is to set the ScriptManager’s &lt;strong&gt;EnablePageMethods&lt;/strong&gt; property to true.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Luckily, that property is a bit of a misnomer.  It &lt;em&gt;doesn’t enable page methods at all&lt;/em&gt;, but simply generates an inline JavaScript proxy for all of the appropriate methods in your page’s code-behind.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;For example, if a ScriptManager is added to the above example’s corresponding Default.aspx and its EnablePageMethods property is set to true, this JavaScript will be injected into the page:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;pre&gt;&lt;span style="color:#003366;font-weight:bold"&gt;var&lt;/span&gt; PageMethods = &lt;span style="color:#003366;font-weight:bold"&gt;function&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt; &lt;span style="color:#66cc66"&gt;{&lt;/span&gt;&lt;br /&gt; PageMethods.&lt;span style="color:#006600"&gt;initializeBase&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#000066;font-weight:bold"&gt;this&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;;&lt;br /&gt; &lt;span style="color:#000066;font-weight:bold"&gt;this&lt;/span&gt;._timeout = &lt;span style="color:#cc0000"&gt;0&lt;/span&gt;;&lt;br /&gt; &lt;span style="color:#000066;font-weight:bold"&gt;this&lt;/span&gt;._userContext = &lt;span style="color:#003366;font-weight:bold"&gt;null&lt;/span&gt;;&lt;br /&gt; &lt;span style="color:#000066;font-weight:bold"&gt;this&lt;/span&gt;._succeeded = &lt;span style="color:#003366;font-weight:bold"&gt;null&lt;/span&gt;;&lt;br /&gt; &lt;span style="color:#000066;font-weight:bold"&gt;this&lt;/span&gt;._failed = &lt;span style="color:#003366;font-weight:bold"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;span style="color:#66cc66"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;PageMethods.&lt;span style="color:#006600"&gt;prototype&lt;/span&gt; = &lt;span style="color:#66cc66"&gt;{&lt;/span&gt;&lt;br /&gt;_get_path:&lt;span style="color:#003366;font-weight:bold"&gt;function&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt; &lt;span style="color:#66cc66"&gt;{&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#003366;font-weight:bold"&gt;var&lt;/span&gt; p = &lt;span style="color:#000066;font-weight:bold"&gt;this&lt;/span&gt;.&lt;span style="color:#006600"&gt;get_path&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;;&lt;br /&gt; &lt;span style="color:#000066;font-weight:bold"&gt;if&lt;/span&gt; &lt;span style="color:#66cc66"&gt;(&lt;/span&gt;p&lt;span style="color:#66cc66"&gt;)&lt;/span&gt; &lt;span style="color:#000066;font-weight:bold"&gt;return&lt;/span&gt; p;&lt;br /&gt; &lt;span style="color:#000066;font-weight:bold"&gt;else&lt;/span&gt; &lt;span style="color:#000066;font-weight:bold"&gt;return&lt;/span&gt; PageMethods._staticInstance.&lt;span style="color:#006600"&gt;get_path&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;;&lt;span style="color:#66cc66"&gt;}&lt;/span&gt;,&lt;br /&gt;GetDate:&lt;span style="color:#003366;font-weight:bold"&gt;function&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;succeededCallback, failedCallback, userContext&lt;span style="color:#66cc66"&gt;)&lt;/span&gt; &lt;span style="color:#66cc66"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000066;font-weight:bold"&gt;return&lt;/span&gt; &lt;span style="color:#000066;font-weight:bold"&gt;this&lt;/span&gt;._invoke&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#000066;font-weight:bold"&gt;this&lt;/span&gt;._get_path&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;, &lt;span style="color:#3366cc"&gt;'GetDate'&lt;/span&gt;,&lt;span style="color:#003366;font-weight:bold"&gt;false&lt;/span&gt;,&lt;span style="color:#66cc66"&gt;{&lt;/span&gt;&lt;span style="color:#66cc66"&gt;}&lt;/span&gt;,&lt;br /&gt;  succeededCallback,failedCallback,userContext&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;; &lt;span style="color:#66cc66"&gt;}&lt;/span&gt;&lt;span style="color:#66cc66"&gt;}&lt;/span&gt;&lt;br /&gt;PageMethods.&lt;span style="color:#006600"&gt;registerClass&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#3366cc"&gt;'PageMethods'&lt;/span&gt;,Sys.&lt;span style="color:#006600"&gt;Net&lt;/span&gt;.&lt;span style="color:#006600"&gt;WebServiceProxy&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;;&lt;br /&gt;PageMethods._staticInstance = &lt;span style="color:#003366;font-weight:bold"&gt;new&lt;/span&gt; PageMethods&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;;&lt;br /&gt; &lt;br /&gt;&lt;span style="color:#009900;font-style:italic"&gt;// Generic initialization code omitted for brevity.&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;PageMethods.&lt;span style="color:#006600"&gt;set_path&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#3366cc"&gt;&amp;quot;/jQuery-Page-Method/Default.aspx&amp;quot;&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;;&lt;br /&gt;PageMethods.&lt;span style="color:#006600"&gt;GetDate&lt;/span&gt; = &lt;span style="color:#003366;font-weight:bold"&gt;function&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;onSuccess,onFailed,userContext&lt;span style="color:#66cc66"&gt;)&lt;/span&gt; &lt;span style="color:#66cc66"&gt;{&lt;/span&gt;&lt;br /&gt; PageMethods._staticInstance.&lt;span style="color:#006600"&gt;GetDate&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;onSuccess,onFailed,userContext&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span style="color:#66cc66"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Don’t worry if you don’t understand this code.  You don’t need to understand how it works.  Just understand that this JavaScript proxy is what allows you to call page methods via the PageMethods.MethodName syntax.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The important takeaway here is that the PageMethods proxy object boils down to a fancy wrapper for a regular ASP.NET service call.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Calling the page method with jQuery instead.&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Knowing that a page method is consumed in the same way as a web service, consuming it with jQuery isn’t difficult.  For more detailed information, see my previous article about &lt;a href="http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/"&gt;making jQuery work with ASP.NET AJAX’s JSON serialized web services&lt;/a&gt;.  &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Using the &lt;strong&gt;jQuery.ajax&lt;/strong&gt; method, this is all there is to it:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;pre&gt;$.&lt;span style="color:#006600"&gt;ajax&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#66cc66"&gt;{&lt;/span&gt;&lt;br /&gt;  type: &lt;span style="color:#3366cc"&gt;&amp;quot;POST&amp;quot;&lt;/span&gt;,&lt;br /&gt;  url: &lt;span style="color:#3366cc"&gt;&amp;quot;PageName.aspx/MethodName&amp;quot;&lt;/span&gt;,&lt;br /&gt;  data: &lt;span style="color:#3366cc"&gt;&amp;quot;{}&amp;quot;&lt;/span&gt;,&lt;br /&gt;  contentType: &lt;span style="color:#3366cc"&gt;&amp;quot;application/json; charset=utf-8&amp;quot;&lt;/span&gt;,&lt;br /&gt;  dataType: &lt;span style="color:#3366cc"&gt;&amp;quot;json&amp;quot;&lt;/span&gt;,&lt;br /&gt;  success: &lt;span style="color:#003366;font-weight:bold"&gt;function&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;msg&lt;span style="color:#66cc66"&gt;)&lt;/span&gt; &lt;span style="color:#66cc66"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#009900;font-style:italic"&gt;// Do something interesting here.&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#66cc66"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#66cc66"&gt;}&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Putting it all together.&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Corresponding to the example page method above, here’s our &lt;strong&gt;Default.aspx&lt;/strong&gt;:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;pre&gt;&lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;&lt;/span&gt;Calling a page method with jQuery&lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;script&lt;/span&gt; &lt;span style="color:#000066"&gt;type&lt;/span&gt;=&lt;span style="color:#ff0000"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span style="color:#000066"&gt;src&lt;/span&gt;=&lt;span style="color:#ff0000"&gt;&amp;quot;jquery-1.2.6.min.js&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;script&lt;/span&gt; &lt;span style="color:#000066"&gt;type&lt;/span&gt;=&lt;span style="color:#ff0000"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span style="color:#000066"&gt;src&lt;/span&gt;=&lt;span style="color:#ff0000"&gt;&amp;quot;Default.js&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;div&lt;/span&gt; &lt;span style="color:#000066"&gt;id&lt;/span&gt;=&lt;span style="color:#ff0000"&gt;&amp;quot;Result&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;Click here for the time.&lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900"&gt;&lt;span style="color:#000000;font-weight:bold"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;As you can see, there’s &lt;strong&gt;no ScriptManager&lt;/strong&gt; required, much less EnablePageMethods.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;As referenced in Default.aspx, this is &lt;strong&gt;Default.js&lt;/strong&gt;:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;pre&gt;$&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;document&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;.&lt;span style="color:#006600"&gt;ready&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#003366;font-weight:bold"&gt;function&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt; &lt;span style="color:#66cc66"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#009900;font-style:italic"&gt;// Add the page method call as an onclick handler for the div.&lt;/span&gt;&lt;br /&gt;  $&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#3366cc"&gt;&amp;quot;#Result&amp;quot;&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;.&lt;span style="color:#006600"&gt;click&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#003366;font-weight:bold"&gt;function&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt; &lt;span style="color:#66cc66"&gt;{&lt;/span&gt;&lt;br /&gt;    $.&lt;span style="color:#006600"&gt;ajax&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#66cc66"&gt;{&lt;/span&gt;&lt;br /&gt;      type: &lt;span style="color:#3366cc"&gt;&amp;quot;POST&amp;quot;&lt;/span&gt;,&lt;br /&gt;      url: &lt;span style="color:#3366cc"&gt;&amp;quot;Default.aspx/GetDate&amp;quot;&lt;/span&gt;,&lt;br /&gt;      data: &lt;span style="color:#3366cc"&gt;&amp;quot;{}&amp;quot;&lt;/span&gt;,&lt;br /&gt;      contentType: &lt;span style="color:#3366cc"&gt;&amp;quot;application/json; charset=utf-8&amp;quot;&lt;/span&gt;,&lt;br /&gt;      dataType: &lt;span style="color:#3366cc"&gt;&amp;quot;json&amp;quot;&lt;/span&gt;,&lt;br /&gt;      success: &lt;span style="color:#003366;font-weight:bold"&gt;function&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;msg&lt;span style="color:#66cc66"&gt;)&lt;/span&gt; &lt;span style="color:#66cc66"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#009900;font-style:italic"&gt;// Replace the div's content with the page method's return.&lt;/span&gt;&lt;br /&gt;        $&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;&lt;span style="color:#3366cc"&gt;&amp;quot;#Result&amp;quot;&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;.&lt;span style="color:#006600"&gt;text&lt;/span&gt;&lt;span style="color:#66cc66"&gt;(&lt;/span&gt;msg.&lt;span style="color:#006600"&gt;d&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color:#66cc66"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#66cc66"&gt;}&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;;&lt;br /&gt;  &lt;span style="color:#66cc66"&gt;}&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span style="color:#66cc66"&gt;}&lt;/span&gt;&lt;span style="color:#66cc66"&gt;)&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The end result is that when our result div is clicked, jQuery makes an AJAX call to the &lt;strong&gt;GetDate&lt;/strong&gt; page method and replaces the div’s text with its result.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Conclusion&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Page methods are much more openly accessible than it may seem at first.  The relative unimportance of EnablePageMethods is a nice surprise.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;To demonstrate the mechanism with minimal complications, this example has purposely been a minimal one.  If you’d like to see a real-world example, take a look at Moses’ great example of using this technique to &lt;a href="http://mosesofegypt.net/post/2008/04/GridView-Grouping-Master-Detail-Drill-Down-Using-jQuery-AJAX.aspx"&gt;implement a master-detail drill down in a GridView&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If you’re already using the ScriptManager for other purposes, there’s no harm in using its JavaScript proxy to call your page methods.  However, if you aren’t using a ScriptManager or have already included jQuery on your page, I think it makes sense to use the more efficient jQuery method.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;p&gt;###&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Originally posted at &lt;a href="http://encosia.com"&gt;Encosia.com&lt;/a&gt;.  If you're reading this on another site, come on over and take a look at the real thing.&lt;/p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/"&gt;Using jQuery to directly call ASP.NET AJAX page methods&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.encosia.com/~f/Encosia?a=Ll0gxH"&gt;&lt;img src="http://feeds.encosia.com/~f/Encosia?i=Ll0gxH" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.encosia.com/~f/Encosia?a=c0vRDK"&gt;&lt;img src="http://feeds.encosia.com/~f/Encosia?i=c0vRDK" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.encosia.com/~f/Encosia?a=pufv3H"&gt;&lt;img src="http://feeds.encosia.com/~f/Encosia?i=pufv3H" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.encosia.com/~f/Encosia?a=Y44LUh"&gt;&lt;img src="http://feeds.encosia.com/~f/Encosia?i=Y44LUh" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.encosia.com/~f/Encosia?a=3QUpAh"&gt;&lt;img src="http://feeds.encosia.com/~f/Encosia?i=3QUpAh" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.encosia.com/~f/Encosia?a=hKEMwh"&gt;&lt;img src="http://feeds.encosia.com/~f/Encosia?i=hKEMwh" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.encosia.com/~r/Encosia/~4/378047813" height="1" width="1"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-827272142630759015?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/827272142630759015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=827272142630759015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/827272142630759015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/827272142630759015'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2012/01/using-jquery-to-directly-call-aspnet.html' title='Using jQuery to directly call ASP.NET AJAX page methods'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-7204625908010154499</id><published>2012-01-04T02:36:00.000-08:00</published><updated>2012-01-04T02:36:55.550-08:00</updated><title type='text'>35+ Excellent jQuery Animation Techniques and Tutorials</title><content type='html'>&lt;a href="http://thewebblend.com/All/35_Excellent_jQuery_Animation_Techniques_and_Tutorials"&gt;35+ Excellent jQuery Animation Techniques and Tutorials&lt;/a&gt;: &lt;p&gt;There are some jQuery tutorials on animation which explain the idea of hiding and displaying elements. Those who are familiar with jQuery know how it helps us in creating jQuery animation.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-7204625908010154499?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/7204625908010154499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=7204625908010154499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/7204625908010154499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/7204625908010154499'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2012/01/35-excellent-jquery-animation.html' title='35+ Excellent jQuery Animation Techniques and Tutorials'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-1248124589567502863</id><published>2011-12-27T12:11:00.000-08:00</published><updated>2011-12-27T12:11:29.383-08:00</updated><title type='text'>Scott Hanselman's 2011 Ultimate Developer and Power Users Tool List for Windows</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/ScottHanselman/~3/9LH-J8vPjOI/ScottHanselmans2011UltimateDeveloperAndPowerUsersToolListForWindows.aspx"&gt;Scott Hanselman&amp;#39;s 2011 Ultimate Developer and Power Users Tool List for Windows&lt;/a&gt;: &lt;div&gt;&lt;p&gt;&lt;a href="http://twitter.com/home?status=RT%21+It%27s+%40shanselman%27s+Ultimate+Tool+List+for+2011%21+http%3A%2F%2Fhnsl.mn%2Fhanseltools11"&gt;&lt;img border="0" alt="Tweet This!" align="right" src="http://www.hanselman.com/blog/images/tweetthis.png" width="360" height="360"&gt;&lt;/a&gt;Everyone collects utilities, and most folks have a list of a few that they feel are indispensable.  Here&amp;#39;s mine.  Each has a distinct purpose, and I probably touch each at least a few times a week.  For me, &amp;quot;util&amp;quot; means utilitarian and it means don&amp;#39;t clutter my tray.  If it saves me time, and seamlessly integrates with my life, it&amp;#39;s the bomb. Many/most are free some aren&amp;#39;t. Those that aren&amp;#39;t free are very likely worth your 30-day trial, and perhaps your money.&lt;/p&gt;  &lt;p&gt;Here are most of the contents of my C:\UTILS folder. These are all well loved and used.  I wouldn&amp;#39;t recommend them if I didn&amp;#39;t use them constantly. Things on this list are here because I dig them. No one paid money to be on this list and no money is accepted to be on this list.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;Personal Plug:&lt;/b&gt; Discover more cool tools and programming tips on my weekly Podcast &lt;a href="http://www.hanselminutes.com/"&gt;&lt;b&gt;Hanselminutes&lt;/b&gt;&lt;/a&gt;, or my other show with &lt;a href="http://www.wekeroad.com"&gt;Rob Conery&lt;/a&gt; called &lt;a href="http://www.thisdeveloperslife.com/"&gt;This Developer's Life&lt;/a&gt;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This is the &lt;strong&gt;&lt;font color="#238e23"&gt;Updated for 2011&lt;/font&gt; Version&lt;/strong&gt; of my &lt;a href="http://www.hanselman.com/blog/content/radiostories/2003/09/09/scottHanselmansUltimateDeveloperAndPowerUsersToolsList.html"&gt;2003&lt;/a&gt;, &lt;a href="http://www.hanselman.com/blog/ScottHanselmans2005UltimateDeveloperAndPowerUsersToolList.aspx"&gt;2005&lt;/a&gt;, &lt;a href="http://www.hanselman.com/blog/ScottHanselmans2006UltimateDeveloperAndPowerUsersToolListForWindows.aspx"&gt;2006&lt;/a&gt;, &lt;a href="http://www.hanselman.com/blog/ScottHanselmans2007UltimateDeveloperAndPowerUsersToolListForWindows.aspx"&gt;2007&lt;/a&gt; and &lt;a href="http://www.hanselman.com/blog/ScottHanselmans2009UltimateDeveloperAndPowerUsersToolListForWindows.aspx"&gt;2009&lt;/a&gt; List, and currently subsumes all my other lists. Link to &lt;a href="http://hanselman.com/tools"&gt;http://hanselman.com/tools&lt;/a&gt; when referencing the latest &lt;a href="http://www.hanselman.com/tools"&gt;Hanselman Ultimate Tools List&lt;/a&gt;. Feel free to get involved here in the comments, post corrections, or suggestions for future submissions. I very likely made mistakes, and probably forgot a few utilities that I use often.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;New Entries to the 2011 Ultimate Tools are in &lt;b&gt;&lt;font color="#238e23"&gt;Green&lt;/font&gt;&lt;/b&gt;. There are dozens of additions and many updated and corrected entri&lt;/strong&gt;&lt;strong&gt;es and fixed links. I started doing this list for EIGHT YEARS AGO which is like 60 internet years ago. I've also removed some older stuff that no long matters in 2011.&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;em&gt;&lt;strong&gt;2009 Japanese Translation:&lt;/strong&gt; &lt;/em&gt;&lt;a href="http://www.aoky.net/"&gt;&lt;em&gt;Yasushi Aoki&lt;/em&gt;&lt;/a&gt;&lt;em&gt; has translated the &lt;/em&gt;&lt;a href="http://www.hanselman.com/tools/ja-jp/"&gt;&lt;em&gt;2009 Tools List to Japanese&lt;/em&gt;&lt;/a&gt;&lt;em&gt;! You can find it here &lt;/em&gt;&lt;a href="http://www.hanselman.com/tools/ja-jp/"&gt;&lt;em&gt;http://www.hanselman.com/tools/ja-jp/&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;?: &lt;a href="http://www.aoky.net/"&gt;???&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;NOTE: Please &lt;strong&gt;don't &lt;/strong&gt;reproduce this in its entirety, I'd rather you link to &lt;a href="http://www.hanselman.com/tools"&gt;&lt;strong&gt;http://hanselman.com/tools&lt;/strong&gt;&lt;/a&gt;. I appreciate your enthusiasm, but posts like this take a lot of work on my part and I'd appreciate that work staying where it is and linked to, rather than being copy/pasted around the 'net. If you're reading this content and you're not at &lt;a href="http://hanselman.com/"&gt;&lt;strong&gt;http://hanselman.com&lt;/strong&gt;&lt;/a&gt;, perhaps you'd like to join us at &lt;a href="http://www.hanselman.com/tools"&gt;the original URL&lt;/a&gt;?&lt;/em&gt;&lt;/p&gt;  &lt;h3&gt;The Big Ten Life and Work-Changing Utilities&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;A problem well stated is a problem half solved.&amp;quot; - Charles Kettering        &lt;br&gt;        &lt;br&gt;&amp;quot;Knowing is half the battle.&amp;quot; - Duke, G.I. Joe&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;&lt;u&gt;&lt;font color="#238e23"&gt;&lt;a href="http://www.1upindustries.com/bins/"&gt;&lt;img style="margin:0px 0px 0px 10px;display:inline" title="Animation of Windows 7 Taskbar icons jumping into a bin" alt="Animation of Windows 7 Taskbar icons jumping into a bin" align="right" src="http://www.hanselman.com/blog/content/binary/binsanimation.gif" width="370" height="110"&gt;&lt;/a&gt;&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;&lt;a href="http://www.1upindustries.com/bins/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Bins&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; was actually written by the same author as Fences, below, so you know it's awesome.       &lt;br&gt;It&amp;#39;s actually ridiculously awesome. For example, I&amp;#39;ve got four browsers pinned to my Windows 7 Taskbar, which is kind of silly. Now, with bins, I can make a, *ahem*, &amp;quot;bin&amp;quot; and put four browser shortcuts in the space of just one regular icon. Then I make can choose a default program for the bin when I just click, or hover to get my others. All this &lt;a href="http://www.1upindustries.com/bins/"&gt;functionality for $4.99&lt;/a&gt;, and he takes PayPal. Sold. Bins almost makes Windows 7 feel like Windows 7.1. &lt;/li&gt;    &lt;li&gt;I mentioned &lt;a href="http://www.stardock.com/products/fences/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Fences&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; here almost two years ago to the day and it's been running happily on all my Windows PCs ever since. I realize that some folks like a clean desktop but if you'd like to get those &lt;a href="http://www.hanselman.com/blog/GetThosePixelsWorkingForYou.aspx"&gt;pixels working for you&lt;/a&gt; then I think you gotta put some icons on your desk. When they get out of hand, put a fence around them.       &lt;br&gt;One of the best parts about Fences is that it&amp;#39;s pretty smart about changing resolutions. Some people don&amp;#39;t like a lot of icons because they fear the inevitable &amp;quot;give a presentation, change resolutions and lose all my icon positions&amp;quot; day. With Fences, this is not a problem. All your icons stay in their little boxes. They&amp;#39;ll even rearrange magically if you change icon sizes. &lt;a href="http://www.stardock.com/products/fences/"&gt;&lt;img style="margin:0px 0px 0px 10px;display:inline" title="Fences of icons resizing" border="0" alt="Fences of icons resizing" align="right" src="http://www.hanselman.com/blog/content/binary/fences.gif" width="400" height="312"&gt;&lt;/a&gt;       &lt;br&gt;Fences is truly a fantastic application and one that should be built in. The author of Fences and Bin is a programming god amongst men and I salute you, sir. The next taco is on me. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.autohotkey.com/forum/topic21703.html"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Window Pad&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; is a multi-monitor aware window-moving tool. You use the Window Key along with the Number Pad to move windows around. Rather than spending time moving your windows with a mouse, you use the positions of the numbers on the number pad to move them.       &lt;br&gt;It's Aero Snap taken to the next level. Rather than just left and right, there's nine positions per monitor that your windows can go, but because the positions correspond to the number pad you already know there's virtually no learning curve. &lt;a href="http://www.autohotkey.com/forum/topic21703.html"&gt;WindowPad&lt;/a&gt; is brilliant and deserves to be in your Startup Folder. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://join.me"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;Join.me&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;strong&gt; from &lt;/strong&gt;&lt;a href="http://www.logmein.com"&gt;&lt;strong&gt;Logmein&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- There's a lot of screensharing utilities out there. There's even Remote Assistance built into Windows. There's &lt;a href="http://www.teamviewer.com"&gt;TeamViewer&lt;/a&gt;, there's &lt;a href="http://www.crossloop.com/"&gt;CrossLoop&lt;/a&gt;, and on and on. However, when I just want to share my screen and give a URL to a bunch of people who can view it without anything other than Flash, I use Join.me. Great for Mom and great for me. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.autohotkey.com/"&gt;&lt;strong&gt;AutoHotKey&lt;/strong&gt;&lt;/a&gt; - This little gem is bananas. It's a tiny, amazingly fast free open-source utility for Windows. It lets you automate everything from keystrokes to mice. Programming for non-programmers. It's a complete automation system for Windows without the frustration of VBScript. This is the Windows equivalent of AppleScript for Windows. (That's a very good thing.)       &lt;ul&gt;       &lt;li&gt;Make sure you get the &amp;quot;&lt;a href="http://www.autohotkey.com/download/OtherDownloads.htm"&gt;AutoCorrect for English&lt;/a&gt;&amp;quot; script on the Other Download page. It&amp;#39;s got 4700 common English Misspellings. It gives you autocorrect everywhere in Windows. Every program, always. It&amp;#39;s just the &lt;a href="http://www.autohotkey.com/docs/scripts/index.htm"&gt;tip of the&lt;/a&gt; &lt;a href="http://lifehacker.com/tag/autohotkey/"&gt;iceberg&lt;/a&gt;. &lt;/li&gt;        &lt;li&gt;Note above that &lt;a href="http://www.autohotkey.com/forum/topic21703.html"&gt;&lt;font color="#238e23"&gt;Window Pad&lt;/font&gt;&lt;/a&gt; - a great util on its own - is actually written in AutoHotKey. Amazing! &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.getpaint.net/index.html"&gt;&lt;strong&gt;Paint.NET&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- The Paint Program that Microsoft &lt;a href="http://www.hanselman.com/blog/MicrosoftsPaintProgramLegacyYAMPP.aspx"&gt;forgot&lt;/a&gt;, written in .NET. It's 80% of Photoshop and it's free. It also has nice &lt;a href="http://blog.getpaint.net/2009/08/11/paintnet-v35-now-enhanced-for-windows-7-with-directwrite/"&gt;enhanced Windows 7 features&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.7-zip.org/"&gt;&lt;strong&gt;7-Zip&lt;/strong&gt;&lt;/a&gt; - It's over and 7zip won. Time to get on board. The 7z format is fast becoming the compression format that choosey hardcore users choose. You'll typically get between 2% and 10% better compression than ZIP. This app integrates into Windows Explorer nicely and opens basically EVERYTHING you could ever want to open from TARs to ISOs, from RARs to CABs. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://db.tt/mlY7wKi"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;DropBox&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt; - There's so many great cloud storage systems today. &lt;a href="https://skydrive.live.com/"&gt;SkyDrive&lt;/a&gt;, &lt;a href="http://www.amazon.com/clouddrive"&gt;CloudDrive&lt;/a&gt;, &lt;a href="http://db.tt/mlY7wKi"&gt;DropBox&lt;/a&gt; and others. I keep coming back to DropBox though. It&amp;#39;s on every platform I want it on. It works great with large stores (mine is over 60gigs) and also allows selective sync for small amounts of data in just certain folders. Ultimately, though, get yourself some cloud storage because when you stuff is just &amp;quot;there&amp;quot;, life is better. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals"&gt;&lt;strong&gt;SysInternals&lt;/strong&gt;&lt;/a&gt; - I want to call out specifically &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653"&gt;ProcExp&lt;/a&gt; and &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb963902"&gt;AutoRuns&lt;/a&gt;, but anything Mark and Bryce do is pure gold. ProcExp is a great Taskman replacement and includes the invaluable &amp;quot;Find DLL&amp;quot; feature. It can also highlight any .NET processes. AutoRuns is an amazing aggregated view of any and all things that run at startup on your box.       &lt;ul&gt;       &lt;li&gt;A great new addition to the SysInternals Family is &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896645"&gt;Process Monitor&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;, a utility that eclipses both Filemon and Regmon. It runs on any version of Windows and lets you see exactly what a process is doing. Indispensable for developing. &lt;/li&gt;        &lt;li&gt;It's also worth calling out the legendary &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653"&gt;Process Explorer&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt; as a standout and must-have utility. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://download.live.com/writer"&gt;&lt;strong&gt;Windows Live Writer&lt;/strong&gt;&lt;/a&gt; - If you've got a blog (and if not, why not?) then this is THE app. They've also got a &lt;a href="http://plugins.live.com/writer/browse?orderby=featured&amp;amp;page=1"&gt;great plugin community&lt;/a&gt;. It's the second app I install. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Rocking Sweet Windows 7 Specific Stuff&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;No snowflake in an avalanche ever feels responsible.&amp;quot; - George Burns&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/windows7"&gt;&lt;strong&gt;Windows 7&lt;/strong&gt;&lt;/a&gt; - After almost two years Windows 7 has proven itself as the best OS for Windows folks. It's time to get off XP and please forget Vista and get Windows 7 on your machine. It's lovely. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.realtimesoft.com/ultramon/"&gt;&lt;strong&gt;Ultramon&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; or &lt;/strong&gt;&lt;a href="http://www.binaryfortress.com/displayfusion/"&gt;&lt;strong&gt;DisplayFusion&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Also see below in &amp;quot;Stuff Windows Forgot.&amp;quot; Go get Ultramon or above or get Display Fusion. They both add multiple-taskbar support for Windows (all versions, including Windows 7) that&amp;#39;s very compelling. Unfortunately they each are 90% of the way there, just a different 90% and as of the time of this writing, it&amp;#39;s unclear who will run. I&amp;#39;m running trials of both. Ultramon has the very nice &amp;quot;light tracking&amp;quot; feature as you roll over their multiple monitor buttons and no preview, but DisplayFusion also supports the &amp;quot;Aero Preview&amp;quot; thumbnailing, but their light tracking looks wrong. Either way, it&amp;#39;s great that someday, and soon, the missing multiple monitor taskbar problem will at least be fixed by a 3rd party. &lt;/li&gt;    &lt;li&gt;&lt;a&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;&lt;u&gt;Bins&lt;/u&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - See above. Bins is a great little touch that feels so integrated into Windows 7 that it really should be a part of it.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://www.alastria.com/index.php?p=software-7s"&gt;&lt;strong&gt;7stacks&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- In a similar vein to Bins, this free little app does one thing. It gives you &amp;quot;stacks&amp;quot; of icons that fly up from your Windows 7 (or XP or Vista) taskbar. Pick the one that makes you happy. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.stardock.com/products/fences/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Fences&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; is the same kind of utility. It adds icon fences and organization to your troubled desktop and feels built-in. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/windows/virtual-pc/"&gt;&lt;strong&gt;Virtual Windows XP&lt;/strong&gt;&lt;/a&gt; - This new version of &lt;a href="http://www.hanselman.com/blog/Windows7SeamlessAppsInWindowsVirtualPCVirtualXPAndApplicationCompatibility.aspx"&gt;Windows Virtual PC lets you run Windows XP applications next to your Windows 7 apps for the ultimate in backward-compatibility&lt;/a&gt;. I like Virtual XP for when I want to run XP apps like IE6 seamlessly along site my Windows 7 apps. For when I don't want to know I'm running a VM. Here are the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=11575"&gt;other VMs for testing older versions of IE&lt;/a&gt;.       &lt;ul&gt;       &lt;li&gt;For other VMs, I use &lt;a href="https://www.virtualbox.org/"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;VirtualBox&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;. As soon as VirtualBox added support for the VHD file format, all my existing VMs suddenly became more useful. VirtualBox also runs Ubuntu on Windows like a dream. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.hanselman.com/blog/GuideToInstallingAndBootingWindows8DeveloperPreviewOffAVHDVirtualHardDisk.aspx"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Boot to VHD&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Not so much a utility as an amazing feature. I've posted before &lt;a href="http://www.hanselman.com/blog/LessVirtualMoreMachineWindows7AndTheMagicOfBootToVHD.aspx"&gt;about my intense love for Booting off a VHD (Virtual Hard Disk)&lt;/a&gt;. It gives you all the speed of a real machine with all the convenience of a virtualized hard disk. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx"&gt;&lt;strong&gt;PowerShell&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; - &lt;/strong&gt;The full power of .NET, WMI and COM all from a command line. PowerShell has a steep learning curve, much like the tango, but oh, my, when you really start dancing...woof. I also use &lt;a href="http://www.hanselman.com/blog/IntroducingPowerShellPromptHere.aspx"&gt;PowerShell Prompt Here&lt;/a&gt;. It's built into Windows 7, by the way.       &lt;ul&gt;       &lt;li&gt;I also recommend after installing PowerShell that you immediately go get &lt;a href="http://powertab.codeplex.com"&gt;&lt;strong&gt;PowerTab&lt;/strong&gt;&lt;/a&gt; to enable amazing &amp;quot;ANSI-art&amp;quot; style command-line tab completion. &lt;/li&gt;        &lt;li&gt;Next, go get the&lt;strong&gt; &lt;/strong&gt;&lt;a href="http://www.codeplex.com/PowerShellCX"&gt;&lt;strong&gt;PowerShell Community Extensions&lt;/strong&gt;&lt;/a&gt; to add dozens of useful commands to PowerShell. &lt;/li&gt;        &lt;li&gt;Want a more advanced GUI for PowerShell? Get the free &lt;a href="http://www.powergui.org"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;PowerGUI&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.hanselman.com/blog/GuideToFreeingUpDiskSpaceUnderWindows7.aspx"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Disk Cleanup&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - It&amp;#39;s improved, built-in and  much easier to find free space in Windows 7. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;A (.NET) Developer's Life&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;You can have it good, fast, or cheap. Pick two.&amp;quot;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.linqpad.net/"&gt;&lt;strong&gt;LINQPad&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Interactively query your databases with LINQ with this tool from Joseph Albahari. A fantastic learning tool for those who are just getting into LINQ or for those who want a code snippet IDE to execute any C# or VB expression. Free and wonderful. There's a &lt;a href="http://www.thinqlinq.com/Post.aspx/Title/LINQ-Tools"&gt;whole list of LINQ related tools on Jim Wooley's site as well&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/web/"&gt;&lt;strong&gt;Microsoft Web Platform Installer&lt;/strong&gt;&lt;/a&gt; - When I need to take a machine from fresh install to developer machine quickly, I start at &lt;a href="http://www.microsoft.com/web/"&gt;http://www.microsoft.com/web/&lt;/a&gt; and use the Platform Installer to get SQL Express, Visual Studio Express and several dozen other applications installed fast. It's also nice in that it'll setup PHP and ASP.NET open source applications easily. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.jetbrains.com/decompiler/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;JetBrains dotPeek .NET decompiler&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - The original .NET &lt;a href="http://www.reflector.net/"&gt;Reflector&lt;/a&gt; is no longer free, but JetBrains dotPeek is. Dig into the internals of any .NET assembly from .NET 1.0 to .NET 4 and beyond.       &lt;ul&gt;       &lt;li&gt;Want a Reflector tool but want it to be Open Source? Check out &lt;a href="http://wiki.sharpdevelop.net/ilspy.ashx"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;ILSpy&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font color="#238e23"&gt; &lt;/font&gt;&lt;/strong&gt;from the folks that brought you &lt;a href="http://www.icsharpcode.net/"&gt;SharpDevelop&lt;/a&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;b&gt;THREE WAY TIE:&lt;/b&gt; &lt;a href="http://www.flos-freeware.ch/notepad2.html"&gt;&lt;strong&gt;Notepad2&lt;/strong&gt;&lt;/a&gt; or &lt;a href="http://notepad-plus-plus.org/"&gt;&lt;strong&gt;Notepad++&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; (&lt;/strong&gt;&lt;a href="http://www.scintilla.org/SciTE.html"&gt;&lt;strong&gt;Scite&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; also uses the same codebase)&lt;/strong&gt; or &lt;a href="http://www.e-texteditor.com/"&gt;&lt;b&gt;E-TextEditor&lt;/b&gt;&lt;/a&gt; - The first two are great text editors. Each has first class CR/LF support, ANSI to Unicode switching, whitespace and line ending graphics and Mouse Wheel Zooming. A must. Here's how to completely replace &lt;a href="http://blogs.msdn.com/omars/archive/2004/04/30/124093.aspx"&gt;notepad.exe&lt;/a&gt;. Personally I renamed Notepad2.exe to &amp;quot;n.exe&amp;quot; which saves me a few dozen &amp;quot;otepad&amp;quot;s a day. Here&amp;#39;s how to &lt;a href="http://www.flos-freeware.ch/doc/notepad2-Replacement.html"&gt;have Notepad2 be your View Source Editor&lt;/a&gt;. Here's how to &lt;a href="http://weblogs.asp.net/pleloup/archive/2004/05/12/130566.aspx"&gt;add Notepad2 to the Explorer context menu&lt;/a&gt;. E-TextEditor is new on the block this year, inspired by TextMate in the Macintosh. It includes a &amp;quot;bundle&amp;quot; system that uses the scripting power of the &lt;a href="http://www.cygwin.com/"&gt;Cygwin&lt;/a&gt; Linux-like environment for Windows to provide a more IDE-like experience than Notepad2 or Notepad++. It costs, though, but you should absolutely try it's 30-day trial before you shell out your US$35.       &lt;ul&gt;       &lt;li&gt;Notepad++ is built on the same fundamental codebase as Notepad2, and includes tabbed editing and more language syntax highlighting. Is one better than the other? They are different. I use Notepad2 as a better Notepad, but more and more I find myself using &lt;a href="http://www.e-texteditor.com/"&gt;E-TextEditor aka TextMate for Windows&lt;/a&gt; when I need to crunch serious text. As with all opinions, there's no right answer, and I think there's room for multiple text editors in my life. These are the three I use. &lt;/li&gt;        &lt;li&gt;I'm spending time in &lt;a href="http://www.hippoedit.com/"&gt;&lt;strong&gt;HippoEdit&lt;/strong&gt;&lt;/a&gt; lately as well. It may just be the perfect combination of all of the above...the jury is still out, but it's worth a look. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.devexpress.com/coderush"&gt;&lt;strong&gt;CodeRush and Refactor!&lt;/strong&gt;&lt;/a&gt; (and &lt;a href="http://www.devexpress.com/Downloads/NET/DXCore/"&gt;DxCore&lt;/a&gt;) - Apparently my enthusiasm for CodeRush has been noticed by a few. It just keeps getting better. However, the best kept secret about CodeRush isn't all the shiny stuff, it's the free Extensibility Engine called DxCore that brings VS.NET plugins to the masses. Don't miss out on free add-ins like &lt;a href="http://www.paraesthesia.com/blog/comments.php?id=701_0_1_0_C"&gt;CR_Documentor&lt;/a&gt; and &lt;a href="http://www.sturmnet.org/blog/cr-electric-editing/"&gt;ElectricEditing&lt;/a&gt;.       &lt;ul&gt;       &lt;li&gt;Also, spend some time with &lt;a href="http://www.jetbrains.com/resharper/index.html"&gt;&lt;strong&gt;Resharper&lt;/strong&gt;&lt;/a&gt;. The fight between them and CodeRush is truly a religious one and folks SWEAR by R#. Try both and decide for yourself! &lt;/li&gt;        &lt;li&gt;CodeRush just added a cool new feature in 11.2 called &lt;a href="http://community.devexpress.com/blogs/markmiller/archive/2011/11/29/duplicate-detection-and-consolidation-in-coderush-for-visual-studio.aspx"&gt;Duplicate Detection and Consolidation&lt;/a&gt; for Visual Studio that looks extremely promising. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897434.aspx"&gt;&lt;strong&gt;ZoomIt&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- You need to present? Make your stuff seen. ZoomIt is so elegant and so fast, it has taken over as my #1 screen magnifier. Do try it, and spend more time with happy audiences and less time dragging a magnified window around. Believe me, I&amp;#39;ve tried at least ten different magnifiers, and ZoomIt continues to be the best. Even though there&amp;#39;s magnification built into Windows 7 via the &amp;quot;Window + Plus&amp;quot; key, I keep ZoomIt around so I can draw on the screen like &lt;a href="http://en.wikipedia.org/wiki/John_Madden_(football)"&gt;John Madden&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.fiddlertool.com/"&gt;&lt;strong&gt;Fiddler&lt;/strong&gt;&lt;/a&gt; - The easy, clean, and powerful debugging proxy for checking out HTTP between here and there. It even supports sniffing SSL traffic. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://mite.keynote.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Mite2&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - A free desktop-based tool for testing and verification of mobile Web content. A must have for sites that need broad mobile coverage. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://winmerge.org/"&gt;&lt;strong&gt;WinMerge&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; or &lt;/strong&gt;&lt;a href="http://www.scootersoftware.com/"&gt;&lt;strong&gt;BeyondCompare&lt;/strong&gt;&lt;/a&gt; - I'm a BeyondCompare person and have purchased it, but WinMerge is getting better and better. It's free, it's open source and it'll compare files and folders and help you merge your conflicted source code files like a champ.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://kdiff3.sourceforge.net/"&gt;&lt;strong&gt;KDiff3&lt;/strong&gt;&lt;/a&gt; is another free option with very configurable color schemas, multi-paned view, and it's cross platform on Linux, Windows and Mac. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.perforce.com/product/components/perforce_visual_merge_and_diff_tools"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Perforce Visual Merge&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; is free and also can diff images, which is pretty amazing. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://storm.codeplex.com/"&gt;&lt;strong&gt;Storm&lt;/strong&gt;&lt;/a&gt; - You test a lot of Web Services? Check out Storm, it's Open Source and written in F#, but it'll let you test Web Services (of course) written in anything. A fine way to smoke test multiple web services from a single place. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://chirpy.codeplex.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Chirpy&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font color="#238e23"&gt; &lt;/font&gt;&lt;/strong&gt;- &amp;quot;Mashes, minifies, and validates your JavaScript, stylesheet, and dotless files.&amp;quot; Integrates cleanly with Visual Studio and squishes everything! Don&amp;#39;t go live without compressing your content! Use along with &lt;a href="http://pnggauntlet.com/"&gt;&lt;font color="#238e23"&gt;PNGGauntlet&lt;/font&gt;&lt;/a&gt; for graphics.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://combres.codeplex.com/"&gt;&lt;font color="#238e23"&gt;Combres&lt;/font&gt;&lt;/a&gt; - &amp;quot;.NET library which enables minification, compression, combination, and caching of JavaScript and CSS resources for ASP.NET and ASP.NET MVC web applications.&amp;quot; &lt;/li&gt;        &lt;li&gt;&lt;font color="#238e23"&gt;&lt;a href="https://github.com/andrewdavey/cassette"&gt;Cassette by Andrew Davey&lt;/a&gt;&lt;/font&gt; - Does it all, compiles CoffeeScript, script combining, &lt;a href="https://github.com/andrewdavey/cassette/wiki/Getting-Started"&gt;smart about debug- and release-time&lt;/a&gt;. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://yuicompressor.codeplex.com/"&gt;&lt;font color="#238e23"&gt;YUICompressor&lt;/font&gt;&lt;/a&gt; - .NET Port that can compress on the fly or at build time. Also &lt;a href="http://nuget.org/List/Packages/YUICompressor.NET"&gt;on NuGet&lt;/a&gt;. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://ajaxmin.codeplex.com/"&gt;&lt;font color="#238e23"&gt;AjaxMin&lt;/font&gt;&lt;/a&gt; - Has MSBuild tasks and can be integrated into your project's build. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.codethinked.com/squishit-the-friendly-aspnet-javascript-and-css-squisher"&gt;&lt;font color="#238e23"&gt;SquishIt&lt;/font&gt;&lt;/a&gt; - Used at runtime in your ASP.NET applications' views and does magic at runtime. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.nirsoft.net/"&gt;&lt;strong&gt;NirSoft Utilities Collection&lt;/strong&gt;&lt;/a&gt; - Nearly everything NirSoft does is work looking at. My favorites are&lt;a href="http://www.nirsoft.net/utils/myuninst.html"&gt;MyUninstaller&lt;/a&gt;, a replacement for Remove Programs, and &lt;a href="http://www.nirsoft.net/utils/whois_this_domain.html"&gt;WhoIsThisDomain&lt;/a&gt;.       &lt;ul&gt;       &lt;li&gt;Also check out &lt;a href="http://www.nirsoft.net/utils/zipinst.html"&gt;ZipInstaller&lt;/a&gt;; it &lt;em&gt;installs utilities that don't provide their own installer&lt;/em&gt;! It creates icons, puts them in the folder you want and adds an uninstaller. &lt;/li&gt;        &lt;li&gt;You love to Ctrl-Scroll with your mouse to zoom the size of text, right? Why not use &lt;a href="http://www.nirsoft.net/utils/volumouse.html"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Volumouse&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; to control your system's sound volume with the mouse wheel. Magical. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.bugshooting.com"&gt;&lt;strong&gt;BugShooting&lt;/strong&gt;&lt;/a&gt; - Funny how you don't know if you need an application until you need one. BugShooting is very specific - it takes screenshots, sure, but more importantly it sends them directly into your Bug Tracking system. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://alinconstantin.dtdns.net/Download/WinCheat/"&gt;&lt;strong&gt;WinCheat&lt;/strong&gt;&lt;/a&gt; - Not a tool to cheat Windows or in games, WinCheat is like Spy++ in that it lets you dig deep into the internals of the PE format and the Win32 Windowing subsystems. I'm consistently surprised how often I need an app like this. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://converter.telerik.com/"&gt;&lt;strong&gt;Telerik Code Converter&lt;/strong&gt;&lt;/a&gt; - Website that converts C# to VB and VB to C#.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://www.carlosag.net/Tools/CodeTranslator/"&gt;&lt;strong&gt;CarlosAg's CodeTranslator&lt;/strong&gt;&lt;/a&gt; - One of the first, and many say, the best. An AJAXy Code Converter that'll do to and from C# and VB.NET. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.developerfusion.com/tools/convert/csharp-to-vb/"&gt;&lt;strong&gt;DeveloperFusion Code Converter&lt;/strong&gt;&lt;/a&gt; - This online utility will also convert .NET 3.5 Syntax and LINQ between C# and VB. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.kaxaml.com/"&gt;&lt;strong&gt;Kaxaml&lt;/strong&gt;&lt;/a&gt; - The original and still the most awesome notepad for XAML, a must for WPF or Silverlight developers. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.nuget.org"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;NuGet&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font color="#238e23"&gt; &lt;/font&gt;&lt;/strong&gt;- If you're using .NET you've gotta be using NuGet. It's Package Management for .NET and it's about time.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://npe.codeplex.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;NuGet Package Explorer&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - This essential NuGet Explorer installs quickly as a Click Once application and lets you open NuGet Packages, search the NuGet website directly as well as author specs and publish NuGet packages directly from the GUI. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/msbuildshellex"&gt;&lt;strong&gt;MSBuildShellExtension&lt;/strong&gt;&lt;/a&gt; - Really ought to be built in. Right-click on any .NET project and build it directly from Explorer. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.getfirebug.com/"&gt;&lt;b&gt;FireBug&lt;/b&gt;&lt;/a&gt; - Arguably the most powerful in-browser IDE available. It's a complete x-ray into your browser including HTML, CSS and JavaScript, all live on the page. A must have. It's on the list twice. Go get it.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://developer.yahoo.com/yslow/"&gt;&lt;strong&gt;YSlow for FireBug&lt;/strong&gt;&lt;/a&gt; - This fine little add-on from Yahoo not only includes &lt;a href="http://www.jslint.com/"&gt;JSLint&lt;/a&gt; (included on this list below) but more importantly analyzes your website for 13 different &lt;a href="http://developer.yahoo.com/performance/index.html#rules"&gt;rules for high performance web sites&lt;/a&gt;. Not every rule applies to us, but it's a great tool regardless. &lt;/li&gt;        &lt;li&gt;&lt;a href="https://chrome.google.com/webstore/detail/ninejjcohidippngpapiilnmkgllmakh"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;YSlow for Chrome&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;font color="#238e23"&gt; &lt;/font&gt;- The same YSlow you love, now for Chrome. &lt;/li&gt;        &lt;li&gt;Extend Firebug with &lt;a href="http://thedarkone.github.com/firepicker/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Firepicker&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; for easier color management for your CSS and Styles. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://chrispederick.com/work/firefox/webdeveloper/"&gt;&lt;strong&gt;WebDeveloper&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; for &lt;/strong&gt;&lt;a href="http://www.mozilla.org/products/firefox/"&gt;&lt;strong&gt;FireFox&lt;/strong&gt;&lt;/a&gt; - If you're the last developer to download FireFox, or you're holding off, WebDeveloper is a solid reason to switch to FireFox NOW. It's amazing and has to be used to be believed. It consolidates at least 2 dozens useful functions for those who sling ASP.NET or HTML. And if you're a CSS person, the realtime CSS editing is pretty hot. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://codepaste.net/"&gt;&lt;strong&gt;CodePaste.NET&lt;/strong&gt;&lt;/a&gt; - When you write code, you need to share it.       &lt;ul&gt;       &lt;li&gt;Also try &lt;a href="http://www.pastie.org/"&gt;&lt;strong&gt;Pastie&lt;/strong&gt;&lt;/a&gt; and &lt;a href="http://gist.github.com/"&gt;&lt;strong&gt;Gist&lt;/strong&gt;&lt;/a&gt; for sharing snippets. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.testdriven.net/"&gt;&lt;strong&gt;TestDriven.NET&lt;/strong&gt;&lt;/a&gt; (integrated with &lt;a href="http://www.ncoverexplorer.org/"&gt;&lt;strong&gt;NCoverExplorer&lt;/strong&gt;&lt;/a&gt;) - The perfect combination of Unit Testing with Visual Studio.NET. Right click and &amp;quot;Run Test.&amp;quot; The output window says &amp;quot;Build&amp;quot; then switches to &amp;quot;Test.&amp;quot; The best part, though, is &amp;quot;Test With...Debugger&amp;quot; as a right click that automatically starts up an external process runner, loads and starts your test. Compatible with NUnit, MBUnit and Team System. TD.NET also works with Silverlight. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://firstfloorsoftware.com/"&gt;&lt;strong&gt;Silverlight Spy&lt;/strong&gt;&lt;/a&gt; - If you ask anyone who does Silverlight, they'll say there's only one must-have tool. Silverlight Spy and this is it. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ncrunch.net/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;NCrunch&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Automated unit testing for .NET. Runs them in parallel and automatically, inserting the results inline inside Visual Studio. Familiar with Continuous Integration? Meet Continuous Testing. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sirenofshame.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Siren of Shame&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - If you've got a continuous integration server setup, you really need a way to guilt people that break the build. You need a Siren of Shame. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ndepend.com/"&gt;&lt;strong&gt;NDepend&lt;/strong&gt;&lt;/a&gt; - This amazing app does dependency analysis on your .NET application and presents the findings as a TreeMap. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.albahari.com/queryexpress.html"&gt;&lt;strong&gt;Query Express&lt;/strong&gt;&lt;/a&gt; - Wow, a Query Analyzer look-alike that doesn't suck, doesn't need an install, is wicked fast, is free and is only 100k. Pinch me, I'm dreaming. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://watintestrecord.sourceforge.net/"&gt;&lt;strong&gt;WatiN Test Recorder&lt;/strong&gt;&lt;/a&gt; - &lt;a href="http://watin.sourceforge.net/"&gt;WatiN&lt;/a&gt; is Web Application Testing in .NET, and this Test Recorder will generate chunks of source for you by recording your clicks in an embedded IE browser. It makes &lt;a href="http://www.hanselman.com/blog/NewReleaseOfWatirMakerNowWatirRecorder.aspx"&gt;my old WatirRecorder pale in comparison&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sliver.com/dotnet/snippetcompiler/"&gt;&lt;strong&gt;Jeff Key's Snippet Compiler&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Sits quietly waiting for you to test a quick snippet of code or algorithm.  No need to even start VS.NET! Jeff hasn&amp;#39;t updated it in a while, but perhaps its *re-inclusion* on this list will pressure him to get working on it again. &lt;em&gt;Seriously. Jeff. Give it to me and I'll update it myself.&lt;/em&gt; &lt;em&gt;Let's do this!!!&lt;/em&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sharpcrafters.com/postsharp/download"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;PostSharp&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt; - Take your code beyond code generation and stay DRY with aspect oriented programming. Inject repetitive code directly into your application with frameworks that cross cut concerns. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.helpandmanual.com/"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;Help+Manual&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt; - There's few good options for creating Help Files on Windows but while Help+Manual does cost money, it's a pretty amazing and complete system.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://www.helpndoc.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;HelpNDoc&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Not sure how I missed this one. &lt;em&gt;Free &lt;/em&gt;for personal use and greats PDFs, CHMs, and more. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://code.google.com/p/treetrim/"&gt;&lt;strong&gt;TreeTrim&lt;/strong&gt;&lt;/a&gt; or &lt;a href="http://www.codinghorror.com/blog/archives/000368.html"&gt;&lt;strong&gt;Jeff Atwood's CleanSourcesPlus&lt;/strong&gt;&lt;/a&gt; - Jeff extends on &lt;a href="http://www.shahine.com/omar"&gt;Omar&lt;/a&gt;'s idea of a quick Explorer utility that lets you right click on any folder with code in it and get your bin,obj,debug,release directories blown away. Jeff's includes configuration options for deleting things like Resharper folders and Source Control bindings. TreeTrim is a similar command-line tool for cleaning up, but on steroids, including a plugin model. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/"&gt;&lt;strong&gt;Visual Studio Gallery&lt;/strong&gt;&lt;/a&gt; - All the world's extensions to Visual Studio in one place, and ranked by the public. Easy to search and sort. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.devart.com/dbforge/sql/sqlcomplete/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;SQL Complete&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Adds Intellisense to SQL Server Management Studio and it's free. How can you not like that? &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.filehelpers.com/"&gt;&lt;strong&gt;FileHelpers&lt;/strong&gt;&lt;/a&gt; - This open source library is the easiest way I've found to get data out of fixed-length or delimited text files and into Sql or Excel. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://memprofiler.com/"&gt;&lt;strong&gt;MemProfiler&lt;/strong&gt;&lt;/a&gt; - The amount of information this tool offers is obscene. We used this at my last job to track down a number of funky memory leak &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&amp;amp;displaylang=en"&gt;&lt;strong&gt;LogParser&lt;/strong&gt;&lt;/a&gt; - Get to know it, as it's a free command-line tool from Microsoft that lets you run SQL queries against a variety of log files and other system data sources, and get the results out to an array of destinations, from SQL tables to CSV files. I &lt;a href="http://www.hanselman.com/blog/ParsingMyIISLogFilesWithLogParser22ToLearnMoreAboutBlogsStatsFromNewsGatorAndNewsGatorOnline.aspx"&gt;dig it and use it to parse my own logs&lt;/a&gt;       &lt;ul&gt;       &lt;li&gt;LogParser is good, we know, but &lt;a href="http://www.hanselman.com/blog/AnalyzeYourWebServerDataAndBeEmpoweredWithLogParserAndLogParserLizardGUI.aspx"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;LogParserLizard&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; is great. LogParserLizard is a &lt;a href="http://www.lizard-labs.net/log_parser_lizard.aspx"&gt;GUI for LogParser and a free download&lt;/a&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;The Angle Bracket Tax (XML/HTML Stuff)&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;Without an XML Schema, you might as well replace all those &amp;lt; and &amp;gt; signs with quotes and commas, &amp;#39;cuz that&amp;#39;s what you&amp;#39;ve got - just less-than/greater-than-delimited text.&amp;quot; - Scott Hanselman&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=MVPXML"&gt;&lt;strong&gt;XPathMania&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; and Mvp.XML &lt;/strong&gt;- This is an extension to the XML Editor within Visual Studio 2005 that allows you to execute XPath queries against the current document dynamically. Created under the &lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=MVPXML"&gt;Mvp.Xml umbrella project&lt;/a&gt; - also a kickbutt XML extension library. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sketchpath.com/"&gt;&lt;strong&gt;SketchPath for XPath&lt;/strong&gt;&lt;/a&gt; - SketchPath does for XPath what &lt;a href="http://osherove.com/tools/"&gt;Regulator&lt;/a&gt; did for Regular Expressions. It's totally hardcore. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.altova.com/xmlspy.html"&gt;&lt;strong&gt;XmlSpy&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Just buy it. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.iis.net/extensions/SEOToolkit"&gt;&lt;strong&gt;Search Engine Optimization (SEO) Toolkit&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Got broken links on your site? Is your HTML SEO optimized? This fantastic free tool answers all these questions and hundreds more as it chews your angle brackets for you, creating flexible reports and a full queryable database of your site. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://chrome.google.com/webstore/detail/eeocglpgjdpaefaedpblffpeebgmgddk"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;XML Viewer for Google Chrome&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Like Google Chrome but miss IE's XML text viewer? Here's a XML Viewer as a Chrome Extension. Take control. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Visual Studio Add-Ins&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;This one goes to eleven...&amp;quot; - Nigel Tufnel&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;Productivity Power Tools&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt; - Add a dozen cool new enhancements to Visual Studio 2010 and get a pick of the next version of Visual Studio. Improved Find, middle click scrolling, improved refactorings, an all new Solution Navigator, new tabs and much more. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/6ed4c78f-a23e-49ad-b5fd-369af0c2107f?SRC=Home"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Web Essentials&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Add Live Web Preview, improved CSS editing, color preview, font preview and lots more to Visual Studio with this lightweight and actively developed &amp;quot;playground&amp;quot; extension. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c?SRC=Home"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;NuGet Package Manager&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - NuGet integrates into the References node of the Solution Explorer, enables Package Management and brings PowerShell directy into to Visual Studio. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83?SRC=Home"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Web Standards Update&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; -  Update Visual Studio with support for HTML5 and CSS3. Add intellisense and validation to the editors for JavaScript, CSS3 and HTML. Lots of little details as well as vendor specific prefixes for CSS. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/872d27ee-38c7-4a97-98dc-0d8a431cc2ed?SRC=Home"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;JScript Editor Extensions&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Bundles lots of new features into the Visual Studio 2010 JavaScript editor like brace matching, work highlighting, intellisense doc comments, and more. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.mindscapehq.com/products/web-workbench"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Web Workbench with Sass, Less and CoffeeScript&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Teach Visual Studio 2010 all about Sass, Less and CoffeeScript with this free addin from MindScape. You'll wonder how you lived with out these technologies and be impressed how seamlessly they integrate. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/60297607-5fd4-4da4-97e1-3715e90c1a23?SRC=Home"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;tangible T4 Editor&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - It's a crying shame that T4 templates don't get syntax-highlighting in Visual Studio. Cry no more. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;VsVim&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Obsessed with the Vim editor but also like Visual Studio? Why not like them both? It's also open source. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://stylecop.codeplex.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;StyleCop&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - StyleCop analyzes C# source code to enforce a set of style and consistency rules. It can be run from inside of Visual Studio or integrated into an MSBuild project. Totally useful by yourself or with a team. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://research.microsoft.com/en-us/projects/pex/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Pex&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Amazing Visual Studio addin that finds edge cases in your code that ordinary unit testing never can. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Regular Expressions&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Some people, when confronted with a problem, think &amp;quot;I know, I&amp;#39;ll use regular expressions.&amp;quot; Now they have two problems.  - &lt;a href="http://twitter.com/jwz"&gt;Jamie Zawinski&lt;/a&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.digitalvolcano.co.uk/content/textcrawler"&gt;&lt;strong&gt;TextCrawler&lt;/strong&gt;&lt;/a&gt; - I used to use &lt;a href="http://www.funduc.com/search_replace.htm"&gt;&lt;strong&gt;Funduc's Search and Replace&lt;/strong&gt;&lt;/a&gt; for multi-file search and replace with regular expressions, but somehow the interface of TextCrawler is more intuitive to me. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.nregex.com/"&gt;&lt;strong&gt;David Seruyange&amp;#39;s &amp;quot;NRegEx&amp;quot; Ajax-based RegEx Tester&lt;/strong&gt;&lt;/a&gt; - An very minimalist online Ajax-based ASP.NET site, I keep turning to this via a bookmark when I want to test a quick RegEx. It'll tell me how a RegEx will work in .NET. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://gskinner.com/RegExr/"&gt;&lt;strong&gt;gSkinner&lt;/strong&gt;&lt;/a&gt; - An amazing Flash-based online RegEx tool for writing and testing RegEx. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.rexv.org/"&gt;&lt;b&gt;RexV&lt;/b&gt;&lt;/a&gt; - Another excellent, better laid out RegEx evaluator, useful for RegEx's that'll run in JavaScript. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ultrapico.com/Expresso.htm"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Expresso&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Almost 8 years old and extremely mature, Expresso is now free! &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.osherove.com/tools"&gt;&lt;strong&gt;Roy Osherove's Regulator&lt;/strong&gt;&lt;/a&gt; - Roy entered the RegEx fray with a bang, and with syntax highlighting and web services integration with regexlib.com. The very definition of slick.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://osherove.com/tools/"&gt;&lt;strong&gt;Regulazy&lt;/strong&gt;&lt;/a&gt; - Currently at version 1.01, this tool is a great way for newbies to start using Regular Expressions. Write regular expressions without prior knowledge of the syntax! &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://resourcesmix.info/big-collection-of-regular-expressions-toolbox-regex/"&gt;&lt;strong&gt;Collection of Regular Expressions Toolbox&lt;/strong&gt;&lt;/a&gt; - When I'm overwhelmed, I start here. A huge list of all the basics of Regular Expressions, laid out cleanly and logically. I also like these &lt;a href="http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/"&gt;8 Regular Expressions You Should Know&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sellsbrothers.com/Posts/Details/12425"&gt;&lt;strong&gt;RegexDesigner.NET from Chris Sells&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Simple, elegant, small. A great little application. &lt;em&gt;Almost 10 years old, and still useful.&lt;/em&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Launchers&lt;/h3&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Scott's Note: &lt;/strong&gt;Personally, I'm all about Windows 7 now, so I'm not using a 3rd party launcher any more as I don't see the need. However, here are some stand-outs I've used in the past that you might want to check out.&lt;/em&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;Oh, yes, little Bobby Tables, we call him.&amp;quot; - &lt;a title="http://xkcd.com/327/" href="http://xkcd.com/327"&gt;http://xkcd.com/327&lt;/a&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.bayden.com/SlickRun/"&gt;&lt;strong&gt;Slickrun&lt;/strong&gt;&lt;/a&gt; - still the sexy favorite, this little floating magic bar keeps me moving fast, launching programs, macros and explorer with its shiny simplicity.       &lt;br&gt;Tell them I sent you.       &lt;ul&gt;       &lt;li&gt;Also available is an Open Source project called &lt;a href="http://code.google.com/p/magicwords/"&gt;&lt;strong&gt;MagicWords&lt;/strong&gt;&lt;/a&gt; (not updated since Feb 07) that looks similar to SlickRun. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://slimcode.com/cs/blogs/martin/default.aspx"&gt;Martin Plante&lt;/a&gt; has created &lt;a href="http://www.slimcode.com/"&gt;&lt;strong&gt;SlimKeys&lt;/strong&gt;&lt;/a&gt; and continues to innovate his a &amp;quot;universal hotkey manager&amp;quot; with a .NET plugin architecture. If you&amp;#39;ve got ideas or thoughts, &lt;a href="http://slimcode.com/cs/forums/"&gt;visit the slimCODE Forums&lt;/a&gt;.       &lt;br&gt;Have you ever wanted to bind something to Shift-Ctrl-Alt-Window-Q but didn't know how to grab a global hotkey? This will launch programs, watch folders, and find files. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.promptulauncher.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Promptu&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- A new entry into the lauching space, promptu ups the ante with new features like syncing between computers. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://humanized.com/enso/"&gt;&lt;strong&gt;Humanized Enso&lt;/strong&gt;&lt;/a&gt; - Unquestionably the smoothest and most interesting user interface of the launchers, Enso pops up as the Caps-Lock key is held down, and performs the command when the key is released. It takes a minute to understand, but it&amp;#39;s a very clean UI metaphor. They are now bringing Enso&amp;#39;s metaphor to Firefox as &amp;quot;&lt;a href="http://ubiquity.mozilla.com/"&gt;Ubiquity&lt;/a&gt;.&amp;quot; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://colibri.leetspeak.org/"&gt;&lt;strong&gt;Colibri&lt;/strong&gt;&lt;/a&gt; - The closest thing so far, IMHO, to &lt;a href="http://quicksilver.blacktree.com/"&gt;Quicksilver&lt;/a&gt; on Windows, although this little gem has a slow startup time, it runs &lt;em&gt;fast&lt;/em&gt;! It&amp;#39;s being actively developed and promises integration with a dozen third party programs. It also formally supports &amp;quot;Portable Mode&amp;quot; for those of you who like to carry your apps around on a USB key. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.launchy.net/"&gt;&lt;strong&gt;Launchy&lt;/strong&gt;&lt;/a&gt; - Another do it all application, Launchy binds to Alt-Space by default. This app also has the potential to be Quicksilver like if it start including support for stringing together verb-noun combos. It's pretty as hell and totally skinnable (there's TWO Quicksilver skins included!) &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Stuff I Just Dig&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;Great googlely moogley!&amp;quot; - Johnny Carson&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.hulu.com/labs/hulu-desktop"&gt;&lt;strong&gt;Hulu Desktop&lt;/strong&gt;&lt;/a&gt; - Forgive me ahead of time if you don&amp;#39;t live in the US, but Hulu Desktop is so awesome it&amp;#39;s insane. It&amp;#39;s all the goodness of Hulu including TV shows and movies, with the &amp;quot;lean-back&amp;quot; convenience of a Media Center. Seriously, tell your friends. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.electricplum.com/dlsim.html"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Electric Plum iPhone Mobile Simulator&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - A nice little iOS browsing experience emulator. Saves me time when writing jQuery Mobile sites.       &lt;ul&gt;       &lt;li&gt;I also use the &lt;a href="http://www.opera.com/developer/tools/mobile/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Opera Mobile Emulator&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; to see how my sites will turn out on small or tablet devices. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.utorrent.com/"&gt;&lt;strong&gt;µTorrent&lt;/strong&gt;&lt;/a&gt; - I say &amp;quot;u-torrent&amp;quot; but I suppose &amp;quot;micro-torrent&amp;quot; is more correct. When you need a BitTorrent Client to download your &lt;a href="http://www.legaltorrents.com/"&gt;Legal Torrents&lt;/a&gt; or &lt;a href="http://www.hanselminutes.com/"&gt;my podcast torrent&lt;/a&gt;, there's no better, faster, cleaner or more powerful client out there. Love it. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.zabkat.com/"&gt;&lt;strong&gt;xplorer2&lt;/strong&gt;&lt;/a&gt; - Norton Commander-like functionality for Windows. It's one better than Explorer. There's 32-bit and 64-bit versions and it supports Windows 7. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.rescuetime.com/"&gt;&lt;strong&gt;RescueTime&lt;/strong&gt;&lt;/a&gt; - Are you productive? Are you spending time on what you need to be spending time on? RescueTime keeps track of what you are doing and tells you just that with fantastic reports. Very good stuff if you're trying to GTD and TCB. ;) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://store.esellerate.net/a.asp?c=1_SKU22989555596_AFL2982561895&amp;amp;at="&gt;&lt;strong&gt;SyncBack&lt;/strong&gt;&lt;/a&gt; - How can you not like a company named 2BrightSparks? There's a &lt;a href="http://store.esellerate.net/a.asp?c=1_SKU22989555596_AFL2982561895&amp;amp;at="&gt;Freeware SE version&lt;/a&gt; as well. Golden, with a clean crisp configuration UI, I use this tool internally for scheduled backups and syncs between machines within my family network. &lt;/li&gt;    &lt;li&gt;Tortoise source control for all!      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://tortoisehg.bitbucket.org/"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;TortoiseHG&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt; - a Windows shell extension for Mercurial source control. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://tortoisesvn.net/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;TortoiseSVN&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - a Windows shell extension for Subversion source control &lt;/li&gt;        &lt;li&gt;&lt;a href="http://code.google.com/p/tortoisegit/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;TortoiseGit&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - What's that? Oh, yes, a Windows shell extension for Git source control. When you just gotta have a GUI and you &lt;strike&gt;love&lt;/strike&gt; tolerate Explorer. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Don't like to mix your source control and your Explorer? Then integrate your favorite SCC into Visual Studio!      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://visualhg.codeplex.com/"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;VisualHG&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt; - Source Control Plugin for Visual Studio and Mercurial &lt;/li&gt;        &lt;li&gt;&lt;a href="http://ankhsvn.open.collab.net/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;AnkhSVN&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Subversion + Visual Studio = Crazy Delicious &lt;/li&gt;        &lt;li&gt;&lt;a href="http://gitscc.codeplex.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;GitSCC&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Git source control tools inside Visual Studio? Linus would be mad, but we're happy! &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://etherpad.com/"&gt;&lt;strong&gt;EtherPad&lt;/strong&gt;&lt;/a&gt; is gone but they've put it up a fork at &lt;a href="http://piratepad.net"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;PiratePad&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - This web-based multi-person interactive notepad has quickly become my #1 tool for brainstorming online with my remote team. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.timesnapper.com/"&gt;&lt;strong&gt;TimeSnapper&lt;/strong&gt;&lt;/a&gt; - Tivo for your desktop? Kind of. TimeSnapper can't give you files back, but it'll take a screenshot in the background at user-configurable intervals and let you answer the burning question - What was I doing all day at work? Free and only 80k. Another brilliant idea blatantly stolen off my list of things to do and executed by folks more clever than I. Kudos. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://icofx.ro/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;IcoFx&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - There is just no better icon editor for Windows out there. Any input, any output, it's super modern and just works. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.jingproject.com/"&gt;&lt;strong&gt;Jing&lt;/strong&gt;&lt;/a&gt; - Jing is a weird little app that is a screenshot app, a screencast app and a sharing app. It's incredibly easy to use and includes a free account at screencast.com for sharing your videos. It keeps pulling me back into it's strange gravity. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ntwind.com/software/winsnap.html"&gt;&lt;strong&gt;WinSnap&lt;/strong&gt;&lt;/a&gt; and &lt;a href="http://www.windowclippings.com/"&gt;&lt;strong&gt;Window Clippings&lt;/strong&gt;&lt;/a&gt; - I'm &lt;strong&gt;torn &lt;/strong&gt;between two of the finest screenshot utilities I've ever found. WinSnap has as many (or as few) options as you'd like. Also does wonders with rounded corners and transparency, as does Window Clippings. Both include a 32-bit and 64-bit version, as well as a portable no-install version and WinSnap offers Windows 7 taskbar features. However, Window Clippings also has no install, includes 32 and 64-bit, has a plugin model and is only $18. It's a tough one. I use Window Clippings at least daily, and I use WinSnap a few times a week. &lt;strong&gt;Both &lt;/strong&gt;these apps are worth your download.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://shotty.devs-on.net"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Shotty&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Shotty is another great little screenshot utility with a nicely streamlined workflow. Most importantly, it also does transparent PNGs and respects Aero glass. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.babysmash.com/"&gt;&lt;strong&gt;BabySmash!&lt;/strong&gt;&lt;/a&gt; - OK, I snuck it in. So sue me. It's not a tool, or is it? If you've got an infant and you need to entertain them while you sneak in some coding, it's invaluable. ;) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.gbridge.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;GBridge&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - I used to use &lt;a href="http://www.hanselman.com/blog/www.hamachi.cc"&gt;&lt;font color="#238e23"&gt;Hamachi&lt;/font&gt;&lt;/a&gt; as a private VPN system to log into multiple machines across my personal networks but I've recently started preferring GBridge. It gives you VPN, VNC, and file sharing security over Google's GTalk network. Ya, crazy, I know. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://they.misled.us/dark-room"&gt;&lt;strong&gt;DarkRoom&lt;/strong&gt;&lt;/a&gt; - When I just want everything to go away so I can think, I don't just want a clean desktop, I want a Dark Room to work in. I love this text editor for getting my thoughts straight. I also use it for more dramatic presentations. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.foxitsoftware.com/pdf/rd_intro.php"&gt;&lt;strong&gt;Foxit Reader for Windows&lt;/strong&gt;&lt;/a&gt; - Fast as hell. Version 3.1 is even better. This little PDF reader requires no installer and is tiny and fast. Did I mention fast? Good bye, Acrobat. Sorry. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://frickinsweet.com/tools/Theme.mvc.aspx#link"&gt;&lt;strong&gt;Visual Studio Theme Generator&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; and &lt;/strong&gt;&lt;a href="http://www.hanselman.com/blog/VisualStudioProgrammerThemesGallery.aspx"&gt;&lt;strong&gt;Best Visual Studio Themes&lt;/strong&gt;&lt;/a&gt; - This online application will actually dynamically generate a new Visual Studio color theme file for you. Or you can download a hand-built one and make Visual Studio yours. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://lpg.ticalc.org/prj_tiemu/"&gt;&lt;strong&gt;Virtual TI-89 [Emulator]&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Sometimes CALC.EXE doesn't cut it, and I want a REAL scientific calculator for Windows, so I emulate the one I used in college. Nerdy? Yes. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://vs2010wallpapers.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Visual Studio 2010 Wallpapers&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- A site dedicated to making your desktop pretty with community-submitted Visual Studio wallpapers? What else could you want? &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.videolan.org/vlc/"&gt;&lt;strong&gt;VLC Media Player&lt;/strong&gt;&lt;/a&gt; - Screw all other media players. When you just want to watch video. Bam. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://farmanager.com/?l=en"&gt;&lt;strong&gt;FAR File Manager&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Norton Commander is back, it is still text mode, it's still lightning speed and it's from the makers of &lt;a href="http://www.rarlab.com/"&gt;RAR&lt;/a&gt; File Archiver. I'll race you. I get FAR, you get Explorer. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.skype.com/"&gt;&lt;strong&gt;Skype&lt;/strong&gt;&lt;/a&gt; - Internet VOIP Calls with better sound than the POTS phone? Free? Conference calls as well? Sign me up. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.dosbox.com/"&gt;&lt;strong&gt;DOSBox&lt;/strong&gt;&lt;/a&gt; - When you're off floating in 64-bit super-Windows-7-Ultimate land, sometimes you forget that there ARE some old programs you can't run anymore now that DOS isn't really there. Enter DOSBox, an x86 DOS Emulator! Whew, now I can play Bard's Tale from 1988 on Windows 7 from 2009. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.cygwin.com/"&gt;&lt;strong&gt;Cygwin&lt;/strong&gt;&lt;/a&gt; - Remind yourself of your roots and give yourself a proper Unix prompt within Windows. However, it's less about the prompt as it is about the wealth of command-line tools you'll gain access to. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.tomighty.org/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Tomighty&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - The &lt;a href="http://www.hanselman.com/blog/HanselminutesPodcast268PersonalSystemsOfOrganizationReyBangoInterviewsScottHanselman.aspx"&gt;Pomodoro Technique&lt;/a&gt; is a great way to stay focused and really get things done. There's dozens of timers to support your Pomodoro habit but Tomighty is the best. Just works. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/expression/products/SketchFlow_OverView.aspx"&gt;&lt;strong&gt;SketchFlow&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; or &lt;/strong&gt;&lt;a href="http://www.balsamiq.com/"&gt;&lt;strong&gt;Balsamiq&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- All good designs started out as sketches, but rather than using paper and pencil, use a UX (User Experience) sketching tool to decide what your application should look like and how it should behave.       &lt;ul&gt;       &lt;li&gt;Others to check out are &lt;a href="http://www.evolus.vn/Pencil/Home.html"&gt;Pencil&lt;/a&gt; for UI prototyping and &lt;a href="http://www.ixedit.com/"&gt;IxEdit&lt;/a&gt; for interaction design without JavaScript. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.fineprint.com/"&gt;&lt;strong&gt;FinePrint&lt;/strong&gt;&lt;/a&gt; - This virtual printer lets you save paper, print booklets, delete pages and graphics, and provides print preview for every application. I love these guys so much it's inappropriate. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.fraps.com/"&gt;&lt;strong&gt;Fraps&lt;/strong&gt;&lt;/a&gt; - DirectX video capture! Exactly what you need when you want full screen video of a DirectX or OpenGL application. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/expression/products/Encoder_Overview.aspx"&gt;&lt;strong&gt;Expression Encoder 3&lt;/strong&gt;&lt;/a&gt; - When I do videos for the web, I record in 720p but I squish all my stuff with Expression Encoder. Version 3 added screen capture as well as better H.264 support. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.torproject.org"&gt;&lt;strong&gt;Tor Anonymous Browsing&lt;/strong&gt;&lt;/a&gt; - This tool lets your anonymous your web browsing and publishing. Use it when you're on the road, or staying in a hotel. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Low-Level Utilities&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;If you know how to use Process Monitor competently, people of both sexes will immediately find you more attractive.&amp;quot; - Scott Hanselman&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;The &lt;a href="http://www.ultimatebootcd.com/"&gt;&lt;strong&gt;Ultimate Boot CD&lt;/strong&gt;&lt;/a&gt; and the &lt;a href="http://www.ubcd4win.com/"&gt;&lt;strong&gt;Ultimate Boot CD for Windows&lt;/strong&gt;&lt;/a&gt; - I've downloaded and saved everything from BootDisk.com, including Win95 and Win98 boot disks and a DOS 6.22 disk. The boot CDs are life-savers and should be taken to all family gatherings where the relatives KNOW you're a computer person. They'll expect you to save their machines before the turkey is served.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://www.hiren.info/pages/bootcd"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Hiren's BootCD&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - More up to date and more hardcore, Hiren's BootCD is essential for saving machines from rootkits and other evil. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.dban.org/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Derek's Boot and Nuke&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - When you just need to completely torch a machine and you don't want to use a hammer. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.nirsoft.net/utils/blue_screen_view.html"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;BlueScreenView&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font color="#238e23"&gt; &lt;/font&gt;&lt;/strong&gt;- Got a Windows crash dump from a blue screen and you really want to know what &lt;em&gt;really &lt;/em&gt;happened? BlueScreenView almost always can tell you the culprit. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.headbands.com/gspot/"&gt;&lt;strong&gt;GSpot&lt;/strong&gt;&lt;/a&gt; - If you are Deeply Interested in know what codec that video is using, GSpot will likely be able to tell you more than you could possible care to. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.nu2.nu/pebuilder/"&gt;&lt;strong&gt;Bart's Preinstalled Enviroment (BartPE)&lt;/strong&gt;&lt;/a&gt; - Ever want to just boot quickly off a CD and get some data off an NTFS drive? What about network access? This is a bootdisk you'll keep in your bag all the time. Unfortunately, it's not been updated in a while, but I keep it around anyway. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.dll-files.com/"&gt;&lt;strong&gt;DllFiles&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- You never know when you might need an old-ass dll. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://pinvoke.net/"&gt;&lt;strong&gt;PInvoke.NET&lt;/strong&gt;&lt;/a&gt; - When you've got to call into a system DLL from managed code, at least do it with the help of this wiki that's FULL of the correct DllImport statements. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://handbrake.fr/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;HandBrake&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - There's dozens of video converters out there but I keep coming back to HandBrake. Great way to make those 8 processor machines work hard. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://curl.haxx.se/"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;cURL&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt; - Throw this in your PATH right away. You never know when you want to issue an HTTP request from the command line. Once you know you can, you'll do it all the time. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blois.us/Snoop/"&gt;&lt;strong&gt;Snoop&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; and &lt;/strong&gt;&lt;a href="http://karlshifflett.wordpress.com/mole-for-visual-studio/"&gt;&lt;strong&gt;Mole&lt;/strong&gt;&lt;/a&gt; - These amazing WPF developer utilities help you visually debug your applications at runtime. What's on top of what? Where's that panel? These are how you find out. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.silurian.com/win32/inspect.htm"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;InspectExe&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Explore and diagnose problems with Win32 applications. Display all import and export functions of an executable file, shows function definition for decorated (mangled) function names. Sometimes you just gotta crack it open. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://doom9.net/"&gt;&lt;strong&gt;DVDDecrypter&lt;/strong&gt;&lt;/a&gt; and other utils -  When you just need to make an archival backup copy of a DVD.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://www.pspvideo9.com/"&gt;PSPVideo9&lt;/a&gt; - Meant for the Playstation Portable, this utility is more useful that you think. It creates MP4 squished video you can use anywhere. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.wireshark.org/"&gt;&lt;strong&gt;WireShark&lt;/strong&gt;&lt;/a&gt; - Used to be called Ethereal, but it's Wireshark. Very free, and very good. Although, I've needed it less and less as I find myself using... &lt;/li&gt;    &lt;li&gt;...the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=983b941d-06cb-4658-b7f6-3088333d062f&amp;amp;displaylang=en"&gt;&lt;strong&gt;Microsoft Network Monitor 3.3&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Version 3.x was a fine upgrade to NetMon, overhauling the guts. This is a very full featured sniffer and I've never had a problem with it. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.bitvise.com/tunnelier-download"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Bitvise Tunnelier SSH Client&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Lots of folks use Putty to SSH into things, but frankly, it's hard. Bitvise Tunnelier will handle anything you can throw at it. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://sectools.org/"&gt;&lt;strong&gt;Top 125 Network Security Tools&lt;/strong&gt;&lt;/a&gt; - Ever useful network security tool there is in a fantastic list. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.soluto.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Soluto&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - This is the prettiest and highest-level &amp;quot;low-level&amp;quot; utility you&amp;#39;ll ever use. It analyses all the things that happen during your system&amp;#39;s boot and rearranges, delays, defers and speeds up your boot by analyzing what worked for everyone else using the tool. A social network for your boot process? Madness. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653"&gt;&lt;strong&gt;Process Explorer&lt;/strong&gt;&lt;/a&gt; - The ultimate replacement for TaskManager. Includes the amazing Find DLL feature to find out what processes have your DLL in memory. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/technet/sysinternals/Miscellaneous/Strings.mspx"&gt;&lt;strong&gt;Strings&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Gives you more detail that you can handle about text hidden within binaries. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Websites and Bookmarklets&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;So why is “Shut down” on the Start menu? When we asked people to shut down their computers, they clicked the Start button. Because, after all, when you want to shut down, you have to start somewhere.&amp;quot; - Raymond Chen&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://jsfiddle.net/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;JSFiddle&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Sometimes you just want to fiddle with JavaScript. Fire up a text editor, IDE or Firebug? Naw, man. Use JSFiddle, load your framework of choice and get to work. HTML, CSS and JavaScript plus your results. Then share with a friend! &lt;/li&gt;    &lt;li&gt;&lt;a href="http://bit.ly/"&gt;&lt;strong&gt;Bit.ly&lt;/strong&gt;&lt;/a&gt; - All the goodness of TinyUrl with statistics, real-time tracking, accounts and much, much more. If you get a Bit.ly url, add a + to the end of it to see lots of statistics! &lt;/li&gt;    &lt;li&gt;&lt;a href="http://markup.io/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Markup.io&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - So smart. Got a webpage to markup? Don't download an app. Use this bookmarklet, mark it up directly in the browser, then share a marked up URL. Magic. &lt;a href="http://markup.io/v/tjy07ajt25pe"&gt;Like this&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://browsershots.org/"&gt;&lt;strong&gt;BrowserShots&lt;/strong&gt;&lt;/a&gt; - What's your site look like in MSIE4.0? Opera 9.64? This site will show you. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.visibone.com/"&gt;&lt;strong&gt;Visibone HTML/JavaScript Reference&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- These guys make a great physical paper reference, but they also have a great .HTML file you can download for free that has ASCII charts and Color references.  It&amp;#39;s a link I keep close by. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://stackoverflow.com/"&gt;&lt;strong&gt;StackOverflow&lt;/strong&gt;&lt;/a&gt; - Get your questions answered here! If you haven't heard, you better ask someone. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://ondras.zarovi.cz/sql/demo/"&gt;&lt;strong&gt;SQL Designer&lt;/strong&gt;&lt;/a&gt; - A web-based DHTML/AJAX SQL Entity Relationship Designer that exports .SQL files. Seriously. Drink that in, then visit it. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://viewpure.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;ViewPure&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Watch a YouTube video. Just the video and not the rest of the crap or ads or other videos around it. It's readability for YouTube. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.bugmenot.com/"&gt;&lt;strong&gt;BugMeNot&lt;/strong&gt;&lt;/a&gt; - Being forced to log into a website or news organization but you don't have a username or don't want one? BugMeNot. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sprymedia.co.uk/article/Design"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Design&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Overlay grids, rules, and crosshairs on your Web Site design, using only a bookmarklet. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://del.icio.us/shanselman"&gt;&lt;strong&gt;Del.icio.us&lt;/strong&gt;&lt;/a&gt; - A social distributed bookmarks manager. It took me a bit to get into it, but their &lt;a href="http://del.icio.us/doc/about"&gt;Bookmarklets&lt;/a&gt; that you drag into your Links toolbar won me over. All my bookmarks are here now and I can always find what I need, wherever I am. Very RESTful. I have used this for YEARS.       &lt;ul&gt;       &lt;li&gt;Be sure to get their &lt;a href="http://delicious.com/help/tools"&gt;Del.icio.us IE Buttons&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt; and &lt;a href="http://delicious.com/help/tools"&gt;shiny extensions&lt;/a&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://kuler.adobe.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Kuler&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - A wonderful color scheme chooser for when you aren't a designer but you wish you were. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://colorschemedesigner.com/"&gt;&lt;strong&gt;Color Scheme Designer&lt;/strong&gt;&lt;/a&gt; - I'm not a designer and I have no style, but I do know what I like. This site makes it easy to brainstorm, design and tweak a color scheme for your next big project. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://smtp4dev.codeplex.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;smtp4dev&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - I often write apps that fire out emails and notifications. It's great to fire up a little SMTP mail server and have the emails delivered to a local folder. Great for testing and debugging anything that sends mail. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://html5boilerplate.com/"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;HTML5 Boilerplate&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- A good place to start when you're learning about HTML5 and are ready to create sites that look great and work great everywhere. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.typetester.org"&gt;&lt;strong&gt;TypeTester&lt;/strong&gt;&lt;/a&gt; - The very best way to compare up to three different web-typefaces.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://www.myfonts.com/WhatTheFont/"&gt;&lt;strong&gt;What the Font?&lt;/strong&gt;&lt;/a&gt; - This website will let you upload an image with a font and it'll guess (usually right) what font it is. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://speckyboy.com/2009/02/16/32-indispensable-bookmarklets-for-web-developers-and-designers/"&gt;&lt;strong&gt;32 Bookmarklets for Web Designers&lt;/strong&gt;&lt;/a&gt; - I use these when I'm DEEP into some thing CSSy and it's tearing me apart. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.downforeveryoneorjustme.com/"&gt;&lt;strong&gt;http://www.downforeveryoneorjustme.com/&lt;/strong&gt;&lt;/a&gt; - Is that Website Down For Everyone Or Just Me? Enough said. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.quirksmode.org/"&gt;&lt;strong&gt;QuirksMode&lt;/strong&gt;&lt;/a&gt; - Over 150 pages of details on CSS and JavaScript. When my brain is overflowing with the HTML of it all, I head here. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://builtwith.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;BuiltWith&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - What was that site BUILT WITH? &lt;/li&gt;    &lt;li&gt;&lt;a href="http://maps.google.com/"&gt;&lt;strong&gt;Google Maps&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; + &lt;/strong&gt;&lt;a href="http://www.housingmaps.com/"&gt;&lt;strong&gt;HousingMaps.com&lt;/strong&gt;&lt;/a&gt; - Google Maps is cool, but &lt;a href="http://www.cs.unc.edu/~rademach/"&gt;Paul Rademacher's&lt;/a&gt; &lt;a href="http://www.housingmaps.com/"&gt;HousingMaps.com&lt;/a&gt; is synergy. It was the &lt;strong&gt;first &lt;/strong&gt;great Mashup of Web 2.0 and I keep it around to remind me of what's possible if you keep an idea fresh and simple. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://mwiedemeyer.de/ProxySwitcher"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;ProxySwitcher&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Always on the road and switching between client networks? Now switch your proxy servers as fast as you change pants. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.yougetsignal.com/"&gt;&lt;strong&gt;YouGetSignal&lt;/strong&gt;&lt;/a&gt; - Amazingly helpful collection of online networking tools. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://westciv.com/xray/index.html"&gt;&lt;strong&gt;XRay&lt;/strong&gt;&lt;/a&gt; - This sleek little bookmarklet lets you quickly see all the CSS attributes attached to any HTML element. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.cwa.me.uk/tags/morning-brew/"&gt;&lt;strong&gt;The Morning Brew&lt;/strong&gt;&lt;/a&gt; - &lt;em&gt;The&lt;/em&gt; website I read every work day that helps me keep up on what's new in .NET. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://portableapps.com/"&gt;&lt;strong&gt;PortableApps.com&lt;/strong&gt;&lt;/a&gt; - Take all your favorite apps with you on a USB key without installing them! All your settings remain. Be sure to get &lt;a href="http://portableapps.com/apps/utilities/pstart"&gt;PStart&lt;/a&gt;, the handy Portable Apps Launcher for the Tray.       &lt;ul&gt;       &lt;li&gt;More Portable apps at &lt;a href="http://portablefreeware.com/"&gt;http://portablefreeware.com/&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.jslint.com/"&gt;&lt;strong&gt;JSLint&lt;/strong&gt;&lt;/a&gt; - Just what is sounds like, it&amp;#39;s a JavaScript &amp;quot;Lint&amp;quot; tool that will tidy up your JavaScript and also tell you why your code sucks.       &lt;ul&gt;       &lt;li&gt;There's also &lt;a href="http://www.jshint.com/"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;JSHint&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt; which is a more aggressive than JSLint. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Tools for Bloggers and Those Who Read Blogs&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;You can do anything, but not everything.&amp;quot; - David Allen&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.google.com/reader"&gt;&lt;strong&gt;Google Reader&lt;/strong&gt;&lt;/a&gt; - RSS aggregators appear to be slowly dying and the winner (or only one left?) appears to be Google Reader. Although, I still read with a phat client like...       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://www.feeddemon.com/"&gt;&lt;strong&gt;FeedDemon&lt;/strong&gt;&lt;/a&gt; - My favorite aggregator. Always on the cutting edge and free. Synchronizes with Google Reader! &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.rssbandit.org/"&gt;&lt;strong&gt;RSSBandit&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; - &lt;/strong&gt;Free, Open Source, and written in .NET. The first aggregator for many and now also syncs with Google Reader. Solid. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://pnggauntlet.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;PNGGauntlet&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; and &lt;a href="http://advsys.net/ken/"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;PNGOut&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt; - If you've got PNGs, don't put them online without compressing them first! This is SO important to bloggers that care about their user's experiences. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.instapaper.com"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;InstaPaper&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - InstaPaper and it&amp;#39;s &amp;quot;ReadLater&amp;quot; functionality is absolutely essential for dealing with the large amounts of information that bloggers come across. Read anything on the web on &lt;em&gt;your &lt;/em&gt;time on &lt;em&gt;any &lt;/em&gt;device. &lt;a href="http://www.hanselman.com/blog/TwoMustHaveToolsForAMoreReadableWeb.aspx"&gt;I use InstaPaper daily&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://feedvalidator.org/"&gt;&lt;strong&gt;FeedValidator&lt;/strong&gt;&lt;/a&gt; - If your RSS/Atom feed doesn't pass FeedValidator's tests, it's crap. Seriously. Crap. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.hanselman.com/blog/EssentialIFTTTIfThisThenThatProgrammingWorkflowsForHumansUsingTheWebsSocialGlue.aspx"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;IFTTT (IfThisThenThat)&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - A social workflow manager that lets you combine everything on the web with everything else. &lt;a href="http://www.ifttt.com"&gt;IFTTT&lt;/a&gt; is now an essential tool in everything I do on the social web. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://docs.live.com"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;OneNote&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#238e23"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/font&gt;with cloud syncing and &lt;a href="http://itunes.apple.com/us/app/microsoft-onenote/id410395246?mt=8"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;OneNote for iPhone&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - I recently switched off of EverNote and over to OneNote when the OneNote iPhone app came out. That means I can use all my Office apps with OneNote, sync them to the cloud and they are already on my iPhone. I can also edit my cloud notes at &lt;a href="http://docs.live.com"&gt;http://docs.live.com&lt;/a&gt; on machines that don't have OneNote.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://www.evernote.com/"&gt;&lt;strong&gt;Evernote&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; and &lt;/strong&gt;&lt;a href="http://www.rmilk.com/"&gt;&lt;strong&gt;RememberTheMilk&lt;/strong&gt;&lt;/a&gt; - These two apps manage notes and todos and they do it in an elegant and cross platform way. Evernote works on the Mac, Windows, iPhone, Palm Pre, Windows Mobile and BlackBerry and your notes live in the cloud. Remember The Milk is your todos any way you like them, from Google Calendar, Twitter, BlackBerry and Bookmarklets. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.metrotwit.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;MetroTwit&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font color="#238e23"&gt; &lt;/font&gt;&lt;/strong&gt;- The prettiest and most actively developed Twitter client for Windows. With an incredibly responsive development team and automatic updates, Metrotwit gets better each month. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://download.live.com/writer"&gt;&lt;strong&gt;Windows Live Writer&lt;/strong&gt;&lt;/a&gt; - The ultimate offline Blog Post tool. It has &lt;a href="http://msdn.microsoft.com/en-us/library/aa738906.aspx"&gt;an easy SDK&lt;/a&gt;. If you don't like it, change it.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://plugins.live.com/writer/detail/amazon-quick-link"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Amazon Quick Link&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - If you blog, you likely read. If you read, you may read books. If you blog, read and read books, you may want to blog about the books you read. Here's where to start. This will insert your Amazon Associates ID into Amazon links in your blog posts. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.codeplex.com/precode"&gt;&lt;strong&gt;PreCode Plugin&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; with &lt;/strong&gt;&lt;a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter"&gt;&lt;strong&gt;SyntaxHighligher&lt;/strong&gt;&lt;/a&gt; - If you're a coder and you blog code, &lt;a href="http://www.hanselman.com/blog/BestCodeSyntaxHighlighterForSnippetsInYourBlog.aspx"&gt;consider this Live Writer plugin along with some nice JavaScript to make your code snippets shine&lt;/a&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.callburner.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;CallBurner&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - If you blog, you may also podcast. CallBurner is a great way to record your Skype calls. Lots of options and creates both stereo MP3s as well as a WAV file for each side of the call. Their Video version &lt;a href="http://www.vodburner.com"&gt;VodBurner&lt;/a&gt; will record video as well. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Browser Add-Ins/Extensions&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;Tomorrow is 11/11/11, not 11/11/11. Bloody Americans.&amp;quot; - &lt;a href="https://twitter.com/#!/laurenme0w/status/134682800426205184"&gt;Laurentme0w&lt;/a&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.getright.com/"&gt;&lt;strong&gt;GetRight&lt;/strong&gt;&lt;/a&gt; - Downloads, resumes and most importantly, splits up large downloads over HTTP or FTP into as many as 10 concurrent streams. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://chrispederick.com/work/firefox/webdeveloper/"&gt;&lt;strong&gt;WebDeveloper&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; for &lt;/strong&gt;&lt;a href="http://www.mozilla.org/products/firefox/"&gt;&lt;strong&gt;FireFox&lt;/strong&gt;&lt;/a&gt; - If you're the last developer to download FireFox, or you're holding off, WebDeveloper is a solid reason to switch to FireFox NOW. It's amazing and has to be used to be believed. It consolidates at least 2 dozens useful functions for those who sling ASP.NET or HTML. And if you're a CSS person, the realtime CSS editing is pretty hot. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://ieview.roub.net/"&gt;&lt;strong&gt;IEView&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; and &lt;/strong&gt;&lt;a href="http://www.iosart.com/firefox/firefoxview/"&gt;&lt;strong&gt;ViewInFireFox&lt;/strong&gt;&lt;/a&gt; - These two utils go together. Both are FireFox extensions, but they are yin to the others yang. They add View in Internet Explorer and View in FireFox context menu items to their respective browsers. Great if you develop, but also great if you tend to visit sites that aren't browser agnostic. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.speckie.com/home/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Speckie&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Spell check for Internet Explorer. The feature IE forgot, cleanly integrated. Install and forget. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://extensionroom.mozdev.org/"&gt;&lt;strong&gt;FireFox Extensions&lt;/strong&gt;&lt;/a&gt; - Stunning! Extensions for my browser that won't kill kittens! &lt;a href="http://dmextension.mozdev.org/"&gt;DownloadManagerTweak&lt;/a&gt;, &lt;a href="http://adblockplus.org/en/"&gt;&lt;strong&gt;AdBlockPlus&lt;/strong&gt;&lt;/a&gt;, and &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/748"&gt;GreaseMonkey&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://chrome.google.com/webstore/detail/chklaanhfefbnpoihckbnefhakgolnmc"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;JSONView for Chrome&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Makes exploring JSON payloads in Chrome much easier. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Things Windows Forgot&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;I didn&amp;#39;t know anything about this. So I called up some folks at Microsoft, and apparently we make a lot of different image editors.&amp;quot; - Steve Balmer&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.realtimesoft.com/ultramon/"&gt;&lt;strong&gt;Ultramon Beta&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; or &lt;/strong&gt;&lt;a href="http://www.binaryfortress.com/displayfusion/"&gt;&lt;strong&gt;DisplayFusion&lt;/strong&gt;&lt;/a&gt; - It's not clear why, but Windows 7 doesn't have a taskbar on every monitor. However, these two tools add this functionality back. Explore &lt;a href="http://www.hanselman.com/blog/TheNearFinalWordOnMultiMonitorTaskbarsForWindows7UltramonVsDisplayFusion.aspx"&gt;&lt;font color="#238e23"&gt;these two options - there's more details and screenshots here&lt;/font&gt;&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://ditto-cp.sourceforge.net/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Ditto&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - It's TiVo for your Windows Clipboard. Open source work well with any clipboard format.       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://bluemars.org/clipx/"&gt;&lt;strong&gt;ClipX&lt;/strong&gt;&lt;/a&gt; - &amp;quot;ClipX is a tiny clipboard history manager. It is sweet, it is free, use it.&amp;quot; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://sourceforge.net/projects/console/"&gt;&lt;strong&gt;Console2&lt;/strong&gt;&lt;/a&gt; - An open source Windows console enhancement with transparency, different styles, and more. Yum. I found this &lt;a href="http://www.hanselman.com/blog/ABetterPROMPTForCMDEXEOrCoolPromptEnvironmentVariablesAndANiceTransparentMultiprompt.aspx"&gt;one a few years ago and it keeps getting better&lt;/a&gt;. I loved it so much &lt;a href="http://www.hanselman.com/blog/Console2ABetterWindowsCommandPrompt.aspx"&gt;&lt;font color="#238e23"&gt;I even gave it sexier icons&lt;/font&gt;&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.imgburn.com/"&gt;&lt;strong&gt;ImgBurn&lt;/strong&gt;&lt;/a&gt; - Well, yes and no. Windows 7 includes a basic ISO burning app, but ImgBurn has the right balance of clean interface and piles of technical information. I like to know exact what's happening when I burn a disk and Free ImgBurn is a joy to use. Don't let their website freak you out. It's THE burning app to get. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://voidtools.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;VoidTools Everything Search Engine&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; -  Sometimes you just want a text box, a 300k application and you want to Search Everything. This tiny utility makes it super easy to search your entire hard drive (all of them actually) instantly. You can Google the whole internet with Bing in a second, why shouldn&amp;#39;t you be able to do the same with your hard drive. Best part is that it works on any version of Windows, even Windows 2000. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://stevemiller.net/puretext/"&gt;&lt;strong&gt;PureText&lt;/strong&gt;&lt;/a&gt; - Ever wish Ctrl-V didn&amp;#39;t suck? And when I say &amp;quot;suck&amp;quot; I mean, wouldn&amp;#39;t you rather spend less of your live in Edit|Paste Special? PureText pastes plain text, purely, plainly. Free and glorious. Thanks Steve Miller &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.magiciso.com/tutorials/miso-magicdisc-overview.htm"&gt;&lt;strong&gt;MagicISO/MagicDisk&lt;/strong&gt;&lt;/a&gt; - Another great utility with a scary website. The trial is a little crippled, but you can mount ISOs on Windows (including Windows 7), create and extract image files, make bootable CDs and DVDs and more. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.getpaint.net/index.html"&gt;&lt;strong&gt;Paint.NET&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- The Paint Program that Microsoft &lt;a href="http://www.hanselman.com/blog/MicrosoftsPaintProgramLegacyYAMPP.aspx"&gt;forgot&lt;/a&gt;, written in .NET. If you like to live on the edge, go get the &lt;a href="http://paintdotnet.forumer.com/viewforum.php?f=46&amp;amp;sid=d0b8fe9f49bdf73fe80c0fe7fdc7873a"&gt;Paint.NET 3.5 Alpha build&lt;/a&gt; with &lt;a href="http://blog.getpaint.net/2009/08/11/paintnet-v35-now-enhanced-for-windows-7-with-directwrite/"&gt;enhanced Windows 7 features&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.dopdf.com/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;DoPDF&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Want to print to a virtual printer and have a PDF pop out? Bam. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.hanselman.com/blog/StepByStepTurningAWindows7DVDOrISOIntoABootableVHDVirtualMachine.aspx"&gt;&lt;strong&gt;Wim2VHD&lt;/strong&gt;&lt;/a&gt; - This is REALLY advanced stuff and Windows didn&amp;#39;t really &amp;quot;forget&amp;quot; it as it didn&amp;#39;t include it out of the box. If you want to make a bootable and &amp;quot;sys-prepped&amp;quot; Windows 7 Virtual Machine from your Windows 7 DVD media, this is the script for you. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://zornsoftware.talsit.info/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Win7 Library Tool&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - This one is obscure, but if you have this problem you'll be as happy as I was to find it. If you have your documents on a SAN or non-Windows remote drive you'll find that you're unable to put them into a Windows 7 Document Library. This tool will programmatically do for you what the built-in GUI won't. Works great with my &lt;a href="http://www.hanselman.com/blog/HanselminutesPodcast265SynologyNetworkAttachedStorageAndWindowsHomeServerWithTravisIllig.aspx"&gt;Synology&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.truecrypt.org/"&gt;&lt;strong&gt;TrueCrypt&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- I love that this is free. Create a file or partition and encrypt the heck out of it. You can even encrypt a secret drive that&amp;#39;ll have &amp;quot;decoy&amp;quot; documents that you can give the bad guys when they torture the password out of you. &lt;a href="http://www.hanselman.com/blog/2006ResolutionPrepare.aspx"&gt;Prepare your getaway drive now&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codesector.com/teracopy.php"&gt;&lt;strong&gt;TeraCopy&lt;/strong&gt;&lt;/a&gt; - I'm not sure/convinced yet that TeraCopy is really faster than RoboCopy, but it &lt;em&gt;feels &lt;/em&gt;faster. I do a lot of network file copies that go on for hours, and TeraCopy has the right balance of a clean interface and badassness to make the list. The error recovery is top-notch also. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.baremetalsoft.com/"&gt;&lt;strong&gt;BareGrep and BareTail&lt;/strong&gt;&lt;/a&gt; - Really everything these guys do is worth your time. There's lots of ways to get this functionality, including the &lt;a href="http://gnuwin32.sourceforge.net/packages/textutils.htm"&gt;GNU Utils for Windows&lt;/a&gt; and &lt;a href="http://www.baremetalsoft.com/baretail/index.php"&gt;BareTail&lt;/a&gt;. The point is, it should have been included! A &amp;quot;tail -f&amp;quot; for Windows.  Great if you work with programs that write to log files and you want to watch the log as it&amp;#39;s being written.  Also has keyword highlighting so you can see things get visually flagged as they go by. Also, who doesn&amp;#39;t want to Grep? &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.emptyloop.com/unlocker/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Unlocker&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Can't delete a file? Who has it open? Thanks Windows for NOT telling me. Unlock will, though. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.passpack.com/"&gt;&lt;strong&gt;PassPack&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; or &lt;/strong&gt;&lt;a href="http://keepass.info/"&gt;&lt;strong&gt;KeePass&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- If you have a crapload of secrets and passwords and you'd like to keep them as such, take a look at these two utils. PassPack is largely online while KeePass is totally offline. KeePass is free and open source with a very clean and very powerful interface. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.uderzo.it/main_products/space_sniffer/index.html"&gt;&lt;strong&gt;SpaceSniffer&lt;/strong&gt;&lt;/a&gt; - Everyone's always looking for a great tool to find out what's taking up all the space on your hard drive. SpaceSniffer is fast, pretty, fun to watch and powerful. I'm using SpaceSniffer today, but I've also liked:       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://www.diskview.com/"&gt;&lt;strong&gt;DiskView&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- The most powerful disk usage program I've found, DiskView integrates nicely with Explorer and includes SMART disk health statistics. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.win.tue.nl/sequoiaview/"&gt;&lt;strong&gt;SequoiaView&lt;/strong&gt;&lt;/a&gt; - A fast Treemap of your disk usage. The original. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://windirstat.sourceforge.net/"&gt;&lt;strong&gt;WinDirStat&lt;/strong&gt;&lt;/a&gt; - There's a lot of Disk Visualization Tools out there, but this one just seems to tell me exactly what I need to know and it can be run without installation. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://users.forthnet.gr/pat/efotinis/programs/overdisk.html"&gt;&lt;strong&gt;OverDisk&lt;/strong&gt;&lt;/a&gt; - This one's stuck at version 0.11b but it's still worth a download. It's a pie chart view of your disk space usage. It runs really slow - takes forever, really - however, it's worth the wait. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.jam-software.com/treesize_free/screenshots.shtml"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;TreeSize Free&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt; - Ok, sure, at this point I'm just collecting size utilities, but honestly, I love looking at different visualizations of hard drive space. TreeSize Free is lightweight and simple. A tree view with an overlaid bar chart. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://download.cnet.com/Prish-Image-Resizer/3000-2192_4-75180364.html"&gt;&lt;strong&gt;Prish Image Resizer&lt;/strong&gt;&lt;/a&gt; - Yes, you heard me right, son. That means &lt;a href="http://download.cnet.com/Prish-Image-Resizer/3000-2192_4-75180364.html"&gt;Right-Click an image in Explorer and freaking RESIZE IT BABY&lt;/a&gt;. Lovely. Reliable. Wife loves it. Works in 32-bit and 64-bit. Why is this not part of Windows 7? &lt;/li&gt;    &lt;li&gt;&lt;a href="http://synergy-foss.org/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Synergy&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - A virtual KVM. Share your mouse and keyboard between multiple computers on your desk, even if those computers run all different operating systems. Free and open source. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897557"&gt;&lt;strong&gt;BgInfo from SysInternals&lt;/strong&gt;&lt;/a&gt; - If you log into a lot of boxes remotely and always wonder, where the hell is this? This wallpaper tool creates custom wallpapers with all the information you'd need, like IP Address, Box Name, Disk Space, and it's totally configurable. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.smartftp.com/"&gt;&lt;strong&gt;SmartFtp&lt;/strong&gt;&lt;/a&gt; - Say what you like, but I've tried them all, and SmartFtp is flat-out the best FTP app out there for Windows. And they get a +1 charisma for having a 64-bit version. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.randyrants.com/sharpkeys/"&gt;&lt;strong&gt;SharpKeys&lt;/strong&gt;&lt;/a&gt; - Do you want your Right-CTRL key to map to the Windows Key? I do. Why can't I do it with Windows' Control Panel? Because Windows forgot. Thankfully Randy didn't. Remap any key in Windows. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.pcdecrapifier.com/download"&gt;&lt;strong&gt;PC De-Crapifier&lt;/strong&gt;&lt;/a&gt; - So you just bought a Dell for $300 and it has a $4000 value worth of Crapware. Get ride of that poo with the De-Crapifier. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.safer-networking.org/"&gt;&lt;strong&gt;Spybot&lt;/strong&gt;&lt;/a&gt; - The first thing I install when I visit a relatives house. Seriously. Step One. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.magicaljellybean.com/keyfinder.shtml"&gt;&lt;strong&gt;Magical Jelly Bean KeyFinder&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Misplace your Windows and Office Product Keys?  Find them with this. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ehiti.de/katmouse/"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;KatMouse&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - Wish you could scroll windows without changing focus to that Window? Katmouse lets you scroll just by moving the mouse over the window...no need to click before wheel-scrolling. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.tordex.com/startkiller/index.html"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;Start Killer&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font color="#238e23"&gt; &lt;/font&gt;&lt;/strong&gt;- Blasphemy! Remove the Start Menu itself from your Taskbar and get back room for one more icon! It's nice to have the option. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.bulkrenameutility.co.uk/Main_Intro.php"&gt;&lt;strong&gt;Bulk Rename Utility&lt;/strong&gt;&lt;/a&gt; - A graphical and incredible versatile way to rename large numbers of files using a myriad of patterns. Invaluable. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/technet/sysinternals/Utilities/PsTools.mspx"&gt;&lt;strong&gt;PSTools from SysInternals&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- All the command-line tools that Windows forgot...kill, loggedon, remote exec, shutdown, getsid, etc. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/Terminals"&gt;&lt;strong&gt;Terminals&lt;/strong&gt;&lt;/a&gt; - An Open Source multi-tabbed Remote Desktop client. Simple and useful. In danger of fading away! Support Open Source. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://touchcursor.sourceforge.net/"&gt;&lt;strong&gt;TouchCursor&lt;/strong&gt;&lt;/a&gt; - If you move the cursor a lot, but you don't like moving your hands, why not make I,J,K,L (where you right hand is already) move the cursor? I'm not sure it's worth $20, but it works exactly as advertised. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.xellsoft.com/SynchronEX.html"&gt;&lt;strong&gt;Synchronex&lt;/strong&gt;&lt;/a&gt; - A file synchronizer, sure, but not just any file synchronizer, this one supports local, UNC, FTP, SFTP, WebDAV, ZIP and versioning. And only $20. Oy. I use it for backing up my blog on a schedule. An obtuse scripting format, more complex than &lt;a href="http://store.esellerate.net/a.asp?c=1_SKU22989555596_AFL2982561895&amp;amp;at="&gt;SyncBack SE&lt;/a&gt;, but more detail oriented and powerful. Once you set it and forget it, IJW (It Just Works.) Brilliant and bananas. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.hanselman.com/blog/VisualStudioCommandPromptHereAndSearchUnknownFileExtensions.aspx"&gt;&lt;strong&gt;Visual Studio Prompt Here&lt;/strong&gt;&lt;/a&gt; - Right click on a folder and get four different &amp;quot;prompt here&amp;quot; options; cmd.exe, Visual Studio 2003, 2005, 2008, and PowerShell. &lt;a href="http://www.paraesthesia.com/archive/2007/11/20/command-prompt-here-round-up.aspx"&gt;Travis has the complete round-up&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Outlook AddIns and Life Organizers&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;With engineering, I view this year&amp;#39;s failure as next year&amp;#39;s opportunity to try it again.&amp;quot; - Gordon Moore&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.evernote.com/"&gt;&lt;strong&gt;Evernote&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; and &lt;/strong&gt;&lt;a href="http://www.rmilk.com/"&gt;&lt;strong&gt;RememberTheMilk&lt;/strong&gt;&lt;/a&gt; - Gotta show these twice! These two apps manage notes and todos and they do it in an elegant and cross platform way. Evernote works on the Mac, Windows, iPhone, Palm Pre, Windows Mobile and BlackBerry and your notes live in the cloud. Remember The Milk is your todos any way you like them, from Google Calendar, Twitter, BlackBerry and Bookmarklets. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.fieldstonsoftware.com/software/gsyncit3/index.shtml"&gt;&lt;strong&gt;&lt;font color="#238e23"&gt;gSyncit&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; - I&amp;#39;ve got data in Outlook Calendar and Google Calendar, and I now use gSyncit to keep my live in sync between Outlook and Google.  &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.pocketmod.com/"&gt;&lt;strong&gt;PocketMod&lt;/strong&gt;&lt;/a&gt; - Has nothing to do with Outlook, but everything to do with getting organized. This tiny book is created by some creative folding and your printer. Design it and print it yourself for free. &lt;/li&gt;    &lt;li&gt;&lt;em&gt;Getting Things Done (GTD) with Outlook&lt;/em&gt;       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://www.clearcontext.com/"&gt;&lt;strong&gt;ClearContex&lt;/strong&gt;t&lt;/a&gt; - Artificial Intelligence for your Outlook Inbox. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.claritude.com/products/sf/features/features.htm"&gt;&lt;strong&gt;Speedfiler&lt;/strong&gt;&lt;/a&gt; - A replacement for Move To Folder in Outlook; file your messages as fast as your can press Enter. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.taglocity.com/"&gt;&lt;strong&gt;Taglocity&lt;/strong&gt;&lt;/a&gt; - A learning system, Taglocity tags, filters, searches, and teaches itself about your mail. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.xmind.net/"&gt;&lt;font color="#238e23"&gt;&lt;strong&gt;XMind&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- A great free mind-mapping tool with a fast and intuitive (not to mention keyboard friendly) interface. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;C&lt;em&gt;ontents Copyright © 2003-2011 &lt;/em&gt;&lt;a href="http://www.hanselman.com/"&gt;&lt;em&gt;Scott Hanselman&lt;/em&gt;&lt;/a&gt;&lt;em&gt; - Please link, don't copy and reblog this list...hyperlinks to &lt;/em&gt;&lt;a href="http://www.hanselman.com/tools"&gt;&lt;em&gt;are most welcome&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. Please &lt;/em&gt;&lt;a href="http://twitter.com/shanselman"&gt;&lt;em&gt;follow me on Twitter&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;TAX DEDUCTIBLE DONATIONS: &lt;/strong&gt;If you &lt;b&gt;enjoyed this post, or this blog,&lt;/b&gt; please &lt;a href="http://www.hanselman.com/fightdiabetes/donate"&gt;make a &lt;strong&gt;secure tax-deductible donation directly to the American Diabetes Association&lt;/strong&gt;&lt;/a&gt;. Please read &lt;a href="http://www.hanselman.com/fightdiabetes"&gt;my personal story about life as a diabetic&lt;/a&gt; and &lt;a href="http://www.hanselman.com/fightdiabetes/donate"&gt;donate today&lt;/a&gt;. ALL PROCEEDS will go to Diabetes Research.&lt;/p&gt;&lt;br&gt;&lt;hr&gt;© 2011 Scott Hanselman. All rights reserved. &lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/~ff/ScottHanselman?a=9LH-J8vPjOI:hi4gkDgr2uU:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ScottHanselman?i=9LH-J8vPjOI:hi4gkDgr2uU:D7DqB2pKExk" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ScottHanselman?a=9LH-J8vPjOI:hi4gkDgr2uU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ScottHanselman?i=9LH-J8vPjOI:hi4gkDgr2uU:F7zBnMyn0Lo" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ScottHanselman?a=9LH-J8vPjOI:hi4gkDgr2uU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ScottHanselman?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ScottHanselman?a=9LH-J8vPjOI:hi4gkDgr2uU:MjquXQBfoPI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ScottHanselman?d=MjquXQBfoPI" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ScottHanselman?a=9LH-J8vPjOI:hi4gkDgr2uU:5M_9TJJRyfI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ScottHanselman?d=5M_9TJJRyfI" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ScottHanselman?a=9LH-J8vPjOI:hi4gkDgr2uU:YKYwmLGm_co"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ScottHanselman?d=YKYwmLGm_co" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ScottHanselman/~4/9LH-J8vPjOI" height="1" width="1"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-1248124589567502863?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/1248124589567502863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=1248124589567502863' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/1248124589567502863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/1248124589567502863'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/12/scott-hanselmans-2011-ultimate.html' title='Scott Hanselman&apos;s 2011 Ultimate Developer and Power Users Tool List for Windows'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-239395097065398259</id><published>2011-12-10T11:17:00.000-08:00</published><updated>2011-12-10T11:17:54.182-08:00</updated><title type='text'>JavaScript Error Handling: Why You Need it</title><content type='html'>&lt;a href="http://www.htmlgoodies.com/HTML5/javascript/javascript-error-handling-why-you-need-it.html"&gt;JavaScript Error Handling: Why You Need it&lt;/a&gt;: &lt;p&gt;While error handling is not new to JavaScript, it seems that a lot of  people aren't quite sure how to handle errors in the most productive  way. The purpose of this article is to outline some of the major reasons why  you need to consider error handling sooner rather than later in a Web  application's development cycle.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-239395097065398259?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/239395097065398259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=239395097065398259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/239395097065398259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/239395097065398259'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/12/javascript-error-handling-why-you-need.html' title='JavaScript Error Handling: Why You Need it'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-3113032074029077692</id><published>2011-12-10T11:09:00.000-08:00</published><updated>2011-12-10T11:09:03.373-08:00</updated><title type='text'>8 Great SaaS Shopping Carts</title><content type='html'>&lt;a href="http://www.practicalecommerce.com/articles/3219-8-Great-SaaS-Shopping-Carts"&gt;8 Great SaaS Shopping Carts&lt;/a&gt;: &lt;img align="left" alt="Saas-shopping-cart-thumb-12_thumb" border="1" height="45" hspace="12" src="http://www.practicalecommerce.com/uploads/thumbs/0001/5241/saas-shopping-cart-thumb-12_thumb.jpg" vspace="6" width="60"&gt;&lt;p&gt;Hosted, software-as-a-service (SaaS) ecommerce solutions allow small online retailers to open functional online stores with a minimum in capital expense. While there are many good SaaS shopping carts on the market in the end of 2011, here are eight carts that are among my personal favorites.  &lt;br /&gt;&lt;br /&gt;SaaS shopping carts or ecommerce platforms are often technically easy to employ, although it can be a good idea to have help from a professional designer.&lt;br /&gt;&lt;br /&gt;Shopify&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;More than 15,000 Internet merchants use Shopify to conduct transactions daily, so there is little doubt that this SaaS ecommerce solution is stable and reliable. Shopify also boasts an easy to use online store builder. There are some free themes available, and a small number of pr...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-3113032074029077692?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/3113032074029077692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=3113032074029077692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/3113032074029077692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/3113032074029077692'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/12/8-great-saas-shopping-carts.html' title='8 Great SaaS Shopping Carts'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-4766752933951449238</id><published>2011-11-21T02:22:00.000-08:00</published><updated>2011-11-21T02:22:33.888-08:00</updated><title type='text'>15 Pragmatic JavaScript Tips for ASP.NET Developers</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/jongalloway/~3/8IRKEsr4dfg/15-pragmatic-javascript-tips-for-asp-net-developers.aspx"&gt;15 Pragmatic JavaScript Tips for ASP.NET Developers&lt;/a&gt;: &lt;h2&gt;Here are 15 pragmatic JavaScript tips for ASP.NET developers from my recent presentation at DevConnections 2011 (Las Vegas). &lt;/h2&gt;  &lt;p&gt;The goal here is pragmatic tips - things you can use right away. Three or four are specific to ASP.NET Web Forms, the rest are pretty cross-cutting and in some cases apply to any web development platform. These are pragmatic tips, not advanced JavaScript development or coding practices, although I did sneak in a bit of SignalR, Node.js, and CoffeeScript at the end. If you're looking for coding practices, I'd highly recommend Elijah Manor's MIX11 talk: &lt;a href="http://www.elijahmanor.com/2011/04/mix11-video-good-javascript-habits-for.html"&gt;Good JavaScript Habits for C# Developers&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://damianedwards.wordpress.com"&gt;Damian Edwards&lt;/a&gt; has given a similar talk several times over the past year and kindly shared his samples and advice - his talks are all available &lt;a href="http://damianedwards.wordpress.com/presentations/"&gt;here&lt;/a&gt;. His talks covered a lot of great information, and my updated talk also included some future / edge stuff, like RIA/JS, Visual Studio 11, ASP.NET 4.5, Node.js, and CoffeeScript. Since I was covering a ton of information in an hour, I opted to structure this talk as a series of 15ish tips, building from the simple and easy material to, well, stuff like SignalR and Node.js with WebMatrix and iisnode.&lt;/p&gt;  &lt;p&gt;Slides are here:&lt;/p&gt;  &lt;div style="width:425px"&gt;&lt;strong style="margin:12px 0px 4px;display:block"&gt;&lt;a title="Pragmatic JavaScript (DevConnections 2011)" href="http://www.slideshare.net/jongalloway/pragmatic-javascript-devconnections-2011"&gt;Pragmatic JavaScript (DevConnections 2011)&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;  &lt;p&gt;I set up a new repo for presentations (slides and code) on Github; &lt;a href="https://github.com/jongalloway/Presentations/tree/master/2011/DevConnections%20-%20Las%20Vegas/Pragmatic%20JavaScript"&gt;here's the sample code for my demos&lt;/a&gt;. My presentation wasn't filmed, but Damian's talks at MIX and TechEd were. Links to those videos are in the &lt;a href="http://damianedwards.wordpress.com/presentations/"&gt;presentation section of his blog&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Okay, enough talking, more tips. Here we go:&lt;/p&gt;  &lt;h3&gt;Tip 1: If you’re using Ajax Control Toolkit, get the newest releases&lt;/h3&gt;  &lt;p&gt;It's been a while since I used the Ajax Control Toolkit, but it's still apparently very popular (substantiated by a show of hands at the presentation). The tip here is that - if you're still using Ajax Control Toolkit - you should be aware that there are regular new releases, and that they're available via NuGet.&lt;/p&gt;  &lt;p&gt;Recent releases include several new controls, including Gravatar, Twitter, and a new HTML editor. The new releases also include top fixes from the issues list, and there's a real emphasis on quality - as shown by the automated browser testing with QUnit. You can read more about recent updates on &lt;a href="http://stephenwalther.com/blog/category/15.aspx"&gt;Ajax Control Toolkit from Stephen Walther&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The overall guidance from the ASP.NET team is that they're recommending jQuery for client-side coding. That's where future focus, project templates, code samples, etc., will be. However, if you're using Ajax Control Toolkit, you should be on the latest releases. It's easy to do now, since &lt;a href="http://nuget.org/List/Packages/AjaxControlToolkit"&gt;Ajax Control Toolkit can be installed and updated via NuGet&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;Tip 2: Get to know jQuery&lt;/h3&gt;  &lt;p&gt;Sure, no surprise there. All web developers should know about jQuery, and if you're not using it you should have a pretty good reason. Here are the top advantages I listed:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;DOM abstraction &lt;/li&gt;    &lt;li&gt;Selector engine (I explained selectors using this &lt;a href="http://www.woods.iki.fi/interactive-jquery-tester.html"&gt;Interactive jQuery Selector Tester page&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;Plugin ecosystem &lt;/li&gt;    &lt;li&gt;Leverage CDN’s (talked about how end users have to wait for your custom scripts to download, while jQuery is very likely cached by their browser) &lt;/li&gt;    &lt;li&gt;Included in Microsoft templates (showed that File / New Project will put jQuery in your application) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I pointed out that JavaScript is beautiful and elegant, but sometimes extremely tricky. We looked at &lt;a href="http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-javascript-hoisting-explained/"&gt;variable hoisting&lt;/a&gt; as an example. The point is that JavaScript can be a bit tricky, and writing your own libraries when jQuery does it better is an unnecessary code liability to take on.&lt;/p&gt;  &lt;h3&gt;Tip 3: Install and Update jQuery via NuGet&lt;/h3&gt;  &lt;p&gt;ASP.NET MVC 3 already includes jQuery as a NuGet package, so it's easy to upgrade when a new version comes out. I showed how to remove the jQuery scripts from an ASP.NET Web Forms application and add jQuery via NuGet to get that same upgrade experience. We looked at adding jQuery plugins via NuGet, too.&lt;/p&gt;  &lt;h3&gt;Tip 4: Know how to find and use jQuery plugins&lt;/h3&gt;  &lt;p&gt;I explained what plugins are used for, and showed three great ways to find and use jQuery plugins:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://nuget.org/List/Search?searchTerm=jquery"&gt;NuGet&lt;/a&gt; (again, so you get update / package management) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://plugins.jquery.com"&gt;http://plugins.jquery.com&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://jqueryui.com"&gt;jQueryUI&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I showed the jQuery theme support, and we hooked up a few jQuery UI datepickers to ASP.NET textboxes.&lt;/p&gt;  &lt;h3&gt;Tip 5: Use jQuery UI via Unobtrusive Wire-up&lt;/h3&gt;  &lt;p&gt;Damian's written a nice &lt;a href="http://nuget.org/List/Packages/unobtrusive.jquery.ui"&gt;jQuery plugin to wire up jQuery UI widgets via HTML5 data- attributes&lt;/a&gt;, and it works for standard HTML and ASP.NET Web Forms controls. Here's an example:&lt;/p&gt;  &lt;pre&gt;&amp;lt;asp:TextBox runat=&amp;#39;server&amp;#39; ID=&amp;#39;startDate&amp;#39;&lt;br /&gt;    data-ui-fn=&amp;#39;datepicker&amp;#39; /&amp;gt;&lt;br /&gt;&amp;lt;div class=&amp;#39;status-box&amp;#39; data-ui-fn=&amp;#39;draggable resizable&amp;#39;&amp;gt;&lt;br /&gt;    I&amp;#39;m a Drag and Droppable, resizable content area.&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;br /&gt;Joe Stagner has a full walkthrough on this here: &lt;a href="http://www.misfitgeek.com/2011/05/unobtrusive-javascript-in-your-asp-net-pages/"&gt;Unobtrusive JavaScript in your ASP.NET pages &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tip 6: Write your own jQuery plugins&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;We walked through turning some of our jQuery code into a plugin, making use of the &lt;a href="http://jquerysnippets.codeplex.com/"&gt;jQuery Code Snippets for Visual Studio 2010&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Plugins offer some great benefits, even if you never plan to distribute your plugin:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;  &lt;li&gt;Code encapsulation &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;Reuse throughout one site or a number of projects (I talked about an example where my team bundled common jQuery code into plugins, and we were later able to leverage them from content input via CMS users) &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;Standard, tested modularization system that's designed to work well with jQuery &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;A good way to get started with writing your own jQuery plugins is the &lt;a href="http://docs.jquery.com/Plugins/Authoring"&gt;Plugin Authoring Tutorial on the jQuery site&lt;/a&gt;. It's really well written, starting with simple cases and slowly introducing advanced topics and best practices.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tip 7: Take advantage of Visual Studio’s JavaScript support&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I showed off some of the JavaScript editing and Intellisense features that are included in Visual Studio 2010. A lot of people aren't aware that the Intellisense infers type and can handle dynamic variables, loops, etc. Neat stuff.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;See Scott Guthrie's post, &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/04/08/javascript-intellisense-improvements-with-vs-2010.aspx"&gt;JavaScript Intellisense Improvements with VS 2010&lt;/a&gt;, for a nice walkthrough.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tip 8: Get ready for Visual Studio 11 JavaScript features&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Okay, Visual Studio 2010 has some nice JavaScipt editing features, but &lt;a href="http://msdn.microsoft.com/en-us/vstudio/hh127353"&gt;Visual Studio 11 Developer Preview&lt;/a&gt; is a huge advance here. It's actually using the same engine that's used in the Internet Explorer Developer Tools, and Visual Studio 11 adds a lot of goodness like implicit references (configurable by editing a JavaScript file), brace matching, outlining, etc.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;More on those features here: &lt;a href="http://bit.ly/vs11javascript"&gt;http://bit.ly/vs11javascript&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Since Visual Studio 11 Developer Preview works side-by-side with Visual Studio 2010, you can start using those features today. Yes, it's pre-release, but I'll give it the Works On My Machine certification - I've been using Visual Studio 11 Developer Preview side-by-side with Visual Studio 2010 since //build and it's been working great. Visual Studio 11 Developer Preview starts up so quickly, I'm often using it in cases where I would have used Notepad++.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tip 9: Use the Visual Studio 2010 JScript Editor Extensions&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="display:inline;float:right" align="right" src="http://farm7.static.flickr.com/6108/6345190396_0bf914365d_o_d.png"&gt;Ah, you say, Visual Studio 11 Developer Preview is neat, but that's not what I call pragmatic. It's not out yet!&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Fine, there are some great Visual Studio extensions which give you a lot of the great features in Visual Studio 11 in Visual Studio 2010. That's no accident, some (like the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83"&gt;Web Essentials extension&lt;/a&gt;) are written by the PM's who are driving the Visual Studio 11 features.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The &lt;a href="http://visualstudiogallery.msdn.microsoft.com/872d27ee-38c7-4a97-98dc-0d8a431cc2ed/"&gt;Visual Studio JScript Editor Extension&lt;/a&gt; adds a lot of the Visual Studio 11 JavaScript editing goodies to Visual Studio 2010. Things like:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;  &lt;li&gt;Brace Matching &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;Outlining / Code Folding &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;Current Word Highlighting &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Is this pragmatic? Sure! It's a free, quick install, and if you do any JavaScript editing in Visual Studio it will pay for itself in no time!&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tip 10: Use ASP.NET 4 ScriptManager features&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Okay, if you're using ASP.NET 4.0 Web Forms, you need to know about the new features in ScriptManager. In my talk I demo'd how easy it is to use CDN's and how to register scripts like a &lt;strike&gt;Ninja&lt;/strike&gt; &lt;strike&gt;Pirate&lt;/strike&gt; Honey Badger with &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.scriptresourcemapping.aspx"&gt;ScriptManager.ScriptResourceMapping&lt;/a&gt;. Script Resource Mappings offer a number of benefits:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;  &lt;li&gt;You can register a library like jQuery by a version independent name (&amp;quot;jQuery&amp;quot;), so upgrading jQuery versions means that you only need to update the mapping in one place, rather than throughout your code &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;Using Script Resource Mappings really helps in cases where you may be referencing a library multiple times (e.g. in a page and in a multi-instance user controls within that page) since it will only include the script once &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Pragmatic? Yes! This shipped with ASP.NET 4.0 (April 2010), and taking advantage of resource mappings and automatic CDN usage means you'll have more maintainable, higher performing, better script references with minimal effort.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tip 12: Use RIA/JS for WCF services&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://wcf.codeplex.com/wikipage?title=RIA/JS"&gt;RIA/JS is a set of jQuery plugins&lt;/a&gt; for accessing RIA Services DomainService and OData services. My demo - for this (which was unfortunately pretty rushed) covered the BigShelf sample from the RIA/JS team, which shows how you can use WCF RIA Services to access WCF services from a browser using a really efficient JavaScript library. It includes full featured services, and your service calls are all using really light-weight JSON.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The best way to get up to speed on what's new - and coming - in &lt;a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-800T"&gt;WCF RIA Services is to watch Dinesh's talk at BUILD&lt;/a&gt;. Jeff Handley posted a good summary of the updates for //build which explains what's been released and what's in the works. The short summary is that if you're calling into WCF services from the browser, you should strongly consider using RIA/JS (Mea culpa).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tip 13: Use SignalR for long-polling&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Yeah, this is tons of fun. SignalR is a &amp;quot;smart&amp;quot; way to do long-polling with ASP.NET. For an example, I ran the StackExchange chat application and showed that each request was polling - sending a bunch of repetitive requests to the server, asking &amp;quot;Anything new? How about now? Now? Anything? Hey, anything new?&amp;quot;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a title="HTTP Short Polling" href="http://www.flickr.com/photos/36836555@N00/6335257044/"&gt;&lt;img border="0" alt="HTTP Short Polling" src="http://farm7.static.flickr.com/6056/6335257044_bd8c656edc_b.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;SignalR is a nice system (both client and server libraries available) which implements long polling, in which the browser makes a request and the server waits to respond (keeping the connection) open until there is new information to send to the client.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a title="HTTP Long Polling with SignalR" href="http://www.flickr.com/photos/36836555@N00/6335257062/"&gt;&lt;img border="0" alt="HTTP Long Polling with SignalR" src="http://farm7.static.flickr.com/6216/6335257062_fb9073ba85_b.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You could &lt;a href="http://stackoverflow.com/questions/7788842/ajax-comet-is-there-any-solution-microsoft-is-working-on-or-supports-to-allow"&gt;implement this pattern on your own&lt;/a&gt; if you worked at it, but there's a good chance you'd be tying up threads on the server for each open request. Some smart guys on the ASP.NET team have set up this library to leverage stuff like the task parallel library, websocket support (if the browser supports it), takes advantage of async / await, etc.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Is this pragmatic JavaScript? Absolutely! This is real, working code, you can &lt;a href="http://nuget.org/List/Packages/SignalR"&gt;install SignalR immediately via NuGet&lt;/a&gt;, and it improves scenarios in which the client is waiting for updates from the server because it's more performant and will return information to your clients immediately, rather than waiting for the next time they poll. The &lt;a href="https://github.com/SignalR/SignalR"&gt;source includes some great samples&lt;/a&gt;, including some multi-user applications like chat and a collaborative shape / drawing example.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You can find out more in Scott Hanselman's recent post, &lt;a href="http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx"&gt;Asynchronous scalable web applications with real-time persistent long-running connections with SignalR&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tip 14: Server-side JavaScript with iisnode and Node.js&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Node.js is a popular system for writing server-side code in JavaScript, and it's optimized for high performance and asynchrony. I wrote a big post on it recently: &lt;a href="http://weblogs.asp.net/jgalloway/archive/2011/10/26/using-node-js-in-an-asp-net-mvc-application-with-iisnode.aspx"&gt;Using Node.js in an ASP.NET MVC application with iisnode&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Is this pragmatic? Well, this one is stretching things a bit, but I couldn't help myself. You can use Node.js in IIS using iisnode (even integrating it into an ASP.NET site, since iisnode runs as a standard IIS handler), and it works today. The Node.js community is big, and there are a ton of great packages available now. Is it likely people will start integrating Node.js into their ASP.NET Web Forms applications any time soon? Hard to say. One advantage is that you can reuse JavaScript code on client and server, which could be a big advantage if done right.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tip 15: Adventurous? Keep an eye on CoffeeScript&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Early on, I talked about the fact that JavaScript is powerful, but can be a bit tricky. Some of this is due to the fact that JavaScript is a dynamic, prototype based, weakly typed language masquerading under Java syntax. &lt;a href="http://coffeescript.org"&gt;CoffeeScript is a &amp;quot;little language&amp;quot; that compiles into JavaScript&lt;/a&gt;:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;  &lt;p&gt;Underneath all those awkward braces and semicolons, JavaScript has always had a gorgeous object model at its heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.&lt;/p&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;One benefit of CoffeeScript is that it automatically prevents you from accidentally shooting yourself in the foot due to strange language quirks. If you're writing a lot of JavaScript, CoffeeScript is definitely worth a look. I recently wrote &lt;a href="http://weblogs.asp.net/jgalloway/archive/2011/07/05/an-introduction-to-coffeescript.aspx"&gt;An introduction to CoffeeScript&lt;/a&gt; which explains how it works and how to get started.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;What about you?&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Okay, that's my list. Got any tips you'd like to share?&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8056022" width="1" height="1"&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/~ff/jongalloway?a=8IRKEsr4dfg:Pvx4ibdGhdc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jongalloway?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jongalloway?a=8IRKEsr4dfg:Pvx4ibdGhdc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jongalloway?i=8IRKEsr4dfg:Pvx4ibdGhdc:V_sGLiPBpWU" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jongalloway?a=8IRKEsr4dfg:Pvx4ibdGhdc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jongalloway?d=7Q72WNTAKBA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jongalloway?a=8IRKEsr4dfg:Pvx4ibdGhdc:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jongalloway?i=8IRKEsr4dfg:Pvx4ibdGhdc:D7DqB2pKExk" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jongalloway?a=8IRKEsr4dfg:Pvx4ibdGhdc:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jongalloway?d=G79ilh31hkQ" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jongalloway/~4/8IRKEsr4dfg" height="1" width="1"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-4766752933951449238?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/4766752933951449238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=4766752933951449238' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/4766752933951449238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/4766752933951449238'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/11/15-pragmatic-javascript-tips-for-aspnet.html' title='15 Pragmatic JavaScript Tips for ASP.NET Developers'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm7.static.flickr.com/6056/6335257044_bd8c656edc_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-1544606858200802680</id><published>2011-10-30T13:07:00.000-07:00</published><updated>2011-10-30T13:07:22.029-07:00</updated><title type='text'>JavaScript Frameworks Galore</title><content type='html'>&lt;a href="http://developer.practicalecommerce.com/articles/3117-JavaScript-Frameworks-Galore"&gt;JavaScript Frameworks Galore&lt;/a&gt;: &lt;img align="left" alt="Jquery-100_thumb" border="1" height="45" hspace="12" src="http://www.practicalecommerce.com/uploads/thumbs/0001/4694/jquery-100_thumb.jpg" vspace="6" width="60"&gt;&lt;p&gt;JavaScript plays an important role in user experience, providing interactivity, Ajax-driven data, form validation, and much more.&lt;br /&gt;&lt;br /&gt;Writing the JavaScript necessary for managing a site feature like a content slider, a REST API, or an Ajax shopping cart is not necessarily difficult, but it is time consuming. You have to decide on an approach, write the code, test it across browsers, refactor it to allow for browser differences, and do more testing.&lt;br /&gt;&lt;br /&gt;JavaScript frameworks or libraries can make development move much more rapidly, providing functions or method for many common (or uncommon) tasks, and ensuring that everything works regardless of the user's client.&lt;br /&gt;&lt;br /&gt;In this article, you find a listing of many excellent JavaScript libraries that...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-1544606858200802680?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/1544606858200802680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=1544606858200802680' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/1544606858200802680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/1544606858200802680'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/10/javascript-frameworks-galore.html' title='JavaScript Frameworks Galore'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-102287580330130551</id><published>2011-10-30T12:44:00.001-07:00</published><updated>2011-10-30T12:44:40.368-07:00</updated><title type='text'>Rendering PDFs with pdf.js using HTML5 and JavaScript</title><content type='html'>&lt;a href="http://www.dotnetkicks.com/jquery/Rendering_PDFs_with_pdf_js_using_HTML5_and_JavaScript"&gt;Rendering PDFs with pdf.js using HTML5 and JavaScript&lt;/a&gt;: A couple of clever guys over at Mozilla have thought about this and have come up with a genius way of displaying PDFs inside your browser using Javascript and HTML5. The code is available for download on Github. PDF.js is community-driven and supported by Mozilla Labs which means its good news for us as developers. In the long run this plugin is intended to render PDFs natively within Firefox itself and will eventually ship with Firefox. For now though, we can start using the power of this plugin within our applications today. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdeanhume.com%2fHome%2fBlogPost%2frendering-pdfs-with-pdf-js-using-html5-and-javascript%2f63"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdeanhume.com%2fHome%2fBlogPost%2frendering-pdfs-with-pdf-js-using-html5-and-javascript%2f63" border="0" alt="kick it on DotNetKicks.com"&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/~ff/dotnetkicks?a=r4HBHwW9zfs:v0k_zYPRpIo:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dotnetkicks?d=G79ilh31hkQ" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dotnetkicks?a=r4HBHwW9zfs:v0k_zYPRpIo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dotnetkicks?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-102287580330130551?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/102287580330130551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=102287580330130551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/102287580330130551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/102287580330130551'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/10/rendering-pdfs-with-pdfjs-using-html5.html' title='Rendering PDFs with pdf.js using HTML5 and JavaScript'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-1107095783526236876</id><published>2011-10-30T12:44:00.000-07:00</published><updated>2011-10-30T12:44:23.629-07:00</updated><title type='text'>What is new in ASP.NET 4.5</title><content type='html'>&lt;a href="http://www.dotnetkicks.com/aspnet/What_is_new_in_ASP_NET_4_5"&gt;What is new in ASP.NET 4.5&lt;/a&gt;: This article is a good reference for the new features in the upcoming release of ASP.NET 4.5 / Visual Web Developer 11. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.asp.net%2fvnext%2fwhats-new"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.asp.net%2fvnext%2fwhats-new" border="0" alt="kick it on DotNetKicks.com"&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/~ff/dotnetkicks?a=Uv5j-EehrRk:ytdIRAZXGog:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dotnetkicks?d=G79ilh31hkQ" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dotnetkicks?a=Uv5j-EehrRk:ytdIRAZXGog:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dotnetkicks?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-1107095783526236876?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/1107095783526236876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=1107095783526236876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/1107095783526236876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/1107095783526236876'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/10/what-is-new-in-aspnet-45.html' title='What is new in ASP.NET 4.5'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-4297399840055468494</id><published>2011-10-30T12:21:00.000-07:00</published><updated>2011-10-30T12:21:05.230-07:00</updated><title type='text'>Building Apps with HTML5: What You Need to Know</title><content type='html'>&lt;a href="http://www.codeproject.com/KB/solution-center/Build-Apps-HTML5.aspx"&gt;Building Apps with HTML5: What You Need to Know&lt;/a&gt;: If you’re excited about HTML5, I want to help you turn that excitement into ideas you can put into practice immediately. If you’re skeptical, I want to help you understand just why HTML5 is important. And if you’re just confused about what HTML5 even means, fear not: that’s our first stop in this se&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-4297399840055468494?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/4297399840055468494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=4297399840055468494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/4297399840055468494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/4297399840055468494'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/10/building-apps-with-html5-what-you-need.html' title='Building Apps with HTML5: What You Need to Know'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-8429626715563270615</id><published>2011-10-30T12:19:00.000-07:00</published><updated>2011-10-30T12:19:48.224-07:00</updated><title type='text'>Learn HTML5 in 5 Minutes!</title><content type='html'>&lt;a href="http://www.codeproject.com/KB/solution-center/HTML5-in-5.aspx"&gt;Learn HTML5 in 5 Minutes!&lt;/a&gt;: There’s no question, HTML5 is a hot topic for developers. If you need a crash course to quickly understand the fundamentals of HTML5’s functionality, you’re in the right place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-8429626715563270615?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/8429626715563270615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=8429626715563270615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/8429626715563270615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/8429626715563270615'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/10/learn-html5-in-5-minutes.html' title='Learn HTML5 in 5 Minutes!'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-8708483997078200613</id><published>2011-10-26T13:03:00.000-07:00</published><updated>2011-10-26T13:03:33.289-07:00</updated><title type='text'>E-Commerce Microdata Best Practices</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/SearchEngineJournal/~3/6qNEpwAReD4/"&gt;E-Commerce Microdata Best Practices&lt;/a&gt;: &lt;p&gt;&lt;img title="Mircro Data Ecommerce" src="http://www.searchenginejournal.com/wp-content/uploads/2011/10/Mircro-Data-Ecommerce.png" alt="" width="238" height="175"&gt;SEO for e-commerce sites is like playing on a teeter-totter with all the kids at the playground, and search engines are the fulcrum. Whether the site is geared toward lead generation or B2C sales, the goal of most e-commerce SEO campaigns is to stomp the competition in organic search rankings. Emerging technologies have brought forth microdata with the release of HTML5.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The concept of microdata is a new for SEO professionals, which may give e-commerce clients the edge over competition. This little-known practice will give search engines an explanation of certain elements on a webpage, building trust for that page.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Microdata is a very simple HTML markup that can be used to define dates, prices, locations, descriptions, products, etc … Google, Bing and Yahoo partnered to create &lt;a href="http://schema.org/"&gt;Schema.org&lt;/a&gt; – a mutually developed resource defining accepted practices in regards to microdata. According to the &lt;a href="http://www.bing.com/community/site_blogs/b/webmaster/archive/2011/08/19/18-things-you-need-to-know-about-seo.aspx"&gt;Bing Webmaster Center Blog&lt;/a&gt;, Bing places a lot of weight on the presence of microdata in search engine results. Rumor also has it that Google may eventually replace Google Base with microdata for product searches. Whether the purpose of your website is to sell &lt;a href="http://www.magidglove.com/Work-Gloves-Hand-Protection.aspx"&gt;work gloves&lt;/a&gt; to consumers or generate B2B leads for &lt;a href="http://www.drifire.com/technology/moisture-management"&gt;moisture wicking shirts&lt;/a&gt;, microdata is something that should be implemented for all product pages on e-commerce websites.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Microdata Compatibility:&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Setting up pages to be microdata-compatible is very easy. In most cases, it will only require changing the doctype to support HTML5. Depending on the size of your e-commerce site, this could take anywhere from two minutes to two days. There might be some problems that occur as a result of changing the doctype. This is a rare circumstance, but it is very possible. The doctype for HTML5 is . The doctype markup will be located on the first line of each html file. After changing the doctype, test the page in different browsers to make sure none of the page elements were affected by the alteration.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Product Page Elements:&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Now that the compatibility is set up for the pages, you will need to do an audit on product pages to ensure all the product elements are present. Inserting product information elements is not only beneficial for SEO, but also for usability purposes. Each product page should include: product name, brand, model, description, price, availability, aggregate review score and quantity, related products, and product reviews. Microdata can be added to each of these elements, making them more visible and understandable to search engines.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Wireframing and Element Placement on Product Pages:&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Product page layouts have an immeasurable influence on conversion rates. Before spending countless hours on page designs, create a few wireframes, depicting possible layouts for product pages. A suitable product page should be easy for consumers to gather all the information needed to make an informed purchase. Meanwhile, the pages also must possess the proper hierarchal content structure for search engines to understand the importance of each element on the page. If you run a large e-commerce site, it may be beneficial to try a few different page designs, and run &lt;a href="http://www.straightnorth.com/conversion-optimization"&gt;conversion testing&lt;/a&gt; to identify the best-performing layout.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Product names should always be contained within an h1 tag at the top of the page. Images of the product should always be located under the product name. Remember to practice &lt;a href="http://www.straightnorth.com/blog/image-optimization-best-practices/"&gt;image optimization&lt;/a&gt; for all product images. Somewhere near the image, include the brand name, product description, price, availability and aggregate product reviews. Toward the bottom of the page, add a “featured products” and “product reviews” sections.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Markup Declarations:&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Prior to marking up any product elements, you will need to define that everything contained in marked up html blocks is product information. Itemscope and itemtype declarations are required on each product page because they define that everything within each designated html block relates to the product. Both declarations are an HTML5 feature, which is why changing the doctype is required. This will tell search engines to parse out the markup as product information. The following markup demonstrates how to set up declarations.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img title="maincontent" src="http://www.searchenginejournal.com/wp-content/uploads/2011/10/maincontent1.png" alt="" width="501" height="41"&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Marking Up Product Pages:&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Once you are satisfied with a page layout, you will need to mark up all the elements with microdata. Below is an example of all seven basic product page elements, as well as the Google interpretation. “Product review” and “featured product” markup will be covered later in this article.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img title="Product" src="http://www.searchenginejournal.com/wp-content/uploads/2011/10/Product.png" alt="" width="624" height="713"&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Testing Microdata:&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Testing the pages after changing the markup is obligatory to ensure that the microdata interprets properly. Google recently came out with this handy &lt;a href="http://www.google.com/webmasters/tools/richsnippets"&gt;rich snippets testing tool&lt;/a&gt; to test the interpretation of microdata snippets. Run a test on each page to make sure Google parses the markup properly. The Google Rich Snippets interpretation of this markup looks like this:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img title="Item schema" src="http://www.searchenginejournal.com/wp-content/uploads/2011/10/Item-schema1.png" alt="" width="512" height="272"&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Featured Products Markup:&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;A must-have for improving conversion rates of an e-commerce site is to have a “featured products” section on each product page. Depending on how the website has this section set up, the markup may require alterations. Many websites do featured products in javascript rather than html. Here’s an example of a basic html version of the featured products section.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img title="Article Itemscope" src="http://www.searchenginejournal.com/wp-content/uploads/2011/10/Article-Itemscope.png" alt="" width="572" height="423"&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Product Review Markup:&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Providing consumer reviews is essential for helping potential customers make informed decisions when purchasing from an e-commerce site. If you recently launched a new line of &lt;a href="http://www.drifire.com/commercial/oil-amp-gas"&gt;FR workwear&lt;/a&gt;, you will probably want to monitor customer feedback to see if the product needs improvement. In addition to individual product reviews, you will also want to provide an aggregate review rating and total count. This will give consumers an indication of how well other customers rated the product without having to spend time reading all of the reviews. Below is a snippet for individual reviews and aggregate reviews.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img title="Individual Reviews" src="http://www.searchenginejournal.com/wp-content/uploads/2011/10/Individual-Reviews.png" alt="" width="681" height="492"&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Category Page Markup:&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Depending on how the website is set up, you may choose to mark up category pages. If you list product information on the category pages, you will want to omit any microdata markup as it may cause a confliction with the product pages. After all, the goal for conversions usually starts with the product pages, so you will want the product page to be the landing page rather than a category page. For a simple category page that lists category names, place each category name in an h1 tag and add the following microdata markup.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img title="Category Page" src="http://www.searchenginejournal.com/wp-content/uploads/2011/10/Category-Page.png" alt="" width="537" height="150"&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Special thanks to &lt;a href="http://about.me/daveross"&gt;Dave Ross&lt;/a&gt; of Straight North for providing the microdata markup snippets.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Follow SEJ on Twitter &lt;a href="http://twitter.com/#!/sejournal"&gt;@sejournal&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TQn-DlLhaRzghMf1-T2ZB64fPkE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TQn-DlLhaRzghMf1-T2ZB64fPkE/0/di" border="0" ismap&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TQn-DlLhaRzghMf1-T2ZB64fPkE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TQn-DlLhaRzghMf1-T2ZB64fPkE/1/di" border="0" ismap&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/~ff/SearchEngineJournal?a=6qNEpwAReD4:eJ4YEwsk2sk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SearchEngineJournal?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SearchEngineJournal?a=6qNEpwAReD4:eJ4YEwsk2sk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SearchEngineJournal?i=6qNEpwAReD4:eJ4YEwsk2sk:F7zBnMyn0Lo" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SearchEngineJournal?a=6qNEpwAReD4:eJ4YEwsk2sk:mC1kbPcV5gY"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SearchEngineJournal?i=6qNEpwAReD4:eJ4YEwsk2sk:mC1kbPcV5gY" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SearchEngineJournal?a=6qNEpwAReD4:eJ4YEwsk2sk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SearchEngineJournal?d=qj6IDK7rITs" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-8708483997078200613?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/8708483997078200613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=8708483997078200613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/8708483997078200613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/8708483997078200613'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/10/e-commerce-microdata-bestpractices.html' title='E-Commerce Microdata Best Practices'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-3680669382709696988</id><published>2011-10-25T13:30:00.000-07:00</published><updated>2011-10-25T13:30:28.384-07:00</updated><title type='text'>A JavaScript Library for Creating Reactive Documents</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/Webappers/~3/Fb2ku-RayPM/"&gt;A JavaScript Library for Creating Reactive Documents&lt;/a&gt;: &lt;p&gt;&lt;a title="Tangle Javascript Library" href="http://worrydream.com/Tangle/"&gt;Tangle&lt;/a&gt; is a &lt;strong&gt;JavaScript library for creating reactive documents&lt;/strong&gt;. Your readers can interactively explore possibilities, play with parameters, and see the document update immediately. It is a lightweight library that &lt;strong&gt;provides a simple API for tangling up the values in your documen&lt;/strong&gt;t. Tangle.js has no dependencies, and works with any JavaScript framework, or none at all.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;TangleKit&lt;/strong&gt; is an optional collection of UI components that let your readers adjust values and visualize the results. You can grab whichever components you want, use them, extend them, modify them, or just learn from them and make your own. TangleKit also includes (and depends on) a few helpful libraries, such as MooTools, sprintf, and BVTouchable.&lt;/p&gt;&lt;p style="text-align:center"&gt;&lt;a title="Tangle Javascript Library" href="http://worrydream.com/Tangle/"&gt;&lt;img title="tangle" src="http://maxcdn.webappers.com/img/2011/10/tangle.png" alt="tangle" width="480" height="258"&gt;&lt;/a&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Requirements: Javascript enabled&lt;br&gt; Demo: &lt;a title="demo" rel="nofollow" href="http://worrydream.com/Tangle/"&gt;http://worrydream.com/Tangle/&lt;/a&gt;&lt;br&gt; License: MIT License&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;h3&gt;Related Posts&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;h3 style="text-align:center"&gt;&lt;a href="http://www.webappers.com/2009/05/23/choose-jquery-or-mootools-javascript-framework/" rel="bookmark" title="Choose jQuery or MooTools Javascript Framework?"&gt;Choose jQuery or MooTools Javascript Framework?&lt;/a&gt;&lt;/h3&gt;&lt;p style="text-align:center"&gt;&lt;a href="http://www.webappers.com/2009/05/23/choose-jquery-or-mootools-javascript-framework/" rel="bookmark" title="Choose jQuery or MooTools Javascript Framework?"&gt;&lt;img src="http://www.webappers.com/img/no-thumbnail.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="text-align:center"&gt;&lt;a href="http://www.webappers.com/2008/11/14/jx-graphical-user-interface-for-mootools-library/" rel="bookmark" title="Jx – Graphical User Interface for Mootools Library"&gt;Jx – Graphical User Interface for Mootools Library&lt;/a&gt;&lt;/h3&gt;&lt;p style="text-align:center"&gt;&lt;a href="http://www.webappers.com/2008/11/14/jx-graphical-user-interface-for-mootools-library/" rel="bookmark" title="Jx – Graphical User Interface for Mootools Library"&gt;&lt;img src="http://maxcdn.webappers.com/img/2008/11/mootools-ui.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="text-align:center"&gt;&lt;a href="http://www.webappers.com/2009/03/10/rendering-text-with-javascript-canvas-and-vml/" rel="bookmark" title="Rendering Text with Javascript, Canvas and VML"&gt;Rendering Text with Javascript, Canvas and VML&lt;/a&gt;&lt;/h3&gt;&lt;p style="text-align:center"&gt;&lt;a href="http://www.webappers.com/2009/03/10/rendering-text-with-javascript-canvas-and-vml/" rel="bookmark" title="Rendering Text with Javascript, Canvas and VML"&gt;&lt;img src="http://maxcdn.webappers.com/img/2009/03/typeface.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="text-align:center"&gt;&lt;a href="http://www.webappers.com/2009/07/11/glow-open-source-javascript-library-by-bbc/" rel="bookmark" title="Glow – Open Source Javascript Library by BBC"&gt;Glow – Open Source Javascript Library by BBC&lt;/a&gt;&lt;/h3&gt;&lt;p style="text-align:center"&gt;&lt;a href="http://www.webappers.com/2009/07/11/glow-open-source-javascript-library-by-bbc/" rel="bookmark" title="Glow – Open Source Javascript Library by BBC"&gt;&lt;img src="http://maxcdn.webappers.com/img/2009/07/glow-javascript.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="text-align:center"&gt;&lt;a href="http://www.webappers.com/2007/09/11/live-validation-validation-as-you-type/" rel="bookmark" title="Live Validation – Validation As You Type"&gt;Live Validation – Validation As You Type&lt;/a&gt;&lt;/h3&gt;&lt;p style="text-align:center"&gt;&lt;a href="http://www.webappers.com/2007/09/11/live-validation-validation-as-you-type/" rel="bookmark" title="Live Validation – Validation As You Type"&gt;&lt;img src="http://maxcdn.webappers.com/img/2007/09/live-validation.gif"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3&gt;Sponsors&lt;/h3&gt;&lt;p&gt;&lt;a href="http://www.webiconset.com/?utm_source=WebAppers&amp;amp;utm_medium=cpc&amp;amp;utm_campaign=WebAppers%2BRSS"&gt;Professional Web Icons for Your Websites and Applications&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/~ff/Webappers?a=Fb2ku-RayPM:JxExqyqMw7c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Webappers?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Webappers?a=Fb2ku-RayPM:JxExqyqMw7c:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Webappers?i=Fb2ku-RayPM:JxExqyqMw7c:D7DqB2pKExk" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Webappers?a=Fb2ku-RayPM:JxExqyqMw7c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Webappers?i=Fb2ku-RayPM:JxExqyqMw7c:V_sGLiPBpWU" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Webappers?a=Fb2ku-RayPM:JxExqyqMw7c:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Webappers?i=Fb2ku-RayPM:JxExqyqMw7c:gIN9vFwOqvQ" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Webappers?a=Fb2ku-RayPM:JxExqyqMw7c:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Webappers?i=Fb2ku-RayPM:JxExqyqMw7c:F7zBnMyn0Lo" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Webappers?a=Fb2ku-RayPM:JxExqyqMw7c:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Webappers?i=Fb2ku-RayPM:JxExqyqMw7c:-BTjWOF_DHI" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Webappers/~4/Fb2ku-RayPM" height="1" width="1"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-3680669382709696988?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/3680669382709696988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=3680669382709696988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/3680669382709696988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/3680669382709696988'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/10/javascript-library-for-creating.html' title='A JavaScript Library for Creating Reactive Documents'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-3482051697147661394</id><published>2011-10-23T12:32:00.000-07:00</published><updated>2011-10-23T12:32:02.226-07:00</updated><title type='text'>JSON Serialization and Deserialization in ASP.NET</title><content type='html'>&lt;a href="http://www.codeproject.com/KB/aspnet/Seria_Deseria_ASP_NET.aspx"&gt;JSON Serialization and Deserialization in ASP.NET&lt;/a&gt;: This article focuses on JSON Serialization and Deserialization in &lt;a href="http://ASP.NET"&gt;ASP.NET&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-3482051697147661394?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/3482051697147661394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=3482051697147661394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/3482051697147661394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/3482051697147661394'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/10/json-serialization-and-deserialization.html' title='JSON Serialization and Deserialization in ASP.NET'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-8329862020976087588</id><published>2011-10-15T13:12:00.000-07:00</published><updated>2011-10-15T13:12:05.666-07:00</updated><title type='text'>Developers, UX Is Your Business Too!</title><content type='html'>Developers, UX Is Your Business Too!: &lt;div&gt;&lt;img width="300" height="207" alt="" src="http://uxmag.com/sites/default/files/articleimage_18.jpg?1317577373"&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://uxmag.com/topics/development"&gt;Software developers&lt;/a&gt; often think the user experience as something better left to either the &lt;a href="http://uxmag.com/topics/interaction-design"&gt;interaction designers&lt;/a&gt; or the &lt;a href="http://uxmag.com/topics/visual-design"&gt;visual designers&lt;/a&gt; on their teams. In actuality, developers can have profound impacts on the user experience of the products they’re working on. This article will explore some areas of experience design in which the development process has a more direct role. This is not to say that developers can substitute for UX and interaction designers, but they can play a role in making compelling applications.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;Limit the User’s Choices&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;This may sound counterintuitive, but when a user is given too many choices, it makes it harder for the user to make any choices. When faced with an excess of choice, the user might abandon the application altogether, which is certainly not the choice we want them to make....&lt;a href="http://uxmag.com/articles/developers-ux-is-your-business-too" title="Developers, UX Is Your Business Too!"&gt;&lt;a href="http://uxmag.com/articles/developers-ux-is-your-business-too"&gt;read more&lt;/a&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;By &lt;a href="http://uxmag.com/contributors/chris-griffith" title="View user profile."&gt;Chris Griffith&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-8329862020976087588?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/8329862020976087588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=8329862020976087588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/8329862020976087588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/8329862020976087588'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/10/developers-ux-is-your-business-too.html' title='Developers, UX Is Your Business Too!'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-3099912378241875474</id><published>2011-10-11T13:45:00.000-07:00</published><updated>2011-10-11T13:45:05.325-07:00</updated><title type='text'>Simple, fast and useful MiniProfiler for ASP.NET MVC</title><content type='html'>&lt;a href="http://weblogs.asp.net/hajan/archive/2011/09/26/simple-fast-and-useful-mini-profiler-for-asp-net-mvc.aspx"&gt;Simple, fast and useful MiniProfiler for ASP.NET MVC&lt;/a&gt;: &lt;div style="float:none;margin:0px;padding:4px 0px 4px 0px"&gt;&lt;/div&gt;&lt;p&gt;MiniProfiler is very lightweight, simple, fast and useful profiler for ASP.NET websites including ASP.NET MVC. It is designed to help you find possible performance issues and have very nice and clear view over each operation that happens in your web applications.&lt;/p&gt;  &lt;p&gt;MiniProfiler was created by the &lt;a href="http://stackoverflow.com/"&gt;Stack Overflow&lt;/a&gt; guys for their internal use, but they have put it as an open source project under &lt;a href="http://www.apache.org/licenses/LICENSE-2.0"&gt;Apache License 2.0&lt;/a&gt; for all ASP.NET and WCF developers! (Thanks guys!)&lt;/p&gt;  &lt;p&gt;To get started using MiniProfiler, you have to install it first.&lt;/p&gt;  &lt;p&gt;You have two options available:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Installation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;1. Using &lt;a href="http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c"&gt;NuGet Package Manager&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- In VS.NET 2010, go to Tools –&amp;gt; Library Package Manager –&amp;gt; Manage NuGet Packages…&lt;/p&gt;  &lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_1.png"&gt;&lt;/p&gt;  &lt;p&gt;Install MiniProfiler.MVC3&lt;/p&gt;  &lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_2.png" width="771" height="511"&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_3.png"&gt;&lt;/p&gt;  &lt;p&gt;Once installation is successful, both MiniProfiler will be ticked.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_4.png" width="760" height="508"&gt;&lt;/p&gt;  &lt;p&gt;If you want to use MiniProfiler for Entity Framework too, then install the MiniProfiler.EF too.&lt;/p&gt;  &lt;p&gt;2. Install manually from &lt;a href="http://code.google.com/p/mvc-mini-profiler/"&gt;here&lt;/a&gt; (you have &lt;a href="https://github.com/SamSaffron/MiniProfiler"&gt;github clone&lt;/a&gt; too)     &lt;br&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Setting up&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Once you are done with installation, if you have used NuGet manager to install MiniProfiler, you are almost done&lt;/p&gt;  &lt;p&gt;The new dlls added by the NuGet are marked:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_5.png"&gt;&lt;/p&gt;  &lt;p&gt;Besides dlls, there is also a MiniProfiler.cs class inside App_Start folder&lt;/p&gt;  &lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_6.png"&gt;&lt;/p&gt;  &lt;p&gt;The next thing you need to do is to include MiniProfiler in the master layout page. Once you expand the Views –&amp;gt; Shared, you can see that with installing MiniProfiler there is _MINIPROFILER UPDATED Layout.cshtml that is an example master layout regarding how to include MiniProfiler in your Layout page.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_7.png"&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_8.png"&gt;&lt;/p&gt;  &lt;p&gt;Copy the marked line and add it to your actual _Layout.cshtml&lt;/p&gt;  &lt;p&gt;In my example:&lt;/p&gt;  &lt;pre&gt;&lt;span style="color:blue"&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color:maroon"&gt;DOCTYPE &lt;/span&gt;&lt;span style="color:red"&gt;html&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;html&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;head&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;title&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background:yellow"&gt;@&lt;/span&gt;ViewBag.Title&lt;span style="color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon"&gt;title&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;    &lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;link &lt;/span&gt;&lt;span style="color:red"&gt;href&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="background:yellow"&gt;@&lt;/span&gt;&lt;span style="color:blue"&gt;Url.Content(&lt;/span&gt;&lt;span style="color:#a31515"&gt;&amp;quot;~/Content/Site.css&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;)&amp;quot; &lt;/span&gt;&lt;span style="color:red"&gt;rel&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;stylesheet&amp;quot; &lt;/span&gt;&lt;span style="color:red"&gt;type&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;script &lt;/span&gt;&lt;span style="color:red"&gt;src&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="background:yellow"&gt;@&lt;/span&gt;&lt;span style="color:blue"&gt;Url.Content(&lt;/span&gt;&lt;span style="color:#a31515"&gt;&amp;quot;~/Scripts/jquery-1.4.4.min.js&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;)&amp;quot; &lt;/span&gt;&lt;span style="color:red"&gt;type&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon"&gt;script&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="background:yellow"&gt;@&lt;/span&gt;MvcMiniProfiler.&lt;span style="color:#2b91af"&gt;MiniProfiler&lt;/span&gt;.RenderIncludes()&lt;br /&gt;&lt;span style="color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon"&gt;head&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;body&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="background:yellow"&gt;@&lt;/span&gt;RenderBody()&lt;br /&gt;&lt;span style="color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon"&gt;body&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon"&gt;html&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;br /&gt;    &lt;br&gt;&lt;u&gt;Using MiniProfiler&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Now, run your application… you can see MiniProfiler is running in the top left corner:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_9.png"&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_10.png"&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If you want to see what does MiniProfiler includes for us, check View Source in your browser: &lt;br /&gt;  &lt;br&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_11.png" width="750" height="435"&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If you want to start the mini profiler for specific requests only (e.g. local requests), you can use MiniProfiler.Start() method. The best place to add this is in the Global.asax Application_BeginRequest.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;Grouping Profiler Steps&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Using MiniProfiler we can group profiling steps very easily. Yep, this might make your code in some segments a bit more dirty, but if you have clean code you should no worry…&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;To perform grouping by steps in your Controller, first add using MvcMiniprofiler; directive&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:blue"&gt;using &lt;/span&gt;MvcMiniProfiler;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Create instance of MiniProfiler by adding the MiniProfiler.Current that represents the currently running profiler in the HttpContext&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Use the Step() method in using code block to create profiler step.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Example:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Then in my Products ActionResult add the following code:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:blue"&gt;public &lt;/span&gt;&lt;span style="color:#2b91af"&gt;ActionResult &lt;/span&gt;Products()&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color:#2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af"&gt;Product&lt;/span&gt;&amp;gt; listProducts = &lt;span style="color:blue"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af"&gt;Product&lt;/span&gt;&amp;gt;();&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color:#2b91af"&gt;MiniProfiler &lt;/span&gt;profiler = &lt;span style="color:#2b91af"&gt;MiniProfiler&lt;/span&gt;.Current;&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color:blue"&gt;using &lt;/span&gt;(profiler.Step(&lt;span style="color:#a31515"&gt;&amp;quot;Load Product Items&amp;quot;&lt;/span&gt;, &lt;span style="color:#2b91af"&gt;ProfileLevel&lt;/span&gt;.Info))&lt;br /&gt;    {&lt;br /&gt;        System.Threading.&lt;span style="color:#2b91af"&gt;Thread&lt;/span&gt;.Sleep(1000); &lt;span style="color:green"&gt;//1 second sleep&lt;br /&gt;        &lt;/span&gt;listProducts.Add(&lt;span style="color:blue"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af"&gt;Product&lt;/span&gt;() { ProductID = 1, Name = &lt;span style="color:#a31515"&gt;&amp;quot;Product 1&amp;quot;&lt;/span&gt;, Price = 100 });                &lt;br /&gt;        listProducts.Add(&lt;span style="color:blue"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af"&gt;Product&lt;/span&gt;() { ProductID = 2, Name = &lt;span style="color:#a31515"&gt;&amp;quot;Product 2&amp;quot;&lt;/span&gt;, Price = 200 });                &lt;br /&gt;        listProducts.Add(&lt;span style="color:blue"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af"&gt;Product&lt;/span&gt;() { ProductID = 2, Name = &lt;span style="color:#a31515"&gt;&amp;quot;Product 3&amp;quot;&lt;/span&gt;, Price = 300 });            }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue"&gt;using &lt;/span&gt;(profiler.Step(&lt;span style="color:#a31515"&gt;&amp;quot;Add Products to List&amp;quot;&lt;/span&gt;, &lt;span style="color:#2b91af"&gt;ProfileLevel&lt;/span&gt;.Info))&lt;br /&gt;    {&lt;br /&gt;        System.Threading.&lt;span style="color:#2b91af"&gt;Thread&lt;/span&gt;.Sleep(2000); &lt;span style="color:green"&gt;//2 seconds sleep&lt;br /&gt;        &lt;/span&gt;ViewBag.Products = listProducts;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue"&gt;return &lt;/span&gt;View();&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;In this example we have two profiler steps: &lt;strong&gt;Load Product Items&lt;/strong&gt; and &lt;strong&gt;Add Products to List&lt;/strong&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Now add new View to display products list by right clicking somewhere above the code in Products() method and Add View with name Products.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;In the view add the following code (just for the demo…):&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="background:yellow"&gt;@{&lt;br /&gt;&lt;/span&gt;    ViewBag.Title = &lt;span style="color:#a31515"&gt;&amp;quot;Products&amp;quot;&lt;/span&gt;;&lt;br /&gt;    Layout = &lt;span style="color:#a31515"&gt;&amp;quot;~/Views/Shared/_Layout.cshtml&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;span style="background:yellow"&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;h2&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;Products&lt;span style="color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon"&gt;h2&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;p&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;ul&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="background:yellow"&gt;@&lt;/span&gt;&lt;span style="color:blue"&gt;foreach &lt;/span&gt;(&lt;span style="color:blue"&gt;var &lt;/span&gt;item &lt;span style="color:blue"&gt;in &lt;/span&gt;ViewBag.Products)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;li&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;                &lt;/span&gt;&lt;span style="background:yellow"&gt;@&lt;/span&gt;item.Name ($&lt;span style="background:yellow"&gt;@&lt;/span&gt;item.Price)&lt;br /&gt;            &lt;span style="color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon"&gt;li&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;        &lt;/span&gt;}&lt;br /&gt;    &lt;span style="color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon"&gt;ul&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon"&gt;p&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Now run the web page and navigate to /Home/Products&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_12.png"&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;once you click the button at the top-left corner you will get this:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_13.png"&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;Profiling Database Queries&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;To use MiniProfiler for profiling database queries, first you will need to de-comment one (or both) of the database related line/s inside App_Start/MiniProfiler.cs PreStart() method&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:green"&gt;//TODO: To profile a standard DbConnection: &lt;br /&gt;// var profiled = new ProfiledDbConnection(cnn, MiniProfiler.Current);&lt;br /&gt;&lt;br /&gt;//TODO: If you are profiling EF code first try: &lt;br /&gt; &lt;/span&gt;&lt;span style="color:#2b91af"&gt;MiniProfilerEF&lt;/span&gt;.Initialize();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;In our example I will be using the EF Mini Profiler.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;First, I have rewritten the Products method with the following code:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:blue"&gt;public &lt;/span&gt;&lt;span style="color:#2b91af"&gt;ActionResult &lt;/span&gt;Products()&lt;br /&gt;{  &lt;br /&gt;    &lt;span style="color:#2b91af"&gt;AdventureWorksEntities &lt;/span&gt;context = &lt;span style="color:blue"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af"&gt;AdventureWorksEntities&lt;/span&gt;();&lt;br /&gt;&lt;br /&gt;    ViewBag.Products = (&lt;span style="color:blue"&gt;from &lt;/span&gt;p &lt;span style="color:blue"&gt;in &lt;/span&gt;context.Products&lt;br /&gt;                        &lt;span style="color:blue"&gt;join &lt;/span&gt;pm &lt;span style="color:blue"&gt;in &lt;/span&gt;context.ProductModels &lt;span style="color:blue"&gt;on &lt;/span&gt;p.ProductModelID &lt;span style="color:blue"&gt;equals &lt;/span&gt;pm.ProductModelID&lt;br /&gt;                        &lt;span style="color:blue"&gt;join &lt;/span&gt;pmx &lt;span style="color:blue"&gt;in &lt;/span&gt;context.ProductModelProductDescriptionCultures &lt;span style="color:blue"&gt;on &lt;/span&gt;pm.ProductModelID &lt;span style="color:blue"&gt;equals &lt;/span&gt;pmx.ProductModelID&lt;br /&gt;                        &lt;span style="color:blue"&gt;join &lt;/span&gt;pd &lt;span style="color:blue"&gt;in &lt;/span&gt;context.ProductDescriptions &lt;span style="color:blue"&gt;on &lt;/span&gt;pmx.ProductDescriptionID &lt;span style="color:blue"&gt;equals &lt;/span&gt;pd.ProductDescriptionID&lt;br /&gt;                        &lt;span style="color:blue"&gt;select new &lt;/span&gt;&lt;span style="color:#2b91af"&gt;ProductViewModel&lt;br /&gt;                        &lt;/span&gt;{&lt;br /&gt;                            ProductID = p.ProductID,&lt;br /&gt;                            Name = p.Name,&lt;br /&gt;                            Description = pd.Description.Substring(0, 200)&lt;br /&gt;                        });&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue"&gt;return &lt;/span&gt;View();&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br&gt;I am using AdventureWorks database with EF. I have added one query that joins four tables. Now just run the application.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_14.png" width="864" height="526"&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;if we click on &lt;u&gt;1 sql&lt;/u&gt;, the MiniProfiler will give us some detailed info regarding generated SQL query and the time needed to execute and finish&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_15.png" width="917" height="149"&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If we have some query that is executing very long or we have multiple queries which create performance issues, MiniProfiler will give us warnings…&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;For example, lets add loop of executing the above query 50 times&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:blue"&gt;public &lt;/span&gt;&lt;span style="color:#2b91af"&gt;ActionResult &lt;/span&gt;Products()&lt;br /&gt;{                        &lt;br /&gt;    &lt;span style="color:#2b91af"&gt;AdventureWorksEntities &lt;/span&gt;context = &lt;span style="color:blue"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af"&gt;AdventureWorksEntities&lt;/span&gt;();&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af"&gt;ProductViewModel&lt;/span&gt;&amp;gt; productList = &lt;span style="color:blue"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af"&gt;ProductViewModel&lt;/span&gt;&amp;gt;();&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color:blue"&gt;for &lt;/span&gt;(&lt;span style="color:blue"&gt;int &lt;/span&gt;i = 0; i &amp;lt; 50; i++)&lt;br /&gt;    {&lt;br /&gt;        productList.AddRange(&lt;span style="color:blue"&gt;from &lt;/span&gt;p &lt;span style="color:blue"&gt;in &lt;/span&gt;context.Products&lt;br /&gt;                       &lt;span style="color:blue"&gt;join &lt;/span&gt;pm &lt;span style="color:blue"&gt;in &lt;/span&gt;context.ProductModels &lt;span style="color:blue"&gt;on &lt;/span&gt;p.ProductModelID &lt;span style="color:blue"&gt;equals &lt;/span&gt;pm.ProductModelID&lt;br /&gt;                       &lt;span style="color:blue"&gt;join &lt;/span&gt;pmx &lt;span style="color:blue"&gt;in &lt;/span&gt;context.ProductModelProductDescriptionCultures &lt;span style="color:blue"&gt;on &lt;/span&gt;pm.ProductModelID &lt;span style="color:blue"&gt;equals &lt;/span&gt;pmx.ProductModelID&lt;br /&gt;                       &lt;span style="color:blue"&gt;join &lt;/span&gt;pd &lt;span style="color:blue"&gt;in &lt;/span&gt;context.ProductDescriptions &lt;span style="color:blue"&gt;on &lt;/span&gt;pmx.ProductDescriptionID &lt;span style="color:blue"&gt;equals &lt;/span&gt;pd.ProductDescriptionID&lt;br /&gt;                       &lt;span style="color:blue"&gt;orderby &lt;/span&gt;p.Name &lt;span style="color:blue"&gt;descending&lt;/span&gt;, p.ProductID &lt;span style="color:blue"&gt;ascending&lt;/span&gt;, pd.Description &lt;span style="color:blue"&gt;descending&lt;/span&gt;, pd.ModifiedDate &lt;span style="color:blue"&gt;descending&lt;br /&gt;                       select new &lt;/span&gt;&lt;span style="color:#2b91af"&gt;ProductViewModel&lt;br /&gt;                       &lt;/span&gt;{&lt;br /&gt;                           ProductID = p.ProductID,&lt;br /&gt;                           Name = p.Name,&lt;br /&gt;                           Description = pd.Description.Substring(0, 200)&lt;br /&gt;                       });&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    ViewBag.Products = productList;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:blue"&gt;return &lt;/span&gt;View();&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Once we run the app, it will take few seconds to load…&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/hajan/postimages2011/ASPNETMVC_MiniProfiler/aspnet_miniprofiler_16.png" width="942" height="327"&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;  &lt;br&gt;&lt;strong&gt;&lt;u&gt;Summary&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;ASP.NET MVC MiniProfiler is a great tool that you must have in your toolset for building scalable, fast and performance optimized web applications. You can have clear view of what is causing performance issues in your application in almost all levels and layers.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;For those that are interested to get access to the MiniProfiler source code and want to dig more, check &lt;a href="http://code.google.com/p/mvc-mini-profiler/source/checkout"&gt;this page&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;  &lt;br&gt;I hope this was useful blog post for you.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Regards,&lt;br /&gt;  &lt;br&gt;Hajan&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;  &lt;br&gt;&lt;strong&gt;&lt;em&gt;Similar readings&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;  &lt;li&gt;&lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/2011/06/14/miniprofiler-lightweight-profiler-for-asp-net-web-applications.aspx"&gt;MiniProfiler: Lightweight profiler for ASP.NET web applications&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;a href="http://code.google.com/p/mvc-mini-profiler/"&gt;MVC Mini Profiler Project Home&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7959276" width="1" height="1"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-3099912378241875474?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/3099912378241875474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=3099912378241875474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/3099912378241875474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/3099912378241875474'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/10/simple-fast-and-useful-miniprofiler-for.html' title='Simple, fast and useful MiniProfiler for ASP.NET MVC'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-3836760052562246144</id><published>2011-09-15T14:20:00.000-07:00</published><updated>2011-09-15T14:20:36.385-07:00</updated><title type='text'>Windows Communication Foundation Basics</title><content type='html'>&lt;a href="http://www.codeproject.com/KB/WCF/WCF_Basics.aspx"&gt;Windows Communication Foundation Basics&lt;/a&gt;: Windows Communication Foundation (WCF) basics for beginners&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-3836760052562246144?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/3836760052562246144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=3836760052562246144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/3836760052562246144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/3836760052562246144'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/09/windows-communication-foundation-basics.html' title='Windows Communication Foundation Basics'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-5248512455898692471</id><published>2011-09-15T14:06:00.000-07:00</published><updated>2011-09-15T14:06:25.326-07:00</updated><title type='text'>What Is The Difference Between Software Development And Web Development?</title><content type='html'>&lt;a href="http://software-document.blogspot.com/2011/09/what-is-difference-between-software.html"&gt;What Is The Difference Between Software Development And Web Development?&lt;/a&gt;: &lt;br&gt;&lt;b&gt;&lt;span style="font-size:large"&gt;What Is The Difference Between Software Development And Web Development?&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;Every entrepreneur has to do two tasks at a time - one, to learn more efficient ways to progress fast in the business and second, to promote his business well for winning the attention of prospective customers and preventing them to turn to others. For the best business experience in terms of these two, he has to gauge what exactly he requires for the different needs that arise per se: a strong web presence, a responsive web application, a desktop application, and whatever. At such junctures, many business doers realize that web development and software application development may not be the same. Knowledge will only do good to you, better than getting a software made to work on your business infrastructure when you actually needed a web service. Let me differentiate the two for you: the &lt;b&gt;software development &lt;/b&gt;and the &lt;b&gt;web development&lt;/b&gt;.&lt;br&gt;&lt;br&gt;&lt;div style="clear:both;text-align:center"&gt;&lt;a href="http://4.bp.blogspot.com/-qiv2E4q0ROQ/TmyTgQsXSrI/AAAAAAAABGE/NvotTdGP3Go/s1600/website+development.jpg" style="margin-left:1em;margin-right:1em"&gt;&lt;img border="0" height="189" src="http://4.bp.blogspot.com/-qiv2E4q0ROQ/TmyTgQsXSrI/AAAAAAAABGE/NvotTdGP3Go/s320/website+development.jpg" width="320"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Software development&lt;/b&gt; can be a part of web development, but web development is not always so. When you need a website or a web segment to run on it, you are looking for website development services. But, if you want a program that runs only on your PC or all the interconnected computers in your organization, you might be on your way to a desktop application or software. So, while a desktop software runs off the web, a web-based software application is intended to run in the web environment.&lt;br&gt;&lt;br&gt;Most application development companies work on both the types of technologies. Here, you should know that technologies used in web-based activities often get replaced by something superior and more effective than the earlier one. Hence, you couldn't always stick to one that had been done once. As such, the role of a professional application and web developer could come in real handy for you. With his domain expertise, he could give you all the necessary support-based services for all types of your projects.&lt;br&gt;&lt;br&gt;On the other hand, many business applications are better suited to be run on individual desktops, as they are clearly technologically defined and programmed to a specific purpose and also security concerns and legacy issue come to resolution. This kind of software development is without a subscription fee over the life of the software use. It's made once and purchased outright. Coming to the use of software in a web-based environment, there are a few common procedures like monitoring of online lead generation, customer conversion rates etc. for which a business would require web-based software programs.&lt;br&gt;&lt;br&gt;Whether applications running on the web or offline and backend apps, both are handled by the professional software application development firms. They would always try to understand the business nature of the concerned firm before they work on any type of development strategy for it. You need not get worried about the quality of work produced by them. Just be clear on your needs and in telling them about the same.&lt;br&gt;&lt;div&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/6135018486634764332-8103657609208058497?l=software-document.blogspot.com" alt=""&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-5248512455898692471?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/5248512455898692471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=5248512455898692471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/5248512455898692471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/5248512455898692471'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/09/what-is-difference-between-software.html' title='What Is The Difference Between Software Development And Web Development?'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-qiv2E4q0ROQ/TmyTgQsXSrI/AAAAAAAABGE/NvotTdGP3Go/s72-c/website+development.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-5520656567869909297</id><published>2011-09-08T11:42:00.000-07:00</published><updated>2011-09-08T11:42:04.359-07:00</updated><title type='text'>Common C#.NET Performance Guidelines</title><content type='html'>&lt;a href="http://www.codeproject.com/KB/cs/CSharpPerformance.aspx"&gt;Common C#.NET Performance Guidelines&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-5520656567869909297?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/5520656567869909297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=5520656567869909297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/5520656567869909297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/5520656567869909297'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/09/common-cnet-performance-guidelines.html' title='Common C#.NET Performance Guidelines'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-4428166306454981783</id><published>2011-09-05T11:35:00.000-07:00</published><updated>2011-09-05T11:35:54.181-07:00</updated><title type='text'>Top 100 Agile Books (Edition 2011)</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/noop/~3/NE-05YtOaNI/top-100-agile-books-edition-2011.html"&gt;Top 100 Agile Books (Edition 2011)&lt;/a&gt;: &lt;div&gt;&lt;p&gt;&lt;a href="http://nooperation.typepad.com/.a/6a00e54ff8b9c188340154346fa28b970c-popup" style="float:right"&gt;&lt;img alt="Top_100" src="http://nooperation.typepad.com/.a/6a00e54ff8b9c188340154346fa28b970c-150wi" style="width:150px;margin:0px 0px 5px 5px" title="Top_100"&gt;&lt;/a&gt; One year ago, at the Agile 2010 conference, I came up with the idea to publish a &lt;a href="http://www.noop.nl/2010/08/top-100-agile-books.html"&gt;Top 100 Agile Books&lt;/a&gt;. Like many of &lt;a href="http://www.noop.nl/lists.html"&gt;my other top 100 lists&lt;/a&gt; it was a great success (in terms of blog traffic).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This year I am &lt;em&gt;not&lt;/em&gt; at the &lt;a href="http://agile2011.agilealliance.org/"&gt;Agile 2011 conference&lt;/a&gt; (for various reasons, both good and bad). But nevertheless, I decided to publish &lt;strong&gt;a new edition of the Top 100 Agile Books&lt;/strong&gt;, especially for my friends at Agile 2011 who are enjoying a great conference without me.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This list is based on &lt;strong&gt;quality&lt;/strong&gt; (averate ratings) and &lt;strong&gt;quantity&lt;/strong&gt; (number of ratings), both on &lt;a href="http://www.amazon.com/"&gt;Amazon.com&lt;/a&gt; and &lt;a href="http://www.goodreads.com/"&gt;GoodReads.com&lt;/a&gt;. The age of the books also played a minor factor in the calculations. (Older books should keep acquiring new ratings, or else they drop in the list.)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Congratulations are in order for Roy Osherove, who pushed Mike Cohn away from the #1 slot, and Jonathan Rasmussen, the highest new entry this year with &lt;a href="http://www.amazon.com/gp/product/1934356581/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=1934356581"&gt;The Agile Samurai&lt;/a&gt;. Other high new entries are &lt;a href="http://www.amazon.com/gp/product/1617290084/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=1617290084"&gt;Specification by Example&lt;/a&gt; (Gojko Adzic), &lt;a href="http://www.amazon.com/gp/product/0137081073/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=0137081073"&gt;The Clean Coder&lt;/a&gt; (Bob Martin), &lt;a href="http://www.amazon.com/gp/product/0982866917/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=0982866917"&gt;The Elements of Scrum&lt;/a&gt; (Chris Sims), &lt;a href="http://www.amazon.com/gp/product/B003TZLNKY/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B003TZLNKY"&gt;The Concise Executive Guide to Agile&lt;/a&gt; (Israel Gat) and &lt;a href="http://www.amazon.com/gp/product/0321712471/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=0321712471"&gt;Management 3.0&lt;/a&gt; (hey, that’s me!).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Enjoy the list!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Update 12 August: I fixed an error in the calculations. The book &lt;a href="http://www.amazon.com/gp/product/0321336380?ie=UTF8&amp;amp;tag=noopnl-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321336380"&gt;Continuous Delivery&lt;/a&gt; (Jez Humble, David Farley) is now a new entry at #50.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="2"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;TY&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;LY&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;strong&gt;Title&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;strong&gt;Author(s)&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;strong&gt;Year&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;5&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1933988274?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1933988274"&gt;The Art of Unit Testing: With Examples in .Net&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Roy Osherove&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0131479415?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0131479415"&gt;Agile Estimating and Planning&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Mike Cohn&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2005&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0131177052?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0131177052"&gt;Working Effectively with Legacy Code&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Michael Feathers&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2004&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;8&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0984521402?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0984521402"&gt;Kanban: Successful Evolutionary Change for Your Technology Business&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;David J. Anderson&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;9&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321579364?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321579364"&gt;Succeeding with Agile: Software Development Using Scrum&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Mike Cohn&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;6&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0132350882?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0132350882"&gt;Clean Code: A Handbook of Agile Software Craftsmanship&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Robert C. Martin&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2008&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;7&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;6&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0135974445?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0135974445"&gt;Agile Software Development, Principles, Patterns, and Practices&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Robert C. Martin&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2002&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;8&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;4&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0201485672?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0201485672"&gt;Refactoring: Improving the Design of Existing Code&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Martin Fowler, et al.&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;1999&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;9&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1934356581/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=1934356581"&gt;The Agile Samurai: How Agile Masters Deliver Great Software&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Jonathan Rasmusson&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;7&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/020161622X?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=020161622X"&gt;The Pragmatic Programmer: From Journeyman to Master&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Andrew Hunt, David Thomas&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;1999&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;11&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;11&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321205685?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321205685"&gt;User Stories Applied: For Agile Software Development&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Mike Cohn&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2004&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;12&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;10&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321503627?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321503627"&gt;Growing Object-Oriented Software, Guided by Tests&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Steve Freeman, Nat Pryce&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;13&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;32&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1935401009?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1935401009"&gt;The Principles of Product Development Flow: Second Generation Lean Product Development&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Donald G. Reinertsen&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;14&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;14&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0596527675?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0596527675"&gt;The Art of Agile Development&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;James Shore, Shane Warden&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2007&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;15&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;23&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1430322640?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1430322640"&gt;Scrum and XP from the Trenches&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Henrik Kniberg&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2007&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;16&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;12&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321150783?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321150783"&gt;Lean Software Development: An Agile Toolkit&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Mary Poppendieck, Tom Poppendieck&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2003&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;17&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;13&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321125215?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321125215"&gt;Domain-Driven Design: Tackling Complexity in the Heart of Software&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Eric Evans&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2003&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;18&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;16&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0131857258?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0131857258"&gt;Agile Principles, Patterns, and Practices in C#&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Robert C. Martin, Micah Martin&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2006&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;19&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;17&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321534468?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321534468"&gt;Agile Testing: A Practical Guide for Testers and Agile Teams&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Lisa Crispin, Janet Gregory&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;20&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;24&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321437381?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321437381"&gt;Implementing Lean Software Development: From Concept to Cash&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Mary Poppendieck, Tom Poppendieck&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2006&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;21&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;18&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/097451408X?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=097451408X"&gt;Practices of an Agile Developer: Working in the Real World&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Venkat Subramaniam, Andy Hunt&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2005&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;22&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;15&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0596517718?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0596517718"&gt;Making Things Happen: Mastering Project Management&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Scott Berkun&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2008&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;23&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;57&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0596159811?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0596159811"&gt;Beautiful Testing: Leading Professionals Reveal How They Improve Software&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Adam Goucher, Tim Riley&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;24&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;19&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0976694026?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0976694026"&gt;Behind Closed Doors: Secrets of Great Management&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Johanna Rothman, Esther Derby&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2005&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;25&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;34&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0201699478?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0201699478"&gt;Crystal Clear: A Human-Powered Methodology for Small Teams&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Alistair Cockburn&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2004&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;26&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;28&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1934356433?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1934356433"&gt;Agile Coaching&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Rachel Davies, Liz Sedley&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;27&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;20&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0596009488?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0596009488"&gt;Applied Software Project Management&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Andrew Stellman, Jennifer Greene&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2005&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;28&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;21&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321658396?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321658396"&gt;Agile Project Management: Creating Innovative Products (2nd Edition)&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Jim Highsmith&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;29&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;22&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0131495054?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0131495054"&gt;xUnit Test Patterns: Refactoring Test Code&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Gerard Meszaros&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2007&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;30&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;31&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1934356298?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1934356298"&gt;Manage Your Project Portfolio: Increase Your Capacity and Finish More Projects&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Johanna Rothman&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;31&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;26&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0201702258?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0201702258"&gt;Writing Effective Use Cases&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Alistair Cockburn&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2000&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;32&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1617290084/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=1617290084"&gt;Specification by Example: How Successful Teams Deliver the Right Software&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Gojko Adzic&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2011&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;33&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;41&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0684839911?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0684839911"&gt;Managing the Design Factory&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Donald G. Reinertsen&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;1997&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;34&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0137081073/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=0137081073"&gt;The Clean Coder&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Robert C. Martin&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2011&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;35&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;29&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0977616649?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0977616649"&gt;Agile Retrospectives: Making Good Teams Great&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Esther Derby, Diana Larsen&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2006&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;36&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;39&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/073561993X?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=073561993X"&gt;Agile Project Management with Scrum&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Ken Schwaber&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2004&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;37&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;30&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321514521?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321514521"&gt;Agile Adoption Patterns: A Roadmap to Organizational Succes&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Amr Elssamadisy&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2008&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;38&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;27&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321213351?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321213351"&gt;Refactoring to Patterns&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Joshua Kerievsky&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2004&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;39&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;40&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321278658?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321278658"&gt;Extreme Programming Explained: Embrace Change (1st+2nd Edition)&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Kent Beck, Cynthia Andres&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;1999&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;40&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;37&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0596519788?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0596519788"&gt;The Productive Programmer&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Neal Ford&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2008&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;41&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;60&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321605780?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321605780"&gt;Agile Product Management with Scrum: Creating Products that Customers Love&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Roman Pichler&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;42&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;25&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0131111558?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0131111558"&gt;Agile and Iterative Development: A Manager's Guide&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Craig Larman&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2003&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;43&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;68&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321572882?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321572882"&gt;Stand Back and Deliver: Accelerating Business Agility&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Pollyanna Pixton, Niel Nickolaisen, Todd Little, Kent McDonald&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;44&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0982866917/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=0982866917"&gt;The Elements of Scrum&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Chris Sims, Hillary Louise Johnson&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2011&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;45&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321712471/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=0321712471"&gt;Management 3.0: Leading Agile Developers, Developing Agile Leaders&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Jurgen Appelo&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2011&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;46&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;47&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321146530?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321146530"&gt;Test Driven Development: By Example&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Kent Beck&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2002&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;47&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;36&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0130676349?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0130676349"&gt;Agile Software Development with Scrum&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Ken Schwaber, Mike Beedle&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2001&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;48&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/B003TZLNKY/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B003TZLNKY"&gt;The Concise Executive Guide to Agile&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Israel Gat&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;49&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;48&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321336380?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321336380"&gt;Continuous Integration: Improving Software Quality and Reducing Risk&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Paul M. Duvall, Steve Matyas, Andrew Glover&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2007&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;50&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321601912?ie=UTF8&amp;amp;tag=noopnl-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321601912"&gt;Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation&lt;/a&gt;&lt;br&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Jez Humble, David Farley&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;51&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;35&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0201786060?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0201786060"&gt;Requirements by Collaboration&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Ellen Gottesdiener&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2002&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;52&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;42&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0978739248?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0978739248"&gt;Manage It!: Your Guide to Modern, Pragmatic Project Management&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Johanna Rothman&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2007&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;53&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;45&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321480961?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321480961"&gt;Scaling Lean &amp;amp; Agile Development: Thinking and Organizational Tools for Large-Scale Scrum&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Craig Larman, Bas Vodde&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2008&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;54&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;38&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0131467409?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0131467409"&gt;Organizational Patterns of Agile Software Development&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;James O. Coplien, Neil B. Harrison&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2004&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;55&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;43&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321620704?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321620704"&gt;Leading Lean Software Development: Results Are not the Point&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Mary Poppendieck, Tom Poppendieck&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;56&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;51&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0974514047?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0974514047"&gt;Ship it! A Practical Guide to Successful Software Projects&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Jared Richardson, William A. Gwaltney&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2005&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;57&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;86&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0557138329?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0557138329"&gt;Kanban and Scrum - Making the Most of Both&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Henrik Kniberg, Mattias Skarin&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;58&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;71&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321637704?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321637704"&gt;Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Lyssa Adkins&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;59&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;49&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321268776?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321268776"&gt;Collaboration Explained: Facilitation Skills for Software Project Leaders&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Jean Tabaka&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2006&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;60&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;55&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0201775948?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0201775948"&gt;Beyond Software Architecture: Creating and Sustaining Winning Solutions&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Luke Hohmann&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2003&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;61&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;50&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/047051504X?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=047051504X"&gt;Changing Software Development: Learning to Become Agile&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Allan Kelly&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2008&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;62&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;80&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321437292?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321437292"&gt;Innovation Games: Creating Breakthrough Products Through Collaborative Play&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Luke Hohmann&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2006&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;63&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;70&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0932633641?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0932633641"&gt;Just Enough Requirements Management: Where Software Development Meets Marketing&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Alan Mark Davis&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2005&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;64&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;52&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321321308?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321321308"&gt;Agility and Discipline Made Easy: Practices from OpenUP and RUP&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Per Kroll, Bruce MacIsaac&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2006&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;65&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;61&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321413091?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321413091"&gt;Implementation Patterns&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Kent Beck&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2006&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;66&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;62&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0201708426?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0201708426"&gt;Extreme Programming Installed&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Ron Jeffries, Ann Anderson, Chet Hendrickson&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2000&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;67&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;56&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0596518021?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0596518021"&gt;Beautiful Teams: Inspiring and Cautionary Tales from Veteran Team Leaders&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Andrew Stellman, Jennifer Greene&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;68&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;53&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321293533?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321293533"&gt;Refactoring Databases: Evolutionary Database Design&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Scott W. Ambler, Pramodkumar J. Sadalage&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2006&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;69&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;88&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0955683610?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0955683610"&gt;Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Gojko Adzic&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;70&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;58&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0131240714?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0131240714"&gt;Managing Agile Projects&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Sanjiv Augustine&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2005&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;71&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;46&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321482751?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321482751"&gt;Agile Software Development: The Cooperative Game (2nd Edition)&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Alistair Cockburn&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2006&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;72&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;81&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0131424602?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0131424602"&gt;Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;David J. Anderson&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2003&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;73&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;73&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1933988258?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1933988258"&gt;Becoming Agile: ...in an Imperfect World&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Greg Smith, Ahmed Sidky&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2008&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;74&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;66&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321509366?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321509366"&gt;Emergent Design: The Evolutionary Nature of Professional Software Development&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Scott L. Bain&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2008&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;75&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;75&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1932394850?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1932394850"&gt;Test Driven: TDD and Acceptance TDD for Java Developers&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Lasse Koskela&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2007&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;76&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;83&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321502752?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321502752"&gt;The Software Project Manager's Bridge to Agility&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Michele Sliger, Stacia Broderick&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2008&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;77&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321714083/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=0321714083"&gt;Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Ken Pugh&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2011&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;78&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;63&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/160773074X?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=160773074X"&gt;Agile Excellence for Product Managers: A Guide to Creating Winning Products with Agile Development Teams&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Greg Cohen&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;79&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;54&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1895186110?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1895186110"&gt;Managing Agile Projects&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Kevin J. Aguanno&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2005&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;80&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;69&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1439803897?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1439803897"&gt;A Tale of Two Systems: Lean and Agile Software Development for Business Leaders&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Michael K. Levine&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;81&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;67&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0201741571?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0201741571"&gt;Fearless Change: Patterns for Introducing New Ideas&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Mary Lynn Manns, Linda Rising&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2004&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;82&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;64&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321186125?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321186125"&gt;Balancing Agility and Discipline: A Guide for the Perplexed&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Barry Boehm, Richard Turner&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2003&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;83&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;79&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1430314885?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1430314885"&gt;Patterns of Agile Practice Adoption&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Amr Elssamadisy&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2007&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;84&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0470684208/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=0470684208"&gt;Lean Architecture: for Agile Software Development&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;James O. Coplien, Gertrud Bjørnvig&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;85&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;59&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321532899?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321532899"&gt;Lean-Agile Software Development: Achieving Enterprise Agility&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Alan Shalloway, Guy Beaver, James R. Trott&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;86&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;84&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/047041345X?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=047041345X"&gt;Business Agility: Sustainable Prosperity in a Relentlessly Competitive World&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Michael H. Hugos&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;87&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0984618104/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=0984618104"&gt;Just Enough Software Architecture: A Risk-Driven Approach&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;George H. Fairbanks&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;88&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;78&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1584505869?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1584505869"&gt;Principles of Software Development Leadership: Applying Project Management Principles to Agile Software Development&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Ken Whitaker&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;89&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;77&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0137041136?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0137041136"&gt;A Practical Guide to Distributed Scrum&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Elizabeth Woodward, Steffan Surdek, Matthew Ganis&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;90&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;76&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1604270314?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1604270314"&gt;The Business Value of Agile Software Methods: Maximizing Roi With Just-in-time Processes and Documentation&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;David F. Rico, Hasan H. Sayani, Saya Sone&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;91&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1453802266/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=1453802266"&gt;Personal Kanban: Mapping Work | Navigating Life&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Jim Benson, Tonianne DeMaria Barry&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2011&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;92&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;74&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321618521?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321618521"&gt;Agile Game Development with Scrum&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Clinton Keith&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;93&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321635841/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=0321635841"&gt;Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Dean Leffingwell&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;94&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;85&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0131914510?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0131914510"&gt;The Enterprise Unified Process: Extending the Rational Unified Process&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Scott W. Ambler, John Nalbone, Michael J. Vizdos&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2005&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;95&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321554132/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=0321554132"&gt;Managing Software Debt: Building for Inevitable Change&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Chris Sterling&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;96&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;82&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/1604270276?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1604270276"&gt;Project Management the Agile Way: Making It Work in the Enterprise&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;John C. Goodpasture&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2009&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;97&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0932633714?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0932633714"&gt;Agile Software Development with Distributed Teams&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Jutta Eckstein&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;98&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;-&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0986519405/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=0986519405"&gt;SDLC 3.0: Beyond a Tacit Understanding of Agile&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Mark Kennaley&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2010&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;99&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;33&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0321458192?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0321458192"&gt;Scaling Software Agility: Best Practices for Large Enterprises&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;Dean Leffingwell&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2007&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;&lt;strong&gt;100&lt;/strong&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="center" valign="middle"&gt;95&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;&lt;a href="http://www.amazon.com/gp/product/0131016490?ie=UTF8&amp;amp;tag=lstab01-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0131016490"&gt;Test-Driven Development: A Practical Guide&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;David Astels&lt;/td&gt;&lt;br /&gt;&lt;td valign="middle"&gt;2003&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;TY&lt;/strong&gt; = position this year&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;LY&lt;/strong&gt; = position last year&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/~ff/noop?a=NE-05YtOaNI:SQz_ABZuaCg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/noop?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/noop?a=NE-05YtOaNI:SQz_ABZuaCg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/noop?d=qj6IDK7rITs" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/noop?a=NE-05YtOaNI:SQz_ABZuaCg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/noop?i=NE-05YtOaNI:SQz_ABZuaCg:F7zBnMyn0Lo" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/noop?a=NE-05YtOaNI:SQz_ABZuaCg:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/noop?d=I9og5sOYxJI" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/noop/~4/NE-05YtOaNI" height="1" width="1"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-4428166306454981783?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/4428166306454981783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=4428166306454981783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/4428166306454981783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/4428166306454981783'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/09/top-100-agile-books-edition-2011.html' title='Top 100 Agile Books (Edition 2011)'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-743824024984769599</id><published>2011-08-04T00:32:00.000-07:00</published><updated>2011-08-04T00:32:18.560-07:00</updated><title type='text'>Sample Application for .NET 4.0 - Layered Architecture and DDD Patterns Sample Applications</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/jmeier/~3/FeK9wil__f4/sample-application-for-net-4-0-layered-architecture-and-ddd-patterns-sample-applications.aspx"&gt;Sample Application for .NET 4.0 - Layered Architecture and DDD Patterns Sample Applications&lt;/a&gt;: "&lt;p&gt;A code sample is worth a thousand words.  Here are a few projects to take a look at that go beyond just code snippets to show you how to put key technologies together in the form of sample applications.  (Note, if you are looking for just code snippets and focused code samples, you can check out the &lt;a href="http://1code.codeplex.com/"&gt;Microsoft All-in-One Code Framework project site&lt;/a&gt; on CodePlex.)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Layered Architecture Solution Guidance      &lt;br&gt;&lt;/strong&gt;Project Site - &lt;a href="http://layerguidance.codeplex.com"&gt;http://layerguidance.codeplex.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;”Designing and creating layered applications can be a challenging task to developers. Layered Architecture Solution Guidance is a Microsoft Visual Studio 2010 extension that provides a set of tools and guidance aimed at simplifying the development of layered applications.      &lt;br&gt;&lt;strong&gt;Layered Architecture Solution Guidance&lt;/strong&gt; is a &lt;/em&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/25e4b5e9-65e4-4950-967d-5f1e6a9dcbeb/?lc=1033" rel="nofollow"&gt;Guidance Automation Extension&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;em&gt; that integrates with Microsoft Visual Studio 2010 to allow developers to easily create and organize their projects in a layered fashion following the structure that is illustrated in the &lt;b&gt;Layered Architecture Sample for .NET.&lt;/b&gt; It provides a set of solution templates integrated with a suite of code generators to make developing layered applications much simpler and quicker.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Microsoft Spain - Domain Oriented N-Layered .NET 4.0 Sample App      &lt;br&gt;&lt;/strong&gt;Project Site - &lt;a title="http://microsoftnlayerapp.codeplex.com/" href="http://microsoftnlayerapp.codeplex.com/"&gt;http://microsoftnlayerapp.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;The main goal is to show how to use .NET 4.0 wave technologies implementing typical DDD patterns: N-Layered Architecture, Domain Entities, Aggregates, Repositories, Unit of Work, Domain Services, Application Services, DTOs, DTO-Adapters, etc.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Improvements in the Domain Layer&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;Using EF 4.1 POCO Code-First approach for Domain Entities/Aggregates/ValueObjects &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Added more Domain logic within entities (no anemic domain) &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Better exposure of Aggregates’ elements &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Better support to navigations between Aggregates and elimination of inverse relationships not needed &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Entity Validation support &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Specification pattern implementation, use of expressions as specifications and composition support &lt;/em&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Improvements in the Application Layer&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;DTO and DTO-Adapters support &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Validation support &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Improvements in exception management &lt;/em&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Improvements in the Data-Persistence-Infrastructure Layer&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;Using EF 4.1, CodeFirst, DbContext &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Persistence layer simplification and improvements &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;IoC/Unity: Elimination of abstractions no needed &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Better testing strategy for Integration Tests &lt;/em&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Improvements in the Presentation Layer&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;Reviewed and minor improvements in MVVM code. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;In current V2.0 version we only support a Silverlight client. We'd like to add more clients in the future. &lt;/em&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Improvements in the Distributed-Services Layer&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;Segregation in 2 Web-Services (One per MODULE). &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Improvements regarding WCF exceptions handling (less spread code in Catch) &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;We currently use SOAP Web-Services, but we will switch to REST in the coming future when the new WCF Web API (WebApi.all) (still in beta) will support Silverlight. &lt;/em&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10192064" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/jmeier/~4/FeK9wil__f4" height="1" width="1"&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-743824024984769599?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://feedproxy.google.com/~r/jmeier/~3/FeK9wil__f4/sample-application-for-net-4-0-layered-architecture-and-ddd-patterns-sample-applications.aspx' title='Sample Application for .NET 4.0 - Layered Architecture and DDD Patterns Sample Applications'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/743824024984769599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=743824024984769599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/743824024984769599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/743824024984769599'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/08/sample-application-for-net-40-layered.html' title='Sample Application for .NET 4.0 - Layered Architecture and DDD Patterns Sample Applications'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-954916627165633484</id><published>2011-07-26T14:48:00.000-07:00</published><updated>2011-07-26T14:48:59.551-07:00</updated><title type='text'>Mobile Web Design Trends and Best Practices</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/DesignFloat/SubmittedEntries/~3/0biG5mwyrxc/"&gt;Mobile Web Design Trends and Best Practices&lt;/a&gt;: "One needs to keep in mind before he designs websites for the mobiles that he has to confront with a lot of challenges and he should develop a strategic outlook from the designer and developer point of view."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-954916627165633484?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://feedproxy.google.com/~r/DesignFloat/SubmittedEntries/~3/0biG5mwyrxc/' title='Mobile Web Design Trends and Best Practices'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/954916627165633484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=954916627165633484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/954916627165633484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/954916627165633484'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/mobile-web-design-trends-and-best.html' title='Mobile Web Design Trends and Best Practices'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-8113994393663217622</id><published>2011-07-26T12:58:00.000-07:00</published><updated>2011-07-26T12:58:19.918-07:00</updated><title type='text'>Practical Foundations of Mathematics</title><content type='html'>&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/"&gt;Practical Foundations of Mathematics&lt;/a&gt;: "Practical Foundations of Mathematics&lt;br /&gt;&lt;h1 align="center"&gt;Practical Foundations of Mathematics &lt;/h1&gt;&lt;br /&gt;&lt;h3 align="center"&gt;Paul Taylor &lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt; Practical Foundations of Mathematics&lt;br /&gt;&lt;h1 align="center"&gt;Practical Foundations of Mathematics &lt;/h1&gt;&lt;br /&gt;&lt;h3 align="center"&gt;&lt;a href="http://www.dcs.qmw.ac.uk/~pt/"&gt;Paul Taylor&lt;/a&gt; &lt;/h3&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;/center&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.cup.cam.ac.uk/"&gt;Cambridge University Press&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/"&gt;&lt;font size="+1"&gt; I&lt;font size="-2"&gt;NTRODUCTION&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;I&lt;/b&gt;   &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/c1.html"&gt;&lt;font size="+1"&gt; F&lt;font size="-2"&gt;IRST&lt;/font&gt; O&lt;font size="-2"&gt;RDER&lt;/font&gt; R&lt;font size="-2"&gt;EASONING&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;dl compact&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s10.html"&gt;Introduction&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;1.1&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s11.html"&gt;Substitution&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;1.2&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s12.html"&gt;Denotation and Description&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;1.3&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s13.html"&gt;Functions and Relations&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;1.4&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s14.html"&gt;Direct Reasoning&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;1.5&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s15.html"&gt;Proof Boxes&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;1.6&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s16.html"&gt;Formal and Idiomatic Proof&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;1.7&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s17.html"&gt;Automated Deduction&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;1.8&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s18.html"&gt;Classical and Intuitionistic Logic&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s1e.html"&gt;Exercises  I&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;II&lt;/b&gt;   &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/c2.html"&gt;&lt;font size="+1"&gt; T&lt;font size="-2"&gt;YPES&lt;/font&gt; &lt;font size="-2"&gt;AND&lt;/font&gt; I&lt;font size="-2"&gt;NDUCTION&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;dl compact&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s20.html"&gt;Introduction&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;2.1&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s21.html"&gt;Constructing the Number Systems&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;2.2&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s22.html"&gt;Sets (Zermelo Type Theory)&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;2.3&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s23.html"&gt;Sums, Products and Function-Types&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;2.4&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s24.html"&gt;Propositions as Types&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;2.5&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s25.html"&gt;Induction and Recursion&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;2.6&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s26.html"&gt;Constructions with Well Founded Relations&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;2.7&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s27.html"&gt;Lists and Structural Induction&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;2.8&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s28.html"&gt;Higher Order Logic&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s2e.html"&gt;Exercises  II&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;III&lt;/b&gt;   &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/c3.html"&gt;&lt;font size="+1"&gt; P&lt;font size="-2"&gt;OSETS&lt;/font&gt; &lt;font size="-2"&gt;AND&lt;/font&gt; L&lt;font size="-2"&gt;ATTICES&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;dl compact&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s30.html"&gt;Introduction&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;3.1&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s31.html"&gt;Posets and Monotone Functions&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;3.2&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s32.html"&gt;Meets, Joins and Lattices&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;3.3&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s33.html"&gt;Fixed Points and Partial Functions&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;3.4&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s34.html"&gt;Domains&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;3.5&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s35.html"&gt;Products and Function-Spaces&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;3.6&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s36.html"&gt;Adjunctions&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;3.7&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s37.html"&gt;Closure Conditions and Induction&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;3.8&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s38.html"&gt;Modalities and Galois Connections&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;3.9&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s39.html"&gt;Constructions with Closure Conditions&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s3e.html"&gt;Exercises  III&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;IV&lt;/b&gt;   &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/c4.html"&gt;&lt;font size="+1"&gt; C&lt;font size="-2"&gt;ARTESIAN&lt;/font&gt; C&lt;font size="-2"&gt;LOSED&lt;/font&gt; C&lt;font size="-2"&gt;ATEGORIES&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;dl compact&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s40.html"&gt;Introduction&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;4.1&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s41.html"&gt;Categories&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;4.2&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s42.html"&gt;Actions and Sketches&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;4.3&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s43.html"&gt;Categories for Formal Languages&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;4.4&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s44.html"&gt;Functors&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;4.5&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s45.html"&gt;A Universal Property: Products&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;4.6&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s46.html"&gt;Algebraic Theories&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;4.7&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s47.html"&gt;Interpretation of the Lambda Calculus&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;4.8&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s48.html"&gt;Natural Transformations&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s4e.html"&gt;Exercises  IV&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;V&lt;/b&gt;   &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/c5.html"&gt;&lt;font size="+1"&gt; L&lt;font size="-2"&gt;IMITS&lt;/font&gt; &lt;font size="-2"&gt;AND&lt;/font&gt; C&lt;font size="-2"&gt;OLIMITS&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;dl compact&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s50.html"&gt;Introduction&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;5.1&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s51.html"&gt;Pullbacks and Equalisers&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;5.2&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s52.html"&gt;Subobjects&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;5.3&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s53.html"&gt;Partial and Conditional Programs&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;5.4&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s54.html"&gt;Coproducts and Pushouts&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;5.5&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s55.html"&gt;Extensive Categories&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;5.6&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s56.html"&gt;Kernels, Quotients and Coequalisers&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;5.7&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s57.html"&gt;Factorisation Systems&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;5.8&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s58.html"&gt;Regular Categories&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s5e.html"&gt;Exercises  V&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;VI&lt;/b&gt;   &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/c6.html"&gt;&lt;font size="+1"&gt; S&lt;font size="-2"&gt;TRUCTURAL&lt;/font&gt; R&lt;font size="-2"&gt;ECURSION&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;dl compact&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s60.html"&gt;Introduction&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;6.1&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s61.html"&gt;Free Algebras for Free Theories&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;6.2&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s62.html"&gt;Well Formed Formulae&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;6.3&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s63.html"&gt;The General Recursion Theorem&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;6.4&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s64.html"&gt;Tail Recursion and Loop Programs&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;6.5&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s65.html"&gt;Unification&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;6.6&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s66.html"&gt;Finiteness&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;6.7&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s67.html"&gt;The Ordinals&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s6e.html"&gt;Exercises  VI&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;VII&lt;/b&gt;   &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/c7.html"&gt;&lt;font size="+1"&gt; A&lt;font size="-2"&gt;DJUNCTIONS&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;dl compact&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s70.html"&gt;Introduction&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;7.1&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s71.html"&gt;Examples of Universal Constructions&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;7.2&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s72.html"&gt;Adjunctions&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;7.3&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s73.html"&gt;General Limits and Colimits&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;7.4&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s74.html"&gt;Finding Limits and Free Algebras&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;7.5&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s75.html"&gt;Monads&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;7.6&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s76.html"&gt;From Semantics to Syntax&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;7.7&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s77.html"&gt;Gluing and Completeness&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s7e.html"&gt;Exercises  VII&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;VIII&lt;/b&gt;   &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/c8.html"&gt;&lt;font size="+1"&gt; A&lt;font size="-2"&gt;LGEBRA&lt;/font&gt; &lt;font size="-2"&gt;WITH&lt;/font&gt; D&lt;font size="-2"&gt;EPENDENT&lt;/font&gt; T&lt;font size="-2"&gt;YPES&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;dl compact&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s80.html"&gt;Introduction&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;8.1&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s81.html"&gt;The Language&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;8.2&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s82.html"&gt;The Category of Contexts&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;8.3&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s83.html"&gt;Display Categories and Equality Types&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;8.4&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s84.html"&gt;Interpretation&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s8e.html"&gt;Exercises  VIII&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;IX&lt;/b&gt;   &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/c9.html"&gt;&lt;font size="+1"&gt; T&lt;font size="-2"&gt;HE&lt;/font&gt; Q&lt;font size="-2"&gt;UANTIFIERS&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;dl compact&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s90.html"&gt;Introduction&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;9.1&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s91.html"&gt;The Predicate Convention&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;9.2&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s92.html"&gt;Indexed and Fibred Categories&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;9.3&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s93.html"&gt;Sums and Existential Quantification&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;9.4&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s94.html"&gt;Dependent Products&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;9.5&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s95.html"&gt;Comprehension and Powerset&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;9.6&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt; &lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s96.html"&gt;Universes&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;/b&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/s9e.html"&gt;Exercises  IX&lt;/a&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/bib.html"&gt;&lt;font size="+1"&gt; B&lt;font size="-2"&gt;IBLIOGRAPHY&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/idx.html"&gt;&lt;font size="+1"&gt; I&lt;font size="-2"&gt;NDEX&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;    &lt;br /&gt;     &lt;br&gt;&lt;a href="http://news.ycombinator.com/item?id=2807528"&gt;Comments&lt;/a&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-8113994393663217622?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.cs.man.ac.uk/~pt/Practical_Foundations/html/' title='Practical Foundations of Mathematics'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/8113994393663217622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=8113994393663217622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/8113994393663217622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/8113994393663217622'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/practical-foundations-of-mathematics.html' title='Practical Foundations of Mathematics'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-687307754132938626</id><published>2011-07-26T12:51:00.000-07:00</published><updated>2011-07-26T12:51:46.008-07:00</updated><title type='text'>The HTML5 boom is coming. Fast</title><content type='html'>&lt;a href="http://gigaom.com/2011/07/22/the-html5-boom-is-coming-fast/"&gt;The HTML5 boom is coming. Fast&lt;/a&gt;: "&lt;p&gt;&lt;img src="http://gigaom2.files.wordpress.com/2011/07/html-5-feature.png?w=210&amp;amp;h=140" alt="" title="html-5-feature" width="210" height="140"&gt;The tech industry’s movers and shakers have been saying for months now that the &lt;a href="http://gigaom.com/video/topic/html5/"&gt;HTML5 is very important&lt;/a&gt;. New data released Friday indicates that HTML5 is not just going to be big, it’s going to be huge — and it’s coming fast.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;More than 2.1 billion mobile devices will have HTML5 browsers by 2016, up from just 109 million in 2010, according to a new report by &lt;a href="http://www.abiresearch.com"&gt;ABI Research&lt;/a&gt;. Much of this growth will be thanks to Apple’s &lt;a href="http://www.apple.com/html5/"&gt;massive support&lt;/a&gt; for the HTML5 platform, according to &lt;a href="http://www.abiresearch.com/research/1007312-HTML5_for_Mobile_Devices_and_Tablets"&gt;the study&lt;/a&gt;. And Apple is also likely to be one of the biggest beneficiaries of the technology’s wide scale adoption. Because Apple has so much control over its software and devices, it will be most poised to take full advantage of HTML features as they emerge in the coming years.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;As is often the case in business, where there’s a winner, there’s usually a loser. HTML5 could largely replace Abobe’s proprietary Flash technology. And HTML5′s swift ascent could render Flash irrelevant in short order. “I think the disappearance of Flash is closer than people think,” ABI senior analyst Mark Beccue said in a press release accompanying the data.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;HTML5′s projected growth is all the more impressive considering that the actual standard is not officially expected to be completed until 2020, according to the World Wide Web Consortium (W3C) standards body. But that won’t stop companies and independent engineers from developing and deploying HTML5 features, ABI said.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Indeed, Facebook CTO Bret Taylor &lt;a href="http://gigaom.com/2011/06/16/project-spartan-apple-facebook/"&gt;has said&lt;/a&gt; his company is putting a “huge amount of our investment” in HTML5, and Google &lt;a href="http://www.pcmag.com/article2/0,2817,2388901,00.asp"&gt;recently debuted&lt;/a&gt; its first homepage doodle composed entirely with the HTML5 mark-up language. It may seem like buzz about HTML5 is everywhere already, but if the latest research is correct, we’re only at the beginning.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Feature image &lt;a href="http://creativecommons.org/licenses/by/2.0/deed.en"&gt;courtesy of&lt;/a&gt; Flickr user &lt;a href="http://www.flickr.com/photos/ejcallow/5042023883/"&gt;EJ Callow&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Related research and analysis from GigaOM Pro:&lt;/strong&gt;&lt;br&gt;Subscriber content. &lt;a href="http://pro.gigaom.com/?utm_source=tech&amp;amp;utm_medium=editorial&amp;amp;utm_campaign=auto3&amp;amp;utm_term=381017+the-html5-boom-is-coming-fast&amp;amp;utm_content=colleengigaom"&gt;Sign up for a free trial&lt;/a&gt;.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://pro.gigaom.com/2010/07/connected-consumer-market-overview-q2-2010/?utm_source=tech&amp;amp;utm_medium=editorial&amp;amp;utm_campaign=auto3&amp;amp;utm_term=381017+the-html5-boom-is-coming-fast&amp;amp;utm_content=colleengigaom"&gt;Connected Consumer Market Overview, Q2 2010&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pro.gigaom.com/2010/05/tv-apps-evolution-from-novelty-to-mainstream/?utm_source=tech&amp;amp;utm_medium=editorial&amp;amp;utm_campaign=auto3&amp;amp;utm_term=381017+the-html5-boom-is-coming-fast&amp;amp;utm_content=colleengigaom"&gt;TV Apps: Evolution from Novelty to Mainstream&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pro.gigaom.com/2009/09/report-how-mobile-cloud-computing-will-change-tech/?utm_source=tech&amp;amp;utm_medium=editorial&amp;amp;utm_campaign=auto3&amp;amp;utm_term=381017+the-html5-boom-is-coming-fast&amp;amp;utm_content=colleengigaom"&gt;Report: How Mobile Cloud Computing Will Change Tech&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;br /&gt;    &lt;br /&gt;     &lt;br&gt;&lt;a href="http://news.ycombinator.com/item?id=2808463"&gt;Comments&lt;/a&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-687307754132938626?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://gigaom.com/2011/07/22/the-html5-boom-is-coming-fast/' title='The HTML5 boom is coming. Fast'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/687307754132938626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=687307754132938626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/687307754132938626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/687307754132938626'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/html5-boom-is-coming-fast.html' title='The HTML5 boom is coming. Fast'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-5493865545600935042</id><published>2011-07-24T15:25:00.000-07:00</published><updated>2011-07-24T15:25:07.963-07:00</updated><title type='text'>Software Development Life Cycle Process For Web Development</title><content type='html'>&lt;a href="http://software-document.blogspot.com/2011/07/software-development-life-cycle-process.html"&gt;Software Development Life Cycle Process For Web Development&lt;/a&gt;: "&lt;div&gt;&lt;b&gt;Software Development Life Cycle&lt;/b&gt;, commonly known as &lt;b&gt;SDLC&lt;/b&gt;, is a predefined set of rules and methodologies opted by web development services. All the phases of the web development are equally important to the process and play the vital role while establishing a profitable development regime. The steps that are measured during the Software design and development are termed as follows:&lt;br&gt;&lt;br&gt;&lt;div style="clear:both;text-align:center"&gt;&lt;a href="http://1.bp.blogspot.com/-DulfVYx4wfg/Tirvrghm9PI/AAAAAAAABFg/xuR9ckppm_s/s1600/website+development+life+cycle.jpg" style="margin-left:1em;margin-right:1em"&gt;&lt;img border="0" height="318" src="http://1.bp.blogspot.com/-DulfVYx4wfg/Tirvrghm9PI/AAAAAAAABFg/xuR9ckppm_s/s320/website+development+life+cycle.jpg" width="320"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Requirement Specification and Analysis: &lt;/b&gt;&lt;/div&gt;&lt;div&gt;The very primary phase during the execution of web development services called &lt;b&gt;Software Requirements Specification&lt;/b&gt; or &lt;b&gt;SRS&lt;/b&gt; offers a comprehensive elaboration of the functions and specifications need to be recognized during the software designing and development process. This very first and the foremost step allows to gather information about the overall requirements for the proposed software to be developed. The requirements analysis of the software is categorized further into several objectives to collect information about:&lt;/div&gt;&lt;div&gt;&lt;span style="color:#666666"&gt;&lt;b&gt;-Resources required for the web development&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#666666"&gt;&lt;b&gt;-Scope of the system&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#666666"&gt;&lt;b&gt;-Purpose of the system&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#666666"&gt;&lt;b&gt;-Limitations of the proposed system&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color:#666666"&gt;&lt;b&gt;-Web Structure&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;A very mature and self-explanatory Software Requirements Specification Document is prepared in this stage to cover and enlist all the necessary guidelines to execute the web development services process.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;System Design: &lt;/b&gt;&lt;/div&gt;&lt;div&gt;Once the requirement analysis phase is done, analysis outcomes are evaluated and scrutinized for the accuracy and efficiency measurement of the proposed web development system. The phase identifies the efficiency objectives taken during the requirement analysis process. The system design process describes the features and specifications in detail. The exhaustive elaboration of the several software design issues include:&lt;/div&gt;&lt;div&gt;&lt;span style="color:#999999"&gt;&lt;b&gt;-Compact screen layouts&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#999999"&gt;&lt;b&gt;-Defined business rules&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#999999"&gt;&lt;b&gt;-Complete process diagrams of web development services process&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#999999"&gt;&lt;b&gt;-Possible pseudo codes and other required documentation&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Coding and System Testing Phase: &lt;/b&gt;&lt;/div&gt;&lt;div&gt;Next the phase cones for software coding where the application logic for the software functionalities and user interface are developed. All the coding are written in very strict accordance with the coding standards followed by the industry. The codes are developed in a way to save the system resources and optimize the system efficiency.&lt;br&gt;&lt;b&gt;&lt;span style="color:#999999"&gt;- PHP&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;b&gt;&lt;span style="color:#999999"&gt;- JSP&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;System Deployment: &lt;/b&gt;&lt;/div&gt;&lt;div&gt;In the very next phase of deployment at web development company,the final system sets live at the locations, it's meant to be implemented at. The phase decides the shortcomings of the entire software installed and suggests recommendations to accommodate the changes that occurs during the post implementation period.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;System Maintenance: &lt;/b&gt;&lt;/div&gt;&lt;div&gt;During the system maintenance phase, a number of things about the web application development are taken into the consideration including:&lt;/div&gt;&lt;div&gt;&lt;span style="color:#999999"&gt;&lt;b&gt;-Changes required in the system&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#999999"&gt;&lt;b&gt;-Correction of any sort&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#999999"&gt;&lt;b&gt;-Some required additions&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#999999"&gt;&lt;b&gt;-Computer platform adjustments&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color:#999999"&gt;&lt;b&gt;-Promote Website &lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color:#999999"&gt;&lt;b&gt;-SEO&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color:#999999"&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#333333;font-family:Arial;font-size:12px;line-height:18px"&gt;&lt;b style="margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px"&gt;Like article Press +1 for software engineering blog  thank! &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/6135018486634764332-2674198757627081425?l=software-document.blogspot.com" alt=""&gt;&lt;/div&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-5493865545600935042?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://software-document.blogspot.com/2011/07/software-development-life-cycle-process.html' title='Software Development Life Cycle Process For Web Development'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/5493865545600935042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=5493865545600935042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/5493865545600935042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/5493865545600935042'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/software-development-life-cycle-process.html' title='Software Development Life Cycle Process For Web Development'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-DulfVYx4wfg/Tirvrghm9PI/AAAAAAAABFg/xuR9ckppm_s/s72-c/website+development+life+cycle.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-2021490432084504910</id><published>2011-07-20T11:41:00.000-07:00</published><updated>2011-07-20T11:41:41.004-07:00</updated><title type='text'>5 Reasons for the Joy of Craft, or, Why Is Computer Programming Fun?</title><content type='html'>&lt;a href="http://www.happiness-project.com/happiness_project/2011/07/i-recently-read-sort-of-frederick-brookss-the-mythical-man-month-as-i-understand-it-its-a-cult-classic-and-i-was-very.html"&gt;5 Reasons for the Joy of Craft, or, Why Is Computer Programming Fun?&lt;/a&gt;: "&lt;div&gt;&lt;a style="float:right" href="http://www.happiness-project.com/.a/6a00d8341c5aa953ef014e89fd99ee970d-pi"&gt;&lt;img alt="Computer-Programming" title="Computer-Programming" src="http://www.happiness-project.com/.a/6a00d8341c5aa953ef014e89fd99ee970d-800wi" border="0" style="margin:0px 0px 5px 5px"&gt;&lt;/a&gt; &lt;p&gt;Every Wednesday is Tip Day, or List Day.&lt;br&gt;&lt;br /&gt;This Wednesday: &lt;strong&gt;Five reasons for the joys of craft, or, Why is programming fun? &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I recently read (sort of) Frederick Brooks's &lt;a href="http://www.amazon.com/gp/product/0201835959/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=thehappproj-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=0201835959"&gt;The Mythical Man-Month&lt;/a&gt;. As I understand it, this book is a cult classic, and I was very curious to read it. It's about software project management, and even though that's a subject about which I know nothing, I found the book very interesting -- that is, the parts I could understand.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;My favorite section was a discussion of 'The Joys of Craft,' in which Brooks answers the question, 'Why is programming fun?' This question interests me because it's such a good reminder of my Secret of Adulthood: &lt;a href="http://www.happiness-project.com/happiness_project/2011/02/assay-why-i-no-longer-worry-about-having-a-personal-style.html"&gt;Just because something is fun for someone else doesn't mean it's fun for me -- and vice versa&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Nothing is inherently fun. Some people find computer programming fun, or skiing, shopping, drinking wine, doing crossword puzzles, playing tennis, knitting, fly-fishing, watching &lt;em&gt;American Idol&lt;/em&gt;. I find none of these things fun. But then, some people wouldn't enjoy blogging -- or reading books about computer programming! Which I do find fun.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;But apart from the particular fun (or not) of computer programming, Brooks had a great list of the reasons that 'craft' is fun:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;1. &lt;strong&gt;'The sheer joy of making things.'&lt;/strong&gt; Not to be underestimated. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2. &lt;strong&gt;'The pleasure of making things that are useful to other people.' &lt;/strong&gt;Seeing other people take delight in what we've created, or benefit from something we've done, is enormously satisfying.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;3. &lt;strong&gt;'The fascination of fashioning complex puzzle-like objects...and watching them work.'&lt;/strong&gt; Getting something to WORK. An under-appreciated joy. Gosh, when I finally got some songs to load into my iPod, I thought I would break into song.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;4. &lt;strong&gt;'The joy of always learning, which springs from the nonrepeating nature of the task.' &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;5. &lt;strong&gt;'The delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff.'&lt;/strong&gt; True -- but the opposite of a profound truth is also true, and I think there's a mirror pleasure to be gained from dealing with actual, physical, tangible materials.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Reading this discussion reminded me of Stuart Brown's styles of '&lt;a href="http://www.happiness-project.com/happiness_project/2011/03/quiz-whats-your-personality-type-for-play.html"&gt;play personality&lt;/a&gt;,' which, as several commenters pointed out, seemed to omit the computer-programmer's kind of play, though perhaps it is encompassed in Brown's #7. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The more I've reflected on the nature of happiness, the more convinced I've become that an &lt;a href="http://www.happiness-project.com/happiness_project/2007/02/a_refinement_of.html"&gt;atmosphere of growth&lt;/a&gt; is a key to a happier life. Making something, fixing something, helping someone...these kinds of activities give me enormous energy and zeal. William Butler Yeats wrote: 'Happiness is neither virtue nor pleasure nor thing thing nor that, but simply growth. We are happy when we are growing.'&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;How about you? Do you get happiness from the 'joy of craft'? What kinds of activities bring you that joy? More and more, I'm making sure that I have plenty of the atmosphere of growth, and the joy of craft, in my life.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;* Speaking of the joy of creating something, and also of the things that I find fun, I'm intrigued by the site &lt;a href="http://uncoveredcoverart.wordpress.com/"&gt;Uncovered Cover Art&lt;/a&gt; -- 'a sketchbook of reimagined children's books.' Different artists create their own covers for children's books. Fascinating!&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;* Want to get my &lt;strong&gt;free monthly newsletter?&lt;/strong&gt; It highlights the best of the month’s material from the blog and the &lt;a href="http://www.facebook.com/GretchenRubin"&gt;Facebook Page&lt;/a&gt;. Email me at &lt;strong&gt;gretchenrubin1 at gretchenrubin dot com&lt;/strong&gt;. Just write “newsletter” in the subject line.&lt;/em&gt; &lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/~ff/TheHappinessProject?a=tzy_S-dUF_s:NQszAZuUDf4:iLyGD4w1c3U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheHappinessProject?d=iLyGD4w1c3U" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheHappinessProject?a=tzy_S-dUF_s:NQszAZuUDf4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheHappinessProject?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheHappinessProject?a=tzy_S-dUF_s:NQszAZuUDf4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheHappinessProject?d=qj6IDK7rITs" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheHappinessProject?a=tzy_S-dUF_s:NQszAZuUDf4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheHappinessProject?i=tzy_S-dUF_s:NQszAZuUDf4:gIN9vFwOqvQ" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheHappinessProject?a=tzy_S-dUF_s:NQszAZuUDf4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheHappinessProject?i=tzy_S-dUF_s:NQszAZuUDf4:V_sGLiPBpWU" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TheHappinessProject?a=tzy_S-dUF_s:NQszAZuUDf4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheHappinessProject?d=7Q72WNTAKBA" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheHappinessProject/~4/tzy_S-dUF_s" height="1" width="1"&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-2021490432084504910?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.happiness-project.com/happiness_project/2011/07/i-recently-read-sort-of-frederick-brookss-the-mythical-man-month-as-i-understand-it-its-a-cult-classic-and-i-was-very.html' title='5 Reasons for the Joy of Craft, or, Why Is Computer Programming Fun?'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/2021490432084504910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=2021490432084504910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/2021490432084504910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/2021490432084504910'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/5-reasons-for-joy-of-craft-or-why-is.html' title='5 Reasons for the Joy of Craft, or, Why Is Computer Programming Fun?'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-6810558651561698910</id><published>2011-07-19T15:28:00.000-07:00</published><updated>2011-07-19T15:28:37.966-07:00</updated><title type='text'>10 tips for sharpening your logical thinking</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/techrepublic/10things/~3/OYU4JVtqk8o/2590"&gt;10 tips for sharpening your logical thinking&lt;/a&gt;: "Logical thinking helps you discern the truth, solve problems, and make good decisions -- unless your logic is flawed. Here are a few principles that will help ensure correct reasoning.&lt;img src="http://feeds.feedburner.com/~r/techrepublic/10things/~4/OYU4JVtqk8o" height="1" width="1"&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-6810558651561698910?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://feedproxy.google.com/~r/techrepublic/10things/~3/OYU4JVtqk8o/2590' title='10 tips for sharpening your logical thinking'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/6810558651561698910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=6810558651561698910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/6810558651561698910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/6810558651561698910'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/10-tips-for-sharpening-your-logical.html' title='10 tips for sharpening your logical thinking'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-2280306963520955860</id><published>2011-07-19T14:57:00.000-07:00</published><updated>2011-07-19T14:57:08.789-07:00</updated><title type='text'>30 best ASP.net based CMS</title><content type='html'>&lt;a href="http://blog.dreamcss.com/content-management-system/asp-net-based-cms/?utm_source=rss&amp;amp;utm_medium=rss&amp;amp;utm_campaign=asp-net-based-cms"&gt;30 best ASP.net based CMS&lt;/a&gt;: "&lt;p&gt;&lt;strong&gt;ASP.net&lt;/strong&gt; is a free web application framework that allow web developer to build dynamic, Interactive websites, Web applications and services using HTML, CSS and JavaScript. If you are web programmer and searching for useful ASP.net based CMS to edit, manage and publish your dynamic website. here is 30 useful ASP.net based CMS to manage your websites easily.&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Composite C1 – .Net based Web CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Composite C1&lt;/strong&gt; is a free and open source (FOSS) &lt;strong&gt;ASP.net framework based web content management system&lt;/strong&gt;. It was specially designed for all types of companies and organizations, individuals or communities of users to easily publish, manage and organize a wide variety of content on corporate websites while maintaining a consistent visual identity. The user interface of Composite C1 is very functional and task oriented and enables users of varying technical skills to complete tasks and cooperate using familiar tools. – &lt;a title="Composite C1 Web CMS" href="http://www.composite.net/C1.aspx"&gt;Composite C1 Web CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;DotNetNuke ASP.net WCMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;DotNetNuke&lt;/strong&gt; is a leading &lt;strong&gt;open source web content management&lt;/strong&gt; and &lt;strong&gt;Flexible application development framework&lt;/strong&gt;. It’s an Asp.net based CMS to create and maintain fully customizable, dynamic web sites. Through an intuitive, menu-driven interface, even non-technical users can also use DotNetNuke platform to create powerful websites or extend the functionality and features of their existing web applications. – &lt;a title="DotNetNuke Asp.net WCMS" href="http://blog.dreamcss.com/content-management-system/dotnetnuke-application-development-framework-for-asp-net/"&gt;DotNetNuke Asp.net WCMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Kentico CMS for ASP.net&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Kentico CMS&lt;/strong&gt; is a&lt;strong&gt; Asp.net based CMS&lt;/strong&gt; that allow you to build dynamic web sites, online shopping carts, intranets and web 2.0 community sites. it has powerful content editing interface – Kentico CMS Desk. which allow user to edit content and preview them before publishing, also easy to organized content into a tree hierarchy of documents (pages). The hierarchy (content tree) represents the site map and the navigation structure. – &lt;a title="Kentico CMS - Asp.net cms" href="http://blog.dreamcss.com/content-management-system/kentico-cms-for-asp-net/"&gt;Kentico CMS – Asp.net cms&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;MojoPortal CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;MojoPortal CMS&lt;/strong&gt; is also fully featured, Open source, &lt;strong&gt;multiplatform, multi database supported CMS&lt;/strong&gt; and &lt;a title="web application framework" href="http://blog.dreamcss.com/frameworks/web2py-web-application-framework/"&gt;web application framework&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt; based on &lt;strong&gt;Asp.net framework&lt;/strong&gt; and written in C# programming language. it has many included features like Blogs, Forums, Event Calendar, Google Maps, Contact Form, Polls, Surveys, ecommerce &amp;amp; more. – &lt;a title="mojoPortal CMS for ASP.NET" href="http://blog.dreamcss.com/content-management-system/mojoportal-open-source-cms-for-asp-net/"&gt;mojoPortal CMS for ASP.NET&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Umbraco&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Umbraco CMS&lt;/strong&gt; provides a full-featured web content management system that is easy to use, simple to customize and robust enough to run the largest sites such as wired.co.uk and asp.net. it’s an FOSS (free and open source software) Web CMS built on the Microsoft .NET Framework.  – &lt;a title="Umbraco CMS" href="http://blog.dreamcss.com/content-management-system/umbraco-open-source-cms-based-on-asp-net/"&gt;Umbraco CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Orchard Project&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Orchard Project&lt;/strong&gt; is a &lt;strong&gt;community focused content management system&lt;/strong&gt; written in Asp.net platform using .net MVC framework. With Orchard Project, user can create content-driven Websites, and an extensibility framework that will allow developers and customizers to provide additional functionality through modules and themes. – &lt;a title="Orchard Project asp.net cms" href="http://orchardproject.net/"&gt;Orchard Project&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;N2 Open Source ASP.NET CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;N2&lt;/strong&gt; is an &lt;strong&gt;open source lightweight ASP.net based content management system&lt;/strong&gt; (CMS) to create simple and easy to use user friendly website that any one can easily Update. Features include full control of content and nodes, drag&amp;amp;drop, versioning, wizards, export/import, security, globalization and more. – &lt;a title="N2 - ASP.net based CMS" href="http://blog.dreamcss.com/content-management-system/n2-cms-framework-based-on-asp-net/"&gt;N2 – ASP.net based CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Kooboo CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Kooboo CMS&lt;/strong&gt; is a flexible and extensible &lt;strong&gt;Enterprise grade content management system based on ASP.NET MVC framework&lt;/strong&gt;. it offer many enterprise grade features such as workflow, version control, publishing and integration service that make your work so easy. Even user can create dynamic website without learning any database coding languages. – &lt;a title="Kooboo Enterprise CMS" href="http://blog.dreamcss.com/content-management-system/kooboo-cms/"&gt;Kooboo Enterprise CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Axcms&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Axcms&lt;/strong&gt; is a &lt;strong&gt;enterprise class Web CMS&lt;/strong&gt; and also application framework for creation and management of highly scalable and interactive web applications and websites based entirely on Microsoft .NET platform. it allow enterprises to improve there process efficiency and reduce operating costs. Axcms is a first &lt;strong&gt;Enterprise Web CMS&lt;/strong&gt;, who have integrated Silverlight based ribbon toolbar that allow editor to manage and design enterprise websites with an extraordinary usability experience for CMS Users. – &lt;a title="AxCMS.net" href="http://www.axcms.net/"&gt;AxCMS.net&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Sprocket CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Sprocket CMS&lt;/strong&gt; is a &lt;strong&gt;Advanced Pluggable CMS for ASP.net 2.0&lt;/strong&gt;. it has Simple but powerful scripting language (SprocketScript) which can be used in your templates and content to get the most out of your website. &lt;strong&gt;Multi-tier database management framework&lt;/strong&gt; to allow you to use whichever database you want. – &lt;a title="Sprocket - Pluggable CMS for ASP.net 2.0" href="http://code.google.com/p/sprocketcms/"&gt;Sprocket – Pluggable CMS for ASP.net 2.0&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Singularity – ASP.NET Framework&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Singularity&lt;/strong&gt; is an &lt;strong&gt;ASP.NET based Application Development Framework&lt;/strong&gt; which makes it easier for .NET developers to create dynamic ASP.NET based websites. Using this ASP.NET Framework , one can easily develop text and video blogging websites, social networking sites and CMS systems. – &lt;a title="Singularity - ASP.NET framework" href="http://sourceforge.net/projects/singularity-net/"&gt;Singularity – ASP.NET framework&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;TouchPointCMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;TouchPointCMS&lt;/strong&gt; is a simple, modular Content Management System framework built on top of ASP.NET 3.5. TouchPointCMS is a free, &lt;strong&gt;open-source (FOSS) CMS framework&lt;/strong&gt; for any Windows web server. The system supports SQL Express Edition by default but is configurable to use a SQL Server instance. – &lt;a title="TouchPointCMS" href="http://touchpointcms.org/"&gt;TouchPointCMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Cognizant CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Cognizant CMS&lt;/strong&gt; is a free &lt;strong&gt;open source CMS built using ASP.NET 3.5&lt;/strong&gt; based on generating strictly semantic content to improve readability and search engine optimization output while providing easy to use tools for advanced end-users and administrators. – &lt;a title="Cognizant CMS" href="http://code.google.com/p/cognizantcms/"&gt;Cognizant CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Sitefinity CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Sitefinity CMS&lt;/strong&gt; is next generation web content management system for creating compelling websites, intranets, portals and blogs. it offer many enterprise features, and simple, easy-to-use online administration for managing your website. The new revolutionary User Interface is very task oriented and simplifies the user interaction with the system. – &lt;a title="sitefinity CMS" href="http://www.sitefinity.com/"&gt;sitefinity CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Webnodes CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Webnodes CMS&lt;/strong&gt; is a fully featured &lt;strong&gt;enterprise quality ASP.net based web content management system (WCMS)&lt;/strong&gt; that combines a user friendly interface with a flexible semantic content engine. – &lt;a title="Webnodes ASP.Net CMS" href="http://www.webnodes.com/"&gt;Webnodes ASP.Net CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;ALPHA CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Alpha CMS&lt;/strong&gt; is an &lt;strong&gt;API-free, .net MVC framework based content management system&lt;/strong&gt;. Its architecture provides the ability to easily create advanced Web pages, add-ons, or even another CMS. – &lt;a title="ALPHA CMS Framework" href="http://alpha-cms.localhost-ltd.com/en/home/" rel="nofollow"&gt;ALPHA CMS Framework&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Digimaker&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Digimaker&lt;/strong&gt; is a 100% &lt;strong&gt;ASP.net based content management system&lt;/strong&gt; which specially designed for editors, authors, developers &amp;amp; consultants for creating, managing and maintaining user-friendly professional websites. – &lt;a title="Digimaker - .NET Content Management System" href="http://blog.dreamcss.com/content-management-system/digimaker-asp-net-content-management-system/"&gt;Digimaker&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Adxstudio CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Adxstudio CMS&lt;/strong&gt; is a powerful and affordable &lt;strong&gt;web CMS&lt;/strong&gt; that is built on the Microsoft .NET 3.5 framework. Its easy-to-use web-based tools empower content authors to manage complex dynamic websites, intranets, and extranets while alleviating the strain on IT resources. – &lt;a title="Adxstudio CMS for Microsoft ASP.NET" href="http://www.adxstudio.com/adxstudio-cms"&gt;Adxstudio CMS for Microsoft ASP.NET&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Spider CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Spider CMS&lt;/strong&gt; is a full-featured Content Management System. SpiderCMS allows organizations to manage the content of their web site in an easy to use web-based interface without the need of any programming or design skills. – &lt;a title="SpiderCMS" href="http://blog.dreamcss.com/content-management-system/microsoft-net-framework-based-cms/"&gt;SpiderCMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;VMD CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Visual Web Developer (VMD) CMS&lt;/strong&gt; is an &lt;strong&gt;open source flat file based content management system&lt;/strong&gt; built for ASP.NET 2.0 websites. It’s an completely flat file based CMS where content files are stored on the local file system which simplifies backup, restore, and deployment. – &lt;a title="vmd cms - flat file based cms for ASP.net" href="http://blog.dreamcss.com/content-management-system/vmd-cms-flat-file-based-cms-for-asp-net/"&gt;vmd CMS – flat file based CMS for ASP.net&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Cuyahoga CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Cuyahoga&lt;/strong&gt; is an &lt;strong&gt;open source .NET web site framework&lt;/strong&gt;. It provides content management capabilities and has a modular approach. Currently it works with MS .NET 2.0-3.5 with SQL Server, PostgreSQL or MySQL as database backend. Also, Mono is fully supported. – &lt;a title="Cuyahoga CMS" href="http://blog.dreamcss.com/content-management-system/cuyahoga-cms-asp-net-based-site-framework/"&gt;Cuyahoga CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Pronto CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Pronto&lt;/strong&gt; is a very simple, light-weight &lt;strong&gt;web content management system for .NET&lt;/strong&gt;. It is built on top of the ASP.NET MVC library. Pronto is ideal for small websites and even works in shared hosting environments due to its simple file-based data storage. – &lt;a title="pronto CMS" href="http://blog.dreamcss.com/content-management-system/pronto-cms/"&gt;pronto CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;InsiteCMS.net &lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;insiteCMS.net&lt;/strong&gt; is a &lt;strong&gt;lightweight &lt;a title="Content Management System" href="http://blog.dreamcss.com/category/content-management-system/"&gt;content management system&lt;/a&gt;&lt;/strong&gt; that allows you to run a CMS without any database. It has been developed using ASP.net 2.0 technology and it’s based on ASP.net Resx files. insiteCMS.net is a &lt;strong&gt;template based CMS engine, &lt;/strong&gt;web developers can define their own page layout and using a simple CSS class, they can define the behavior for each single page section. – &lt;a title="insiteCMS.net" href="http://insitecmsnet.codeplex.com/"&gt;insiteCMS.net&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;agilitycms&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Content management system for web, mobile and social media&lt;/strong&gt; that give you tools to configure content structures, populate them with content and publish to your website, mobile site, mobile apps and Facebook. – &lt;a title="Agility CMS" href="http://blog.dreamcss.com/content-management-system/agility-cms/"&gt;Agility CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;PageTypes&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;PageTypes&lt;/strong&gt; is a comprehensive, easy to use, &lt;strong&gt;ASP.NET based content management system&lt;/strong&gt; (CMS) that makes setting up, managing and changing your website fast and simple. Easy website builder. – &lt;a title="PageTypes CMS" href="http://pagetypes.com/"&gt;PageTypes CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;MonoX CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;MonoX&lt;/strong&gt; is a &lt;strong&gt;free content management and social networking platform built on ASP.net framework&lt;/strong&gt;. it has intuitive, user-friendly interface that supports Web parts framework, drag and drop, WYSIWYG interface, content versioning, advanced security model, cross-browser support, advanced templating engine and multi-level personalization. – &lt;a title="MonoX CMS" href="http://monox.mono-software.com/"&gt;MonoX CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Rainbow CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Rainbow CMS&lt;/strong&gt; is an open source &lt;strong&gt;CMS based on Microsoft’s ASP.net&lt;/strong&gt; and C# technologies. it has customizable roles-based authorization system that allows content authoring to be safely delegated to multiple team members who need little or no knowledge of HTML. – &lt;a title="Rainbow CMS ASP.net CMS" href="http://blog.dreamcss.com/content-management-system/rainbow-cms-asp-net-based-cms/"&gt;Rainbow CMS ASP.net CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Fooshy CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Fooshy CMS&lt;/strong&gt; is an &lt;strong&gt;expandable and flexible content management system&lt;/strong&gt; specially developed for web designers and web site owners. Dynamic and full of content sites can quickly and easily be created without the need for any programming skills. – &lt;a title="Fooshy CMS" href="http://www.fooshy.com/" rel="nofollow"&gt;Fooshy CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Yendo CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Yendo&lt;/strong&gt; is a fully functional CMS that allow you to build and maintain your own corporate website or blog. it’s an perfect CMS solution for small businesses that allow you to edit you own website without any technical knowledge. – &lt;a title="Yendo CMS" href="http://cms.yendo.com/"&gt;Yendo CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;h3&gt;Firebird CMS&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Firebird CMS&lt;/strong&gt; is a new &lt;strong&gt;CMS build on ASP.net 2.0 framework&lt;/strong&gt; specially designed by web designers for web designers. The CMS is a fully compatible with W3C XHTML standard and cross browser safe, yet flexible enough to suit your design requirements. it has fully Pluggable Architecture – Templates, custom controls and administration functionality are all pluggable for custom development and extendibility. – &lt;a title="Firebird CMS" href="http://www.firebirdcms.com/default.aspx"&gt;Firebird CMS&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-2280306963520955860?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.dreamcss.com/content-management-system/asp-net-based-cms/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=asp-net-based-cms' title='30 best ASP.net based CMS'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/2280306963520955860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=2280306963520955860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/2280306963520955860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/2280306963520955860'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/30-best-aspnet-based-cms.html' title='30 best ASP.net based CMS'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-8447092754451127582</id><published>2011-07-19T00:16:00.000-07:00</published><updated>2011-07-19T00:16:43.309-07:00</updated><title type='text'>Five Fast Steps to Improve Website Usability</title><content type='html'>&lt;a href="http://www.practicalecommerce.com/articles/730-Five-Fast-Steps-to-Improve-Website-Usability"&gt;Five Fast Steps to Improve Website Usability&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-8447092754451127582?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.practicalecommerce.com/articles/730-Five-Fast-Steps-to-Improve-Website-Usability' title='Five Fast Steps to Improve Website Usability'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/8447092754451127582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=8447092754451127582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/8447092754451127582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/8447092754451127582'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/five-fast-steps-to-improve-website.html' title='Five Fast Steps to Improve Website Usability'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-5710143833349545891</id><published>2011-07-14T00:34:00.000-07:00</published><updated>2011-07-14T00:34:17.409-07:00</updated><title type='text'>Generating Traditional URLs with ASP.NET MVC3</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/nettuts/~3/gUpM2yigsG4/"&gt;Generating Traditional URLs with ASP.NET MVC3&lt;/a&gt;: "&lt;a href="http://rss.buysellads.com/click.php?z=1260013&amp;amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;amp;a=20953&amp;amp;c=1571560429"&gt;&lt;img src="http://rss.buysellads.com/img.php?z=1260013&amp;amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;amp;a=20953&amp;amp;c=1571560429" border="0" alt=""&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://buysellads.com/buy/sitedetails/pubkey/d754f1e9ba63a736ba8ff5ece958f7dd/zone/1260013"&gt;Advertise here&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;    There are certain truths in the world: we’re born, we die, and URLs should end with    a slash if it doesn’t point to a file. The ASP.NET MVC framework bucks tradition    and convention, and the built-in methods that generate URLs do so by omitting the    trailing slash. It may seem like a non-issue (and to many people it’s not one),    but many developers, this author included, are bugged by them.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;  &lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;h2&gt;&lt;br /&gt;    First, Some Background&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;URL stands for Uniform Resource Locator; it tells web-aware clients where to locate    a particular resource on the Internet. The URL of &lt;code&gt;http://www.example.com/directory/file.html&lt;/code&gt;    points to a physical file (the resource) called &lt;code&gt;file.html&lt;/code&gt; that resides    in a directory called &lt;code&gt;directory&lt;/code&gt; on a web server found at the &lt;code&gt;example.com&lt;/code&gt;    domain. When the web server for &lt;code&gt;example.com&lt;/code&gt; receives a request for    that URL, it knows exactly where to look for the resource. If it finds the file,    it serves its contents; if not, it responds with an error.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Traditional web servers do the same thing for directory requests. &lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p&gt;Consider the URL    of &lt;code&gt;http://www.example.com/directory/&lt;/code&gt;. This URL ends with a trailing    slash, denoting a directory. When the web server receives this request, it looks    for the &lt;code&gt;directory&lt;/code&gt; directory, and if it finds it, it gets the default    document and returns it to the client. Otherwise, it responds with an error.&lt;/p&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;These two examples demonstrate a simple process, but it can get more complex with    ambiguous requests. For example, the URL &lt;code&gt;http://www.example.com/ambiguous&lt;/code&gt;    points to a resource called &lt;code&gt;ambiguous&lt;/code&gt;, but it is unclear what that    resource is. It could be a file, but there is no extension; it could be a directory,    but there’s no trailing slash. When receiving a request for this resource, a traditional    web server goes through the following process:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;The server looks for a file called &lt;code&gt;ambiguous&lt;/code&gt;. If it finds one, it returns        it. Otherwise… &lt;/li&gt;&lt;br /&gt;&lt;li&gt;It sends a response back to the client, redirecting it to &lt;code&gt;http://www.example.com/ambiguous/&lt;/code&gt;&lt;br /&gt;    &lt;/li&gt;&lt;br /&gt;&lt;li&gt;The client requests the new URL &lt;/li&gt;&lt;br /&gt;&lt;li&gt;The server looks for the &lt;code&gt;ambiguous&lt;/code&gt; directory and returns the appropriate        response &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Without explicitly specifying a resource, the requester creates an overhead in both    processing time and bandwidth usage. &lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Without explicitly specifying a resource, the requester creates an overhead in both    processing time and bandwidth usage. For this reason, the prevailing rule of thumb    has been to put the trailing slash on all URLs that point to a directory. Doing    so completely eliminates the wasted processing time and bandwidth usage. It has    become second nature to many (maybe most?) web veterans to always include the slash    at the end of URLs that do not point to a file.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;So where does ASP.NET MVC fit into this? Well, ASP.NET, as you probably know, typically    runs on Microsoft’s web server, called IIS. IIS, by default, behaves just like any    other web server, but its true power lies in its ability to pass the handling of    requests to ISAPI modules or, even better, .NET code. In the case of an ASP.NET    MVC application, IIS passes each request to the MVC app for processing. There, the    app determines if the request should be routed to a method on a controller, or if    it should pass control back to IIS to find a physical file or directory on the file    system. So the process of handling a request for &lt;code&gt;http://www.example.com/ambiguous&lt;/code&gt;    by IIS and an MVC app looks something like this:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;div&gt;&lt;br /&gt;        &lt;img src="http://d2o0t5hpnwv4c1.cloudfront.net/1015_aspnetproperurls/mvc_req_handle.gif"&gt;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Wait, wait, wait! If MVC applications ignore the trailing slash, what’s the problem?  &lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;When the app routes the request to a controller, the method on that controller executes,    processes whatever data it needs, and returns a result to the client. It does not    redirect the client to another URL (unless the method is supposed to do that). MVC    applications don’t care if URLs end with a slash or not–in fact, MVC apps ignore    trailing slashes. As long as the URL matches a pattern in the routing table, the    MVC app will handle the request and return the requested response without causing    any extra overhead.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Wait, wait, wait! If MVC applications ignore the trailing slash, what’s the problem?    Technically, there isn’t one. The ambiguous URL actually points to a resource on    the server: a method on a controller object in the application. But as stated earlier,    web developers have been putting slashes at the end of their URLs years before Microsoft    released the MVC framework. It’s habit and convention to do so. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Microsoft’s stance    on the &amp;quot;issue&amp;quot; is simply to be consistent with the URLs used in our application,    and that’s a technically correct stance. But in typical Microsoft fashion, the MVC    framework’s helper methods only generate URLs without the trailing slash-meaning    developers have to write their own code to achieve &amp;quot;correct&amp;quot; URLs. The    solution presented in this article is two-fold:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Create an extension method that generates URLs &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Write customized versions of the &lt;code&gt;RouteLink()&lt;/code&gt; method. &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    Because this solution uses variations of &lt;code&gt;RouteLink()&lt;/code&gt;, it’s important    that your routes are named. If you’re not naming your routes, you should! Finally,    some code!&lt;/p&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;h2&gt;&lt;br /&gt;    Generating URLs&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    The MVC framework provides a class called &lt;code&gt;UrlHelper&lt;/code&gt;. As its name implies,    its purpose is to help with generating URLs for our application. It has a static    method called &lt;code&gt;GenerateUrl()&lt;/code&gt; that will do most of the hard work for    us. All we have to do is provide a route name and route values. We’ll create    an extention method for &lt;code&gt;HtmlHelper&lt;/code&gt; objects called &lt;code&gt;RouteUrl()&lt;/code&gt;,    and it will have two overloads. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Writing method overloads is pretty easy. There’s typically one overload that performs all the work (one overload to rule them all), and the other overloads simply pass through their arguments to it. So you’ll start by writing the main overload, and its code follows:&lt;/p&gt;&lt;br /&gt;&lt;pre name="code"&gt;public static class HtmlHelperExtensions&lt;br /&gt;{&lt;br /&gt;    public static string RouteUrl(this HtmlHelper htmlHelper, string routeName, RouteValueDictionary routeValues)&lt;br /&gt;    {&lt;br /&gt;        string url = UrlHelper.GenerateUrl(&lt;br /&gt;            routeName,&lt;br /&gt;            null /*actionName*/,&lt;br /&gt;            null /*controllerName*/,&lt;br /&gt;            routeValues,&lt;br /&gt;            htmlHelper.RouteCollection,&lt;br /&gt;            htmlHelper.ViewContext.RequestContext,&lt;br /&gt;            true&lt;br /&gt;        );&lt;br /&gt;&lt;br /&gt;        return String.Format(&amp;quot;{0}/&amp;quot;, url);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    The extension method accepts three arguments. The first is the &lt;code&gt;HtmlHelper&lt;/code&gt;    object that this method operates on. Note that when calling this method, you do    not need to pass the &lt;code&gt;HtmlHelper&lt;/code&gt; object; that is done automatically    for you. The second argument is the string containing the route’s name. The &lt;code&gt;GenerateUrl()&lt;/code&gt;    method will use the route’s name to return a URL properly formatted according to    the route’s pattern defined in the routing table. The last argument is a &lt;code&gt;RouteValueDictionary&lt;/code&gt;    object, which contains a set of key/value pairs with all the information needed    to generate the URL for the route. This includes the controller and action names,    as well as any parameters the &lt;code&gt;UrlHelper&lt;/code&gt; may need to generate the URL    for the specified route.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    The first statement of the method calls &lt;code&gt;UrlHelper.GenerateUrl()&lt;/code&gt; to    generate the URL. There are two overloads for the &lt;code&gt;GenerateUrl()&lt;/code&gt; method,    and the above code calls the one with the least amount of parameters. The route    name is passed, but you omit the parameters specifying action and controller names.    These values are actually held within the &lt;code&gt;routeValues&lt;/code&gt; object, which    is passed to &lt;code&gt;GenerateUrl()&lt;/code&gt; as fourth argument. The &lt;code&gt;HtmlHelper&lt;/code&gt;    object gives you the next two pieces of information you need, and the final argument    passed tells &lt;code&gt;GenerateUrl()&lt;/code&gt; to include the implicit MVC values of &amp;quot;action&amp;quot;    and &amp;quot;controller&amp;quot;. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;After the URL is generated, the &lt;code&gt;RouteUrl()&lt;/code&gt;    method calls &lt;code&gt;String.Format()&lt;/code&gt; to create a new string, essentially concatenating    the URL and a trailing slash. Note that &lt;code&gt;String.Format()&lt;/code&gt; isn’t necessary,    and you can simply write &lt;code&gt;return url + &amp;quot;/&amp;quot;;&lt;/code&gt;. How you create    a string is up to you.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    With the main worker overload written, now add the lazy one. Here is its code:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;pre name="code"&gt;public static string RouteUrl(this HtmlHelper htmlHelper, string routeName, object routeValues)&lt;br /&gt;{&lt;br /&gt;    return RouteUrl(htmlHelper, routeName, new RouteValueDictionary(routeValues));&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    This code is straight forward. It calls the main &lt;code&gt;RouteUrl()&lt;/code&gt; overload    by passing in the appropriate data. Because extension methods are static methods,    they can be called just like any other static method-which is the case in this code.    Note that you could just as easily have written this code by calling the main &lt;code&gt;        RouteUrl()&lt;/code&gt; as an instance (extension) method, like this:&lt;/p&gt;&lt;br /&gt;&lt;pre name="code"&gt;// Alternative version&lt;br /&gt;public static string RouteUrl(this HtmlHelper htmlHelper, string routeName, object routeValues)&lt;br /&gt;{&lt;br /&gt;    return htmlHelper.RouteUrl(routeName, new RouteValueDictionary(routeValues));&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;It doesn’t matter. Either way, the job gets done; it comes down to your personal    preference.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Calling this method from your view is quite simple. First, make sure the namespace    containing the &lt;code&gt;HtmlHelperExtensions&lt;/code&gt; class is imported, and simply use    the following syntax:&lt;/p&gt;&lt;br /&gt;&lt;pre name="code"&gt;Html.RouteUrl(&amp;quot;routeName&amp;quot;, new&lt;br /&gt;    {&lt;br /&gt;        controller = &amp;quot;ControllerName&amp;quot;,&lt;br /&gt;        action = &amp;quot;ActionName&amp;quot;,&lt;br /&gt;        parameterOne = &amp;quot;Hello&amp;quot;,&lt;br /&gt;        parameterTwo = &amp;quot;World&amp;quot;&lt;br /&gt;    })&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    Of course, the values for &lt;code&gt;controller&lt;/code&gt; and &lt;code&gt;action&lt;/code&gt;, as well    as the parameters, will be different for your specific MVC app. But this gives you    an idea of how to use the method. Now that you can generate pretty URLs with a trailing    slash, it’s time to write more extension methods to generate your links.&lt;/p&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;h2&gt;&lt;br /&gt;    Generating Links&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    One of the most helpful &lt;code&gt;HtmlHelper&lt;/code&gt; methods is the &lt;code&gt;RouteLink()&lt;/code&gt;    method. All you have to do is provide it the route name and values to get a string    containing an anchor element with a pretty relative URL to the specified action.    Of course, &lt;code&gt;RouteLink()&lt;/code&gt; returns anchor elements containing a URL without    a trailing slash; so, you need to write your own method that uses &lt;code&gt;RouteUrl()&lt;/code&gt;.    &lt;/p&gt;&lt;br /&gt;&lt;p&gt;There are eleven overloads for &lt;code&gt;RouteLink()&lt;/code&gt;, so if you want to write    your own version of all eleven, feel free. This article will only walk you through    the creation of a few-likely the most popular overloads. The &lt;code&gt;RouteLink()&lt;/code&gt;    method is actually an extension method, and since extensions methods cannot be overridden    or hidden, you’ll have to come up with a name for your own method. This article    gets super creative and uses &lt;code&gt;MyRouteLink()&lt;/code&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    The main overload will accept five arguments: the &lt;code&gt;HtmlHelper&lt;/code&gt; instance,    a link’s text, the route name, a &lt;code&gt;RouteValueDictionary&lt;/code&gt; containing the    route information, and a dictionary of HTML attributes to apply to the anchor element.    Like &lt;code&gt;RouteUrl()&lt;/code&gt;, &lt;code&gt;MyRouteLink()&lt;/code&gt; is a static method of the    &lt;code&gt;HtmlHelperExtensions&lt;/code&gt; static class. Here is its code (to save space,    the class declaration is omitted):&lt;/p&gt;&lt;br /&gt;&lt;pre name="code"&gt;public static MvcHtmlString MyRouteLink(&lt;br /&gt;    this HtmlHelper htmlHelper,&lt;br /&gt;    string linkText,&lt;br /&gt;    string routeName,&lt;br /&gt;    RouteValueDictionary routeValues,&lt;br /&gt;    IDictionary&amp;lt;string, object&amp;gt; htmlAttributes)&lt;br /&gt;{&lt;br /&gt;    string url = RouteUrl(htmlHelper, routeName, routeValues);&lt;br /&gt;&lt;br /&gt;    TagBuilder tagBuilder = new TagBuilder(&amp;quot;a&amp;quot;)&lt;br /&gt;    {&lt;br /&gt;        InnerHtml = (!String.IsNullOrEmpty(linkText)) ? linkText : String.Empty&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    tagBuilder.MergeAttributes(htmlAttributes);&lt;br /&gt;    tagBuilder.MergeAttribute(&amp;quot;href&amp;quot;, url);&lt;br /&gt;&lt;br /&gt;    return MvcHtmlString.Create((tagBuilder.ToString(TagRenderMode.Normal)));&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    This code might look familiar to you if you have ever studied the &lt;a title="ASP.NET project at CodePlex" href="http://aspnet.codeplex.com/"&gt;ASP.NET MVC source code&lt;/a&gt;. The &lt;code&gt;HtmlHelper&lt;/code&gt;    class has a private method called &lt;code&gt;GenerateRouteLink()&lt;/code&gt;, which was the    inspiration for &lt;code&gt;MyRouteLink()&lt;/code&gt;. Your method returns an &lt;code&gt;MvcHtmlString&lt;/code&gt;    object, which is an HTML-encoded string (you don’t have to do any encoding yourself).    The first statement of this method uses your &lt;code&gt;RouteUrl()&lt;/code&gt; method to get    your special URL. Next, you use a &lt;code&gt;TagBuilder&lt;/code&gt; object to build an anchor element, populating its &lt;code&gt;InnerHtml&lt;/code&gt; property with the link’s text. Then    the HTML attributes, those provided by the dictionary and the &lt;code&gt;href&lt;/code&gt;    attribute, are added to the element. Finally, the HTML output is created as a &lt;code&gt;MvcHtmlString&lt;/code&gt; object and returned to the caller.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;It’s cake from now on, as the remaining overloads will, in one way or another, call    this version of &lt;code&gt;MyRouteLink()&lt;/code&gt;. The next overload has a similar signature;    the route values and attributes will simply be objects. Here is its code:&lt;/p&gt;&lt;br /&gt;&lt;pre name="code"&gt;public static MvcHtmlString MyRouteLink(&lt;br /&gt;    this HtmlHelper htmlHelper,&lt;br /&gt;    string linkText,&lt;br /&gt;    string routeName,&lt;br /&gt;    object routeValues,&lt;br /&gt;    object htmlAttributes)&lt;br /&gt;{&lt;br /&gt;    return MyRouteLink(&lt;br /&gt;        htmlHelper,&lt;br /&gt;        linkText,&lt;br /&gt;        routeName,&lt;br /&gt;        new RouteValueDictionary(routeValues),&lt;br /&gt;        new RouteValueDictionary(htmlAttributes)&lt;br /&gt;    );&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    This code is self-explanitory. You call the main &lt;code&gt;MyRouteLink()&lt;/code&gt; overload    by passing in the appropriate data. Note you’re using a &lt;code&gt;RouteValueDictionary&lt;/code&gt;    object for the HTML attributes; it’s a suitable container for HTML attributes.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The next, and final, two overloads are more of the same, except they do not accept    an argument for HTML attributes. Here is their code:&lt;/p&gt;&lt;br /&gt;&lt;pre name="code"&gt;public static MvcHtmlString MyRouteLink(&lt;br /&gt;    this HtmlHelper htmlHelper,&lt;br /&gt;    string linkText,&lt;br /&gt;    string routeName,&lt;br /&gt;    RouteValueDictionary routeValues)&lt;br /&gt;{&lt;br /&gt;    return MyRouteLink(&lt;br /&gt;        htmlHelper,&lt;br /&gt;        linkText,&lt;br /&gt;        routeName,&lt;br /&gt;        routeValues,&lt;br /&gt;        new RouteValueDictionary()&lt;br /&gt;    );&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static MvcHtmlString MyRouteLink(&lt;br /&gt;    this HtmlHelper htmlHelper,&lt;br /&gt;    string linkText,&lt;br /&gt;    string routeName,&lt;br /&gt;    object routeValues)&lt;br /&gt;{&lt;br /&gt;    return MyRouteLink(&lt;br /&gt;        htmlHelper,&lt;br /&gt;        linkText,&lt;br /&gt;        routeName,&lt;br /&gt;        new RouteValueDictionary(routeValues)&lt;br /&gt;    );&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    The first overload in the above code omits the HTML attribute collection and specifies    a &lt;code&gt;RouteValueDictionary&lt;/code&gt; object for the route values. It calls the overload    with a signature of &lt;code&gt;MyRouteLink(HtmlHelper, string, string, RouteValueDictionary,        IDictionary&amp;lt;string, object&amp;gt;)&lt;/code&gt;, and passes an empty &lt;code&gt;RouteValueDictionary&lt;/code&gt;    object for the HTML attributes. The second overload has a slightly different signature,    accepting an object for the route values. It calls the first overload in this code    listing to generate the link.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    To use this helper method, be sure you import the namespace containing the &lt;code&gt;HtmlHelperExtensions&lt;/code&gt;    class in your view. Then, you can write something like this:&lt;/p&gt;&lt;br /&gt;&lt;pre name="code"&gt;@Html.MyRouteLink(&amp;quot;My Link Text&amp;quot;, &amp;quot;route name&amp;quot;, new&lt;br /&gt;    {&lt;br /&gt;        controller = &amp;quot;ControllerName&amp;quot;,&lt;br /&gt;        action = &amp;quot;ActionName&amp;quot;,&lt;br /&gt;        parameterOne = &amp;quot;Hello&amp;quot;,&lt;br /&gt;        parameterTwo = &amp;quot;World&amp;quot;&lt;br /&gt;    }&lt;br /&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;This code uses Razor syntax, but you can essentially do the same thing if using    the ASPX view engine, like this:&lt;/p&gt;&lt;br /&gt;&lt;pre name="code"&gt;&amp;lt;%:Html.MyRouteLink(&amp;quot;My Link Text&amp;quot;, &amp;quot;route name&amp;quot;, new&lt;br /&gt;    {&lt;br /&gt;        controller = &amp;quot;ControllerName&amp;quot;,&lt;br /&gt;        action = &amp;quot;ActionName&amp;quot;,&lt;br /&gt;        parameterOne = &amp;quot;Hello&amp;quot;,&lt;br /&gt;        parameterTwo = &amp;quot;World&amp;quot;&lt;br /&gt;    }&lt;br /&gt;) %&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    This code uses the new &lt;code&gt;&amp;lt;%: %&amp;gt;&lt;/code&gt; nugget for HTML encoding output    (introduced in .NET 4). The beauty of the &lt;code&gt;MvcHtmlString&lt;/code&gt; returned by    &lt;code&gt;MyRouteLink()&lt;/code&gt; is that it's already HTML encoded, and it will not be    re-encoded by using the new nugget. So you can use &lt;code&gt;&amp;lt;%: %&amp;gt;&lt;/code&gt; or    &lt;code&gt;&amp;lt;%= %&amp;gt;&lt;/code&gt; without worrying about encoding or re-encoding.&lt;/p&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;h2&gt;&lt;br /&gt;    In Closing&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;    As mentioned earlier, there is nothing technically wrong with the URLs genereated    by the MVC framework. They do not cause an overhead, as they point to an actual    resource on the server. But if you've been bugged by them, now you can generate    traditionally correct URLs with just a little work upfront. Microsoft is right,    however: be consistent. Regardless of what URL style you prefer, make sure you consistently use the same one. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Let me know if you have any questions in the comments and thank you so much for reading!&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/~ff/nettuts?a=gUpM2yigsG4:hb0NH2t05Sc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nettuts?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nettuts?a=gUpM2yigsG4:hb0NH2t05Sc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nettuts?i=gUpM2yigsG4:hb0NH2t05Sc:F7zBnMyn0Lo" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nettuts?a=gUpM2yigsG4:hb0NH2t05Sc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nettuts?i=gUpM2yigsG4:hb0NH2t05Sc:V_sGLiPBpWU" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nettuts?a=gUpM2yigsG4:hb0NH2t05Sc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nettuts?i=gUpM2yigsG4:hb0NH2t05Sc:gIN9vFwOqvQ" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nettuts?a=gUpM2yigsG4:hb0NH2t05Sc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nettuts?d=TzevzKxY174" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nettuts/~4/gUpM2yigsG4" height="1" width="1"&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-5710143833349545891?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://feedproxy.google.com/~r/nettuts/~3/gUpM2yigsG4/' title='Generating Traditional URLs with ASP.NET MVC3'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/5710143833349545891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=5710143833349545891' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/5710143833349545891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/5710143833349545891'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/generating-traditional-urls-with-aspnet.html' title='Generating Traditional URLs with ASP.NET MVC3'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-702740555622693693</id><published>2011-07-14T00:26:00.000-07:00</published><updated>2011-07-14T00:26:40.711-07:00</updated><title type='text'>50 Must Have Cheat Sheets For Web Designers &amp; Developers</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/SmashingApps/~3/OYl0ytDBfmY/50-must-have-cheat-sheets-for-web-designers-developers.html"&gt;50 Must Have Cheat Sheets For Web Designers &amp;amp; Developers&lt;/a&gt;: "&lt;p&gt;Today we are featuring a collection of more than 50 extremely useful cheat sheets that every designer and developer must have. A cheat sheet is a guide of a peculiar programming language, software or framework that can be printed for easy access.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Cheat sheets are basically intended for those designers and developers who spend most of their working time in exploring different software environments and for them it is nearly impossible to remember shortcuts for each software environment, and this is the point where a cheap sheet comes in.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Here is the full list after this small jump. Feel free to share your views. Enjoy!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.diyphotography.net/black-white-cheatsheet-for-photoshop"&gt;Black &amp;amp; White Cheatsheet For Photoshop&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.diyphotography.net/black-white-cheatsheet-for-photoshop"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets6.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.design215.com/toolbox/megapixels.php"&gt;Megapixels and Maximum Print Size Chart&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.design215.com/toolbox/megapixels.php"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets27.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://subdivision.co.uk/wp-content/uploads/2009/03/FlashCS4_PC_Shortcuts.pdf"&gt;Adobe Flash CS4 Keyboard Shortcuts Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://subdivision.co.uk/wp-content/uploads/2009/03/FlashCS4_PC_Shortcuts.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets13.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/ruby-on-rails-cheat-sheet/"&gt;Ruby on Rails Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/ruby-on-rails-cheat-sheet/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets19.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://logoorange.com/color/color-codes-chart.php"&gt;Color Codes Matching Chart HTML&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://logoorange.com/color/color-codes-chart.php"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets23.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.gmtaz.com/jquery-13-cheatsheet-wallpaper/"&gt;jQuery 1.3 cheat sheet wallpaper&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.gmtaz.com/jquery-13-cheatsheet-wallpaper/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets21.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.seomoz.org/blog/the-web-developers-seo-cheat-sheet"&gt;The Web Developer’s SEO Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.seomoz.org/blog/the-web-developers-seo-cheat-sheet"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets28.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://planetozh.com/download/refcards/Photoshop.pdf"&gt;Adobe Photoshop 7.0 Quick Reference Card for Windows&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://planetozh.com/download/refcards/Photoshop.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets36.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.nobledesktop.com/download/shortcut_guides/indesign_cs2_shortcuts_mac.pdf"&gt;Adobe InDesign CS2 Useful Keyboard Shortcuts&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.nobledesktop.com/download/shortcut_guides/indesign_cs2_shortcuts_mac.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets39.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://creativetechs.com/tipsblog/photoshop-lasso-tool-cheatsheet/"&gt;Creative Tip: Photoshop Lasso Tool Cheatsheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://creativetechs.com/tipsblog/photoshop-lasso-tool-cheatsheet/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets41.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/html-character-entities-cheat-sheet/"&gt;HTML Character Entities Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/html-character-entities-cheat-sheet/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets46.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://designtopx.files.wordpress.com/2009/11/wordpress-theme-development-check-list.pdf"&gt;WordPress Theme Development Check List&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://designtopx.files.wordpress.com/2009/11/wordpress-theme-development-check-list.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets1.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://colorcharge.com/jquery/"&gt;jQuery&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://colorcharge.com/jquery/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets2.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.blueshoes.org/en/developer/php_cheat_sheet"&gt;PHP cheat sheet – blueshoes&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.blueshoes.org/en/developer/php_cheat_sheet"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets3.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.dreamincode.net/downloads/ref_sheets/php_reference_sheet.pdf"&gt;PHP reference sheet – basics&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.dreamincode.net/downloads/ref_sheets/php_reference_sheet.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets4.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://creativetechs.com/tipsblog/adobe-pen-tool-cheatsheet/"&gt;Creative Tip: Adobe Pen Tool Cheatsheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://creativetechs.com/tipsblog/adobe-pen-tool-cheatsheet/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets5.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.elegantthemes.com/"&gt;CSS Shorthand Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.elegantthemes.com/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets7.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://designtopx.files.wordpress.com/2009/11/csscheatsheet.pdf"&gt;CSS Shorthand cheat sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://designtopx.files.wordpress.com/2009/11/csscheatsheet.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets8.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://designtopx.files.wordpress.com/2009/11/rgb-hex-cheat-sheet-v1.pdf"&gt;RGB Colour codes&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://designtopx.files.wordpress.com/2009/11/rgb-hex-cheat-sheet-v1.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets9.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://designtopx.files.wordpress.com/2009/11/html-help-sheet-02.pdf"&gt;GoSquared&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://designtopx.files.wordpress.com/2009/11/html-help-sheet-02.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets10.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.elizabethcastro.com/html/extras/xhtml_ref.html"&gt;HTML Elements and Attributes&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.elizabethcastro.com/html/extras/xhtml_ref.html"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets11.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.digitalmediaminute.com/reference/entity/index.php"&gt;XHTML Character Entity Reference&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.digitalmediaminute.com/reference/entity/index.php"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets12.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.html.su/entities.html"&gt;HTML/XHTML Character Entities&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.html.su/entities.html"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets14.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.ampsoft.net/webdesign-l/WindowsMacFonts.html"&gt;Common fonts to all versions of Windows &amp;amp; Mac equivalents&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.ampsoft.net/webdesign-l/WindowsMacFonts.html"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets15.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://woorkup.com/2009/10/02/css2-visual-cheat-sheet/"&gt;CSS 2 Visual Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://woorkup.com/2009/10/02/css2-visual-cheat-sheet/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets16.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.artzstudio.com/files/jquery-rules/jquery_1.3_cheatsheet_v1.pdf"&gt;jQuery 1.3 Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.artzstudio.com/files/jquery-rules/jquery_1.3_cheatsheet_v1.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets17.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.javascripttoolbox.com/jquery/cheatsheet/"&gt;jQuery Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.javascripttoolbox.com/jquery/cheatsheet/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets18.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.smashingmagazine.com/2009/07/06/html-5-cheat-sheet-pdf/"&gt;HTML 5 Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.smashingmagazine.com/2009/07/06/html-5-cheat-sheet-pdf/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets20.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://refcardz.dzone.com/refcardz/jquery-selectors"&gt;jQuery Selectors&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://refcardz.dzone.com/refcardz/jquery-selectors"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets22.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.addedbytes.com/download/javascript-cheat-sheet-v1/png/"&gt;JavaScript Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.addedbytes.com/download/javascript-cheat-sheet-v1/png/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets25.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/mysql-cheat-sheet/"&gt;MySQL Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/mysql-cheat-sheet/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets26.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/mod_rewrite-cheat-sheet-version-1/"&gt;mod_rewrite Cheat Sheet (V1)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/mod_rewrite-cheat-sheet-version-1/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets29.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.computerarts.co.uk/tutorials/new_media/keyboard_shortcut_cards"&gt;Computer Arts Keyboard Shortcuts&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.computerarts.co.uk/tutorials/new_media/keyboard_shortcut_cards"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets30.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.w3.org/Style/CSS/current-work"&gt;W3C – Cascading Style Sheets, Current Work&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.w3.org/Style/CSS/current-work"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets31.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.xml.su/"&gt;XML (eXtensible Markup Language) in one page&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.xml.su/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets32.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/python-cheat-sheet/"&gt;Python Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/python-cheat-sheet/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets33.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.webdesignerwall.com/tutorials/adobe-illustrator-shortcuts/"&gt;Adobe Illustrator Shortcuts&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.webdesignerwall.com/tutorials/adobe-illustrator-shortcuts/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets50.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://danandsherree.com/upload/2005/08/pse_organizer_shortcuts.pdf"&gt;Adobe Photoshop Elements Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://danandsherree.com/upload/2005/08/pse_organizer_shortcuts.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets34.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://simplephotoshop.com/photoshop_tools/index.htm"&gt;Photoshop Toolbox Reference&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://simplephotoshop.com/photoshop_tools/index.htm"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets35.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.ideastraining.com/PDFs/GraphicsCheatSheet.pdf"&gt;I.D.E.A.S. Graphics Cheatsheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.ideastraining.com/PDFs/GraphicsCheatSheet.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets37.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/asp-vbscript-cheat-sheet/"&gt;ASP / VBScript Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/asp-vbscript-cheat-sheet/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets24.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.lugod.org/presentations/gimp-saclug.pdf"&gt;The Gimp Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.lugod.org/presentations/gimp-saclug.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets38.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.sdplastics.com/1423_pantone.pdf"&gt;Cyro pantone foldout&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.sdplastics.com/1423_pantone.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets40.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/css-cheat-sheet/"&gt;CSS Cheat Sheet (V2)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.addedbytes.com/cheat-sheets/css-cheat-sheet/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets42.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://lesliefranke.com/files/reference/csscheatsheet.html"&gt;CSS CHEAT SHEET&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lesliefranke.com/files/reference/csscheatsheet.html"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets43.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://woorkup.com/2009/12/16/html5-visual-cheat-sheet-reloaded/"&gt;HTML5 Visual Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://woorkup.com/2009/12/16/html5-visual-cheat-sheet-reloaded/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets44.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.futurecolors.ru/jquery/"&gt;jQuery 1.6 API Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.futurecolors.ru/jquery/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets45.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.slash7.com/cheats/scriptaculous_fx1.pdf"&gt;Script.aculo.us Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.slash7.com/cheats/scriptaculous_fx1.pdf"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets47.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.opera.com/docs/specs/opera95/css/"&gt;CSS support in Opera 9.5&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.opera.com/docs/specs/opera95/css/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets48.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.thejackol.com/htaccess-cheatsheet/"&gt;htaccess Cheat Sheet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.thejackol.com/htaccess-cheatsheet/"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2011/07/cheatsheets49.jpg" alt="" width="540" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;font color="#7D7D7D"&gt;Brought To You By&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="left"&gt;&lt;a href="http://www.smashingapps.com/go/premiersurvey"&gt;&lt;img src="http://www.smashingapps.com/wp-content/uploads/2008/08/premier-survey-advertise.jpg" alt="Premier Survey"&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;font color="#7D7D7D"&gt;Do you want to advertise here? &lt;a href="http://www.smashingapps.com/advertise"&gt;&lt;font color="#800000"&gt;Click to get more info…&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/~ff/SmashingApps?a=OYl0ytDBfmY:quZFYHzdzWw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SmashingApps?i=OYl0ytDBfmY:quZFYHzdzWw:V_sGLiPBpWU" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SmashingApps?a=OYl0ytDBfmY:quZFYHzdzWw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SmashingApps?i=OYl0ytDBfmY:quZFYHzdzWw:gIN9vFwOqvQ" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SmashingApps?a=OYl0ytDBfmY:quZFYHzdzWw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SmashingApps?d=7Q72WNTAKBA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SmashingApps?a=OYl0ytDBfmY:quZFYHzdzWw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SmashingApps?i=OYl0ytDBfmY:quZFYHzdzWw:F7zBnMyn0Lo" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SmashingApps?a=OYl0ytDBfmY:quZFYHzdzWw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SmashingApps?d=dnMXMwOfBR0" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SmashingApps?a=OYl0ytDBfmY:quZFYHzdzWw:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SmashingApps?d=TzevzKxY174" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SmashingApps?a=OYl0ytDBfmY:quZFYHzdzWw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SmashingApps?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SmashingApps?a=OYl0ytDBfmY:quZFYHzdzWw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SmashingApps?d=qj6IDK7rITs" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SmashingApps?a=OYl0ytDBfmY:quZFYHzdzWw:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SmashingApps?i=OYl0ytDBfmY:quZFYHzdzWw:KwTdNBX3Jqk" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SmashingApps?a=OYl0ytDBfmY:quZFYHzdzWw:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SmashingApps?d=l6gmwiTKsz0" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SmashingApps/~4/OYl0ytDBfmY" height="1" width="1"&gt;&lt;/p&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-702740555622693693?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://feedproxy.google.com/~r/SmashingApps/~3/OYl0ytDBfmY/50-must-have-cheat-sheets-for-web-designers-developers.html' title='50 Must Have Cheat Sheets For Web Designers &amp; Developers'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/702740555622693693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=702740555622693693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/702740555622693693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/702740555622693693'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/50-must-have-cheat-sheets-for-web.html' title='50 Must Have Cheat Sheets For Web Designers &amp; Developers'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-4937777642843267835</id><published>2011-07-05T23:48:00.000-07:00</published><updated>2011-07-05T23:48:28.052-07:00</updated><title type='text'>Top 25 Most Dangerous Software Errors - 2011</title><content type='html'>&lt;a href="http://www.pheedcontent.com/click.phdo?i=f249cedfd874fa7ae8e5aa358a19f096"&gt;Top 25 Most Dangerous Software Errors - 2011&lt;/a&gt;: "The list of top dangerous software errors and vulnerabilities for 2011.&lt;br style="clear:both"&gt;&lt;br /&gt;&lt;br style="clear:both"&gt;&lt;br /&gt;  &lt;a style="font-size:10px;color:maroon" href="http://www.pheedcontent.com/hostedMorselClick.php?hfmm=v3:0e27aa70fc33ac84736bb825aa74eded:ovesOlfmdfVDXFhHncFTEB3tS09%2Blf2V0fpE27YEj%2Fid0ikeEmf51qUPwN4tc%2FlwbszkAwJIP6Qat2U%3D"&gt;&lt;img border="0" title="Add to digg" alt="Add to digg" src="http://images.pheedo.com/images/mm/digg_64x16.png"&gt;&lt;/a&gt;&lt;br /&gt;  &lt;a style="font-size:10px;color:maroon" href="http://www.pheedcontent.com/hostedMorselClick.php?hfmm=v3:bcdcaa245a21c3664557e060613ee061:OydrHvdDsU28by%2BvS2VlOFLK%2FCgekGwrUgt3uN5JY4eAeMbJOdKNF0mMo6InCZ0qEH%2Fe0nu%2BHhp1a10%3D"&gt;&lt;img border="0" title="Add to StumbleUpon" alt="Add to StumbleUpon" src="http://images.pheedo.com/images/mm/stumbleit.gif"&gt;&lt;/a&gt;&lt;br /&gt;  &lt;a style="font-size:10px;color:maroon" href="http://www.pheedcontent.com/hostedMorselClick.php?hfmm=v3:de2e8605ef651799b2cf5e1bd4a0177f:c9Gx80knMajz3FWdIFbDaWACTw1DMZ5yvQbRW9W9A6s%2B0RtveFZbEZOJ%2BAXYbKWQ4eLWkEAhVIXb7g%3D%3D"&gt;&lt;img border="0" title="Add to del.icio.us" alt="Add to del.icio.us" src="http://images.pheedo.com/images/mm/delicious.gif"&gt;&lt;/a&gt;&lt;br /&gt;  &lt;a style="font-size:10px;color:maroon" href="http://www.pheedcontent.com/hostedMorselClick.php?hfmm=v3:984217e6c257af454528e9f51c7c9bfb:%2B11CkQeDqWihNwwkPCS7fNLRySZObT5bJClX%2FgSXeVZAiDgQYB09jmj%2B5QMwS5fNrvQYS9gIf0HL9A%3D%3D"&gt;&lt;img border="0" title="Add to Google" alt="Add to Google" src="http://images.pheedo.com/images/mm/google.png"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br style="clear:both"&gt;&lt;br /&gt;&lt;a href="http://ads.pheedo.com/click.phdo?s=f249cedfd874fa7ae8e5aa358a19f096&amp;amp;p=1"&gt;&lt;img alt="" style="border:0" border="0" src="http://ads.pheedo.com/img.phdo?s=f249cedfd874fa7ae8e5aa358a19f096&amp;amp;p=1"&gt;&lt;/a&gt;&lt;br /&gt;&lt;img alt="" height="0" width="0" border="0" src="http://segment-pixel.invitemedia.com/pixel?code=TechBiz&amp;amp;partnerID=167&amp;amp;key=segment"&gt;&lt;img alt="" height="0" width="0" border="0" src="http://pixel.quantserve.com/pixel/p-8bUhLiluj0fAw.gif?labels=pub.30034.rss.TechBiz.38552,cat.TechBiz.rss"&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-4937777642843267835?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pheedcontent.com/click.phdo?i=f249cedfd874fa7ae8e5aa358a19f096' title='Top 25 Most Dangerous Software Errors - 2011'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/4937777642843267835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=4937777642843267835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/4937777642843267835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/4937777642843267835'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/top-25-most-dangerous-software-errors.html' title='Top 25 Most Dangerous Software Errors - 2011'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-2024698170762574415</id><published>2011-07-03T12:48:00.000-07:00</published><updated>2011-07-03T12:48:16.528-07:00</updated><title type='text'>10 Best Tools to Compare and Test Website Loading Time</title><content type='html'>&lt;a href="http://thewebblend.com/All/10_Best_Tools_to_Compare_and_Test_Website_Loading_Time"&gt;10 Best Tools to Compare and Test Website Loading Time&lt;/a&gt;: "&lt;p&gt;Website loading time is one of the most important factors when it comes to the success of the blog.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://thewebblend.com/All/10_Best_Tools_to_Compare_and_Test_Website_Loading_Time"&gt;read more&lt;/a&gt;&lt;/p&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-2024698170762574415?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://thewebblend.com/All/10_Best_Tools_to_Compare_and_Test_Website_Loading_Time' title='10 Best Tools to Compare and Test Website Loading Time'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/2024698170762574415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=2024698170762574415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/2024698170762574415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/2024698170762574415'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/10-best-tools-to-compare-and-test_03.html' title='10 Best Tools to Compare and Test Website Loading Time'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-7216945640736681309</id><published>2011-07-03T12:38:00.000-07:00</published><updated>2011-07-03T12:38:53.436-07:00</updated><title type='text'>10 Best Tools to Compare and Test Website Loading Time</title><content type='html'>&lt;a href="http://thewebblend.com/All/10_Best_Tools_to_Compare_and_Test_Website_Loading_Time"&gt;10 Best Tools to Compare and Test Website Loading Time&lt;/a&gt;: "&lt;p&gt;Website loading time is one of the most important factors when it comes to the success of the blog.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://thewebblend.com/All/10_Best_Tools_to_Compare_and_Test_Website_Loading_Time"&gt;read more&lt;/a&gt;&lt;/p&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-7216945640736681309?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://thewebblend.com/All/10_Best_Tools_to_Compare_and_Test_Website_Loading_Time' title='10 Best Tools to Compare and Test Website Loading Time'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/7216945640736681309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=7216945640736681309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/7216945640736681309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/7216945640736681309'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/10-best-tools-to-compare-and-test.html' title='10 Best Tools to Compare and Test Website Loading Time'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-4563435504761470606</id><published>2011-07-03T12:36:00.000-07:00</published><updated>2011-07-03T12:36:56.417-07:00</updated><title type='text'>Ten Web Development Tips I Wish I had Known Two Years Ago</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/queness/~3/yZXWHChS6vQ/ten-web-development-tips-i-wish-i-had-known-two-years-ago"&gt;Ten Web Development Tips I Wish I had Known Two Years Ago&lt;/a&gt;: "Some Excellent web development tips i wish know about them from the start of my development career&lt;img src="http://feeds.feedburner.com/~r/queness/~4/yZXWHChS6vQ" height="1" width="1"&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-4563435504761470606?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://feedproxy.google.com/~r/queness/~3/yZXWHChS6vQ/ten-web-development-tips-i-wish-i-had-known-two-years-ago' title='Ten Web Development Tips I Wish I had Known Two Years Ago'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/4563435504761470606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=4563435504761470606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/4563435504761470606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/4563435504761470606'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/ten-web-development-tips-i-wish-i-had.html' title='Ten Web Development Tips I Wish I had Known Two Years Ago'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-2071400839645234371</id><published>2011-07-03T12:31:00.000-07:00</published><updated>2011-07-03T12:32:36.576-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><title type='text'>25 Useful HTML5 Tutorials</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/queness/~3/p4t1SZsBmMc/25-useful-html5-tutorials"&gt;25 Useful HTML5 Tutorials&lt;/a&gt;: "HTML5 and CSS3 Expanded the possibilities of Web Design, lots of new properties has been introduced to help you make rich websites. In this roundup we have featured 25 useful HTML5 tutorials that definately help developers to glow there skills.&lt;img src="http://feeds.feedburner.com/~r/queness/~4/p4t1SZsBmMc" height="1" width="1"&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-2071400839645234371?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/2071400839645234371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=2071400839645234371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/2071400839645234371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/2071400839645234371'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/07/25-useful-html5-tutorials.html' title='25 Useful HTML5 Tutorials'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-1108548058757086734</id><published>2011-06-29T22:56:00.000-07:00</published><updated>2011-06-29T22:56:35.931-07:00</updated><title type='text'>25 Useful HTML5 Tutorials</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/designfollow/KmFf/~3/1q6XlrCEwMQ/"&gt;25 Useful HTML5 Tutorials&lt;/a&gt;: "HTML5 and CSS3 Expanded the possibilities of Web Design, lots of new properties has been introduced to help you make rich websites. There are lots of designers and developers who ...&lt;img src="http://feeds.feedburner.com/~r/designfollow/KmFf/~4/1q6XlrCEwMQ" height="1" width="1"&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-1108548058757086734?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://feedproxy.google.com/~r/designfollow/KmFf/~3/1q6XlrCEwMQ/' title='25 Useful HTML5 Tutorials'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/1108548058757086734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=1108548058757086734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/1108548058757086734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/1108548058757086734'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/06/25-useful-html5-tutorials.html' title='25 Useful HTML5 Tutorials'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-3415065778628136352</id><published>2011-06-25T00:19:00.000-07:00</published><updated>2011-06-25T00:19:50.881-07:00</updated><title type='text'>20+ Mobile Apps Development Frameworks To Kick-Start Your Project</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/tripwiremagazine/~3/-il2tqDl9ww/20-mobile-apps-development-frameworks-to-kick-start-your-project.html"&gt;20+ Mobile Apps Development Frameworks To Kick-Start Your Project&lt;/a&gt;: "&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img style="border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="20+ Mobile Apps Development Frameworks To Kick-Start Your Project" border="0" alt="20+ Mobile Apps Development Frameworks To Kick-Start Your Project" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/04/image35.png" width="627" height="252"&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Frameworks and libraries help you, the web developer, focus on creating rather than figuring stuff out. Rather than reinventing the wheel, you can use a framework or library to delegate brunt, non-creative and repetitive work, freeing up your time and energy to create the actual mobile app,website or application.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;These frameworks can help you create the right applications for example, whether we are talking about desktop applications or mobile apps. Web development is supposed to be fast and creative, and most of your time has to be taken by the actual creation and not the figuring out how to do low level technical stuff. In this article, I will feature new frameworks that will help you in order to develop desktop and mobile applications that if picked wisely may significantly speed up and make your development more effective.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;  &lt;span&gt;&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;div style="float:left"&gt;&lt;br&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="float:left;margin-top:25px;margin-left:25px"&gt;&lt;br /&gt;&lt;a href="http://www.elegantthemes.com/affiliates/idevaffiliate.php?id=1513_0_1_11"&gt;&lt;img border="0" src="http://www.elegantthemes.com/affiliates/banners/234x120.gif" width="234" height="120"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="float:left;margin-top:10px;margin-left:25px"&gt;&lt;br /&gt;&lt;a href="http://www.woothemes.com/amember/go.php?r=9812&amp;amp;i=b34"&gt;&lt;img src="http://woothemes.com/ads/234x60b.jpg" border="0" alt="WooThemes - Made by Designers" width="234" height="60"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="float:left;margin-top:10px;margin-left:25px"&gt;&lt;br /&gt;&lt;a href="http://www.tripwiremagazine.com/go/wpzoom.html"&gt;&lt;img src="http://cdn.tripwiremagazine.com/wp-content/uploads/images/wpzoom.jpg" border="0" alt="WooThemes - Made by Designers" width="234" height="60"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span&gt;Advertisement&lt;/span&gt;&lt;br&gt;&lt;br /&gt;&lt;h4&gt;1. &lt;a href="http://jeromeetienne.github.com/jquery-mobile-960/"&gt;960 Grid on jQuery-Mobile&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://jeromeetienne.github.com/jquery-mobile-960/"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="960 grid" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/960grid.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;jquery-mobile-960 is a &lt;code&gt;port of 960 grid to jquery mobile&lt;/code&gt;. It merge the flexibility of 960.gs, and the ease of jquery mobile. It aims to bring &lt;code&gt;more flexibility to jquery-mobile layout&lt;/code&gt; and thus make it&lt;code&gt;easier to use on tablets&lt;/code&gt;.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;2. &lt;a href="http://amplifyjs.com/"&gt;Amplify&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://amplifyjs.com/"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="Amplify" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/Amplify.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Amplify is a set of components designed to solve common web application problems with a simplistic API. Amplify’s goal is to simplify all forms of data handling by providing a unified API for various data sources. Amplify’s store component handles persistent client-side storage, using standards like localStorage and sessionStorage, but falling back on non-standard implementations for older browsers. Amplify’s request adds some additional features to jQuery’s ajax method while abstracting away the underlying data source.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;3. &lt;a href="http://www.dhtmlx.com/touch/"&gt;DHTMLX Touch – HTML5 JavaScript Framework for Mobile&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.dhtmlx.com/touch/"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="DHTMLX" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/DHTMLX.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;DHTMLX Touch is an HTML5-based JavaScript library for building mobile web applications. It’s not just a set of UI widgets, but a complete framework that allows you to create eye-catching, cross-platform web applications for mobile and touch-screen devices.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The framework is compatible with the major web browsers for mobile platforms. Applications built with DHTMLX Touch will run smoothly on iPad, iPhone, Android-based smartphones, and other popular devices.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;4. &lt;a href="http://www.dhtmlx.com/touch/designer/"&gt;DHTMLX Touch Visual Designer&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.dhtmlx.com/touch/designer/"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="DHTMLX touch virtual designer" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/DHTMLXtouchvirtualdesigner.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;an easy and intuitive way to build web interfaces for your mobile apps. All you have to do is drag-and-drop the needed components into the Visual Designer and then set up their properties.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;5. &lt;a href="http://www.intelligentexpert.net/"&gt;iX Framework&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.intelligentexpert.net/"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="IX framework" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/IXframework.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;iX Framework is a javascript GUI / Javascript Widget consist of comprehensive components, such as : Grid, Chart, Tree, Window, Panel, Field, Validation, Combo and more.iX Framework is a comprehensive, powerful and affordable professional web framework that remove the boundary between web and desktop application.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;6. &lt;a href="http://behat.org/"&gt;Behat&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://behat.org/"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="Behat" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/Behat.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Behat is a BDD framework for PHP which has been inspired by Ruby’s &lt;a href="http://cukes.info/"&gt;Cucumber&lt;/a&gt; project.    &lt;br&gt;Unlike any other php testing framework that tests applications inside out. Behat is testing applications outside in. It means, that Behat works only with your application’s input/output.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;7. &lt;a href="http://mobdis.com/"&gt;MobDis&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://mobdis.com/"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="MobDis" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/MobDis.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;It enables users to create rich media mobile web apps and advertisements without needing to code.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;8. &lt;a href="http://wijmo.com/"&gt;Wijmo&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://wijmo.com/"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="wijmo" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/wijmo.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Wijmo, a mixture of JavaScript, CSS3, SVG, and HTML5, is a complete kit of over 30 UI Widgets. It is an extension to jQuery UI with every widget built to its standards and framework. Each widget is ThemeRoller-ready.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;9. &lt;a href="http://comato.se/flurid/"&gt;Flurid&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/flurid.jpg"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="flurid" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/flurid_thumb.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Flurid is a fluid width grid system optimized for flexibility (fluidity) and is the only fluid grid systems to work in Internet Explorer versions 6 and 7 (and 5, with the exception of the push/pull classes) without hiding pixels in margins.   &lt;br&gt;It comes with a companion jQuery plugin to help make developing with the framework easier. Along with some additional features like equal height columns, the jQuery plugin can also automatically append alternating &amp;quot;odd&amp;quot; and &amp;quot;even&amp;quot; classes to rows and columns and apply the &amp;quot;last&amp;quot; class where needed to fix things for Internet Explorer 7 and below without the need to include these things directly in the HTML.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;10. &lt;a href="http://the-m-project.net/"&gt;The-M-Project&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/Mproject23.jpg"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="M project23" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/Mproject23_thumb.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;write cross platform mobile apps.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;11. &lt;a href="http://treesaverjs.com/"&gt;Treesaver.js&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/newframe_03.jpg"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="newframe_03" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/newframe_03_thumb.jpg" width="627" height="99"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Treesaver is a JavaScript framework for creating magazine-style layouts that dynamically adapt to a wide variety of browsers and devices. With this framework designers use standards-compliant HTML and CSS for both content and design with no JavaScript programming is required.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;12. &lt;a href="http://guryjs.org/"&gt;Gury&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://guryjs.org/"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="Gury" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/Gury.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Gury is a JavaScript library designed to help in the creation of HTML5 and Canvas applications. You can create a canvas tag, resize and style it, add renderable objects, animate those objects, and place it anywhere on the page in a single chained expression.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;13. &lt;a href="http://www.anup.info/2010/09/05/introducing-moomodel/"&gt;MooModel&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.anup.info/2010/09/05/introducing-moomodel/"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="For infinity" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/Forinfinity.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;MooModel is a javascript framework built on top of mootools, to simplify the use of objects and classes in javascript. It comes with an elegant syntax and built in support for object oriented features. Additionally it provides observable attributes, ActiveModel like validations and a REST persistence adapter.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;MooModel makes use of the powerful object oriented features provided by mootools. With the latest introduction of server side mootools, it is possible to use same javascript on your browser and server. The current version of MooModel (0.0.1) is not CommonJS compliant and does not support server side mootools either. However, I am working to release a server edition soon. Follow this article to know more about using mootools as server side javascript.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;14. &lt;a href="http://www.jformer.com/"&gt;jFormer&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.jformer.com/"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="JFormer" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/JFormer.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;jFormer&lt;/strong&gt; is a form framework written on top of jQuery that allows you to quickly generate beautiful, standards compliant forms. Leveraging the latest techniques in web design, jFormer helps you create web forms that:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Validate client-side &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Validate server-side &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Process without changing pages (using AJAX) &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h4&gt;15. &lt;a href="http://www.notjustagrid.com/default.asp"&gt;Not Just A Grid&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/notJustAgrid33.jpg"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="not Just A grid 33" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/notJustAgrid33_thumb.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Not Just a Grid is a flexible and modular CSS framework that is designed to assist in the rapid prototyping and development of websites. It has been designed for the future with larger screen sizes and the use of CSS3 for progressive enhancement and richer user experiences.   &lt;br&gt;Not Just a Grid includes separate stylesheets covering multi-column layouts, typography, forms, tables and user experience enhancement.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;16. &lt;a href="http://galleria.aino.se/"&gt;Galleria&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/galleria.jpg"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="galleria" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/galleria_thumb.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Galleria is a JavaScript image gallery framework built on top of the jQuery library. The aim is to simplify the process of creating professional image galleries for the web and mobile devices.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;17. &lt;a href="http://zeptojs.com/"&gt;Zepto.js (beta) – Minimalist JavaScript Framework for Mobile&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/ZeptoJs.jpg"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="Zepto Js" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/ZeptoJs_thumb.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Zepto.js is a minimalist JavaScript framework for mobile WebKit browsers, with a jQuery-compatible chaining syntax. It will handle the most basic drudge and repetitive work so you can focus on getting the real stuff done.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;18. &lt;a href="http://www.mobl-lang.org/"&gt;Mobl&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/Mobl.jpg"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="Mobl" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/Mobl_thumb.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Mobl is an open-source HTML5-based language designed to speed up your building of mobile web applications. It has fantastic (Eclipse) IDE support (such as as-you-type error reporting, code completion and reference resolving) and has a rapid save and test cycle – No more lengthy compilations, the mobl IDE compiles your modules whenever you save, ready to be tested in the mobile browser.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;19. &lt;a href="http://www.limejs.com/"&gt;LimeJS – Game Framework&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.limejs.com/"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="Lime Js" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/LimeJs.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;LimeJS is a game framework that combines lots of different HTML5 technologies and allows you to build games for mobile and touch-screen devices, but can also be used within modern browsers as applications.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;20. &lt;a href="http://puf.dev7studios.com/"&gt;PUF: PHP Utility Framework&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/PUF.jpg"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="PUF" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/PUF_thumb.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;PUF is a PHP utility framework (that’s what PUF stands for). It’s a comprehensive collection of useful and popular PHP utility functions created to save time for developers that regularly use those functions when building web applications.&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;21. &lt;a href="http://initializr.com/"&gt;Initializr&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/Initializr.jpg"&gt;&lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" border="0" alt="Initializr" src="http://cdn.tripwiremagazine.com/wp-content/uploads/2011/03/Initializr_thumb.jpg" width="627" height="322"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Initializr, based on the &lt;a href="http://html5boilerplate.com/"&gt;HTML5 Boilerplate&lt;/a&gt; template, is an HTML5 templates generator that helps you get started with your HTML5 project. It does that by generating a clean customizable template with just what your project needs.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;p&gt;&lt;img alt="" src="http://0.gravatar.com/avatar/07ae670cc60c6a1a49a10a5392e16986?s=80&amp;amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D80&amp;amp;r=G" height="80" width="80"&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;h4&gt;Author : &lt;a href="http://www.tripwiremagazine.com/?author_name=dustinb"&gt;Dustin Betonio&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;Dustin Betonio is a Translation Management graduate at University of Mindanao. His earlier career was devoted on customer service outside the information highway. Currently studying Law in the same University.&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;Feed provided by &lt;a href="http://www.tripwiremagazine.com"&gt;tripwrire magazine&lt;/a&gt;, Visit this post here: &lt;a href="http://www.tripwiremagazine.com/2011/04/20-mobile-apps-development-frameworks-to-kick-start-your-project.html"&gt;Permalink&lt;/a&gt;  &lt;p&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tripwiremagazine/~4/-il2tqDl9ww" height="1" width="1"&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9118091161166922394-3415065778628136352?l=groomingwebdevelopmentskills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://feedproxy.google.com/~r/tripwiremagazine/~3/-il2tqDl9ww/20-mobile-apps-development-frameworks-to-kick-start-your-project.html' title='20+ Mobile Apps Development Frameworks To Kick-Start Your Project'/><link rel='replies' type='application/atom+xml' href='http://groomingwebdevelopmentskills.blogspot.com/feeds/3415065778628136352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9118091161166922394&amp;postID=3415065778628136352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/3415065778628136352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9118091161166922394/posts/default/3415065778628136352'/><link rel='alternate' type='text/html' href='http://groomingwebdevelopmentskills.blogspot.com/2011/06/20-mobile-apps-development-frameworks.html' title='20+ Mobile Apps Development Frameworks To Kick-Start Your Project'/><author><name>Khalid Mehmood</name><uri>http://www.blogger.com/profile/00369802755102717720</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9118091161166922394.post-3002066399074198803</id><published>2011-06-24T15:07:00.000-07:00</published><updated>2011-06-24T15:07:42.607-07:00</updated><title type='text'>20+ Html5 video Tutorials</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/web3mantra/~3/6wlLsCDee2s/"&gt;20+ Html5 video Tutorials&lt;/a&gt;: "&lt;p&gt;HTML5 are opening new horizons for developers and designers. It has left Flash miles behind. It has revolutionized the way web designers used to design. HTML5 has all those capabilities of designing which were things of fantasy in past. HTML5 is being supported by all those websites who are working to increase their standards. The induction of features like rounded corners and multi columns have made HTML5 a lot better.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Therefore it is essential for every web designer to learn HTML5’s usage in order to get spotlight on there designed web page. It might seem a bit difficult in beginning but once you get started you will get through easily. And with the constant drop in Flash’s usage, I think every designer should learn HTML5…..for this today I have compiled a list of 30+ HTML5 Video tutorials. So what are you waiting for get tutored today!&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;1- Introduction to HTML5 video&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;long time ago, in a galaxy that feels a very long way away, multimedia on the Web was limited to tinkling MIDI tunes and animated GIFs. As bandwidth got faster and compression technologies improved, MP3 music supplanted MIDI and real video began to gain ground. All sorts of proprietary players battled it out — Real Player, Windows Media Player, etc. — until one emerged as the victor in 2005: Adobe Flash. This was largely because of the ubiquity of its plugin and the fact that it was the delivery mechanism of choice for YouTube; Flash has become the de-facto standard for delivering video on the web.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/Introduction-to-html5.jpg" alt="html5 Video Tutorials" width="560" height="430"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://www.html5trends.com/tutorials/comprehensive-video-tutorial-on-html5/"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;2- What is HTML5?&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/What-is-HTML5.jpg" alt="html5 Video Tutorials" width="560" height="400"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://www.youtube.com/watch?v=-PVwnMruoeI"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;3- Html5 Open Video Tutorial&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/Html5-Open-Video-Tutorial.jpg" alt="html5 Video Tutorials" width="560" height="500"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://www.slideshare.net/silviapfeiffer/html5-open-video-tutorial"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;4- Degradable HTML5 audio and video&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/Degradable-HTML5-audio.jpg" alt="html5 Video Tutorials" width="560" height="400"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://soukie.net/degradable-html5-audio-and-video-plugin/"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;5- Paul Irish on HTML5 Boilerplate&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/HTML5-Boilerplate.jpg" alt="html5 Video Tutorials" width="560" height="400"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://www.youtube.com/watch?v=qyM37XKkmKQ"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;6-  An Overview of HTML5&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/Overview-of-HTML5.jpg" alt="html5 Video Tutorials" width="560" height="400"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://www.youtube.com/watch?v=DyA64xRvGHg&amp;amp;feature=related"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;7-  HTML5 or Native for Mobile Development?&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/Mobile-Development.jpg" alt="html5 Video Tutorials" width="560" height="420"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://www.youtube.com/watch?v=pD9qKROLeTg"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;8- How to Make All Browsers Render HTML5 Mark-up Correctly&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/Browsers-Render-HTML5.jpg" alt="html5 Video Tutorials" width="560" height="420"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://net.tutsplus.com/tutorials/html-css-techniques/how-to-make-all-browsers-render-html5-mark-up-correctly-even-ie6/"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;9- HTML5 Media Player&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/HTML5-Media-Player.jpg" alt="html5 Video Tutorials" width="560" height="250"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://www.advection.net/video-tools/html5-player"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;10- Learn About HTML5 and the Future of the Web&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/HTML5-and-the-Future-of-the-Web.jpg" alt="html5 Video Tutorials" width="560" height="340"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://www.youtube.com/watch?v=EdDc7sWjCL4"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;11- HTML5 Features you Should be Using Right Now&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/HTML5-Features.jpg" alt="html5 Video Tutorials" width="560" height="400"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://www.youtube.com/watch?v=HzCkSv3s0-k"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;12- Blowing up HTML5&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/Blowing-up-HTML5.jpg" alt="html5 Video Tutorials" width="560" height="350"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://www.craftymind.com/2010/04/20/blowing-up-html5-video-and-mapping-it-into-3d-space/"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;13- How to incorporate video with HTML5&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/incorporate-video.jpg" alt="html5 Video Tutorials" width="560" height="350"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://answers.oreilly.com/topic/990-how-to-incorporate-video-with-html5/"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;14- Example of OVP for HTML5&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/Example-of-OVP-for-HTML5.jpg" alt="html5 Video Tutorials" width="560" height="350"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://www.akamai.com/HTML5"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;15- How to Build an HTML5&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;This is a tutorial on building an HTML5 video player in Javascript. It’s meant to give you a basic understanding of the different options you have with the new video tag in HTML5, and the javascript needed to create some of the typical video controls you’d find in other players. It’s library agnostic, meaning you don’t need a library like jQuery to create it, however once you understand how everything works it can definitely be simplified/improved on. I’m always open for feedback if you have suggestions.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/How-to-Build-an-HTML5.jpg" alt="html5 Video Tutorials" width="560" height="350"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://blog.steveheffernan.com/2010/04/how-to-build-an-html5-video-player/"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;16- Awesome HTML5 Video Trick&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/Awesome-HTML5-Video.jpg" alt="html5 Video Tutorials" width="560" height="400"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://www.youtube.com/watch?v=zjQzP3mOXdc"&gt;&lt;strong&gt;View Tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;17- Building a Custom HTML5&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;The HTML5  element is already supported by most modern browsers, and even IE has support announced for version 9. There are many advantages of having video embedded natively in the browser (covered in the article Introduction to HTML5 video by Bruce Lawson), so many developers are trying to use it as soon as possible.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://web3mantra.com/wp-content/uploads/2011/06/Building-Custom-HTML5.jpg" alt="html5 Video Tutorials" width="560" height="340"&gt;&lt;br&gt;&lt;br /&gt;&lt;a rel="nofollow" href="http://dev.opera.com/articles/view/custom-html5-video-player-with-css3-and-jquery/"&gt;&lt;strong&gt;
