<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/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Silverlight 2.0</title>
        <link>http://www.theruntime.com/blogs/jaykimble/category/266.aspx</link>
        <description>Silverlight 2.0</description>
        <language>en-US</language>
        <copyright>Jay Kimble</copyright>
        <managingEditor>jkimble@gmail.com</managingEditor>
        <generator>Subtext Version 1.9.5.0</generator>
        <item>
            <title>DLRScript 0.55 released for Silverlight2 Beta2</title>
            <link>http://theruntime.com/blogs/jaykimble/archive/2008/07/24/dlrscript-0.55-released-for-silverlight2-beta2.aspx</link>
            <description>&lt;p&gt;[UPDATE: I forgot to add the link to the project - &lt;a href="http://www.codeplex.com/dlrscript"&gt;http://www.codeplex.com/dlrscript/&lt;/a&gt;]&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;It took a bit of time for this release. In the end I had to take everything a step back (as well as there are probably a few "mid thoughts" in here as the release of SL2 Beta 2 caught me a bit by surprise... actually the changes to the DLR caught me more by surprise).&lt;/p&gt;
&lt;p&gt;The step back is that we no longer get script code lines when there are issues. I’ll try to bring this feature back, but right now if it breaks, you’ll know it via an alert with a .NET error.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Future direction&lt;/strong&gt; &lt;br /&gt;
I need some feedback on this. I’ve been thinking about scrapping any attempt at jscript compatibility and am thinking more about ecma3 support (DLRJScript has an ecma3 mode). The benefit there is that I could start focusing on building a better set of client-side APIs instead of a more compatible one. That said, I’m not sure how qualified I am at coming up with a "better" set of client-side APIs.&lt;/p&gt;
&lt;p&gt;I do want some feedback though. Let me know what you think: jkimble-at-gmail.com.&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/jaykimble/aggbug/2651.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jay Kimble</dc:creator>
            <guid>http://theruntime.com/blogs/jaykimble/archive/2008/07/24/dlrscript-0.55-released-for-silverlight2-beta2.aspx</guid>
            <pubDate>Thu, 24 Jul 2008 20:12:15 GMT</pubDate>
            <wfw:comment>http://theruntime.com/blogs/jaykimble/comments/2651.aspx</wfw:comment>
            <comments>http://theruntime.com/blogs/jaykimble/archive/2008/07/24/dlrscript-0.55-released-for-silverlight2-beta2.aspx#feedback</comments>
            <wfw:commentRss>http://theruntime.com/blogs/jaykimble/comments/commentRss/2651.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Tampa User eXperience (TUX) User Group is coming September 10th, 2008&amp;hellip;</title>
            <link>http://theruntime.com/blogs/jaykimble/archive/2008/07/17/tampa-user-experience-tux-user-group-is-coming-september-10th.aspx</link>
            <description>&lt;p&gt;I am proud to announce that I and a couple other guys are starting User Group that revolves around User Experience (or UX) in the MS tools eco-system. The other guys are Shawn Cady, Perry Panagopoulos, and Bill Reiss (MVP) [Bill always gets his MVP props].&lt;/p&gt;
&lt;p&gt;I could give you all their backgrounds, but I’ll make them do it at the first meeting. I’m sure Papa Fish (aka &lt;a href="http://www.devfish.net"&gt;www.devfish.net&lt;/a&gt;) the local MS Dev Evangelist (my Blog Father) Joe Healy will be around (at least for the first meeting).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TUX' Focus &lt;br /&gt;
&lt;/strong&gt;Our focus will be on the "now" of Ajax and how it integrates with ASP.NET (in all its various forms), and the "future" of Silverlight2, and anything in between (like adding Silverlight2 controls to Ajax sites, etc); we’ll not be stuck in just Web either... we’ll probably do some WPF as well. We’ll also be  dealing with some of those more abstract things that you need to get better at (like how to be a better designer, creating good user experiences, etc.), and we will do our best to keep this group "devsigner-friendly" (devsigner is a developer who is also a designer).&lt;/p&gt;
&lt;p&gt;We have a lot of really creative ideas to make this fun and useful to you today as well as with an eye for the future (but I don’t want to blow them all)... We will definitely keep this interactive and will try to help you solve your problems as well (at least we’ll be around to chat with you before and afterward).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;First Talk: Intro To MS Ajax Scripting&lt;/strong&gt; &lt;br /&gt;
The first person to present will be me. I will be pulling a talk out of my paid pile which means that you have probably never seen me give this talk (unless you work at one of the companies I gave it at)... this is very special and will never be repeated (well, maybe). This talk is one that I have yet to see anyone give (for free). It’s an introduction to the MS Ajax scripting framework. Oftentimes you see a demo where someone shows you how to build an Ajax Extender control where a JavaScript is thrown in, but rarely (I’ve never seen it done) does someone talk to you about building the script behavior which is used to create the Server-Side Extender (I will in fact be doing just this). You will leave this talk with the knowledge of how to do it. As is often the case when I talk about JavaScript, I’ll end with a Script# demo which will make your life a lot easier (so we’ll build the last demo in C# which will be compiled to MS Ajax-style JavaScript); this big demo is a selection grid behavior that I built for my employer to replace a commercial grid component that we were using; you’ll definitely have a use for it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bonus&lt;/strong&gt; &lt;br /&gt;
We’ll have Pizza provided by Answers Systems, so just get there after work... you don’t need to eat first.&lt;/p&gt;
&lt;p&gt;AND!!!! Bill Reiss (MVP) has graciously given us an &lt;strong&gt;&lt;em&gt;MSDN Premium Subscription&lt;/em&gt;&lt;/strong&gt; (used to be MSDN Universal) to &lt;strong&gt;&lt;em&gt;give away&lt;/em&gt;&lt;/strong&gt;, so don’t miss it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Where/When will it be?&lt;/strong&gt; &lt;br /&gt;
We will be holding these events at my workplace: Answers Systems in Oldsmar, FL. Better directions than this will follow in the near future (we will have a web site soon), but it’s right next to (West of) the Oldsmar Fleamarket on Tampa Rd (aka Hillsborough Ave). We plan to open the doors at 6:30pm with the activities starting at 7:00pm.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Can’t make it, but you really wanted to see my session?&lt;/strong&gt; &lt;br /&gt;
&amp;lt;sarcasm&amp;gt;So you are in my fan club (Eric Wise, I know that’s you since you maintain some of my stellar code), but you live in another state (like say the cold state of Ohio... where it’s 40 degrees Fahrenheit in August) so there is no way you could see this session by me, but you really, really want to see it, but the plane ticket is so expensive.&amp;lt;/sarcasm&amp;gt;&lt;/p&gt;
&lt;p&gt;Well, we plan on videoing our sessions and making them available online (as long as the speaker is OK with it, and I am... SO this is the LAST time I’ll be able to charge for this session... unless I revamp it which I will).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Afterwards...&lt;/strong&gt; &lt;br /&gt;
I’m not Joe Healy so I can’t pick up the tab, but there is a Starbucks down the street that many of my colleagues and I like to frequent (Stimulants... I need a good stimulant not a depressant... but we could be talked into depressants), so don’t be surprised if we all end up somewhere afterwards or maybe somewhere else... &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RSVP&lt;/strong&gt; &lt;br /&gt;
If you plan on coming please drop me a line via the contact form on this site. We need this to help us figure out how much Pizza to buy. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PS&lt;/strong&gt; &lt;br /&gt;
In October (the 2nd Wednesday), Bill will be doing a Silverlight2 talk (He’s a Silverlight MVP and a soon-to-be Silverlight book author). It will be more of an intro, but he plans on really giving a nice overview from both the diesgn standpoint and the development standpoint.&lt;/p&gt;
&lt;p&gt;And, yes, we actually have a a list of things we’re thinking about for November... nothing definitive (yet), but we plan on being way ahead of the game (as best as we can).&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/jaykimble/aggbug/2645.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jay Kimble</dc:creator>
            <guid>http://theruntime.com/blogs/jaykimble/archive/2008/07/17/tampa-user-experience-tux-user-group-is-coming-september-10th.aspx</guid>
            <pubDate>Fri, 18 Jul 2008 03:35:18 GMT</pubDate>
            <wfw:comment>http://theruntime.com/blogs/jaykimble/comments/2645.aspx</wfw:comment>
            <comments>http://theruntime.com/blogs/jaykimble/archive/2008/07/17/tampa-user-experience-tux-user-group-is-coming-september-10th.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://theruntime.com/blogs/jaykimble/comments/commentRss/2645.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Types of Silverlight2 apps</title>
            <link>http://theruntime.com/blogs/jaykimble/archive/2008/07/07/types-of-silverlight2-apps.aspx</link>
            <description>&lt;p&gt;I want to go on record for a prediction. I believe when the dust settles with Silverlight2 (SL2, hereafter), we will have 2 major types of apps. To me this is fairly obvious, but if all you did was look at SL2 tutorials you would get a different view altogether. You see all the tutorials that exist out there show you what I think is the preferred way: a single application that lives in the browser as a plugin.&lt;/p&gt;  &lt;p&gt;I also see another SL2 type of app: the SL2 enhanced Ajax App. Seriously, there will be those who will use some of the fancy SL2 controls (and I’m talking about the third party ones that will be developed) to bring their Ajax apps into a new domain. So from a plumbing perspective they will stick with the familiar page model we have today. I think the draw of Ajax is strong and I would rather this not happen because it is my view that the SL2 framework is way better than classic DHTML/Ajax/Web2.0. There are those who will say, "I can’t leave the rich experience of JS on the client." (phooey... just code in DLR JScript instead if you want JavaScript).&lt;/p&gt;  &lt;p&gt;BTW, I also see a third model. The old model built with a single Sl2 applet on each page. I think this will be a minor idea, but I see it coming.&lt;/p&gt;  &lt;p&gt;-----------&lt;/p&gt;  &lt;p&gt;On another note, I’ll be putting up a few SL2 posts. I have been doing a fair bit of work with it in the last month or so. It definitely involves a slightly different mentality than classic web apps. &lt;/p&gt;  &lt;p&gt;My SL2 prototype actually uses a REST service built with MS MVC and with the MVC Contrib project’s Restful feature. I will write some on this in the not too distant future. I have really grown to like REST (and building a service the way I have is really great for quick prototyping).&lt;/p&gt;  &lt;p&gt;I’m actually starting to chew on Databinding (and doing CRUD operations on the data), so in time I’ll be writing about some of that stuff too.&lt;/p&gt;  &lt;p&gt;--------------&lt;/p&gt;  &lt;p&gt;Additionally, I am also working on starting a .NET UX user group here in Tampa Bay. I’m working with a couple of the local personalities to bring together a really good group. The group would focus on MS Ajax (and other Ajax Frameworks with ASP.NET and MS MVC) and Silverlight2 based apps. I can’t wait. It’s really exciting!&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/jaykimble/aggbug/2641.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jay Kimble</dc:creator>
            <guid>http://theruntime.com/blogs/jaykimble/archive/2008/07/07/types-of-silverlight2-apps.aspx</guid>
            <pubDate>Mon, 07 Jul 2008 21:03:02 GMT</pubDate>
            <wfw:comment>http://theruntime.com/blogs/jaykimble/comments/2641.aspx</wfw:comment>
            <comments>http://theruntime.com/blogs/jaykimble/archive/2008/07/07/types-of-silverlight2-apps.aspx#feedback</comments>
            <wfw:commentRss>http://theruntime.com/blogs/jaykimble/comments/commentRss/2641.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Papa to write Silverlight2 book</title>
            <link>http://theruntime.com/blogs/jaykimble/archive/2008/05/16/papa-to-write-silverlight2-book.aspx</link>
            <description>&lt;p&gt;My buddy JP (John Papa) is writing a Silverlight2 book. See his blog &lt;a href="http://johnpapa.net/all/as-it-once-was-i-am-writing-a-book/"&gt;here&lt;/a&gt; and &lt;a href="http://johnpapa.net/all/silverlight-2-book-cover-mock-up/"&gt;here&lt;/a&gt; for more info. JP is known for his DataPoints column in MSDN magazine (and he is an MV, a former co-worker, and former co-blogger... SO, I read his blog).&lt;/p&gt;  &lt;p&gt;I found this out a day after I visited the Manning site and purchased to EAP Silverlight2 books. I wish I had known I would have seen what I could do to purchase an early release of JP’s book.&lt;/p&gt;  &lt;p&gt;Needless to say I expect John’s book to be really good. I know that he’s an awesome communicator, and has been heavily in this whole XAML space for a while.&lt;/p&gt;  &lt;p&gt;I won’t write about my newly-purchased Manning books yet (especially since this is a post where I push John’s book).&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/jaykimble/aggbug/2409.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jay Kimble</dc:creator>
            <guid>http://theruntime.com/blogs/jaykimble/archive/2008/05/16/papa-to-write-silverlight2-book.aspx</guid>
            <pubDate>Fri, 16 May 2008 17:38:19 GMT</pubDate>
            <wfw:comment>http://theruntime.com/blogs/jaykimble/comments/2409.aspx</wfw:comment>
            <comments>http://theruntime.com/blogs/jaykimble/archive/2008/05/16/papa-to-write-silverlight2-book.aspx#feedback</comments>
            <wfw:commentRss>http://theruntime.com/blogs/jaykimble/comments/commentRss/2409.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Silverlight2 Programming: The Designer Rule</title>
            <link>http://theruntime.com/blogs/jaykimble/archive/2008/05/13/silverlight2-programming-the-designer-rule.aspx</link>
            <description>&lt;p&gt;I’m starting a new series on Silverlight2. I am currently building a little SL2 prototype, and as I am learning things I thought I would write them down here.&lt;/p&gt;  &lt;p&gt;The first rule deals with working with Designers. It is stated as such.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;"Prefer XAML code to CLR/DLR code when it comes building interfaces"&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Note the word "prefer" here. That word means "usually", "normally", or "unless there is an exception."&lt;/p&gt;  &lt;p&gt;This is best explained by some C# code I saw the other day. It looked something like this:&lt;/p&gt;  &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4"&gt;   &lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;     &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ElementX = &lt;span style="color: #006080"&gt;@"&amp;lt;div class='twocolumndiv'&amp;gt;&amp;lt;span class='singlecolumn'&amp;gt;{0}&amp;lt;/span&amp;gt;&amp;lt;span class='singlecolumn'&amp;gt;{1}&amp;lt;/span&amp;gt;"&lt;/span&gt;;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The problem with the above code is that you’ve embedded it into your code. It’s effectively buried. If someone else needs to change this template to say add a field or to make changes in any manner, they are scanning the code looking for this (provided they know where to look); this will be the cause of much swearing and maligning of your name.&lt;/p&gt;

&lt;p&gt;To make matters worse, if you have a web designer you have effectively removed their visibility to this code (maybe this point is made a little sharply; I know some web designers who would be scanning the code as well, but they wouldn’t be happy).&lt;/p&gt;

&lt;p&gt;So how does this relate to SilverLight 2? Simple, you should try to avoid instantiate controls on your Silverlight views (pages??) that a designer has no visibility to (in other words, using a UserControl that has an associated XAML is fine, but instantiating a new UserControl and throwing a new layout and a bunch of text boxes should be done with great care... you should know why you did it that way). &lt;/p&gt;&lt;img src="http://theruntime.com/blogs/jaykimble/aggbug/2407.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jay Kimble</dc:creator>
            <guid>http://theruntime.com/blogs/jaykimble/archive/2008/05/13/silverlight2-programming-the-designer-rule.aspx</guid>
            <pubDate>Tue, 13 May 2008 16:04:43 GMT</pubDate>
            <wfw:comment>http://theruntime.com/blogs/jaykimble/comments/2407.aspx</wfw:comment>
            <comments>http://theruntime.com/blogs/jaykimble/archive/2008/05/13/silverlight2-programming-the-designer-rule.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://theruntime.com/blogs/jaykimble/comments/commentRss/2407.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DLRScript update</title>
            <link>http://theruntime.com/blogs/jaykimble/archive/2008/04/24/dlrscript-update-again.aspx</link>
            <description>&lt;p&gt;I have begun working on DLRJScript-JavaScript compatibility. I was actually successful running my first externally created JavaScript -- EcmaUnit 0.4 (which is a small JS testing framework). I did have to make a couple modifications.&lt;/p&gt;
&lt;p&gt;I’m becoming aware of the size of this job though. I’m currently porting a Mozilla-compatible XmlHttpRequest object which I think will work with all the major Ajax frameworks. I’m not sure which Ajax Framework I’ll actually target as the first on to run. I could stick with the man and make it work with the MS Ajax client library, I could go with Prototype that so many people swear by or I could use something else (JQuery is looking rather interesting to me in this regard). The biggest thing I require though is either an extensive sample project or a test suite itself. This makes it easier to see if my JavaScript replacement is working OK or not. Once I have a reasonable compatibility (one or more frameworks working fairly good with minimal issues) then I’ll move over to making the various languages capable of communicating with one another (so I can loadup JQuery and then use it, clientside, from Iron Ruby).&lt;/p&gt;
&lt;p&gt;In case you forget why you might want to do this, it’s simple really; DLRJscript is faster (because it’s compiled) then traditional JavaScript (which is interpreted).&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/jaykimble/aggbug/2398.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jay Kimble</dc:creator>
            <guid>http://theruntime.com/blogs/jaykimble/archive/2008/04/24/dlrscript-update-again.aspx</guid>
            <pubDate>Thu, 24 Apr 2008 15:46:22 GMT</pubDate>
            <wfw:comment>http://theruntime.com/blogs/jaykimble/comments/2398.aspx</wfw:comment>
            <comments>http://theruntime.com/blogs/jaykimble/archive/2008/04/24/dlrscript-update-again.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://theruntime.com/blogs/jaykimble/comments/commentRss/2398.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DLRScript 0.5 Notes...</title>
            <link>http://theruntime.com/blogs/jaykimble/archive/2008/04/14/dlrscript-0.5-notes.aspx</link>
            <description>&lt;p&gt;As you may or may not have seen, over the weekend I released a new version of my DLRScript project.  It’s coming along. It adds 3 things: File loading via the src attribute, better exception reporting for DLRJScript(it shows you what line of script code failed), and improved DLRJScript performance.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;File Loading     &lt;br /&gt;&lt;/strong&gt;I could probably write a bunch on this (and probably should in another article). Basically I am dynamically loading content (script files) from the server. I also extended HTML a bit in that you can now use the same script tag to load a script from the server and to write additional code that will load after the script has loaded. It looks like this:&lt;/p&gt;  &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4"&gt;   &lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;     &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="DLRJScript"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;src&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="/somefile-on-the-server.js"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; doSomething()&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// Code found here&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;     }&lt;/pre&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;br /&gt;&lt;strong&gt;JS Performance&lt;/strong&gt;

  &lt;br /&gt;Because of the new way I am creating the JScript engine, I get JScript code to compile, so the code that executes is faster than standard interpreted Client-Side JavaScript. I did a simple test which is within my &lt;a href="http://www.codeplex.com/dlrscript/"&gt;project&lt;/a&gt; over on CodePlex. The test simply adds 15 &amp;lt;hr /&amp;gt; elements to a hidden div. It records the time before and after the routine. First run in the DLRJScript results in about the same speed as standard client=side JavaScript. The second run results takes about 1/2 the time and the third trip is even faster (the 4th-6th attempt takes about the same amount of time as the 3rd run, so I figure that’s as fast as it gets). I’m not sure if this implies that the DLR optimizes code even more after subsequent runs of code or not (I know the .NET spec supposedly will optimize code after it has been run a few times).&lt;/p&gt;

&lt;p&gt;Anyway, my test is not scientific in case you are wonder. There could be additional processes on my box that may make the results vary. Everything is a very crude approximation. I did run the client-side version several times to see as well with about the same results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Future&lt;/strong&gt;

  &lt;br /&gt;Ok, my plan is to get my DLRJScript to be more compatible with standard client-side JavaScript using DOM2. Right now I know I’m not even at DOM1 spec. I will be testing various libraries to see if I can get them to run with my implementation. It may result in a faster way to run JavaScript in the browser. Also, since the code is really running within the SilverLight plugin, the script code should be standardized and run the same in every browser (well, at least in theory).&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/jaykimble/aggbug/2386.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jay Kimble</dc:creator>
            <guid>http://theruntime.com/blogs/jaykimble/archive/2008/04/14/dlrscript-0.5-notes.aspx</guid>
            <pubDate>Mon, 14 Apr 2008 18:33:12 GMT</pubDate>
            <wfw:comment>http://theruntime.com/blogs/jaykimble/comments/2386.aspx</wfw:comment>
            <comments>http://theruntime.com/blogs/jaykimble/archive/2008/04/14/dlrscript-0.5-notes.aspx#feedback</comments>
            <wfw:commentRss>http://theruntime.com/blogs/jaykimble/comments/commentRss/2386.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DLRScript Update</title>
            <link>http://theruntime.com/blogs/jaykimble/archive/2008/03/18/dlrscript-update.aspx</link>
            <description>&lt;p&gt;In the next week or so I will be releasing a new version of my DLRScript. It will have external file sourcing/loading via the src attribute (I have that working right now). I would release it today except for 1 issue. &lt;/p&gt;
&lt;p&gt;what is in the file is this&lt;/p&gt;
&lt;p&gt;//JS:&lt;br /&gt;
jsapi.alert("Hi JScript here");&lt;/p&gt;
&lt;p&gt;#Python&lt;br /&gt;
jsapi.alert("Hi Python here")&lt;/p&gt;
&lt;p&gt;#Ruby&lt;br /&gt;
$jsapi.alert("Hi, I'm Ruby and YOU are NOT!")&lt;/p&gt;
&lt;p&gt;Here's the issue. I think I discovered a bug (in my code). When you try to launch multiple alert boxes you get 1 of them and errors for the rest. Which makes sense to me (as you the user need to click the button on one of the Alerts. I will correct this.&lt;/p&gt;
&lt;p&gt;I also discovered another subtle little issue that I want to account for.  The problem is that since we are moving code Asynchronously there are multiple threads involved.  My current development executes code as it gets code back, but it should execute this stuff in the order it appears on the page (I'll be correcting that one too)&lt;/p&gt;
&lt;p&gt;Probably the next week or so, and then I'll be moving forward on my other ideas (most notably the Object Model).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ruby DOM??&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;While I'm on the subject of Object Models, I had some discussions with &lt;a mce_href="http://theruntime.com/blogs/DevPrime/" href="http://theruntime.com/blogs/DevPrime/"&gt;some&lt;/a&gt; &lt;a mce_href="http://theruntime.com/blogs/Jacob/" href="http://theruntime.com/blogs/Jacob/"&gt;friends&lt;/a&gt; to see if I should duplicate client-JavaScript's DOM model or if I should create something else.&lt;/p&gt;
&lt;p&gt;The wisdom from both seemed to be that duplicating client-JS' DOM for JScript and Python would be good, but you Ruby guys would something that is Rubyish (no, not rubish... I said Rubyish).  I was wondering if I might get a Ruby programmer to help me understand what that means (cause neither of my friends can answer that question).&lt;/p&gt;
&lt;p&gt;So here is the question.  If you had the ability to write Ruby code as a client language (and you can with DLRScript) what would the framework look like?  &lt;/p&gt;&lt;img src="http://theruntime.com/blogs/jaykimble/aggbug/2379.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jay Kimble</dc:creator>
            <guid>http://theruntime.com/blogs/jaykimble/archive/2008/03/18/dlrscript-update.aspx</guid>
            <pubDate>Tue, 18 Mar 2008 13:36:00 GMT</pubDate>
            <wfw:comment>http://theruntime.com/blogs/jaykimble/comments/2379.aspx</wfw:comment>
            <comments>http://theruntime.com/blogs/jaykimble/archive/2008/03/18/dlrscript-update.aspx#feedback</comments>
            <wfw:commentRss>http://theruntime.com/blogs/jaykimble/comments/commentRss/2379.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DLRScript... Now With Added Ruby!</title>
            <link>http://theruntime.com/blogs/jaykimble/archive/2008/03/13/dlrscript-now-with-added-ruby.aspx</link>
            <description>&lt;p&gt;Just a quick announcement.  My &lt;a mce_href="http://www.codeplex.com/DLRScript" href="http://www.codeplex.com/DLRScript"&gt;DLRScript&lt;/a&gt; (use DLR Languages in Script Tags via Silverlight 2) project just released a new version with a new language: Ruby.&lt;/p&gt;
&lt;p&gt;I'm really excited to have this working.  As I get time watch for more improvements.&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/jaykimble/aggbug/2376.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jay Kimble</dc:creator>
            <guid>http://theruntime.com/blogs/jaykimble/archive/2008/03/13/dlrscript-now-with-added-ruby.aspx</guid>
            <pubDate>Thu, 13 Mar 2008 14:35:00 GMT</pubDate>
            <wfw:comment>http://theruntime.com/blogs/jaykimble/comments/2376.aspx</wfw:comment>
            <comments>http://theruntime.com/blogs/jaykimble/archive/2008/03/13/dlrscript-now-with-added-ruby.aspx#feedback</comments>
            <wfw:commentRss>http://theruntime.com/blogs/jaykimble/comments/commentRss/2376.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DLRScript release 0.2.2a</title>
            <link>http://theruntime.com/blogs/jaykimble/archive/2008/03/04/dlrscript-release-022a.aspx</link>
            <description>&lt;p&gt;I skipped blogging about the last release mainly because I have been busy trying to find work (as well as preparing for a training I'm doing this month).  Anyway, I thought I should put out a little update, so my readers know that I have made a new release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;New Language!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you've seen the download page you will notice that I have a new language, and no, it's not the language I wanted to add.  It's not Ruby.  I figured out how to get DLR JScript (and I'm calling it that so as to not confuse it with JavaScript the client-side code -- which exposes some objects to DLRScript)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Object Cleanup&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With the last release I cleaned up a little code, and renamed the DomHelper object to jsapi.  I'm still not 100% thrilled with that name, but for now it works.  Basically this object exposes certain DOM functionalities to DLRScript languages as well as exposes a couple JavaScript (client-side) functions/features like alert, confirm, prompt, and eval (although the latter still seems to be working a little strangely).  I will be adding setTimeout/clearTimeout once I have the time.  They are there, but not very usable (or useful).  You can probably use setTimeout, but won't be able to stop it, and only against client-side (non-DLR) JavaScript functions. At some point I'll make it possible to hook up your DLRScript language's functions to setTimeout/clearTimeout&lt;/p&gt;
&lt;p&gt;I also felt like I should respect the camel-case of aspect of JavaScript, so I switched the functions to camel-case (first character is lowercase then the first char of each "word" is uppercase).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Additional Object abstraction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I normally wouldn't do this, but I needed to do this so I could begin to introduce a few streamlined properties.  Here's the objects:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;HtmlObject
    &lt;ul&gt;
        &lt;li&gt;HtmlDocument&lt;/li&gt;
        &lt;li&gt;HtmlElement&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can probably guess that HtmlObject is a parent to the other two (and you would be correct).  One of the things I introduced was a cross-browser "text" property for all objects returned from a getElementById (or the document object). &lt;/p&gt;
&lt;p&gt;This also let me enable a number of pieces of functionality you would fully expect (stuff like attaching/detaching events, adding/removing new elements/attributes, reading/setting properties/tag attribute/styles, etc.&lt;/p&gt;
&lt;p&gt;I will eventually start beefing this up so that you don't have to resort to using the function to read a property (or to read a style)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What's next?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Well, I really, really, really(!!) want to get IronRuby working.  I'm hoping that after Mix08 that should be a little easier to do.  Once I do that then I think I'll do a little bit of work on the object model, and will start looking at adding things like communications support.  I also NEED to get the script tags to load DLR scripts from the web server (and more importantly cache them!)&lt;/p&gt;
&lt;p&gt;I also want to test inter-language communication... maybe Python is better at a task then say Ruby (not sure, so don't be shooting me over the comment), but you want to create more of a DSL (which Ruby is stellar at)... You could potentially write some functions in Python and use them from Ruby.&lt;/p&gt;
&lt;p&gt;So basically I have my work cut out for me... Oh yeah, the DLRScript Project is &lt;a mce_href="http://www.codeplex.com/DLRScript" href="http://www.codeplex.com/DLRScript"&gt;here&lt;/a&gt;. It comes with a couple sample files for you.&lt;/p&gt;&lt;img src="http://theruntime.com/blogs/jaykimble/aggbug/2370.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jay Kimble</dc:creator>
            <guid>http://theruntime.com/blogs/jaykimble/archive/2008/03/04/dlrscript-release-022a.aspx</guid>
            <pubDate>Tue, 04 Mar 2008 21:58:00 GMT</pubDate>
            <wfw:comment>http://theruntime.com/blogs/jaykimble/comments/2370.aspx</wfw:comment>
            <comments>http://theruntime.com/blogs/jaykimble/archive/2008/03/04/dlrscript-release-022a.aspx#feedback</comments>
            <wfw:commentRss>http://theruntime.com/blogs/jaykimble/comments/commentRss/2370.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>