[google-appengine] Re: beginner need for help about Cookie!

2009-10-06 Thread Allen

It seems work while test by dev_appserver.py

but when I upload it to GAE. I always need to re-login in about 1
minute.

whether the cookie expired in 1 minute? how can I do?

Thanks

Following is my code:

#create new cookie while login and response for user request:
new_sid = sha.new(repr(time.time())).hexdigest()
cookie = Cookie.SimpleCookie()
cookie['sid'] = new_sid
cookie['sid']['expires'] = 24*60*60
h = re.compile('^Set-Cookie: ').sub('', cookie.output(), count=1)
..
self.response.headers.add_header('Set-Cookie', str(h))
self.response.out.write(webdata)

#retrieve the cookie while user make new request, and response again
for new page:
sid = self.request.cookies.get('sid')
cookie['sid'] = sid
cookie['sid']['expires'] = 24*60*60
h = re.compile('^Set-Cookie: ').sub('', cookie.output(), count=1)
..
self.response.headers.add_header('Set-Cookie', str(h))
self.response.out.write(webdata)

##


On Oct 4, 3:29 am, Anh Hai Trinh  wrote:
> > NEW_SID = 
> > sha.new(repr(time.time())).hexdigest()cookie=Cookie.SimpleCookie()cookie['s 
> > id'] = NEW_SIDcookie['sid']['expires'] = 24*60*60
>
> I believe you can do
>
>
>
> > self.response.out.write(cookie.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-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] What are your top three issues in appengine?

2009-10-06 Thread Kenneth

I was looking at the issue list the other day.  There is a lot rubbish
in there (support c#!) but what do people who are actively using app
engine want fixed?  If you had to pick three issues what would they
be?  Link to issues only, don't give a "why app engine sucks"
rant.  :-)

Here are my top three:

1) More granular accounting of how datastore space is used
http://code.google.com/p/googleappengine/issues/detail?id=1396

This one should be easy, the information is being pulled from
somewhere already.  Right now storage usage is a total black hole.

2) SSL/HTTPS Support on Google Apps domains
http://code.google.com/p/googleappengine/issues/detail?id=792

I know it's a hard problem, but it is really holding gae back.

3) SLA
http://code.google.com/p/googleappengine/issues/detail?id=501

Release it already, and give us a paid SLA, and a pony.

--~--~-~--~~~---~--~~
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: missing logs

2009-10-06 Thread Nick Johnson (Google)
Hi Neil,

On Tue, Oct 6, 2009 at 1:00 AM, neil souza  wrote:

>
> thanks nick, responses in line (hope they come through right, i don't
> really know how to use groups)
>
> On Sep 30, 2:57 am, "Nick Johnson (Google)" 
> wrote:
> > Hi Neil,
> >
> > Sorry for the delay responding. Responses inline.
> >
> >
> >
> >
> >
> > On Sat, Sep 26, 2009 at 1:40 PM, neil souza 
> wrote:
> >
> > > the issue: it looks like we may not be getting all of our log entries
> > > when when pull the logs from app engine.
> >
> > > first, a little context. there's a lot here, so bear with me.
> >
> > > we need to record event lines for metrics. normally, we would write
> > > the lines to a local file on each app server and then pull those logs
> > > every few minutes from the metrics system. we found this to be the
> > > most stable and scalable architecture.
> >
> > > however, in app engine land, we can't write to a file. so we wrote the
> > > event lines to the logs, set up a script to pull them in 10 minute
> > > intervals, and loaded them into the stats system.
> >
> > > to be clear, the process goes like this:
> >
> > > 1.) an event happens on the server that we'd like to record. we write
> > > a line to the log using logging.info(...) in python
> >
> > > 2.) every 10 minutes, a job starts on a metrics server, which requests
> > > the next batch of logs by calling appcfg.py. the last log in the new
> > > batch is kept in a append file to use as the 'sentinel' for the next
> > > fetch.
> >
> > > 3.) the new log file is parsed for event lines, which are written to
> > > another 'event' file.
> >
> > > 4.) a few minutes later, another job grabs new event files and loads
> > > the events into the metrics system.
> >
> > > everything seemed to work great. until we realized that we were
> > > missing events. a lot of them. between 20-50%.
> >
> > > there are some events that need to be shared with other systems. for
> > > one if those event types, i was feeling lazy, so i just fired http
> > > hits at the other system as the event happen. at some point, we
> > > compared these numbers - and found them to be drastically different.
> >
> > > i ran tests today comparing the number of events recorded 'through'
> > > the logs system and the same events recorded by http hit during
> > > runtime. the percent of 'missing' events ranged from 18-56%, and the
> > > percent missing appeared to be significantly higher when the frequency
> > > of events was higher (during peak).
> >
> > > i've done a significant amount of work that points to the logs being
> > > missing by the point that appcfg.py records them. i've reasonably
> > > verified that all the event lines that appcfg.py pulls down make it
> > > into the metrics system. oh, and all the numbers are being run on
> > > unique user counts, so there's no way that the counts could be
> > > mistakenly large (accidentally reading an event twice does not produce
> > > a new unique user id).
> >
> > > my questions / issues:
> >
> > > 1.) should we be getting all of our logged lines from appcfg.py's
> > > request_logs command? is this a known behavior? recall that we are
> > > missing 20-50% of events - this is not a small discrepancy.
> >
> > App Engine has a fixed amount of space available for logs; it's
> essentially
> > a circular buffer. When it runs out of space, it starts replacing older
> > logs.
> >
> well, i'm going to guess that's the culprit.
> >
> >
> > > 2.) we're pulling our logs every 10 minutes. seeing as the
> > > request_logs command lets you specify the time you want in days, i
> > > imagine this as more frequent than intended. could this be causing an
> > > issue?
> >
> > How much traffic are you getting? What's the size of 10 minutes' worth of
> > logs?
> >
> we're at maybe avg. 200 request and looks like we're recording 1.25
> events per request, so perhaps 250 log lines / sec? that's in addition
> to all the other junk getting spilled out there - i didn't know that
> space was limited, there's prob some debug output, then the
> exceptions, etc...
>

There's a limit on the total amount of logs stored - the logs are
effectively stored in a circular buffer, so old data is overwritten as
needed to make space for new data.


> >
> >
> > > 3.) we switch major versions of the app every time we push, which can
> > > be several times each day. this doesn't make sense as an issue since
> > > the numbers are know to be wrong over periods where there have been no
> > > version changes, but i wanted to mention it.
> >
> > > 4.) can you suggest a better solution for getting data to offline
> > > processing? right now we getting the correct numbers using the async
> > > http requests without ever calling get_result() or the like as a 'fire-
> > > and-forget' http hit (not even sure if we're supposed to use it like
> > > this, but seems to work). however, this approach has serious
> > > drawbacks:
> >
> > You could log to the datastore, and read and delete old entries using
> > remote_api

[google-appengine] JAVA - How to Save Image to datastore

2009-10-06 Thread Nitin Joshi
Hi All,

 

I am getting the URL address of an Image in the servlet, now
how can I store the actual Image in the datastore?

Currently I am able to store the Image path (i.e. url of the
image) in the datastore.

I want to know how the Image object can be created to store
it in a datastore?

 

Please help asap.

 

Thanks,

Nitin Joshi.


--~--~-~--~~~---~--~~
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: Job in Task Queue using up all my CPU, how to stop?

2009-10-06 Thread Nick Johnson (Google)
Hi Kevin,
Have you tried using "appcfg.py update_queues" to upload a queue
configuration that severely limits the execution rate of your queues?

