<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mindscape Blog &#187; LightSpeed</title>
	<atom:link href="http://www.mindscapehq.com/blog/index.php/category/lightspeed/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mindscapehq.com/blog</link>
	<description>The official blog of Mindscape</description>
	<lastBuildDate>Mon, 21 May 2012 01:58:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Nightly news, 11 May 2012</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/05/10/nightly-news-11-may-2012/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/05/10/nightly-news-11-may-2012/#comments</comments>
		<pubDate>Thu, 10 May 2012 21:30:23 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[Nightly news]]></category>
		<category><![CDATA[Web Workbench]]></category>
		<category><![CDATA[WPF Diagrams]]></category>
		<category><![CDATA[WPF Elements]]></category>
		<category><![CDATA[Nightly News]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=5005</guid>
		<description><![CDATA[A strange week at Mindscape HQ as the troops have been primarily focused on working out how to use the motion-activated candy dispenser&#8230; and then how to stop it again. But fear not, in between all the wild Kinect-style gesticulations, we have managed to bash out a good crop of features and fixes. Here&#8217;s what [...]]]></description>
			<content:encoded><![CDATA[<p>A strange week at Mindscape HQ as the troops have been primarily focused on working out how to use the motion-activated candy dispenser&#8230; and then how to stop it again.  But fear not, in between all the wild Kinect-style gesticulations, we have managed to bash out a good crop of features and fixes.  Here&#8217;s what you&#8217;ll find in this week&#8217;s nightly builds.</p>
<p><a href="http://www.ciphermysteries.com/2012/03/04/alternative-voynich-manuscript-wikipedia-page"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/05/DeveloperNotes211.png" alt="" title="I like to imagine that one day Mindscape devs will look back on my code like this. Except with James Newton-King instead of nymphs." width="344" height="64" class="alignleft size-full wp-image-5007" /></a></p>
<p><strong>WPF Elements</strong></p>
<ul>
<li>Added DataGridColumn.Foreground property</li>
<li>DataGridColumn.DisplayTemplate is now respected when using DisplayMemberBinding</li>
<li>DataGridColumn.DisplayMemberBinding now supports StringFormat</li>
<li>DataGridColumn now respects DisplayNameAttribute when using PropertyName or DisplayMemberBinding</li>
<li>Added ToolTipBinding property for charting data series</li>
<li>Scatter charts now support missing data points (when a value is null or NaN)</li>
<li>You can now set the starting (Minimum) value of a logarithmic axis scale</li>
<li>Charting performance improvements</li>
<li>Added built-in nullable type editors to DataGrid and PropertyGrid</li>
</ul>
<p><strong>Web Workbench</strong></p>
<ul>
<li>CoffeeScript compiler now warns if a file contains mixed tabs and spaces</li>
<li>Fix for Less compiler error when calling colour functions on a named (not hex) colour</li>
<li>Fix for performance problem when using Pro Power Tools Enhanced Scroll Bar with the &#8216;show bookmarks and breakpoints&#8217; option</li>
<li>Fixed a couple of highlighting errors</li>
</ul>
<p><strong>LightSpeed</strong></p>
<ul>
<li>Added MarkPropertyChanged method so that properties can be manually marked as dirty &#8212; for example, when changing properties of a mutable user-defined type.  Mutable value objects!  Forsooth!</li>
</ul>
<p><strong>WPF Diagrams</strong></p>
<ul>
<li>DiagramBitmapRenderer now handles dynamic resources</li>
</ul>
<p>As usual the <a href="http://www.mindscapehq.com/downloads/">free editions of the nightly builds are available right now from the downloads page</a>, and the <a href="http://www.mindscapehq.com/store/myaccount">full editions from the store</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/05/10/nightly-news-11-may-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implementing a layer supertype in the LightSpeed designer</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/05/09/implementing-a-layer-supertype-in-the-lightspeed-designer/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/05/09/implementing-a-layer-supertype-in-the-lightspeed-designer/#comments</comments>
		<pubDate>Thu, 10 May 2012 02:34:05 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=5000</guid>
		<description><![CDATA[Layer supertype. Supertype. Sounds pretty impressive, eh? A technique so puissant it needs not one but two pictures of Plush Ninja, that&#8217;s how earth-shakingly puissant it is? The sort of post where by the third paragraph your brain is asploding with all the category theory and a talking frog reveals the secret of monads while [...]]]></description>
			<content:encoded><![CDATA[<p>Layer supertype.  Supertype.  Sounds pretty impressive, eh?  A technique so puissant it needs not one but two pictures of Plush Ninja, that&#8217;s how earth-shakingly puissant it is?  The sort of post where by the third paragraph your brain is asploding with all the category theory and a talking frog reveals the secret of monads while a psychedelic spaceman dances the rumba in your b**rd?</p>
<p>Sadly, no.  What &#8216;<a href="http://martinfowler.com/eaaCatalog/layerSupertype.html">layer supertype</a>&#8216; means is simply &#8216;I want all my business entities to derive from my entity base class instead of directly from Entity&lt;T&gt;.&#8217;  (More generally, &#8216;layer supertype&#8217; means &#8216;I want all my classes in a certain layer to derive from a particular base class.&#8217;  You could also have a layer supertype for your UI layer, where all your Web pages derive from MyWonderfulPageClass instead of directly from Page.  But we&#8217;re only concerned with the entity layer here.)  A layer supertype can be handy if you have a bunch of common services, interfaces or helper methods and want them to be available on all your entities.</p>
<p>To implement a layer supertype in the LightSpeed designer, you can set up a Defaults Policy which specifies a Base Class.  The designer will apply this to all new entities you create.</p>
<p>To set up a Defaults Policy with a defaults base class:</p>
<ol>
<li>Open the LightSpeed Model Explorer tool window: View > Other Windows > LightSpeed Model.</li>
<li>Open the Policies folder.  If you&#8217;ve already got a Defaults Policy, select it.</li>
<li>Otherwise, right-click the Model node and choose Add New Defaults Policy.</li>
<li>With the Defaults Policy selected in the explorer, go to the Properties window and locate the Base Class property.</li>
<li>Choose the desired layer supertype class.</li>
</ol>
<p><a href="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/05/layer-supertype.png"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/05/layer-supertype.png" alt="" title="Setting up a default base type using a designer Defaults Policy" width="285" height="486" class="alignleft size-full wp-image-5001" /></a></p>
<p>Usually, you&#8217;ll create an entity in the designer to serve as your layer supertype.  Even if the entity doesn&#8217;t define any fields and all the work happens in the partial class, it can still be handy to have the entity there to stop the designer worrying that you might have sneaked something in that could interfere with Update Database.  However, if you&#8217;re worried about clutter on the diagram, you can hand-code the supertype entity.  In this case, you&#8217;ll need to tell the designer about it by right-clicking the Model node and choosing Add New External Class Reference.  Once you&#8217;ve done that, you can choose it in the Defaults Policy Base Class drop-down just as if it were a designer entity.</p>
<p>It&#8217;s important to realise that the Defaults Policy controls defaults for entity creation.  If you&#8217;ve got existing entities that already inherited directly from Entity&lt;T&gt;, the Defaults Policy won&#8217;t change their base classes.  And it won&#8217;t stop lollards and schismatics from changing the base class back to Entity&lt;T&gt; after creating the entity.  LightSpeed doesn&#8217;t <em>enforce</em> your layer supertype; it just helps you to implement it.</p>
<p>And that&#8217;s all there is to it.  If you want a default base class, LightSpeed can deliver it.  Just be sure to call it a layer supertype at cocktail parties.</p>
<p>So back to the cupboard, Plush Ninja.  Your time will come again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/05/09/implementing-a-layer-supertype-in-the-lightspeed-designer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nightly news, 4 May 2012</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/05/03/nightly-news-4-may-2012/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/05/03/nightly-news-4-may-2012/#comments</comments>
		<pubDate>Thu, 03 May 2012 21:45:07 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[Nightly news]]></category>
		<category><![CDATA[Silverlight Elements]]></category>
		<category><![CDATA[WPF Diagrams]]></category>
		<category><![CDATA[WPF Elements]]></category>
		<category><![CDATA[Nightly News]]></category>
		<category><![CDATA[Web Workbench]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4994</guid>
		<description><![CDATA[LightSpeed Updated SQLite provider to 1.0.80 Fix for cascade delete across a STI hierarchy where the cascade enters the hierarchy in a derived class and we were trying to proceed through an association declared in a sibling class Web Workbench Added JSHint support Fixed syntax highlighting for identifiers starting with an underscore Fixed incorrect &#8216;less [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.msdn.com/b/kaelr/archive/2012/04/14/exploring-code-canvas.aspx"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/05/DeveloperNotes21.png" alt="" title="Since I&#039;m not allowed to say the B word on the blog any more" width="344" height="64" class="alignleft size-full wp-image-4995" /></a></p>
<p><strong>LightSpeed</strong></p>
<ul>
<li>Updated SQLite provider to 1.0.80</li>
<li>Fix for cascade delete across a STI hierarchy where the cascade enters the hierarchy in a derived class and we were trying to proceed through an association declared in a sibling class</li>
</ul>
<p><strong>Web Workbench</strong></p>
<ul>
<li>Added JSHint support</li>
<li>Fixed syntax highlighting for identifiers starting with an underscore</li>
<li>Fixed incorrect &#8216;less than or equal to&#8217; operator in Less mixin guards</li>
<li>Added highlighting support for inline data URLs</li>
<li>Fixed highlighting when using a comparison expression was used as a function argument</li>
<li>Fixed highlighting of interpolated variables in URLs</li>
<li>Fixed highlighting when a function call contained arguments that were spaced lists, and a nonfinal element of such a list was another function call</li>
<li>Switched Sass compiler from IronRuby to &#8216;proper&#8217; Ruby</li>
</ul>
<p><strong>WPF Diagrams</strong></p>
<ul>
<li>Fixed a bug with connection point positions in a rotated nested node</li>
<li>Added sample of removing a groupable node from its parent</li>
</ul>
<p><strong>WPF Elements</strong></p>
<ul>
<li>Fixed a couple of issues when changing DataGrid.ItemsSource from null to a collection instance</li>
<li>Fixed a hit testing issue with DataGrid cells</li>
<li>Fixed an issue when a DataGrid contains a mix of star-sizing and absolute-sizing columns</li>
<li>DataGrid DisplayMemberBinding now supports UpdateSourceTrigger of LostFocus</li>
<li>Fixed a validation bug in DisplayMemberBinding</li>
<li>Fixed the TrackingElement sample to support duplicate values</li>
<li>Fixed an error if a chart XBinding or YBinding was set to a nonexistent property</li>
</ul>
<p><strong>Silverlight Elements</strong></p>
<ul>
<li>First drop of spell checking for the HTML rich text editor</li>
<li>Ctrl+Left and Ctrl+Right in the HTML editor now respect symbols</li>
<li>Fixed a bug in ContextMenu where if it was forced closed due to the browser window being resized, it would never open again</li>
</ul>
<p>All these updates are in the current nightly builds &#8212; <a href="http://www.mindscapehq.com/downloads/">free editions from the downloads page</a>, <a href="http://www.mindscapehq.com/store/myaccount">full editions from the store</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/05/03/nightly-news-4-may-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nightly news, 27 April 2012</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/04/26/nightly-news-27-april-2012/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/04/26/nightly-news-27-april-2012/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 21:35:02 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[NHibernate Designer]]></category>
		<category><![CDATA[Nightly news]]></category>
		<category><![CDATA[Web Workbench]]></category>
		<category><![CDATA[WPF Elements]]></category>
		<category><![CDATA[Nightly News]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4965</guid>
		<description><![CDATA[WPF Elements Charting performance improvements The Chart control now provides a FinishedPlotting event Fixed a bug with displaying lots of data in a stacked chart Added support for customising the scheduler recurrence dialogs ScheduleFormatter now provides an option for customising the default name of newly created schedule items Fixed a bug in the TimePicker control [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.brainpickings.org/index.php/2012/04/26/literary-map-of-san-francisco-puzzle/"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/04/DeveloperNotes211.png" alt="" title="This would be kind of fun to do for Wellington too" width="344" height="64" class="alignleft size-full wp-image-4967" /></a></p>
<p><strong>WPF Elements</strong></p>
<ul>
<li>Charting performance improvements</li>
<li>The Chart control now provides a FinishedPlotting event</li>
<li>Fixed a bug with displaying lots of data in a stacked chart</li>
<li>Added support for customising the scheduler recurrence dialogs</li>
<li>ScheduleFormatter now provides an option for customising the default name of newly created schedule items</li>
<li>Fixed a bug in the TimePicker control</li>
<li>You can now customise the background of individual cells, rows and columns of a DataGrid</li>
<li>The DataGrid no longer performs highlighting on mouse-over in RowAndCell mode, except when the mouse is over the row header</li>
<li>Added validation support to DataGrid DisplayMemberBinding</li>
<li>If you set the Value directly on a numeric text box, it now constrains the value to the permitted range instead of throwing an exception</li>
</ul>
<p><strong>LightSpeed</strong></p>
<ul>
<li>Fix for error during database update if a design-time assembly could not be found</li>
<li>Fix for error in SaveChanges under heavy load</li>
<li>Improvements to grouping support: better support for functions and traversals in grouping keys</li>
<li>Change to allow non-nullable GUID, DateTime and blob columns to be added to existing SQLite tables</li>
</ul>
<p><strong>Web Workbench</strong></p>
<ul>
<li>Added an option to show generated files when choosing files to merge during minification</li>
</ul>
<p><strong>NHibernate Designer</strong></p>
<ul>
<li>Added support for table per subclass inheritance</li>
<li>Added support for creating MySQL MEDIUMTEXT and LONGTEXT columns</li>
</ul>
<p>All these features and fixes are in the current nightly builds &#8212; <a href="http://www.mindscapehq.com/downloads/">free editions from the Downloads page</a>, <a href="http://www.mindscapehq.com/store/myaccount">full editions from the store</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/04/26/nightly-news-27-april-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nightly news, 20 April 2012</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/04/19/nightly-news-20-april-2012/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/04/19/nightly-news-20-april-2012/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 20:14:40 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[Nightly news]]></category>
		<category><![CDATA[Silverlight Elements]]></category>
		<category><![CDATA[Web Workbench]]></category>
		<category><![CDATA[WPF Elements]]></category>
		<category><![CDATA[Nightly News]]></category>
		<category><![CDATA[Silverligh Elements]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4948</guid>
		<description><![CDATA[If there&#8217;s one thing the weekly updates are about, it&#8217;s beards, and it looks like that laser-like focus is finally paying off. But if there&#8217;s a second thing, I guess it would have to be keeping customers informed about what&#8217;s new and improved in the current nightly builds. Here&#8217;s what we&#8217;ve been busy on this [...]]]></description>
			<content:encoded><![CDATA[<p>If there&#8217;s one thing the weekly updates are about, it&#8217;s beards, and <a href="https://twitter.com/#!/traskjd/status/192908927434899457">it looks like that laser-like focus is finally paying off</a>.  But if there&#8217;s a second thing, I guess it would have to be keeping customers informed about what&#8217;s new and improved in the current nightly builds.  Here&#8217;s what we&#8217;ve been busy on this week.</p>
<p><a href="http://www.beards.org/"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/04/DeveloperNotes22.png" alt="" title="Inexplicably, site contains no discussion of functional programming" width="344" height="64" class="alignleft size-full wp-image-4950" /></a></p>
<p><strong>WPF Elements</strong></p>
<ul>
<li>Big charting performance improvements.  We&#8217;ll have more to say about this in a future post.  Ho yes.</li>
<li>Fixed a chart zooming bug when using non-primitive numeric types</li>
<li>Fix for bug in .NET 4.0 TextBox when used in a numeric DataGrid column</li>
<li>Fixed potential crash if axis properties were updated in an unexpected order<br />
Added a Tag property to DataGridColumn</li>
<li>Added a DisplayMemberBinding property to DataGridColumn.  This simplifies creating complex bindings for a column without needing to create a custom template.</li>
</ul>
<p><strong>LightSpeed</strong></p>
<ul>
<li>You can now have multiple QueryFilterAttributes on a class, allowing you to build filters compositionally even in the absence of characterising interfaces.</li>
<li>Table names are no longer Pascalised if you have a design-time naming strategy and set UseClrNamingConventions to false</li>
<li>Added IOverrideClrConventions extension to IDesignTimeNamingStrategy to override default singularisation behaviour</li>
<li>Design-time assemblies with partial paths are now checked from the model directory as well as the current directory. This facilitates deployment of design-time assemblies via source control as part of the project.</li>
<li>Fix for error when performing a cast in LINQ Sum() or other aggregate operators but specifying the column in the Select()</li>
<li>Fixed projections into DateTime and nullable values when using query objects rather than LINQ</li>
</ul>
<p><strong>Web Workbench</strong></p>
<ul>
<li>Added option to default the &#8220;compile&#8221; setting to false</li>
<li>Added &#8216;stop on first error&#8217; option for when a changed file has a lot of dependencies</li>
<li>Fixes for non-ANSI characters in Sass</li>
</ul>
<p><strong>Silverlight Elements</strong></p>
<ul>
<li>Added initial tab-indent support to HTML editor.  Set CanHandleTabKey to enable this, and TabSize to customise the number of pixels that a tab indents by.</li>
</ul>
<p>The latest nightlies are always available <a href="http://www.mindscapehq.com/downloads/">on the Downloads page (free editions)</a> and <a href="http://www.mindscapehq.com/store/myaccount">in the Store (full editions)</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/04/19/nightly-news-20-april-2012/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nightly news, 13 April 2012</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/04/12/nightly-news-13-april-2012/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/04/12/nightly-news-13-april-2012/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 21:21:20 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[Nightly news]]></category>
		<category><![CDATA[Silverlight Elements]]></category>
		<category><![CDATA[Web Workbench]]></category>
		<category><![CDATA[WPF Diagrams]]></category>
		<category><![CDATA[WPF Elements]]></category>
		<category><![CDATA[Nightly News]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4913</guid>
		<description><![CDATA[LightSpeed Added a per-query IncludeFiltered flag to turn off implicit filtering (similar to IncludeDeleted) Added core support for SQL Server 2008 hierarchyid type Fixed an issue with aliasing when issuing a composed query with paging on SQL Server The designer now creates field name constants for special fields Fix for implicit filters not being applied [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.buzzfeed.com/cutedaily/cats-in-camouflage-5nz7"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/04/DeveloperNotes2.png" alt="" title="Mine tend to disguise themselves as obstacles" width="344" height="64" class="alignleft size-full wp-image-4915" /></a></p>
<p><strong>LightSpeed</strong></p>
<ul>
<li>Added a per-query IncludeFiltered flag to turn off implicit filtering (similar to IncludeDeleted)</li>
<li>Added core support for SQL Server 2008 hierarchyid type</li>
<li>Fixed an issue with aliasing when issuing a composed query with paging on SQL Server</li>
<li>The designer now creates field name constants for special fields</li>
<li>Fix for implicit filters not being applied in join clauses</li>
</ul>
<p><strong>WPF Elements</strong></p>
<ul>
<li>Data grid star sizing improvements: support for a zero fill weight, new GridLength converter, fix for having to explicitly specify a weight</li>
<li>Fixed a bug in data grid column virtualisation</li>
<li>Improved pixel precision of MarkedStripeGrid</li>
<li>Added Orientation property to MarkedStripeGrid</li>
<li>Performance improvements for common charting data types</li>
</ul>
<p><strong>Silverlight Elements</strong></p>
<ul>
<li>You can now <a href="http://www.mindscapehq.com/blog/index.php/2012/04/11/customize-the-font-list-in-the-silverlight-html-editor/">customise the list of fonts in the HTML editor</a> toolbar</li>
<li>New properties on ScheduleFormatter for changing the content of most buttons</li>
<li>We&#8217;ve brought over some improvements from WPF Elements to facilitate building multi-schedulers in Silverlight</li>
</ul>
<p><strong>WPF Diagrams</strong></p>
<ul>
<li>Fix for editing node styles in Expression Blend</li>
</ul>
<p><strong>Web Workbench</strong></p>
<ul>
<li>Chirpy compatibility fix</li>
<li>Fix for Less syntax highlighting when specifying &#8220;&#8230;&#8221; as mixin arguments</li>
<li>Updated CoffeeScript compiler to 1.3.1</li>
<li>Added Iced CoffeeScript support</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/04/12/nightly-news-13-april-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nightly news, 6 April 2012</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/04/05/nightly-news-6-april-2012/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/04/05/nightly-news-6-april-2012/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 15:59:06 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[NHibernate Designer]]></category>
		<category><![CDATA[Nightly news]]></category>
		<category><![CDATA[Web Workbench]]></category>
		<category><![CDATA[WPF Elements]]></category>
		<category><![CDATA[Nightly News]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4873</guid>
		<description><![CDATA[By the time you read this, we&#8217;ll be off enjoying the long weekend, so consider this a message from the dusty past about that great question of the day: what&#8217;s new in this week&#8217;s nightly builds. LightSpeed If you&#8217;ve got an aggregate in a where clause on a grouping statement, we can now translate that [...]]]></description>
			<content:encoded><![CDATA[<p>By the time you read this, we&#8217;ll be off enjoying the long weekend, so consider this a message from the dusty past about that great question of the day: what&#8217;s new in this week&#8217;s nightly builds.</p>
<p><a href="http://www.dangerousminds.net/comments/photos_of_women_operating_big_mainframe_computers_/"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/04/DeveloperNotes21.png" alt="" title="But the thing about the past is, it really was more futuristic" width="344" height="64" class="alignleft size-full wp-image-4874" /></a></p>
<p><strong>LightSpeed</strong></p>
<ul>
<li>If you&#8217;ve got an aggregate in a where clause on a grouping statement, we can now translate that to a HAVING clause on the SQL query</li>
<li>Fix for an issue where the same association is declared in multiple leaves of a STI hierarchy with different reverse associations</li>
<li>Clearer error message when a DiscriminatorAttribute has no Attribute value</li>
<li>Improved support for expressing properties of SQL Server 2008 spatial types in queries.  We&#8217;ve also made some improvements around SqlDouble to Double conversion.</li>
<li>Fix for error when several threads raced to be the first to execute the same LINQ query, and the LINQ query involved a closure</li>
<li>Fixed an issue where a full text search could return an incorrect result if the text search returned a single hit, and that entity was already in the identity map, and there was a QueryExpression filter in addition to the full text search, and the entity in the identity map didn&#8217;t conform to the QueryExpression filter.  I hope you&#8217;re paying attention to this, because there&#8217;ll be a quiz later.</li>
<li>Initial support for generic entity types, which allow you to use the same utility entity type (such as Permission or AuditRecord) in associations with multiple kinds of other entities</li>
<li>You can now specify a DisconnectedDisplayNamedStrategy on ValidationContext for use on entities which are not part of a unit of work</li>
</ul>
<p><strong>WPF Elements</strong></p>
<ul>
<li>DataGrid automatic column sizing and star sizing</li>
<li>Support for read-only columns when using a DataTable as the ItemsSource of a DataGrid</li>
<li>Added DataGrid.HighlightedItem property and associated change event and method</li>
<li>Added DataGrid.RowHeaderTemplate so you can control the appearance of row &#8216;headers&#8217; (those little doodads at the left of each row.  <em>You</em> know).  You can use this for things like row numbering.</li>
<li>DataGridWrapper now has a property for retrieving the encapsulated DataTable</li>
<li>Fixed an issue with rendering of the DataGrid frozen column shadow</li>
<li>We now re-render charts when the Series collection changes</li>
<li>Added IsSliderVisible option to show sliders on chart axes for panning and zooming.  You can also style the sliders using the (wait for it) SliderStyle property.</li>
</ul>
<p><strong>Web Workbench</strong></p>
<ul>
<li>Fix for Less compiler error is the file name or containing folder contained a single quote</li>
</ul>
<p><strong>NHibernate Designer</strong></p>
<ul>
<li>Added &#8216;formula&#8217; option for entity properties computed in SQL</li>
<li>Added support for one-way associations</li>
<li>Added DataMember options for one-to-many associations</li>
</ul>
<p>You know the drill &#8212; <a href="http://www.mindscapehq.com/downloads/">free editions from the Downloads page</a>, <a href="http://www.mindscapehq.com/store/myaccount">full editions from the store</a>.  Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/04/05/nightly-news-6-april-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nightly news, 30 March 2012</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/03/29/nightly-news-30-march-2012/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/03/29/nightly-news-30-march-2012/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 22:45:31 +0000</pubDate>
		<dc:creator>Jeremy Boyd</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[NHibernate Designer]]></category>
		<category><![CDATA[Nightly news]]></category>
		<category><![CDATA[Web Workbench]]></category>
		<category><![CDATA[WPF Elements]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4823</guid>
		<description><![CDATA[Ivan is off moonlighting as a luchador today, so its my turn to provide the weekly update. Its mostly been a week of bug fixes and working toward getting WPF Elements 5.1 out the door with a bunch of performance improvements and new features. Meanwhile we continued to beaver away on all the other products [...]]]></description>
			<content:encoded><![CDATA[<p>Ivan is off <a href="http://codemania.co.nz/#speakers" title="Le llaman el loco de pavo real" target="_blank">moonlighting as a luchador today</a>, so its my turn to provide the weekly update. Its mostly been a week of bug fixes and working toward getting WPF Elements 5.1 out the door with a bunch of performance improvements and new features. Meanwhile we continued to beaver away on all the other products of course :) Hereâ€™s whatâ€™s new in this weekâ€™s nightly builds.</p>
<p><a href="http://www.geek.com/articles/games/prince-of-persia-creator-finds-lost-source-code-23-years-later-20120329/"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/03/DeveloperNotes22.png" alt="JD's box only contained some grainy .gif files and a copy of some poker game" title="JD's box only contained some grainy .gif files and a copy of some poker game"/></a></p>
<p><strong>LightSpeed</strong></p>
<ul>
<li>Fix for issue with eager loading when we have a STI hierarchy which has multiple branches where the eager load is on a separate branch to the derived type being worked on</li>
<li>Added support for expressing a HAVING clause within core querying engine, use the Group.Having property to apply this</li>
</ul>
<p><strong>NHibernate Designer</strong></p>
<ul>
<li>Fix for trying to apply a default to MySQL TEXT fields</li>
<li>Added support for foreign identity generator</li>
</ul>
<p><strong>WPF Elements</strong></p>
<ul>
<li>Fixes relating to NaN axis values on some charting controls</li>
<li>General performance improvements</li>
</ul>
<p><strong>Web Workbench</strong></p>
<ul>
<li>Added command line compiler tools for paid customers</li>
<li>Added combining for CoffeeScript</li>
</ul>
<p>As ever, nightly builds of <a href="http://www.mindscapehq.com/downloads/" title="Downloads">free editions are available from the downloads page</a>, and of <a href="http://www.mindscapehq.com/store/myaccount">full editions from the store</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/03/29/nightly-news-30-march-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ninja entity filtering in LightSpeed</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/03/26/ninja-entity-filtering-in-lightspeed/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/03/26/ninja-entity-filtering-in-lightspeed/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 20:28:52 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4781</guid>
		<description><![CDATA[Sometimes entities come with a &#8216;natural&#8217; filter &#8212; a filter that should be applied by default to all queries, because the database contains stuff that users shouldn&#8217;t normally see. The classic example, which is built into the LightSpeed framework, is soft deletion: entities can be kept in the database but marked as logically deleted, and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/03/ninja.jpg"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/03/ninja.jpg" alt="" style="float: left; margin-right: 1em;" title="That&#039;s right! HE&#039;S BACK!" width="120" height="125" class="alignleft size-full wp-image-4782" /></a> Sometimes entities come with a &#8216;natural&#8217; filter &#8212; a filter that should be applied by default to all queries, because the database contains stuff that users shouldn&#8217;t normally see.  The classic example, which is built into the LightSpeed framework, is soft deletion: entities can be kept in the database but marked as logically deleted, and &#8216;deleted&#8217; entities shouldn&#8217;t be returned from queries.</p>
<p>But there are other common use cases for this which aren&#8217;t build into LightSpeed, including liveness, currency and security filters.  For example:</p>
<ul>
<li>In a membership system, you might want queries to consider only active members (liveness).</li>
<li>In a system where data has a time range during which it is valid, you might want queries to consider only data that are valid at a particular time (currency).</li>
<li>In a case management system, users should be able to see only cases that they are working on (security).</li>
</ul>
<p>In LightSpeed 4.0 RTM, you had to be sure to apply these filters to every query, either using your awesome developer brain power (which wouldn&#8217;t help when a slack-jawed maintenance programmer took over the code) or by encapsulating queries within a fortress-like repository (which was boring).  Even then there were limits to this, for example if an entity which was current or permitted had children some of whom might not be current or permitted.</p>
<p>The current LightSpeed nightly builds offer another approach: interception-based query filters, which allow you to add filter criteria declaratively at the entity level.</p>
<p><strong>Declaring how an entity type should be filtered</strong></p>
<p>To declare that an entity type should be automatically filtered, just apply the new QueryFilterAttribute.  QueryFilterAttribute takes a type, which must implement the IQueryFilter interface:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&#91;</span>QueryFilter<span style="color: #008000;">&#40;</span><span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>IsActiveFilter<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</span>
<span style="color: #0600FF; font-weight: bold;">partial</span> <span style="color: #6666cc; font-weight: bold;">class</span> Member <span style="color: #008000;">&#123;</span> <span style="color: #008000;">...</span> <span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> IsActiveFilter <span style="color: #008000;">:</span> IQueryFilter <span style="color: #008000;">&#123;</span> <span style="color: #008000;">...</span> <span style="color: #008000;">&#125;</span></pre></div></div>

<p><strong>Filtering by interface</strong></p>
<p>But in models where implicit filters make sense, it&#8217;s likely that many entities in the model will need similar filters.  For example, if several entity types have time ranges during which they&#8217;re valid, you&#8217;ll probably want to apply the same currency filter to all of them.  To support this, LightSpeed allows you to specify QueryFilterAttribute on an interface, and applies the filter to all types that implement that interface.  Here&#8217;s an example:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&#91;</span>QueryFilter<span style="color: #008000;">&#40;</span><span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>IsCurrentFilter<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</span>
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">interface</span> IValidFromTo <span style="color: #008000;">&#123;</span>
  DateTime ValidFrom <span style="color: #008000;">&#123;</span> get<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
  DateTime ValidTo <span style="color: #008000;">&#123;</span> get<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">// Both these entity types inherit IsCurrentFilter from the interface</span>
<span style="color: #0600FF; font-weight: bold;">partial</span> <span style="color: #6666cc; font-weight: bold;">class</span> Product <span style="color: #008000;">:</span> IValidFromTo <span style="color: #008000;">&#123;</span> <span style="color: #008000;">...</span> <span style="color: #008000;">&#125;</span>
<span style="color: #0600FF; font-weight: bold;">partial</span> <span style="color: #6666cc; font-weight: bold;">class</span> Sku <span style="color: #008000;">:</span> IValidFromTo <span style="color: #008000;">&#123;</span> <span style="color: #008000;">...</span> <span style="color: #008000;">&#125;</span></pre></div></div>

<p>With this idiom the interface becomes a powerful declarative tool for specifying query behaviour, and the query filter implementation can assume the properties in the interface are available for querying on.</p>
<p><strong>Implementing a query filter</strong></p>
<p>Now we know how to specify an implicit filter on an entity, either directly or indirectly through an interface, how do we turn that into an actual query?  Here&#8217;s the IQueryFilter interface that the query filter type must implement:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">interface</span> IQueryFilter
<span style="color: #008000;">&#123;</span>
  QueryExpression Filter <span style="color: #008000;">&#123;</span> get<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Let&#8217;s implement the IsActiveFilter mentioned in the Member example above.  This is just a matter of returning a LightSpeed QueryExpression object that consults the appropriate entity property.  A nice simple case is if the database contains an IsActive flag:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> IsActiveFilter <span style="color: #008000;">:</span> IQueryFilter
<span style="color: #008000;">&#123;</span>
  <span style="color: #0600FF; font-weight: bold;">public</span> QueryExpression Filter <span style="color: #008000;">&#123;</span>
    get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> Entity<span style="color: #008000;">.</span><span style="color: #0000FF;">Attribute</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;IsActive&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
  <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>If you didn&#8217;t explicitly model IsActive, but wanted to implicitly archive all members who hadn&#8217;t logged in for, say, 180 days, your filter would look a bit more complex, but it would still be a familiar query expression object:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> IsActiveFilter <span style="color: #008000;">:</span> IQueryFilter
<span style="color: #008000;">&#123;</span>
  <span style="color: #0600FF; font-weight: bold;">public</span> QueryExpression Filter <span style="color: #008000;">&#123;</span>
    get <span style="color: #008000;">&#123;</span>
      DateTime cutoff <span style="color: #008000;">=</span> DateTime<span style="color: #008000;">.</span><span style="color: #0000FF;">UtcNow</span><span style="color: #008000;">.</span><span style="color: #0000FF;">AddDays</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">-</span><span style="color: #FF0000;">180</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
      <span style="color: #0600FF; font-weight: bold;">return</span> Entity<span style="color: #008000;">.</span><span style="color: #0000FF;">Attribute</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;LastLogin&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&lt;</span> cutoff<span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
  <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p><strong>Injecting values into implicit filters</strong></p>
<p>By default, when LightSpeed runs a query on an entity with an implicit filter, it instantiates the IQueryFilter object using its default constructor.  This is fine for the IsActive case where there&#8217;s nothing to parameterise, but it may be more problematic for the security scenario, where the query filter will depend on the logged-in user.  In most cases, this will be available through some global mechanism &#8212; in a Web application, for example, the filter could use the HttpContext.Current.User &#8212; but sometimes it will be useful to inject data into a filter or otherwise control its behaviour on a per-instance basis.</p>
<p>To do this, you need to use an Interceptor and override the CreateQueryFilter method.  This allows you full control over the creation and initialisation of the IQueryFilter object.  In practice however we don&#8217;t expect this to be widely used so I won&#8217;t cover it in detail here &#8212; suffice it to say that like most other Interceptor methods we pass in a default callback that you can use to get the default behaviour, but you can choose to bypass this callback and create the IQueryFilter yourself, or post-process the IQueryFilter returned by the callback, or whatever as you see fit.</p>
<p><strong>Turning off filtering</strong></p>
<p>Occasionally you will want to turn off an implicit filter, for example in an admin interface where you want to be able to work with inactive users or have permission to view all cases.  To do this, just return null from your IQueryFilter.Filter implementation.  You&#8217;ll need to implement some way of signalling to your IQueryFilter when it should return null &#8212; currently you can do this using a global flag or an interceptor, though <a href="http://www.mindscapehq.com/forums/forum/9">we welcome feedback</a> on other use cases.</p>
<p><strong>Try it out!</strong></p>
<p>Implicit entity filtering is available in the current nightly builds of LightSpeed.  You can get the <a href="http://www.mindscapehq.com/downloads/">free Express Edition from the Downloads page</a>, and the full <a href="http://www.mindscapehq.com/store/myaccount">Professional Edition from the store</a>.  Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/03/26/ninja-entity-filtering-in-lightspeed/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nightly news, 23 March 2012</title>
		<link>http://www.mindscapehq.com/blog/index.php/2012/03/22/nightly-news-23-march-2012/</link>
		<comments>http://www.mindscapehq.com/blog/index.php/2012/03/22/nightly-news-23-march-2012/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 19:48:42 +0000</pubDate>
		<dc:creator>Ivan Towlson</dc:creator>
				<category><![CDATA[LightSpeed]]></category>
		<category><![CDATA[Silverlight Elements]]></category>
		<category><![CDATA[Web Workbench]]></category>
		<category><![CDATA[WPF Elements]]></category>

		<guid isPermaLink="false">http://www.mindscapehq.com/blog/?p=4757</guid>
		<description><![CDATA[Well, it has been a bitterly disappointing week for beard-fondling photos on the Mindscape blog. Kyle is going to have to up his game. On the plus side, this has left us with time to ship a bunch of updates and fixes. Here&#8217;s what&#8217;s new in this week&#8217;s nightly builds. LightSpeed The designer now defaults [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it has been a bitterly disappointing week for beard-fondling photos on the Mindscape blog.  Kyle is going to have to up his game.  On the plus side, this has left us with time to ship a bunch of updates and fixes.  Here&#8217;s what&#8217;s new in this week&#8217;s nightly builds.</p>
<p><a href="http://www.worldbeardchampionships.com/full-beard-freestyle-2011/"><img src="http://cdn.mindscapehq.com/blog/wp-content/uploads/2012/03/DeveloperNotes22.png" alt="" title="I didn't know beards could have entourages before" width="344" height="64" class="alignleft size-full wp-image-4758" /></a></p>
<p><strong>LightSpeed</strong></p>
<ul>
<li>The designer now defaults computed columns (and identity columns if they&#8217;re not the ID) to Load Only.  This is currently implemented for SQL Server only &#8212; let us know if you&#8217;d like it for other databases.  We also no longer infer validations on computed columns.</li>
<li>Fixed an error if you used an inheritance-based mocking framework to mock entities with associations</li>
<li>Fix for error updating database from designer after changing the maximum length of a string property on a concrete table inheritance base class</li>
</ul>
<p><strong>Silverlight Elements</strong></p>
<ul>
<li>New version of the RichTextEditor control.  Better.  Faster.  <em>Swooshier.</em></li>
</ul>
<p><strong>WPF Elements</strong></p>
<ul>
<li>Data grid performance improvements</li>
<li>Data grid hierarchical display</li>
<li>Fixed an issue with using a BindingList as a DataGrid items source</li>
<li>DataGrid now has a SelectedData property</li>
<li>Fix for DataGrid keyboard navigation in RowAndCell mode</li>
<li>DataGrid now has built-in support for user adding rows</li>
</ul>
<p><strong>Web Workbench</strong></p>
<ul>
<li>JavaScript and CSS &#8216;mash and minify&#8217; support</li>
<li>Fix for not handling Less escaped (~) literals when they used single instead of double quotes</li>
<li>Fix for misaligned CoffeeScript comment highlighting if file contained Unix line breaks</li>
<li>Fixed handling of underscored in unquoted URLs.  Unquoted URLs!  Forsooth!</li>
<li>Solution Explorer icons!  I can barely wait to see how this looks in Visual <del datetime="2012-03-22T03:25:00+00:00">Wasteland</del> Studio 11.</li>
</ul>
<p>As ever, nightly builds of <a href="http://www.mindscapehq.com/downloads/">free editions are available from the downloads page</a>, and of <a href="http://www.mindscapehq.com/store/myaccount">full editions from the store</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindscapehq.com/blog/index.php/2012/03/22/nightly-news-23-march-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: basic (Requested URI is rejected)
Database Caching using disk: basic
Content Delivery Network via cdn.mindscapehq.com

Served from: www.mindscapehq.com @ 2012-05-21 06:15:34 -->
