<?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-11780653</id><updated>2011-11-17T17:50:54.693-08:00</updated><title type='text'>NutsAndBolts</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11780653.post-114805947047472516</id><published>2006-05-19T10:22:00.001-07:00</published><updated>2007-04-02T06:25:44.636-07:00</updated><title type='text'>Moving My Blog</title><content type='html'>I've moved to &lt;a href="http://www.geekswithblogs.com/rajiv"&gt;http://www.geekswithblogs.com/rajiv&lt;/a&gt; - this blog exists purely for my own refrence now - all new entires will be posted at the new blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-114805947047472516?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.geekswithblogs.com/rajiv' title='Moving My Blog'/><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/114805947047472516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=114805947047472516&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/114805947047472516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/114805947047472516'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2006/05/moving-my-blog_19.html' title='Moving My Blog'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-113584029005558201</id><published>2005-12-28T23:01:00.000-08:00</published><updated>2006-04-21T01:07:34.400-07:00</updated><title type='text'>Sharepoint and Email... Am I Missing Something?</title><content type='html'>Well, It's been quite some time since we went on a 'considerable' sized Sharepoint implementations and honestly speaking I do feel Sharepoint is a GREAT tool when it comes to collaborating within project teams. &lt;br /&gt;&lt;br /&gt;One of the BIGGEST limitations I've had to work around however is the inability to send automated emails to users. Alerts though present are very different; because a user needs to sign up for his own alerts and manage them himself. On the other hand forced emails sent to the person in the "Assigned To" column is only a function of the issue list and as far as I realized most of this code is in Camel and not open source so it's pretty ugly to use an issue list for all scenarios just to utilize this email feature.&lt;br /&gt;&lt;br /&gt;We've been working around this using multiple approaches - some of which are:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Have JavaScript functions which are invoked on certain events firing - these functions just link using "mailto://" protocol and works like a charm for basic emails. &lt;/li&gt;&lt;br /&gt;&lt;li&gt; Another idea I had was to have a ASP.NET component that uses Mail APIs to send mail. This could be invoked by web parts and parameters could be passed to it using query string. To generate Meeting Request the component could generate ICS files and then send them to the users. &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Any better ideas or approaches, Anyone? Am I missing something here? Does Sharepoint have any out of the box solutions for emails when a list (which is NOT an issue list) is updated?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-113584029005558201?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/113584029005558201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=113584029005558201&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/113584029005558201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/113584029005558201'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/12/sharepoint-and-email-am-i-missing.html' title='Sharepoint and Email... Am I Missing Something?'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11780653.post-113216808362918170</id><published>2005-11-16T11:04:00.000-08:00</published><updated>2005-11-16T11:08:10.546-08:00</updated><title type='text'>Cool File Functions in .NET 2.0</title><content type='html'>For A Recent Project I had to extract BLOBS stored in DB and write them in the file system. Turns out, there is a cool file system function which just lets you write an entire byte array to disk!!&lt;br /&gt;&lt;br /&gt;byte[] bFile = new byte[filesize];&lt;br /&gt;bFile = (byte[])ds.Tables[0].Rows[nCounter]["FILE_DATA"];&lt;br /&gt;System.IO.File.WriteAllBytes(fileURL, bFile);&lt;br /&gt;&lt;br /&gt;The WriteAllBytes is an out of the box function that just takes the file path and name along with the byte arrary and just creates the file for you IF the directories specified in the path exist. Cool huh?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-113216808362918170?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/113216808362918170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=113216808362918170&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/113216808362918170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/113216808362918170'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/11/cool-file-functions-in-net-20.html' title='Cool File Functions in .NET 2.0'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-113094923015822534</id><published>2005-11-02T07:58:00.000-08:00</published><updated>2005-11-02T09:22:37.276-08:00</updated><title type='text'>Thinking About Generics</title><content type='html'>A comment on my post on generics had me thinking - the question was simple - So, are generics just custom lists or are there any more uses I can think of? I thought it would be good to pause a little and think on what generics are to answer this question. Here's what i think (I am no expert on generics though:) )&lt;br /&gt;Basically, Generics are a nice way of creating flexible data structures or type safe classes. The basic idea is that we implement the class that providers service in a 'generic' way. A Crude example... Public Class People &amp;lt;T&amp;gt; ... considering that &amp;lt;T&amp;gt; could be a student, friend, relative.... Now we can basically have the methods within the People class essentially work for students, friends and relatives as long they use algorithms with depend on common attributes of all these objects. Possibilities? Unlimited. All arguments are welcome :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-113094923015822534?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/113094923015822534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=113094923015822534&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/113094923015822534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/113094923015822534'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/11/thinking-about-generics.html' title='Thinking About Generics'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11780653.post-112658047280427252</id><published>2005-09-12T19:57:00.000-07:00</published><updated>2006-08-18T13:16:42.040-07:00</updated><title type='text'>Using XmlTextReader to read XML from Text Variables</title><content type='html'>For those who have used the .NET XMLTextReader - they will be well aware that is lets you load the xml file and then read through the nodes and attributes. Recently I faced a painfull situation when my XML was in a plain simple sting variable instead of a file. I though of loading it into a Stream and passing it to the XMLTextReader and a 100 other crappy solutions till this one looked most elegant and worked!&lt;br /&gt;&lt;br /&gt;ds.ReadXml(new XmlTextReader(new StringReader(myStringWithXml))); &lt;br /&gt;[Where ds is the instance of my XMLTextReader] &lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/group/microsoft.public.dotnet.framework.compactframework/browse_frm/thread/89aa884830382ee0/dca5b6ea363b6feb?lnk=st&amp;q=XmlTextReader+load+string+variable&amp;rnum=1&amp;hl=en#dca5b6ea363b6feb" target="_blank"&gt; This User Group &lt;/a&gt; provides more information&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-112658047280427252?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/112658047280427252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=112658047280427252&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/112658047280427252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/112658047280427252'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/09/using-xmltextreader-to-read-xml-from.html' title='Using XmlTextReader to read XML from Text Variables'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-112650483030344628</id><published>2005-09-11T22:36:00.000-07:00</published><updated>2005-09-11T23:00:30.310-07:00</updated><title type='text'>Exciting Times…</title><content type='html'>Besides having to spend a lot of time in J2EE / XSL projects lately… I’ve been coding away on an open source .NET project (during my late nights) for the past few days just to make sure I don’t miss out the Exiting Beta 2 Learning Times of the .NET world!&lt;br /&gt;&lt;br /&gt;Beta 2 has been a Dream come true for me all the way! In fact the entire .NET world seems to be maturing so VERY fast! A couple of days ago I went hunting for OR (object Relational) frameworks in .NET and to my surprise I found over 10 of them to choose from! I settled for nHibernate (I understand Microsoft is developing ObjectSpaces whose’ release has been delayed till Long Horn release).&lt;br /&gt;&lt;br /&gt;As I coded away I faced a few problems e.g. converting nHibernate classical lists to Generics. Again to my surprise I found quite a few articles in news groups where people had already tired similar things and had ideas on how to achieve this. I posted my questions and by the next day I had an answer from a MVP in my inbox! The guy is now helping me review my code and hopefully will come up with few more suggestions and enhancements.&lt;br /&gt;&lt;br /&gt;What really excites me is not just features in Visual Studio 2005 (yes, Generics, Auto Generations of class diagrams and their auto update features, Refactoring, Code Snippets, Templates are AMAZING features) but what is really exiting about this times is the people who are getting involved in the Microsoft World!&lt;br /&gt;&lt;br /&gt;There are TONS of REALLY SMART guys writting open source frameworks like nHibernate... There are authors who reply to you! MVPs who go out of their way to answer your questions and articles out there that teach you everything without a dime!  These are REALLY exciting times.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-112650483030344628?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/112650483030344628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=112650483030344628&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/112650483030344628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/112650483030344628'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/09/exciting-times.html' title='Exciting Times…'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-112080965017568173</id><published>2005-07-08T00:56:00.000-07:00</published><updated>2005-07-08T01:00:50.176-07:00</updated><title type='text'>Some more 'HOT' features of studio 2005</title><content type='html'>The Beta has been driving me nuts! it's a dream come true for any Developer. Here are some more really HOT features to watch out for:&lt;br /&gt;- Code Snippets - Sleek and smart!!! The way the snippets are inserted is cool but what really blew me off was the way varaible names changed when i changed specific part of the pre-insterted template!&lt;br /&gt;- Refactoring - Some mind blowing features here. What i like most if i no longer need to type the same lame code to create properties.&lt;br /&gt;- Partial Classes - Sleek and neat organization of code. Now two of us could be working on the same class at the same time but still stay on seperate files without worrying about screwing up each others work. The only thing that made me knit a brow slightly was the fact that i had to declare all my fields in a single file or else studio kept firing a warning. hmmm... must be some reason behind it i cant catch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-112080965017568173?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/112080965017568173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=112080965017568173&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/112080965017568173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/112080965017568173'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/07/some-more-hot-features-of-studio-2005.html' title='Some more &apos;HOT&apos; features of studio 2005'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-112080922531627785</id><published>2005-07-08T00:45:00.000-07:00</published><updated>2005-07-08T00:55:16.096-07:00</updated><title type='text'>Custom Classes are NOT Value Types...</title><content type='html'>This is for all the confusion that is often caused due to a commonly made mistake all of us make at some point of time - Classes are NOT Value types! In other words when you assign an object of a class to a variable you are assigning a reference and not a 'copy' of the value! So, basically a change in either one of the objects now reflects in both. Followin Code snippet illustrates:&lt;br /&gt;&lt;br /&gt;Employee rajivpopat = new Employee();&lt;br /&gt;   rajivpopat.EmployeeName = "rajivpopat";&lt;br /&gt;   rajivpopat.EmployeeDOB = System.Convert.ToDateTime("11/24/1981");&lt;br /&gt;   rajivpopat.AdditionalContactDetails = "AdditionalDetails";&lt;br /&gt;&lt;br /&gt;   Employee chetanpopat = rajivpopat;&lt;br /&gt;   chetanpopat.EmployeeName = "chetanpopat";&lt;br /&gt;   MessageBox.Show(rajivpopat.EmployeeName);&lt;br /&gt;This shows and output "chetanpopat" - because change of chetanpopat.EmployeeName = "rajivpopat" has changed the vallue that rajivpopat.EmployeeName was referencing!!!&lt;br /&gt;&lt;br /&gt;Structs however, work with a different concept and are Value Types! The Same code would return "rajivpopat" if Employee was defined as a struct! You'll not be able to initialize values of fields in struct and they will all be initialized by default value!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-112080922531627785?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/112080922531627785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=112080922531627785&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/112080922531627785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/112080922531627785'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/07/custom-classes-are-not-value-types.html' title='Custom Classes are NOT Value Types...'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111951661811319820</id><published>2005-06-23T01:49:00.000-07:00</published><updated>2005-11-02T10:49:10.773-08:00</updated><title type='text'>Generics in Visual Studio.NET 2005</title><content type='html'>Features Of Visual Studio 2005.NET Beta 2:&lt;br /&gt;Struck by the sheer amount of time some of us have wasted by not playing around with Visual Studio.NET 2005!!! For the next few days I'll be publishing all new features of Visual Studio.NET 2005 as I play around with them. After installing Visual Studio.NET 2005 (and NOT being able to install MSDN Locally!) Generic Classes was the first thing I could lay my eyes on. I quickly wanted to write up a Generic Class and understand what I can and cannot do with them! The Below code snippet attempts to describe:&lt;br /&gt;When Would I use Generic Classes?&lt;br /&gt;From what I gathered I Would use Generics when I want a Type to accept any Generic Type and perform action on it! This requires some code to explain (the MSDN Code of Linked List implementation was slightly complicated):&lt;br /&gt;&lt;p style= "margin-top: 0; margin-bottom: 0"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;// Takes Any Generic Class.&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;typeparam name=&amp;quot;T&amp;quot;&amp;gt;&amp;lt;/typeparam&amp;gt;&lt;br /&gt;public class CurrentObject&amp;lt;T&amp;gt;&lt;br /&gt;{&lt;br /&gt;private T data;&lt;br /&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// return the added object of the class to the calling program.&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;public T returnObject()&lt;br /&gt;{&lt;br /&gt;return data;&lt;br /&gt;}&lt;br /&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// Allows addition of object of that Generic class&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name=&amp;quot;objectData&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;public void AddObject(T objectData)&lt;br /&gt;{&lt;br /&gt;data = objectData;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&amp;nbsp;&lt;/p&gt; The first thing we do in the above snippet is Create a class called CurrentObject which can accept any Generic Class as  a parameter. Once we have accepted a type we create an object of the type accepted in the first line of the class.&lt;br /&gt;We now introduce two new methods returnObject and AddObject. AddObject allows me to pass an object of the class I declared earlier. Once we have the object we just assign it to the object we created internally in the CreateObject class. In return Object we just return the class. &lt;br /&gt;Lets take a quick preview of how we use this Generic Class. First thing we do is we create a quick class with two field that we will use with this Generic Class that we created!&lt;br /&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// A Class That Will be passed to the Current Object object&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;public class Customer&lt;br /&gt;{&lt;br /&gt;public string CustomerFirstName = &amp;quot;&amp;quot;;&lt;br /&gt;public string CustomerLastName = &amp;quot;&amp;quot;;&lt;br /&gt;}&lt;br /&gt;Now the interesting part:&lt;br /&gt;static void Main(string[] args)&lt;br /&gt;{&lt;br /&gt;// Create and Instance Of CurrentObject Generic Type&lt;br /&gt;CurrentObject&amp;lt;Customer&amp;gt; currentCustomer = new CurrentObject&amp;lt;Customer&amp;gt; ();&lt;br /&gt;Customer tmpCustomer = new Customer();&lt;br /&gt;tmpCustomer.CustomerFirstName = &amp;quot;rajiv&amp;quot;;&lt;br /&gt;tmpCustomer.CustomerLastName = &amp;quot;popat&amp;quot;;&lt;br /&gt;// The Below could be a complex Linked List or Similar Implementation!&lt;br /&gt;currentCustomer.AddObject(tmpCustomer);&lt;br /&gt;Customer finalCustomer = currentCustomer.returnObject();&lt;br /&gt;// Print the results obtained from the Generic type!&lt;br /&gt;Console.WriteLine(&amp;quot;Customer First Name is : &amp;quot; + finalCustomer.CustomerFirstName);&lt;br /&gt;Console.WriteLine(&amp;quot;Customer Last Name is : &amp;quot; + finalCustomer.CustomerLastName);&lt;br /&gt;Console.ReadKey();&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt; We create an object of CurrentObject Generic class by passing the Customer class to it. Then we use another customer object that we have and pass it to the AddObject Method. (This is the method which could have been as complicated as we want based on the logic of the collection that we are developing!) The returnObject finally returns the object and assigns it to finalCustomer. Again, it is to be noted here returnObject could return any object of the same class based on the complex logic of our collection!!!&lt;br /&gt;&lt;br /&gt;So basically the same collection we design works for virtually ALL classes and types!!! MIND BLOWING!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111951661811319820?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111951661811319820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111951661811319820&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111951661811319820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111951661811319820'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/06/generics-in-visual-studionet-2005.html' title='Generics in Visual Studio.NET 2005'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11780653.post-111950895444005450</id><published>2005-06-22T23:38:00.000-07:00</published><updated>2005-06-22T23:42:34.446-07:00</updated><title type='text'>Uninstalling Visual Studio.NET 2005 Beta 1</title><content type='html'>&lt;a href="http://lab.msdn.microsoft.com/vs2005/uninstall/"&gt;This link &lt;/a&gt; talks about uninstalling Visual Studio.NET 2005 (Beta 1) so that you can move on to better things in life (Beta 2). Some really useful tips here, namely...&lt;br /&gt;&lt;br /&gt;If you see an error removing J# .NET Redistributable Package 2.0 from Add/Remove Programs, please run "msiexec /x {9046F10C-F5E7-4871-BED9-8288F19C70DF}" from a command line window &lt;br /&gt;&lt;br /&gt;If you see an error removing .NET Framework 2.0 from Add/Remove Programs, please run "msiexec /x {71F8EFBF-09AF-418D-91F1-52707CDFA274}" from a command line window&lt;br /&gt;&lt;br /&gt;Even if there were no errors and the Beta 2 keeps complaining that you have old J# Redistributable and Framework 2.0 still present in your computer EVEN after removing these from Add / Remove Programs the above tips are basically life savers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111950895444005450?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111950895444005450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111950895444005450&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111950895444005450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111950895444005450'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/06/uninstalling-visual-studionet-2005.html' title='Uninstalling Visual Studio.NET 2005 Beta 1'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111812828902625730</id><published>2005-06-07T00:08:00.000-07:00</published><updated>2005-06-07T00:11:29.030-07:00</updated><title type='text'>Validating Date inputs for specific format.</title><content type='html'>There are times when we need to trap date input and see if the value is a valid date or not. the usual approach to this is to use DateTime.Parse and then trap exceptions. if there is an exception we assume that the date entered is not valid. however there are also times when we need to trap exact format in which the date entered. e.g. we want the user to enter 02-24-1995 5:00 and NOT 02/24/1995. The code snippet illustrates how this can be done.&lt;br /&gt;&lt;br /&gt;System.Globalization.DateTimeFormatInfo dtFormat = new System.Globalization.DateTimeFormatInfo();&lt;br /&gt;dtFormat.LongDatePattern = "MM'-'dd'-'yyyy HH':'mm";&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt; DateTime dt = DateTime.ParseExact("02-24-1995 5:00","MM'-'dd'-'yyyy HH':'mm", dtFormat);&lt;br /&gt;}&lt;br /&gt;catch(Exception ex)&lt;br /&gt;{&lt;br /&gt; MessageBox.Show("The Following Exception Was Trapped While Validating Date:" + ex.Message);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111812828902625730?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111812828902625730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111812828902625730&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111812828902625730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111812828902625730'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/06/validating-date-inputs-for-specific.html' title='Validating Date inputs for specific format.'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111772454931074506</id><published>2005-06-02T07:58:00.000-07:00</published><updated>2005-06-02T08:05:09.003-07:00</updated><title type='text'>LDAP/Active Directory Authentication</title><content type='html'>Fucntion that authenticates username and password against active directory:&lt;br /&gt;public bool AuthenticateLDAPUser(string LDAPServerIpAddress, string username, string password)&lt;br /&gt;  {&lt;br /&gt;   try&lt;br /&gt;   {&lt;br /&gt;    DirectoryEntry de_eForceDirectory = new DirectoryEntry("LDAP://" + LDAPServerIpAddress  ,username, password);&lt;br /&gt;    DirectorySearcher deSearcher = new DirectorySearcher (de_eForceDirectory);&lt;br /&gt;    SearchResult searchResult = deSearcher.FindOne();&lt;br /&gt;    DirectoryEntry de_result = searchResult.GetDirectoryEntry();&lt;br /&gt;    if(de_result.Username==null)&lt;br /&gt;    { return false; }&lt;br /&gt;    else&lt;br /&gt;    { return true; }&lt;br /&gt;   }&lt;br /&gt;   catch (Exception ex)&lt;br /&gt;   {&lt;br /&gt;    throw ex;&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;&lt;b&gt; Calling Code &lt;/b&gt;&lt;br /&gt;MessageBox.Show("Authentication returned: " + AuthenticateLDAPUser("10.6.0.1", "rajiv", "password").ToString()); // Where 10.6.0.1 is your Active Directory Server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111772454931074506?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111772454931074506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111772454931074506&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111772454931074506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111772454931074506'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/06/ldapactive-directory-authentication.html' title='LDAP/Active Directory Authentication'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111682750335338462</id><published>2005-05-22T22:50:00.000-07:00</published><updated>2005-05-22T22:51:43.356-07:00</updated><title type='text'>Reflection...</title><content type='html'>For all those who still haven't got their hands dirty with reflection (i was surprised to see a LOT of .NET developers haven't!!) A very good source of learning the basics of reflection is a book called “Applied Microsoft .NET Framework Programming” by Jeffery Ritcher. Here’s a simple ‘Hello World’ of reflection:&lt;br /&gt;&lt;br /&gt;To Get My Hands dirty with code I write a simple DLL (Class library project):&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;namespace ReflectionDLL&lt;br /&gt;{&lt;br /&gt; public class Sales&lt;br /&gt; {&lt;br /&gt;  public Sales() { }&lt;br /&gt;  public string SayHello(){return "Hello";}&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This DLL Contains A Module (namespace) named ReflectionDLL, a type(class) named Sales which in turn Contains A Member(function) named SayHello(). The objective is to get this information out of the DLL without looking at it’s source code. &lt;br /&gt;&lt;br /&gt;For this I write a windows application which contains the following function:&lt;br /&gt;public void MainFunction()&lt;br /&gt;{&lt;br /&gt;Assembly assem = Assembly.LoadFile("c:\\ReflectionDLL.dll");&lt;br /&gt;foreach(Module m in assem.GetModules())&lt;br /&gt; {&lt;br /&gt;System.Windows.Forms.MessageBox.Show("Showing Modules involved in the DLL: " + m.ToString());&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;foreach(Type t in assem.GetTypes())&lt;br /&gt;{&lt;br /&gt;System.Windows.Forms.MessageBox.Show("Showing Types involved in DLL" + t.ToString());&lt;br /&gt; foreach (MemberInfo m1 in t.GetMembers())&lt;br /&gt; {&lt;br /&gt; System.Windows.Forms.MessageBox.Show("Showing Memebers in current type: " + t.ToString() + " : Member Name is " + m1.ToString());&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;It’s interesting to note here that besides SayHello member all other framework related members e.g. ToString() (even though we have NOT implemented these) that are present in all objects are also shown.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111682750335338462?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111682750335338462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111682750335338462&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111682750335338462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111682750335338462'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/05/reflection.html' title='Reflection...'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111579405416054651</id><published>2005-05-10T23:41:00.000-07:00</published><updated>2005-05-10T23:51:32.463-07:00</updated><title type='text'>The commonly asked customization question ... answered.</title><content type='html'>For the past month or so since i started customizing my desktop there has been quite a bit of interest shown by various people who have seen the desktop. The most commonly asked question was - "how can i do it on my machine!?" :). So here's a general guideline on how you can do it - feel free to post comments / send emails if you run into problems... :)&lt;br /&gt;&lt;br /&gt;1. Download windows customization software. (i am using Windows blinds). Download a skin you like - i am using a classic blue skin designed by some individual that i downloaded from the net.&lt;br /&gt;&lt;br /&gt;2. Download a Mac like status bar - there are many options out there - the Yz is just one of the popular options.&lt;br /&gt;&lt;br /&gt;3. Download registry entries from msdn. There are .reg files in msdn you can download for a lot of customization like removing your recycle bin, changing system icons etc.&lt;br /&gt;&lt;br /&gt;4. Use a little bit of googling and creativity - mainly for customized icons that you might need.&lt;br /&gt;&lt;br /&gt;5. Show off your new desktop to other! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111579405416054651?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111579405416054651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111579405416054651&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111579405416054651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111579405416054651'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/05/commonly-asked-customization-question.html' title='The commonly asked customization question ... answered.'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111524714568988997</id><published>2005-05-04T15:33:00.000-07:00</published><updated>2005-05-04T15:52:26.976-07:00</updated><title type='text'>Underwater bridges and buildings upside down!</title><content type='html'>We just dont see them do we? Underwater bridges and buildings made upside down? Ironically however, i bet every developer writes code every day in his life which is synonymous to underwater bridges and upside down buildings. Reason? Requirements!(Which makes coding so VERY different and exciting to me, over other older deciplines and professions).&lt;br /&gt;&lt;br /&gt;This is the Nth(50th??) wacky thing i've ended up doing with a DataGrid that was probably designed by Microsoft with the sole purpose of 'showing' data from a datasource! Well, i thought that after adding icons that do things to datagrid columns , adding calculated columns, adding calculated checkboxes, paging with n number of different styles, adding links buttons and sorting i had done all that can be done with a asp.net data grid. &lt;br /&gt;&lt;br /&gt;turns out, i am WRONG - we now need RADIO BUTTONS in a datagrid column and user can selected just one of them throughout the data column and then hit a button (which is in no way connected with the datagrid) to select the record and pass it's value to another form! Phew!&lt;br /&gt;&lt;br /&gt;If you are one of those like me you're probably saying "hmmm... what the big deal... have a column template and add a radio button!" - well, .NET renames each control in column template when the html is returned and so you end up with 1 radio button per record where all of them can be selected at the same time!&lt;br /&gt;&lt;br /&gt;&lt;a href='http://www.dotnetbips.com/displayarticle.aspx?id=147'&gt; Here's &lt;/a&gt; is a good approach that did the trick. It's more the concept that is described in the article that makes you go "wow! didn't think of that!" - noone should need the sample code there - the idea in the article is by itself good enough to get you going and write your own code!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111524714568988997?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111524714568988997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111524714568988997&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111524714568988997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111524714568988997'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/05/underwater-bridges-and-buildings.html' title='Underwater bridges and buildings upside down!'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111505901045535106</id><published>2005-05-02T11:35:00.000-07:00</published><updated>2005-05-02T15:53:26.806-07:00</updated><title type='text'>More Customizations!!!</title><content type='html'>It's hardly been a few days since my PC was 'skinned' to look like a MAC and that itch of customization has started again! Can my disks looks different? Folders? Individual File Types? After a bit of googling here's a screen shot of the latest desktop :)&lt;br /&gt;&lt;p align="center"&gt;&lt;br /&gt;&lt;img src="http://www.geocities.com/popatrajiv/BlogFiles/DotNetBlog/customization_level2.gif"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111505901045535106?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111505901045535106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111505901045535106&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111505901045535106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111505901045535106'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/05/more-customizations.html' title='More Customizations!!!'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111465722375769556</id><published>2005-04-27T19:49:00.000-07:00</published><updated>2006-07-08T11:42:05.163-07:00</updated><title type='text'>SubClassing in C#</title><content type='html'>After years of coding in C# it feels a bit embarassing to be posting this... But &lt;br /&gt;&lt;br /&gt;        public class person&lt;br /&gt; {&lt;br /&gt;          private person(){/* ...Constructor implementation... */ }&lt;br /&gt;   // ... More Attributes and Methods...&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public class  customer : person&lt;br /&gt; {&lt;br /&gt;  public customer () { /* ...Constructor implementation... */ }&lt;br /&gt;  // ... More Attributes and Methods...&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;in the above code snippet .NET fires a compile time error basically becuase 'person' has a private constructor! It's a no brainer than you can't directly create objects out of classes which have private constructor - but sub classing them - well, i couldn't say for sure that that sub classing wasn't allowed too until that code snippet had been punched in and tried out!&lt;br /&gt;&lt;br /&gt; public class person&lt;br /&gt; {&lt;br /&gt;  public person()  {/* ...Constructor implementation... */  }&lt;br /&gt;  // ... More Attributes and Methods...&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public class  customer : person &lt;br /&gt; {&lt;br /&gt;  public customer ()  {  /* ...Constructor implementation... */  }&lt;br /&gt;  // ... More Attributes and Methods...&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;The above code, of course works! Moral of the story - all classes that you want to sub class must have public / protected constructors. All classes that you want to create objects out of must have public / protected constrctors... and even after years of coding there's always something we're either yet to learn or have conveniently  forgotten!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111465722375769556?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111465722375769556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111465722375769556&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111465722375769556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111465722375769556'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/04/subclassing-in-c.html' title='SubClassing in C#'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11780653.post-111455396105833311</id><published>2005-04-26T15:11:00.000-07:00</published><updated>2005-04-27T19:46:02.900-07:00</updated><title type='text'>Strange Adventure with SQL Server</title><content type='html'>What does The followin query return IF orders table does NOT have a transfer_id column?&lt;br /&gt;&lt;br /&gt;select transfer_id from orders&lt;br /&gt;&lt;br /&gt;if you answered a runtime error - you were correct! read on...&lt;br /&gt;&lt;br /&gt;What does the following query give you if transfers has transfer_id columns BUT orders table does NOT have any transfer_id column?&lt;br /&gt;&lt;br /&gt;select  * from transfers&lt;br /&gt;where transfer_id in &lt;br /&gt;(select transfer_id from orders)&lt;br /&gt;&lt;br /&gt;if you answered a runtime error - you're WRONG! SQL Server simply returns ENTIRE Transfers table to you without ANY errors!&lt;br /&gt;&lt;br /&gt;Any reasons behind this strange behavior? None comes to my mind!!!&lt;br /&gt;&lt;br /&gt;but,&lt;br /&gt;&lt;br /&gt;select  * from transfers&lt;br /&gt;where transfer_id in &lt;br /&gt;(select orders.transfer_id from orders)&lt;br /&gt;&lt;br /&gt;DOES return a runtime error and is a MUCH professional and better way of writting Sql Qruery!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111455396105833311?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111455396105833311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111455396105833311&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111455396105833311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111455396105833311'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/04/strange-adventure-with-sql-server.html' title='Strange Adventure with SQL Server'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111388056570821701</id><published>2005-04-18T20:16:00.000-07:00</published><updated>2005-04-18T20:24:59.706-07:00</updated><title type='text'>ASP.NET 2 and 1 Conflicts!!</title><content type='html'>After i loaded loaded VS.NET 2005 and tricked my firefox to act on iexplore.exe a strange error started popping up when trying to debug web applications from VS 2003! it said something like Auto-attach to process w3wp.exe failed... error code 0x8013134b.&lt;br /&gt;&lt;br /&gt;Did a bit of googling and turns out - firefox has nothing to do with this! it's a conflict between VS 2003 and VS 2005! An ASP.NET 2.x and 1.x conflict to be more specific! A few sites seems to give you solutions but none seemed to work for me - (a combination of more than what one usergroup suggested did the trick however:) ) here's what allows you to get debug mode running in VS 2003... &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; Ensure that you register 1.x with iis again - go to command prompt of VS 2003 and type aspnet_regiis  -i&lt;br /&gt;&lt;li&gt; change your default web site's asp.net version to 1.x - open properties in iis manager, select properties, go to asp.net tab and select 1.x as your version!&lt;br /&gt;&lt;li&gt; Just to be sure is registered 1.x again - (aspnet_regiis  -i)&lt;br /&gt;&lt;li&gt; deployed a new project and hit F5 - and there it was!!! running as sweet as before!&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;So did the aspnet_regiis  -i work fist time / second time? what happens to VS 2005 now if i try to run web applications there with debug mode...? For now, my apps in 2003 are running again and that's good enough... maybe i'll do a aspnet_regiis  -i&lt;br /&gt;from VS 2005 beta while playing around with Whidbey! and then choose ASP.NET v 2.x from iis :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111388056570821701?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111388056570821701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111388056570821701&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111388056570821701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111388056570821701'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/04/aspnet-2-and-1-conflicts.html' title='ASP.NET 2 and 1 Conflicts!!'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111334711600758027</id><published>2005-04-12T16:05:00.000-07:00</published><updated>2005-04-12T16:05:16.006-07:00</updated><title type='text'>Deploying Web Services With MSI Project</title><content type='html'>While creating a deployment project to deploy Web Services, The Web Deployment project needs to deploy "Content" files for the Web Service Projects ALONG with the Primary Output of the Web Services and Other other project that the Web Service depends on!&lt;br /&gt;The ASMX files are treated as Content Files for the Web Services and will NOT be packaged into the Cab file till you explictly ask VS.NET Deployment Project to include content files! &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111334711600758027?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111334711600758027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111334711600758027&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111334711600758027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111334711600758027'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/04/deploying-web-services-with-msi.html' title='Deploying Web Services With MSI Project'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111333472714473636</id><published>2005-04-12T12:38:00.000-07:00</published><updated>2005-04-12T13:12:26.746-07:00</updated><title type='text'>Serializing an Object to a XML document!</title><content type='html'>Pretty elementary but cool concept of Serializing an object to XMLDocument that i read about on the net somewhere... This gives you serialized 'Web Service' like output for virtually any object that is serializable!!!&lt;br /&gt;...&lt;br /&gt;using System;&lt;br /&gt;using System.Xml;&lt;br /&gt;using System.Xml.Serialization;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Data;&lt;br /&gt;&lt;br /&gt;namespace com.miswaco.OracleApplicationsWebServices.ServiceFramework&lt;br /&gt;{&lt;br /&gt; /// &lt;summary&gt;&lt;br /&gt; /// Additional XML Functionality to serialize objects to XML Documents!&lt;br /&gt; /// &lt;/summary&gt;&lt;br /&gt; public class CustomXMLHelper&lt;br /&gt; {&lt;br /&gt;  public CustomXMLHelper() {}&lt;br /&gt;  public static XmlDocument GetobjAsXmlDocument(object obj)&lt;br /&gt;  {&lt;br /&gt;    XmlDocument retVal = new XmlDocument();&lt;br /&gt;    //Convert the obj into an Xml document&lt;br /&gt;    XmlSerializer ser = new XmlSerializer(obj.GetType());&lt;br /&gt;    StringBuilder sb = new StringBuilder();&lt;br /&gt;    TextWriter writer = new StringWriter(sb);&lt;br /&gt;    ser.Serialize(writer, obj );&lt;br /&gt;    StringReader reader = new StringReader(writer.ToString());&lt;br /&gt;    //Read the Xml from the StringReader object&lt;br /&gt;    DataSet dst = new DataSet();&lt;br /&gt;    dst.ReadXml(reader);&lt;br /&gt;    retVal.LoadXml(dst.GetXml());&lt;br /&gt;    return retVal;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111333472714473636?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111333472714473636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111333472714473636&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111333472714473636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111333472714473636'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/04/serializing-object-to-xml-document.html' title='Serializing an Object to a XML document!'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111292631202378931</id><published>2005-04-07T19:11:00.000-07:00</published><updated>2005-04-08T11:49:06.170-07:00</updated><title type='text'>fxCop … A Cop or a Guide?</title><content type='html'>fxCop – a cool new tool from Microsoft which is supposed to analyze your code against pre-set or custom created rules and programming guidelines and warn you if your code doesn’t adhere to good programming conventions and practices.&lt;br /&gt;&lt;br /&gt;Ironically however, fxCop code when analyzed using fxCop produces 158 warning messages – 32 of them being critical :)! &lt;br /&gt;&lt;br /&gt;Microsoft points out however, that fxCop is more like a guide – and once the messages have been pinpointed you must make a conscious decision to either ignore them or go back and fix them. The least you can do is ensure that no new violations creap into your projects. Anyways, this tool does a great job and teaching programmers how to code … read more @ &lt;a href="http://blogs.msdn.com/fxcop/" target="_blank"&gt;MSDN Blogs for fxCop&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111292631202378931?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111292631202378931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111292631202378931&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111292631202378931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111292631202378931'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/04/fxcop-cop-or-guide.html' title='fxCop … A Cop or a Guide?'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111228562907691673</id><published>2005-03-31T08:13:00.000-08:00</published><updated>2006-08-05T12:34:49.573-07:00</updated><title type='text'>Happy Spyware, Adware and 'Scumware' free computing!</title><content type='html'>Microsoft AntiSpyware to the rescue!&lt;br /&gt;&lt;br /&gt;Desperate about the fact some pesky little coder working for a company without any ethics is now deciding what showed up on your screen? Start putting Google to better uses and hunt down a really nice spyware removal that hunts down these exasperating little pieces of scum filled software running on your machine!&lt;br /&gt;&lt;br /&gt;While &lt;a href="http://www.download.com/3120-20_4-0.html?qt=hijackthis&amp;tg=dl-2001" target="_blank"&gt;hijackthis&lt;/a&gt; seems to help it just doesn’t seem powerful enough. All it seemed to do is grab a set of predetermined registry entries and file locations and show them to you and allow you to delete them at your own risk. But the scumware is definitely more stubborn and tends to come back!&lt;br /&gt;&lt;br /&gt;But after stumbling across &lt;a href="http://www.microsoft.com/athome/security/spyware/software/default.mspx" target="_blank"&gt;Microsoft AntiSpyware&lt;/a&gt; things can be pretty much interesting!&lt;br /&gt;&lt;br /&gt;What is really exciting about this tool (other than the fact that it does a particularly good job at removing scum off your machine!) is that it has some really neat stuff for the power user too! A bunch of explorers to controls startups, currently excuting programs and application and ie hooks and plugins!&lt;br /&gt;&lt;br /&gt;Do yourself a favor, Visit the &lt;a href="http://www.microsoft.com/athome/security/spyware/software/default.mspx" target="_blank"&gt;Microsoft AntiSpyware Website&lt;/a&gt;. Download the beta and make hay while the sun shines – this tool is just free for a limited time and after you've used it for the free period you might start liking it and think of shelling out a few bucks to have it!&lt;br /&gt;&lt;br /&gt;Happy Spyware, Adware and 'Scumware' free computing!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111228562907691673?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111228562907691673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111228562907691673&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111228562907691673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111228562907691673'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/03/happy-spyware-adware-and-scumware-free.html' title='Happy Spyware, Adware and &apos;Scumware&apos; free computing!'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111222022626529380</id><published>2005-03-30T14:03:00.000-08:00</published><updated>2005-03-30T15:39:30.066-08:00</updated><title type='text'>talk about customizations!</title><content type='html'>The word Customization has a whole new meaning when it comes to Microsoft Windows XP (and of course all versions that follow). There are companies who are making a living just by ‘customizing’ your desktop!!! A Couple of hours, few bucks (of course that depends on the 'level' of customization you want) and the yearning (desperate?) desire to be ‘different’ from the rest of the windows using crowd (not to mention manual registry tweaks for system icon customization on desktop) and here’s a picture of how the desktop looks! And can you believe this is plain old windows that we all have on our desktops!?&lt;br /&gt;&lt;p align="center"&gt; &lt;img src="http://www.geocities.com/popatrajiv/BlogFiles/DotNetBlog/windowscustomized.gif"&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111222022626529380?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111222022626529380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111222022626529380&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111222022626529380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111222022626529380'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/03/talk-about-customizations.html' title='talk about customizations!'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111213972279929089</id><published>2005-03-29T15:42:00.000-08:00</published><updated>2005-03-29T16:13:38.136-08:00</updated><title type='text'>Orca For Customizing Msi Files.</title><content type='html'>For all those of you who want to customize Msi files using Orca and cutomize their generated Msi's (e.g. do things like change the default option on installer ui to install for “everyone” rather than just “me”) – Microsoft doesn’t seem to have an installer for orca which you can easily download and install. However, here’s a version I found on someone’s site which allows you to get up and running with Microsoft Orca without having to download a gazillion other service packs and updates!&lt;br /&gt;You can download an easy to download and install version of Microsoft Orca (which of course might / might not be the latest) &lt;a href="http://www.geocities.com/popatrajiv/Downloads/orca.zip" target="_blank"&gt;Right Here! &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111213972279929089?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111213972279929089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111213972279929089&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111213972279929089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111213972279929089'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/03/orca-for-customizing-msi-files.html' title='Orca For Customizing Msi Files.'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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-11780653.post-111212547981005664</id><published>2005-03-29T11:44:00.000-08:00</published><updated>2005-03-30T14:22:03.650-08:00</updated><title type='text'>Personal little .NET knowledgebase</title><content type='html'>This blog is meant to be a tiny little repository of 'lessons learnt' and other "stuff" that pertains to development on Microsoft .NET platforms. Of Course, it'll also contain anything else that looks or sounds interesting, even if it's not directly .net related!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11780653-111212547981005664?l=rajivpopat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rajivpopat.blogspot.com/feeds/111212547981005664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11780653&amp;postID=111212547981005664&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111212547981005664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11780653/posts/default/111212547981005664'/><link rel='alternate' type='text/html' href='http://rajivpopat.blogspot.com/2005/03/personal-little-net-knowledgebase.html' title='Personal little .NET knowledgebase'/><author><name>rajivpopat</name><uri>http://www.blogger.com/profile/15480284311106746189</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></feed>