-Nick Johnson

On Mon, Oct 5, 2009 at 6:24 PM, Kevin  wrote:

>
> Hello,
>
> I have a Job in Task Queue that is using all my CPU within an a hour
> after the quota reset. The problem is my quota resets at like 5am in
> the morning for me. Is the only way for me to stop the Job is to wake
> up at 5am and do it?
>
> The Job is setup to infinitely add jobs to the queue, so the only way
> I know how to stop it is to redeploy my add with the queue xml setting
> set to stop. And, I can't seem to redeploy when I've reached the Quota
> maximum.
>
> Thanks in advance,
> Kevin.
> >
>


-- 
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-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: What are your top three issues in appengine?

2009-10-06 Thread clay

I was one of the ones who starred C# support since C# has LINQ.  LINQ
gives you joins and aggregations, two features that are really needed
in the app engine.

C# is a serious request.

On Oct 6, 10:04 am, Kenneth  wrote:
> I was looking at the issue list the other day.  There is a lot rubbish
> in there (support c#!) but what do people who are actively using app
> engine want fixed?  If you had to pick three issues what would they
> be?  Link to issues only, don't give a "why app engine sucks"
> rant.  :-)
>
> Here are my top three:
>
> 1) More granular accounting of how datastore space is 
> usedhttp://code.google.com/p/googleappengine/issues/detail?id=1396
>
> This one should be easy, the information is being pulled from
> somewhere already.  Right now storage usage is a total black hole.
>
> 2) SSL/HTTPS Support on Google Apps 
> domainshttp://code.google.com/p/googleappengine/issues/detail?id=792
>
> I know it's a hard problem, but it is really holding gae back.
>
> 3) SLAhttp://code.google.com/p/googleappengine/issues/detail?id=501
>
> Release it already, and give us a paid SLA, and a pony.
--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread Rodrigo Moraes

mine are...

1) Built-in Paging (no issues, but it's in roadmap and coming soon)
Currently we have to re-implement or re-think paging for every situation.

2) Full-text search API
(http://code.google.com/p/googleappengine/issues/detail?id=217)
No-brainer. Much needed and required by almost all kinds of apps.

3) Subdomain management API
(http://code.google.com/p/googleappengine/issues/detail?id=2214 and
http://code.google.com/p/googleappengine/issues/detail?id=113)
It's a Google Apps issue, but very related to GAE. We can't have
http://my-customer-id.my-domain.com without manual intervention, which
is terrible.

-- rodrigo

--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread Rodrigo Moraes

On Tue, Oct 6, 2009 at 6:04 AM, Kenneth wrote:
> 1) More granular accounting of how datastore space is used
> http://code.google.com/p/googleappengine/issues/detail?id=1396
>
> This one should be easy, the information is being pulled from
> somewhere already.  Right now storage usage is a total black hole.

btw, this one is coming probably in 1.2.6.

-- rodrigo

--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread Mike

My top top issues are...

1) SSL/HTTPS Support on Google Apps domains
http://code.google.com/p/googleappengine/issues/detail?id=792

I couldn't agree more. This is a huge problem for people who want to
develop real e-commerce applications. If Google wants to encourage and
grow their paid AppEngine customers, being able to actually collect
money from end users is a huge priority.

I'm writing a fairly sophisticated e-Commerce store on AppEngine at
the moment, but I'm having to use PayPal, which is far from ideal.

2) Allow resizing images that are bigger than 1 Mb
http://code.google.com/p/googleappengine/issues/detail?id=1422

Most average users are hard pressed enough to work out how to upload
an image, let alone understand why/how to reduce the sizes of their
images. The 1 MB limit hurts so much I've actually opted to remove it
from my application rather than have to support people who don't know
how to resize.


--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread vivpuri

1. Billable Task Queue API.

2. Full-text search API

3. SSL/HTTPS Support on Google Apps domains
--~--~-~--~~~---~--~~
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: Is it possible to read gmail from appengine project?

2009-10-06 Thread Adam

AppEngine applications are only allowed to have outgoing network
connections on port 80 or 443. One possible approach would be to use
the Gmail Atom feed (https://mail.google.com/mail/feed/atom) to access
the new messages in a Gmail Inbox. Also -- and I am not recommending
this -- you could try making a regular HTTPS connection to Gmail and
screen-scraping.
--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread Ubaldo Huerta


1) Full text search

2) Full text search

3) Incoming email handling support

--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread twink*

1. User login from multiple Google Apps domains, or deployment across
multiple Google Apps domains.

2. BOSH transport (layer under XMPP) for transparent server-to-client
messaging.

3. Full text search.



On Oct 6, 10:16 am, vivpuri  wrote:
> 1. Billable Task Queue API.
>
> 2. Full-text search API
>
> 3. SSL/HTTPS Support on Google Apps domains
--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread Sylvain

1) DataStore Timeout
2) Full Text : attribute and Document Full Text (word, excel)
3) New billing options (monthly, Euro,...) :
http://code.google.com/p/googleappengine/issues/detail?id=1999

On 6 oct, 11:04, Kenneth  wrote:
> I was looking at the issue list the other day.  There is a lot rubbish
> in there (support c#!) but what do people who are actively using app
> engine want fixed?  If you had to pick three issues what would they
> be?  Link to issues only, don't give a "why app engine sucks"
> rant.  :-)
>
> Here are my top three:
>
> 1) More granular accounting of how datastore space is 
> usedhttp://code.google.com/p/googleappengine/issues/detail?id=1396
>
> This one should be easy, the information is being pulled from
> somewhere already.  Right now storage usage is a total black hole.
>
> 2) SSL/HTTPS Support on Google Apps 
> domainshttp://code.google.com/p/googleappengine/issues/detail?id=792
>
> I know it's a hard problem, but it is really holding gae back.
>
> 3) SLAhttp://code.google.com/p/googleappengine/issues/detail?id=501
>
> Release it already, and give us a paid SLA, and a pony.
--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread Iap

Second to "Full text search"
Second to "Timeout"
Second to "SSL"

--~--~-~--~~~---~--~~
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: Optimizing BigTable queries for a timestamped class

2009-10-06 Thread Erem

Anyone? Is manipulating key structure to order them properly in
BigTable a good idea? How to structure my queries to do prefix/range
scans on those keys?
Thanks!

Erem

