<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.neudesic.com/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Chris Rolon's Blog</title><link>http://blogs.neudesic.com/blogs/chris_rolon/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.0 (Build: 60217.2664)</generator><item><title>Count Your Blessings</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2007/10/28/19351.aspx</link><pubDate>Mon, 29 Oct 2007 06:39:53 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:19351</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/19351.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=19351</wfw:commentRss><description>&lt;p&gt;I have not had too much time to blog in the last few months but I felt compelled to write an entry this week.
&lt;/p&gt;&lt;p&gt;Unless you've been living in a cave, you know that Southern California has been attacked by fire for the past week. I live in the Portola Hills area and the Santiago fire came within a few hundred yards of my home. My family and I are very thankful for the efforts of the fire and police departments. They saved many lives and the homes of many people due to their near super human efforts.
&lt;/p&gt;&lt;p&gt;My heart goes out to the families who lost homes.
&lt;/p&gt;&lt;p&gt;There is another reason that I decided to blog. I wanted to tell you about something that happened that has made me think about the abundance of blessings with which I have been bestowed.
&lt;/p&gt;&lt;p&gt;After the stress of the Santiago fire and the threat to our homes, everyone in our community began to relax.  On Friday, my wife and I were returning from dinner at about 8:15 PM only to be frightened again when we arrived home. There was a fire truck and 3 police squad cars near our house. It turns out they were called by our neighbors, Bob and Carol. Being concerned, we asked if there was anything we could do to assist. One of the firemen asked me to call Bob and Carol's pastor. Without knowing what the emergency was, I was able to contact Pastor John.
&lt;/p&gt;&lt;p&gt;The next morning I followed up with Pastor John still being concerned. Bob had left the house around noon to run some errands and to play a round of golf. He spoke with Carol around 4 PM. At 8 PM Bob arrived home only to find his beloved wife slumped on the floor. Sometime in those four hours she had passed away.
&lt;/p&gt;&lt;p&gt;After surviving the threat to our homes and the stress brought on by the Santiago fire, just as the community began to relax, Bob loses his wife. What irony!
&lt;/p&gt;&lt;p&gt;I'm certain that in a few days life will begin to return to normal. I will likely go back to taking things for granted. At least for now, I am ever so grateful for the blessings that I have.&lt;/p&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=19351" width="1" height="1"&gt;</description></item><item><title>Using Word 2007 for Blogging</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2007/02/06/4232.aspx</link><pubDate>Tue, 06 Feb 2007 11:28:00 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:4232</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/4232.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=4232</wfw:commentRss><description>&lt;P&gt;I'm preparing to present at a Windows Vista Launch and recently rebuilt my machine with Windows Vista. In a future post I will blog about my experience with Vista. For now, I want to discuss a feature of Microsoft Word 2007 that I just discovered and absolutely love. &lt;/P&gt;
&lt;P&gt;I hadn't blogged in a while and someone asked me to blog about installing assemblies into the GAC. In the past I had used Windows Live Writer, a free tool from Microsoft which makes composing blog entries very easy. Since my machine had recently been rebuilt and I had not blogged in a while, I had not installed Live Writer. When I created a new document in Word I discovered that there was a new entry on the menu for creating a blog post so I decided to investigate further. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://www.neudesic.com/uploads/chris_rolon/020607_0328_UsingWord201.png"&gt; &lt;/P&gt;
&lt;P&gt;It turns out that the Word team nailed this feature. Creating and maintaining a blog, for the supported blog providers, is a snap. Word's blog template handles formatting the text, headings and pictures that you add to the blog entry. In addition, if you define a "Picture Provider", Word will handle uploading and naming any pictures that you paste into your blog entry. You have all of Word's rich features at your disposal for formatting text. Not to mention the fact that you can spell and grammar check each post. &lt;/P&gt;
&lt;P&gt;In order for this to work, you must define a blog account for Word where you provide the information about you blog and picture provider. &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Start by creating a new Blog Account and selecting the blog provider from the drop down.&lt;BR&gt;&lt;IMG alt="" src="http://www.neudesic.com/uploads/chris_rolon/020607_0328_UsingWord202.png"&gt;&lt;BR&gt;&lt;BR&gt;Shown is the list of Blog Providers supported out-of-the-box. You could visit Microsoft's site to see if support for more providers has been added. At Neudesic we are using Community Server. 
&lt;LI&gt;You then provide information about the Blog Post URL, User Name and Password.&lt;BR&gt;&lt;IMG alt="" src="http://www.neudesic.com/uploads/chris_rolon/020607_0328_UsingWord203.png"&gt; 
&lt;LI&gt;If you are going to be pasting pictures into your blog entries, click on Picture Options to define information about a Picture Provider.&lt;BR&gt;&lt;BR&gt;In my case, Neudesic has a network share where we post downloadable files, including pictures. The source URL is the address used to retrieve the images for display in you blog. 
&lt;LI&gt;Having completed these simple steps Word will connect to your blog server and will allow you to select from a list of blogs. Choose your blog and start blogging! 
&lt;LI&gt;When you are done writing a blog entry, press the Publish icon that is on the ribbon. It couldn't be easier. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;BR&gt;Adding a feature to Word 2007 to make writing blogs a simple task is enough but there is more. Word also gives you the ability to open and edit existing blog entries and define categories. &lt;/P&gt;
&lt;P&gt;As I mentioned, Word 2007 makes blogging easy. I just love this new feature of Word 2007! &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=4232" width="1" height="1"&gt;</description></item><item><title>Creating Strongly Named Assemblies</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2007/02/05/4230.aspx</link><pubDate>Mon, 05 Feb 2007 14:01:51 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:4230</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/4230.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=4230</wfw:commentRss><description>&lt;p&gt;When deploying a .Net project to production, it is often necessary to install an assembly into the Global Assembly Cache(GAC). The GAC is where you want to install assemblies that you want to share on your computer. 
&lt;/p&gt;&lt;h2&gt;Creating a Strong Name
&lt;/h2&gt;&lt;p&gt;Before we begin, you must understand that there is a requirement that you strongly name all assemblies that are being installed in the GAC. In order to do so, you must create a strong name key, using the Strong Name tool "sn.exe", as follows:
&lt;/p&gt;&lt;p&gt;    sn –k NeudesicTest.snk
&lt;/p&gt;&lt;p&gt;Note that the strong name key consists of a public/private key pair. For security reasons you will want the private key protected. There are options in the strong name tool that will permit you to split the public and private keys so that you could "delay sign" your assemblies. In addition, your company will typically have one strong name key. Don't make the mistake of creating a strong name key per project, unless of course you are a consultant and each project is for a different company. In this case, it is likely that the company will already have their own key.
&lt;/p&gt;&lt;h2&gt;Adding the Strong Name Key to the Solution
&lt;/h2&gt;&lt;p&gt;Now that we have a strong name key, let's add the strong name key to our project. 
&lt;/p&gt;&lt;p&gt;Note that since the solution that I'm using has three projects, will want to add the strong name key to each project. This is where I will show you an advanced option.
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Add an existing item to each of the projects&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1401_CreatingStr1.png" alt="" /&gt;
		&lt;/li&gt;&lt;li&gt;Navigate to the location of the strong name key and select it.
