<feed 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="http://www.w3.org/2005/Atom" xml:lang="en-US">
    <title>ZEN THOUGHT</title>
    <link rel="self" type="application/atom+xml" href="http://zenthought.com/Atom.aspx" />
    <subtitle type="html">A .Net &amp; Silverlight blog by Eric Litovsky</subtitle>
    <id>http://zenthought.com/Default.aspx</id>
    <author>
        <name>Eric Litovsky</name>
        <uri>http://zenthought.com/Default.aspx</uri>
    </author>
    <generator uri="http://subtextproject.com" version="Subtext Version 2.1.1.1">Subtext</generator>
    <updated>2010-02-04T07:10:54Z</updated>
    <entry>
        <title>SQL Server 2008 Change Tracking For SQL Express with SQLVARIANT</title>
        <link rel="alternate" type="text/html" href="http://zenthought.com/archive/2010/01/27/sql-server-2008-change-tracking-for-sql-express-with-sqlvariant.aspx" />
        <id>http://zenthought.com/archive/2010/01/27/sql-server-2008-change-tracking-for-sql-express-with-sqlvariant.aspx</id>
        <published>2010-01-27T23:12:41Z</published>
        <updated>2010-02-04T07:10:54Z</updated>
        <content type="html">&lt;br /&gt;
&lt;p&gt;
I'm often asked to work on small projects for smaller companies.  These are probably among my favorite because there is so much enthusiasm behind the team.  I've been an architect, a DBA, a network engineer, a graphic designer, and sometimes all of the above at once.  One thing I learned is small companies don't compromise on software architecture.  It's easy to get caught up in the excitement when big decisions are made quickly and the whole team hits the ground running.  As a DBA, I try to put good practices in place even when resource are limited and here is a result of one of my efforts.  Change tracking for SQL Express 2008 using SQL Variant.
&lt;/p&gt;

&lt;p&gt;
When companies can't afford SQL Enterprise licenses or Data Warehousing, it doesn't mean they don't need them.  The fundamental principles of tracking data changes and deletes without restoring backups has always been a lofty target for DBAs to achieve.  Unfortunately, this three-dimensional data modeling (Bi-Temporal Data Modeling) has been tricky to implement with what is essentially a two-dimensional database paradigm.
&lt;/p&gt;

&lt;p&gt;
A table is a two-dimensional entity consisting of a (Row X Column) grid.    Change tracking attempts to artificially inflate the two dimensional structure into three dimensions (Row X Column X Time).  It's not easy, but it is quite useful.  Bi-Temporal database theory has been around for decades.  I'm not sure there is an established standard or practice to follow.  I know that if your application is using a limited database such as SQL Server Express, there is no easy or practical way to handle change tracking without adding history tables to gobble up limited space and add complexity to the schema.
&lt;/p&gt;

&lt;p&gt;Well here's my solution.  It's not perfect, but hopefully you will find it useful.  The implementation is very simple and straightforward, and performance seems to be adequate.  Watch the demo, try it out, let me know what you think.&lt;/p&gt;

&lt;p&gt;
Here are the files in the demo:
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;
 &lt;a href="http://silverlightbusiness.com/Files/ApplyTracking.sql.txt" rel="nofollow"&gt;ApplyTracking.sql&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://silverlightbusiness.com/Files/Cleanup.sql.txt" rel="nofollow"&gt;Cleanup.sql&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt; &lt;/p&gt;&lt;h3&gt;Demo Clip (10 minutes) &lt;/h3&gt;
&lt;br /&gt;
&lt;object id="scPlayer" width="640" height="498"&gt; &lt;param name="movie" value="http://content.screencast.com/users/zenthought/folders/Default/media/df6a01e6-96b3-4fa8-9d6b-5c169e67a9db/ccdemo_controller.swf" /&gt; &lt;param name="quality" value="high" /&gt; &lt;param name="bgcolor" value="#FFFFFF" /&gt; &lt;param name="flashVars" value="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Default/media/df6a01e6-96b3-4fa8-9d6b-5c169e67a9db/ccdemo.mp4" /&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="scale" value="showall" /&gt; &lt;param name="allowScriptAccess" value="always" /&gt; &lt;param name="base" value="http://content.screencast.com/users/zenthought/folders/Default/media/df6a01e6-96b3-4fa8-9d6b-5c169e67a9db/" /&gt;  &lt;embed src="http://content.screencast.com/users/zenthought/folders/Default/media/df6a01e6-96b3-4fa8-9d6b-5c169e67a9db/ccdemo_controller.swf" quality="high" bgcolor="#FFFFFF" width="640" height="498" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Default/media/df6a01e6-96b3-4fa8-9d6b-5c169e67a9db/ccdemo.mp4" allowfullscreen="true" base="http://content.screencast.com/users/zenthought/folders/Default/media/df6a01e6-96b3-4fa8-9d6b-5c169e67a9db/" scale="showall" /&gt; &lt;/object&gt;