On Oct 4, 12:57 pm, Erem  wrote:
> 3 questions about optimizing BigTable datastore queries on a
> timestamped class. I'm using JDO on the Java runtime.
>
> SOME CONTEXT
> My class, Event, requires speedy scans on time windows. An Event's
> timestamp is immutable.
>
> Given that (1) BigTable physically stores rows in lexicographic order
> by rowkey, and (2) what I specify as PrimaryKey directly maps to
> BigTable rowkey (after appending to appID, etc), I will set up my
> PrimaryKeys to be lexicographically ordered in time followed by an
> entity-unique ID.
>
> Some example keys, where entity is identified by its UTCDate+millis
> +unique ID.
> UTCDATE  ::TIME           ::UNIQUE ID
> 2000-12-01::13:15:00.000::1 //Dec 01, 2000, at 1:15PM
> 2001-12-01::13:15:00.000::2 //Dec 01, 2001, same time
> 2002-12-01::13:15:00.000::3 //Dec 01, 2002, same time
>
> This key structure allows me to do useful, dense prefix- and range-
> scans directly on the entities table. For example
> (not syntactic GQL. See Question 2.)
> WHERE key MATCHES '2000*'       //all events from the year 2000
> WHERE key MATCHES '2000-12*'    //all from month of December, 2000
> WHERE key MATCHES '2000-12-01*' //all from Dec 01, 2000
> WHERE key > '2000-12-01'    //between Dec 1 and Christmas, 2000
>       && key < '2000-12-25'
>
> 3 QUESTIONS IN ORDER OF PRAGMATIC TO OBSCURE
> (1) Am I actually optimizing anything by doing this, or am I wasting
> time? Should I expect this to be super-fast because it's performing a
> dense read on 1 or 2 BigTable Tablets?
>
> (2) I need to use range- and prefix- scan against the key in order to
> take advantage of these optimizations. How do I use them in the Java
> API? Is range-scan as simple as "WHERE key > :bottomRange and key
> < :topRange"? What about prefix-scan?
>
> (3) BigTable guarantees that entities are stored in order by RowKey.
> Its specifications also say that SSTables, once written, are
> immutable. In this case, what happens when the following sequence
> happens:
>     (i) an SSTable is written that contains rowkeys = 1,2,3,5;
>     (ii) I commit an entity with rowkey 4.
> Does the SSTable get deleted and recreated? Is guarantee 1 broken and
> my entity(key=4) written to a different SSTable? The answer to this
> effects how optimized this approach really is.
>
> thanks in advance for the advice you datastore ninjas you.
--~--~-~--~~~---~--~~
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] Running computationally intensive processes

2009-10-06 Thread Steven Harrington

Our app keeps running into trouble from the Engine; it calls a few
pretty intensive processes and we often end up with the app being
disabled. We've tried breaking up the app into atomic processes as
much as possible but it still is considerably complex.
Is there any way to increase the limits on cpu usage?
--~--~-~--~~~---~--~~
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: Running computationally intensive processes

2009-10-06 Thread Kevin

Do you know about the pay service google offers to increase the usage?
Or did you want a faster processor?


On Oct 6, 12:56 pm, Steven Harrington
 wrote:
> Our app keeps running into trouble from the Engine; it calls a few
> pretty intensive processes and we often end up with the app being
> disabled. We've tried breaking up the app into atomic processes as
> much as possible but it still is considerably complex.
> Is there any way to increase the limits on cpu usage?
--~--~-~--~~~---~--~~
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 as data relay for an Android application

2009-10-06 Thread Michael Bollmann

Is it allowed to use app engine as a relay to enable communication
between instances/users of an Android application?

--~--~-~--~~~---~--~~
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, Ubuntu Linux, remote programming

2009-10-06 Thread Timofey Danshin

Hi
I have a home server running Ubuntu Linux, which is, of course,
accessible
to all the machines at my place, and will be accessible via the
internet as
soon as i pay for the static ip.

My dream is to install Google App Engine Java on that server and to be
able
to write programs on it remotely (probably using ssh and emacs or
Eclipse,
if it is possible (in the local network at least)). However, I found
it
quite difficult to install it under Ubuntu in the first place.

And here are the questions that arose in this connection:

• Is it possible to install GAE under Ubuntu and where can i find the
relevant
instructions (i did try googling for that)

• Is it possible to run webapps on GAE on machines in the local
networks,
like, e.g. "http://myhomeserver.local:8080";?

• Is it possible to use Eclipse to edit the code of an application on
another
machine, in particular, is it possible to make the Google Plugin
create new
files and compile existing ones on another machine running a different
OS?
Or is it possible to make the Plugin interact with the GAE API on that
machine to that effect?

OR:

Is there a better way of doing all those things? :)

Thank you in advance.

--
Best Regards,
Timofey Danshin.

--~--~-~--~~~---~--~~
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] can i download the application from Google App Engine

2009-10-06 Thread 610

i have uploaded a application to Google App Engine.
now i want to download the application from Google App Engine.
how do i download the application?
thanks!

--~--~-~--~~~---~--~~
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: Child Objects and Relationships (JDO)

2009-10-06 Thread Juanchi

have your objects been detached already? detached objects cannot
access any "child" objects that havent been fetched by default,
consider them laziliy fetched (default fetchgroups usually contains
primitives + String parameters only). in order to retrieve other child
objects you must fetch them before detaching the object form
datatstore, so your choices are either:
* Modify the fecthgroup
* access the child object before detaching (any call should trigger a
fetch from DB).

hope this helps,

Juan

On Oct 5, 2:09 pm, Prashant  wrote:
> the inheritance problem???

--~--~-~--~~~---~--~~
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] java jsf

2009-10-06 Thread Victor

Friends, good afternoon,

need your help, I'm trying to create my first application on GAME,
using JAVA JSF, By following the tutorial,
http://submundojava.com.br/wordpress/2007/08/27/java-server-faces-12-
hello-world / and the recommendations of the link https: / /
sites.google.com/a/wildstartech.com/adventures-in-java/Java-Platform-
Enterprise-Edition/JavaServer-Faces/sun-javaserver-faces- reference-
implementation/configuring-jsf-20-to-run-on-the-google-appengine.

Yet when trying to stop my page \ faces \ index.jsp is shown me the
error:
HTTP ERROR: 500
jsp.error.beans.property.conversion
RequestURI = / faces / index.jsp

Caused by:
org.apache.jasper.JasperException:
jsp.error.beans.property.conversion
at
org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager
(JspRuntimeLibrary.java: 885)
at org.apache.jsp.index_jsp._jspx_meth_h_inputText_0 (index_jsp.java:
193)


You can help me?
I added the following jar to the lib folder of the web-inf: api1.1.jar
el-el-impl-1.1.jar, jsf-api.jar, jsf-impl.jar
the web-xml like this:

 http://java.sun.com/xml/ns/javaee";
xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance";

xsi: schemaLocation = "http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/webapp_2_5.xsd ">



 com.sun.faces.enableThreading 
 false 

When enabled, the default runtime initialization and ResourceHandler
implementation will use threads to perform their functions. Set this
value to false if threads are not desired (as in the case of running
within the Google Application Engine).

Note that when this option is disabled, the ResourceHandler will not
pick up new versions of resources when ProjectStage is development.



 javax.faces.PROJECT_STAGE 
 Production 



 javax.faces.STATE_SAVING_METHOD 
 client 



 com.sun.faces.expressionFactory 
 com.sun.el.ExpressionFactoryImpl 




   com.sun.faces.verifyObjects 

   true 





   com.sun.faces.validateXml 

   true 





   javax.faces.STATE_SAVING_METHOD 

   client 





 Faces Servlet 

javax.faces.webapp.FacesServlet HelloWorld 

 1 





 Faces Servlet 

 / faces / * 





 faces / index.jsp 









index.jsp

<%...@page contentType="text/html"%><%...@page pageEncoding="UTF-8"%>

<%...@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>

<%...@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>









Java Server Faces Tutorial








Nome:

















very tks
Victor

--~--~-~--~~~---~--~~
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: Optimizing BigTable queries for a timestamped class

2009-10-06 Thread Kevin Pierce
Brett Slatkin gave a fantastic talk on this type problem/solution.

http://code.google.com/events/io/sessions/BuildingScalableComplexApps.html

He suggests using a ListProperty and exploding the date into it, then a
range can be selected by using set membership.

Watching this video it is worth every minute.


On Tue, Oct 6, 2009 at 10:56 AM, Erem  wrote:

