<?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:blogger='http://schemas.google.com/blogger/2008' 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-206085753573112241</id><updated>2024-10-24T23:55:46.608-07:00</updated><category term=".NET"/><category term="Java"/><category term="JavaScript"/><category term="ASP.NET"/><category term="C++"/><title type='text'>Deep Dive</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-7422521163616745376</id><published>2018-08-22T09:35:00.001-07:00</published><updated>2018-08-22T09:35:32.313-07:00</updated><title type='text'>Temporary Post Used For Theme Detection (6e08cdaf-0d18-4ced-9505-04d453f12999 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)</title><content type='html'>&lt;p&gt;This is a temporary post that was not deleted. Please delete this manually. (26f03cb8-55ae-4146-8f5f-a3b0cb0f9f9e - 3bfe001a-32de-4114-a6b4-4005b770f6d7)&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/7422521163616745376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2018/08/temporary-post-used-for-theme-detection.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/7422521163616745376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/7422521163616745376'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2018/08/temporary-post-used-for-theme-detection.html' title='Temporary Post Used For Theme Detection (6e08cdaf-0d18-4ced-9505-04d453f12999 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-3753286353415507135</id><published>2011-07-17T13:45:00.000-07:00</published><updated>2011-07-17T14:00:56.118-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++ STL - 1</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiko7O2P0j4of4nRapS0qIC7RbgM2ZlT0tw8Ov7p0MIyyTiKwAIWDquDwVrCpbSfK2XCLL-CXEfXWebtmeZGLcA_qkkHU4Wi-pCUhuRrscGpLmmk2Mp-hS5FIIu9f-i9M5leqJ0Ek0GwxMe/s1600/STL-1.jpg&quot;&gt;&lt;img style=&quot;margin: 0px 10px 10px 0px; width: 320px; height: 42px; float: left; cursor: pointer;&quot; id=&quot;BLOGGER_PHOTO_ID_5630426736965690466&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiko7O2P0j4of4nRapS0qIC7RbgM2ZlT0tw8Ov7p0MIyyTiKwAIWDquDwVrCpbSfK2XCLL-CXEfXWebtmeZGLcA_qkkHU4Wi-pCUhuRrscGpLmmk2Mp-hS5FIIu9f-i9M5leqJ0Ek0GwxMe/s320/STL-1.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#include &amp;lt;vector&amp;gt;&lt;br /&gt;#include &amp;lt;list&amp;gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;using namespace std ;&lt;br /&gt;&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;     vector&amp;lt;int&amp;gt; v ;&lt;br /&gt;     v.push_back(10);&lt;br /&gt;     v.push_back(20);&lt;br /&gt;     v.push_back(30);&lt;br /&gt; &lt;br /&gt;     // Using iterator&lt;br /&gt;     vector&amp;ltint&amp;gt;::iterator  i = v.begin() ;&lt;br /&gt;     for ( ; i != v.end() ; i++ ) {&lt;br /&gt;            cout &amp;lt;&amp;lt; *i &amp;lt;&amp;lt; endl ;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     list&lt;int&gt; l ;&lt;br /&gt;     l.push_back(10);&lt;br /&gt;     l.push_back(20);&lt;br /&gt;     l.push_back(30);&lt;br /&gt; &lt;br /&gt;     // Using iterator&lt;br /&gt;     list&amp;lt;int&amp;gt;::iterator  j = v.begin() ;&lt;br /&gt;     for ( ; j != v.end() ; j++ ) {&lt;br /&gt;            cout &amp;lt;&amp;lt; *j &amp;lt;&amp;lt; endl ;&lt;br /&gt;     }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/3753286353415507135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2011/07/c-stl-1.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/3753286353415507135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/3753286353415507135'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2011/07/c-stl-1.html' title='C++ STL - 1'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiko7O2P0j4of4nRapS0qIC7RbgM2ZlT0tw8Ov7p0MIyyTiKwAIWDquDwVrCpbSfK2XCLL-CXEfXWebtmeZGLcA_qkkHU4Wi-pCUhuRrscGpLmmk2Mp-hS5FIIu9f-i9M5leqJ0Ek0GwxMe/s72-c/STL-1.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-2926765971322276241</id><published>2010-11-26T22:21:00.001-08:00</published><updated>2010-11-26T22:26:15.999-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><title type='text'>C# Iterator</title><content type='html'>C# 2.0 has lot of syntactical sugar. One of them is C# iterator that makes the implementation of Iterator design pattern for the custom collection classes extremely easy so that the collection class object can be used with foreach statement. Here is the example:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    public class MyArrayList&lt;br /&gt;    {        &lt;br /&gt;        private int[] arr = new int[3];&lt;br /&gt;&lt;br /&gt;        public MyArrayList()&lt;br /&gt;        {&lt;br /&gt;            arr[0] = 10;&lt;br /&gt;            arr[1] = 20;&lt;br /&gt;            arr[2] = 30;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public IEnumerable&amp;lt;int&amp;gt; GetIterator()&lt;br /&gt;        {&lt;br /&gt;            for (int i = 0; i &lt; arr.Length; i++)&lt;br /&gt;            {&lt;br /&gt;                yield return arr[i];&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            MyArrayList a = new MyArrayList();&lt;br /&gt;            foreach (int item in a.GetIterator())&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine(item);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/2926765971322276241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/11/c-iterator.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/2926765971322276241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/2926765971322276241'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/11/c-iterator.html' title='C# Iterator'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-4652302859081327637</id><published>2010-11-26T05:36:00.000-08:00</published><updated>2010-11-26T05:47:11.029-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><title type='text'>C# foreach demystified</title><content type='html'>&lt;pre&gt;&lt;br /&gt;List&amp;lt;string&amp;gt; cities = new List&amp;lt;string&amp;gt;() ;&lt;br /&gt;cities.Add ( &quot;Bangalore&quot; ) ;&lt;br /&gt;cities.Add ( &quot;Mumbai&quot; ) ;&lt;br /&gt;cities.Add ( &quot;Hyderabad&quot; ) ;&lt;br /&gt;cities.Add ( &quot;Nagpur&quot; ) ;&lt;br /&gt;&lt;br /&gt;foreach ( string city in cities )&lt;br /&gt;{&lt;br /&gt;       Console.WriteLine ( city ) ;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;C# compiler compiles the foreach to the following code:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;IEnumberable&amp;lt;string&amp;gt; en = cities ;&lt;br /&gt;IEnumerator&amp;lt;string&amp;gt; et = en.GeEnumerator( ) ;&lt;br /&gt;while ( et.MoveNext( ) )&lt;br /&gt;{&lt;br /&gt;     string city = et.Current ;&lt;br /&gt;     Console.WriteLine ( city ) ;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/4652302859081327637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/11/c-foreach-demystified.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/4652302859081327637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/4652302859081327637'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/11/c-foreach-demystified.html' title='C# foreach demystified'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-2387815349347332224</id><published>2010-11-19T21:54:00.000-08:00</published><updated>2010-11-22T04:36:51.397-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><title type='text'>Code Access Security in .NET</title><content type='html'>When we run an unmanaged application in Windows, the code gets all the privileges our user account has. If we accidently run a virus or a trojan horse, the application can do anything our user account has permissions to do. So we are forced to log on with minimal privileges to restrict application permissions.&lt;br /&gt;&lt;br /&gt;Code Access Security (CAS) in .NET Framework enables us to control the permissions that individual managed applications have. If a friend sends a .NET framework application, we can restrict it to opening a window and prompting us to open and save files and nothing else. The application would not be able to send emails, upload files to a Web Site, or create files, even if we are logged on as an Administrator. CAS enables user to restrict on a very granular level what managed code can do. &lt;br /&gt;&lt;br /&gt;As a developer, we must understand how to create applications that work even when some permissions are restricted. We can also use CAS to improve our application&#39;s security by restricting which callers can use our code and forcibly limiting our application to a restricted permission set.</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/2387815349347332224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/11/code-access-security-in-net.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/2387815349347332224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/2387815349347332224'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/11/code-access-security-in-net.html' title='Code Access Security in .NET'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-2046504208060864738</id><published>2010-03-24T03:17:00.000-07:00</published><updated>2010-03-24T03:30:29.693-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><title type='text'>Twitter Client in .NET</title><content type='html'>&lt;pre&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Net;&lt;br /&gt;using System.Xml.Linq;&lt;br /&gt;&lt;br /&gt;namespace TwitterClient&lt;br /&gt;{&lt;br /&gt;    class Tweet&lt;br /&gt;    {&lt;br /&gt;        public string CreatedAt { get; set; }&lt;br /&gt;        public string Text { get; set; }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            WebClient client = new WebClient();&lt;br /&gt;            string xml = client.DownloadString(&quot;http://www.twitter.com/statuses/user_timeline.xml?id=shakeel_ali&quot;);&lt;br /&gt;&lt;br /&gt;            XElement document = XElement.Parse(xml);&lt;br /&gt;            string nm = document.GetDefaultNamespace().NamespaceName;&lt;br /&gt;&lt;br /&gt;            Tweet[] tweets = (from item in document.DescendantsAndSelf(XName.Get(&quot;status&quot;, nm))&lt;br /&gt;                                     select new Tweet()&lt;br /&gt;                                     {&lt;br /&gt;                                         CreatedAt = item.Element(XName.Get(&quot;created_at&quot;, nm)).Value,&lt;br /&gt;                                         Text = item.Element(XName.Get(&quot;text&quot;, nm)).Value,&lt;br /&gt;                                     }).ToArray();&lt;br /&gt;&lt;br /&gt;            foreach (var tweet in tweets)&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine(tweet.CreatedAt);&lt;br /&gt;                Console.WriteLine();&lt;br /&gt;                Console.WriteLine(tweet.Text);&lt;br /&gt;                Console.WriteLine(&quot;----------------------------&quot;);&lt;br /&gt;                Console.WriteLine();&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/2046504208060864738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/03/twitter-client-in-net.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/2046504208060864738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/2046504208060864738'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/03/twitter-client-in-net.html' title='Twitter Client in .NET'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-8511124158271600633</id><published>2010-03-15T09:20:00.000-07:00</published><updated>2010-03-15T10:01:27.379-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><title type='text'>How many .NET frameworks are there?</title><content type='html'>&lt;b&gt;1. Microsoft .NET Framework:&lt;/b&gt; For building Desktop Applications, Web Applications, and Distributed Applications. (Linux version: Mono Runtime)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Microsoft .NET Compact Framework:&lt;/b&gt; Mobile or Embedded Applications.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Microsoft .NET Micro Framework:&lt;/b&gt; For  smaller, less expensive, and more resource-constrained devices requiring only a few hundred kilobytes of RAM and an inexpensive processor.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. Microsoft Silverlight:&lt;/b&gt; For building Rich Internet Applications that runs inside the borwsers&#39; sandbox. (Linux version: Moonlight)</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/8511124158271600633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/03/how-many-net-frameworks-are-there.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/8511124158271600633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/8511124158271600633'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/03/how-many-net-frameworks-are-there.html' title='How many .NET frameworks are there?'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-1621423410403757059</id><published>2010-03-15T09:08:00.001-07:00</published><updated>2010-03-15T09:32:21.591-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Difference between Web Server and Application Server</title><content type='html'>&lt;b&gt;Web Server:&lt;/b&gt; Handles HTTP protocol, Handles Web Sites, Provides HTTP security features, Caching, etc. related to HTTP requests.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Application Server:&lt;/b&gt; Provides Object Pooling, Distributed Transaction, Message Queuing, Events, Remote Access, etc. services required by business applications running as distributed systems on intranet or internet.</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/1621423410403757059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/03/difference-between-web-service-and.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/1621423410403757059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/1621423410403757059'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/03/difference-between-web-service-and.html' title='Difference between Web Server and Application Server'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-4169367921904597624</id><published>2010-03-14T22:00:00.000-07:00</published><updated>2010-03-15T01:25:40.640-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>AJAX</title><content type='html'>Asynchronous JavaScript + XML, while not a technology in itself, is a term coined in 2005 by Jesse James Garrett, that describes a &quot;new&quot; approach to using a number of existing technologies together, including: HTML or XHTML, Cascading Style Sheets, JavaScript, The Document Object Model, XML, XSLT, JSON and the XMLHttpRequest object. When these technologies are combined in the AJAX model, web applications are able to make quick, incremental updates to the user interface without reloading the entire browser page. This makes the application faster and more responsive to user actions. &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.adaptivepath.com/ideas/essays/archives/000385.php&quot;&gt;&lt;h3&gt;You can read more here...&lt;/h3&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/4169367921904597624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/03/ajax.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/4169367921904597624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/4169367921904597624'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/03/ajax.html' title='AJAX'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-5569934181996784298</id><published>2010-03-14T21:42:00.000-07:00</published><updated>2010-03-15T01:21:33.102-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>A nice introduction to JavaScript</title><content type='html'>&lt;a href=&quot;https://developer.mozilla.org/en/A_re-introduction_to_JavaScript&quot;&gt;&lt;h3&gt;An Introduction to JavaScript&lt;/h3&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/5569934181996784298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/03/nice-introduction-to-javascript.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/5569934181996784298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/5569934181996784298'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/03/nice-introduction-to-javascript.html' title='A nice introduction to JavaScript'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-6592911388321709074</id><published>2010-03-14T21:33:00.000-07:00</published><updated>2010-03-15T01:21:44.923-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Want to learn Java on your own?</title><content type='html'>Go for &lt;a href=&quot;http://www.mindview.net/Books/TIJ/&quot;&gt;&lt;h3&gt;Thinking in Java&lt;/h3&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/6592911388321709074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/03/want-to-learn-java-on-your-own.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/6592911388321709074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/6592911388321709074'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/03/want-to-learn-java-on-your-own.html' title='Want to learn Java on your own?'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-1728126758864626084</id><published>2010-03-14T10:29:00.001-07:00</published><updated>2010-03-14T10:40:36.538-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>When to use an interface?</title><content type='html'>Interface is used to create an abstraction. Abstraction is used to develop a code that is independent of the code that is calls to. &lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;interface ISorting {&lt;br /&gt; void sort() ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class Caller {&lt;br /&gt; static void makeCall ( ISorting s ) {&lt;br /&gt;  s.sort() ; &lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Here the Caller class makeCall() method uses an abstraction named ISorting to call the sort() method. ISorting doesn&#39;t implement any sorting logic in its sort() method. Still the compiler compiles this code. But the compiler compiles it as late-bound call. The call is resolved at runtime depending upon the reference of the object received in s. The object reference must be of the class that implements that abstraction. Such a class is called implementation.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class MergeSort implements ISorting {&lt;br /&gt; public void sort() {&lt;br /&gt;  // Merge sort implementation&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;class BubbleSort implements ISorting {&lt;br /&gt; public void sort() {&lt;br /&gt;  // Bubble sort implementation&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class Program {&lt;br /&gt; static void main ( String[] args ) {&lt;br /&gt;  // Here sort() method of the MergeSort class will be called by Caller.makeCall().&lt;br /&gt;  Caller.makeCall ( new MergeSort() ) ; &lt;br /&gt;  // Here sort() method of the BubbleSort class will be called by Caller.makrCall().&lt;br /&gt;  Caller.makeCall ( new BubbleSort() ) ; &lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;With the help of abstract the Caller.makeCall() can call into different implementation at runtime as it does&#39;nt depend on implemenation at compile time. This way Caller.makeCall() can be extended by adding new implementation.</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/1728126758864626084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/03/when-to-user-interface.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/1728126758864626084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/1728126758864626084'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/03/when-to-user-interface.html' title='When to use an interface?'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-6458552254870639586</id><published>2010-03-14T07:42:00.000-07:00</published><updated>2010-03-14T07:44:27.786-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><title type='text'>Why no Extension Properties?</title><content type='html'>&lt;a href=&quot;http://blogs.msdn.com/ericlippert/archive/2009/10/05/why-no-extension-properties.aspx&quot;&gt;Why no Extension Properties?&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/6458552254870639586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/03/why-no-extension-properties.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/6458552254870639586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/6458552254870639586'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/03/why-no-extension-properties.html' title='Why no Extension Properties?'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-3319130476093440073</id><published>2010-03-12T23:54:00.000-08:00</published><updated>2010-03-13T00:33:12.839-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Difference between Nested Class and Inner Class in Java</title><content type='html'>- A non-static class within another class is called Inner class.&lt;br /&gt;- A static class within another class is called Nested class or static Inner class.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class Outer {&lt;br /&gt; class Inner {&lt;br /&gt; } &lt;br /&gt; static class Nested { &lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;- Inner class object must be created using Outer class object.&lt;br /&gt;- Nested class object is created without using Outer class object.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class Program {&lt;br /&gt; public static void main( String[] args ) {&lt;br /&gt;  Outer o = new Outer() ;&lt;br /&gt;&lt;br /&gt;  Outer.Inner i = o.new Inner() ;&lt;br /&gt;&lt;br /&gt;  Outer.Nested n = new Outer.Nested() ;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;- Inner class object holds the reference of Outer class object that has created it.&lt;br /&gt;- Nested class object do not hold reference of Outer class object, unless explicitly passed and stored.&lt;br /&gt;&lt;br /&gt;- Hence Inner class object can access instance data members and methods of its own as well as of the Outer class object&#39;s whose reference it holds.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class Outer {&lt;br /&gt; int x ;&lt;br /&gt; Outer ( int x ) {&lt;br /&gt;  this.x = x ;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; class Inner {&lt;br /&gt;  int y ;&lt;br /&gt;  Inner ( int y ) {&lt;br /&gt;  this.y = y ;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; void print() {&lt;br /&gt;  System.out.println ( x + &quot; &quot; + y );&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; static class Nested { &lt;br /&gt;  int z ;&lt;br /&gt;&lt;br /&gt;  Nested ( int z ) {&lt;br /&gt;   this.z = z ;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  void print() {&lt;br /&gt;   System.out.println ( z );&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public class Program {&lt;br /&gt; public static void main( String[] args ) {&lt;br /&gt;  Outer o = new Outer(10) ;&lt;br /&gt;&lt;br /&gt;  Outer.Inner i = o.new Inner(20) ;&lt;br /&gt;  i.print() ; // Output: 10 20&lt;br /&gt;&lt;br /&gt;  Outer.Nested n = new Outer.Nested(30) ;&lt;br /&gt;  n.print() ; // Output: 30&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/3319130476093440073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/03/difference-between-nested-class-and.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/3319130476093440073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/3319130476093440073'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/03/difference-between-nested-class-and.html' title='Difference between Nested Class and Inner Class in Java'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-4450163271125995997</id><published>2010-03-12T23:02:00.000-08:00</published><updated>2010-03-12T23:50:34.310-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Implementation of Stack Data Structure in Java</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;b&gt;// Stack.java&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;package com.leadows.datastructure ;&lt;br /&gt;&lt;br /&gt;// Stack is a generic class so that it can hold any type of object&lt;br /&gt;public class Stack&amp;lt;T&amp;gt; {&lt;br /&gt; // array reference&lt;br /&gt; private T[] arr ; &lt;br /&gt;&lt;br /&gt; // top to keep track of last element&lt;br /&gt; private int top = -1 ; &lt;br /&gt;&lt;br /&gt; public Stack(int size) {&lt;br /&gt;  // creates array&lt;br /&gt;  arr = new T[size] ; &lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void push(T item) throws Exception {&lt;br /&gt;  // bounds check&lt;br /&gt;  if ( top &lt; arr.Length-1 ) { &lt;br /&gt;   // store the item&lt;br /&gt;   arr[++top] = item ; &lt;br /&gt;  } else {&lt;br /&gt;   throw new Exception(&quot;Stack is Full&quot; ) ;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public T pop()  throws Exception {&lt;br /&gt;  // bounds check&lt;br /&gt;  if ( top &gt; -1 ) { &lt;br /&gt;   // return the value&lt;br /&gt;   return arr[top--] ; &lt;br /&gt;  } else {&lt;br /&gt;   throw new Exception(&quot;Stack is Empty&quot; ) ;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public int getTop() {&lt;br /&gt;  return top ;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Program.java&lt;br /&gt;&lt;br /&gt;import com.leadows.datastructure.* ;&lt;br /&gt;&lt;br /&gt;public class Program {&lt;br /&gt; public static void main ( String[] args ) {&lt;br /&gt;  // create stack object&lt;br /&gt;  Stack&amp;lt;int&amp;gt; s = new Stack&amp;lt;int&amp;gt;() ; &lt;br /&gt;  s.push ( 100 ) ;  &lt;br /&gt;  s.push ( 200 ) ;  &lt;br /&gt;  s.push ( 300 ) ;  &lt;br /&gt;  System.out.println ( s.pop() ) ;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/4450163271125995997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/03/implement-stack-data-structure-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/4450163271125995997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/4450163271125995997'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/03/implement-stack-data-structure-in-java.html' title='Implementation of Stack Data Structure in Java'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-3582181634497243465</id><published>2010-03-12T00:08:00.000-08:00</published><updated>2010-03-12T00:26:05.249-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><title type='text'>Processor Count and Debugging Parallel Applications</title><content type='html'>CPU frequencies will no longer increase, instead more processors or cores will be available on our machines to conserver power and increase processing scalability. Hence modern development requires the use of parallelism. There is no longer any excuses for us as developers. For .NET developers, this is an exciting time for parallel programming. The. NET Framework 4 has added the &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd460717(VS.100).aspx&quot;&gt;Task Parallel Library&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;FAQs&lt;br /&gt;&lt;br /&gt;Q. How to get processor count?&lt;br /&gt;A. Environment.ProcessorCount&lt;br /&gt;&lt;br /&gt;Q. How to debug Parallel Applications?&lt;br /&gt;A. &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd554943(VS.100).aspx&quot;&gt;Debugging Parallel Applications&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/3582181634497243465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/03/processor-count-and-debugging-parallel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/3582181634497243465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/3582181634497243465'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/03/processor-count-and-debugging-parallel.html' title='Processor Count and Debugging Parallel Applications'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-7604932221848217163</id><published>2010-03-11T05:55:00.000-08:00</published><updated>2010-03-11T06:02:57.125-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><title type='text'>Web Form Data Visualization and Security</title><content type='html'>&lt;a href=&quot;http://www.asp.net/learn/data-access/&quot;&gt;Data Access Tutorials&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.asp.net/Learn/Security/&quot;&gt;Security Tutorials&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/7604932221848217163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2010/03/web-form-data-visualization-and.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/7604932221848217163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/7604932221848217163'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2010/03/web-form-data-visualization-and.html' title='Web Form Data Visualization and Security'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-2497944480863122995</id><published>2009-08-24T09:35:00.000-07:00</published><updated>2009-08-29T09:22:45.494-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><title type='text'>ASP.NET: Web Site Project vs. Web Application Project</title><content type='html'>Following are the 2 great posts to understand the differences between the Web Site Project and&lt;br /&gt;Web Application project in Visual Studio 2005 or 2008:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://vishaljoshi.blogspot.com/2009/08/web-application-project-vs-web-site.html&quot;&gt;http://vishaljoshi.blogspot.com/2009/08/web-application-project-vs-web-site.html&lt;/a&gt; &lt;br /&gt;&lt;a href=&quot;http://vishaljoshi.blogspot.com/2009/07/appcode-folder-doesnt-work-with-web.html&quot;&gt;http://vishaljoshi.blogspot.com/2009/07/appcode-folder-doesnt-work-with-web.html&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/2497944480863122995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2009/08/aspnet-web-site-project-vs-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/2497944480863122995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/2497944480863122995'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2009/08/aspnet-web-site-project-vs-web.html' title='ASP.NET: Web Site Project vs. Web Application Project'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-1415177221419063100</id><published>2009-05-06T09:20:00.000-07:00</published><updated>2009-05-06T09:21:45.708-07:00</updated><title type='text'>.NET: Learn to develop a mini web server</title><content type='html'>The ASP.NET Cassini Web Server Sample is a sample web server written using the Microsoft .NET Framework, and demonstrates hosting ASP.NET using the ASP.NET hosting APIs (System.Web.Hosting). Goog for Cassini web server source code.</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/1415177221419063100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2009/05/net-learn-to-develop-mini-web-server.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/1415177221419063100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/1415177221419063100'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2009/05/net-learn-to-develop-mini-web-server.html' title='.NET: Learn to develop a mini web server'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-8318764014176029683</id><published>2009-05-01T03:07:00.000-07:00</published><updated>2009-05-01T03:10:59.359-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><title type='text'>.NET: References are not Addresses (Pointers)</title><content type='html'>Read the following post to understand what does references mean in .NET:&lt;br /&gt;&lt;a href=&quot;http://blogs.msdn.com/ericlippert/archive/2009/02/17/references-are-not-addresses.aspx&quot;&gt;http://blogs.msdn.com/ericlippert/archive/2009/02/17/references-are-not-addresses.aspx&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/8318764014176029683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2009/05/net-references-are-not-addresses.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/8318764014176029683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/8318764014176029683'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2009/05/net-references-are-not-addresses.html' title='.NET: References are not Addresses (Pointers)'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-7005577217044630878</id><published>2009-04-08T18:16:00.001-07:00</published><updated>2009-04-08T18:54:37.659-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>JavaScript: Namespace, Class, Object</title><content type='html'>In JavaScript, you can create Namespaces, Classes, Instance Data Members, Instance Methods and Objects. But the way to create is very different than in languages like C++, Java and C#. Here is the C# class,&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style=&quot;color:#0000FF;&quot;&gt;&lt;br /&gt;class Point2D&lt;br /&gt;{&lt;br /&gt;        // Instance Fields&lt;br /&gt; private int _x, _y ;&lt;br /&gt;&lt;br /&gt;        // Instance Methods&lt;br /&gt; public Point2D ( int x, int y )&lt;br /&gt; {&lt;br /&gt;  _x = x ;&lt;br /&gt;  _y = y ;&lt;br /&gt; }&lt;br /&gt; public int X&lt;br /&gt; {&lt;br /&gt;  get { return _x ; }&lt;br /&gt;  set { _x = value ; }&lt;br /&gt; }&lt;br /&gt; public int Y&lt;br /&gt; {&lt;br /&gt;  get { return _y ; }&lt;br /&gt;  set { _y = value ; }&lt;br /&gt; }&lt;br /&gt; public void Offset ( int ox, int oy )&lt;br /&gt; {&lt;br /&gt;  _x += ox ; &lt;br /&gt;  _y += oy ; &lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Create Object&lt;br /&gt;Point2D p = new Point2D() ;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here is the equivalent JavaScript class,&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style=&quot;color:#0000FF;&quot;&gt;&lt;br /&gt;// Create Namespace&lt;br /&gt;var GUI = { } ;&lt;br /&gt;&lt;br /&gt;// Class and Constructor&lt;br /&gt;GUI.Point2D = function( int x, int y ) {&lt;br /&gt;        // Instance Fields or Data Members&lt;br /&gt; this._x = x ;&lt;br /&gt; this._y = y ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Instance Methods&lt;br /&gt;GUI.Point2D.prototype = {&lt;br /&gt; getX : function() {&lt;br /&gt;  return this._x ;&lt;br /&gt; },&lt;br /&gt;&lt;br /&gt; setX : function(x) {&lt;br /&gt;  this._x = x ;&lt;br /&gt; },&lt;br /&gt;&lt;br /&gt; getY : function() {&lt;br /&gt;  return this._y ;&lt;br /&gt; },&lt;br /&gt;&lt;br /&gt; setY : function(y) {&lt;br /&gt;  this._y = y ;&lt;br /&gt; },&lt;br /&gt;&lt;br /&gt; offset : function(ox, oy) {&lt;br /&gt;  this._x += ox ;&lt;br /&gt;  this._y += oy ;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Create Object&lt;br /&gt;var p = new GUI.Point2D() ;&lt;/span&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/7005577217044630878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2009/04/javascript-namespace-class-object.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/7005577217044630878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/7005577217044630878'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2009/04/javascript-namespace-class-object.html' title='JavaScript: Namespace, Class, Object'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-979307737543114821</id><published>2009-03-31T18:21:00.000-07:00</published><updated>2010-03-11T14:39:36.241-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>C++: Good Book</title><content type='html'>The effective presentation, along with dozens of helpful code examples, make this book a standout.&lt;br /&gt;&lt;a href=&quot;http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html&quot;&gt;Thinking in C++ by Bruce Eckel&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/979307737543114821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2009/03/good-c-book.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/979307737543114821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/979307737543114821'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2009/03/good-c-book.html' title='C++: Good Book'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-206085753573112241.post-1411562226080268926</id><published>2009-03-31T17:47:00.000-07:00</published><updated>2012-01-17T21:31:16.839-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>JavaScipt: Object-oriented Programming</title><content type='html'>In year 2002, I wrote substantial amount of JavaScript code for a web site. The JavaScript expert in our team reviewed the code and didn&#39;t accept it just because  was not object oriented. I was under impression that JavaScript is a non-OO language as there is no concept of class, inheritance and polymorphism in JavaScript. Even no JavaScipt book mentioned these concepts. If you want to learn object-oriented JavaScript to develop maintainable JavaScript and AJAX applications, here is the link...&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/magazine/cc163419.aspx&quot;&gt;OO JavScript&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://shakeelali.blogspot.com/feeds/1411562226080268926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shakeelali.blogspot.com/2009/03/object-oriented-programming-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/1411562226080268926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/206085753573112241/posts/default/1411562226080268926'/><link rel='alternate' type='text/html' href='http://shakeelali.blogspot.com/2009/03/object-oriented-programming-with.html' title='JavaScipt: Object-oriented Programming'/><author><name>Shakeel Ali</name><uri>http://www.blogger.com/profile/12178266492193444108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>