&lt;br /&gt;

&lt;p /&gt;&lt;h3&gt;Intro Clip (5 minutes) &lt;/h3&gt;
&lt;br /&gt;
&lt;object id="scPlayer" width="640" height="498"&gt; &lt;param name="movie" value="http://content.screencast.com/users/zenthought/folders/Default/media/b2357d55-1109-47f8-9a76-ff77a605b120/ccintro_controller.swf" /&gt; &lt;param name="quality" value="high" /&gt; &lt;param name="bgcolor" value="#FFFFFF" /&gt; &lt;param name="flashVars" value="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Default/media/b2357d55-1109-47f8-9a76-ff77a605b120/ccintro.mp4" /&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="scale" value="showall" /&gt; &lt;param name="allowScriptAccess" value="always" /&gt; &lt;param name="base" value="http://content.screencast.com/users/zenthought/folders/Default/media/b2357d55-1109-47f8-9a76-ff77a605b120/" /&gt;  &lt;embed src="http://content.screencast.com/users/zenthought/folders/Default/media/b2357d55-1109-47f8-9a76-ff77a605b120/ccintro_controller.swf" quality="high" bgcolor="#FFFFFF" width="640" height="498" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Default/media/b2357d55-1109-47f8-9a76-ff77a605b120/ccintro.mp4" allowfullscreen="true" base="http://content.screencast.com/users/zenthought/folders/Default/media/b2357d55-1109-47f8-9a76-ff77a605b120/" scale="showall" /&gt; &lt;/object&gt;

&lt;img src="http://zenthought.com/aggbug/13.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://zenthought.com/comments/13.aspx</wfw:comment>
        <slash:comments>582</slash:comments>
        <wfw:commentRss>http://zenthought.com/comments/commentRss/13.aspx</wfw:commentRss>
        <trackback:ping>http://zenthought.com/services/trackbacks/13.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Silverlight IS My Business</title>
        <link rel="alternate" type="text/html" href="http://zenthought.com/archive/2010/01/25/silverlight-business.aspx" />
        <id>http://zenthought.com/archive/2010/01/25/silverlight-business.aspx</id>
        <published>2010-01-25T14:58:18Z</published>
        <updated>2010-01-30T11:42:18Z</updated>
        <content type="html">&lt;p&gt;Glad to see so much work has been going on with Silverlight and the momentum to launch SL4.  People like us drive the effort because we can actually see the potential and get quite excited about it.  I recently had a chance to work with Brad Abrams and the .NET RIA Services team at Microsoft on a project for the IRS / FreeFile Alliance.  What an amazing group of developers.  Truly I was both inspired and humbled.  Needless to say I got a really deep dive into WCF RIA Services and fell in love with the platform even more than I was before.&lt;/p&gt;
