Re: [google-appengine] X-AppEngine-City
Krishna, It's a one time cost. How are you mapping the user to a city? You might also want to look into other services like SimpleGeo.com or client side geocoding via Google Maps. -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Thu, Oct 6, 2011 at 2:54 AM, Krishna Patel wrote: > What's the most efficient way of determining city information since, at the > moment, there is an X-AppEngine-Country but no X-AppEngine-City? > > I was planning to get the GeoLite City database, which, uncompressed, is > 30MB (not sure if it needs to be split to be under the new 30MB upload > limit) and use a MapReduce job to load the database into entities. > > Computationally expensive but is that the only way to do this? > > -- > 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. > -- 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] X-AppEngine-City
Unfortunately Google doesn't seem to have any products that do geoip lookup anymore. There used to be a ClientLocation as part of the ajax loader but the docs for that have been removed and the endpoints all seem to return null now. Using the HTML5 location API requires permission from the browser, which isn't really practical for most apps. We built an ip geolocation service on appengine using hessian and the free maxmind db. The hard part was hacking around the 10M limit - but that shouldn't be a problem with SDK 1.5.5 since the data file is ~27MB. Some sort of finer-grained geoip lookup builtin to appengine would be really, really handy. Jeff On Thu, Oct 6, 2011 at 8:54 AM, Ikai Lan (Google) wrote: > Krishna, > It's a one time cost. How are you mapping the user to a city? > You might also want to look into other services like SimpleGeo.com or client > side geocoding via Google Maps. > -- > Ikai Lan > Developer Programs Engineer, Google App Engine > plus.ikailan.com | twitter.com/ikai > > > On Thu, Oct 6, 2011 at 2:54 AM, Krishna Patel > wrote: >> >> What's the most efficient way of determining city information since, at >> the moment, there is an X-AppEngine-Country but no X-AppEngine-City? >> I was planning to get the GeoLite City database, which, uncompressed, is >> 30MB (not sure if it needs to be split to be under the new 30MB upload >> limit) and use a MapReduce job to load the database into entities. >> Computationally expensive but is that the only way to do this? >> >> -- >> 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. > > -- > 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. > -- 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] X-AppEngine-City
Ikai, Uploading the data is a one-time cost, yes - but not an inexpensive one. And doing a city lookup upon each login is expensive because of the need to scan IP ranges in the Maxmind database. I assume this will require indexing but I don't know how expensive an IP/city lookup is going to be in terms of how many underlying datastore queries will need to be performed. Third party apis are out of the question (this is a commercial app) and a professional geolocation license for Google Maps allegedly costs $10,000 - which is also out of reach. For these reasons, it is disappointing that App Engine stopped short of implementing X-AppEngine-City - which would have saved countless developer hours and expense. - Krishna On Thu, Oct 6, 2011 at 4:54 PM, Ikai Lan (Google) wrote: > Krishna, > > It's a one time cost. How are you mapping the user to a city? > > You might also want to look into other services like SimpleGeo.com or > client side geocoding via Google Maps. > > -- > Ikai Lan > Developer Programs Engineer, Google App Engine > plus.ikailan.com | twitter.com/ikai > > > > On Thu, Oct 6, 2011 at 2:54 AM, Krishna Patel > wrote: > >> What's the most efficient way of determining city information since, at >> the moment, there is an X-AppEngine-Country but no X-AppEngine-City? >> >> I was planning to get the GeoLite City database, which, uncompressed, is >> 30MB (not sure if it needs to be split to be under the new 30MB upload >> limit) and use a MapReduce job to load the database into entities. >> >> Computationally expensive but is that the only way to do this? >> >> -- >> 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. >> > > -- > 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. > -- 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] X-AppEngine-City
On Thu, Oct 6, 2011 at 12:12 PM, Krishna Patel wrote: > Ikai, > Uploading the data is a one-time cost, yes - but not an inexpensive one. And > doing a city lookup upon each login is expensive because of the need to scan > IP ranges in the Maxmind database. I assume this will require indexing but I > don't know how expensive an IP/city lookup is going to be in terms of how > many underlying datastore queries will need to be performed. Maxmind's database doesn't work this way. It's a flat file that gets pulled entirely into RAM. The code is horrific and it's nontrivial to make it read from anything other than a filesystem. We had to hack it heavily just to read from a three-way-split file. The downside is that an app instance is slow to startup because it needs to pull 30MB off of Google's incredibly slow filesystem. But once it's running, lookups are pretty much instantaneous and zero-cost. Jeff -- 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] X-AppEngine-City
Jeff, Does your aproach plays well as a backend? -Ronoaldo -- 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/-/tggusylTQdsJ. 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] X-AppEngine-City
No point. It fits into a frontend instance - currently occupying around 108 MB. I'd post my code that reconstitutes the three part file into one, but it's pointless with the 30MB file limit raise around the corner. Jeff 2011/10/6 Ronoaldo José de Lana Pereira : > Jeff, > > Does your aproach plays well as a backend? > > -Ronoaldo > > -- > 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/-/tggusylTQdsJ. > 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. > -- 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] X-AppEngine-City
Jeff, Which code is horrific? I was going to load the Maxmind database into custom entities - so I don't see why it's a big deal if it's tough to load a split file a single time. After it's loaded into custom entities all of my geo queries would run against the datastore. Maybe I'm misunderstanding you. Krishna On Thu, Oct 6, 2011 at 9:33 PM, Jeff Schnitzer wrote: > > Maxmind's database doesn't work this way. It's a flat file that gets > pulled entirely into RAM. The code is horrific and it's nontrivial to > make it read from anything other than a filesystem. We had to hack it > heavily just to read from a three-way-split file. > > The downside is that an app instance is slow to startup because it > needs to pull 30MB off of Google's incredibly slow filesystem. But > once it's running, lookups are pretty much instantaneous and > zero-cost. > -- 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] X-AppEngine-City
Jeff, This made me smile as we did the exact same thing. Split the maxmind database in 3 and reconstituted the file in code. We initialise the database in a warm up task so it gets loaded into memory. It's quite speedy after that (but it does take up a chunk of memory) cheers James On 7 October 2011 08:28, Jeff Schnitzer wrote: > No point. It fits into a frontend instance - currently occupying around 108 > MB. > > I'd post my code that reconstitutes the three part file into one, but > it's pointless with the 30MB file limit raise around the corner. > > Jeff > > 2011/10/6 Ronoaldo José de Lana Pereira : >> Jeff, >> >> Does your aproach plays well as a backend? >> >> -Ronoaldo >> >> -- >> 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/-/tggusylTQdsJ. >> 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. >> > > -- > 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. > > -- 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] X-AppEngine-City
This code is horrific: http://www.maxmind.com/app/java It's horrific because doesn't allow for working with anything other than a RandomAccessFile, which is the interface I had to mock in order to get it working. It's horrific because it's full of magic numbers and bizarre data structures without documentation. Why do you want to run it agains the datastore? The free version fits in frontend RAM. The "full" version will fit in backend RAM. Or run it on a linode server. The idea of deciphering Maxmind's wacky data structures gives me nightmares. Jeff On Thu, Oct 6, 2011 at 4:10 PM, Krishna Patel wrote: > Jeff, > Which code is horrific? > > I was going to load the Maxmind database into custom entities - so I don't > see why it's a big deal if it's tough to load a split file a single time. > After it's loaded into custom entities all of my geo queries would run > against the datastore. Maybe I'm misunderstanding you. > Krishna > > On Thu, Oct 6, 2011 at 9:33 PM, Jeff Schnitzer wrote: >> >> Maxmind's database doesn't work this way. It's a flat file that gets >> pulled entirely into RAM. The code is horrific and it's nontrivial to >> make it read from anything other than a filesystem. We had to hack it >> heavily just to read from a three-way-split file. >> >> The downside is that an app instance is slow to startup because it >> needs to pull 30MB off of Google's incredibly slow filesystem. But >> once it's running, lookups are pretty much instantaneous and >> zero-cost. > > -- > 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. > -- 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] X-AppEngine-City
How about using http://www.google.com/jsapi and google.loader.ClientLocation.address.city on the client side? -- 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/-/RQ_b-JU_G2wJ. 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] X-AppEngine-City
On Thu, Oct 6, 2011 at 9:17 PM, Juha K wrote: > How about using > http://www.google.com/jsapi and google.loader.ClientLocation.address.city on > the client side? It doesn't work anymore. At least, it doesn't work for me here in the Bay Area anymore. And Google has pulled down all documentation for it, so presumably it has been deprecated. Too bad, it's exactly what I want. Jeff -- 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] X-AppEngine-City
Yeah, I removed my post after 2 mins when I tested the API and realized that it returned null every time. You were faster :) -- 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/-/uVVECLrLW1EJ. 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] X-AppEngine-City
If someone tells me how to make money on it I will expose my API for doing Geo-Location by IP. I never assumed anyone would pay anything... So I'm not sure what is in it for me. Also what level of detail do you want? -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Jeff Schnitzer Sent: Thursday, October 06, 2011 9:21 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] X-AppEngine-City On Thu, Oct 6, 2011 at 9:17 PM, Juha K wrote: > How about using > http://www.google.com/jsapi and > google.loader.ClientLocation.address.city on the client side? It doesn't work anymore. At least, it doesn't work for me here in the Bay Area anymore. And Google has pulled down all documentation for it, so presumably it has been deprecated. Too bad, it's exactly what I want. Jeff -- 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. -- 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] X-AppEngine-City
Jeff, I didn't even consider using their Java api. The idea of keeping the data in memory on App Engine is absurd. I'm surprised you thought that might work. I'm following an approach similar to Ikai's in his blog post: http://ikaisays.com/2010/08/11/using-the-app-engine-mapper-for-bulk-data-import/ As you can see, he parses the Maxmind file into City and Zip entities so that he can do lookups by Key. Unfortunately I don't think this works to lookup a City from an IP address - because you have to scan a series of IP ranges in the underlying data (the data is not actually very complex). Brandon, "what's in it for me" is a good question to ask - on both sides of the transaction. In my case, it's a commercial app so why would I rely on your service? Who are you and how do I know you will be around in 6 months or 6 years? I don't mind paying for a service but I would prefer to pay for a service with some weight behind it. Juha, jsapi lookups are limited by daily quotas and questionable for a commercial app without paying an alleged $10,000 licensing fee for Google Maps Premium. - Krishna -- 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] X-AppEngine-City
On Fri, Oct 7, 2011 at 2:50 AM, Krishna Patel wrote: > Jeff, > I didn't even consider using their Java api. The idea of keeping the data in > memory on App Engine is absurd. I'm surprised you thought that might work. Uh... did you miss the part where I did this and it works great? And James Broberg did the same? Jeff -- 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] X-AppEngine-City
Fair enough. I'm a data hoarder :-) and clients have been buying information for 18+ years. I have never don the GEO-Ip as a service because the cost could never be competitive with Maxmind. At somepoint max mind might offer a directly compatible/supported solution with AppEngine. If I were a Developer Evangelist at Google this would be the kind of thing I would be working to make happen (hint, hint, nudge, nudge) From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Krishna Patel Sent: Friday, October 07, 2011 2:50 AM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] X-AppEngine-City Jeff, I didn't even consider using their Java api. The idea of keeping the data in memory on App Engine is absurd. I'm surprised you thought that might work. I'm following an approach similar to Ikai's in his blog post: http://ikaisays.com/2010/08/11/using-the-app-engine-mapper-for-bulk-data-imp ort/ As you can see, he parses the Maxmind file into City and Zip entities so that he can do lookups by Key. Unfortunately I don't think this works to lookup a City from an IP address - because you have to scan a series of IP ranges in the underlying data (the data is not actually very complex). Brandon, "what's in it for me" is a good question to ask - on both sides of the transaction. In my case, it's a commercial app so why would I rely on your service? Who are you and how do I know you will be around in 6 months or 6 years? I don't mind paying for a service but I would prefer to pay for a service with some weight behind it. Juha, jsapi lookups are limited by daily quotas and questionable for a commercial app without paying an alleged $10,000 licensing fee for Google Maps Premium. - Krishna -- 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. -- 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] X-AppEngine-City
Brandon, How much would you charge to provide a REST api that takes in an IP address and spits out the 2-alpha country code (same as x-appengine-country) along with a best guess for the city name? Also, would you be able to guarantee a reasonable time window (a few months?) before discontinuing your service - if you ever decided to? - Chris On Fri, Oct 7, 2011 at 9:48 AM, Brandon Wirtz wrote: > If someone tells me how to make money on it I will expose my API for doing > Geo-Location by IP. I never assumed anyone would pay anything... So I'm > not > sure what is in it for me. > > Also what level of detail do you want? > -- 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] X-AppEngine-City
You have a sense of the volume? Would you prefer a monthly Sub, or a per X IP's looked up? To be fast I'd likely have an always on instance. That is going to put the pricing at $10 a month minimum. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Chris Collins Sent: Friday, October 14, 2011 8:45 AM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] X-AppEngine-City Brandon, How much would you charge to provide a REST api that takes in an IP address and spits out the 2-alpha country code (same as x-appengine-country) along with a best guess for the city name? Also, would you be able to guarantee a reasonable time window (a few months?) before discontinuing your service - if you ever decided to? - Chris On Fri, Oct 7, 2011 at 9:48 AM, Brandon Wirtz wrote: If someone tells me how to make money on it I will expose my API for doing Geo-Location by IP. I never assumed anyone would pay anything... So I'm not sure what is in it for me. Also what level of detail do you want? -- 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. -- 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] X-AppEngine-City
It's a seasonal app(s). The volume would need to be about 5,000-10,000 requests per day for high season. On off-seasons (e.g. winter months), it would drop to around 100 requests per day. What would be the difference in terms of monthly sub vs per-IP for that kind of volume? On Fri, Oct 14, 2011 at 6:04 PM, Brandon Wirtz wrote: > You have a sense of the volume? Would you prefer a monthly Sub, or a per X > IP’s looked up? > > ** ** > > To be fast I’d likely have an always on instance. That is going to put the > pricing at $10 a month minimum. > > ** ** > > ** ** > > *From:* google-appengine@googlegroups.com [mailto: > google-appengine@googlegroups.com] *On Behalf Of *Chris Collins > *Sent:* Friday, October 14, 2011 8:45 AM > > *To:* google-appengine@googlegroups.com > *Subject:* Re: [google-appengine] X-AppEngine-City > > ** ** > > Brandon, > > ** ** > > How much would you charge to provide a REST api that takes in an IP address > and spits out the 2-alpha country code (same as x-appengine-country) along > with a best guess for the city name? > > ** ** > > Also, would you be able to guarantee a reasonable time window (a few > months?) before discontinuing your service - if you ever decided to? > > ** ** > > - Chris > > On Fri, Oct 7, 2011 at 9:48 AM, Brandon Wirtz wrote: > > > If someone tells me how to make money on it I will expose my API for doing > Geo-Location by IP. I never assumed anyone would pay anything... So I'm > not > sure what is in it for me. > > Also what level of detail do you want? > > -- > 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. > > -- > 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. > -- 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.