[google-appengine] Index building seems to be stuck

2010-06-13 Thread Amir
My index page has been saying "BUILDING" for almost 24 hours now... I
think it's stuck.  Can someone please take a look? appid is: mambo-
pics
Thanks,
   Amir

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: 500 error trying to reach dashboard

2010-09-15 Thread Amir
Same here... latency is up and can't access the Dashboard.

On Sep 15, 6:50 am, Fredrik Bonander 
wrote:
> I've had problems with reaching the dashboard since yesterday with 2 
> different applications.
>
> Is this related to the problems with the datastore?
>
> ..fredrik
>
> --
> Fredrik Bonander
> carl.fredrik.bonan...@gmail.com
> +46 70 943 5441
>
> - the infinite power of the creative mind -

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Cant deploy App to AppEngine

2011-06-12 Thread Amir


Hi,

I am having issues uploading to AppEngine even with the auto generated
sample app.
see log below.

would appreciate some help with that one.


Unable to update:
java.io.IOException: Error posting to URL:
https://appengine.google.com/api/appversion/create?app_id=TestWebApp&version=1&;
400 Bad Request

Client Error (400)
The request is invalid for an unspecified reason.

at
com.google.appengine.tools.admin.AbstractServerConnection.send(AbstractServerConnection.java:
245)
at
com.google.appengine.tools.admin.AbstractServerConnection.post(AbstractServerConnection.java:
207)
at
com.google.appengine.tools.admin.AppVersionUpload.send(AppVersionUpload.java:
639)
at
com.google.appengine.tools.admin.AppVersionUpload.beginTransaction(AppVersionUpload.java:
446)
at
com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload.java:
137)
at
com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:
284)
at
com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:
48)
at
com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java:
265)
at
com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java:
144)
at
org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:
38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
C

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] App Engine with GWT MPV pattern

2011-06-12 Thread Amir
Hi,

I have started playing lately with the GWT's MPV pattern and it seems
like a nice feature.
For some reason the auto generated code option for MPV is not
available with the eclipse plugin and one needs to download the GWT
standalone
tool bar app.
The GAE page says that you do not need to install GWT as it comes (in
some flavor) with the plugin.

I first started by creating a GAE web app with the plugin and then
added GWT modules to it.
The app works locally but will I have any issue when deploying it?
Is there any reason why the MPV option is not available in GAE plugin?

thanks,
Amir

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Exceptions on URL fetch.

2009-06-11 Thread Amir

Hi,

I have written a small servlet application, which will do a URL fetch
(a small web page, within the application) inside a for loop of 10.

When I try to execute the application, all the 10 URL fetch is not
succeeded all the times. Though it works some time.

And I printed the stack trace, which gives

com.xora.cron.server.CronJobImpl service: java.io.IOException: Unknown
at
com.google.appengine.api.urlfetch.URLFetchServiceImpl.handleApplicationException
(URLFetchServiceImpl.java:56)
at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch
(URLFetchServiceImpl.java:30)
at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch
(URLFetchServiceImpl.java:20)
at com.xora.cron.server.CronJobImpl.service(CronJobImpl.java:43)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1093)
at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter
(SaveSessionFilter.java:35)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
360)
at org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle
(AppVersionHandlerMap.java:237)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
506)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete
(HttpConnection.java:830)
at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable
(RpcRequestParser.java:76)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest
(JettyServletEngineAdapter.java:125)
at com.google.apphosting.runtime.JavaRuntime.handleRequest
(JavaRuntime.java:235)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:4755)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:4753)
at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest
(BlockingApplicationHandler.java:24)
at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
359)
at com.google.net.rpc.impl.Server$2.run(Server.java:800)
at com.google.tracing.LocalTraceSpanRunnable.run
(LocalTraceSpanRunnable.java:56)
at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan
(LocalTraceSpanBuilder.java:510)
at com.google.net.rpc.impl.Server.startRpc(Server.java:756)
at com.google.net.rpc.impl.Server.processRequest(Server.java:348)
at com.google.net.rpc.impl.ServerConnection.messageReceived
(ServerConnection.java:459)
at com.google.net.rpc.impl.RpcConnection.parseMessages
(RpcConnection.java:319)
at com.google.net.rpc.impl.RpcConnection.dataReceived
(RpcConnection.java:290)
at com.google.net.async.Connection.handleReadEvent(Connection.java:
419)
at com.google.net.async.EventDispatcher.processNetworkEvents
(EventDispatcher.java:762)
at com.google.net.async.EventDispatcher.internalLoop
(EventDispatcher.java:207)
at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:101)
at com.google.net.rpc.RpcService.runUntilServerShutdown
(RpcService.java:251)
at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run
(JavaRuntime.java:373)
at java.lang.Thread.run(Unknown Source)

What could be the reason for this exception ? If the URL is wrong, it
should have failed for all the attempts, but it fails sometime, and
works again.

Small snippet of code is,

public void service(HttpServletRequest request, HttpServletResponse
response) {
 log.info("cronJobImpl : Thread Id = " + Thread.currentThread().getId
() );
 for (int i = 0; i<=10 ; i++) {
URL url = new URL ("http://cronjobtest.appspot.com/cronjob/task";);
HTTPResponse httpRes =  URLFetchServiceFactory.getURLFetchService
().fetch(url);
  }
}

Thanks,
Amir.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: appengine.google.com returns 500 error

2010-12-01 Thread Amir
It's been down for quite some time now. Any update?

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: appengine.google.com returns 500 error

2010-12-01 Thread Amir
It seems to fail during precompilation...


output:

Precompilation starting.

2010-12-01 16:12:39,897 INFO appcfg.py:1814 HTTP Error (HTTP Error 503:
Service Unavailable)
Rolling back the update.
Error 503: --- begin server output ---


Try Again (503)
An unexpected failure has occurred. Please try again.
--- end server output ---

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: appengine.google.com returns 500 error

2010-12-01 Thread Amir
it's up... and super fast for me :)

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: More deployment problems today

2010-12-02 Thread Amir
Likewise. I'm getting 500s too.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: More deployment problems today

2010-12-02 Thread Amir
It's working again.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: I can't access my app from my computer. Google "unusual traffic" error message.

2011-01-27 Thread Amir


Same here, I was testing my app, and bamm! redirected to 
http://sorry.google.com/sorry/?continue=http://www.jaavuu.com/

It's never happened to me before.  It seems to only block me on my custom 
domains.  But now, other google app products are blocking me.  Not good.

Maybe it a safety feature to make sure you don't do any development after 
4am? I guess it's time to sleep.


http://rookery9.aviary.com.s3.amazonaws.com/6426500/6426678_1d37_625x625.jpg

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: I can't access my app from my computer. Google "unusual traffic" error message.

2011-01-27 Thread Amir
Try testing on your *.appspot.com domain. It might not be blocked.
Also see if you can access other services mapped to custom domains like 
blogs and mail, i.e. blog.mydomain.com
I have a feeling that those are the ones being blocked.
  -Amir

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: I can't access my app from my computer. Google "unusual traffic" error message.

2011-01-27 Thread Amir
I tested my app from a different ip address, and it's up and running ( 
http://www.jaavuu.com ), so it seems like they are just blocking specific ip 
addresses... that's good. (kind of)
   -Amir

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Getting rid of JDO (loading requests too expensive)

2010-05-29 Thread Amir Michail
On May 28, 7:33 pm, Viðar Svansson  wrote:
> I have not tested the the performance of Twig but I think it loads
> parents and children entities so it might load more than you need 
> whengettingentities. My Objectify initialisation take around 200ms with
> around 8 kinds.
>
> Viðar

I've modified my code to use  Objectify.  Do I need to remove unused
jar files and/or change the configuration to reduce loading request
times as much as possible with Objectify?

I'm using the google Eclipse plugin.  The are a lot of jar files in
the war/WEB-INF/lib directory:

appengine-api-1.0-sdk-1.3.4.jar
appengine-api-labs-1.3.4.jar
appengine-jsr107cache-1.3.4.jar
datanucleus-appengine-1.0.7.final.jar
datanucleus-core-1.1.5.jar
datanucleus-jpa-1.1.5.jar
geronimo-jpa_3.0_spec-1.1.1.jar
geronimo-jta_1.1_spec-1.1.1.jar
gwt-servlet.jar
jdo2-api-2.3-eb.jar
jsr107cache-1.1.jar
objectify-2.2.jar

Amir


>
> On Fri, May 28, 2010 at 3:31 PM, Amir  Michail  wrote:
>
>
>
> > On May 27, 2:45 pm, Viðar Svansson  wrote:
> >> Minimal change is probably to replace JDO with Twig. For more control
> >> (and more changes to the code) you can go for Objectify.
>
> >> Viðar
>
> > Which one results in faster loading requests?
>
> > Amir
>
> >> On Thu, May 27, 2010 at 3:30 PM, Amir  Michail  wrote:
>
> >> > What is the easiest way to getridof JDO to improve loading request
> >> > times?
>
> >> > That is, what would require minimal changes to the code?
>
> >> > --
> >> > You received this message because you are subscribed to the Google 
> >> > Groups "Google App Engine" group.
> >> > To post to this group, send email to google-appeng...@googlegroups.com.
> >> > To unsubscribe from this group, send email to 
> >> > google-appengine+unsubscr...@googlegroups.com.
> >> > For more options, visit this group 
> >> > athttp://groups.google.com/group/google-appengine?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Google App Engine" group.
> > To post to this group, send email to google-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to 
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: When will the scheduled maintenance start?

2010-06-12 Thread Amir Michail
On Jun 12, 5:12 pm, App Engine Team 
wrote:
> Hey Waleed
>
> The first half of the maintenance period was actually done without
> going read-only. We have just enabled read-only now.

Do you know approximately when the maintenance period will end?

Amir

>
> On Jun 12, 1:49 pm, Waleed Abdulla  wrote:
>
>
>
> > It was supposed to start at 1pm. I wonder if it's already in progress or not
> > started yet!

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Weird Upload Errors

2010-10-18 Thread Amir Michail
On Oct 18, 4:18 pm, J  wrote:
> Hi,
>
> Hopefully someone can shed some light on this: all of a sudden, I
> started receiving '409' errors. For example,

I can't deploy a new version of an app.  It just keeps saying "Will
check again in 60 seconds."

I don't see the 409 error.

Amir

>
> ...
> ...
> Will check again in 32 seconds.
> Checking if new version is ready to serve.
> Will check again in 60 seconds.
> Checking if new version is ready to serve.
> Will check again in 60 seconds.
> Checking if new version is ready to serve.
> Will check again in 60 seconds.
> Checking if new version is ready to serve.
> Will check again in 60 seconds.
> Checking if new version is ready to serve.
> 2010-10-18 16:14:18,997 INFO appcfg.py:1814 HTTP Error (HTTP Error
> 409: Conflict)
> Rolling back the update.
> Error 409: --- begin server output ---
> No transaction is in progress.
> --- end server output ---
>
> It has happened a couple of times already.
>
> Thanks in advance.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] calling out the app engine team on ssl for custom domains

2011-09-22 Thread Amir More
the issue of SSL on custom domains is, 
in googley terms, a form of evil.

On a personal note: You'll have to take my word for it that I had attended 
I/O 2011 and brought up the issue at App Engine office hours before the 
fireside chat.  One of the engineers (may have been Brett, I can't recall) 
started explaining the whole SNI issue.  There were a couple of GAE 
developers there who heard our discussion and chimed in that they just send 
their users to the *.appspot.com for registration and no one complained, and 
that maybe I should do that too.  I was a bit shocked that the App Engine 
team didn't think that was a bad idea (if my cryptography professor heard 
about this he would go into quite a rant over it).  When I brought up the 
fact that I had a startup project that was waiting for SSL on a custom 
domain, I got reply along the following lines: "Your business shouldn't be 
waiting on a future feature." (again, not exact words but along those 
lines).

I'm calling out the team on their hypocrisy.  On the one hand, the whole 
point of Google I/O is to get developers involved with features that haven't 
come out yet so that when they do come out they can be immediately used in 
applications consumed by the public/enterprise.  Android SDKs with features 
that aren't rolled out yet, HTML5/Chrome features that aren't out yet (hello 
Native Client) and App Engine features as well are introduced and described 
at length, no doubt with the goal of being used by developers.  App Engine's 
FTS feature works in the SDK but not in production yet - so does that mean I 
shouldn't build an application that relies on FTS until it is available in 
production?  Native Client arrived in the Stable Channel this past month - 
so should developers not develop games or apps with NaCl until it is stable? 
 On the other hand, the GAE team says a developer shouldn't be waiting on a 
