<?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 A Ham Sandwich</title>
	<atom:link href="http://ahamsandwich.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://ahamsandwich.wordpress.com</link>
	<description>Computer Science and Goings-On</description>
	<pubDate>Mon, 07 Jul 2008 08:56:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
		<item>
		<title>Comment on About That Header Picture by Brady</title>
		<link>http://ahamsandwich.wordpress.com/2007/08/01/about-that-header-picture/#comment-117</link>
		<dc:creator>Brady</dc:creator>
		<pubDate>Mon, 23 Jun 2008 07:53:42 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/2007/08/01/about-that-header-picture/#comment-117</guid>
		<description>I've seen it to and walked amongst it about three years ago.  A photo of it just turned up in an assignment I'm marking.  Such a small world.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve seen it to and walked amongst it about three years ago.  A photo of it just turned up in an assignment I&#8217;m marking.  Such a small world.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Giving up on Ruby on Rails for Python and Django by Fescue</title>
		<link>http://ahamsandwich.wordpress.com/2008/02/24/giving-up-on-ruby-on-rails-for-python-and-django/#comment-115</link>
		<dc:creator>Fescue</dc:creator>
		<pubDate>Thu, 19 Jun 2008 12:58:25 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/?p=43#comment-115</guid>
		<description>Somehow i missed the point. Probably lost in translation :) Anyway ... nice blog to visit.