&lt;/li&gt;&lt;li&gt;Here is where things will differ a bit. Instead of double clicking the strong name key, or selecting add, notice that the Add button has a small arrow on the right side. Select the arrow and then select "As Link".&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1401_CreatingStr2.png" alt="" /&gt;&lt;br /&gt;This option will add the strong name key file as a link to the project but will not copy the file into the project folder. This is a cool way of sharing a single file, regardless of type, across several projects.
&lt;/li&gt;&lt;li&gt;The Solution Explorer now shows that the strong name key is linked into all of the projects in our solution.&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1401_CreatingStr3.png" alt="" /&gt;
		&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;We can now strongly name our assemblies.
&lt;/p&gt;&lt;h2&gt;&lt;br /&gt;Strongly Naming Assemblies
&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Select Project Properties&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1401_CreatingStr4.png" alt="" /&gt;
		&lt;/li&gt;&lt;li&gt;From the tabs on the left select "Signing"
&lt;/li&gt;&lt;li&gt;Select the check box  "Sign the assembly"
&lt;/li&gt;&lt;li&gt;When you select the drop down you will now see the strong name key that we linked into our projects.&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1401_CreatingStr5.png" alt="" /&gt;
		&lt;/li&gt;&lt;li&gt;Select the strong name key
&lt;/li&gt;&lt;li&gt;Repeat these steps for each project that will be strongly named.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Note that, for security reasons, any assemblies that are referenced by the assemblies that are being strongly named, must also be strongly named.
&lt;/p&gt;&lt;p&gt;Next time we will examine deploying strongly named assemblies to the GAC.&lt;/p&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=4230" width="1" height="1"&gt;</description></item><item><title>Deploying Strongly Named Assemblies to the GAC from Visual Studio</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2007/02/05/4229.aspx</link><pubDate>Mon, 05 Feb 2007 13:46:23 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:4229</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/4229.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=4229</wfw:commentRss><description>&lt;p&gt;In my last post, I listed the steps necessary to create a strong name key and to sign assemblies. I even discussed a feature of Visual Studio that permits you to share a single file across multiple projects. We shared a strong named key across three projects.
&lt;/p&gt;&lt;p&gt;In this post I will discuss creating a setup project and deploying the strongly named assemblies to the GAC.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;h2&gt;Creating a Setup Project
&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Right-click on the solution in the Solution Explorer and select Add/New Project&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1346_DeployingSt1.png" alt="" /&gt;
		&lt;/li&gt;&lt;li&gt;From Project Types, expand Other Project Types and select Setup and Deployment&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1346_DeployingSt2.png" alt="" /&gt;
		&lt;/li&gt;&lt;li&gt;Select Setup Project from Templates
