<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Orcas</title><link>http://blogs.interknowlogy.com/adamcalderon/category/157.aspx</link><description>Interesting tidbids about Orcas</description><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.111</generator><item><dc:creator>Adam Calderon</dc:creator><title>Code Length Guidelines in Visual Studio</title><link>http://blogs.interknowlogy.com/adamcalderon/archive/2008/01/07/23021.aspx</link><pubDate>Mon, 07 Jan 2008 20:53:00 GMT</pubDate><guid>http://blogs.interknowlogy.com/adamcalderon/archive/2008/01/07/23021.aspx</guid><description>&lt;p&gt;If you have ever presented or&amp;nbsp;written an article&amp;nbsp;you probably have ran across a situation where the code you have written contains lines that are to long and you need to modify them to fit on the screen or page.&amp;nbsp;This can be a real pain especially when you write code using a wide screen monitor with a high resolution. Well for the past few years I have just lived with this issue until I ran across this&amp;nbsp;really cool blog entry&amp;nbsp;&lt;a href="http://blogs.msdn.com/saraford/archive/2004/11/15/257953.aspx"&gt;Guidelines - A hidden feature for the Visual Studio Editor&lt;/a&gt;&amp;nbsp;by Sara Ford that&amp;nbsp;details how to modify your registry setting to&amp;nbsp;get&amp;nbsp;guidelines in the&amp;nbsp;Visual Studio editor. Once I modified my registry setting,&amp;nbsp;lines showed up in the editor giving me a visual clue&amp;nbsp;of how long my code&amp;nbsp;lines were. At last no more code hacking! For those of you who don&amp;rsquo;t know who &lt;a href="http://blogs.msdn.com/saraford/default.aspx"&gt;Sara Ford&lt;/a&gt; is she is a prolific blogger of all things Visual Studio related and a great source for all kinds of little trinkets on the subject.&lt;/p&gt;&lt;img src ="http://blogs.interknowlogy.com/adamcalderon/aggbug/23021.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Adam Calderon</dc:creator><title>Visual Studio 2008 Peformance Profiler</title><link>http://blogs.interknowlogy.com/adamcalderon/archive/2007/11/08/22470.aspx</link><pubDate>Thu, 08 Nov 2007 13:32:00 GMT</pubDate><guid>http://blogs.interknowlogy.com/adamcalderon/archive/2007/11/08/22470.aspx</guid><description>&lt;p&gt;The Visual Studio Performance Profiler in Visual Studio 2008 is leaps and bounds better than it&amp;rsquo;s predecessor but as always finding any information on Beta technology is not the easiest thing to do. To help out I have included a few blog entries that are helping me understand what VS 2008 has to offer and a few that cover some background information as well.&lt;/p&gt;
&lt;p&gt;This first blog entitled&amp;nbsp;&lt;a href="http://blogs.msdn.com/timothyc/archive/2006/02/28/540291.aspx"&gt;Solving WPF Performance Problems: Step 1&lt;/a&gt;&amp;nbsp;is a great blog by Tim Cahill that you can use&amp;nbsp;to get started with. It covers VS 2005 but included a few good tidbits including a link to a website that contains the debug symbols for the Microsoft DLLs. Tim also has another blog &lt;a href="http://blogs.msdn.com/timothyc/archive/2006/03/08/546437.aspx"&gt;Profiling WPF Applications from the Command Line&lt;/a&gt;&amp;nbsp;that describes how to use the command line with the profiler. The examples cover startup and already running application scenarios which are now supported in the UI in VS 2008.&lt;/p&gt;
&lt;p&gt;Ian Hu has a series of blog entries that cover the profiler in VS 2008 showing off a lot of the cool new features that make this profiler the best yet from Microsoft.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/ianhu/archive/2007/10/17/collecting-performance-counter-information-with-the-visual-studio-team-system-profiler.aspx"&gt;Collecting performance counter information with the Visual Studio Team System profiler&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/ianhu/archive/2007/09/14/pinpoint-a-performance-issue-using-hotpath-in-visual-studio-2008.aspx"&gt;Pinpoint a performance issue using hotpath in Visual Studio 2008 &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/ianhu/archive/2007/08/07/the-new-developer-menu-in-visual-studio-team-system.aspx"&gt;The New Developer Menu in Visual Studio Team System&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/ianhu/archive/2007/07/17/the-visual-studio-profiler-data-collection-control-part-1-excluding-application-startup-time.aspx"&gt;The Visual Studio Profiler Data Collection Control Part 1: Excluding Application Startup Time &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/ianhu/archive/2007/04/03/comparing-performance-reports-with-the-visual-studio-team-system-profiler.aspx"&gt;Comparing performance reports with the Visual Studio Team System Profiler&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src ="http://blogs.interknowlogy.com/adamcalderon/aggbug/22470.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Adam Calderon</dc:creator><title>Orcas Beta1 Golden Gem #1</title><link>http://blogs.interknowlogy.com/adamcalderon/archive/2007/04/27/13043.aspx</link><pubDate>Fri, 27 Apr 2007 17:31:00 GMT</pubDate><guid>http://blogs.interknowlogy.com/adamcalderon/archive/2007/04/27/13043.aspx</guid><description>&lt;p&gt;So one of my new favorite features in Orcas is intellisense in javascript. I have always disliked typing things in blindly and hoping when I run the page all is well. Now I don&amp;rsquo;t have to do this since Microsoft has created this handy new feature. So let me show you a sample that demonstrates how this works.&lt;/p&gt;
&lt;p&gt;So this sample is a new web project that has a default.aspx page and a simple &amp;ldquo;hello world&amp;rdquo; web service called AjaxWebService.asmx. &lt;/p&gt;
&lt;p&gt;&lt;img alt="Ajax_intellisense_01" src="http://blogs.interknowlogy.com/downloads/adamcalderon/ajax_intellisense_01_small.jpg" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;The code you will see is in a script block&amp;nbsp;on the default.aspx page that has a ScriptManager control on it that has a servicereference that points to the AjaxWebService. The series of images below show how you can start with the main namespace and walk down to the method that you want to call in the web service.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Namespace Level&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Ajax_intellisense_1" src="http://blogs.interknowlogy.com/downloads/adamcalderon/ajax_intellisense_1_small.jpg" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Class Level&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Ajax_intellisense_2" src="http://blogs.interknowlogy.com/downloads/adamcalderon/ajax_intellisense_2_small.jpg" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Method and Properties Level&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Ajax_intellisense_3" src="http://blogs.interknowlogy.com/downloads/adamcalderon/ajax_intellisense_3_small.jpg" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Method Call Level&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Ajax_intellisense_4" src="http://blogs.interknowlogy.com/downloads/adamcalderon/ajax_intellisense_4_small.jpg" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So the cool thing about this is that Orcas figured out that my web service had the ScriptServices attribute applied to the class and that the HelloWorld method had the WebMethod attribute and knew what to do. It was like it just created a proxy in the background and then presented that proxy as a class that I could then use in javascript. The thing that made this possible was&amp;nbsp;the ScriptManager control on the page and the web service in the servicereference (see below).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;ScriptManager&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="ScriptManager1"&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="server"&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Services&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;ServiceReference&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;Path&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="AjaxWebService1.asmx"&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Services&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;ScriptManager&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;Now my next great idea was to get intellisense working with a regular javascript file. So I created a javascript file called JScript1.js and added&amp;nbsp;&amp;nbsp;the code below to it using the prototype format.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;font size="2"&gt;
&lt;p&gt;Type.registerNamespace(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;"Demo"&lt;/font&gt;&lt;font size="2"&gt;);&lt;/p&gt;
&lt;p&gt;Demo.Person = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;function&lt;/font&gt;&lt;font size="2"&gt;(firstName, lastName, emailAddress) {&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;._firstName = firstName;&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;._lastName = lastName;&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;._emailAddress = emailAddress;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;Demo.Person.prototype = {&lt;/p&gt;
&lt;p&gt;getFirstName: &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;function&lt;/font&gt;&lt;font size="2"&gt;() {&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;._firstName;&lt;/p&gt;
&lt;p&gt;},&lt;/p&gt;
&lt;p&gt;getLastName: &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;function&lt;/font&gt;&lt;font size="2"&gt;() {&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;._lastName;&lt;/p&gt;
&lt;p&gt;},&lt;/p&gt;
&lt;p&gt;getName: &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;function&lt;/font&gt;&lt;font size="2"&gt;() {&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;._firstName + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;' '&lt;/font&gt;&lt;font size="2"&gt; + &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;._lastName;&lt;/p&gt;
&lt;p&gt;},&lt;/p&gt;
&lt;p&gt;dispose: &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;function&lt;/font&gt;&lt;font size="2"&gt;() {&lt;/p&gt;
&lt;p&gt;alert(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;'bye '&lt;/font&gt;&lt;font size="2"&gt; + &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.getName());&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;Demo.Person.registerClass(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;'Demo.Person'&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;font size="2"&gt;, Sys.IDisposable);&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;
&lt;p&gt;// Notify ScriptManager that this is the end of the script.&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;if&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;typeof&lt;/font&gt;&lt;font size="2"&gt;(Sys) !== &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;'undefined'&lt;/font&gt;&lt;font size="2"&gt;) Sys.Application.notifyScriptLoaded();&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I then thought great I should now get intellisense in my script block but NOOOO. I now had to add the script to the scriptreference in the ScriptManager before I could get things to work (see below).&lt;/p&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;ScriptManager&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="ScriptManager1"&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="server"&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Services&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;ServiceReference&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;Path&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="AjaxWebService1.asmx"&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Services&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Scripts&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;ScriptReference&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;path&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="JScript1.js"&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Scripts&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;ScriptManager&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now once I did this the Demo namespace came up (see below) and I could work with the person class.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Namespace Level&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Ajax_intellisense_6" src="http://blogs.interknowlogy.com/downloads/adamcalderon/ajax_intellisense_6_small.jpg" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Class Level (you know the drill now&amp;hellip;)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Ajax_intellisense_7" src="http://blogs.interknowlogy.com/downloads/adamcalderon/ajax_intellisense_7_small.jpg" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I hope this was helpful in seeing how all of this new intellisense stuff works and if anyone has any other things they have seen please feel free to add to the comments of this blog. I have also included the&amp;nbsp;&lt;a href="http://blogs.interknowlogy.com/downloads/adamcalderon/AppCallWebService.zip"&gt;sample application&lt;/a&gt; I used for this to help in following along. The next thing I have to show off is debugging. You will absolutely freak on this one!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src ="http://blogs.interknowlogy.com/adamcalderon/aggbug/13043.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>