>
> Anyone? Is manipulating key structure to order them properly in
> BigTable a good idea? How to structure my queries to do prefix/range
> scans on those keys?
> Thanks!
>
> Erem
>
> On Oct 4, 12:57 pm, Erem  wrote:
> > 3 questions about optimizing BigTable datastore queries on a
> > timestamped class. I'm using JDO on the Java runtime.
> >
> > SOME CONTEXT
> > My class, Event, requires speedy scans on time windows. An Event's
> > timestamp is immutable.
> >
> > Given that (1) BigTable physically stores rows in lexicographic order
> > by rowkey, and (2) what I specify as PrimaryKey directly maps to
> > BigTable rowkey (after appending to appID, etc), I will set up my
> > PrimaryKeys to be lexicographically ordered in time followed by an
> > entity-unique ID.
> >
> > Some example keys, where entity is identified by its UTCDate+millis
> > +unique ID.
> > UTCDATE  ::TIME   ::UNIQUE ID
> > 2000-12-01::13:15:00.000::1 //Dec 01, 2000, at 1:15PM
> > 2001-12-01::13:15:00.000::2 //Dec 01, 2001, same time
> > 2002-12-01::13:15:00.000::3 //Dec 01, 2002, same time
> >
> > This key structure allows me to do useful, dense prefix- and range-
> > scans directly on the entities table. For example
> > (not syntactic GQL. See Question 2.)
> > WHERE key MATCHES '2000*'   //all events from the year 2000
> > WHERE key MATCHES '2000-12*'//all from month of December, 2000
> > WHERE key MATCHES '2000-12-01*' //all from Dec 01, 2000
> > WHERE key > '2000-12-01'//between Dec 1 and Christmas, 2000
> >   && key < '2000-12-25'
> >
> > 3 QUESTIONS IN ORDER OF PRAGMATIC TO OBSCURE
> > (1) Am I actually optimizing anything by doing this, or am I wasting
> > time? Should I expect this to be super-fast because it's performing a
> > dense read on 1 or 2 BigTable Tablets?
> >
> > (2) I need to use range- and prefix- scan against the key in order to
> > take advantage of these optimizations. How do I use them in the Java
> > API? Is range-scan as simple as "WHERE key > :bottomRange and key
> > < :topRange"? What about prefix-scan?
> >
> > (3) BigTable guarantees that entities are stored in order by RowKey.
> > Its specifications also say that SSTables, once written, are
> > immutable. In this case, what happens when the following sequence
> > happens:
> > (i) an SSTable is written that contains rowkeys = 1,2,3,5;
> > (ii) I commit an entity with rowkey 4.
> > Does the SSTable get deleted and recreated? Is guarantee 1 broken and
> > my entity(key=4) written to a different SSTable? The answer to this
> > effects how optimized this approach really is.
> >
> > thanks in advance for the advice you datastore ninjas you.
> >
>


-- 
Kevin Pierce
Software Architect
VendAsta Technologies Inc.
kpie...@vendasta.com
(306)955.5512 ext 103
www.vendasta.com

--~--~-~--~~~---~--~~
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] Opinions on my SSL workaround

2009-10-06 Thread Erem

I wanted your opinions on an SSL workaround I'm planning for my
medical app.

Let's say my medical app is www.mymedical.com.

The front-end is written in GWT and served from AppEngine via HTTP
from www.mymedical.com. It does not even use the datastore.

The back-end is a JSON data API at mymedical.appspot.com. It has all
the important stuff: db of users, their medical data, etc. It only
responds to HTTPS.

Question: How do we make secure requests for sensitive data without
the loss of branding that occurs when mymedical.appspot.com appears on
the address bar?

Answer: Serve all pages from www.mymedical.com, and have those pages
execute asynchronous API calls to mymedical.appspot.com. Retrieve
responses by having the server output JSONP (http://bob.pythonmac.org/
archives/2005/12/05/remote-json-jsonp/) rather than plain JSON.

Do any of you guys currently do this? How does it work for you?

Erem
--~--~-~--~~~---~--~~
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: Pagination with Ranking

2009-10-06 Thread Josh

Thanks Nick.

That library looks terrific.

However, I notice that it primarily uses:

from google.appengine.api import datastore

for accessing the appengine datastore, where as most of the
documentation at:
http://code.google.com/appengine/docs/python/datastore/

uses:
from google.appengine.ext import db

I'm having trouble finding good documentation on
google.appengine.api.datastore, can someone point me in the right
direction?

Thanks!
Josh


On Oct 5, 6:46 am, "Nick Johnson (Google)" 
wrote:
> Hi Josh,
> You might want to look into the 'ranklist' library. It'll allow you to keep
> a large (much larger than 1000) set of records in ranked order, and
> efficiently answer queries like 'what is the value of the 235th entry?' and
> 'where would a score of 500 place me?'.
>
> http://code.google.com/p/google-app-engine-ranklist/
>
> -Nick Johnson
>
>
>
>
>
> On Fri, Oct 2, 2009 at 10:40 PM, Josh  wrote:
>
> > Hi all,
>
> > I've seen a number of interesting discussions on how to do efficient
> > pagination on appengine, but one thing that I haven't seen addressed,
> > which I would like, is how to efficiently compute ranking information
> > for the items that are paginated.
>
> > Let me motivate this discussion by considering a leader board.  We
> > have a model like so:
>
> > class Player(db.Model):
> >  name = db.StringProperty()
> >  score = db.IntegerProperty()
> >  last_updated = db.DateTimeProperty(auto_now=True)
>
> > We may have hundreds of thousands of Players and we want to be able to
> > rank them by their score.
>
> > How could we used the previously discussed pagination techniques
> > (http://code.google.com/appengine/articles/paging.html) to efficiently
> > page through the leader board and not only show the Players in order
> > by score, but also assign a rank value to each player.
>
> > Many thanks for your thoughts and input.
>
> > Cheers,
> > Josh
>
> --
> 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-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: What are your top three issues in appengine?

2009-10-06 Thread niklasr

define 3in1 workui integrated vcs,edits and deployments
http://code.google.com/p/googleappengine/issues/detail?id=2136
internationalisation and localisation 
http://code.google.com/p/googleappengine/issues/detail?id=2134
3rd, use yaml for everything trivial
--~--~-~--~~~---~--~~
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-java] Re: XMPP and MessageBuilder.withFromJid()

2009-10-06 Thread Prashant
Hi,

XMPP api supports receiving messages on
*.*@appspot.combut throws
*Invalid jabber ID* error while sending message from the same.

Please fix/support this.

Thanks.

--~--~-~--~~~---~--~~
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: Pagination with Ranking

2009-10-06 Thread niklasr

count > 1000 split according to time or any, example improvable with
dynamical increment (make dependant dayinc)
def get(self):#sums > 1000
import time
from datetime import datetime, timedelta
inc = datetime.now ()-timedelta(days = 1000)
dayinc = 10 #ok while return < 1000 every 10 days
sum = 0
while(inc < datetime.now()):
  ads = Ad.all().filter("modified <", inc + timedelta(days =
dayinc)).filter("modified >", inc).count()
  inc = inc + timedelta (days = dayinc)
  sum=sum+ads
self.response.out.write(sum)

and sorting in pure python with one's own order always works or use
the pattern called "comparable",
--~--~-~--~~~---~--~~
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: can i download the application from Google App Engine

2009-10-06 Thread Wooble

You can't.  It's a webserver, not a revision control system.

On Oct 6, 6:53 am, 610  wrote:
> i have uploaded a application to Google App Engine.
> now i want to download the application from Google App Engine.
> how do i download the application?
> thanks!
--~--~-~--~~~---~--~~
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] Google app-engine hello world problem