future feature?  Even if it was announced at a keynote speech over a year 
ago?  At the very least there are conflicting messages.

So, where are we now?  As the team has said numerous times in their own 
words, the SSL on custom domains issue is clearly a top priority.  While 
they would certainly be grateful if IE on XP would disappear overnight, this 
is clearly not the case.  At the current rate it would take at least a few 
years until the market share of IE/XP would be negligible (say less than one 
percent).  Worldwide IPv6 deployment doesn't seem to be doing any better.
It seems that the GAE team and/or the googlers who are in charge have made a 
choice to either do nothing and wait for IPv6 / no more IE on XP or find a 
workaround.

There is at least one trivial and costly but effective way to solve the 
problem.  Google can buy enough static IPv4 IPs so that each app engine app 
paying for SSL on a custom domain has a number of static IPs corresponding 
to front end servers / load balancers in numerous data centers all over the 
world.  Google can set up a dns service which services only app engine apps 
with SSL so that a non-SNI enabled request will get a static IP mapped to a 
custom domain with SSL which will answer with the succeeding SSL request to 
that static IP with the correct certificate for the SSL handshake.  Yes, its 
expensive.  The engineers have no doubt thought about this option given how 
trivial it is.  Earlier this year MS bought 660,000 IPv4 addresses from 
Nortel for about 
$7m<http://allthingsd.com/20110325/got-any-old-ip-addresses-need-to-raise-cash-you-may-be-in-luck/>.
 
 Given that market price and that there are probably less than 500,000 app 
engine apps (I suspect we would have heard from the GAE team if there were 1 
million apps), the rough order of magnitude of money needed to acquire 10 IP 
addresses for each app engine app is around $70m (10 IPs for multiple end 
points in different data centers).  Considering that only a fraction of apps 
need / will pay for SSL on a custom domain, it is entirely reasonable for 
Google to use a custom DNS with static IPs to serve GAE apps with SSL on 
custom domains.  Given a cost of ~$100 per app engine app (say $7 per IP, 10 
IPs per app and some profit) there's even an outlook for ROI.

Therefore there exists at least one possible and viable solution to get 
around the unfortunate SNI issue.  There are probably a handful of other 
solutions.

So, Google App Engine Team, which is it:
1. Are we all going to wait for IPv6 or IE on XP to go away, which is why 
you don't have a date?
2. Are you developing a workaround and are planning to release some form of 
SSL on custom domains in the near future (say, before GAE leaves preview)?

A straightforward answer would be appreciated by your users.

Thanks

Amir

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.c

Re: [google-appengine] calling out the app engine team on ssl for custom domains

2011-09-22 Thread Amir More
Hi Brandon,

Regarding your resolution of setting up a squid/proxy that forwards requests 
to https://*.appspot.com somewhere:
Having all your traffic go through a single server on AWS or other VPS to 
proxy requests for google app engine is equivalent to buying a top of the 
line super-car, ripping out it's four-digit horse power engine and strapping 
it to a moped with the goal of using said turbo-charged moped for a road 
trip from new york to california, all because the super-car is too wide for 
some of the roads you might encounter.  It might work but you're doing it 
wrong.

Let's try to go with the flow: I'll see your "proxy/squid set up somewhere" 
and raise you a multinational dns provider with name servers on most 
continents with geolocation rules to forward dns requests to the CNAME of a 
multi-zone load balancer at the nearest AWS region out of 5 worldwide; each 
region's ELB configured to forward to auto-scaling health-checked linux 
instances balanced across all availability zones, each instance running a 
modified linux kernel optimized for the sole purpose of being a web proxy, 
running either varnish or nginx as a front end, using a SPDY library for SSL 
requests to app engine (yeah, the app engine front end has SPDY - GAE team 
didn't even know about it for a while).  It would be best to have the AWS 
ELB use SSL with SPDY to talk to the instances but we'll let that slide.

Yet, still, this solution is sub par considering:
1. There's hardly any point to serving static files from GAE, might as well 
serve them from your proxy.  Yay, more locations to push to :) Or you could 
have your proxy be a literal cache and time out files but then you'd have to 
either push a cache flush or use cache busters for your content.  IMO both 
reek of an equally vile stench.
2. It's likely the Channel API won't work with all those middle men.  If the 
GAE team starts using websockets (or regular tcp/ip sockets while we're at 
it) we'd be back to the drawing board.  Also various other APIs might be 
negatively affected or require some tinkering (blobstore upload, XMPP and 
task queue API)
3. Consistently added latency in the best case - you have the added latency 
of initiating an SSL handshake with the proxy.  Given a solution with a load 
balancer you'd have two handshakes, and depending on how they're set up 
either one or both of them will be full SSL handshakes (not just TCP 
handshakes)
4. Additional highly varying latency in the worst case - what happens when 
the GAE or production teams move the instances serving GAE requests to 
another data center?  Your users would see a sudden jump in latency since 
the proxy they're working with takes longer to reach the GAE domains/ips 
it's been working with.  It'll take a while for new geolocation rules at the 
dns level meant to counter the effect to kick in due to dns caching.
5. It's expensive.  The cheapest single server solution is more expensive 
than the GAE $9/app/month under the new pricing model.  The full-blown AWS 
solution is somewhere around $1k a month.  Not including the labor and 
maintenance required for the custom linux image.

There are probably more issues but those are the best I could think of off 
the top of my head.

I think there is no reason to believe that internal politics at google are 
holding this issue back.  Also I can't find a reason to believe that google 
is an organization set up such that the GAE team and/or their 
product/project managers need to give financial incentives to other teams 
just to get a major feature out the door.  I'm not saying there aren't 
internal politics because there probably are.  I'm just saying that a 
feature of this type seems like something that, at worst, would be 
arbitrated quickly by a manager high enough on the corporate ladder to see 
the detrimental effect of not finishing this feature a full year after it 
was announced at a major company event.

Regarding 2014 - I agree.. in that MS and their products will be synonymous 
with myspace by then to developers.  But you can't deny the size of MS and 
their existing install base.  EOL for XP doesn't necessarily mean that 
bureaucratic organizations like government offices will have upgraded by 
2014.

IPv6.. the jury's still out on that one.

The question remains - are we waiting for 2014 or whichever decade will 
bring IPv6 / end of IE on XP or is there something in the works?
I don't take issue with which decision the GAE team made, but with the fact 
that they're zigzagging on the availability of the feature.

Amir

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/9Rs5wZemfCEJ.
To post to this group, send email to google-appen

[google-appengine] Re: Appstats traceback's need some love

2012-04-12 Thread Amir More
your can enlarge the depth of the appstats traceback by adding an 
appengine_config.py file at the root of your project
add the following parameter
appstats_MAX_STACK = 

On Thursday, April 12, 2012 6:56:55 PM UTC+3, Jason Collins wrote:
>
> We used to have really helpful tracebacks in appstats that pointed to 
> our actual source. 
>
> Somewhere along the way, we lost them, leaving us with things like 
> this: 
>
> Stack: 
>   /google/appengine/datastore/datastore_rpc.py:1165 
> make_rpc_call() 
>   /google/appengine/datastore/datastore_query.py:2381 
> _make_query_result_rpc_call() 
>   /google/appengine/datastore/datastore_query.py:2190 
> create_async() 
>   /google/appengine/datastore/datastore_rpc.py:93 
> positional_wrapper() 
>   /google/appengine/datastore/datastore_query.py:1787 
> run_async() 
>   /google/appengine/datastore/datastore_query.py:1657 run() 
>   /google/appengine/api/datastore.py:1595 GetBatcher() 
>   /google/appengine/api/datastore.py:1616 Run() 
>   /google/appengine/ext/db/__init__.py:2010 run() 
>   /google/appengine/ext/db/__init__.py:2091 fetch() 
> [This is the bottom of the traceback.] 
>
> Any possible way to get back the helpful tracebacks? 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/YW5HujPxTyUJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Blobstore Upload not working 31st May 2012 10:49am BST

2012-05-31 Thread Amir Shamsuddin
Hi,

Blobstore uploads have suddenly stopped working for our (Python) app,
the create_upload_url API works, and capabilities indicates that the
blobstore is running, but when a user does a form submit, appengine
returns an HTTP 503 error.

Is anyone else having this problem, and if so is it being
investigated? App-id is 'edibleexperiences'.

Thanks,

Amir Shamsuddin

PS Please let me know if there is a better place to report this. The
issue tracker seems to be more for feature requests and bugs, not this
sort of unexpected downtime...

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Can anyone explain 5.8 million DB operations?

2012-09-26 Thread Amir Shamsuddin

On Thursday, July 5, 2012 3:14:52 PM UTC+1, barryhunter wrote:
>
> >> 
> >> Your 5.8M was READ operations anyway. It wasnt't the writing that cost 
> as 
> >> such. 
> > 
> > 
> > That is also strange. Why should it need 5.8m OPs to do 1600 reads? 
>
> Well you didnt do 1600 reads. You obvisoully did a lot more. 
>
>
> > 
> > It was the update that was taking all this time. Updates from remote 
> shell 
> > are very slow. So it took 3 hrs for 1000 or so entities that it updated 
> and 
> > consumed 5.8m OPs in the process! 
>
> Ah, well there you have your answer. The remote shell is not efficent 
> for certain things. 
>
> Looking back at the code you posted in the thread, looks like reading 
> https://developers.google.com/appengine/articles/remote_api 
>
> Would be worthwhile, seems like did two mistakes as noted in the 
> Limitations section. 
>
> An artefact of how the remote_api works, caused all the reads :) 
>

To elucidate for anyone else reading, because this wasn't obvious to me 
(and I just hit this problem):
 
It isn't _just_ that the remote_api has limitations / is inefficient, if 
you try and query past 1000 or so results, *it will loop until your quota 
is exhausted* retrying the query. That's why you have 5.8 million reads ...

Rewriting the query to fetch batches with key based offset/filtering as 
suggested in the docs solves this, of course.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/IRmtKVIIxPAJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Best practice to use Google Cloud Endpoints in Android app.

2014-08-27 Thread Amir Hz
All the examples of Cloud Endpoints I've seen so far use AsyncTask in 
android to call the server. However given that AsyncTask is not tied to the 
Activity lifecycle, and is becoming somewhat of a deprecated solution, what 
is the best practice to use the Cloud Endpoints client library in Android.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/d/optout.


[google-appengine] Over quota getting very frustrating

2008-08-27 Thread Amir Michail

Hi,

My app has been over quota for long periods of time due to long
requests.

I'm trying to see how feasible it is to port my app to the Google app
engine and this is just getting very frustrating.

Is there any chance that something could be done about this?  After
all, it's hard to try to bring the request times down when you can't
even experiment because the app is over quota much of the time!

Amir

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Using java sessions with CloudEndpoints

2017-05-29 Thread Amir Naor
I have a legacy GAE java project that uses the standard java sessions (with 
the default GAE support) to store the user ID following a custom 
authentication flow that involves another 3rd party. 

I was looking to move from using raw servlets to Cloud Endpoints while 
keeping the current authentication flows, but was struggling to find a way 
to access the session from the API service class given all cookies are 
stripped from the request. Looks like this question is asked a lot but 
without a clear answer.

Finally I was able to get it to work by specifying  "auth = 
@ApiAuth(allowCookieAuth 
= AnnotationBoolean.TRUE)" in the @API deceleration.

My question is regarding potential flaws in this approach as I haven't seen 
any other example following it. Moreover the documentation 

 
says "be very cautious in enabling this setting, and make sure to require 
appropriate XSRF tokens to protect your API".

Is there a better way to achieve what's I'm looking for? Any red flags I 
should be addressing? 

Thanks in advance. 






 




-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/b88eef3e-e4f5-4058-b624-fb6ee31c11bc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[google-appengine] Re: Using java sessions with CloudEndpoints

2017-05-30 Thread Amir Naor
Thanks for this George.

I was looking into OAuth2 but it seem to support only google consumer 
accounts on the client side. I my case I use a third party to authenticate 
iOS users via SMS and I need to maintain that flow & third party. Firebsae 
and auth0 are not options from the same reason that I can't switch a 
provider.