&lt;/li&gt;&lt;li&gt;Name the setup project appropriately and select OK.
&lt;/li&gt;&lt;li&gt;Since we are deploying our projects to the GAC, we must create a special folder. On the left tree, right-click File System on Target Machine, select Add Special Folder, then select Global Assembly Cache Folder&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1346_DeployingSt3.png" alt="" /&gt;
		&lt;/li&gt;&lt;li&gt;Right click on the Global Assembly Cache Folder and select Add, then select Project Output…&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1346_DeployingSt4.png" alt="" /&gt;
		&lt;/li&gt;&lt;li&gt;Select Primary Output&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1346_DeployingSt5.png" alt="" /&gt;
		&lt;/li&gt;&lt;li&gt;Select OK
&lt;/li&gt;&lt;li&gt;Repeat steps 6-8 for each project in your solution that you wish to deploy to the GAC
&lt;/li&gt;&lt;li&gt;After completing these steps, you should notice that there are several additional assemblies that have been added to the setup project. These assemblies are dependent assemblies. Assemblies on which your assemblies depend. &lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1346_DeployingSt6.png" alt="" /&gt;
		&lt;/li&gt;&lt;li&gt;Some of these assemblies may already be in the GAC. In my example, there are several assemblies from WCF on which my projects depend.
&lt;/li&gt;&lt;li&gt;Build the setup project by right clicking the seup project and selecting Build&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1346_DeployingSt7.png" alt="" /&gt;
		&lt;/li&gt;&lt;li&gt;If, like my projects, the setup wizard added dependent files that are already in the GAC, building the setup project will yield some warnings.&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1346_DeployingSt8.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;The warnings are telling us some files should be excluded since they are already in the GAC.