2009-10-06 Thread TaiT OS

C:\Program Files\Google\google_appengine\google\appengine\tools
\appcfg.py:41: DeprecationWarning: the sha module is deprecated; use
the hashlib module instead
  import sha
C:\Program Files\Google\google_appengine\google\appengine\api
\datastore_file_stub.py:40: DeprecationWarning: the md5 module is
deprecated; use hashlib instead
  import md5
C:\Program Files\Google\google_appengine\google\appengine\api
\validation.py:64: DeprecationWarning: BaseException.message has been
deprecated as of Python 2.6
  self.message = message
C:\Program Files\Google\google_appengine\google\appengine\api
\validation.py:68: DeprecationWarning: BaseException.message has been
deprecated as of Python 2.6
  return str(self.message)
ERROR2009-10-06 17:21:28,313 dev_appserver_main.py:442] Fatal
error when loading application configuration:
Repeated items must be ,
but found 'url:/.* script:helloworld.py'.
  in "C:\Users\taitos\workspace\helloworld\src\app.yaml", line 8,
column 23



i use python,windows vista , eclipse


--~--~-~--~~~---~--~~
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: can i download the application from Google App Engine

2009-10-06 Thread Victor Sklyar

you cannot - it is "one way ticket"

use svn

2009/10/6 610 :
>
> i have uploaded a application to Google App Engine.
> now i want to download the application from Google App Engine.
> how do i download the application?
> thanks!
>
> >
>

--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread herbie

1) More efficient writing/reading to/from the datastore.  Currently
its too expensive in terms  api_cpu.
This would make GAE much more suited to dynamic apps that write/read
the datastore regularly.

2)Built-in Paging

3) SSL/HTTPS  support
--~--~-~--~~~---~--~~
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: Recently Built Indexes are Incomplete

2009-10-06 Thread Jeff S (Google)
Hi Scott,

Yes your transactional get fits the bill. Unfortunately it seems that the
differences in query results are not the result of partially applied jobs,
but it seems like these indexes need to be rebuilt. I can do this for you
and I'll keep you updated via email since this is isolated to your app.

Thank you,

Jeff

On Thu, Oct 1, 2009 at 4:38 PM, Scott  wrote:

>
> SELECT * FROM UserItem where user = 'scott' and lang = 'ja' and style
> = 'both' and part = 'rune' order by last desc
>
> I just checked this one, and I still only get 308 (counting from the
> data viewer in the dashboard). Some of these items had changes made to
> the values when I was using the site, so I assume the difference is
> those items that weren't previously in the index were added to it when
> their values were altered in the datastore.
>
> I could go through the table of useritems and put them, but that's an
> awful lot of entities. These few hundred are just mine and there are a
> lot of users with a lot more.
>
> When you say starting a new transaction on the entity, what do you
> mean exactly? I wasn't sure but I tried running the following code in
> the remote console.
>
> def getanything():
> ... ui = db.get(key)
> ...
> >>> db.run_in_transaction(getanything)
> >>> uis = models.UserItem.all().filter('user =','scott').filter('lang
> =','ja').filter('style =','both').filter('part
> =','rune').order('-last').fetch(1000)
> >>> len(uis)
> 308
>
> -Scott
>
>
> On Oct 1, 6:22 pm, "Jeff S (Google)"  wrote:
> > Hi Scott,
> >
> > Could you try these queries again and check the differences in the result
> > counts? I'm wondering if the issue was that the writes for the new
> entities
> > were partially applied to the indexes. The datastore backend sweeps for
> > partially applied jobs (also you can also trigger a roll-forward on the
> > index by starting a new transaction on the entity - even if it is just a
> > get). Instances of this are rare but it's the first thing that comes to
> > mind.
> >
> > Thank you,
> >
> > Jeff
> >
> > On Wed, Sep 30, 2009 at 3:30 PM, Jeff S (Google) 
> wrote:
> >
> > > Hi Scott,
> >
> > > Thank you for the report, we're investigating this now. I'll keep you
> > > posted.
> >
> > > -Jeff
> >
> > > On Wed, Sep 30, 2009 at 2:29 PM, Scott  wrote:
> >
> > >> I just recently built a few more indexes. They were built much faster
> > >> than before.
> >
> > >> But it seems like not everything that ought to be in the index is in
> > >> the index. Take for example this one:
> >
> > >> - kind: UserItem
> > >>  properties:
> > >>  - name: lang
> > >>  - name: part
> > >>  - name: style
> > >>  - name: user
> > >>  - name: last
> > >>direction: desc
> >
> > >> I just built that one to replace this one which was built a long time
> > >> ago:
> >
> > >> - kind: UserItem
> > >>  properties:
> > >>  - name: part
> > >>  - name: style
> > >>  - name: user
> > >>  - name: last
> > >>direction: desc
> >
> > >> Now if I want to look at my UserItems on the data viewer I put in this
> > >> query:
> >
> > >> SELECT * FROM UserItem where user = 'scott' and lang = 'ja' and style
> > >> = 'both' and part = 'rune' order by last desc
> >
> > >> But this ends up giving me 289 entities. If I use the old index:
> >
> > >> SELECT * FROM UserItem where user = 'scott' and style = 'both' and
> > >> part = 'rune' order by last desc
> >
> > >> Or I use no index:
> >
> > >> SELECT * FROM UserItem where user = 'scott' and style = 'both' and
> > >> part = 'rune'
> >
> > >> I get 478 entities. I checked over these and they all have 'last' and
> > >> 'lang' values so they should be in the index (and only three of them
> > >> have lang != 'ja'). I can't figure out any particular common theme
> > >> behind the items that aren't in the index that should be in the index.
> >
> > >> The same thing happened with indexes:
> >
> > >> - kind: UserItem
> > >>  properties:
> > >>  - name: lang
> > >>  - name: part
> > >>  - name: style
> > >>  - name: user
> > >>  - name: rtd
> >
> > >> - kind: UserItem
> > >>  properties:
> > >>  - name: lang
> > >>  - name: part
> > >>  - name: style
> > >>  - name: user
> > >>  - name: time
> > >>direction: desc
> >
> > >> All three of these indexes were built in the last three or four days.
> > >> The ones that do work were built early in August, I believe.
> >
> > >> Appengine ID: skrit
> >
> > >> Note: the numbers may vary as I continue to use the site. But those
> > >> are the numbers that I have now.
> >
> > >> - Scott
> >
>

--~--~-~--~~~---~--~~
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: Optimizing BigTable queries for a timestamped class

2009-10-06 Thread Erem

Thanks for the link, Kevin. Just watched it and it definitely informs
how I structure my data model.

The strength of Relation Indexes and Merge Join seem to be in the case
where you know an exact day/hour/second/etc that you're requesting,
but not as much for requesting a timespan. A question that's still
unanswered for me is how to maximize the efficiency of that timespan
query.

It still seems to me that if the entities are sorted chronologically
in BigTable you would be able to use a range-scan on the entity table
itself to grab them all in one go. But I don't know how to do that
range-scan!

On Oct 6, 10:08 am, Kevin Pierce  wrote:
> Brett Slatkin gave a fantastic talk on this type problem/solution.
>
> http://code.google.com/events/io/sessions/BuildingScalableComplexApps...
>
> He suggests using a ListProperty and exploding the date into it, then a
> range can be selected by using set membership.
>
> Watching this video it is worth every minute.
>
>
>
> On Tue, Oct 6, 2009 at 10:56 AM, Erem  wrote:
>
> > Anyone? Is manipulating key structure to order them properly in
> > BigTable a good idea? How to structure my queries to do prefix/range
> > scans on those keys?
> > Thanks!
>
> > Erem
>
> > On Oct 4, 12:57 pm, Erem  wrote:
> > > 3 questions about optimizing BigTable datastore queries on a
> > > timestamped class. I'm using JDO on the Java runtime.
>
> > > SOME CONTEXT
> > > My class, Event, requires speedy scans on time windows. An Event's
> > > timestamp is immutable.
>
> > > Given that (1) BigTable physically stores rows in lexicographic order
> > > by rowkey, and (2) what I specify as PrimaryKey directly maps to
> > > BigTable rowkey (after appending to appID, etc), I will set up my
> > > PrimaryKeys to be lexicographically ordered in time followed by an
> > > entity-unique ID.
>
> > > Some example keys, where entity is identified by its UTCDate+millis
> > > +unique ID.
> > > UTCDATE  ::TIME           ::UNIQUE ID
> > > 2000-12-01::13:15:00.000::1 //Dec 01, 2000, at 1:15PM
> > > 2001-12-01::13:15:00.000::2 //Dec 01, 2001, same time
> > > 2002-12-01::13:15:00.000::3 //Dec 01, 2002, same time
>
> > > This key structure allows me to do useful, dense prefix- and range-
> > > scans directly on the entities table. For example
> > > (not syntactic GQL. See Question 2.)
> > > WHERE key MATCHES '2000*'       //all events from the year 2000
> > > WHERE key MATCHES '2000-12*'    //all from month of December, 2000
> > > WHERE key MATCHES '2000-12-01*' //all from Dec 01, 2000
> > > WHERE key > '2000-12-01'    //between Dec 1 and Christmas, 2000
> > >       && key < '2000-12-25'
>
> > > 3 QUESTIONS IN ORDER OF PRAGMATIC TO OBSCURE
> > > (1) Am I actually optimizing anything by doing this, or am I wasting
> > > time? Should I expect this to be super-fast because it's performing a
> > > dense read on 1 or 2 BigTable Tablets?
>
> > > (2) I need to use range- and prefix- scan against the key in order to
> > > take advantage of these optimizations. How do I use them in the Java
> > > API? Is range-scan as simple as "WHERE key > :bottomRange and key
> > > < :topRange"? What about prefix-scan?
>
> > > (3) BigTable guarantees that entities are stored in order by RowKey.
> > > Its specifications also say that SSTables, once written, are
> > > immutable. In this case, what happens when the following sequence
> > > happens:
> > >     (i) an SSTable is written that contains rowkeys = 1,2,3,5;
> > >     (ii) I commit an entity with rowkey 4.
> > > Does the SSTable get deleted and recreated? Is guarantee 1 broken and
> > > my entity(key=4) written to a different SSTable? The answer to this
> > > effects how optimized this approach really is.
>
> > > thanks in advance for the advice you datastore ninjas you.
>
> --
> Kevin Pierce
> Software Architect
> VendAsta Technologies Inc.
> kpie...@vendasta.com
> (306)955.5512 ext 103www.vendasta.com
--~--~-~--~~~---~--~~
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: Google app-engine hello world problem

2009-10-06 Thread Wooble

For one thing, you should be using python 2.5; 2.6 doesn't work.

However, I suspect you have a problem in your app.yaml.

On Oct 6, 1:27 pm, TaiT OS  wrote:
> C:\Program Files\Google\google_appengine\google\appengine\tools
> \appcfg.py:41: DeprecationWarning: the sha module is deprecated; use
> the hashlib module instead
>   import sha
> C:\Program Files\Google\google_appengine\google\appengine\api
> \datastore_file_stub.py:40: DeprecationWarning: the md5 module is
> deprecated; use hashlib instead
>   import md5
> C:\Program Files\Google\google_appengine\google\appengine\api
> \validation.py:64: DeprecationWarning: BaseException.message has been
> deprecated as of Python 2.6
>   self.message = message
> C:\Program Files\Google\google_appengine\google\appengine\api
> \validation.py:68: DeprecationWarning: BaseException.message has been
> deprecated as of Python 2.6
>   return str(self.message)
> ERROR    2009-10-06 17:21:28,313 dev_appserver_main.py:442] Fatal
> error when loading application configuration:
> Repeated items must be ,
> but found 'url:/.* script:helloworld.py'.
>   in "C:\Users\taitos\workspace\helloworld\src\app.yaml", line 8,
> column 23
>
> i use python,windows vista , eclipse
--~--~-~--~~~---~--~~
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: Using transactions to avoid stale memcache entries.