Is my understanding above correct? Or is there another way to implement a 
custom authentication flow? Any pointers will be helpful.


On Tuesday, May 30, 2017 at 8:49:55 AM UTC-7, George (Cloud Platform 
Support) wrote:
>
> Hello Amir, 
>
> You are right, there are red flags and warnings. By default, API methods 
> do not allow cookie authentication, and require the use of OAuth2. You 
> incur the risk of Cross-Site Request Forgery (CSRF 
> <https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet>
> ). It is recommended 
> <https://cloud.google.com/endpoints/docs/frameworks/legacy/v1/java/javadoc/com/google/api/server/spi/config/ApiAuth.html#allowCookieAuth-->
>  
> to be very cautious in enabling this setting, and make sure to require 
> appropriate XSRF tokens to protect your API.
>
> Have you weighed the option of rather re-writing and implementing the 
> recommended Oauth2 authentication 
> <https://cloud.google.com/endpoints/docs/frameworks/legacy/v1/java/annotations>:
>  
> "For OAuth2 authentication, an OAuth2 token is issued to a specific client 
> ID, which means that this client ID can be used for restricting access to 
> your APIs. When you register an iOS or Android application in the Google 
> Cloud Platform Console, you create a client ID for it. This client ID is 
> the one requesting an OAuth2 token from Google for authentication purposes. 
> When the back-end API is protected by auth, an OAuth2 access token is sent 
> and opened by Google Cloud Endpoints, the client ID is extracted from the 
> token, and then the ID is compared to the backend's declared acceptable 
> Client ID list (the clientIds list)."
>
> You can find related information in the "google endpoints (java), session 
> cookies and iOS" thread 
> <https://groups.google.com/forum/#!topic/google-appengine/HJTJhsQG6Ws>. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/8c6a0bfe-bb49-49e5-8724-e414130a063f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[google-appengine] Transaction usage

2017-06-08 Thread Amir Naor
I'm struggling with a data inconsistency issue (something that is supposed 
to be saved atomically is not) and it might got to do to with how I use 
transactions. 

Would love to clarify if my usage is flawed in any way:

*Use case*: 
Making changes in couple entities and need to ensure they are saved 
atomically. In other words, if one entity fails to save all entities should 
rollback the changes.

*Environment*: 
Java standard env using ofy()

*Data model*: 
User (Cached entity using ofy()), Task (child of User, each User can have 
multiple Task instances)

*Usage*:

1. load couple User and Task entities (User by key, Task(s) by query)
2. make changes to fetched entities from #1
3. Starts a transaction that only does a save() on all entities from #1 
(all belong to the same group)

I'm expecting #3 to save all entities atomically but at times some entities 
still hold old values while others in the same transaction are not. 

Does the above usage make sense? or is there any requirement that #1+#2 
will reside within the same transaction in #3?

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/2657da22-f904-44eb-9d0e-a61826407226%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [google-appengine] Transaction usage

2017-06-09 Thread Amir Naor
Thanks Jeff. It makes a lot of sense and probably is the cause for the 
issue.

Couple follow up questions:

   1. Is my following understanding re transactions seem right? 
   1. loads() within a transaction or without, will succeed even if another 
  concurrent transaction is making changes to the same object concurrently. 
  The loads will just read the latest fields stored in the db/cache. 
  2. A non-transactional save() will succeed even if another 
  transaction make changes to the same object concurrently. Only concurrent 
  save() by another transaction will fail.
   2. The reason I was trying to avoid having both load() and save() in one 
   transaction is because I have some calculations that require loads of other 
   entity groups (may go beyond the cross group limit). I read that I could 
   use transactionless() for this purpose but not sure how this work:
   1. Does transactionless() work limited to loads() only? 
  2. Will loads() in transactionless() return the data values that 
  exist before the transaction started? Meaning, if the transaction 
modified 
  an entity before transactionless(), loads() in transactionless () will 
not 
  include those changes?
   3. Is it possible to define a retry behavior for fail transition commits 
   with ofy()? I'm looking to control the retries count.
   
Thanks!

On Thursday, June 8, 2017 at 10:33:48 PM UTC-7, Jeff Schnitzer wrote:
>
> If all you wanted to do was make sure that all writes happen together and 
> you otherwise don’t care about data consistency, then sure. However, 9 
> times out of 10 when people ask this question, they’re making a terrible 
> mistake and what they really want to do is load the entities in the 
> transaction.
>
> The problem with your code is that when you write in your transaction, you 
> may be writing stale data. Someone else may have changed the underlying 
> data in between your load and your commit. The only way to guarantee a 
> consistent, serializable view of the order of operations is to load _and_ 
> save the entity in a transaction. If you’re seeing old values for some 
> entities and not others, perhaps you’re seeing the result of write 
> conflicts?
>
> Jeff
>
>
> On Thu, Jun 8, 2017 at 9:40 PM, Amir Naor 
> > wrote:
>
>> I'm struggling with a data inconsistency issue (something that is 
>> supposed to be saved atomically is not) and it might got to do to with how 
>> I use transactions. 
>>
>> Would love to clarify if my usage is flawed in any way:
>>
>> *Use case*: 
>> Making changes in couple entities and need to ensure they are saved 
>> atomically. In other words, if one entity fails to save all entities should 
>> rollback the changes.
>>
>> *Environment*: 
>> Java standard env using ofy()
>>
>> *Data model*: 
>> User (Cached entity using ofy()), Task (child of User, each User can have 
>> multiple Task instances)
>>
>> *Usage*:
>>
>> 1. load couple User and Task entities (User by key, Task(s) by query)
>> 2. make changes to fetched entities from #1
>> 3. Starts a transaction that only does a save() on all entities from #1 
>> (all belong to the same group)
>>
>> I'm expecting #3 to save all entities atomically but at times some 
>> entities still hold old values while others in the same transaction are 
>> not. 
>>
>> Does the above usage make sense? or is there any requirement that #1+#2 
>> will reside within the same transaction in #3?
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Google App Engine" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to google-appengi...@googlegroups.com .
>> To post to this group, send email to google-a...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/google-appengine.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/google-appengine/2657da22-f904-44eb-9d0e-a61826407226%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/google-appengine/2657da22-f904-44eb-9d0e-a61826407226%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/16243aac-8bc3-444c-826a-32b03981c24d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [google-appengine] Transaction usage

2017-06-11 Thread Amir Naor
Super helpful. I took that context, read further and implemented 
accordantly. Your clarification about optimistic concurrency model helped 
solve another issue i was experiencing. Everything seem to work perfectly 
now - thanks Jeff!

On Saturday, June 10, 2017 at 12:06:37 AM UTC-7, Jeff Schnitzer wrote:
>
> This is sort of a fundamental database question that isn’t directly 
> related to Objectify or the datastore, but I’ll have at it:
>
> If you want a series of operations to occur as if they are executed in 
> serial, you need to use transactions and you need *each* operation to be 
> wrapped in a transaction. If you do this, the database (datastore, 
> postgres*, oracle*, etc) will ensure that the world works as if each 
> transaction was executed in serial - even if it wasn’t. The datastore has 
> an “optimistic concurrency model” which means that instead of locking and 
> blocking, it lets each transaction execute in full and detects collisions. 
> Objectify (and, fwiw, GAE/Python transactions) automatically retries 
> transactions with collisions. If you have massive contention around a 
> single piece of data, you’ll see timeouts as various transactions retry 
> beyond reasonable bounds - just like as in with pessimistic concurrency 
> models you’ll see timeouts waiting for locks to be acquired. The difference 
> is that locks are expensive and potentially cause deadlocks; retries just 
> go until a fixed timeout.
>
> You can try to cheat the system by loading data outside of a transaction, 
> and sometimes this is appropriate. If you didn’t really understand that 
> last paragraph at a deep and intuitive level, DO NOT attempt to cheat the 
> system, you’re probably doing it wrong.
>
> Ok to answer your questions specifically:
>
> * A load() is just a load(). In a transaction you skip the cache. It loads 
> the current state of the entity. The loaded value is *ALWAYS* potentially 
> stale, even 0.01s after executing (hey, it’s a live system). The only 
> reason you can count on a loaded value being consistent is when you load it 
> in a transaction — when that txn commits, it will either write (yeay) or 
> retry (if something else modified it in the mean time).
>
> * A “non transactional save” is the same as a transaction that does only 
> the save. It will retry until success. If you didn’t load the value inside 
> the transaction, that means the unit of work is “save exactly this value no 
> matter what, overwriting whatever was or wasn’t in the datastore beforehand 
> and ignore any other transactions in progress”.
>
> * Outside of a transaction, you cannot trust the value of any data. It can 
> *always* be written by some other operation 0.0001s after the read 
> executes. If you care about consistency and order of operations, you need 
> transactions and carefully defined units of work. This is the same whether 
> you are using the datastore or any other kind of database.
>
> Suerte,
> Jeff
>
> * Assuming you have the database in SERIALIZABLE mode
>
> On Fri, Jun 9, 2017 at 9:34 AM, Amir Naor 
> > wrote:
>
>> Thanks Jeff. It makes a lot of sense and probably is the cause for the 
>> issue.
>>
>> Couple follow up questions:
>>
>>1. Is my following understanding re transactions seem right? 
>>1. loads() within a transaction or without, will succeed even if 
>>   another concurrent transaction is making changes to the same object 
>>   concurrently. The loads will just read the latest fields stored in the 
>>   db/cache. 
>>   2. A non-transactional save() will succeed even if another 
>>   transaction make changes to the same object concurrently. Only 
>> concurrent 
>>   save() by another transaction will fail.
>>2. The reason I was trying to avoid having both load() and save() in 
>>one transaction is because I have some calculations that require loads of 
>>other entity groups (may go beyond the cross group limit). I read that I 
>>could use transactionless() for this purpose but not sure how this work:
>>1. Does transactionless() work limited to loads() only? 
>>   2. Will loads() in transactionless() return the data values that 
>>   exist before the transaction started? Meaning, if the transaction 
>> modified 
>>   an entity before transactionless(), loads() in transactionless () will 
>> not 
>>   include those changes?
>>3. Is it possible to define a retry behavior for fail transition 
>>commits with ofy()? I'm looking to control the retries count.
>>
>> Thanks!
>>
>> On Thursday, June 8, 2017 at 10:33:48 PM UTC-7, Jeff Schnitzer wrote:
>>>

[google-appengine] Best practice to avoid "datastore transaction or write too big."

2018-04-13 Thread Amir Naor
One of my end points need to handle storing over 1-5000 entities belonging 
to a single EG. This needs to happen atomically such that in case of error 
everything is reverted to the orignal state.

The problem I'm running into is occasional "datastore transaction or write 
too big." exception. Since all my entities are small in size, I assume I'm 
hitting the entity limit of 500 per commit (though at times I'm able to 
store 900 at once). Splitting the save statement into batches, but within 
the same transaction doesn't seem to help. 

What is the best practice to handle that limit? Are transactions out of the 
question in this scenario? 

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/490239f1-35a7-4806-bb41-659b236e9e89%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[google-appengine] Is this suitable for GAE Application Gallery?

2009-12-29 Thread Amir Michail
Hello,

It's a game demo written using GWT:  http://dropzap.appspot.com

Does it make sense to submit an application to this gallery if it
doesn't use the GAE in any interesting way?

This demo could have been put on Google Sites if that service
supported GWT apps.

Amir

--

You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.




[google-appengine] Billing zero but shouldn't be.

2010-01-05 Thread Amir Michail
Hello,

Why am I not billed although I should be?

Amir
-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.




[google-appengine] Slow query [java]

2010-01-06 Thread Amir Michail
Hello,

I'm getting slow query performance:

5848ms 8362cpu_ms 40api_cpu_ms

Query:  String query = "select from " + DemoScore.class.getName()
+ " order by score desc";

This is returning three objects.

If the query is repeated, it becomes very fast.

What could be wrong?

Amir
-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.




[google-appengine] Re: Billing zero but shouldn't be.

2010-01-07 Thread Amir Michail
On Jan 5, 2:16 pm, Amir  Michail  wrote:
> Hello,
>
> Why am I not billed although I should be?

Could someone look into this please?

Amir

>
> Amir
-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.




[google-appengine] Re: Billing zero but shouldn't be.

2010-01-07 Thread Amir Michail
On Jan 7, 12:02 pm, Prashant Gupta  wrote:
> are you sure that you are crossing free quota limit?