cheers, Fescue!!</description>
		<content:encoded><![CDATA[<p>Somehow i missed the point. Probably lost in translation <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Anyway &#8230; nice blog to visit.</p>
<p>cheers, Fescue!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Working with Large ML Code Bases by Remainder of February Bookmarks Trawl &#187; What the rain knows (archives)</title>
		<link>http://ahamsandwich.wordpress.com/2008/02/11/working-with-large-ml-code-bases/#comment-107</link>
		<dc:creator>Remainder of February Bookmarks Trawl &#187; What the rain knows (archives)</dc:creator>
		<pubDate>Wed, 27 Feb 2008 20:13:18 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/?p=40#comment-107</guid>
		<description>[...] Working with Large ML Code Bases « A Ham Sandwich [...]</description>
		<content:encoded><![CDATA[<p>[...] Working with Large ML Code Bases « A Ham Sandwich [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Preparing to Build a Rails App by rippfx</title>
		<link>http://ahamsandwich.wordpress.com/2007/10/24/preparing-to-build-a-rails-app/#comment-106</link>
		<dc:creator>rippfx</dc:creator>
		<pubDate>Wed, 27 Feb 2008 07:43:54 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/2007/10/24/preparing-to-build-a-rails-app/#comment-106</guid>
		<description>Should be one hyphen instead of two

gem install rails -include-dependencies
above worked for me</description>
		<content:encoded><![CDATA[<p>Should be one hyphen instead of two</p>
<p>gem install rails -include-dependencies<br />
above worked for me</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Giving up on Ruby on Rails for Python and Django by Robert Brewer</title>
		<link>http://ahamsandwich.wordpress.com/2008/02/24/giving-up-on-ruby-on-rails-for-python-and-django/#comment-105</link>
		<dc:creator>Robert Brewer</dc:creator>
		<pubDate>Mon, 25 Feb 2008 02:51:22 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/?p=43#comment-105</guid>
		<description>Actually, Russell, that's a "generator expression" you've got there. A true "list comprehension" uses [square brackets] instead of parentheses and *is* evaluated immediately, creating an intermediate list which the join then acts upon. See http://docs.python.org/ref/lists.html.</description>
		<content:encoded><![CDATA[<p>Actually, Russell, that&#8217;s a &#8220;generator expression&#8221; you&#8217;ve got there. A true &#8220;list comprehension&#8221; uses [square brackets] instead of parentheses and *is* evaluated immediately, creating an intermediate list which the join then acts upon. See <a href="http://docs.python.org/ref/lists.html" rel="nofollow">http://docs.python.org/ref/lists.html</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Giving up on Ruby on Rails for Python and Django by Russell Keith-Magee</title>
		<link>http://ahamsandwich.wordpress.com/2008/02/24/giving-up-on-ruby-on-rails-for-python-and-django/#comment-104</link>
		<dc:creator>Russell Keith-Magee</dc:creator>
		<pubDate>Mon, 25 Feb 2008 00:15:19 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/?p=43#comment-104</guid>
		<description>The list/iterator distinction isn't a Django specific thing - it's a fairly common Python idiom. In the simple case, you can always turn an interator into a list using list() (if x is an iterator, list(x) is a rolled out list containing everything in the iterator), but this isn't normally necessary. Python's list comprehension syntax:

For example:
':'.join(u.username for u in User.objects.all())

will return a string containing all the usernames in the database, separated bycolons. The "f(x) for x in iterator/list" syntax is called a list comprehension: it evaluates on-demand, so a temporary list isn't required, and works on both iterators and lists.

Regarding the admin interface - contrib.admin is intended as a simple admin interface, not the be-all-and-end-all admin application. However, you can do searches across many to many tables. The double underscore syntax allows searches to traverse tables. For example, the Django query:

&#62;&#62;&#62; Author.objects.filter(book__name__icontains='foo')

will traverse the book relation to search the name field of related books, and return Authors that match. This query is exactly equivalent to specifying search_fields = ['book__name'] in the Admin class of Author.</description>
		<content:encoded><![CDATA[<p>The list/iterator distinction isn&#8217;t a Django specific thing - it&#8217;s a fairly common Python idiom. In the simple case, you can always turn an interator into a list using list() (if x is an iterator, list(x) is a rolled out list containing everything in the iterator), but this isn&#8217;t normally necessary. Python&#8217;s list comprehension syntax:</p>
<p>For example:<br />
&#8216;:&#8217;.join(u.username for u in User.objects.all())</p>
<p>will return a string containing all the usernames in the database, separated bycolons. The &#8220;f(x) for x in iterator/list&#8221; syntax is called a list comprehension: it evaluates on-demand, so a temporary list isn&#8217;t required, and works on both iterators and lists.</p>
<p>Regarding the admin interface - contrib.admin is intended as a simple admin interface, not the be-all-and-end-all admin application. However, you can do searches across many to many tables. The double underscore syntax allows searches to traverse tables. For example, the Django query:</p>
<p>&gt;&gt;&gt; Author.objects.filter(book__name__icontains=&#8217;foo&#8217 <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>will traverse the book relation to search the name field of related books, and return Authors that match. This query is exactly equivalent to specifying search_fields = ['book__name'] in the Admin class of Author.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Giving up on Ruby on Rails for Python and Django by Barry</title>
		<link>http://ahamsandwich.wordpress.com/2008/02/24/giving-up-on-ruby-on-rails-for-python-and-django/#comment-103</link>
		<dc:creator>Barry</dc:creator>
		<pubDate>Sun, 24 Feb 2008 17:21:40 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/?p=43#comment-103</guid>
		<description>Oh yes, and the many-to-many relationships are handled by Active Record quite seamlessly. Just specify
&lt;code&gt;has_and_belongs_to_many&lt;/code&gt;
in your models.</description>
		<content:encoded><![CDATA[<p>Oh yes, and the many-to-many relationships are handled by Active Record quite seamlessly. Just specify<br />
<code>has_and_belongs_to_many</code><br />
in your models.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Giving up on Ruby on Rails for Python and Django by Barry</title>
		<link>http://ahamsandwich.wordpress.com/2008/02/24/giving-up-on-ruby-on-rails-for-python-and-django/#comment-102</link>
		<dc:creator>Barry</dc:creator>
		<pubDate>Sun, 24 Feb 2008 17:19:18 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/?p=43#comment-102</guid>
		<description>You should have looked at Rails Migrations. You code in pure Ruby, and the database tables get created for you. And the best part is that even if you decide to change database back-ends, your migrations stay the same. No need to touch SQL when working in Rails.

The other nice things about migrations is that you can "migrate" your database to any version you like. Made a change that stuffed up your production server? No problem. Just roll back to last known stable database version.

Rails manages all that for you.</description>
		<content:encoded><![CDATA[<p>You should have looked at Rails Migrations. You code in pure Ruby, and the database tables get created for you. And the best part is that even if you decide to change database back-ends, your migrations stay the same. No need to touch SQL when working in Rails.</p>
<p>The other nice things about migrations is that you can &#8220;migrate&#8221; your database to any version you like. Made a change that stuffed up your production server? No problem. Just roll back to last known stable database version.</p>
<p>Rails manages all that for you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Working with Large ML Code Bases by Mike</title>
		<link>http://ahamsandwich.wordpress.com/2008/02/11/working-with-large-ml-code-bases/#comment-101</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Wed, 13 Feb 2008 02:26:48 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/?p=40#comment-101</guid>
		<description>Emacs with Taureg mode has browsers and type inspection.</description>
		<content:encoded><![CDATA[<p>Emacs with Taureg mode has browsers and type inspection.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Working with Large ML Code Bases by berke</title>
		<link>http://ahamsandwich.wordpress.com/2008/02/11/working-with-large-ml-code-bases/#comment-100</link>
		<dc:creator>berke</dc:creator>
		<pubDate>Tue, 12 Feb 2008 23:55:02 +0000</pubDate>
		<guid isPermaLink="false">http://ahamsandwich.wordpress.com/?p=40#comment-100</guid>
		<description>&lt;code&gt;ocamlbrowser -I path&lt;/code&gt; is your friend.</description>
		<content:encoded><![CDATA[<p><code>ocamlbrowser -I path</code> is your friend.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