2009-10-06 Thread Andy Freeman

Short version.

When, exactly, are apiproxy_errors.ApplicationErrors
with .application_error ==  datastore_pb.Error.CONCURRENT_TRANSACTION
raised.


--~--~-~--~~~---~--~~
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: Google app-engine hello world problem

2009-10-06 Thread TaiT OS
ok i will try python 2.5

--~--~-~--~~~---~--~~
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] Using transactions to avoid stale memcache entries.

2009-10-06 Thread Andy Freeman

# I'd like to use memcache to store db.Model instances but I'd like to
# guarantee that memcache entries do not stay stale for very long.  At
# the same time, I'd like to use long memcache timeouts, significantly
# longer than the staleness constraint.

# For the purposes of discussion, I've defined five models, T1-T5,
# with different implementations of upd(), the method that updates the
# datastore for a given instance, and latest, which is supposed to get
# the latest version of such an instance from either memcache or the
# datastore.

# I defined these models because they're useful in describing the
# problems that I've run into.  Each one comes with some questions
# about how transactions work.

# T1 and T3 do not satisfy my "not too stale" requirement due to race
# conditions which I describe in-line.  T2, T4, and T5 are my attempts
# to eliminate those races.

# Note - caching all db.get() results violates my "not very stale"
# requirement.  The discussion for T3 below shows why/how.

# I'm reasonably confident that T2 satisfies my "not too stale"
# requirement but it isn't as effective at keeping entries in memcache
# as T4 or T5.  However, I don't know if T4 satisfies that
# requirement.  If T4 doesn't satisfy that requirement, I don't know
# if it's possible to have something that both satisfies that
# requirement and is more effective than T2 without doing something
# like T5.

# As I discuss below, T5 may not work either and isn't applicable in
# many circumstances.

# FWIW, the specific data types in these examples are just to help me
# describe the issues.  Hacks which use characteristics of said data
# types to meet the requirement are cool and everything, but the data
# types that I care about are different, so 

from google.appengine.ext import db
from google.appengine.api import memcache

# Common code for T1-T4.
class TBase(db.Model):
num_updates = db.IntegerProperty(default=0)

@classmethod
def run_txn(cls, fn):
# This succeeds or a deadline error happens.  Let's ignore the
# latter.
return db.run_in_transaction_custom_retries(1 << 20, fn)

@classmethod
def memcache_key(cls, key):
return str(key)

@classmethod
def from_cache(cls, key):
return memcache.get(cls.memcache_key(key))

_memcache_key = property(lambda self: self.memcache_key(self.key
()))

def from_ds(self):
return self.get(self.key())

def cache(self):
# I assume that any previous entry is deleted if memcache.set
# fails.  If that's not true, uncomment the next line.
# self.flush()
memcache.set(self._memcache_key, self)

def flush(self):
memcache.delete(self._memcache_key)