Yes, I'm sure this happened on a few days.

Amir

>
> 2010/1/7 Amir Michail 
>
>
>
> > On Jan 5, 2:16 pm, Amir  Michail  wrote:
> > > Hello,
>
> > > Why am I not billed although I should be?
>
> > Could someone look into this please?
>
> > Amir
>
> > > Amir
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to google-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com > e...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.
-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.




[google-appengine] Implementing global leaderboards

2010-01-07 Thread Amir Michail
Suppose you would like global leaderboards for a game with top 100
rankings for today, this week, and all time.

Moreover, suppose that today and this week use rolling windows.

When a player finishes a game, a check is done to see if his/her score
is in the top 100 for any of these three rankings.

If so, then a nickname and score is submitted and the leaderboard(s)
updated.

What's a good way to implement this with the google app engine?

Use three kinds of objects, say scoreToday, scoreThisWeek, and
scoreOverall?

To see if the score should be submitted, the top 100 from each would
be examined.  This check is complicated by the rolling windows.  For
example, the score may not be in the top 100 now for today/this week,
but will be in 2 hours say.

Deletions for all three object types would be done using a scheduled
task perhaps.

Am I on the right track?
-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.




[google-appengine] NotSerializableException cache problem

2010-01-09 Thread Amir Michail
Hello,

When attempting to put a list of ScoreData into the cache, I get this
exception:

Caused by: java.io.NotSerializableException:
com.dropzap.DropZap.client.ScoreData

Returning a list of ScoreData to the client works fine.

Any ideas what could be wrong?  Why does serialization work in one
case but not the other?

Amir
-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.




[google-appengine] Duplicate RPCs in gwt + app engine

2010-01-10 Thread Amir Michail
Hello,

Sometimes an RPC is executed multiple times and I have no idea why.

This is gwt + app engine (Java).

Is it possible for an RPC to succeed on the app engine yet appear to
fail at the client, thus encouraging the user to request that the
operation be repeated?

Amir
-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.




[google-appengine] Re: Duplicate RPCs in gwt + app engine

2010-01-10 Thread Amir Michail
Please ignore.  Problem found.

Amir


On Jan 10, 12:01 pm, Amir  Michail  wrote:
> Hello,
>
> Sometimes an RPC is executed multiple times and I have no idea why.
>
> This is gwt + app engine (Java).
>
> Is it possible for an RPC to succeed on the app engine yet appear to
> fail at the client, thus encouraging the user to request that the
> operation be repeated?
>
> Amir
-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.




[google-appengine] Getting rid of JDO (loading requests too expensive)

2010-05-27 Thread Amir Michail
What is the easiest way to get rid of JDO to improve loading request
times?

That is, what would require minimal changes to the code?

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Getting rid of JDO (loading requests too expensive)

2010-05-28 Thread Amir Michail
On May 27, 2:45 pm, Viðar Svansson  wrote:
> Minimal change is probably to replace JDO with Twig. For more control
> (and more changes to the code) you can go for Objectify.
>
> Viðar

Which one results in faster loading requests?

Amir

>
> On Thu, May 27, 2010 at 3:30 PM, Amir  Michail  wrote:
>
>
>
> > What is the easiest way to getridof JDO to improve loading request
> > times?
>
> > That is, what would require minimal changes to the code?
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Google App Engine" group.
> > To post to this group, send email to google-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to 
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Terms of Service Question

2009-09-03 Thread Amir Michail

What does this mean?

4.4. You may not develop multiple Applications to simulate or act as a
single Application or otherwise access the Service in a manner
intended to avoid incurring fees.

The second part is very vague.  Are we allowed to have multiple iPhone
apps use the same app engine app?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Terms of Service Question

2009-09-03 Thread Amir Michail

On Sep 3, 10:40 pm, "Brandon N. Wirtz"  wrote:
> I'm not a google employee or a lawyer, but the intention is you can't take
> 10 free accounts, to get 10 gigs of download a day, instead of having 1
> account which would pay $1.20 a day for that same download capacity.
>

If it is/will be possible to pay to get more GAE apps, then having
multiple iPhone apps use the same GAE app is a way to avoid incurring
fees.

Amir

>
>
> -Original Message-
> From: google-appengine@googlegroups.com
>
> [mailto:google-appeng...@googlegroups.com] On Behalf Of Amir Michail
> Sent: Thursday, September 03, 2009 7:24 PM
> To: Google App Engine
> Subject: [google-appengine] Terms of Service Question
>
> What does this mean?
>
> 4.4. You may not develop multiple Applications to simulate or act as a
> single Application or otherwise access the Service in a manner
> intended to avoid incurring fees.
>
> The second part is very vague.  Are we allowed to have multiple iPhone
> apps use the same app engine app?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Terms of Service Question

2009-09-03 Thread Amir Michail

On Sep 3, 10:40 pm, "Brandon N. Wirtz"  wrote:
> I'm not a google employee or a lawyer, but the intention is you can't take
> 10 free accounts, to get 10 gigs of download a day, instead of having 1
> account which would pay $1.20 a day for that same download capacity.
>

If it is/will be possible to pay to get more than 10 GAE apps, then
having
multiple iPhone apps use the same GAE app is a way to avoid incurring
fees.

>
>
> -Original Message-
> From: google-appengine@googlegroups.com
>
> [mailto:google-appeng...@googlegroups.com] On Behalf Of Amir Michail
> Sent: Thursday, September 03, 2009 7:24 PM
> To: Google App Engine
> Subject: [google-appengine] Terms of Service Question
>
> What does this mean?
>
> 4.4. You may not develop multiple Applications to simulate or act as a
> single Application or otherwise access the Service in a manner
> intended to avoid incurring fees.
>
> The second part is very vague.  Are we allowed to have multiple iPhone
> apps use the same app engine app?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] How to determine top 10 scoring users from last 24 hours?

2009-12-15 Thread Amir Michail
Hello,

I asked this question before but perhaps this is more feasible now
with the latest version of the GAE?

http://groups.google.com/group/google-appengine/browse_thread/thread/e7f892a2efabed59/2ced4b6790ce1f1b

Amir

--

You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.




[google-appengine] Re: How to determine top 10 scoring users from last 24 hours?

2009-12-16 Thread Amir Michail
On Dec 16, 7:24 am, "Nick Johnson (Google)" 
wrote:
> Hi Amir,
>
> I recently wrote an article about calculating this sort of 
> metric:http://blog.notdot.net/2009/12/Most-popular-metrics-in-App-Engine
>
> The metric it calculates isn't exactly identical to "total score over the
> last n hours", but is functionally identical, and in some cases even better.
>
> -Nick Johnson
>
>

I don't see how this approach would be helpful for the problem in
question.  The goal is not to compute total score over the last n
hours, but rather to determine the top k scores over the last n hours.

Amir

>
>
>
> On Wed, Dec 16, 2009 at 5:25 AM, Amir Michail  wrote:
> > Hello,
>
> > I asked this question before but perhaps this is more feasible now
> > with the latest version of the GAE?
>
> >http://groups.google.com/group/google-appengine/browse_thread/thread/...
>
> > Amir
>
> > --
>
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to google-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com > e...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.
>
> --
> Nick Johnson, Developer Programs Engineer, App Engine
> Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
> 368047

--

You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.




[google-appengine] How to update to SDK 1.3.0 via Eclipse?

2009-12-16 Thread Amir Michail
The standard update mechanism doesn't work on the mac with Eclipse
Galileo.

Amir

--

You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.




[google-appengine] Please include CPU quotas & better db support in your simulation

2008-10-06 Thread Amir Michail

Hi,

Running into hours of downtime because of several requests taking too
much CPU makes development almost impossible.

If you really want to keep this "penalty" in place for high CPU usage,
then please at least simulate it so people can do development
locally.  Moreover, please provide an efficient local database -- one
whose performance would be similar to the deployed app with one user
at a time.

Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Please provide interactive sql-like queries, even inefficient ones

2008-10-06 Thread Amir Michail

Hi,

This would help quite a lot with database maintenance.

I don't think inefficient queries are such a big deal if they are not
part of the app and are used rarely.

Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Please provide interactive sql-like queries, even inefficient ones

2008-10-06 Thread Amir Michail

