<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
	>
<channel>
	<title>Comments on: Google App Engine: To Django or to webapp?</title>
	<atom:link href="http://aralbalkan.com/1313/feed" rel="self" type="application/rss+xml" />
	<link>http://aralbalkan.com/1313</link>
	<description>Passionate geekisms.</description>
	<lastBuildDate>Fri, 12 Mar 2010 23:13:16 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Max</title>
		<link>http://aralbalkan.com/1313/comment-page-1#comment-256491</link>
		<dc:creator>Max</dc:creator>
		<pubDate>Sat, 18 Jul 2009 22:02:50 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1313#comment-256491</guid>
		<description>Yes, he does not mean web2py althought web2py has a @service.amfrpc3() decorator that exposes functions for use with Flash and it is easier to use than webapp.</description>
		<content:encoded><![CDATA[<p>Yes, he does not mean web2py althought web2py has a @service.amfrpc3() decorator that exposes functions for use with Flash and it is easier to use than webapp.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benigno</title>
		<link>http://aralbalkan.com/1313/comment-page-1#comment-231734</link>
		<dc:creator>benigno</dc:creator>
		<pubDate>Tue, 17 Mar 2009 22:35:00 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1313#comment-231734</guid>
		<description>mystylplx,

I think Luis meant web.py and not web2py as you seem to have understood. They are two very different frameworks.</description>
		<content:encoded><![CDATA[<p>mystylplx,</p>
<p>I think Luis meant web.py and not web2py as you seem to have understood. They are two very different frameworks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mystylplx</title>
		<link>http://aralbalkan.com/1313/comment-page-1#comment-226510</link>
		<dc:creator>mystylplx</dc:creator>
		<pubDate>Wed, 04 Mar 2009 22:06:44 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1313#comment-226510</guid>
		<description>luis, how does the database api change when using web2py on GAE? As far as I can tell you have to use web2pys DAL when developing, at least, because you can&#039;t run the admin app under the GAE SDK. Web2py is great, but it&#039;s DAL is not so great. I&#039;d love to be able to use webapp&#039;s DAL but for everything else use web2py, but it doesn&#039;t seem possible. Web2py is built in layers, and the bottom-most layer is the DAL. If there&#039;s a way to do this I would be VERY appreciative to learn how.</description>
		<content:encoded><![CDATA[<p>luis, how does the database api change when using web2py on GAE? As far as I can tell you have to use web2pys DAL when developing, at least, because you can&#8217;t run the admin app under the GAE SDK. Web2py is great, but it&#8217;s DAL is not so great. I&#8217;d love to be able to use webapp&#8217;s DAL but for everything else use web2py, but it doesn&#8217;t seem possible. Web2py is built in layers, and the bottom-most layer is the DAL. If there&#8217;s a way to do this I would be VERY appreciative to learn how.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: luis</title>
		<link>http://aralbalkan.com/1313/comment-page-1#comment-150365</link>
		<dc:creator>luis</dc:creator>
		<pubDate>Tue, 27 May 2008 03:16:14 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1313#comment-150365</guid>
		<description>webapp is strikingly similar to webpy (even its name is similar) and, as far as I know, its developers were also very influenced by webpy.
And webpy works with GAE right our of the box without any modification.

Actually, webpy requires even less typing than webapp, which seems to be more explicit. But the most important thing is &quot;portability&quot;.
Only the database api changes (because of bigtable&#039;s datastore), but all the rest can be kept unchanged.

So if you want a very simple solution (even simpler than webapp) and you want portability, give webpy a shot. You will like it.</description>
		<content:encoded><![CDATA[<p>webapp is strikingly similar to webpy (even its name is similar) and, as far as I know, its developers were also very influenced by webpy.<br />
And webpy works with GAE right our of the box without any modification.</p>
<p>Actually, webpy requires even less typing than webapp, which seems to be more explicit. But the most important thing is &#8220;portability&#8221;.<br />
Only the database api changes (because of bigtable&#8217;s datastore), but all the rest can be kept unchanged.</p>
<p>So if you want a very simple solution (even simpler than webapp) and you want portability, give webpy a shot. You will like it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Ballinger</title>
		<link>http://aralbalkan.com/1313/comment-page-1#comment-136402</link>
		<dc:creator>John Ballinger</dc:creator>
		<pubDate>Tue, 15 Apr 2008 05:44:47 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1313#comment-136402</guid>
		<description>TOO easy.

You can do things like, &quot;select .... height&gt;70 AND height&lt;90&quot; the documentation says you can only use more then one  on one property, eg height.

BUT you cannot use on more than one property in the same query. 
for example &quot;select ... height&gt;70 AND weight&gt;50&quot; because now you are doing 2 properties height and weight.

LASTLY, you can use = for everything else.
eg &quot;Select .... height=70 AND weight=70 AND sex=&quot;male&quot; AND birthday &gt; 1977&quot; is valid because only 1 greater than query has been used.  

If you think this is limiting, I would doubt it.  Google uses this DB for nearly everything so if they can so can you. If it does become a problem you may have to preprocess some data or think of some smart ways to handle the data.  

Man cannot wait for invite. Have built one app, nearly on to my next. I am so impatient that I have installed Django mod_python and sqlite on my server because I have been enjoying python a lot (but Django seems very complicated when compared with GAE).

Cheers, John.</description>
		<content:encoded><![CDATA[<p>TOO easy.</p>
<p>You can do things like, &#8220;select &#8230;. height&gt;70 AND height&lt;90&#8243; the documentation says you can only use more then one  on one property, eg height.</p>
<p>BUT you cannot use on more than one property in the same query.<br />
for example &#8220;select &#8230; height&gt;70 AND weight&gt;50&#8243; because now you are doing 2 properties height and weight.</p>
<p>LASTLY, you can use = for everything else.<br />
eg &#8220;Select &#8230;. height=70 AND weight=70 AND sex=&#8221;male&#8221; AND birthday &gt; 1977&#8243; is valid because only 1 greater than query has been used.  </p>
<p>If you think this is limiting, I would doubt it.  Google uses this DB for nearly everything so if they can so can you. If it does become a problem you may have to preprocess some data or think of some smart ways to handle the data.  </p>
<p>Man cannot wait for invite. Have built one app, nearly on to my next. I am so impatient that I have installed Django mod_python and sqlite on my server because I have been enjoying python a lot (but Django seems very complicated when compared with GAE).</p>
<p>Cheers, John.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anthony</title>
		<link>http://aralbalkan.com/1313/comment-page-1#comment-136302</link>
		<dc:creator>Anthony</dc:creator>
		<pubDate>Mon, 14 Apr 2008 21:55:23 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1313#comment-136302</guid>
		<description>OK I am utterly confused now.  Upon further review of the link I pasted above there is a section called &quot;introducing indexes&quot; which has as a sample the following query:

SELECT * FROM Person WHERE last_name = &quot;Smith&quot; AND height &lt; 72 ORDER BY height DESC

That query looks strangely familiar to the one in the that they said was not valid in the &quot;Restrictions on queries&quot; section.  It said &quot;A query may only use inequality filters (&lt;, =, and &gt;) on one property across all of its filters.&quot;

So, would someone smarter than me please visit this link and make sense of this page?  It appears from the examples that it works the way you think it would, then they throw in this restrictions section which seems to contradict everything they have just said... help!

http://code.google.com/appengine/docs/datastore/queriesandindexes.html</description>
		<content:encoded><![CDATA[<p>OK I am utterly confused now.  Upon further review of the link I pasted above there is a section called &#8220;introducing indexes&#8221; which has as a sample the following query:</p>
<p>SELECT * FROM Person WHERE last_name = &#8220;Smith&#8221; AND height &lt; 72 ORDER BY height DESC</p>
<p>That query looks strangely familiar to the one in the that they said was not valid in the &#8220;Restrictions on queries&#8221; section.  It said &#8220;A query may only use inequality filters (&lt;, =, and &gt;) on one property across all of its filters.&#8221;</p>
<p>So, would someone smarter than me please visit this link and make sense of this page?  It appears from the examples that it works the way you think it would, then they throw in this restrictions section which seems to contradict everything they have just said&#8230; help!</p>
<p><a href="http://code.google.com/appengine/docs/datastore/queriesandindexes.html" rel="nofollow">http://code.google.com/appengine/docs/datastore/queriesandindexes.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anthony</title>
		<link>http://aralbalkan.com/1313/comment-page-1#comment-136299</link>
		<dc:creator>Anthony</dc:creator>
		<pubDate>Mon, 14 Apr 2008 21:39:32 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1313#comment-136299</guid>
		<description>OK so maybe I just dont understand BigTable all to well.  I just saw in their examples (at the link above) that the following would error:

SELECT * FROM Person WHERE birth_year &gt;= :min_year AND height &gt;= :min_height 

It also said that &quot;Inequality Filters Are Allowed On One Property Only&quot;, so you cant put a filter on birth_year and height if I am understanding correctly.  Is there some sort of another way to get at this recordset? Do they offer subfilters of filters or something?

It also says that &quot;The datastore does not have support for the not-equal (!=) operator for filters.&quot; Which means I could not pull from the DB all records of people NOT from california. Unless there is some other way to get at this recordset.

I sure hope I am wrong here and there is some way to do this stuff because I cant think of an application I&#039;ve written that didnt have need to filter on multiple fields at some point.</description>
		<content:encoded><![CDATA[<p>OK so maybe I just dont understand BigTable all to well.  I just saw in their examples (at the link above) that the following would error:</p>
<p>SELECT * FROM Person WHERE birth_year &gt;= :min_year AND height &gt;= :min_height </p>
<p>It also said that &#8220;Inequality Filters Are Allowed On One Property Only&#8221;, so you cant put a filter on birth_year and height if I am understanding correctly.  Is there some sort of another way to get at this recordset? Do they offer subfilters of filters or something?</p>
<p>It also says that &#8220;The datastore does not have support for the not-equal (!=) operator for filters.&#8221; Which means I could not pull from the DB all records of people NOT from california. Unless there is some other way to get at this recordset.</p>
<p>I sure hope I am wrong here and there is some way to do this stuff because I cant think of an application I&#8217;ve written that didnt have need to filter on multiple fields at some point.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aral</title>
		<link>http://aralbalkan.com/1313/comment-page-1#comment-136295</link>
		<dc:creator>Aral</dc:creator>
		<pubDate>Mon, 14 Apr 2008 21:14:52 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1313#comment-136295</guid>
		<description>Hi Anthony,

Unless I misunderstand what you&#039;re trying to do, you should be able to use filters to do that. 

You will have to change the way you do things to suit how Bigtable works, however. Since disk space is essentially free these days, you should try and precompute as much as possible at write-time to minimize the cost of reads. And forget about normalization and joins (from what I&#039;ve read, Bigtable does support joins but this hasn&#039;t -- yet? -- been exposed in Google App Engine):)</description>
		<content:encoded><![CDATA[<p>Hi Anthony,</p>
<p>Unless I misunderstand what you&#8217;re trying to do, you should be able to use filters to do that. </p>
<p>You will have to change the way you do things to suit how Bigtable works, however. Since disk space is essentially free these days, you should try and precompute as much as possible at write-time to minimize the cost of reads. And forget about normalization and joins (from what I&#8217;ve read, Bigtable does support joins but this hasn&#8217;t &#8212; yet? &#8212; been exposed in Google App Engine):)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anthony</title>
		<link>http://aralbalkan.com/1313/comment-page-1#comment-136218</link>
		<dc:creator>Anthony</dc:creator>
		<pubDate>Mon, 14 Apr 2008 15:28:54 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1313#comment-136218</guid>
		<description>Well, I am just wondering if I am missing something here.  I havent heard too many comments from Dev&#039;s other than &quot;this stuff is great&quot; and &quot;this is game changing&quot;.  All I can think is that they haven&#039;t actually tried to write an app yet, which would be sad to start developing an app for a client only to have to tell them, &quot;oh we can&#039;t do that&quot; very simple query.

The only other thing I can think of is that I am simply misreading the limitations and there must be another way to deal with the issue.</description>
		<content:encoded><![CDATA[<p>Well, I am just wondering if I am missing something here.  I havent heard too many comments from Dev&#8217;s other than &#8220;this stuff is great&#8221; and &#8220;this is game changing&#8221;.  All I can think is that they haven&#8217;t actually tried to write an app yet, which would be sad to start developing an app for a client only to have to tell them, &#8220;oh we can&#8217;t do that&#8221; very simple query.</p>
<p>The only other thing I can think of is that I am simply misreading the limitations and there must be another way to deal with the issue.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lee McColl Sylvester</title>
		<link>http://aralbalkan.com/1313/comment-page-1#comment-136160</link>
		<dc:creator>Lee McColl Sylvester</dc:creator>
		<pubDate>Mon, 14 Apr 2008 08:31:45 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1313#comment-136160</guid>
		<description>Then, don&#039;t use it :)</description>
		<content:encoded><![CDATA[<p>Then, don&#8217;t use it :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