&lt;p&gt; If any of you out there are curious about WCF RIA Services, you should definitely check it out.  Amazing architecture, well thought out and truly easy to implement.  Software technology always advances with one single goal in mind: &lt;/p&gt;
&lt;p&gt; To simplify the process of writing better code. &lt;/p&gt;
&lt;p&gt; It's true!  Every generation of tools has made writing code faster, easier and safer.  With that track record, I always wonder why so many companies and CTOs cling to the old and familiar when the new and advanced has the potential of saving a lot of time, money and refactoring with just a little bit of effort to learn. &lt;/p&gt;
&lt;p&gt; With all that said, I have moved my company into a more public position on the web and joined the MicroSoft BizSpark program.  For those of you looking for a push, &lt;a href="http://www.microsoft.com/BizSpark/"&gt;Microsoft Bizspark&lt;/a&gt; and &lt;a href="http://www.microsoft.com/WEB/websitespark/"&gt;Microsoft WebsiteSpark&lt;/a&gt; are a godsend!  They provide fledgling business tools like MSDN, online resources and even support to get your business going. &lt;/p&gt;
&lt;p&gt; So here is the official link and the new site: &lt;br /&gt;
&lt;a href="http://silverlightbusiness.com"&gt;www.SilverlightBusiness.com&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; We're small but strong and ready to take on enterprise-scale Silverlight challenges.  Come on!  Give us a shot! &lt;/p&gt;
Thanks Eric.&lt;img src="http://zenthought.com/aggbug/12.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://zenthought.com/comments/12.aspx</wfw:comment>
        <slash:comments>54</slash:comments>
        <wfw:commentRss>http://zenthought.com/comments/commentRss/12.aspx</wfw:commentRss>
        <trackback:ping>http://zenthought.com/services/trackbacks/12.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Bandwidth, Flash and the learning curve.</title>
        <link rel="alternate" type="text/html" href="http://zenthought.com/archive/2009/07/02/bandwidth-flash-and-the-learning-curve.aspx" />
        <id>http://zenthought.com/archive/2009/07/02/bandwidth-flash-and-the-learning-curve.aspx</id>
        <published>2009-07-02T08:50:01Z</published>
        <updated>2010-01-25T15:20:09Z</updated>
        <content type="html">Unbenkownst to me, this little blog was featured on the silverlight.net home page earlier today.  Needless to say, the traffic that little link generated maxed out my bandwidth for the month in under 2 hours. &lt;br /&gt;
&lt;br /&gt;
When I opened my mailbox and saw around 20 messages stating my bandwidth was exceeded, I quickly moved to upgrade my video hosting account so that new visitors can continue to view these screencasts.&lt;br /&gt;
&lt;br /&gt;
So while, the videos were down for a couple of hours this morning, they should be streaming fine again.&lt;br /&gt;
&lt;br /&gt;
As for why I'm using flash to host these tutorials, it's easy.  I occasionally post demos on Beta runtime which is not officially released yet.  So for those who installed the beta runtime, I would need to publish a player of their version, but those with current production runtime, would require a different player.  What's worse, those with cross-runtime compatibility issues may not be able to read the latest encoding streams, and those who cannot even get Silverlight due to domain policy restrictions or firewalls would not be able to see them at all.  So for the sake of the broadest accessibility to the material presented, I chose to go with Flash.  Forgive me my transgressions.&lt;br /&gt;
&lt;br /&gt;
Finally, I just want to say that my screencasts are fly-by-the-seat-of-my-zen-pants.  That means they are neither scripted nor rehearsed and you can easily catch me stumble over my own tongue as I try to keep things moving.  While it's easy to spot the occasional oopsie in what I say, I encourage everyone to focus on the content and the code and try not to let the occasional stutter distract from what's going on in the tutorial.  I'm still learning, and that's the whole point of this project.  To learn by teaching.  I promise I'll get better at this as I move forward.&lt;br /&gt;
&lt;br /&gt;
Thanks for being good sports about it.&lt;br /&gt;
Eric.&lt;img src="http://zenthought.com/aggbug/11.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://zenthought.com/comments/11.aspx</wfw:comment>
        <slash:comments>210</slash:comments>
        <wfw:commentRss>http://zenthought.com/comments/commentRss/11.aspx</wfw:commentRss>
        <trackback:ping>http://zenthought.com/services/trackbacks/11.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Test Driven Development for Silverlight 3 (Integration Testing)</title>
        <link rel="alternate" type="text/html" href="http://zenthought.com/archive/2009/06/22/test-driven-development-for-silverlight-3-integration-testing.aspx" />
        <id>http://zenthought.com/archive/2009/06/22/test-driven-development-for-silverlight-3-integration-testing.aspx</id>
        <published>2009-06-22T17:34:35Z</published>
        <updated>2009-06-22T17:34:35Z</updated>
        <content type="html">&lt;object width="640" height="498"&gt; &lt;param name="movie" value="http://content.screencast.com/users/zenthought/folders/Default/media/96786897-8142-46b1-be79-4d88db396e69/SilverlightTesting_Part3_controller.swf" /&gt; &lt;param name="quality" value="high" /&gt; &lt;param name="bgcolor" value="#FFFFFF" /&gt; &lt;param name="flashVars" value="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Default/media/96786897-8142-46b1-be79-4d88db396e69/SilverlightTesting_Part3.mp4" /&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="scale" value="showall" /&gt; &lt;param name="allowScriptAccess" value="always" /&gt; &lt;param name="base" value="http://content.screencast.com/users/zenthought/folders/Default/media/96786897-8142-46b1-be79-4d88db396e69/" /&gt;  &lt;embed src="http://content.screencast.com/users/zenthought/folders/Default/media/96786897-8142-46b1-be79-4d88db396e69/SilverlightTesting_Part3_controller.swf" quality="high" bgcolor="#FFFFFF" width="640" height="498" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Default/media/96786897-8142-46b1-be79-4d88db396e69/SilverlightTesting_Part3.mp4" allowfullscreen="true" base="http://content.screencast.com/users/zenthought/folders/Default/media/96786897-8142-46b1-be79-4d88db396e69/" scale="showall" /&gt; &lt;/object&gt;