# T1 doesn't work because there's a race in upd() after the
transaction.
class T1(TBase):
# Yes, self is stale after upd().
def upd(self):
def txn():
# and self may be stale before upd, so 
s = self.from_ds()
s.num_updates += 1
s.put()
return s
# Calls to cache() doesn't necessarily complete in the same
# order as calls to the corresponding put().
self.run_txn(txn).cache()

# Want instance with latest num_updates for key.
@classmethod
def latest(cls, key):
obj = cls.from_cache(key)
if not obj:
obj = cls.get(key)
return obj


# T2 works if consistency related exceptions only occur during
# datastore operations and continue to occur until a transaction
# succeeds.  In other words, T2 works if any transaction that
# completes its datastore put() is guaranteed to complete the cache()
# before any other instance completes its datatore put().

# However, T2 only writes newly updated entries into memcache.  Once
# entries expire, they're not cached again.

class T2(TBase):
# self is still stale after upd().
def upd(self):
def txn():
s = self.from_ds()
s.num_updates += 1
s.put()
# Are these calls to cache() guaranteed to occur in the
# same order as successful calls to put()?
s.cache()
self.run_txn(txn)

@classmethod
def latest(cls, key):
obj = cls.from_cache(key)
if not obj:
obj = cls.get(key)
return obj


# Suppose that T2 works, but we want to cache only those entries that
# are being actively read.  (Refreshing the cache from a datastore
# read also helps with entries that fall out of memcache for some
# reason.)  One way to satisfy that "want" is to memcache instances
# that were read from the datastore outside of upd().

# T3 is a naive attempt to implement that "want".  It doesn't work
# because there's a race between upd() and latest().

# We could use timeouts for the memcache write in latest() to limit
# the lifetime of potentially stale entries.  (This assumes that
# memcache timeouts actually work.)  However, the tighter the limit

[google-appengine] Re: Authenticating to application to access REST services

2009-10-06 Thread Jeff S (Google)
Hi Devraj,

Yes you can use ClientLogin (which sends the user's username and password
over SSL in exchange for an auth token) to obtain a cookie which is used by
App Engine's users API to determine the current user. I wrote a small open
source Python library to accomplish this (based on the gdata-python-client)
and I wrote up a description on my personal blog:

http://blog.jeffscudder.com/2009/08/test-client-for-app-engine.html

You could build a non-browser-based client library like this is just about
any language.

Happy coding,

Jeff

On Sun, Oct 4, 2009 at 10:15 PM, Devraj Mukherjee  wrote:

>
> Hi all,
>
> My AppEngine application (written in Python) provides a REST API that
> is used by a jQuery based web front end. Users are required to
> authenticate themselves to use my application and obviously I am able
> protect both my REST services and the UI parts setting login: required
> in app.yaml
>
> I wish to now write a consumer for my REST API to ship as a client
> library (preferred languages Python and/or Objective-C). How should I
> go about handling the authentication?
>
> Should authenticating using the GData libraries work?
>
> Thanks for any pointers.
>
> --
> "The secret impresses no-one, the trick you use it for is everything"
> - Alfred Borden (The Prestiege)
>
> >
>

--~--~-~--~~~---~--~~
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] Some people can't access to my app.

2009-10-06 Thread arbi

Hi,

I could not find any answer in the forum, if there is, tell me plz.
My app : http://www.comeego.com/
Some people can't access to it (around 30% of the people I guess), and
I don't know why. It is run by appengine.

The pb they have : "Cannot find http://www.comeego.com"; - DNS-error,
server cannot be found.
Is it due to Appengine or not at all ?
That's bad, thx if you can help.

Romain
--~--~-~--~~~---~--~~
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-java] Incoming email support

2009-10-06 Thread Jason (Google)
It should be available within the next couple of weeks.
- Jason

On Mon, Oct 5, 2009 at 7:03 PM, Prashant  wrote:

> And, when it is scheduled/expected to release?
>
> >
>

--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread Robert Kluin
1) _Efficient_ writing/reading to/from the datastore, it is _way_ too
expensive in terms api_cpu.

2) User login from multiple Google Apps domains, or actual deployment of an
app to multiple Google Apps domains so I do not need a separate app for each
client.

3) SSL/HTTPS Support on Google Apps domains


On Tue, Oct 6, 2009 at 2:17 PM, herbie <4whi...@o2.co.uk> wrote:

>
> 1) More efficient writing/reading to/from the datastore.  Currently
> its too expensive in terms  api_cpu.
> This would make GAE much more suited to dynamic apps that write/read
> the datastore regularly.
>
> 2)Built-in Paging
>
> 3) SSL/HTTPS  support
> >
>

--~--~-~--~~~---~--~~
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: TyphoonAE alpha released

2009-10-06 Thread Tobias

Hi Brian,

On Oct 5, 7:15 pm, bFlood  wrote:
> this is excellent work Tobias, thanks. this could certainly help with
> smaller sites that need to keep at least a single instance handler
> hot, have you tried it on EC2 yet?

Thanks :)

I've not yet tested it on EC2, but it's definitely on my schedule.
We're planning to release appliances for Xen and VMware.

Cheers,
Tobias
--~--~-~--~~~---~--~~
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-python] Re: [appengine-java] Re: XMPP and MessageBuilder.withFromJid()

2009-10-06 Thread Jason (Google)
Please file a new feature request.
http://code.google.com/p/googleappengine/issues/list

- Jason

On Tue, Oct 6, 2009 at 11:42 AM, Prashant  wrote:

> Hi,
>
> XMPP api supports receiving messages on *.*@appspot.combut 
> throws
> *Invalid jabber ID* error while sending message from the same.
>
> Please fix/support this.
>
> Thanks.
>
> >
>

--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread Peter Liu

1) More control over how Memcache evict entries. More information on
Memcache usage (how big, how many entries, how it scale with more
traffic). Allow us to purchase more memcache space/slots? Allow us to
run some code, call some url, or write data to datastore upon
eviction. Basically, anything that help reduce write to datastore.
Anything that make memcache as a write-behind cache.

2) Less expensive writes to datastore (api_cpu)
3) Better admin tools for managing data (for Java at least)

0) Making certain task able to run over 30 secs (this is probably on
top of everyone list but nobody say it because it most likely won't be
allowed)

On Oct 6, 2:04 am, Kenneth  wrote:
> I was looking at the issue list the other day.  There is a lot rubbish
> in there (support c#!) but what do people who are actively using app
> engine want fixed?  If you had to pick three issues what would they
> be?  Link to issues only, don't give a "why app engine sucks"
> rant.  :-)
>
> Here are my top three:
>
> 1) More granular accounting of how datastore space is 
> usedhttp://code.google.com/p/googleappengine/issues/detail?id=1396
>
> This one should be easy, the information is being pulled from
> somewhere already.  Right now storage usage is a total black hole.
>
> 2) SSL/HTTPS Support on Google Apps 
> domainshttp://code.google.com/p/googleappengine/issues/detail?id=792
>
> I know it's a hard problem, but it is really holding gae back.
>
> 3) SLAhttp://code.google.com/p/googleappengine/issues/detail?id=501
>
> Release it already, and give us a paid SLA, and a pony.
--~--~-~--~~~---~--~~
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: Some people can't access to my app.

2009-10-06 Thread Barry Hunter

www.comeego.com if powered by appengine, doesnt appear to be using the
proper DNS config.

http://www.google.com/support/a/bin/answer.py?hl=en&answer=47283