&lt;/li&gt;&lt;li&gt;To exclude the files on which we are receiving warnings, in the solution explorer right click on any dependent assembly that we wish to exclude. In my case I selected several files.&lt;br /&gt;&lt;img src="http://www.neudesic.com/uploads/chris_rolon/020507_1346_DeployingSt9.png" alt="" /&gt;
		&lt;/li&gt;&lt;li&gt;Excluding the files from the setup project means that the files will not be deployed when setup is run.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Now that you've created the setup project, you can run it to install the assemblies into the Global Assembly Cache.&lt;/p&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=4229" width="1" height="1"&gt;</description></item><item><title>Message from the U.S. Department of Homeland Security</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2006/08/09/210.aspx</link><pubDate>Wed, 09 Aug 2006 22:15:00 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:210</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/210.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=210</wfw:commentRss><description>Here is something that is unusual--The U.S. Department of Homeland Security has requested that all Windows Systems be patched to plug a potential worm hole. This is your chance to do something for home and country.&lt;BR&gt;&lt;BR&gt;Read the story at: &lt;A href="http://news.com.com/Homeland+Security+Fix+your+Windows/2100-7348-6103805.html?part=dht&amp;amp;tag=nl.e433" target=_blank&gt;http://news.com.com/Homeland+Security+Fix+your+Windows/2100-7348-6103805.html?part=dht&amp;amp;tag=nl.e433&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=210" width="1" height="1"&gt;</description></item><item><title>The evils of busy loops.</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2006/08/09/209.aspx</link><pubDate>Wed, 09 Aug 2006 21:58:00 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:209</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/209.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=209</wfw:commentRss><description>The other day I was at a customer site when the customer asked me to help them try to resolve an issue with a legacy component. It appeared that the legacy component was failing under load conditions so I proceeded to setup some performance counters. I could see that CPU utilization was at 100% capacity. &lt;BR&gt;&lt;BR&gt;The component in question was written in VB6(ugh!) and was part of a COM+ package. We examined the COM+ package and found that there were a couple of things that needed changing in order to improve the performance of the component. &lt;BR&gt;&lt;BR&gt;I was still curious so I asked some additional questions regarding the component when the developer mentioned that there is retry logic that is executed when the component detects certain types of problems, such as, inability to connect to the mainframe. The mention of retry logic certainly piqued my interest so I asked if I could review the code. When reviewing the code my attention was fixed on the retry logic. &lt;BR&gt;&lt;BR&gt;In an effort to wait for a period of time before retrying a failed operation, the developer coded a busy loop: &lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; Do While Timer &amp;lt; StartTime + WaitTime &lt;BR&gt;&amp;nbsp; &amp;nbsp; End Loop &lt;BR&gt;&lt;BR&gt;This code was part of the developer’s effort to kill some time before retrying a failed operation again. Upon further examination I discovered that the busy loop was executed for 2 seconds at a time up to a maximum of 120 seconds! &lt;BR&gt;&lt;BR&gt;This code is evil! I explained to everyone how this code does not help the situation at all, instead the problem is made significantly worse. This code raises the processor utilization to 100% for the entire wait period. There is nothing that is causing this code to be interrupted so all other threads on the system are starved while this thread is in a tight loop. &lt;BR&gt;&lt;BR&gt;The developer’s defense was the fact that the code would wait for &lt;EM&gt;&lt;U&gt;only&lt;/U&gt;&lt;/EM&gt; 2 seconds. &lt;BR&gt;&lt;BR&gt;The ill affects of this type of loop are easily demonstrable. Since the component was written in VB6 I wrote the following sample VB .Net application to demonstrate the affects of a busy loop. &lt;BR&gt;&amp;nbsp; &amp;nbsp; Sub Main ()&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim timeToSleep As Double = 2&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Dim timeLimit As Double = 120&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Dim startTime As Double = Timer&lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Do While Timer &amp;lt; startTime + timeLimit&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Dim startTime2 As Double = Timer&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Do While Timer &amp;lt; startTime2 + timeToSleep&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Loop&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;System.Threading.Thread.Sleep(200)&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Loop&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;End Sub &lt;BR&gt;&lt;BR&gt;What follows is a graph of the affects of this loop on a single processor machine: 