On Oct 6, 1:40 pm, "Marzia Niccolai" <[EMAIL PROTECTED]> wrote:
> Hi Amir,
>
> Have you used the GQL query interface in the admin console 
> (http://appengine.google.com/datastore/explorer?&app_id=YOURAPPID)? Did you
> have something else in mind?
>
> -Marzia

It looks rather limited.  What about updating, inserting, deleting
data?  Adding, renaming, removing columns?

Amir

>
> On Mon, Oct 6, 2008 at 10:21 AM, Amir Michail <[EMAIL PROTECTED]> wrote:
>
> > Hi,
>
> > This would help quite a lot with database maintenance.
>
> > I don't think inefficient queries are such a big deal if they are not
> > part of the app and are used rarely.
>
> > Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Please provide interactive sql-like queries, even inefficient ones

2008-10-06 Thread Amir Michail

On Oct 6, 2:02 pm, "Marzia Niccolai" <[EMAIL PROTECTED]> wrote:
> In general, GQL doesn't provide those operations, as it only support
> querying currently.
>
> However, through the dataviewer's UI it is possible to update, add, and
> delete data of a specific entity kind.
>
> In terms of updating model properties, the dataviewer does not support such
> operations since the datastore design differs here from what you would find
> in a MySQL-like database.  For information on how you can currently achieve
> such things, it might be helpful to read this 
> article:http://code.google.com/appengine/articles/update_schema.html

The "Updating Existing Entities" part looks rather inconvenient.  Why
not provide an easier way to do this by relaxing quotas for db
maintenance and extending the query language to handle typical
scenarios?

Amir

>
> -Marzia
>
> On Mon, Oct 6, 2008 at 10:54 AM, Amir Michail <[EMAIL PROTECTED]> wrote:
>
> > On Oct 6, 1:40 pm, "Marzia Niccolai" <[EMAIL PROTECTED]> wrote:
> > > Hi Amir,
>
> > > Have you used the GQL query interface in the admin console (
> >http://appengine.google.com/datastore/explorer?&app_id=YOURAPPID)?Did you
> > > have something else in mind?
>
> > > -Marzia
>
> > It looks rather limited.  What about updating, inserting, deleting
> > data?  Adding, renaming, removing columns?
>
> > Amir
>
> > > On Mon, Oct 6, 2008 at 10:21 AM, Amir Michail <[EMAIL PROTECTED]>
> > wrote:
>
> > > > Hi,
>
> > > > This would help quite a lot with database maintenance.
>
> > > > I don't think inefficient queries are such a big deal if they are not
> > > > part of the app and are used rarely.
>
> > > > Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Please provide interactive sql-like queries, even inefficient ones

2008-10-06 Thread Amir Michail

On Oct 6, 11:38 pm, Jon McAlister <[EMAIL PROTECTED]> wrote:
> Agreed that the current computational model is inconvenient,
> especially for the case of a single admin doing datastore maintenance.
> We are working on some solutions for this, but we have to come up with
> something that isolates different apps from eachother, as this is a
> shared computing platform, and so we have to be a bit more clever here
> to ensure that the most number of people can get the greatest use out
> of the system. For instance, I'm assuming you wouldn't be happy if an
> admin for another app ran an expensive maintenance job and this
> affected the quality of service of your app. That's why we are
> concerned about relaxing quotas or deadlines.

You don't have to relax quotas/deadlines.  But instead of asking
developers to do something like this:

http://code.google.com/appengine/articles/update_schema.html

...why not do it on our behalf behind the scenes as a result of an
extended query language update command?

Sure it may be quite slow and it may not be obvious why, but that's
ok.  It's the convenience that's important.

Amir

>
> If you have some concrete proposals for what else we should
> investigate, please let us know. Also, please take a look at other
> people's ideas in the Issue Tracker and rate the ones you like.
>
> On Oct 6, 11:13 am, Amir  Michail <[EMAIL PROTECTED]> wrote:
>
> > On Oct 6, 2:02 pm, "Marzia Niccolai" <[EMAIL PROTECTED]> wrote:
>
> > > In general, GQL doesn't provide those operations, as it only support
> > > querying currently.
>
> > > However, through the dataviewer's UI it is possible to update, add, and
> > > delete data of a specific entity kind.
>
> > > In terms of updating model properties, the dataviewer does not support 
> > > such
> > > operations since the datastore design differs here from what you would 
> > > find
> > > in a MySQL-like database.  For information on how you can currently 
> > > achieve
> > > such things, it might be helpful to read this 
> > > article:http://code.google.com/appengine/articles/update_schema.html
>
> > The "Updating Existing Entities" part looks rather inconvenient.  Why
> > not provide an easier way to do this by relaxing quotas for db
> > maintenance and extending the query language to handle typical
> > scenarios?
>
> > Amir
>
> > > -Marzia
>
> > > On Mon, Oct 6, 2008 at 10:54 AM, Amir Michail <[EMAIL PROTECTED]> wrote:
>
> > > > On Oct 6, 1:40 pm, "Marzia Niccolai" <[EMAIL PROTECTED]> wrote:
> > > > > Hi Amir,
>
> > > > > Have you used the GQL query interface in the admin console (
> > > >http://appengine.google.com/datastore/explorer?&app_id=YOURAPPID)?Didyou
> > > > > have something else in mind?
>
> > > > > -Marzia
>
> > > > It looks rather limited.  What about updating, inserting, deleting
> > > > data?  Adding, renaming, removing columns?
>
> > > > Amir
>
> > > > > On Mon, Oct 6, 2008 at 10:21 AM, Amir Michail <[EMAIL PROTECTED]>
> > > > wrote:
>
> > > > > > Hi,
>
> > > > > > This would help quite a lot with database maintenance.
>
> > > > > > I don't think inefficient queries are such a big deal if they are 
> > > > > > not
> > > > > > part of the app and are used rarely.
>
> > > > > > Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Please provide interactive sql-like queries, even inefficient ones

2008-10-07 Thread Amir Michail

On Tue, Oct 7, 2008 at 1:00 PM, Jon McAlister <[EMAIL PROTECTED]> wrote:
>
> Neat idea. Most of the other proposals in the Issue Tracker seem to
> relate to letting full application code run longer or in the
> background in some way, whereas your proposal is to only allow
> processing as specified in a strict language. The admin would submit
> their query string, and we would run it at our leisure and then notify
> the admin on completion, with a similar workflow perhaps to the way we
> presently build and delete composite indexes. Would you mind adding
> this feature request to the Issue Tracker: 
> http://code.google.com/p/googleappengine/issues/list

Done:

http://code.google.com/p/googleappengine/issues/detail?id=773

Amir

>
> On Oct 6, 11:15 pm, Amir  Michail <[EMAIL PROTECTED]> wrote:
>> On Oct 6, 11:38 pm, Jon McAlister <[EMAIL PROTECTED]> wrote:
>>
>> > Agreed that the current computational model is inconvenient,
>> > especially for the case of a single admin doing datastore maintenance.
>> > We are working on some solutions for this, but we have to come up with
>> > something that isolates different apps from eachother, as this is a
>> > shared computing platform, and so we have to be a bit more clever here
>> > to ensure that the most number of people can get the greatest use out
>> > of the system. For instance, I'm assuming you wouldn't be happy if an
>> > admin for another app ran an expensive maintenance job and this
>> > affected the quality of service of your app. That's why we are
>> > concerned about relaxing quotas or deadlines.
>>
>> You don't have to relax quotas/deadlines.  But instead of asking
>> developers to do something like this:
>>
>> http://code.google.com/appengine/articles/update_schema.html
>>
>> ...why not do it on our behalf behind the scenes as a result of an
>> extended query language update command?
>>
>> Sure it may be quite slow and it may not be obvious why, but that's
>> ok.  It's the convenience that's important.
>>
>> Amir
>>
>>
>>
>> > If you have some concrete proposals for what else we should
>> > investigate, please let us know. Also, please take a look at other
>> > people's ideas in the Issue Tracker and rate the ones you like.
>>
>> > On Oct 6, 11:13 am, Amir  Michail <[EMAIL PROTECTED]> wrote:
>>
>> > > On Oct 6, 2:02 pm, "Marzia Niccolai" <[EMAIL PROTECTED]> wrote:
>>
>> > > > In general, GQL doesn't provide those operations, as it only support
>> > > > querying currently.
>>
>> > > > However, through the dataviewer's UI it is possible to update, add, and
>> > > > delete data of a specific entity kind.
>>
>> > > > In terms of updating model properties, the dataviewer does not support 
>> > > > such
>> > > > operations since the datastore design differs here from what you would 
>> > > > find
>> > > > in a MySQL-like database.  For information on how you can currently 
>> > > > achieve
>> > > > such things, it might be helpful to read this 
>> > > > article:http://code.google.com/appengine/articles/update_schema.html
>>
>> > > The "Updating Existing Entities" part looks rather inconvenient.  Why
>> > > not provide an easier way to do this by relaxing quotas for db
>> > > maintenance and extending the query language to handle typical
>> > > scenarios?
>>
>> > > Amir
>>
>> > > > -Marzia
>>
>> > > > On Mon, Oct 6, 2008 at 10:54 AM, Amir Michail <[EMAIL PROTECTED]> 
>> > > > wrote:
>>
>> > > > > On Oct 6, 1:40 pm, "Marzia Niccolai" <[EMAIL PROTECTED]> wrote:
>> > > > > > Hi Amir,
>>
>> > > > > > Have you used the GQL query interface in the admin console (
>> > > > >http://appengine.google.com/datastore/explorer?&app_id=YOURAPPID)?Didyou
>> > > > > > have something else in mind?
>>
>> > > > > > -Marzia
>>
>> > > > > It looks rather limited.  What about updating, inserting, deleting
>> > > > > data?  Adding, renaming, removing columns?
>>
>> > > > > Amir
>>
>> > > > > > On Mon, Oct 6, 2008 at 10:21 AM, Amir Michail <[EMAIL PROTECTED]>
>> > > > > wrote:
>>
>> > > > > > > Hi,
>>
>> > > > > > > This would help quite a lot with database maintenance.
>>
>> > > > > > > I don't think inefficient queries are such a big deal if they 
>> > > > > > > are not
>> > > > > > > part of the app and are used rarely.
>>
>> > > > > > > Amir
> >
>



-- 
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] What is an acceptable average request time?

2008-10-07 Thread Amir Michail

Hi,

Anyone know what sort of request times are acceptable?

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: What is an acceptable average request time?

2008-10-07 Thread Amir Michail

On Oct 7, 5:28 pm, "David Symonds" <[EMAIL PROTECTED]> wrote:
> On Wed, Oct 8, 2008 at 8:17 AM, Amir Michail <[EMAIL PROTECTED]> wrote:
> > Anyone know what sort of request times are acceptable?
>
> Acceptable to whom?
>
> Dave.

I mean what sort of request times should one aim for to avoid having
the app shut down for hours?

Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: What is an acceptable average request time?

2008-10-07 Thread Amir Michail

On Oct 7, 6:51 pm, "David Symonds" <[EMAIL PROTECTED]> wrote:
> On Wed, Oct 8, 2008 at 8:36 AM, Amir Michail <[EMAIL PROTECTED]> wrote:
> > I mean what sort of request times should one aim for to avoid having
> > the app shut down for hours?
>
> As short as possible. It will depend on the amount of traffic: if it's
> very few requests, they can take several seconds; if it's getting lots
> of requests, a few seconds is going to be too long.
>
> Dave.

I think what's required here is a tool to give developers get a
reasonable idea whether it would be feasible to port their app to the
google app engine with its present quotas/deadlines.

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Convenient resource intensive requests without changing quotas/deadlines

2008-10-08 Thread Amir Michail

Hi,

Why not handle resource intensive requests in a transparent way?  This
can be done without changing quotas/deadlines.

In particular, you could give developers a way to designate certain
request handlers as potentially resource expensive.

You could then run these handlers on our behalf at your convenience.
It's ok for them to take a long time to complete.  However, it would
be nice to inform us when they do complete (e.g., by email).

The point is that the code for such handlers would be the same as the
code for normal handlers.  There's no need to split up the task,
invoke the handler repeatedly, etc..  You could do that automatically
for us behind the scenes.

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Convenient resource intensive requests without changing quotas/deadlines

2008-10-08 Thread Amir Michail

On Wed, Oct 8, 2008 at 6:00 PM, Alexander Kojevnikov
<[EMAIL PROTECTED]> wrote:
>
> Star this issue:
> http://code.google.com/p/googleappengine/issues/detail?id=6
>
> Google mentioned on one of the conferences that they are working on
> this, but no timeline was given.

What's important in what I propose is that you do not need to worry
about resource issues and the handler is written exactly as with any
other handler.

Google decides when your handler runs and whether to interrupt it a
few times to avoid you going over quota.

Amir

>
> On Oct 9, 8:42 am, Amir  Michail <[EMAIL PROTECTED]> wrote:
>> Hi,
>>
>> Why not handle resource intensive requests in a transparent way?  This
>> can be done without changing quotas/deadlines.
>>
>> In particular, you could give developers a way to designate certain
>> request handlers as potentially resource expensive.
>>
>> You could then run these handlers on our behalf at your convenience.
>> It's ok for them to take a long time to complete.  However, it would
>> be nice to inform us when they do complete (e.g., by email).
>>
>> The point is that the code for such handlers would be the same as the
>> code for normal handlers.  There's no need to split up the task,
>> invoke the handler repeatedly, etc..  You could do that automatically
>> for us behind the scenes.
>>
>> Amir
> >
>



-- 
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Datastore integrity checks using relational db schemas

2008-10-10 Thread Amir Michail

Hi,

Why not provide datastore integrity checks using relational db
schemas?

Even though a relational database architecture may be too expensive in
terms of resource usage, why not at least provide a datastore
integrity check that could be used occasionally to fix up the db?

It seems that anyone building a serious app would need to write
datastore integrity checks manually...  so why not have this built
into the google app engine and why not use relational database
conventions for specifying database constraints?

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Why python?

2008-10-10 Thread Amir Michail

On Oct 10, 2:50 am, Leo(雷傲) <[EMAIL PROTECTED]> wrote:
> I hate python's strange grammer! It's not neccesary to build a new
> style of grammer since the c-like grammer is so successful !
>
> And I think the "OOP" is not so great. The procedure programming
> language is still powerful and will continue its power!

C isn't a serious alternative to Python for web apps.  But Scala is.
I hope that the upcoming app engine Java support will include Scala
and its api.

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Please don't repeat GWT's mistake!

2008-10-21 Thread Amir Michail

Hi,

Please support Java byte code so that we can use any languages that
work using the JVM such as Scala.

GWT made a mistake in only supporting Java.  I hope they correct it.

Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Please don't repeat GWT's mistake!

2008-10-21 Thread Amir Michail

On Tue, Oct 21, 2008 at 3:59 PM, Peter Recore <[EMAIL PROTECTED]> wrote:
>
> I don't think "mistake" is the right word there.  I'm not an expert on
> Java Compilers and JVMs, but I'll go out on a limb here and risk
> embarrassing myself - my gut feeling is that Java is much easier to
> compile into javascript than random bytecode is.  GWT makes aggressive
> optimizations based on information it can infer from java semantics.
> If GWT had to generalize to work with any possible bytecode, I doubt
> the resulting javascript could be as efficient.  Part of GWT's appeal
> is that the end product is fast and lean javascript.  While it would
> be nice if GWT could turn random x86 executable into blazingly fast
> javascript, I'm not going to criticize the GWT team because they
> haven't done so yet.  If I'm wrong, and making GWT work with JVM is
> trivial to do, that's awesome!  Submit the patch to the GWT team.  The
> fact that no one has yet done so yet implies to me that this is not an
> easy thing to do, or else no one really wants to do it.  In either
> case, it is not a mistake that it hasn't been done.
>
> If you really like working in Scala, you could look into contributing
> to the project to compile Scala into Java, mentioned at the bottom of
> this page:  http://www.scala-lang.org/faq/4
>
> If this post has a slightly sharp tone, it's because I don't like it
> when people criticize open source projects with vague complaints while
> at the same time asking for new features.

I don't mind criticism when I say something that is incorrect.
However, I don't believe that it is the case here.

Also, GWT isn't just an open source project.  It's an open source
project where code is written mostly by Google employees.

Amir

>
> -peter
>
> On Oct 21, 2:07 pm, Amir  Michail <[EMAIL PROTECTED]> wrote:
>> Hi,
>>
>> Please support Java byte code so that we can use any languages that
>> work using the JVM such as Scala.
>>
>> GWT made a mistake in only supporting Java.  I hope they correct it.
>>
>> Amir
> >
>



-- 
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Please don't repeat GWT's mistake!

2008-10-24 Thread Amir Michail

On Oct 24, 12:46 pm, Sumit Chandel <[EMAIL PROTECTED]> wrote:
> Hello everyone,
>
> Sumit Chandel from the GWT team here.
>
> I just wanted to clarify a couple of inaccuracies I've observed in
> this thread.
>
> Firstly, I don't believe that the choice to work from Java source
> instead of JVM bytecode was a bad decision. The team chose to work
> from Java source for all the reasons that Peter described above. For
> what GWT is trying to do, which is to produce highly optimized and
> lean JavaScript, it would be nonsensical to work from already
> optimized JVM bytecode and then attempt to reverse engineer the
> bytecode to then be able to infer enough information for optimization
> and then translate to JavaScript.

Can't some of this optimization be done by the javascript JIT?

Amir

>
> Secondly, GWT is indeed an open source project that is being developed
> and maintained by a team of Google engineers. However, the team
> accepts hundreds of patches between releases that are contributed from
> the open source community. Compiler optimizations and bi-directional
> support for widgets in GWT 1.5 are examples of that. Also, we've had a
> number of successful open source developers take GWT and build their
> own open source projects from it, such as GWT-Ext, hibernate4gwt and
> so on.
>
> That said, it would be awesome to see a group of open source
> developers take on the challenge of generating highly-optimized
> JavaScript from the bytecode level, or even from source in another
> programming language. Also, if someone were to get a nice proof-of-
> concept working, the team would love to discuss it on the GWT
> Contributors forum and see where / how we could roll the idea and help
> with the effort if the community starts gaining interest.
>
> GWT Contributor 
> Forum:http://groups.google.com/group/Google-Web-Toolkit-Contributors
>
> Cheers,
> -Sumit Chandel
>
> On Oct 21, 5:51 pm, Sal <[EMAIL PROTECTED]> wrote:
>
> > I have to agree. In fact, I would say that there was no mistake at
> > all.
>
> > On Oct 21, 12:59 pm, Peter Recore <[EMAIL PROTECTED]> wrote:
>
> > > I don't think "mistake" is the right word there.  I'm not an expert on
> > > Java Compilers and JVMs, but I'll go out on a limb here and risk
> > > embarrassing myself - my gut feeling is that Java is much easier to
> > > compile into javascript than random bytecode is.  GWT makes aggressive
> > > optimizations based on information it can infer from java semantics.
> > > If GWT had to generalize to work with any possible bytecode, I doubt
> > > the resulting javascript could be as efficient.  Part of GWT's appeal
> > > is that the end product is fast and lean javascript.  While it would
> > > be nice if GWT could turn random x86 executable into blazingly fast
> > > javascript, I'm not going to criticize the GWT team because they
> > > haven't done so yet.  If I'm wrong, and making GWT work with JVM is
> > > trivial to do, that's awesome!  Submit the patch to the GWT team.  The
> > > fact that no one has yet done so yet implies to me that this is not an
> > > easy thing to do, or else no one really wants to do it.  In either
> > > case, it is not a mistake that it hasn't been done.
>
> > > If you really like working in Scala, you could look into contributing
> > > to the project to compile Scala into Java, mentioned at the bottom of
> > > this page:  http://www.scala-lang.org/faq/4
>
> > > If this post has a slightly sharp tone, it's because I don't like it
> > > when people criticize open source projects with vague complaints while
> > > at the same time asking for new features.
>
> > > -peter
>
> > > On Oct 21, 2:07 pm, Amir  Michail <[EMAIL PROTECTED]> wrote:
>
> > > > Hi,
>
> > > > Please support Java byte code so that we can use any languages that
> > > > work using the JVM such as Scala.
>
> > > > GWT made a mistake in only supporting Java.  I hope they correct it.
>
> > > > Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Please don't repeat GWT's mistake!

2008-10-27 Thread Amir Michail

On Mon, Oct 27, 2008 at 1:59 PM, Toby Reyelts <[EMAIL PROTECTED]> wrote:
>
> I'm mostly in agreement with Lex here. Bytecode isn't a "highly-
> optimized" format. In fact, most Java compilers do almost no
> optimizations on the bytecode they generate. This makes the job of
> "understanding the code" easier on the JIT. I think this is fairly
> self-apparent when you recognize that Java decompilers are awfully
> good at reconstructing Java programs from bytecode.
>
> So, it's not really bytecode that prevents GWT from supporting other
> languages. Rather, it's that most other languages posited for GWT rely
> on dynamic features of the JVM - i.e. reflection and dynamic class
> loading. For example, Groovy, JRuby, and Jython all make heavy use of
> these features. GWT avoids these features, because they are not
> readily optimizable in the environment of a JavaScript application.
>
> Scala's a great counter-example to this - Most of the libraries and
> core features of Scala aren't dependent upon dynamic class loading and
> reflection. In my opinion, it's imminently feasible to have GWT Scala
> applications. We're certainly willing to review patches.

Given that Scala is vastly better than Java and is quite stable, is
there any particular reason why Google doesn't use Scala for its own
development?

Amir

>
> On Oct 25, 2:33 pm, Lex Spoon <[EMAIL PROTECTED]> wrote:
>> On Oct 21, 3:59 pm, Peter Recore <[EMAIL PROTECTED]> wrote:
>>
>> > I don't think "mistake" is the right word there.  I'm not an expert on
>> > Java Compilers and JVMs, but I'll go out on a limb here and risk
>> > embarrassing myself - my gut feeling is that Java is much easier to
>> > compile into javascript than random bytecode is.  GWT makes aggressive
>> > optimizations based on information it can infer from java semantics.
>> > If GWT had to generalize to work with any possible bytecode, I doubt
>> > the resulting javascript could be as efficient.
>>
>> I work on the GWT compiler, and I agree with your conclusion but not
>> with the reason.  The issue is more the combination of:
>>
>> - the output format is an expression language with general nesting,
>> while bytecode is more like a three-address intermediate
>> representation (IR)
>> - current JS vm's have terrible optimization, though that is changing
>> - output size is very important for GWT, which isn't changing
>>
>> It would be bad to emit code that looks like this:
>>
>>   var t1, t2, t3;
>>   t1 = bar;
>>   t2 = foo(t1);
>>   t3 = baz;
>>   return t2 + t3;
>>
>> You really want to emit this, instead, which is both shorter and, on a
>> non-optimizing JS VM, faster:
>>
>>   return foo(bar) + baz;
>>
>> If GWT took bytecode as input, then it would need to be able to
>> transform code that looks like the former into code that looks like
>> the latter.  This has advantages other than being able to take
>> bytecode as input, so it might be worth looking into.  However, it
>> would take a significant amount of work -- a man-month perhaps -- to
>> add this transformation to the compiler, and thus far there have
>> always been competing features that seem more important.
>>
>> The reason given so far in this thread is that bytecode would be bad
>> for optimization.  That's actually the opposite of the truth.  A
>> bytecode-like three-address IR would be really convenient for
>> optimization, because it makes the control flow explicit.  With the
>> current tree-like IR, the compiler's optimizers have to do some really
>> tricky reasoning about control flow around an expression.  Just look
>> at the two examples above.  In the first example, control flows from
>> the first statement to the last, one after the other.  In the second,
>> control flow hops all over the place, forward and backward.
>>
>> By the way, for Scala in particular, I don't think going through
>> bytecode is the best way.  It would be better to work out a new
>> intermediate format that is like Java source, but that does not have
>> the silly restrictions that Java has that GWT does not need.  For
>> example, that intermediate format should have an equivalent to multi-
>> expressions (that is, C's or JavaScript's comma operator, or Scala's
>> block expressions).  Scala could easily generate it, and GWT could
>> easily take it as input.   Such a format might be useful for other
>> projects, too.  It would have the flexibility of bytecode while
&

[google-appengine] Support for profit sharing in web 2.0 sites

2008-11-04 Thread Amir Michail

Hi,

I think Google (and the app engine in particular) should provide easy
support for profit sharing to encourage more user participation in web
2.0 sites.

Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Python Twitter API Wrapper problem w/ urlfetch

2008-11-22 Thread Amir Michail

Hi,

I'm stuck on the authorization part:

  if self._username and self._password:
  self._AddAuthorizationHeader(self._username, self._password)
  print "self._request_headers = "+`self._request_headers`

  requestBody = urllib.urlencode(self._request_headers)
  url_data = urlfetch.fetch(url,
method=urlfetch.POST,
headers={'Content-type':
 'application/x-www-form-
urlencoded',
 'Content-Length':
 str(len(requestBody))},
 payload=requestBody).content

This gives the following exception when a username and password are
supplied:

...\src\twitter.py in NewFromJsonDict(data=u'request')
  547 else:
  548   status = None
  549 return User(id=data.get('id', None),
  550 name=data.get('name', None),
  551 screen_name=data.get('screen_name', None),
global User = , builtin id = , data = u'request', data.get undefined, builtin None = None, name
undefined, screen_name undefined, location undefined, description
undefined, profile_image_url undefined, url undefined, status = None
: 'unicode' object has no attribute
'get'

Any ideas how to get this to work?

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Python Twitter API Wrapper problem w/ urlfetch

2008-11-23 Thread Amir Michail

On Nov 22, 5:35 pm, Amir  Michail <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I'm stuck on the authorization part:

Update:  both the local and deployed versions result in an
authentication failure.

Any hints on how I could debug this?

Amir

>
>       if self._username and self._password:
>           self._AddAuthorizationHeader(self._username, self._password)
>       print "self._request_headers = "+`self._request_headers`
>
>       requestBody = urllib.urlencode(self._request_headers)
>       url_data = urlfetch.fetch(url,
>                                 method=urlfetch.POST,
>                                 headers={'Content-type':
>                                          'application/x-www-form-
> urlencoded',
>                                          'Content-Length':
>                                          str(len(requestBody))},
>                                          payload=requestBody).content
>
> This gives the following exception when a username and password are
> supplied:
>
> ...\src\twitter.py in NewFromJsonDict(data=u'request')
>   547     else:
>   548       status = None
>   549     return User(id=data.get('id', None),
>   550                 name=data.get('name', None),
>   551                 screen_name=data.get('screen_name', None),
> global User = , builtin id =  id>, data = u'request', data.get undefined, builtin None = None, name
> undefined, screen_name undefined, location undefined, description
> undefined, profile_image_url undefined, url undefined, status = None
> : 'unicode' object has no attribute
> 'get'
>
> Any ideas how to get this to work?
>
> Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Python Twitter API Wrapper problem w/ urlfetch

2008-11-24 Thread Amir Michail



On Nov 23, 1:31 pm, Amir  Michail <[EMAIL PROTECTED]> wrote:
> On Nov 22, 5:35 pm, Amir  Michail <[EMAIL PROTECTED]> wrote:
>
> > Hi,
>
> > I'm stuck on the authorization part:

The bug here is sending the headers in the payload...

Amir

>
> Update:  both the local and deployed versions result in an
> authentication failure.
>
> Any hints on how I could debug this?
>
> Amir
>
>
>
> >       if self._username and self._password:
> >           self._AddAuthorizationHeader(self._username, self._password)
> >       print "self._request_headers = "+`self._request_headers`
>
> >       requestBody = urllib.urlencode(self._request_headers)
> >       url_data = urlfetch.fetch(url,
> >                                 method=urlfetch.POST,
> >                                 headers={'Content-type':
> >                                          'application/x-www-form-
> > urlencoded',
> >                                          'Content-Length':
> >                                          str(len(requestBody))},
> >                                          payload=requestBody).content
>
> > This gives the following exception when a username and password are
> > supplied:
>
> > ...\src\twitter.py in NewFromJsonDict(data=u'request')
> >   547     else:
> >   548       status = None
> >   549     return User(id=data.get('id', None),
> >   550                 name=data.get('name', None),
> >   551                 screen_name=data.get('screen_name', None),
> > global User = , builtin id =  > id>, data = u'request', data.get undefined, builtin None = None, name
> > undefined, screen_name undefined, location undefined, description
> > undefined, profile_image_url undefined, url undefined, status = None
> > : 'unicode' object has no attribute
> > 'get'
>
> > Any ideas how to get this to work?
>
> > Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] utf-8 not used even though it is specified in Content-Type

2008-11-24 Thread Amir Michail

Hi,

I'm using webapp with the following:

self.response.headers['Content-Type'] = 'text/html; charset=utf-8'

But it's using cp1252 instead:

 c:\python25\lib\encodings\cp1252.py in decode
(self=, input=, errors='strict')
   13
   14 def decode(self,input,errors='strict'):
   15 return codecs.charmap_decode
(input,errors,decoding_table)
   16

What am I doing wrong?

Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: utf-8 not used even though it is specified in Content-Type

2008-11-24 Thread Amir Michail

On Nov 24, 3:00 pm, Amir  Michail <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I'm using webapp with the following:
>
> self.response.headers['Content-Type'] = 'text/html; charset=utf-8'

This problem can be fixed like this:

self.response.out.write(unicode( template.render(path,
template_values),'utf-8' ))

Amir

>
> But it's using cp1252 instead:
>
>  c:\python25\lib\encodings\cp1252.py in decode
> (self=, input= only buffer ptr 0x02050534, size 40 at 0x023C44C0>, errors='strict')
>    13
>    14     def decode(self,input,errors='strict'):
>    15         return codecs.charmap_decode
> (input,errors,decoding_table)
>    16
>
> What am I doing wrong?
>
> Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] unicode problem with django custom tag

2008-11-24 Thread Amir Michail

Hi,

Sometimes I get this error:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position
67: ordinal not in range(128)

So I tried this fix mentioned in
http://groups.google.com/group/google-appengine/browse_thread/thread/24d04c3db285a3b0:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

This works except that it sometimes results in blank pages.

Any workarounds?

Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Connecting your own domain name via Google Apps

2008-11-25 Thread Amir Michail

Hi,

I have some questions...

When signing up, is there a chance that the application will be
rejected?

If so, should I get some traffic first before signing up?

The problem though is I want people to start linking to my domain, not
the appspot one.

Also, it says that the standard edition of Google apps is ad-
supported.  What does this mean in the context of connecting my domain
name to an app engine service?

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Connecting your own domain name via Google Apps

2008-11-25 Thread Amir Michail

On Tue, Nov 25, 2008 at 11:48 PM, Dan Sanderson <[EMAIL PROTECTED]> wrote:
> Hi Amir -
> On Tue, Nov 25, 2008 at 6:15 PM, Amir Michail <[EMAIL PROTECTED]> wrote:
>>
>> When signing up, is there a chance that the application will be
>> rejected?
>
> No, you can set up your app right away, there is no approval process.  Your
> app must comply with the Terms of Service:
>   http://code.google.com/appengine/terms.html
>
>>
>> If so, should I get some traffic first before signing up?
>
> No need!  Just sign up and start building.

I was referring to the sign up for Google Apps, not the Google app
engine.  There's no approval process there?

Amir

>
>>
>> The problem though is I want people to start linking to my domain, not
>> the appspot one.
>
> You can associate your own domain with your App Engine app using Google
> Apps.  You can set this up from within the Apps console, or from within the
> App Engine Admin Console.  See this article:
>   http://code.google.com/appengine/articles/domains.html
>
>>
>> Also, it says that the standard edition of Google apps is ad-
>> supported.  What does this mean in the context of connecting my domain
>> name to an app engine service?
>
> The phrase "ad-supported" in this context has nothing to do with App Engine.
>  No ads will appear in your app, unless you put them there.  The ads this
> phrase is referring to are in a couple of the applications included with
> Google Apps, such as GMail.  Businesses using those applications can upgrade
> to a service level where those ads won't appear.
> -- Dan
>
> >
>



-- 
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Update errors occur because I'm updating too much?

2008-11-26 Thread Amir Michail

Hi,

I was wondering if update errors are a sign that I am updating too
frequently.

Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Connecting your own domain name via Google Apps

2008-11-26 Thread Amir Michail

On Tue, Nov 25, 2008 at 11:57 PM, Dan Sanderson <[EMAIL PROTECTED]> wrote:
> On Tue, Nov 25, 2008 at 8:52 PM, Amir Michail <[EMAIL PROTECTED]> wrote:
>>
>> >> If so, should I get some traffic first before signing up?
>> >
>> > No need!  Just sign up and start building.
>>
>> I was referring to the sign up for Google Apps, not the Google app
>> engine.  There's no approval process there?
>
> Nope.  Google Apps also has a Terms of Service, but there's no approval
> process.
>   http://www.google.com/apps/intl/en/terms/standard_terms.html
> Is there a particular aspect of your domain or application that you're
> concerned would not meet the Terms of Service?  (Feel free to respond
> privately if you'd like to take this conversation off the list.)
> -- Dan
>

It's not obvious from the sign up what the number of users is for.
For someone not familiar with Google Apps, it might mean how much
traffic your site is getting or how many people have registered on
your site.

But after registering, it seems that this number actually indicates
how many email accounts you want on Google Apps for your domain.

Maybe the wording could be improved on the sign up page.

Amir

> >
>



-- 
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] domain name problem

2008-11-26 Thread Amir Michail

Hi,

I'm trying to set things up so that both b4utweet.com and www.b4utweet.com
are connected with b4utweet.appspot.com.

After telling Google Apps to use www, I set www's CNAME to
ghs.google.com in GoDaddy and also set 301 forwarding to www.b4utweet.com.

But now I get this error whenever b4utweet.com or www.b4utweet.com is
used:

This website is temporarily unavailable, please try again later.

b4utweet.appspot.com works fine.

Any hints?  Will this problem go away after a few hours?

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Transaction Isolation

2008-12-01 Thread Amir Michail

Hi,

Why this inconsistency?

http://code.google.com/appengine/articles/transaction_isolation.html

Why not just delay the query until milestone B is completed?

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Why limit request time (as opposed to cpu usage)?

2008-12-01 Thread Amir Michail

Hi,

When doing a urlfetch, it may take quite a long time.  As this is not
a CPU usage issue, what's the point of limiting the request time
anyway? Why not allow the request to go on for a minute or so?

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Why limit request time (as opposed to cpu usage)?

2008-12-02 Thread Amir Michail

On Tue, Dec 2, 2008 at 3:08 AM, Amir Michail <[EMAIL PROTECTED]> wrote:
> On Tue, Dec 2, 2008 at 3:07 AM, Greg <[EMAIL PROTECTED]> wrote:
>>
>>> When doing a urlfetch, it may take quite a long time.  As this is not
>>> a CPU usage issue, what's the point of limiting the request time
>>> anyway? Why not allow the request to go on for a minute or so?
>> Because it ties up memory for the duration of the request. Imagine if
>> they allowed hour long requests - it would be easy to swamp machines
>> with requests waiting for a response.

Or just handle it with some sort of memory quota.

Amir

>
> Ok, but what about one minute requests?  What would the impact be?
>
> Amir
>
>>
>> >>
>>
>
>
>
> --
> http://b4utweet.com
> http://chatbotgame.com
> http://numbrosia.com
> http://twitter.com/amichail
>



-- 
http://b4utweet.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Why limit request time (as opposed to cpu usage)?

2008-12-02 Thread Amir Michail

On Tue, Dec 2, 2008 at 3:07 AM, Greg <[EMAIL PROTECTED]> wrote:
>
>> When doing a urlfetch, it may take quite a long time.  As this is not
>> a CPU usage issue, what's the point of limiting the request time
>> anyway? Why not allow the request to go on for a minute or so?
> Because it ties up memory for the duration of the request. Imagine if
> they allowed hour long requests - it would be easy to swamp machines
> with requests waiting for a response.

Ok, but what about one minute requests?  What would the impact be?

Amir

>
> >
>



-- 
http://b4utweet.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Why limit request time (as opposed to cpu usage)?

2008-12-02 Thread Amir Michail

On Tue, Dec 2, 2008 at 3:35 AM, JM Ibanez <[EMAIL PROTECTED]> wrote:
>
> On Tue, Dec 2, 2008 at 4:20 PM, Amir Michail <[EMAIL PROTECTED]> wrote:
>>
>> On Tue, Dec 2, 2008 at 3:08 AM, Amir Michail <[EMAIL PROTECTED]> wrote:
>>> On Tue, Dec 2, 2008 at 3:07 AM, Greg <[EMAIL PROTECTED]> wrote:
>>>>
>>>>> When doing a urlfetch, it may take quite a long time.  As this is not
>>>>> a CPU usage issue, what's the point of limiting the request time
>>>>> anyway? Why not allow the request to go on for a minute or so?
>>>> Because it ties up memory for the duration of the request. Imagine if
>>>> they allowed hour long requests - it would be easy to swamp machines
>>>> with requests waiting for a response.
>>
>> Or just handle it with some sort of memory quota.
>
> It's not just memory, it's also the fact that threads are also
> waiting. And there are only a limited number of threads that can be
> created and can be waiting at any time.
>
> If all of your threads are waiting, even for a single minute, then no
> other requests can be served in the meantime. Then, at peak, more
> requests will come in which will have to be queued. Ad infinitum:
> you'll end up with HTTP requests which have to timeout because there
> aren't any threads available to handle them.

What's so special about the current time limit in that respect?

As for scalability, sometimes you need to do things in an undesirable
manner when you don't have much data yet (e.g., heavy reliance on
getting data via an API).  But as you get more users and more data,
then you could do things differently.

Amir

>
>
> --
> JM Ibanez --
>
> The worst government is often the most moral. One composed of cynics
> is often very tolerant and humane. But when fanatics are on top there
> is no limit to oppression.
>-- H. L. Mencken
>
> -
> http://www.livejournal.com/~jmibanez/
> httitp://www.mycgiserver.com/~butiki/
>
> >
>



-- 
http://b4utweet.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: domain name problem

2008-12-02 Thread Amir Michail

On Dec 2, 12:49 pm, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> Hi Amir,
>
> This works for me, so it looks like you've sorted it out?
>
> -Marzia

It's sorted out, though you might want to provide step-by-step
instructions.

Issues:

* it's not clear what the google apps service is for or why it is
needed to set up a domain name with app engine
* it's not clear what number of users is referring to in the google
apps sign up
* godaddy setup is non-trivial

Amir

>
> On Wed, Nov 26, 2008 at 6:29 PM, Amir Michail <[EMAIL PROTECTED]> wrote:
>
> > Hi,
>
> > I'm trying to set things up so that both b4utweet.com andwww.b4utweet.com
> > are connected with b4utweet.appspot.com.
>
> > After telling Google Apps to use www, I set www's CNAME to
> > ghs.google.com in GoDaddy and also set 301 forwarding towww.b4utweet.com.
>
> > But now I get this error whenever b4utweet.com orwww.b4utweet.comis
> > used:
>
> > This website is temporarily unavailable, please try again later.
>
> > b4utweet.appspot.com works fine.
>
> > Any hints?  Will this problem go away after a few hours?
>
> > Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] GAE will hurt Linux unless...

2008-12-03 Thread Amir Michail

Hi,

I suspect that the Google App Engine (and cloud computing more
generally) will have the unintended effect of significantly reducing
usage of Linux among web developers.

The solution of course is for Google to release a user-friendly and
slick Google OS built on top of Linux that makes the web the main
source of apps.

But even that's not enough since many people (even web devs) play
games on Windows... and linux cannot compete at all in that regard.
One could argue that the shift towards game consoles is making Windows
less important for games, but that will take time...

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: GAE will hurt Linux unless...

2008-12-03 Thread Amir Michail

On Wed, Dec 3, 2008 at 3:23 PM, Amir Michail <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I suspect that the Google App Engine (and cloud computing more
> generally) will have the unintended effect of significantly reducing
> usage of Linux among web developers.
>
> The solution of course is for Google to release a user-friendly and
> slick Google OS built on top of Linux that makes the web the main
> source of apps.
>

Also, I think Google will have to adopt Silverlight or build/adopt a
competitor (a multilingual Flash?).

I am skeptical that Javascript can be used to build graphics-intensive
applications.

Amir

> But even that's not enough since many people (even web devs) play
> games on Windows... and linux cannot compete at all in that regard.
> One could argue that the shift towards game consoles is making Windows
> less important for games, but that will take time...
>
> Amir
>
>



-- 
http://b4utweet.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: GAE will hurt Linux unless...

2008-12-03 Thread Amir Michail

On Wed, Dec 3, 2008 at 5:06 PM, yejun <[EMAIL PROTECTED]> wrote:
>
> GAE runs on linux, so I couldn't see any reason linux will be hurt.

GAE will cut down the number of people familiar with and directly
using Linux even if it ends up increasing the number of Linux web
servers.

Amir

>
> On Dec 3, 3:23 pm, Amir  Michail <[EMAIL PROTECTED]> wrote:
>> Hi,
>>
>> I suspect that the Google App Engine (and cloud computing more
>> generally) will have the unintended effect of significantly reducing
>> usage of Linux among web developers.
>>
>> The solution of course is for Google to release a user-friendly and
>> slick Google OS built on top of Linux that makes the web the main
>> source of apps.
>>
>> But even that's not enough since many people (even web devs) play
>> games on Windows... and linux cannot compete at all in that regard.
>> One could argue that the shift towards game consoles is making Windows
>> less important for games, but that will take time...
>>
>> Amir
> >
>



-- 
http://b4utweet.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Why not allow developers of libraries to upload them?

2008-12-04 Thread Amir Michail

Hi,

Instead of asking GAE developers to upload libraries they need, why
not ask the developers of the libraries to upload versions that work
with GAE?

Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Why can't we use reference properties in queries?

2008-12-14 Thread Amir Michail

Hi,

This would be very useful given the limit of 1000 results returned by
a query.

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Inverted Index & Entity Groups

2008-12-16 Thread Amir Michail

Hi,

Suppose you would like to store users' items in an inverted index for
quick search.

How do you store a new user item and index it with both steps
occurring in the same transaction?

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] GAE: Beyond computer science

2008-12-16 Thread Amir Michail

Hi,

I think the GAE is a real game-changer.  It will result in an
explosion of creativity that will dwarf what we have seen in Web 2.0
thus far.

There's a lot of interesting computer science and software engineering
involved in building the GAE, but I suspect less so in terms of
building apps for it.  This is particularly true since GAE apps will
by necessity need to be simple so that they are scalable:  there's
only so much you can do in the time available for a request.

And so IMO, the GAE is less about computer science and more about a
new creative field -- more art than science.  I think that's great.
This is long overdue.  See  
http://weblog.fortnow.com/2006/07/science-and-art-of-computation.html

Amir
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Inverted Index & Entity Groups

2008-12-17 Thread Amir Michail

On Dec 17, 1:51 pm, ryan  wrote:
> for the record, we discussed this in the 12/16 app engine irc chat:
>
> http://groups.google.com/group/google-appengine/browse_thread/thread/...
>
> i pointed amir toward appengine.ext.search, which is an example of how
> to do this.
>
> http://code.google.com/p/googleappengine/source/browse/trunk/google/a...

This approach seems to involve iterating through all the entities and
checking to see which ones match the query.

That's very inefficient.

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Inverted Index & Entity Groups

2008-12-17 Thread Amir Michail

On Wed, Dec 17, 2008 at 3:41 PM, Amir Michail  wrote:
>
> On Dec 17, 1:51 pm, ryan  wrote:
>> for the record, we discussed this in the 12/16 app engine irc chat:
>>
>> http://groups.google.com/group/google-appengine/browse_thread/thread/...
>>
>> i pointed amir toward appengine.ext.search, which is an example of how
>> to do this.
>>
>> http://code.google.com/p/googleappengine/source/browse/trunk/google/a...
>
> This approach seems to involve iterating through all the entities and
> checking to see which ones match the query.
>
> That's very inefficient.

... and incomplete since at most 1000 entities are considered.

Amir

>
> Amir
>
>
> >
>



-- 
http://readmytweets.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Inverted Index & Entity Groups

2008-12-17 Thread Amir Michail

On Dec 17, 1:51 pm, ryan  wrote:
> for the record, we discussed this in the 12/16 app engine irc chat:
>
> http://groups.google.com/group/google-appengine/browse_thread/thread/...
>
> i pointed amir toward appengine.ext.search, which is an example of how
> to do this.
>
> http://code.google.com/p/googleappengine/source/browse/trunk/google/a...

This approach uses a multi-valued property __searchable_text_index for
each entity containing words from text properties in that entity.

Then for an w1 AND ... AND wn query, it generates a filter like this:

__searchable_text_index = w1 AND ... AND __searchable_text_index = wn

How efficient is this?  How are multi-valued properties processed in
queries?

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Could you please provide issue tracking?

2008-12-21 Thread Amir Michail

Hi,

Why is it that Google only offers issue tracking for open source apps?

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Your app is probably incorrect! [vote up issue 313].

2008-12-21 Thread Amir Michail

Hi,

I must say I find it hard to imagine how most apps could be built
without distributed transactions:

http://code.google.com/p/googleappengine/issues/detail?id=313

Please vote this issue up if it affects your app!

Amir


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Could you please provide issue tracking?

2008-12-21 Thread Amir Michail

On Sun, Dec 21, 2008 at 5:49 PM, Alexander Kojevnikov
 wrote:
>
> http://code.google.com/p/googleappengine/issues/list
>

I mean issue tracking for our GAE apps -- including ones that are not
open source.

Amir

> On Dec 22, 5:56 am, Amir  Michail  wrote:
>> Hi,
>>
>> Why is it that Google only offers issue tracking for open source apps?
>>
>> Amir
> >
>



-- 
http://readmytweets.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Could you please provide issue tracking?

2008-12-21 Thread Amir Michail

On Sun, Dec 21, 2008 at 6:24 PM, David Symonds  wrote:
>
> On Mon, Dec 22, 2008 at 5:56 AM, Amir Michail  wrote:
>
>> Why is it that Google only offers issue tracking for open source apps?
>
> There's plenty of third-party issue tracking sites such as
> lighthouseapp.com where you can pay some money.
>
> Google provides stuff for open source projects because everyone
> (including Google) can benefit from such projects.
>

How is this different from allowing closed source companies to use
Google Groups though?  As long as Google puts ads in the service, then
it should be fine.

Amir

>
> Dave.
>
> >
>



-- 
http://readmytweets.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Your app is probably incorrect! [vote up issue 313].

2008-12-22 Thread Amir Michail

On Mon, Dec 22, 2008 at 10:50 AM, Paul Kinlan  wrote:
> Hi,
>
> I took a good long read of this issue, and I can honestly see why it has not
> been starred up anymore.
>
> 1) From my point of view, there are lots of other priorities thatI would
> like to see implemented before this, which looking at it, I can mostly
> program my way around.
> 2) You used a lot of big words
> 3) You went on for too long
> 4) You really didn't make a case for it that most people can understand in
> short enough time
> 5) Most apps don't need this especially when you look at the current
> datastore transaction isolation levels, something exists or it doesn't,
> something updates or it doesn't, and most things can be done on a single
> entity basis.