2009/10/6 arbi :
>
> Hi,
>
> I could not find any answer in the forum, if there is, tell me plz.
> My app : http://www.comeego.com/
> Some people can't access to it (around 30% of the people I guess), and
> I don't know why. It is run by appengine.
>
> The pb they have : "Cannot find http://www.comeego.com"; - DNS-error,
> server cannot be found.
> Is it due to Appengine or not at all ?
> That's bad, thx if you can help.
>
> Romain
> >
>



-- 
Barry

- www.nearby.org.uk - www.geograph.org.uk -

--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread PointBreak

1. XMPP and WebSockets
2. XMPP and Flash
3. XMPP and ways to connect to our bots from inside the browser.


On Oct 6, 5:04 am, Kenneth  wrote:
> I was looking at the issue list the other day.  There is a lot rubbish
> in there (support c#!) but what do people who are actively using app
> engine want fixed?  If you had to pick three issues what would they
> be?  Link to issues only, don't give a "why app engine sucks"
> rant.  :-)
>
> Here are my top three:
>
> 1) More granular accounting of how datastore space is 
> usedhttp://code.google.com/p/googleappengine/issues/detail?id=1396
>
> This one should be easy, the information is being pulled from
> somewhere already.  Right now storage usage is a total black hole.
>
> 2) SSL/HTTPS Support on Google Apps 
> domainshttp://code.google.com/p/googleappengine/issues/detail?id=792
>
> I know it's a hard problem, but it is really holding gae back.
>
> 3) SLAhttp://code.google.com/p/googleappengine/issues/detail?id=501
>
> Release it already, and give us a paid SLA, and a pony.
--~--~-~--~~~---~--~~
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] Generate cryptographically secure random number

2009-10-06 Thread Anh Hai Trinh

Python random uses the Mersenne Twister RNG, which is "completely
unsuitable for cryptographic purposes." [1]

AppEngine also includes pyCrypto.randpool, but it needs access to '/
dev/random' because "if it can't get entropy from the OS, it silently
produces predictable output." [2] (plus it will be deprecated)

So my question is, is it possible to generate cryptographically secure
random number in AppEngine?

Reference
=
[1] http://docs.python.org/library/random.html
[2] http://lists.dlitz.net/pipermail/pycrypto/2008q3/00.html
--~--~-~--~~~---~--~~
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: What are your top three issues in appengine?

2009-10-06 Thread johnP

1.  SSL for custom domains.
2.  Reliability.  What's disturbing is that the same application can
work reliably for a while, then it starts working unreliably - based
on changes Google makes on the server.
3.  A online backup methodology:  the ability for us to maintain
snapshots of our data, with the ability to roll back to the snapshots
as needed.



On Oct 6, 5:22 pm, PointBreak  wrote:
> 1. XMPP and WebSockets
> 2. XMPP and Flash
> 3. XMPP and ways to connect to our bots from inside the browser.
>
> On Oct 6, 5:04 am, Kenneth  wrote:
>
> > I was looking at the issue list the other day.  There is a lot rubbish
> > in there (support c#!) but what do people who are actively using app
> > engine want fixed?  If you had to pick three issues what would they
> > be?  Link to issues only, don't give a "why app engine sucks"
> > rant.  :-)
>
> > Here are my top three:
>
> > 1) More granular accounting of how datastore space is 
> > usedhttp://code.google.com/p/googleappengine/issues/detail?id=1396
>
> > This one should be easy, the information is being pulled from
> > somewhere already.  Right now storage usage is a total black hole.
>
> > 2) SSL/HTTPS Support on Google Apps 
> > domainshttp://code.google.com/p/googleappengine/issues/detail?id=792
>
> > I know it's a hard problem, but it is really holding gae back.
>
> > 3) SLAhttp://code.google.com/p/googleappengine/issues/detail?id=501
>
> > Release it already, and give us a paid SLA, and a pony.
--~--~-~--~~~---~--~~
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: Opinions on my SSL workaround

2009-10-06 Thread johnP

Google folks in the past mentioned this as the most likely way to
accomplish this task.  But it's a real bummer that we need to engage
in such hackery...  It's like buying a car - then having a lively
discussion on a forum - "I have a great idea how to stop it.  How
'bout you cut a hole in the floor, and this way, when you need to
stop, you can stick your foot on the ground and drag it to a stop..."
And then the consensus opinion is "This would work - as long as you
bought shoes with thick soles..."


On Oct 6, 10:14 am, Erem  wrote:
> I wanted your opinions on an SSL workaround I'm planning for my
> medical app.
>
> Let's say my medical app iswww.mymedical.com.
>
> The front-end is written in GWT and served from AppEngine via HTTP
> fromwww.mymedical.com. It does not even use the datastore.
>
> The back-end is a JSON data API at mymedical.appspot.com. It has all
> the important stuff: db of users, their medical data, etc. It only
> responds to HTTPS.
>
> Question: How do we make secure requests for sensitive data without
> the loss of branding that occurs when mymedical.appspot.com appears on
> the address bar?
>
> Answer: Serve all pages fromwww.mymedical.com, and have those pages
> execute asynchronous API calls to mymedical.appspot.com. Retrieve
> responses by having the server output JSONP (http://bob.pythonmac.org/
> archives/2005/12/05/remote-json-jsonp/) rather than plain JSON.
>
> Do any of you guys currently do this? How does it work for you?
>
> Erem
--~--~-~--~~~---~--~~
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: Generate cryptographically secure random number

2009-10-06 Thread Brandon N. Wirtz

Yep.  You can write anything you want in python.

Need a random number...   Try this... 
Perform a database transform 18 times, take the execution times of these,
find the min execution time, and Max execution time.

Assign the longest time to be 100% and the shortest to be 0%  the remaining
16 passes are then converted to 0 if they are closer to 0 and 1 if closer to
100

Construct a 16 bit number from the 0's and 1's

This method, assuming you pick a database or other operation that has an
expected time frame which is predictable, but follows a natural
distribution, will create truly random 16 bit numbers.

Depending on how many bit number you need you can increase the number of
numbers generated.

If you need a longer random number in low volume you can do a hash of the
most recent page added to digg.   

Construct a random number based on the difference in system time between
your server and the client making the request.


Suitability for cryptography is a stupid blanket statement:
If you need one 128 bit random number you could ask 128 people 1 or 0 and
have a suitable number.   But because of the way people work if you did that
1 million times you'd find that you don't get good distribution of 1s and
0s.

If instead you said give me a number between 1 and 100 and assigned even
numbers a 0 and odds a 1 you would get a more random number suitable for
100's of thousands of crypto keys.

If you instead took the temperature of 128 people and if the thermometer
said an even decimal assigned that a 0 and odd decimals a 1, you would have
a random number that would be suitable for millions of random numbers.

If you took the hash of a password some one gave you, you'd be good for a
few thousand random numbers but would find some passwords came up more than
statistically random should..

-Brandon Wirtz
Blackwaterops.com


-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appeng...@googlegroups.com] On Behalf Of Anh Hai Trinh
Sent: Tuesday, October 06, 2009 8:31 PM
To: Google App Engine
Subject: [google-appengine] Generate cryptographically secure random number


Python random uses the Mersenne Twister RNG, which is "completely
unsuitable for cryptographic purposes." [1]

AppEngine also includes pyCrypto.randpool, but it needs access to '/
dev/random' because "if it can't get entropy from the OS, it silently
produces predictable output." [2] (plus it will be deprecated)

So my question is, is it possible to generate cryptographically secure
random number in AppEngine?

Reference
=
[1] http://docs.python.org/library/random.html
[2] http://lists.dlitz.net/pipermail/pycrypto/2008q3/00.html



--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---