&lt;P&gt;&lt;IMG src="http://www.neudesic.com/uploads/chris_rolon/SingleProcBusyLoop.jpg"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As can be seen, this one single process, running for a total of 2 minutes, nearly totally dominated the CPU.&lt;/P&gt;I also ran the test on a dual processor machine with the following results: 
&lt;P&gt;&lt;IMG src="http://www.neudesic.com/uploads/chris_rolon/DualProcBusyLoop.jpg"&gt;&amp;nbsp;&lt;/P&gt;On the dual processor machine the process stayed between 41% and 50% processor utilization. This may be misleading but what it means is that the process dominated one of the processors. The 2&lt;SUP&gt;nd&lt;/SUP&gt; processor was able to be used for other work. Still, the results are not good for a production machine. &lt;BR&gt;&lt;BR&gt;In my code sample I added a 200 MS sleep to simulate other processing that occurs between each loop. The number 200 is arbitrary. In the actual code, it was unlikely that the processing between loops would take that long which means that the affect on the processor is even worse. &lt;BR&gt;&lt;BR&gt;Other problems that I have with this retry logic is the fact that it continues to try to failed operation for a total of 2 minutes! That is a very long time to dedicate to one single operation. &lt;BR&gt;&lt;BR&gt;The recommendations that I made to the customer were:&lt;BR&gt;
&lt;LI&gt;If it is ever necessary to program a delay, use the Win32 API function called Sleep. This function tells the OS to suspend the thread for a period of time. The processor utilization used by the suspended thread will be zero for the period requested.&lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; In the sample program that I wrote I used sleep to simulate work being done. .Net provides a wrapper for the Win32 API function in the System.Threading namespace. &lt;BR&gt;
&lt;LI&gt;When a retry loop is necessary, it is generally better to loop for a maximum number of times rather than for a time period. I suggested a maximum of 3 times with a 500MS delay. &lt;/LI&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=209" width="1" height="1"&gt;</description></item><item><title>Presentation at L.A. C# Developers Group</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2006/03/31/90.aspx</link><pubDate>Fri, 31 Mar 2006 22:42:00 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:90</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/90.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=90</wfw:commentRss><description>I will be speaking at LA C# Developer Group, on Tuesday April 4. The topic will be C# 2.0 Language Changes.
&lt;br&gt;&lt;br&gt;

&lt;P&gt;&lt;A href="http://www.lacsharp.org/"&gt;http://www.lacsharp.org/&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=90" width="1" height="1"&gt;</description></item><item><title>Proof that LUA works!</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2006/03/05/66.aspx</link><pubDate>Sun, 05 Mar 2006 19:17:00 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:66</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/66.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=66</wfw:commentRss><description>&lt;p&gt;Something that I preach a lot about is the notion that the average user, that includes
	developers, does not need to log into their machines with admin priveleges. Even
	within Neudesic, where you will find some of the best developers anywhere, I find it to be an uphill battle.
	&lt;/p&gt;
	&lt;p&gt;
	I have been running as not non-admin for about 3 years and I can tell you that there
	is nothing that I'm prevented from doing when necessary. More importantly, I have
		never been infected by a virus or malware.&lt;/p&gt;
	&lt;p&gt;
	eWeek recently did a study of the number of attacks based on how the user was logged
	into his machine and the numbers, IMHO not surprising, are astounding.
	&lt;/p&gt;
	&lt;p&gt;
	Look at the graph &lt;a href="http://adminfoo.net/node/460" target="_blank"&gt;here&lt;/a&gt; and then read the full eWeek story.
	&lt;/p&gt;
	&lt;p&gt;
	The bottom line is that running as LUA significantly reduces the possibility of a succesful attack.
	&lt;/p&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=66" width="1" height="1"&gt;</description></item><item><title>San Diego .Net User Group Presentation</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2006/03/02/61.aspx</link><pubDate>Thu, 02 Mar 2006 13:14:00 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:61</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/61.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=61</wfw:commentRss><description>I'd like to thank the San Diego .Net User Group for thr opportuniy to present WSE 3.0 and Asp .Net 2.0 Web Parts. These are two diverse topics but I had fun presenting them both.&lt;br&gt;&lt;br&gt;
What a lively group! Lot's of questions related to security. Although security happens to me one of my favorite subjects, the group seemed particularly jazzed about Web parts. I can’t say that I blame them. It is the sexier of the two subjects.&lt;br&gt;&lt;br&gt;
I have been saying for a while that I thought that Web parts was going to change how Web projects and pages are designed. The Web part framework is very flexible and permits the developer to design pages that are made up of loosely coupled parts rather that one large monolithic page of content.
&lt;br&gt;&lt;br&gt;
I've been seeing this change in the projects on which I have worked. Some of the pages are designed to be customizable by the user. We just supply a catalog of Web parts that the end user can select from. The end user has the flexibility to select from a series of customizable Web parts. From the reaction of my customers, Web parts are a winner.
&lt;br&gt;&lt;br&gt;
And the ability to create “connections” between Web parts is truly sweet.
&lt;br&gt;&lt;br&gt;
Many of you know that I have been a developer for a VERY long time. It’s 30+ years now. But, I cannot imagine doing anything else. What a great time to be a developer. I absolutely love working with the new technologies and with all of the new products that Microsoft is releasing within the next year, I’m in heaven.
&lt;br&gt;&lt;br&gt;
In any case, &lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="http://www.neudesic.com/uploads/Chris_Rolon/SDUGMaterials.zip"&gt;here&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt; is a link to the materials.
&lt;br&gt;&lt;br&gt;
Enjoy!