&lt;br /&gt;
&lt;br /&gt;
In this final installment of the Silverlight 3 testing screencast series, I dive into the Test Framework's asynchronous capabilities and how we can apply them to tests involving control elements and services outside of our Silverilght application.  This feature is very useful for testing business applications which rely on external services for data exchange.&lt;br /&gt;
&lt;br /&gt;
My deepest gratitude and respect to Jeff Wilcox for developing the Silverlight Testing Framework and maintaining it with quality updates.  Thanks to his efforts, not only can we all enjoy coninuing stable releases of the Silverlight Toolkit on codeplex, but can also apply the Test-Driven methodology to our own Silverlight applications.&lt;img src="http://zenthought.com/aggbug/10.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://zenthought.com/comments/10.aspx</wfw:comment>
        <slash:comments>155</slash:comments>
        <wfw:commentRss>http://zenthought.com/comments/commentRss/10.aspx</wfw:commentRss>
        <trackback:ping>http://zenthought.com/services/trackbacks/10.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Test Driven Development for Silverlight 3 (Unit Testing)</title>
        <link rel="alternate" type="text/html" href="http://zenthought.com/archive/2009/06/22/test-driven-development-for-silverlight-3-unit-testing.aspx" />
        <id>http://zenthought.com/archive/2009/06/22/test-driven-development-for-silverlight-3-unit-testing.aspx</id>
        <published>2009-06-22T16:26:15Z</published>
        <updated>2009-06-22T16:26:15Z</updated>
        <content type="html">&lt;object width="640" height="498"&gt; &lt;param name="movie" value="http://content.screencast.com/users/zenthought/folders/Default/media/2b48728e-68ff-4ae9-a2cf-d23238e6d4d0/SilverlightTesting_part2_controller.swf" /&gt; &lt;param name="quality" value="high" /&gt; &lt;param name="bgcolor" value="#FFFFFF" /&gt; &lt;param name="flashVars" value="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Default/media/2b48728e-68ff-4ae9-a2cf-d23238e6d4d0/SilverlightTesting_part2.mp4" /&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="scale" value="showall" /&gt; &lt;param name="allowScriptAccess" value="always" /&gt; &lt;param name="base" value="http://content.screencast.com/users/zenthought/folders/Default/media/2b48728e-68ff-4ae9-a2cf-d23238e6d4d0/" /&gt;  &lt;embed src="http://content.screencast.com/users/zenthought/folders/Default/media/2b48728e-68ff-4ae9-a2cf-d23238e6d4d0/SilverlightTesting_part2_controller.swf" quality="high" bgcolor="#FFFFFF" width="640" height="498" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Default/media/2b48728e-68ff-4ae9-a2cf-d23238e6d4d0/SilverlightTesting_part2.mp4" allowfullscreen="true" base="http://content.screencast.com/users/zenthought/folders/Default/media/2b48728e-68ff-4ae9-a2cf-d23238e6d4d0/" scale="showall" /&gt; &lt;/object&gt;
