<?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-7104252</id><updated>2011-11-27T19:10:01.820-05:00</updated><category term='Performance'/><category term='TFS'/><category term='.Net'/><title type='text'>Musings of a .Net Developer</title><subtitle type='html'>My trials and tribulations with this fascinating technology</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7104252.post-8820240242524785741</id><published>2007-11-20T22:12:00.000-05:00</published><updated>2007-11-20T23:09:01.837-05:00</updated><title type='text'>Visual Studio 2008 First Impressions</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;div&gt;Yesterday VS.net 2008 shipped and is made available for &lt;a href="http://msdn2.microsoft.com/en-us/subscriptions/bb608344.aspx"&gt;download&lt;/a&gt; to MSDN subscribers. For the general public a trial edition is available for &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/products/aa700831.aspx"&gt;download&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;For Vista users my suggestion do not use the link above and go to you subscription download page. The akamai download manager on the Top Downloads page causes all kinds of problems in Vista. The security restrictions in Vista does not allow the download manager to write to any folders even the %USERPROFILE%&lt;user&gt;\Downloads folder. It virtualizes all folders to the Temporary Internet Folders. Actually I had to download twice the first time I left it download overnight it download in the virtualized folder and my nightly clean up job cleaned up the temporary folders. It took me a while to figure out why I could not find my files.&lt;br /&gt;On XP actually the download is faster from the Top Downloads page then the MSDN Subscription Download Page.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Warning do not be fooled by the Team Foundation Server Trial Link(Visual Studio Team System 2008 Team Foundation Server Trial (x86 and x64 WoW) - DVD (English)). &lt;a href="http://dotnetgeek.blogspot.com/2007/08/team-system-2008.html"&gt;Team foundation server is &lt;strong&gt;not&lt;/strong&gt; supported on a 64-bit OS&lt;/a&gt;. My hopes were raised looking at the name but it turned that the installer won't install on a 64 bit OS.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On my first attempt to install the Installer got stuck at last step the the SmartPhone SDK. I was not even able to cancel it just go hung. I had to kill the installer. Restart the machine and do a repair then everything installed fine.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;I found a few warnings and errors in the event log which did not make much sense to me. Hopefully my install is not corrupt. I was able to upgrade an existing VS.NET 2005 project and run it. &lt;/div&gt;&lt;div&gt;One more weird thing that happened on my machine was the suddenly I lost 8 GB space on my hard drive and had to run the disk clean up utility which was able to recover all the 8 GB space that was filled. I am hoping that had nothing to do with the install.&lt;/div&gt;&lt;div&gt;I hope me bad experience with the installer is just a one of case as one my colleagues reported that he was able to install the IDE without any issues.&lt;/div&gt;&lt;div&gt;I am currently having second thoughts whether to install VS.NET 2008 on my Vista 64bit  machine. Hopefully I will install it over the long weekend.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-8820240242524785741?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/8820240242524785741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=8820240242524785741' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/8820240242524785741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/8820240242524785741'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2007/11/visual-studio-2008-first-impressions.html' title='Visual Studio 2008 First Impressions'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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-7104252.post-569414581223438100</id><published>2007-08-15T23:49:00.000-04:00</published><updated>2007-08-16T00:50:01.991-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TFS'/><title type='text'>Team System 2008</title><content type='html'>&lt;a href="http://blogs.msdn.com/bharry/default.aspx"&gt;Brian&lt;/a&gt; (VSTS Product Group Manager) in his recent &lt;a href="http://blogs.msdn.com/bharry/archive/2007/08/08/final-tfs-2008-feature-list.aspx"&gt;post &lt;/a&gt;published the TFS 2008 feature list. I  am very happy to see some of the features specially support for SPS 2007 and SQL reporting on any server.&lt;br /&gt;My organization already deployed a SPS 2007 and SQL Reporting 2005 server farms in addition to the SQL Server 2005 farm hosting our data marts and RDBMS databases. TFS 2008 will enable us to leverage the existing infrastructure rather than build all the infrastructure from scratch. The cost of deploying/maintaining TFS 2008 will be much less than setting up a dedicated high availability environment.&lt;br /&gt;The only thing I am still looking for answers is the support for 64 bit OS in TFS 2008. Unfortunately the TFS 2005 middle tier was not supported on 64 bit OS. I hope TFS 2008 will be supported on a 64 bit environment. I will try to install it on a virtual machine and see if that works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-569414581223438100?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/569414581223438100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=569414581223438100' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/569414581223438100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/569414581223438100'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2007/08/team-system-2008.html' title='Team System 2008'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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-7104252.post-5420000963856587327</id><published>2007-08-15T23:30:00.000-04:00</published><updated>2007-08-16T00:16:56.809-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Boxing/UnBoxing Continued</title><content type='html'>Since my last post I ran across some new questions.&lt;br /&gt;1. Does boxing have a performance issue or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;UnBoxing&lt;/span&gt;?&lt;br /&gt;2. In case when an int has to be concatenated with string is it better to use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;ToString&lt;/span&gt;() method.&lt;br /&gt;&lt;br /&gt;After running some tests I have concluded.&lt;br /&gt;Boxing is slower than &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;UnBoxing&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;ToString&lt;/span&gt;() is slower than boxing. So if one cannot avoid boxing do not try to use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;ToString&lt;/span&gt;() methods they seem to be slower.&lt;br /&gt;&lt;br /&gt;My current challenge is that I have a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Winform&lt;/span&gt; screen with 15 drop downs and 6 grids. In order to bind the the controls I am converting strongly typed Business entities to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;DataTables&lt;/span&gt;. There are quite a few properties in the business entities which are int and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;DateTime&lt;/span&gt; resulting in boxing and impacting the performance of the screens.&lt;br /&gt;&lt;br /&gt;Hopefully I will come up with a solution to this issue soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-5420000963856587327?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/5420000963856587327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=5420000963856587327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/5420000963856587327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/5420000963856587327'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2007/08/boxingunboxing-continued.html' title='Boxing/UnBoxing Continued'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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-7104252.post-8876622850608773559</id><published>2007-08-08T22:10:00.001-04:00</published><updated>2011-01-25T16:38:36.772-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Boxing/Unboxing</title><content type='html'>&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;Its been nearly three years since I last blogged and what better topic to start blogging back again than boxing/unboxing. &lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;Most of the literature that I can find online tells me what is a boxing/unboxing operation or what are its disadvantages but none could definitively answer to the question that came up during a recent code review. Whether this code causes boxing/unboxing&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';color:blue;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';color:blue;"&gt;class&lt;/span&gt;&lt;span style="font-family:'Courier New';"&gt; Class1&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-family:'Courier New';"&gt; i = 10;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Main(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;Class1 x = &lt;span style="color:blue;"&gt;new&lt;/span&gt; Class1();&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; a = x.i; &lt;span style="color:green;"&gt;//unboxing??&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;x.i= 20; &lt;span style="color:green;"&gt;//boxing??&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;I myself when initially came across the concept of boxing/unboxing used to think that the above code will cause box and unbox operations to be called but that's not the case. The above code &lt;b&gt;does not cause boxing/unboxing.&lt;/b&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;The idea of boxing unboxing is a little little difficult to grasp and I have found lots of people(including myself) struggling with it. There is an &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/1200/dotnet/"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;color:#800080;"&gt;article on type fundamentals&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt; by &lt;/span&gt;&lt;a href="http://www.wintellect.com/cs/blogs/jeffreyr/default.aspx"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;color:#800080;"&gt;Jeffrey Richter&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt; which may help explain things and also there is a &lt;/span&gt;&lt;a href="http://weblogs.asp.net/cumpsd/archive/2005/02/15/373395.aspx"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;color:#800080;"&gt;blog post&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt; by &lt;/span&gt;&lt;a href="http://weblogs.asp.net/cumpsd/default.aspx"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;color:#800080;"&gt;David Cumps&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt; which gives a nice visual explanation of boxing/unboxing &lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;To figure out in the C# code if it has any &lt;b&gt;box operation &lt;/b&gt;look for the following&lt;/span&gt;&lt;/div&gt;&lt;ol style="MARGIN-TOP: 0in" type="1"&gt;&lt;li style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1" class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;An instance of a value type is assigned to a variable/field/property of the type object&lt;/span&gt;&lt;/li&gt;&lt;li style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1" class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;An instance of a value type is cast to an instance of an object type&lt;/span&gt;&lt;/li&gt;&lt;li style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1" class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;An instance of a value type is passed to a method/property indexer which has object type as a parameter.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;To figure out in C# code if it has any &lt;b&gt;Unbox operation&lt;/b&gt; check&lt;b&gt; whether &lt;/b&gt;an instance of a type object is being cast to an instance of a value type.&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:130%;"&gt;Below are the few common cases of boxing and unboxing&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:blue;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; j;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; i = 10; &lt;span style="color:green;"&gt;// can be any value type like float, double, Point, DateTime, structures etc.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';color:green;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:green;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:green;"&gt;//The standard example&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:blue;"&gt;object&lt;/span&gt; o = i; &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;o = (&lt;span style="color:blue;"&gt;object&lt;/span&gt;)i; &lt;span style="color:green;"&gt;//explicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;j = (&lt;span style="color:blue;"&gt;int&lt;/span&gt;)o; &lt;span style="color:green;"&gt;//unboxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';color:green;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:green;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:green;"&gt;//String.Format and its variations&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;.Format("Boxing {0}",i); &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;Console.WriteLine("Boxing {0}",i); &lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier  New';"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;StringBuilder strBuild = &lt;span style="color:blue;"&gt;new&lt;/span&gt; StringBuilder();&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;strBuild.AppendFormat("Boxing {0}",i); &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';color:green;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:green;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:green;"&gt;//Collections&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;ArrayList list = &lt;span style="color:blue;"&gt;new&lt;/span&gt; ArrayList();&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;list.Add(i); &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;list.BinarySearch(i); &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;list.IndexOf(i); &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;list.Insert(2,i); &lt;span style="color:green;"&gt;//implicit boxing (only for i)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;list.LastIndexOf(i); &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;list.Remove(i); &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;j = (&lt;span style="color:blue;"&gt;int&lt;/span&gt;) list[0]; &lt;span style="color:green;"&gt;//unboxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';color:green;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;Hashtable coll = &lt;span style="color:blue;"&gt;new&lt;/span&gt; Hashtable();&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;coll.Add(i,i); &lt;span style="color:green;"&gt;//implicit boxing(twice)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;coll.Contains(i); &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;coll.ContainsKey(i); &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;coll.ContainsValue(i); &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;coll.Remove(i); &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;j = (&lt;span style="color:blue;"&gt;int&lt;/span&gt;) coll[i]; &lt;span style="color:green;"&gt;//implicit boxing for indexer and unboxing for assignment&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';color:green;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:green;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="color:green;"&gt;//DataTable&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;DataTable dt = &lt;span style="color:blue;"&gt;new&lt;/span&gt; DataTable();&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;dt.Columns.Add("UntypedColumn");&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;dt.Columns.Add("IntColumn",&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:blue;"&gt;int&lt;/span&gt;));&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;DataRow dr = dt.NewRow();&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;dr["UntypedColumn"] = i; &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;dr["IntColumn"] = i; &lt;span style="color:green;"&gt;//implicit boxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;j = (&lt;span style="color:blue;"&gt;int&lt;/span&gt;) dr["UntypedColumn"]; &lt;span style="color:green;"&gt;//unboxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="MARGIN: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family:'Courier New';"&gt;j = (&lt;span style="color:blue;"&gt;int&lt;/span&gt;) dr["UntypedColumn"]; &lt;span style="color:green;"&gt;//unboxing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-8876622850608773559?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/8876622850608773559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=8876622850608773559' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/8876622850608773559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/8876622850608773559'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2007/08/boxingunboxing_09.html' title='Boxing/Unboxing'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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-7104252.post-109786497110906278</id><published>2004-10-15T14:22:00.000-04:00</published><updated>2004-10-15T14:29:31.110-04:00</updated><title type='text'>Pre-compilation in ASP.NET v1.1</title><content type='html'>Today I came across &lt;a href="http://weblogs.asp.net/jgalloway/archive/2004/10/15/242677.aspx"&gt;Jon Galloway’s blog entry&lt;/a&gt; on pre-compiling ASP.NET web applications in v1.1. I have been looking for this for a while now. I tried it on with the web application I am currently developing on my development machine (Win XP Professional).&lt;br /&gt;And here are the observations.&lt;br /&gt;1. The handler compiles all the aspx files in the folder irrespective whether the file is part of your project. This was very troublesome for me as on my development machine there existed old aspx files which were removed from source control but they existed on my disk.&lt;br /&gt;2. If an error occurs during compilation of a page the compilations stops and no other pages are compiled. Aspx pages are not classes which refer each other I think if a error occurs on a page that page should be skipped and the next page should be compiled and the list of pages which caused errors should be generated. For each time an old aspx file (no longer used in the project) was found I had to go and delete it and wait for the next error page.&lt;br /&gt;3. &lt;em&gt;If an error occurs during compilation and is then corrected. Restarting the pre-compilation doesn’t work. One needs to re-start the ASP.NET worker process for the compilation to work.&lt;/em&gt; That’s a major issue. We cannot keep on restarting the worker process each time we encounter an error during pre-compilation.&lt;br /&gt;4. The handler only compiles the aspx files (and all the ascx user controls refrenced in the aspx ) in the specified folder not in all aspx pages the in the web application. In case one is developing a large website and the aspx pages are grouped in different folders one has to go to each folder for the pages to compile.&lt;br /&gt;5. In my case I had forms authentication enabled so the ways I could make pre-compilation work is to either disable forms authentication for the time I am pre-compiling or through web.config grant access to the handler in each folder. Neither can be used for production environments as changing the web.config after compilation will cause the aspx to be recompiled by the runtime. The other smart thing would be login the website and the call the pre-compile page. But none of these solutions are good enough. The handler should behave something like the debug works. I can configure whether debug information is available on remote machines or only on local machines. Similarly I should be able to configure that I can make a pre-compilation request from a remote location or from a local machine. And an authorization mechanism where I can grant access to pre-compilation easily rather then listing out each folders in which pre-compilation is allowed&lt;br /&gt;&lt;br /&gt;Overall &lt;strong&gt;&lt;em&gt;the handler has still some issues and is very primitive to be used in an actual production environment&lt;/em&gt;&lt;/strong&gt;. I think that’s the reason the handler has not been advertised. I fell its better that I wait for the ASP.NET v2.0 and see if it is good enough to be used in a production environment.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-109786497110906278?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/109786497110906278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=109786497110906278' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/109786497110906278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/109786497110906278'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2004/10/pre-compilation-in-aspnet-v11.html' title='Pre-compilation in ASP.NET v1.1'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7104252.post-109538796870574906</id><published>2004-09-16T22:10:00.000-04:00</published><updated>2004-09-16T22:33:27.960-04:00</updated><title type='text'>The Debate: Should we set the value of a variable to Null after we have no use for it</title><content type='html'>Its been a long standing debate. I have found many developers setting the value of the local variables to null at the end of the method. That never made sense why should one set the value of a variable to null which will anyway be out of scope in the next line of code and will be garbage collected. It never made sense and it never will.&lt;br /&gt;But &lt;a href="http://weblogs.asp.net/ricom/"&gt;Rico Mariani&lt;/a&gt; in his post &lt;a href="http://weblogs.asp.net/ricom/archive/2003/12/04/41281.aspx"&gt;Mid life crisis&lt;/a&gt; has pointed out a scenario where setting the value of the variable that are no longer used to null can be useful. But as he pointed out it in the post it needs to be done before we pass the task to some other thread and we know the variable is dead and will not be used in later processing. To understand in detail one must go through the article in detail and check out how the .Net Garbage Collector(GC) works.&lt;br /&gt;learned something really interesting and useful today.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-109538796870574906?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/109538796870574906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=109538796870574906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/109538796870574906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/109538796870574906'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2004/09/debate-should-we-set-value-of-variable.html' title='The Debate: Should we set the value of a variable to Null after we have no use for it'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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-7104252.post-109538678459738590</id><published>2004-09-16T21:55:00.000-04:00</published><updated>2004-09-16T22:30:37.316-04:00</updated><title type='text'>MSDN 2 is here</title><content type='html'>Microsoft has released the beta-documentation for Visual Studio 2005. I came to know about this from &lt;a href="http://weblogs.asp.net/kaevans/"&gt;Krik Allen Evans's&lt;/a&gt; post &lt;a href="http://weblogs.asp.net/kaevans/archive/2004/09/16/230608.aspx"&gt;MSDN2 and .NET Namespace Support&lt;/a&gt; cool new features and a different look I really find the namespace URL feature interesting, it can be very useful.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-109538678459738590?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn2.microsoft.com' title='MSDN 2 is here'/><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/109538678459738590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=109538678459738590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/109538678459738590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/109538678459738590'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2004/09/msdn-2-is-here.html' title='MSDN 2 is here'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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-7104252.post-109538612193418061</id><published>2004-09-16T21:21:00.000-04:00</published><updated>2004-09-16T22:31:20.586-04:00</updated><title type='text'>The Revamp</title><content type='html'>Its been long I published anything on this blog. I had said in an earlier &lt;a href="http://viragg.blogspot.com/2004/09/i-am-back.html"&gt;post&lt;/a&gt; on my &lt;a href="http://viragg.blogspot.com"&gt;non-technical blog&lt;/a&gt; that a revamp is needed for this blog as well as lots of content. Over the last 10 days I have been on and off trying to revamp this blog. Though I have successfully added &lt;a href="https://www.google.com/adsense/afc-online-overview"&gt;Google Adsense for content&lt;/a&gt; and &lt;a href="https://www.google.com/adsense/ws-overview"&gt;Google Adsense for search &lt;/a&gt;to my blog and gave it a new look the blog looks far from satisfactory. Actually over the last 10 days tinkering with the standard template available in blogger and trying to put in the adsense code on the pages I concluded that I need to really sit down and work on developing a new template myself. That will require some real good work with HTML currently I am not up to it. So as of now I have decided that I start publishing content and delay the UI enhancements to another revamp.&lt;br /&gt;So as why I finally chose today as the day because I have two interesting things I came across which I will like to share the posts following this will discuss them But the is one resource I will like to share with my readers. &lt;a href="http://weblogs.asp.net/stefan_gossner/archive/2003/12/07/41859.aspx"&gt;http://weblogs.asp.net/stefan_gossner/archive/2003/12/07/41859.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;An excellent post which is a single stop for all information needed to start working with &lt;a href="http://www.microsoft.com/cmserver/"&gt;Microsoft Content Management Server&lt;/a&gt;. I had found it very useful during the development of the Ardh Kumbh project which runs on MCMS 2002. I really will like to congratulate and thanks Stefan for an excellent work. I hope my friend Vendanshu who has been looking for some help on MCMS will find it equally useful.&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/7104252-109538612193418061?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/109538612193418061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=109538612193418061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/109538612193418061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/109538612193418061'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2004/09/revamp.html' title='The Revamp'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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-7104252.post-108592137742049537</id><published>2004-05-30T08:49:00.000-04:00</published><updated>2004-05-30T08:53:12.766-04:00</updated><title type='text'>Another excellent analogy this time on .Net Remoting</title><content type='html'>A fabulous post on &lt;a href="http://blogs.msdn.com/ericlippert/archive/2004/05/27/143203.aspx"&gt;Marshal-by-ref versus Serializable Objects&lt;/a&gt; by &lt;a href="http://blogs.msdn.com/ericlippert/"&gt;Eric Lippert&lt;/a&gt;. I need to learn how people come up with such excllent analogies and simple explanation to complex things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-108592137742049537?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/108592137742049537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=108592137742049537' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/108592137742049537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/108592137742049537'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2004/05/another-excellent-analogy-this-time-on.html' title='Another excellent analogy this time on .Net Remoting'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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-7104252.post-108591237330646601</id><published>2004-05-30T06:19:00.000-04:00</published><updated>2004-05-30T07:18:53.463-04:00</updated><title type='text'>re:The Fishbowl: The Mac is a Harsh Mistress</title><content type='html'>&lt;a href="http://fishbowl.pastiche.org/"&gt;Charles Miller&lt;/a&gt; has really written a &lt;a href="http://fishbowl.pastiche.org/2004/05/25/the_mac_is_a_harsh_mistress"&gt;excellent and funny analogy&lt;/a&gt; comparing Mac/Microsoft/Linux. He shows good knowledge two very complex things females and computers ;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-108591237330646601?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/108591237330646601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=108591237330646601' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/108591237330646601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/108591237330646601'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2004/05/rethe-fishbowl-mac-is-harsh-mistress.html' title='re:The Fishbowl: The Mac is a Harsh Mistress'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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-7104252.post-108591147603270454</id><published>2004-05-30T06:04:00.000-04:00</published><updated>2004-05-30T07:18:06.223-04:00</updated><title type='text'>Longhorn and Loosing your mobile phone</title><content type='html'>In a recent post &lt;a href="http://blogs.msdn.com/okoboji/archive/2004/05/29/144467.aspx"&gt;I lost my girlfriends phone number&lt;/a&gt;. &lt;a href="http://blogs.msdn.com/okoboji/"&gt;Kevin Moore&lt;/a&gt; is very right in saying "Loosing your phone should be a great experience, because it gives you an excuse to get a Pocket PC Phone Edition". And I really look forward to the day where I am not worried upset at loosing my address book and spending enormous amount of time trying to back it up in an excel sheet and keeping it in Sync. &lt;br /&gt;His idea of a unified Address books sounds nice but I still wonder how will they make it possible in Longhorn and how much it will cost as there are many devices today  which offer softwares to communicate with the PC and backup the data, but need costly data cables other communication infrastructure.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-108591147603270454?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/108591147603270454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=108591147603270454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/108591147603270454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/108591147603270454'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2004/05/longhorn-and-loosing-your-mobile-phone.html' title='Longhorn and Loosing your mobile phone'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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-7104252.post-108591018434015921</id><published>2004-05-30T05:43:00.000-04:00</published><updated>2004-05-30T08:16:44.073-04:00</updated><title type='text'>It feels good to be heard</title><content type='html'>Few days back I posted &lt;a href="http://blogs.msdn.com/csharpfaq/archive/2004/05/25/141570.aspx#142933"&gt;my comment&lt;/a&gt; to a post &lt;a href="http://blogs.msdn.com/csharpfaq/archive/2004/05/25/141570.aspx"&gt;Why don't nullable relational operators return bool? instead of bool?&lt;/a&gt; on the &lt;a href="http://blogs.msdn.com/csharpfaq/"&gt;C# Frequently Asked Questions&lt;/a&gt; blog. In response the comment the C# Team updated the post. Its really nice to know that you are being heard.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-108591018434015921?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/108591018434015921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=108591018434015921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/108591018434015921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/108591018434015921'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2004/05/it-feels-good-to-be-heard.html' title='It feels good to be heard'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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-7104252.post-108572883983240596</id><published>2004-05-28T03:20:00.000-04:00</published><updated>2004-05-28T03:42:12.183-04:00</updated><title type='text'>Some useful links</title><content type='html'>Recently a collegue of mine needed some help with Creating a Windows Service, Creating an MSI Installer and &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/updater.asp" title="Updater Application Block for .NET" target="_blank"&gt;Updater Application Block for .NET&lt;/a&gt;. Being in the middle of a project he prefered something a simple not the boring comprehensive resources from  &lt;a href="http://msdn.microsoft.com" title="MSDN" target="_blank"&gt;MSDN&lt;/a&gt;. Having used all these in my earlier projects more that an year ago, I had a tought time then finding quality resources to help me understand exactly how to use them.  &lt;a href="http://msdn.microsoft.com" title="MSDN" target="_blank"&gt;MSDN&lt;/a&gt; Was the only good place i could find something good. But yesterday when i started searching on the net for some good stuff I was amazed to see how many new resoruces are available. I compiled a list of link which he can use. I would like to share with everybody who may be interested in these.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font size="2"&gt;Updater Application Block for .NET&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Downloads&lt;/b&gt; &lt;br /&gt;&lt;a href="http://microsoft.com/downloads/details.aspx?FamilyId=C6C17F3A-D957-4B17-9B97-296FB4927C30&amp;displaylang=en" target="_blank"&gt;http://microsoft.com/downloads/details.aspx?FamilyId=C6C17F3A-D957-4B17-9B97-296FB4927C30&amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How-To&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.gotdotnet.com/community/messageboard/Thread.aspx?id=181256" target="_blank"&gt;http://www.gotdotnet.com/community/messageboard/Thread.aspx?id=181256&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gotdotnet.com/community/messageboard/Thread.aspx?id=158337" target="_blank"&gt;http://www.gotdotnet.com/community/messageboard/Thread.aspx?id=158337&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ballzac.com/updaterblock/Updater%20Application%20Block%20HOW-TO%20generic.htm" target="_blank"&gt;http://www.ballzac.com/updaterblock/Updater%20Application%20Block%20HOW-TO%20generic.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Gotdotnet community Workspace&lt;/b&gt;&lt;br /&gt; &lt;a href="http://www.gotdotnet.com/Community/Workspaces/workspace.aspx?id=83c68646-befb-4586-ba9f-fdf1301902f5" target="_blank"&gt;http://www.gotdotnet.com/Community/Workspaces/workspace.aspx?id=83c68646-befb-4586-ba9f-fdf1301902f5&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The nuts and bolts&lt;/b&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/updater.asp" target="_blank"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/updater.asp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://builder.com.com/5100-6373-5080375.html" target="_blank"&gt;http://builder.com.com/5100-6373-5080375.html&lt;/a&gt;&lt;br /&gt;&lt;a href="news://msnews.microsoft.com/microsoft.public.dotnet.distributed_apps" target="_blank"&gt;news://msnews.microsoft.com/microsoft.public.dotnet.distributed_apps&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5B7C6E2D-D03F-4B19-9025-6B87E6AE0DA6&amp;displaylang=en" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=5B7C6E2D-D03F-4B19-9025-6B87E6AE0DA6&amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font size="2"&gt;&lt;b&gt;Windows Service&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Walkthrough&lt;/b&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbwlkwalkthroughcreatingwindowsserviceapplication.asp" target="_blank"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbwlkwalkthroughcreatingwindowsserviceapplication.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Tutorial&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.c-sharpcorner.com/2/window_service.asp" target="_blank"&gt;http://www.c-sharpcorner.com/2/window_service.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;History &amp; Geography (Architecture and related stuff)&lt;/b&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbconintroductiontontserviceapplications.asp" target="_blank"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbconintroductiontontserviceapplications.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font size="2"&gt;&lt;b&gt;MSI Installer in .Net&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Tutorial&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.c-sharpcorner.com/Code/2003/April/SetupProjects.asp" target="_blank"&gt;http://www.c-sharpcorner.com/Code/2003/April/SetupProjects.asp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.devarticles.com/c/a/C-Sharp/Creating-a-.NET-Windows-Installer--Part-1/" target="_blank"&gt;http://www.devarticles.com/c/a/C-Sharp/Creating-a-.NET-Windows-Installer--Part-1/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The nuts and bolts &lt;/b&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/html/vbcondeployingsolution.asp" target="_blank"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/html/vbcondeployingsolution.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Unfourtunately, a majority of links are still from MSDN ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-108572883983240596?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/108572883983240596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=108572883983240596' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/108572883983240596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/108572883983240596'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2004/05/some-useful-links.html' title='Some useful links'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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-7104252.post-108548016663014505</id><published>2004-05-25T06:16:00.000-04:00</published><updated>2004-05-25T06:23:05.146-04:00</updated><title type='text'>MSDN Lab</title><content type='html'>Stumbled upon &lt;a href="http://lab.msdn.microsoft.com/default.aspx"&gt;MSDN Lab&lt;/a&gt; while checking out the &lt;a href="http://msdn.microsoft.com/vstudio/teamsystem/default.aspx"&gt;Visual Studio Team System&lt;/a&gt; site. It seems Microsoft is taking a tip or two from &lt;a href="http://www.google.com"&gt;google&lt;/a&gt; which has its own &lt;a href="http://labs.google.com"&gt;labs&lt;/a&gt; website where it previews its upcoming/under development products/features.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7104252-108548016663014505?l=dotnetgeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetgeek.blogspot.com/feeds/108548016663014505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7104252&amp;postID=108548016663014505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/108548016663014505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7104252/posts/default/108548016663014505'/><link rel='alternate' type='text/html' href='http://dotnetgeek.blogspot.com/2004/05/msdn-lab.html' title='MSDN Lab'/><author><name>.Net Geek</name><uri>http://www.blogger.com/profile/01302576643296966132</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>