&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=61" width="1" height="1"&gt;</description></item><item><title>RSS Toolkit for ASP .Net 2.0 released</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2006/02/26/57.aspx</link><pubDate>Sun, 26 Feb 2006 23:29:00 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:57</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/57.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=57</wfw:commentRss><description>Dmitryr has just announced the release of an RSS toolkit for ASP .Net 2.0.
&lt;br&gt;&lt;br&gt;
And the free toolkits for ASP .Net just keep coming.
&lt;br&gt;&lt;br&gt;
&lt;P&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="http://blogs.msdn.com/dmitryr/archive/2006/02/21/536552.aspx"&gt;http://blogs.msdn.com/dmitryr/archive/2006/02/21/536552.aspx&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/P&gt;
&lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=57" width="1" height="1"&gt;</description></item><item><title>Microsoft announces the end of support for Wintendo!</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2006/02/16/52.aspx</link><pubDate>Fri, 17 Feb 2006 07:21:00 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:52</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/52.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=52</wfw:commentRss><description>Microsoft has announced that extended support for Windows 98 and Windows ME will end on July 11, 2006. Hallelujah! Rejoice! The end of Wintendo!
&lt;br&gt;&lt;br&gt;
&lt;P&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="http://www.microsoft.com/windows/support/endofsupport.mspx"&gt;http://www.microsoft.com/windows/support/endofsupport.mspx&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/P&gt;
&lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=52" width="1" height="1"&gt;</description></item><item><title>WCF Presentation</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2006/02/16/51.aspx</link><pubDate>Fri, 17 Feb 2006 07:10:00 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:51</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/51.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=51</wfw:commentRss><description>Last night I had an opportunity to present Window Communication Foundation(WCF) to the Orange County C# Developers Group. After some initial problems with a demo the remainder of the presentation went well.
&lt;br&gt;&lt;br&gt;
What an exciting technology! The more that I work with WCF the more I become convinced that WCF will change how we create services.
&lt;br&gt;&lt;br&gt;
If you don't know anything about WCF take some time and visit &lt;br&gt;&lt;br&gt;
&lt;P&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="http://windowscommunication.net"&gt;http://windowscommunication.net&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/P&gt;
&lt;br&gt;&lt;br&gt;

While you're at it, purchase "Programming Indigo". This book was written by a friend of mine, David Pallman. It is a well written book with lot's of samples to show you how the technology works. It provided me with great insight into WCF. &lt;br&gt;&lt;br&gt;
&lt;P&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="http://www.microsoft.com/MSPress/books/7703.asp"&gt;http://www.microsoft.com/MSPress/books/7703.asp&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/P&gt;
&lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=51" width="1" height="1"&gt;</description></item><item><title>Team System SCC Removal tool</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2006/02/11/49.aspx</link><pubDate>Sat, 11 Feb 2006 23:42:00 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:49</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/49.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=49</wfw:commentRss><description>Recently I have been working with Team System/Team Foundation. Since the product is still beta, not unexpectedly, I have had some problems. As a result I have had to manually remove all trace of Team System from my solutions and projects before attempting to check them into Team System again. This tends to be a pain so I wrote the SccRemovalTool. This console application will find the solution and project files,given a path, and remove entries that indicate that the files are checked into source control. In addition, the tool will remove files with extensions of "vssscc" and "vspscc".