&lt;br /&gt;
&lt;br /&gt;
I cover how to set up unit testing in Silverlight 3 along with some gotchas for the new deep-linking feature of Silverlight Navigation Applications.
&lt;br /&gt;
Be sure to download the following &lt;a href="http://code.msdn.microsoft.com/silverlightut/Release/ProjectReleases.aspx?ReleaseId=1913"&gt; binaries for the Silverlight Test Framework &lt;/a&gt; &lt;br /&gt;
And the &lt;a href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=silverlightut&amp;amp;DownloadId=352"&gt; Silverlight Test Framework Project and Object Templates &lt;/a&gt;&lt;img src="http://zenthought.com/aggbug/9.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://zenthought.com/comments/9.aspx</wfw:comment>
        <slash:comments>265</slash:comments>
        <wfw:commentRss>http://zenthought.com/comments/commentRss/9.aspx</wfw:commentRss>
        <trackback:ping>http://zenthought.com/services/trackbacks/9.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Test Driven Development for Silverlight 3 (Introduction)</title>
        <link rel="alternate" type="text/html" href="http://zenthought.com/archive/2009/06/22/test-driven-development-for-silverlight-3-introduction.aspx" />
        <id>http://zenthought.com/archive/2009/06/22/test-driven-development-for-silverlight-3-introduction.aspx</id>
        <published>2009-06-22T16:17:42Z</published>
        <updated>2009-06-22T16:17:42Z</updated>
        <content type="html">&lt;object width="640" height="498"&gt; &lt;param name="movie" value="http://content.screencast.com/users/zenthought/folders/Default/media/90a2e339-d4f2-43e0-9c77-612c57116e59/SilverlightTDD_Part1_controller.swf" /&gt; &lt;param name="quality" value="high" /&gt; &lt;param name="bgcolor" value="#FFFFFF" /&gt; &lt;param name="flashVars" value="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Default/media/90a2e339-d4f2-43e0-9c77-612c57116e59/SilverlightTDD_Part1.mp4" /&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="scale" value="showall" /&gt; &lt;param name="allowScriptAccess" value="always" /&gt; &lt;param name="base" value="http://content.screencast.com/users/zenthought/folders/Default/media/90a2e339-d4f2-43e0-9c77-612c57116e59/" /&gt;  &lt;embed src="http://content.screencast.com/users/zenthought/folders/Default/media/90a2e339-d4f2-43e0-9c77-612c57116e59/SilverlightTDD_Part1_controller.swf" quality="high" bgcolor="#FFFFFF" width="640" height="498" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Default/media/90a2e339-d4f2-43e0-9c77-612c57116e59/SilverlightTDD_Part1.mp4" allowfullscreen="true" base="http://content.screencast.com/users/zenthought/folders/Default/media/90a2e339-d4f2-43e0-9c77-612c57116e59/" scale="showall" /&gt; &lt;/object&gt;

&lt;br /&gt;
&lt;br /&gt;

This is an introduction to the 3-part series of Test-Driven Development for Silverlight 3.  This is a quick overview of test-driven development and some of it's advantages.&lt;br /&gt;
&lt;br /&gt;
Be sure to download the following &lt;a href="http://code.msdn.microsoft.com/silverlightut/Release/ProjectReleases.aspx?ReleaseId=1913"&gt; binaries for the Silverlight Test Framework &lt;/a&gt;
&lt;br /&gt;
And the &lt;a href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=silverlightut&amp;amp;DownloadId=352"&gt; Silverlight Test Framework Project and Object Templates &lt;/a&gt;&lt;img src="http://zenthought.com/aggbug/8.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://zenthought.com/comments/8.aspx</wfw:comment>
        <slash:comments>375</slash:comments>
        <wfw:commentRss>http://zenthought.com/comments/commentRss/8.aspx</wfw:commentRss>
        <trackback:ping>http://zenthought.com/services/trackbacks/8.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Adding Membership &amp; Role Features to a Silverlight 3 Business Application</title>
        <link rel="alternate" type="text/html" href="http://zenthought.com/archive/2009/06/13/adding-membership-role-features-to-a-silverlight-3-business.aspx" />
        <id>http://zenthought.com/archive/2009/06/13/adding-membership-role-features-to-a-silverlight-3-business.aspx</id>
        <published>2009-06-13T00:28:44Z</published>
        <updated>2009-06-13T00:51:55Z</updated>
        <content type="html">&lt;object width="640" height="498"&gt; &lt;param name="movie" value="http://content.screencast.com/users/zenthought/folders/Silverlight3/media/c6546c50-3583-4c95-afea-3655501119e0/Silverlight3MembershipDemo_controller.swf" /&gt; &lt;param name="quality" value="high" /&gt; &lt;param name="bgcolor" value="#FFFFFF" /&gt; &lt;param name="flashVars" value="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Silverlight3/media/c6546c50-3583-4c95-afea-3655501119e0/Silverlight3MembershipDemo.mp4" /&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="scale" value="showall" /&gt; &lt;param name="allowScriptAccess" value="always" /&gt; &lt;param name="base" value="http://content.screencast.com/users/zenthought/folders/Silverlight3/media/c6546c50-3583-4c95-afea-3655501119e0/" /&gt;  &lt;embed src="http://content.screencast.com/users/zenthought/folders/Silverlight3/media/c6546c50-3583-4c95-afea-3655501119e0/Silverlight3MembershipDemo_controller.swf" quality="high" bgcolor="#FFFFFF" width="640" height="498" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Silverlight3/media/c6546c50-3583-4c95-afea-3655501119e0/Silverlight3MembershipDemo.mp4" allowfullscreen="true" base="http://content.screencast.com/users/zenthought/folders/Silverlight3/media/c6546c50-3583-4c95-afea-3655501119e0/" scale="showall" /&gt; &lt;/object&gt;
