<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://codebetter.com/utility/FeedStylesheets/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>Jay Kimble -- The Dev Theologian</title><link>http://codebetter.com/blogs/jay.kimble/default.aspx</link><description> Philosophizing about the .Net religion</description><dc:language>en</dc:language><generator>CommunityServer 2007 (Build: 20416.853)</generator><item><title>Goodbye...</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/11/12/goodbye.aspx</link><pubDate>Mon, 12 Nov 2007 21:30:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:170816</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I wanted to take the opportunity to thank Brendan, and the gang here for all the good times.&amp;nbsp; It&amp;#39;s been a great opportunity.&amp;nbsp; &lt;/p&gt;&lt;p&gt;I decided with much fear and consideration to set up my own closed blogging community site. I have recently set up my own community blogging site at &lt;a href="http://www.theruntime.com"&gt;TheRuntime.com&lt;/a&gt;.&amp;nbsp; If you want to read my stuff head on over there.&lt;/p&gt;&lt;p&gt;&amp;nbsp;I now know all about Brendan&amp;#39;s pains tweaking the skin of a site, etc.&amp;nbsp; Thanks Brendan! &lt;/p&gt;&lt;p&gt;Jay Kimble&lt;br /&gt;-- The Dev Theologian&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=170816" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Bloggers/default.aspx">Bloggers</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Personal/default.aspx">Personal</category></item><item><title>I'm a Generics Junkie...</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/10/05/i-m-a-generics-junkie.aspx</link><pubDate>Fri, 05 Oct 2007 12:24:18 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:169237</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>7</slash:comments><description>&lt;p&gt;I have a confession to make.&amp;nbsp; You may think it&amp;#39;s so 2005, but nonetheless, I&amp;#39;m discovering an addiction that I have.&amp;nbsp; I love generics!&amp;nbsp; I know again it&amp;#39;s kind of a late confession.&lt;/p&gt; &lt;p&gt;I&amp;#39;ve loved them before for no longer having to write collection code, but the bigger thing for me has been some of the interesting enhancements that I have found within the generics classes.&lt;/p&gt; &lt;p&gt;One of the things I&amp;#39;ve discovered is the cool generic methods like exists, find, etc. that can take an anonymous method -- using &amp;quot;delegate(params) {}&amp;quot;&amp;nbsp;where you can pretty provide a function body that is within the scope of where you are currently working (it feels very similar to JavaScript&amp;#39;s inline functions support).&lt;/p&gt; &lt;p&gt;I have become so addicted to these new methods that recently I was working with some code where I really need to split a string, and I went the extra effort to convert this to a List&amp;lt;&amp;gt; (I need to change it back... I really didn&amp;#39;t need a generic... I just feel more comfortable with a generic)&lt;/p&gt; &lt;p&gt;Darn you ScottGu!&amp;nbsp; Anyone know of a 12-step program?&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=169237" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/.NET/default.aspx">.NET</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Adventures+in+OOP/default.aspx">Adventures in OOP</category></item><item><title>A Night of Ajax in Ohio... October 15th, 2007 at 6:00 pm</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/09/21/a-night-of-ajax-in-ohio-october-15th-2007-at-6-00-pm.aspx</link><pubDate>Fri, 21 Sep 2007 19:32:31 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:168376</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Ok, we have a location and a date.&amp;nbsp; Monday, October 15th, 2007 at the MS offices in Cleveland.&amp;nbsp; The address is 6050 Oak Tree Blvd, Cleveland, Ohio&amp;nbsp;44131.&amp;nbsp; Click here for a &lt;a href="http://maps.google.com/?hl=en&amp;amp;q=6050%20Oak%20Tree%20Blvd.%2C%20Cleveland%2C%20OH%20%2044131"&gt;map&lt;/a&gt;.&amp;nbsp; We will have pizza and soft drinks.&amp;nbsp; It&amp;#39;s going to be a fun time.&lt;/p&gt; &lt;p&gt;I&amp;#39;ll be speaking for about&amp;nbsp;2 hours giving my Intro to MS Ajax, my Best Practices with MS Ajax, and my JavaScript Alternatives talks.&amp;nbsp;&amp;nbsp;It will be a good opportunity to get acquainted with the MS Ajax framework (BTW this is also known as the &amp;quot;Microsoft ASP.NET 2.0 Ajax 1.0 Extensions.&amp;quot;&amp;nbsp; BTW, that last talk will be demo-ing a really cool feature of SilverLight 1.1.&lt;/p&gt; &lt;p&gt;If you hate MS Ajax and prefer&amp;nbsp;Prototype over it and think I&amp;#39;m an idiot for even pushing people this way... then come anyways.&amp;nbsp; It&amp;#39;s free food (and I hear there will be XBoxes).&lt;/p&gt; &lt;p&gt;The big thing this event needs if you are a programmer living in or near&amp;nbsp;the Cleveland area is YOU!&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=168376" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/MS+Ajax/default.aspx">MS Ajax</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/MS+Ajax+Extensions/default.aspx">MS Ajax Extensions</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Ohio/default.aspx">Ohio</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Silverlight+1.1/default.aspx">Silverlight 1.1</category></item><item><title>Should We Be Abstracting SQL Connections into Objects???</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/09/09/should-we-be-abstracting-sql-connections-into-objects.aspx</link><pubDate>Sun, 09 Sep 2007 13:48:46 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:167719</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>6</slash:comments><description>&lt;p&gt;[I know I have your attention.&amp;nbsp; So before you start reading this thinking it&amp;#39;s an anti-ORM post or something of that nature.&amp;nbsp; It&amp;#39;s not.&amp;nbsp; It&amp;#39;s about something entirely different (look at the tags).&amp;nbsp; I am actually attacking a fairly popular notion that I have run into a bit recently and while I may see the point I think the argument misses some critical things... that said... on with the post...]&lt;/p&gt; &lt;p&gt;I have been in Java hell over the last several days.&amp;nbsp; To be specific I have been in Apache Cayenne ORM caching hell.&amp;nbsp; I have been dealing with an update issue with my Mac project.&amp;nbsp; Everything worked great on my windows machine (but not on the Mac).&amp;nbsp; &lt;/p&gt; &lt;p&gt;This project is one that I removed some really bad data access code (my earliest code on this project didn&amp;#39;s have Connection Pooling... Java doesn&amp;#39;t have that by default), and replaced it with the Cayenne ORM.&amp;nbsp; I started by converting only portions of the code that needed a better model (don&amp;#39;t fault me it&amp;#39;s really OLD code... I didn&amp;#39;t know any better at the time).&amp;nbsp; Anyway, as time went on I have moved more and more code to the Cayenne model because of model inconsistencies that have created bugs. The solution to my problem was to eject the Cayenne&amp;nbsp;update and replace it with a stored proc call.&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;lt;analogy&amp;gt;&lt;br /&gt;As I was doing this I began to re-think my ORM choice. I thought about how maybe this was a bad idea.&amp;nbsp; In fact the whole idea of layering a relational database into a set of Objects seems like an abstraction... and as I have read, all abstractions are leaky to some extent, maybe we should be doing this.&lt;/p&gt; &lt;p&gt;Maybe we should go back to raw data calls.&amp;nbsp; I mean if everything was in straight SQL calls without any object there would be less code to test and therefore easier to test as well as less buggy.&amp;nbsp; I mean we wouldn&amp;#39;t be abstracting the database.&amp;nbsp; New programmers would not be uneducated in how the database works.&amp;nbsp; They would quickly become experienced with the actual protocols.&lt;/p&gt; &lt;p&gt;In fact I think we should all open up TCP sockets to the DB.&amp;nbsp; It should be faster and that way we are not abstracting anything.&lt;br /&gt;&amp;lt;/analogy&amp;gt;&lt;/p&gt; &lt;p&gt;So what am I talking about?&amp;nbsp; Well, I read an article on our sister site (Devlicious) that was trying to explain Ayende&amp;#39;s complaints about ASP.NET the leaky abstraction.&amp;nbsp; This &lt;a href="http://devlicious.com/blogs/jeff_perrin/archive/2007/06/04/obscuring-http.aspx"&gt;post&lt;/a&gt; troubled me (BTW, Sorry to do to you, Jeff what always gets done to me... if we ever meet I&amp;#39;ll buy you a drink?); BTW, Jeff is not the only place I&amp;#39;ve read an article like this.&amp;nbsp; I went back and&amp;nbsp;searched Ayende&amp;#39;s posts (I like this &lt;a href="http://www.ayende.com/Blog/archive/2007/03/05/Removing-the-leaky-abstractions-from-WebForms.aspx"&gt;one&lt;/a&gt;), because Jeff&amp;#39;s seems to imply that Ayende wasn&amp;#39;t clear and that no one got it.&lt;/p&gt; &lt;p&gt;After reading Ayende&amp;#39;s post I totally understood (and while I am not at the place to reject ASP.NET... I totally agree with his complaints... I know that&amp;#39;s a shocker.&amp;nbsp; To be honest I avoid any kind of dynamic form in my ASP.NET code for the reasons Ayende lists).&lt;/p&gt; &lt;p&gt;What troubled me was that Jeff complains that ASP.NET was made to look like Desktop programming.&amp;nbsp; Someone in the comments says that it was meant to draw in the VB coder.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Back in the day when I was an ASP developer and I saw the ASP.NET beta, I quickly realized that it was going to make my life a little easier, but that it was totally different then anything I had ever done.&amp;nbsp; Why?&amp;nbsp; Because of the statelessness of the web, and how ASP.NET was an attempt to relieve us from these difficulties.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I think the reason that it seems like Desktop development is that MS was trying to create a model that looked similar between the 2 environments.&amp;nbsp; If we could ask ScottGu I&amp;#39;d bet we would find that they were trying mitigate the number of things the developer had to know (because they were unleashing this massive framework on us all).&lt;/p&gt; &lt;p&gt;I could be wrong.&amp;nbsp; But the big deal with ASP.NET is that it hides the stateless nature of the web.&lt;/p&gt; &lt;p&gt;This actually draws me onto a different thought.&amp;nbsp; Before I say it I need to lay out a few of my own credentials.&lt;/p&gt; &lt;p&gt;--------------------&lt;/p&gt; &lt;p&gt;I have been a professional developer for 14 years now (coming up on my 15th year early next year).&amp;nbsp; Of those 14 years all but 3 have been in a web arena, so I&amp;#39;m an 11 year web veteran.&amp;nbsp; I predominantly feed my family writing Intranet apps.&amp;nbsp; I generally don&amp;#39;t write shopping carts.&amp;nbsp; I write reporting apps, I write data collection apps... I have written a number of very cool web apps (that in my opinion were not really worth the effort or money poured into them... I certain app I did back in 2001 that made live calls to TransUnion&amp;#39;s credit services comes to mind; this same app also made calls to a phone company; the app never made it into production as far as I know -- thank God!)&lt;/p&gt; &lt;p&gt;That said, I think that HTML over HTTP is a lousy platform.&amp;nbsp; Statelessness sucks!&amp;nbsp; It&amp;#39;s the one thing I would change about the web environment.&amp;nbsp; If you don&amp;#39;t know the history about HTML/HTTP you would do well to go back and read some on it.&amp;nbsp; You&amp;#39;ll find that originally all this was a Document library (not a platform for programming).&amp;nbsp; The web server handed documents out (and at the heart of things, that&amp;#39;s what it still is). [BTW, I finally get why so many want to use MVC or MVP... it definitely better mimics what is REALLY going on].&lt;/p&gt; &lt;p&gt;This is what something like SilverLight (or any of the competitors : Flash, Adobe Air, Java FX, etc.). I now have a plugin that I can write Rich Internet Apps and avoid some of the stateless mess... Before someone points this out... yes, this isn&amp;#39;t new either.&amp;nbsp; We have had this stuff for awhile, but these frameworks are starting to mature (Ok, you could also say that since MS created one we are all looking at them now).&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=167719" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Leaky+Abstraction/default.aspx">Leaky Abstraction</category></item><item><title>Customer Service and a new Laptop...</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/09/07/customer-service-and-a-new-laptop.aspx</link><pubDate>Fri, 07 Sep 2007 17:25:24 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:167663</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;About&amp;nbsp;3 weeks&amp;nbsp;ago, my laptop&amp;#39;s 1 year warranty ran out.&amp;nbsp; So you can almost imagine where this is going...&lt;/p&gt; &lt;p&gt;The good news is that my laptop had a major issue about 1 month ago (yep, 1 week before warranty ran out).&amp;nbsp; What happened?&amp;nbsp; Well I was tweaking Vista and noticed that there was a recommended BIOS update on the Gateway site for anyone running Vista.&amp;nbsp; So I downloaded the burning software, and the update... actually I saved this one for last, but was having some painful WiFi issues that I decided to go for it.&lt;/p&gt; &lt;p&gt;Well, the burn&amp;nbsp;completed successfully, BUT upon reboot the machine would not boot.&amp;nbsp; It goes through the standard tests.&amp;nbsp; So it went back for service.&lt;/p&gt; &lt;p&gt;In my mind this should simply be a matter of them cracking open the box getting the BIOS chip out, dropping it into a chip burner, re-burning it, and then dropping it back in the box...&lt;/p&gt; &lt;p&gt;I got a phone call on the day I expected it back in town... &lt;br /&gt;&amp;quot;Mr. Kimble, the problem your laptop is having is not covered by warranty...&amp;quot; &lt;/p&gt; &lt;p&gt;(Ok,here it comes... couple hundred bucks... this sucks but I can live with that... I NEED this laptop)&lt;/p&gt; &lt;p&gt;&amp;quot;You need a whole new motherboard to repair this&amp;quot; (What!!??&amp;nbsp; Are you kidding me?&amp;nbsp; It&amp;#39;s a chip... that just needs re-burned... &amp;nbsp;if I still had the equipment I would have done it myself... well except that my soldering skills leave a lot to be desired)&lt;/p&gt; &lt;p&gt;&amp;quot;The price to fix this is $ {take laptop original price and add $500}. Do you want me to fix it?&amp;quot; &amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;quot;Hell, no!&amp;quot; (sorry for the profanity) This laptop has never been right... I was under the gun when I bought it and I kept it beyond the return window.&amp;nbsp; I bought it at Best Buy, after talking to some of the Geek Squad guys, I decided to call Best Buy&amp;#39;s customer support line.&lt;/p&gt; &lt;p&gt;I didn&amp;#39;t figure they would do anything about the laptop, but to be honest I thought I might get something from them (discount, coupon, or something).&lt;/p&gt; &lt;p&gt;How short sighted?&amp;nbsp; It is the difference between a customer loyalty and customer ennui (or worse customer hatred).&amp;nbsp; &lt;/p&gt; &lt;p&gt;I don&amp;#39;t hate them, but they gave me nothing... A $100 off coupon actually causes me to buy from them as well as causes me to remember this whole bad experience as &amp;quot;those stupid jerks at Gateway!!&amp;quot;&amp;nbsp; It&amp;#39;s now &amp;quot;those goofs at Gateway and Best Buy.&amp;quot;&lt;/p&gt; &lt;p&gt;Anyway, I bought the &amp;quot;Man&amp;#39;s Laptop.&amp;quot;&amp;nbsp; Or at least a reasonable fascimile.&amp;nbsp; I took the money I would have spent on fixing the motherboard on my crappy machine and bought an ASUS A7t-AS1.&amp;nbsp; The thing I like the most (which you probably won&amp;#39;t like) is the 17&amp;quot; monitor (it&amp;#39;s also a Turion TL-60 -- 2.00 ghz).&amp;nbsp; From now on whenever I speak or go to conferences, people will remember me as the guy with the massive laptop!&lt;/p&gt; &lt;p&gt;[BTW, Papa Fish, I need a new Microsoft sticker for my new laptop bag... the ASP.NET podcast sticker looks puny on it].&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=167663" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/ASUS/default.aspx">ASUS</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/ASUS+rocks/default.aspx">ASUS rocks</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/best+buy/default.aspx">best buy</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/best+buy+sucks/default.aspx">best buy sucks</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/gateway/default.aspx">gateway</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/gateway+sucks/default.aspx">gateway sucks</category></item><item><title>A Night Of Ajax In Ohio (Akron-Cleveland Area) In October</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/08/24/a-night-of-ajax-in-ohio-akron-cleveland-area-in-october.aspx</link><pubDate>Fri, 24 Aug 2007 14:52:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:167105</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://devauthority.com/blogs/dbalzer/default.aspx"&gt;Dave Balzer&lt;/a&gt; (of DevAuthority fame)&amp;nbsp;and I have been talking about my trips to Ohio once a month, and how I have been itching to speak (and would really love to speak in the State of my birth).&amp;nbsp; &lt;/p&gt;
&lt;p&gt;We need to plan far in advance so that Dave can get a place lined up.&amp;nbsp; He (not me)&amp;nbsp;probably should put some kind of sign up form so we know how many to expect.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Do we have anything together?&amp;nbsp; Well, actually I do know what I&amp;#39;m&amp;nbsp;going to do my talk on.&amp;nbsp; I&amp;#39;m going to do a somewhat informal talk which involve my into to MS Ajax, Best Practices with MS Ajax (will also apply to other Ajax libs, BTW), and my alternative to JavaScript (aka my Script#/SilverLight talk).&amp;nbsp; All in all I figure that I can talk for about 2 hours on the subjects (possibly longer with your questions).&lt;/p&gt;
&lt;p&gt;This will all happen mid-month in Ohio.&amp;nbsp; (to steal a variation on Jeremy&amp;#39;s line about the ALT.NET conference). If you line in Ohio and think Ajax sux and especially MS Ajax... or if it&amp;#39;s not TDD enough for you, come on in and give me crap.&amp;nbsp; I tick you off sometime in the past, come meet me, and find out what a jerk I&amp;nbsp;REALLY am &amp;lt;grin /&amp;gt;. &lt;/p&gt;
&lt;p&gt;Seriously, we&amp;#39;ll be digging in to MS Ajax and you should come away with some good tools (knowledge) for assessing Ajax patterns in your development.&lt;/p&gt;
&lt;p&gt;BTW, stay tuned to my blog and &lt;a href="http://devauthority.com/blogs/dbalzer/default.aspx"&gt;Dave&amp;#39;s&lt;/a&gt;...&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=167105" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Ajax+Performance/default.aspx">Ajax Performance</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/MS+Ajax/default.aspx">MS Ajax</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/MS+Ajax+Extensions/default.aspx">MS Ajax Extensions</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Ohio/default.aspx">Ohio</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/training/default.aspx">training</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/User+Group/default.aspx">User Group</category></item><item><title>BDD, Git 'R Done (GRD) Dev, and Testing progress</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/08/14/bdd-git-r-done-grd-dev-and-testing-progress.aspx</link><pubDate>Tue, 14 Aug 2007 18:37:31 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:166815</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>17</slash:comments><description>&lt;p&gt;A few weeks ago I wrote a comment&amp;nbsp;on Scott Bellware&amp;#39;s blog that, like a lot of the TDD crowd, I was becoming&amp;nbsp;enamored with BDD.&amp;nbsp; I think I probably perplexed Scott a bit until he realized that I was leaving out the TDD component which I guess in the truest sense is of the methodology can&amp;#39;t really be left out.&lt;/p&gt; &lt;p&gt;Regardless, some of the discussions on this stuff is finally starting to sink in and I can see what I could be testing.&amp;nbsp; Now before anyone rejoices that you converted the Dev Theologian to TDD; I&amp;#39;m still not doing TDD (nor will what I end up doing be called TDD).&amp;nbsp; I just finally figured out how to best exploit the Unit testing tools to give me what I&amp;#39;ve wanted for some time.&lt;/p&gt; &lt;p&gt;You see as&amp;nbsp;a Git &amp;#39;R Done (GRD)&amp;nbsp;programmer, I care a lot less about having tests for everything.&amp;nbsp; What I want is to test the &amp;quot;low lying fruit.&amp;quot;&amp;nbsp; I&amp;#39;ve been struggling for a couple&amp;nbsp;years on how to determine what that is.&amp;nbsp; I have stated again and again, TDD doesn&amp;#39;t provide me enough ROI for me to do it.&lt;/p&gt; &lt;p&gt;So first let me tell you briefly of my journey over the last several months....&lt;/p&gt; &lt;p&gt;&lt;strong&gt;The Journey&lt;br /&gt;&lt;/strong&gt;It all started a couple months ago.&amp;nbsp; I was going through my yearly &amp;quot;maybe I should do TDD&amp;quot; phase (BTW, this replaced my yearly &amp;quot;I should learn c++&amp;quot; phase), and was reading some stuff on xUnit testing frameworks.&amp;nbsp; I happen to read Phil Haack&amp;#39;s blog and noticed that he had posted some stuff on MBUnit.&lt;/p&gt; &lt;p&gt;If you are a TDDer you are probably well aware of MBUnit.&amp;nbsp; If not then let me tell you, MBUnit has a number of niceties that make it easier to test certain scenarios.&amp;nbsp; The one that threw me over the top was &lt;a href="http://haacked.com/archive/2004/10/20/row_based_testing.aspx"&gt;Phil&amp;#39;s post on the RowTest&lt;/a&gt; which is a way to create a parameterized test and provide tabular data for that test (Ok I forget exactly which post it was... it might have been this &lt;a href="http://haacked.com/archive/2005/10/18/switchingtombunit.aspx"&gt;one as well&lt;/a&gt;...&amp;nbsp;or maybe it was &lt;a href="http://haacked.com/archive/2007/05/10/productive-unit-testing-with-specialized-assertion-classes-in-mbunit.aspx"&gt;this one&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;Anyway I now had an Unit Testing framework that didn&amp;#39;t look like I was going to be working really hard to use it... now I needed to solve my other problem.&amp;nbsp; What should I test?&amp;nbsp; What&amp;#39;s the low lying fruit and more importantly can I test something that will benefit me today and tomorrow (in other words I want a notable ROI).&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Enter BDD&lt;/strong&gt;&lt;br /&gt;The BDD guys are really dealing the big questions about TDD.&amp;nbsp; Let me quote from the &lt;a href="http://nspec.tigris.org/"&gt;NSpec homepage&lt;/a&gt;:&lt;br /&gt;&amp;quot;In essence, what Dave is saying is that the test oriented nomenclature gives us too many reasons not to write tests, especially when the pressure is on.&amp;quot;&lt;/p&gt; &lt;p&gt;Actually as I re-read the NSpec homepage, Scott B&amp;#39;s comments about BDD being coupled to TDD don&amp;#39;t seem entirely true.&amp;nbsp; Especially the comments about 1:1 testing.&amp;nbsp; The main idea with BDD is that you take scenarios or stories (to use Agile terminology)&amp;nbsp;and create tests out of these scenarios.&amp;nbsp; In the UML world these would be with use cases (well sort of) that tests get tied to.&lt;/p&gt; &lt;p&gt;Anyway, as I looked at this, I began to see how and what to test at least from a very simplistic manner.&amp;nbsp; Test the spec and the scenarios that fall out of it; so, don&amp;#39;t worry about testing everything.&amp;nbsp;&amp;nbsp; I have been told by a TDDer a few years ago that one should always test every class and here are a few examples of what to test: class instantiation, test for null against an unistantiated class,&amp;nbsp;and , serialization&amp;nbsp;&amp;nbsp;(if you&amp;nbsp;need this.. since he was a SOA guy he felt you always needed it).&amp;nbsp; I won&amp;#39;t comment on&amp;nbsp;any of these these examples except to say &amp;quot;ROI??&amp;quot;&amp;nbsp; It costs almost nothing to do these tests but am I gaining anything by just having tests for the sake of tests?&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;A GRD Testing Methodology??&lt;br /&gt;&lt;/strong&gt;So I have been thinking about BDD and how it can be used by a TAD (Test After Development) developer.&amp;nbsp; What I want&amp;nbsp;is to be able to test something and know that the client is going to say &amp;quot;hey that pretty much does what I expect it should.&amp;quot;&amp;nbsp;Using a BDD like approach to unit testing will give me that.&amp;nbsp; I can test the spec based on my understanding.&amp;nbsp; If I use the scripts that BDD provides I can know that I pretty much&amp;nbsp;understand the spec.&amp;nbsp; With this info it should be easy to come up with tests that take care of my low lying fruit.&lt;/p&gt; &lt;p&gt;I would love to layout a full blown GRD Testing methodology.&amp;nbsp; Unfortunately I am blazing away at new ground for myself (and honestly I&amp;#39;m not that smart).&amp;nbsp; I&amp;#39;ve made&amp;nbsp;quite a bit of use of MBUnit in the last couple weeks, and am getting the hang of it (it&amp;#39;s quickly becoming a tool in my debugging arsenal).&amp;nbsp; I&amp;#39;ll try to put up some posts as I gain experience so we can explore what this means to a GRD programmer (but again, I&amp;#39;m not that smart).&lt;/p&gt; &lt;p&gt;Don&amp;#39;t worry I&amp;#39;m not going all ALT.NET on you.&amp;nbsp; Nor am I going all TDD on you either.&amp;nbsp; So if you hate my methodology ideas, you probably still will.&amp;nbsp; If you like my ideas then you probably will see some logic in where I&amp;#39;m going.&lt;/p&gt; &lt;p&gt;Do yourself a favor, go read up on BDD.&amp;nbsp; You&amp;#39;ll find some stuff there that is thoroughly useful no matter what camp you fall into.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=166815" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/ALT+Testing/default.aspx">ALT Testing</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/BDD/default.aspx">BDD</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Git+_2700_R+Done+Programming/default.aspx">Git 'R Done Programming</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/GRD/default.aspx">GRD</category></item><item><title>Future Silverlight 1.1 Frameworks...</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/08/04/future-silverlight-1-1-frameworks.aspx</link><pubDate>Sat, 04 Aug 2007 12:49:55 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:166405</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>4</slash:comments><description>&lt;p&gt;I&amp;#39;ve been in a fairly interesting discussion in email with &lt;a href="http://blogs.microsoft.co.il/blogs/justinangel/"&gt;Justin-Josef Angel&lt;/a&gt;.&amp;nbsp; I won&amp;#39;t get into the full content of the email for now.&amp;nbsp; But we were discussing the merits of Silverlight (SL) 1.1, and I mentioned something that I have been thinking about for a bit.&lt;/p&gt; &lt;p&gt;I decided it&amp;#39;s a theoretical piece of info that I want to share with the world and maybe someone will build it for me (and for all of us).&amp;nbsp; &lt;/p&gt; &lt;p&gt;One of the things I see with SL 1.1 is that we are going to see some really interesting framework grow up around it.&amp;nbsp; The one that rolls immediately off the top of my head&amp;nbsp;is an MVC or MVP framework. Now I know I have been critical of the values of these for a lot of reasons that I won&amp;#39;t go into, but I do see value in this for SL.&amp;nbsp; &lt;/p&gt; &lt;p&gt;It could&amp;nbsp; be implemented in a number of ways.&amp;nbsp; For instance, you could have the controller back at the web server (possibly associated with a WebService, some kind of REST service, or even the code behind of a page... OK, maybe not the code behind), and&amp;nbsp;when interactions take place in the SL it would call back to the server for direction about what to do next.&amp;nbsp; I know that&amp;#39;s not exactly pure MVC, but it would be darn close.&lt;/p&gt; &lt;p&gt;I could also see where the controller is actually a class in the&amp;nbsp;SL app, so the WebService becomes just the data layer to the SL app.&lt;/p&gt; &lt;p&gt;The real point is with even the baby CLR we are getting with SL 1.1, all this stuff should be possible.&amp;nbsp; The major benefit is that maybe we can escape the leaky abstraction that Ayende wrote about (remember I&amp;#39;m not a TDD guy, but I might become a BDD guy... but that&amp;#39;s another story).&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=166405" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/MVC/default.aspx">MVC</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/MVP/default.aspx">MVP</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Silverlight+1.1/default.aspx">Silverlight 1.1</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Silverlight+frameworks/default.aspx">Silverlight frameworks</category></item><item><title>Tampa Code Camp ".NET as an Alternative to JS in the Browser" Slides and Demos...</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/08/01/tampa-code-camp-quot-net-as-an-alternative-to-js-in-the-browser-quot-slides-and-demos.aspx</link><pubDate>Thu, 02 Aug 2007 01:22:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:166315</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>4</slash:comments><description>&lt;p&gt;Ok, I&amp;#39;m finally posting my slides and demos from my Silverlight and Script# talk at the Tampa Code Camp this past July.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Since Silverlight 1.1 Alpha Refresh just came out (and so did VS 2008 Beta 2), I went ahead and updated my Silverlight demos to use latest bits...&lt;/p&gt;
&lt;p&gt;[tags: SIlverlight demos, Script# demos, slides]&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=166315" width="1" height="1"&gt;</description><enclosure url="http://codebetter.com/blogs/jay.kimble/attachment/166315.ashx" length="664388" type="application/x-zip-compressed" /><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/ClientScript/default.aspx">ClientScript</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Components+and+tools/default.aspx">Components and tools</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Why does Live.com search suck??!!</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/07/30/why-does-live-com-search-suck.aspx</link><pubDate>Tue, 31 Jul 2007 01:42:32 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:166255</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>19</slash:comments><description>&lt;p&gt;Ok, I maybe violating a rule here, but I gotta say it (in fact this post is directed at a particular somebody at MS who has caused me to ponder Google&amp;#39;s&amp;nbsp;role in my life).&amp;nbsp; &lt;/p&gt; &lt;p&gt;Tonight I&amp;#39;m trying to pull up 1 simple thing.&amp;nbsp; I want to download the VS 2008 beta 2 on my computer &amp;quot;at work&amp;quot; (which I am remoted into)... manually copying over the VPN will take entirely too long.&lt;/p&gt; &lt;p&gt;I did a quick search from my home page on my box at work... the home page at work is msn.com... I guess you can see how much I&amp;#39;ve customized it.&amp;nbsp; I am using Live.com as a feed reader, so that&amp;#39;s my home page on most of my boxes...&lt;/p&gt; &lt;p&gt;Anyway, VS 2008 beta 2 just released last week and I&amp;#39;m wanting to get it installed as we are planning on using multi-targeting with our existing ASP.NET 2.0 app (but enough of that).&lt;/p&gt; &lt;p&gt;I typed in &amp;quot;VS 2008 beta2 downloads&amp;quot; hit enter and up appear several 1 month old posts predicting when beta 2 will be available for download.&amp;nbsp; I add &amp;quot;Orcas&amp;quot; to that... mostly it&amp;#39;s the same old posts.&amp;nbsp; I&amp;#39;ve tried a number of combinations... everything ends up nowhere.&lt;/p&gt; &lt;p&gt;So I go to the Evil Anti-Privacy empire (google.com), type in &amp;quot;VS 2008 beta2 download.&amp;quot; And guess what the first link is?&amp;nbsp; You guessed it... the direct page on MSDN for the downloads of the VS 2008 betas 2 bits.&lt;/p&gt; &lt;p&gt;I&amp;#39;m not one to bite the hand that (sort of) feeds me, but come on!!?? &amp;nbsp;The best search engine for MS&amp;#39; properties should be an MS Search Engine!!&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=166255" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/google/default.aspx">google</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/live.com/default.aspx">live.com</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/web+search+comparisons/default.aspx">web search comparisons</category></item><item><title>MS Ajax JSP Tags v0.10 ... Now with an UpdatePanel</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/07/18/ms-ajax-jsp-tags-v0-10-now-with-an-updatepanel.aspx</link><pubDate>Wed, 18 Jul 2007 19:56:38 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:165803</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I just thought I would announce an update to my JSP tags that target the MS Ajax client in JSP apps.&lt;/p&gt; &lt;p&gt;The big announcement is that I have an UpdatePanel!&amp;nbsp; I&amp;#39;m not sure any of the other (non-.NET-based) libraries like this have an UpdatePanel.&amp;nbsp; I know that the ColdFusion one that targets .NET does have an UpdatePanel (but in my mind that&amp;#39;s .NET code... but maybe I&amp;#39;m wrong).&lt;/p&gt; &lt;p&gt;I also have an UpdatePanelProgress tag as well.&amp;nbsp; The promise is that with the way my UpdatePanel (not the standard MS one) is implemented I should be able to make many (if not all) of the other UpdatePanelProgress controls work.&lt;/p&gt; &lt;p&gt;Anyway, I&amp;#39;ll be bringing up my personal site sometime soon, and I plan on doing a lengthy article on how to build an UpdatePanel.&lt;/p&gt; &lt;p&gt;One more thing, because I implemented these tags the way that I have it shouldn&amp;#39;t be that hard to get them to work in other languages (do I hear ASP.NET 1.1 anyone?)&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=165803" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/JSP/default.aspx">JSP</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/MS+Ajax/default.aspx">MS Ajax</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Tag+Libraries/default.aspx">Tag Libraries</category></item><item><title>NE Ohio and Pittsburgh Area -- Available to Speak</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/07/16/ne-ohio-and-pittsburgh-area-available-to-speak.aspx</link><pubDate>Mon, 16 Jul 2007 15:31:22 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:165673</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;So I have a new contract going on right now.&amp;nbsp; This contract takes me to Canton, Ohio once a month.&amp;nbsp; I&amp;#39;ve found that flying into Pittsburgh is actually cheaper for me (and my client), so I&amp;#39;m also in that area (for&amp;nbsp;a short time... I am a Browns fan)&amp;nbsp;as well.&lt;/p&gt; &lt;p&gt;Anyway, take a map and draw a line from Cleveland, Ohio to Canton, Ohio, and then to Pittsburgh.&amp;nbsp; If you run a .NET users group in any place near the line I had you draw, I would love to present to your users group.&amp;nbsp; I love to speak (even though I am way outside my comfort zone) and present and would love to find some speaking engagements in that area of the country.&lt;/p&gt; &lt;p&gt;If you don&amp;#39;t have a users group in your neck of the woods, but its within my range... why not consider starting one?&amp;nbsp; You can join INETA and the INETA guys will send you speakers occasionally, and I would be willing to speak as well... and I know of someone &lt;a href="http://www.codebetter.com/blogs/eric.wise/"&gt;else&lt;/a&gt; on CodeBetter who lives there, and I may have a couple other friends I could kick into gear to speak...&lt;/p&gt; &lt;p&gt;So why not?&amp;nbsp; It&amp;#39;s a great thing to do.. you&amp;#39;ll really upgrade the talent in your area and possibly raise the local rates, and I hear that MS will occasionally reward people for doing this type of thing.&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=165673" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/.NET/default.aspx">.NET</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Ohio/default.aspx">Ohio</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Pittsburgh/default.aspx">Pittsburgh</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/User+Group/default.aspx">User Group</category></item><item><title>Review: InCisif.net - web testing for the rest of us</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/07/13/review-incisif-net-web-testing-for-the-rest-of-us.aspx</link><pubDate>Fri, 13 Jul 2007 13:45:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:165574</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>15</slash:comments><description>&lt;p&gt;[I&amp;#39;ll be making another post on this later, but I gotta talk about this one now... It&amp;#39;s very cool!]&lt;/p&gt; &lt;p&gt;Personally I have been looking for a set of testing tools that don&amp;#39;t require a superhuman effort.&amp;nbsp; In particular I want to regression&amp;nbsp;test a Web site&amp;#39;s GUI. Since I do a lot of Ajax stuff these days, I have yet to find anything that fits the bill for what I need... Enter In &lt;a href="http://www.incisif.net"&gt;InCisif.net&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;It&amp;#39;s a testing suite that comes with browser recording capabilities that creates VB or C# unit testing code.&amp;nbsp; While most recording utilities do a decent job for traditional web sites, the problems start to arise when you try to test an Ajax site.&lt;/p&gt; &lt;p&gt;I&amp;#39;ve looked at another tool similar to this one, but it came with no recording capabilities making the effort superhuman IMO.&amp;nbsp; You also have to put some mockups into your html code to help the testing suite.&amp;nbsp; No such issues here.&lt;/p&gt; &lt;p&gt;You could probably write tests against gmail with this thing (it really doesn&amp;#39;t care what the web site was written in and doesn&amp;#39;t really have a requirement).&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;b&gt;Recording Suite&lt;/b&gt;&lt;/p&gt; &lt;p&gt;So here&amp;#39;s what it does.&amp;nbsp; Recording is an overly simplistic description of their tool.&amp;nbsp; A better description would be a testing studio.&amp;nbsp; You browse the web site with the internally referenced (IE6 or IE7) web browser within a pane in the main window.&amp;nbsp; &lt;/p&gt; &lt;p&gt;In&amp;nbsp;the right hand sidebar see the source of the page as reported by the browser&amp;#39;s DOM (so it&amp;#39;s not the actual page source, it&amp;#39;s the &amp;quot;resulting&amp;quot; source after all the current list of dynamically generated elements were applied to the source code.&amp;nbsp; You can actually right click elements in the DOM after setting up a sequence of clicks or keyboard presses and perform various actions against elements in the DOM (for instance, you can assert (test) that something exists or can cause a mouseclick on a dynamically generated element).&lt;/p&gt; &lt;p&gt;Meanwhile&amp;nbsp;in the bottom frame, you see your code as it is being recorded.&amp;nbsp; Once this is done you can simply copy the code into an InCisif.net test project in Visual Studio (or you can use it with the Vs2008 Test facilities, or with Nunit, or...) &lt;/p&gt; &lt;p&gt;&lt;b&gt;The test framework&lt;/b&gt;&lt;/p&gt; &lt;p&gt;The author of InCisif.net seems to be very much aware of what is going on in other frameworks.&amp;nbsp; In fact he&amp;#39;s borrowed a couple features from&amp;nbsp;other frameworks like MbUnit&amp;#39;s ability to create parameter driven tests, and it appears to be very similar to most xUnit test frameworks.&amp;nbsp;&amp;nbsp;I can definitely see this tool used to create a&amp;nbsp;set of web&amp;nbsp;tests against&amp;nbsp;a web site and then doing some checks against the database to make sure that records added&amp;nbsp;were added, records updated were updated, etc (the flexibility to scrape data from the browser&amp;#39;s&amp;nbsp;html is definitely there).&amp;nbsp; &lt;/p&gt; &lt;p&gt;To me it seems like the perfect tool for TAD (test after development)&amp;nbsp;&amp;nbsp;unit testers (like me), or for apps where you need to scrape something from an HTML page.&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=165574" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/testing/default.aspx">testing</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/unit+testing/default.aspx">unit testing</category></item><item><title>.NET as an Alternative to JavaScript in the browser talk</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/07/10/net-as-an-alternative-to-javascript-in-the-browser-talk.aspx</link><pubDate>Tue, 10 Jul 2007 14:31:51 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:165434</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Ok, I think I missed announcing this.&amp;nbsp; I&amp;#39;m giving a talk on alternatives to writing JavaScript as the clientscript in the browser.&lt;/p&gt; &lt;p&gt;The talk will center around 2 technologies (and be mostly demo-driven).&amp;nbsp; &lt;/p&gt; &lt;p&gt;One of the two technologies, Script#, is available today and gives you&amp;nbsp;a translator from C# to JavaScript.&amp;nbsp; So you can write C# and have well-written JavaScript produced for you behind the scenes.&amp;nbsp; The produced JavaScript will look very&amp;nbsp;similar to the original C# code.&lt;/p&gt; &lt;p&gt;The other technology is a future one, but no less cool (and if you read my blog, you know about it).&amp;nbsp; Silverlight can be used to manipulate the DOM (Html) Document in the browser.&amp;nbsp; Nearly everything that you can do with JavaScript you can do with C#, VB, Python, etc. via the Silverlight plugin running in the browser (albeit with a&amp;nbsp;tiny bit of effort).&amp;nbsp; Come see how to do it!&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Oh, yeah if you missed the Day of Ajax, I&amp;#39;ll be repeating my talk on Best Practices with MS Ajax.&amp;nbsp; I promise to have a better delivery this time (hopefully, I&amp;#39;ll be awake... Kabza scheduled me for early morning... I am NOT a morning person)&lt;/p&gt; &lt;p&gt;[tags: Tampa Bay Code Camp, Silverlight, Script#, ClientScript is yucky]&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=165434" width="1" height="1"&gt;</description><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/ClientScript/default.aspx">ClientScript</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Dev+Philosophy/default.aspx">Dev Philosophy</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://codebetter.com/blogs/jay.kimble/archive/tags/training/default.aspx">training</category></item><item><title>Better Practices with MS Ajax - Slides</title><link>http://codebetter.com/blogs/jay.kimble/archive/2007/07/06/better-practices-with-ms-ajax-slides.aspx</link><pubDate>Sat, 07 Jul 2007 03:39:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:165286</guid><dc:creator>Jay Kimble</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;Ok, I finally had the time to post the slides and demo project from my session at the Day of Ajax in Tampa.&amp;nbsp; Sorry , it took so long.&amp;nbsp; I had a trip to Ohio and then some issues at home that have kept me a little busier than normal.&lt;/p&gt;
&lt;p&gt;Also, sorry for the technical glitches I encountered at Day of Ajax.&amp;nbsp; I&amp;#39;m not really sure what caused my machine to lock up (I know I blamed Safari, but that wasn&amp;#39;t really the problem... FWIW, it was something that I uninstalled from&amp;nbsp;my machine).&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[I need to get better at dealing with my nerves when something throws me off my game. Sorry about that... I&amp;#39;m pretty embarassed about the situation...]&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=165286" width="1" height="1"&gt;</description><enclosure url="http://codebetter.com/blogs/jay.kimble/attachment/165286.ashx" length="2879454" type="application/x-zip-compressed" /></item></channel></rss>