I actually didn't make a single comment under that issue!

Anyway, the problem is that if you have two entities that are not in a
child-parent relationship, then you can't have a transaction that
involves both.

For example, you can't have a transaction involving two users of your
app.  So if a user performs an action that affects (e.g., the stats
of) both, then you would have a problem in making sure that the stats
are updated for both.

This is a very fundamental flaw.  I suspect that most GAE apps are
incorrect due to this problem.  Please vote up this issue.

I realize that the GAE team would rather have someone implement an
open source distributed transaction library for them.  But I doubt
this will happen any time soon.  And even if it did, I would have more
trust in an implementation by the GAE team anyway.

Amir

>
> I am completly prepared to be shotdown and made fun of for my opinions.
>
> Kind Regards,
> Paul Kinlan
>
> 2008/12/21 Amir Michail 
>>
>> Hi,
>>
>> I must say I find it hard to imagine how most apps could be built
>> without distributed transactions:
>>
>> http://code.google.com/p/googleappengine/issues/detail?id=313
>>
>> Please vote this issue up if it affects your app!
>>
>> Amir
>>
>>
>>
>
>
> >
>



-- 
http://readmytweets.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Your app is probably incorrect! [vote up issue 313].

2008-12-22 Thread Amir Michail

On Mon, Dec 22, 2008 at 2:02 PM, Geoffrey Spear  wrote:
>
>
>
> On Dec 22, 1:10 pm, "Amir Michail"  wrote:
>> This is a very fundamental flaw.  I suspect that most GAE apps are
>> incorrect due to this problem.  Please vote up this issue.
>
> I suspect that "most" GAE apps aren't coded on the assumption that
> BigTable is something it's not.