&lt;br /&gt;

Adding membership and role functionality to Silverlight 2.0 is no easy task, but fortunately for us, RIA Services makes it a snap with 3.0, in fact it's practically built-in. This 5 minute screencast shows how to create a Silverlight 3.0 business application with membership and how to assign your own membership and role providers with existing aspnet or membership databases. If you don't already have it, you will need to download the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=144609"&gt;.NET RIA Services SDK Refresh&lt;/a&gt;.&lt;img src="http://zenthought.com/aggbug/7.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://zenthought.com/comments/7.aspx</wfw:comment>
        <slash:comments>484</slash:comments>
        <wfw:commentRss>http://zenthought.com/comments/commentRss/7.aspx</wfw:commentRss>
        <trackback:ping>http://zenthought.com/services/trackbacks/7.aspx</trackback:ping>
    </entry>
    <entry>
        <title>3D Buttons with Silverlight 3</title>
        <link rel="alternate" type="text/html" href="http://zenthought.com/archive/2009/06/12/3d-buttons-with-silverlight-3.aspx" />
        <id>http://zenthought.com/archive/2009/06/12/3d-buttons-with-silverlight-3.aspx</id>
        <published>2009-06-12T00:20:48Z</published>
        <updated>2009-06-12T00:39:11Z</updated>
        <content type="html">&lt;object width="640" height="498"&gt; &lt;param name="movie" value="http://content.screencast.com/users/zenthought/folders/Silverlight3/media/59babdc9-3d17-4ad6-a205-e3908c763102/Untitled_controller.swf" /&gt; &lt;param name="quality" value="high" /&gt; &lt;param name="bgcolor" value="#FFFFFF" /&gt; &lt;param name="flashVars" value="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Silverlight3/media/59babdc9-3d17-4ad6-a205-e3908c763102/Untitled.mp4" /&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="scale" value="showall" /&gt; &lt;param name="allowScriptAccess" value="always" /&gt; &lt;param name="base" value="http://content.screencast.com/users/zenthought/folders/Silverlight3/media/59babdc9-3d17-4ad6-a205-e3908c763102/" /&gt;  &lt;embed src="http://content.screencast.com/users/zenthought/folders/Silverlight3/media/59babdc9-3d17-4ad6-a205-e3908c763102/Untitled_controller.swf" quality="high" bgcolor="#FFFFFF" width="640" height="498" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="containerwidth=640&amp;amp;containerheight=498&amp;amp;showstartscreen=true&amp;amp;showendscreen=true&amp;amp;loop=false&amp;amp;autostart=false&amp;amp;color=000000,000000&amp;amp;thumbscale=45&amp;amp;content=http://content.screencast.com/users/zenthought/folders/Silverlight3/media/59babdc9-3d17-4ad6-a205-e3908c763102/Untitled.mp4" allowfullscreen="true" base="http://content.screencast.com/users/zenthought/folders/Silverlight3/media/59babdc9-3d17-4ad6-a205-e3908c763102/" scale="showall" /&gt; &lt;/object&gt;
&lt;br /&gt;

Here is a 12 minute tutorial on how you can make borderless buttons in Silverlight 3.0 which pop out with 3D effects using control templates and pixel shaders while working in Expression Blend 3.0 Preview Edition.&lt;img src="http://zenthought.com/aggbug/6.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://zenthought.com/comments/6.aspx</wfw:comment>
        <slash:comments>106</slash:comments>
        <wfw:commentRss>http://zenthought.com/comments/commentRss/6.aspx</wfw:commentRss>
        <trackback:ping>http://zenthought.com/services/trackbacks/6.aspx</trackback:ping>
    </entry>
</feed>