<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments for Joshua Arnold</title>
	<atom:link href="http://blogs.rev-net.com/jmarnold/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.rev-net.com/jmarnold</link>
	<description>.NET Architecture, Design Patterns, Ramblings, And More.</description>
	<pubDate>Sun, 07 Sep 2008 14:15:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>Comment on Geodetics: Distance Search by Josh</title>
		<link>http://blogs.rev-net.com/jmarnold/2008/07/geo-distance-search/#comment-12</link>
		<dc:creator>Josh</dc:creator>
		<pubDate>Thu, 31 Jul 2008 01:12:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.rev-net.com/jmarnold/?p=11#comment-12</guid>
		<description>@ryan 
We're building onto an existing system (with a live implementation) so we're currently sticking with SQL Server 2005. If 2008's spatial capabilities pass some feasibility studies, I'll definitely move over when it goes live.

@Jason
We require the dragging routes capabilities that the Google Map APIs offer. I would love to leverage the newly released controls (I played with them last night) but it looks like we'll be going Google for now.</description>
		<content:encoded><![CDATA[<p>@ryan<br />
We&#8217;re building onto an existing system (with a live implementation) so we&#8217;re currently sticking with SQL Server 2005. If 2008&#8217;s spatial capabilities pass some feasibility studies, I&#8217;ll definitely move over when it goes live.</p>
<p>@Jason<br />
We require the dragging routes capabilities that the Google Map APIs offer. I would love to leverage the newly released controls (I played with them last night) but it looks like we&#8217;ll be going Google for now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Geodetics: Distance Search by Jason</title>
		<link>http://blogs.rev-net.com/jmarnold/2008/07/geo-distance-search/#comment-11</link>
		<dc:creator>Jason</dc:creator>
		<pubDate>Wed, 30 Jul 2008 18:32:53 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.rev-net.com/jmarnold/?p=11#comment-11</guid>
		<description>Great write-up Josh. This was a tough research assignment. Good thing you had the help of GoogleJason. :P

So why google maps? I really like using Microsoft's Virtual Earth API. Also, I they JUST released an asp.net control for it. http://dev.live.com/blogs/devlive/archive/2008/07/27/386.aspx

I would also be interested in seeing some performance statistics for those queries you wrote.

I'm really excited to play with the new Lat/Lon datatypes that sql server 2008 has introduced. They sound like they could make a lot of this stuff much easier.</description>
		<content:encoded><![CDATA[<p>Great write-up Josh. This was a tough research assignment. Good thing you had the help of GoogleJason. <img src='http://blogs.rev-net.com/jmarnold/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>So why google maps? I really like using Microsoft&#8217;s Virtual Earth API. Also, I they JUST released an asp.net control for it. <a href="http://dev.live.com/blogs/devlive/archive/2008/07/27/386.aspx" rel="nofollow">http://dev.live.com/blogs/devlive/archive/2008/07/27/386.aspx</a></p>
<p>I would also be interested in seeing some performance statistics for those queries you wrote.</p>
<p>I&#8217;m really excited to play with the new Lat/Lon datatypes that sql server 2008 has introduced. They sound like they could make a lot of this stuff much easier.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Geodetics: Distance Search by ryan</title>
		<link>http://blogs.rev-net.com/jmarnold/2008/07/geo-distance-search/#comment-10</link>
		<dc:creator>ryan</dc:creator>
		<pubDate>Wed, 30 Jul 2008 12:50:18 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.rev-net.com/jmarnold/?p=11#comment-10</guid>
		<description>If you look over Jason's earlier post you'll see that SQLServer has geospatial extensions which might make all of this a little easier - they have functions to calculate distance between points, determine whether points are in a polygon, etc. I think he was mostly talking about how they will be native to 2008 but they are available as an extension for 2005 as well.

It also simplifies storage of lat/lon and other spatial entities. Might be something to consider.

http://neude.net/2008/07/spatial-databases/</description>
		<content:encoded><![CDATA[<p>If you look over Jason&#8217;s earlier post you&#8217;ll see that SQLServer has geospatial extensions which might make all of this a little easier - they have functions to calculate distance between points, determine whether points are in a polygon, etc. I think he was mostly talking about how they will be native to 2008 but they are available as an extension for 2005 as well.</p>
<p>It also simplifies storage of lat/lon and other spatial entities. Might be something to consider.</p>
<p><a href="http://neude.net/2008/07/spatial-databases/" rel="nofollow">http://neude.net/2008/07/spatial-databases/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on From Zero to launch - Part I by Geodetics Distance Search &#124; Joshua Arnold</title>
		<link>http://blogs.rev-net.com/jmarnold/2008/05/from-zero-to-launch-part-i/#comment-9</link>
		<dc:creator>Geodetics Distance Search &#124; Joshua Arnold</dc:creator>
		<pubDate>Wed, 30 Jul 2008 04:36:54 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.rev-net.com/jmarnold/?p=5#comment-9</guid>
		<description>[...] From Zero to launch - Part I  [...]</description>
		<content:encoded><![CDATA[<p>[...] From Zero to launch - Part I  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on From Zero To Launch - Part III: Reusable Web Controls by Role-based Security and Web Controls &#124; Joshua Arnold</title>
		<link>http://blogs.rev-net.com/jmarnold/2008/05/reusable-web-controls/#comment-8</link>
		<dc:creator>Role-based Security and Web Controls &#124; Joshua Arnold</dc:creator>
		<pubDate>Thu, 22 May 2008 01:13:33 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.rev-net.com/jmarnold/?p=7#comment-8</guid>
		<description>[...] Next up: Reusable user controls [...]</description>
		<content:encoded><![CDATA[<p>[...] Next up: Reusable user controls [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on From Zero To Launch - Part III: Reusable Web Controls by Josh</title>
		<link>http://blogs.rev-net.com/jmarnold/2008/05/reusable-web-controls/#comment-6</link>
		<dc:creator>Josh</dc:creator>
		<pubDate>Mon, 19 May 2008 19:31:28 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.rev-net.com/jmarnold/?p=7#comment-6</guid>
		<description>We allowed the pages themselves to determine the appropriate provider. The providers themselves maintain pagination information (required for the LoadEntities override) so the pages needed to pass that information into the appropriate setters or constructors.

An example would be:

&lt;pre name="code" class="csharp"&gt;
commentContainer.CommentProvider = new UserProfileCommentProvider(_queryUser, _pageIndex,
      AppConfiguration.CommentsPerPage);
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>We allowed the pages themselves to determine the appropriate provider. The providers themselves maintain pagination information (required for the LoadEntities override) so the pages needed to pass that information into the appropriate setters or constructors.</p>
<p>An example would be:</p>
<pre name="code" class="csharp">
commentContainer.CommentProvider = new UserProfileCommentProvider(_queryUser, _pageIndex,
      AppConfiguration.CommentsPerPage);
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on From Zero To Launch - Part III: Reusable Web Controls by Ben Meyers</title>
		<link>http://blogs.rev-net.com/jmarnold/2008/05/reusable-web-controls/#comment-5</link>
		<dc:creator>Ben Meyers</dc:creator>
		<pubDate>Mon, 19 May 2008 19:18:30 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.rev-net.com/jmarnold/?p=7#comment-5</guid>
		<description>What component maintained responsibility for determining the type of Provider to use?  Were you basing that on the page you were looking at or some other piece of knowledge?</description>
		<content:encoded><![CDATA[<p>What component maintained responsibility for determining the type of Provider to use?  Were you basing that on the page you were looking at or some other piece of knowledge?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on From zero to launch - Part II: Role-based Security and Web Controls by From Zero to launch - Part I &#124; Joshua Arnold</title>
		<link>http://blogs.rev-net.com/jmarnold/2008/05/role-based-security-and-web-controls/#comment-4</link>
		<dc:creator>From Zero to launch - Part I &#124; Joshua Arnold</dc:creator>
		<pubDate>Tue, 13 May 2008 05:59:36 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.rev-net.com/jmarnold/?p=6#comment-4</guid>
		<description>[...] From zero to launch - Part II: Role-based Security and Web Controls  [...]</description>
		<content:encoded><![CDATA[<p>[...] From zero to launch - Part II: Role-based Security and Web Controls  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on From Zero to launch - Part I by Josh</title>
		<link>http://blogs.rev-net.com/jmarnold/2008/05/from-zero-to-launch-part-i/#comment-3</link>
		<dc:creator>Josh</dc:creator>
		<pubDate>Tue, 13 May 2008 05:11:05 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.rev-net.com/jmarnold/?p=5#comment-3</guid>
		<description>@Ben Yes, everything revolves around this notion of the &lt;em&gt;current viewing context&lt;/em&gt;. While the User profile example was simple enough, it certainly raises the question of "why". The more reasonable example to justify this approach is to handle the following relationships:

Photo(.id) is contained within PhotoAlbum(.id).
PhotoAlbum(.id) is owned by User(.id).
PhotoAlbum(.id) is owned by Group(.id).
PhotoAlbum(.id) is owned by Event(.id).
Event is owned by Group(.id).

Given any Photo, the principal User can be in any of the following roles: 'EventAdmin', 'EventMember', 'Friend', 'GroupMember', 'GroupAdmin', 'Owner', 'Blocked'. By returning a bit-wise combination of values, we can determine all of the appropriate roles and inject them. This allows for easier and more readable business logic which should eventually help with maintenance.</description>
		<content:encoded><![CDATA[<p>@Ben Yes, everything revolves around this notion of the <em>current viewing context</em>. While the User profile example was simple enough, it certainly raises the question of &#8220;why&#8221;. The more reasonable example to justify this approach is to handle the following relationships:</p>
<p>Photo(.id) is contained within PhotoAlbum(.id).<br />
PhotoAlbum(.id) is owned by User(.id).<br />
PhotoAlbum(.id) is owned by Group(.id).<br />
PhotoAlbum(.id) is owned by Event(.id).<br />
Event is owned by Group(.id).</p>
<p>Given any Photo, the principal User can be in any of the following roles: &#8216;EventAdmin&#8217;, &#8216;EventMember&#8217;, &#8216;Friend&#8217;, &#8216;GroupMember&#8217;, &#8216;GroupAdmin&#8217;, &#8216;Owner&#8217;, &#8216;Blocked&#8217;. By returning a bit-wise combination of values, we can determine all of the appropriate roles and inject them. This allows for easier and more readable business logic which should eventually help with maintenance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on From Zero to launch - Part I by Ben Meyers</title>
		<link>http://blogs.rev-net.com/jmarnold/2008/05/from-zero-to-launch-part-i/#comment-2</link>
		<dc:creator>Ben Meyers</dc:creator>
		<pubDate>Tue, 13 May 2008 04:01:01 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.rev-net.com/jmarnold/?p=5#comment-2</guid>
		<description>That is a seriously disturbing yet interesting approach to the  permissions problem.  So you're basically reverse mapping your  relationships, working from the target user id to the source user id (logged in user), determining their permissions in the context of the target user.  Probably only useful in this aspect, since so much of social networking site privacy rules are dependent on relationships between users, but kudos for even messing with ASP.Net security.</description>
		<content:encoded><![CDATA[<p>That is a seriously disturbing yet interesting approach to the  permissions problem.  So you&#8217;re basically reverse mapping your  relationships, working from the target user id to the source user id (logged in user), determining their permissions in the context of the target user.  Probably only useful in this aspect, since so much of social networking site privacy rules are dependent on relationships between users, but kudos for even messing with ASP.Net security.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
