<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-35584545.post8733775549386546367..comments</id><updated>2010-01-07T11:35:36.996-08:00</updated><category term='environment'/><category term='bay area'/><category term='algorithms'/><category term='software'/><category term='outdoors'/><category term='google'/><title type='text'>Comments on Gregable.: Google AppEngine Critical Flaw</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gregable.com/feeds/8733775549386546367/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35584545/8733775549386546367/comments/default'/><link rel='alternate' type='text/html' href='http://gregable.com/2008/05/google-appengine-critical-flaw.html'/><author><name>Greg</name><uri>http://www.blogger.com/profile/06692328337754346540</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-35584545.post-7157300348157160321</id><published>2010-01-07T11:35:36.996-08:00</published><updated>2010-01-07T11:35:36.996-08:00</updated><title type='text'>Hey Greg. You posted this a while ago. Do you have...</title><content type='html'>Hey Greg. You posted this a while ago. Do you have any pointers to more discussions about adding sawmill-ish features? &lt;br /&gt;&lt;br /&gt;Being an ex-google engineer, I would love to use GAE for projects; however, without mapreduce/sawmill to create reports it just doesn&amp;#39;t make sense. Maybe this is why the dev community is struggling so much with GAE&amp;#39;s non-relational database approach.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35584545/8733775549386546367/comments/default/7157300348157160321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35584545/8733775549386546367/comments/default/7157300348157160321'/><link rel='alternate' type='text/html' href='http://gregable.com/2008/05/google-appengine-critical-flaw.html?showComment=1262892936996#c7157300348157160321' title=''/><author><name>Favorites of Tom Nielsen</name><uri>http://www.blogger.com/profile/16235231294135068828</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://gregable.com/2008/05/google-appengine-critical-flaw.html' ref='tag:blogger.com,1999:blog-35584545.post-8733775549386546367' source='http://www.blogger.com/feeds/35584545/posts/default/8733775549386546367' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1233705044'/></entry><entry><id>tag:blogger.com,1999:blog-35584545.post-6286014571234557672</id><published>2009-04-12T22:38:00.000-07:00</published><updated>2009-04-12T22:38:00.000-07:00</updated><title type='text'>Postgres, I agree with you completely.  However my...</title><content type='html'>Postgres, I agree with you completely.  However my point is the step of "simply write a routine that populates the counter key based on your existing data set" isn't possible in appengine.  At least it isn't possible without a workaround like Evan suggests.&lt;BR/&gt;&lt;BR/&gt;There may have been changes in this arena much more recently than my original post.  I see some news that appengine offers additional purchasable quota which might satisfy this requirement.  I didn't read enough to be sure.  I assume that given time, they will offer some better solutions in this area.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35584545/8733775549386546367/comments/default/6286014571234557672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35584545/8733775549386546367/comments/default/6286014571234557672'/><link rel='alternate' type='text/html' href='http://gregable.com/2008/05/google-appengine-critical-flaw.html?showComment=1239601080000#c6286014571234557672' title=''/><author><name>Greg</name><uri>http://www.blogger.com/profile/06692328337754346540</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://gregable.com/2008/05/google-appengine-critical-flaw.html' ref='tag:blogger.com,1999:blog-35584545.post-8733775549386546367' source='http://www.blogger.com/feeds/35584545/posts/default/8733775549386546367' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1752602699'/></entry><entry><id>tag:blogger.com,1999:blog-35584545.post-8870458553559323521</id><published>2009-04-12T16:16:00.000-07:00</published><updated>2009-04-12T16:16:00.000-07:00</updated><title type='text'>Greg,&lt;br&gt;&lt;br&gt;You run into this same problem with c...</title><content type='html'>Greg,&lt;BR/&gt;&lt;BR/&gt;You run into this same problem with counts even when running on most traditional RDMS systems.  Counts simply are not performent.  Every time you need to add a new counter, simply write a routine that populates the counter key based on your existing data set, and then update it appropriately in your app going forward.&lt;BR/&gt;&lt;BR/&gt;It's pretty much a hack but I haven't worked with any data storage system that lets you run constant COUNT() operations.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35584545/8733775549386546367/comments/default/8870458553559323521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35584545/8733775549386546367/comments/default/8870458553559323521'/><link rel='alternate' type='text/html' href='http://gregable.com/2008/05/google-appengine-critical-flaw.html?showComment=1239578160000#c8870458553559323521' title=''/><author><name>Postgres</name><uri>http://www.blogger.com/profile/12847054969927521373</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://gregable.com/2008/05/google-appengine-critical-flaw.html' ref='tag:blogger.com,1999:blog-35584545.post-8733775549386546367' source='http://www.blogger.com/feeds/35584545/posts/default/8733775549386546367' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2136776497'/></entry><entry><id>tag:blogger.com,1999:blog-35584545.post-7597272530906854890</id><published>2008-08-01T12:27:00.000-07:00</published><updated>2008-08-01T12:27:00.000-07:00</updated><title type='text'>Hi Greg,&lt;br&gt;&lt;br&gt;I ran into the counting issue you ...</title><content type='html'>Hi Greg,&lt;BR/&gt;&lt;BR/&gt;I ran into the counting issue you mention a little while ago. I messed up the counters and needed to rebuild the counts. What I ended up doing is splitting the long-running process into smaller ones and either timing them out after 2 seconds or limiting each request to 5 put operations. &lt;BR/&gt;&lt;BR/&gt;Each request would then forward to a new URL with the current index/row in the path. &lt;BR/&gt;&lt;BR/&gt;(I had to raise Firefox's redirect max to an arbitrarily large number to actually have it run without errors.) &lt;BR/&gt;&lt;BR/&gt;But it did work. &lt;BR/&gt;&lt;BR/&gt;A little The Incredible Machine like but I'm finding that quite a few things are with App Engine (the app also gets hit every minute via a web-based cron service, for example.)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35584545/8733775549386546367/comments/default/7597272530906854890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35584545/8733775549386546367/comments/default/7597272530906854890'/><link rel='alternate' type='text/html' href='http://gregable.com/2008/05/google-appengine-critical-flaw.html?showComment=1217618820000#c7597272530906854890' title=''/><author><name>Aral</name><uri>http://www.blogger.com/profile/05461837410942379724</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://gregable.com/2008/05/google-appengine-critical-flaw.html' ref='tag:blogger.com,1999:blog-35584545.post-8733775549386546367' source='http://www.blogger.com/feeds/35584545/posts/default/8733775549386546367' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-542871799'/></entry><entry><id>tag:blogger.com,1999:blog-35584545.post-6284697582131668443</id><published>2008-05-16T23:19:00.000-07:00</published><updated>2008-05-16T23:19:00.000-07:00</updated><title type='text'>I wrote a bit about how to work around this here:&lt;...</title><content type='html'>I wrote a bit about how to work around this here:&lt;BR/&gt;&lt;BR/&gt;http://community.livejournal.com/evan_tech/248465.html</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35584545/8733775549386546367/comments/default/6284697582131668443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35584545/8733775549386546367/comments/default/6284697582131668443'/><link rel='alternate' type='text/html' href='http://gregable.com/2008/05/google-appengine-critical-flaw.html?showComment=1211005140000#c6284697582131668443' title=''/><author><name>Evan</name><uri>http://www.blogger.com/profile/13583968552805274415</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://gregable.com/2008/05/google-appengine-critical-flaw.html' ref='tag:blogger.com,1999:blog-35584545.post-8733775549386546367' source='http://www.blogger.com/feeds/35584545/posts/default/8733775549386546367' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1891378779'/></entry></feed>