Who knows?  Bugs of this type may only show up under high traffic, so
it's easy to miss if you are not aware of the issues.

Is there any particular reason why distributed transactions don't have
a higher priority on the GAE TODO list?

>From what I understand, they can be implemented as a library without
making any changes to the GAE.

So maybe if you vote up this issue, the GAE team will consider writing
such a library?

Amir

> >
>



-- 
http://readmytweets.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Your app is probably incorrect! [vote up issue 313].

2008-12-22 Thread Amir Michail

On Mon, Dec 22, 2008 at 3:08 PM, Paul Kinlan  wrote:
> Hi,
>
> My whole argument was that I am pretty sure that you can solve the problems
> mentioned by thinking about the root of the transactions in a different way
> than the traditionaly update user a and user b.

You could put everything in the same entity group, but that would kill
concurrency.

Do you have any specific suggestions about the example I gave?

Amir


>
> The thing that I like about GAE at the moment is that it has meant that I
> change the way I think about creating applications.  The problem that a lot
> of new developers have with GAE (and I am not saying anyone in this
> conversation is new) is that they think about developing applications in a
> "Relational DB" style, which in my opinon is wrong.
>
> I honestly suspect, and this is what I was saying before, the reason why the
> item is not higher on the list, is that it isn't easy to read and understand
> that you may need it at a priority.
>
> Regards,
> Paul Kinlan
>
> 2008/12/22 Amir Michail 
>>
>> On Mon, Dec 22, 2008 at 2:02 PM, Geoffrey Spear 
>> wrote:
>> >
>> >
>> >
>> > On Dec 22, 1:10 pm, "Amir Michail"  wrote:
>> >> This is a very fundamental flaw.  I suspect that most GAE apps are
>> >> incorrect due to this problem.  Please vote up this issue.
>> >
>> > I suspect that "most" GAE apps aren't coded on the assumption that
>> > BigTable is something it's not.
>>
>> Who knows?  Bugs of this type may only show up under high traffic, so
>> it's easy to miss if you are not aware of the issues.
>>
>> Is there any particular reason why distributed transactions don't have
>> a higher priority on the GAE TODO list?
>>
>> From what I understand, they can be implemented as a library without
>> making any changes to the GAE.
>>
>> So maybe if you vote up this issue, the GAE team will consider writing
>> such a library?
>>
>> Amir
>>
>> > >
>> >
>>
>>
>>
>> --
>> http://readmytweets.com
>> http://chatbotgame.com
>> http://numbrosia.com
>> http://twitter.com/amichail
>>
>>
>
>
> >
>