&lt;br&gt;&lt;br&gt;
&lt;P&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="http://www.neudesic.com/uploads/Chris_Rolon/SccRemovalTool.zip"&gt;http://www.neudesic.com/uploads/Chris_Rolon/SccRemovalTool.zip&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/P&gt;
&lt;br&gt;&lt;br&gt;
Chris Rolon
&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=49" width="1" height="1"&gt;</description></item><item><title>ASP .Net 2.0 Membership and Profile problems</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2006/02/10/46.aspx</link><pubDate>Fri, 10 Feb 2006 14:42:00 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:46</guid><dc:creator>Chris</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/46.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=46</wfw:commentRss><description>I recently installed the Team Suite version of Visual Studio 2005 and found that some demos that I have been doing for months were suddenly broken.
&lt;br&gt;&lt;br&gt;
Whenever I used a demo that required use of the membership/profile database I would get "error: 26 - Error Locating Server/Instance Specified". I further discovered that the ASP .Net Configuration tool would fail whenever I tried to test the provider or enter the security tab.
&lt;br&gt;&lt;br&gt;
This had me scratching my head a bit because I did not recall having any problems when I installed the RTM Pro version of Visual Studio 2005. In any case this problem had me doing a bit of a search.
&lt;br&gt;&lt;br&gt;
The error was that the Sql Server instance could not be found. I started by looking at web.config. There was nothing about a connection there so I looked in VS 2005 Tools/Options/Database  Tools. There I found a reference to SQLExpress. I assumed that was the problem so I cleared the entry so that it would use the default. Unfortunately my demos were still broken.
&lt;br&gt;&lt;br&gt;
After a little bit of thought I decided to look in the "mother of all configuration files", machine.config. I was able to spot the problem. Here is what the connection string looked like:
"data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true".
&lt;br&gt;&lt;br&gt;
When I installed Team Suite the default connection string for the local Sql Server was set to Sql Express. I changed this string to reflect the fact that I was using Sql Server 2005 and now all is well.
&lt;br&gt;&lt;br&gt;
I hope that this information save someone some pain.&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=46" width="1" height="1"&gt;</description></item><item><title>Microsoft Changes Certification Program</title><link>http://blogs.neudesic.com/blogs/chris_rolon/archive/2006/02/09/42.aspx</link><pubDate>Thu, 09 Feb 2006 14:07:00 GMT</pubDate><guid isPermaLink="false">4de385cc-dd5e-41d6-9ee9-5129d7639371:42</guid><dc:creator>Chris</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.neudesic.com/blogs/chris_rolon/comments/42.aspx</comments><wfw:commentRss>http://blogs.neudesic.com/blogs/chris_rolon/commentrss.aspx?PostID=42</wfw:commentRss><description>For developers that have achieved a Microsoft certification, big changes are in the works.

At VS Live Microsoft's VP of Development Technology, Soma Somasegar, announced that MCSD, MCAD and MCSE certifications will be going away.

Before you panic, the certifications will be good for some time to come.

Soma announced that there will be new certifications for developers in two tiers:
&lt;br&gt;&lt;br&gt;
1. Technical Specialist - 
There are three options available at this tier:
&lt;li&gt;Windows Applications&lt;/li&gt;
&lt;li&gt;Web Applications&lt;/li&gt;
&lt;li&gt;Distributed Applications/li&gt;
&lt;br&gt;&lt;br&gt;
2. Professional Developer - 
This tier requires the Technical Specialist certification and also has three options.
&lt;li&gt;Windows Developer&lt;/li&gt;
&lt;li&gt;Web Developer&lt;/li&gt;
&lt;li&gt;Enterprise Application Developer&lt;/li&gt;
&lt;br&gt;&lt;br&gt;
Sql Server also has a Technical Specialist certification with three options:
&lt;br&gt;&lt;br&gt;
&lt;li&gt;Database Administrator&lt;/li&gt;
&lt;li&gt;Database Developer&lt;/li&gt;
&lt;li&gt;Business Intelligence Developer&lt;/li&gt;
&lt;br&gt;&lt;br&gt;
In addition to the certifications above, Microsoft announced an "architect series" certification which will require proven ability in business integration issues.
&lt;br&gt;&lt;br&gt;
The biggest change to the certifications is that these certifications will require a peer review process. The architect series in particular will require going before an oral review board.

&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=42" width="1" height="1"&gt;</description></item></channel></rss>