-- 
http://readmytweets.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Your app is probably incorrect! [vote up issue 313].

2008-12-22 Thread Amir Michail

On Mon, Dec 22, 2008 at 3:23 PM, yejun  wrote:
>
>
>> Is there any particular reason why distributed transactions don't have
>> a higher priority on the GAE TODO list?
>
> What makes you think it should be higher priority? It is not in my
> opinion.
>
> Do you think a blog, todo list or caculator requires distributed
> transaction?

Why would you want to limit GAE apps to those sorts of things?  What
about all those apps where there is an interaction between users?

And just because you may have not run into this problem in your
current app(s) doesn't  mean that you will not soon run into it in
your next app.

Amir

>
> >
>



-- 
http://readmytweets.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Your app is probably incorrect! [vote up issue 313].

2008-12-22 Thread Amir Michail

On Mon, Dec 22, 2008 at 4:09 PM, yejun  wrote:
>
>
>> Why would you want to limit GAE apps to those sorts of things?  What
>> about all those apps where there is an interaction between users?
>>
>
> Developers are still struggling to complete some simple tasks such as
> pageing through comments with current datastore API. Do you think it
> is necessary to have a luxury toilet while you were living in shelter?

Distributed transactions will vastly simplify your life when you need
them.  It's all about making programming easier.

As for paging, it would be nice to have a library for that as well.
But since writing paging code yourself is much easier than distributed
transactions, a distributed transaction library would take priority
over a paging library.

Amir

>
>
> >
>



-- 
http://readmytweets.com
http://chatbotgame.com
http://numbrosia.com
http://twitter.com/amichail

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



  1   2   >