#appengine irc chat transcript 2011-06-15

311 views
Skip to first unread message

Chiguireitor

unread,
Jun 15, 2011, 3:32:19 PM6/15/11
to Google App Engine
[11:26:32] <Chiguireitor> guys, you tell me when i can fire the
barrage of questions :D
[11:26:50] <aa_> Chiguireitor: you make it sound so fun
[11:27:04] <Chiguireitor> lol
[11:29:49] <dunker> yes im ready !
[11:31:16] <+proppy_google> trying to get more people in :)
[11:31:21] <Chiguireitor> hehehe
[11:31:26] <dunker> wauw
[11:31:33] <dunker> the google invasion
[11:31:33] <jjg_google> brb - meeting
[11:31:34] <Chiguireitor> using the lash and the chari proppy?
[11:31:37] <dunker> haha
[11:31:45] <Chiguireitor> chari -> chair
[11:32:10] <aa_> wow, nice work proppy, I don't think I've ever seen
this many googlers
[11:32:20] <dunker> actually i dont have any questions
[11:32:30] <Chiguireitor> i have 3
[11:32:33] <Chiguireitor> :D
[11:32:38] <Chiguireitor> one is a stupid one btw
[11:32:39] <dunker> k cool
[11:32:45] <Chiguireitor> maybe you can solve it
[11:32:47] <Chiguireitor> :D
[11:32:56] <dunker> doubt ik ;]
[11:33:00] <dunker> it
[11:33:10] <Chiguireitor> heheheh
[11:33:30] <Chiguireitor> well... i'm even asking something about free
limits
[11:33:34] <Chiguireitor> so you can join me hahahaha
[11:33:34] <+proppy_google> wesc and gred said they will joined too
[11:33:47] <Chiguireitor> ok...
[11:34:03] <Chiguireitor> you just tell us when you're ready
[11:34:20] <kevlar_google> are you going to /exec cat ~/
gaequestions.txt or something? lol
[11:34:27] <dunker> haha
[11:34:28] <kevlar_google> s/exec/oexec/
[11:34:31] <Chiguireitor> roflol
[11:34:34] <dunker> would be cool ;]
[11:34:36] <kevlar_google> or whatever the command is.
[11:34:45] <Chiguireitor> could use dunker's bot
[11:34:49] <Chiguireitor> for irc chats
[11:34:52] <dunker> yeah
[11:34:52] <Chiguireitor> lol
[11:35:06] <kevlar_google> my bot idles on #go-nuts.
[11:35:17] <dunker> ah a go bot ;]
[11:35:23] <kevlar_google> of course!
[11:35:29] <kevlar_google> IRC bots are the first things I write in a
new language.
[11:35:35] <dunker> yeah
[11:35:38] <Chiguireitor> hahahaha
[11:35:46] <dunker> did the same thing and im still programming it lol
[11:35:53] <aa_> I always write a build system
[11:36:06] <aa_> irc is too fiddly a protocol
[11:36:06] <dunker> nice
[11:36:18] <kevlar_google> they teach you string processing,
networking, threading, file i/o, and of course all of the logic
surrounding the interactions
[11:36:21] <dunker> irc fiddly ? not really
[11:36:40] <kevlar_google> yeah, especially from the client side, it's
really straightforward
[11:36:40] <aa_> it's not the most pleasant thing
[11:36:42] <nullptr> aa_: itym FTP
[11:36:46] <dunker> yeah you get strings thats it
[11:37:30] <kevlar_google> you have a prefix, and you know it's there
because of the :, you search for a " :" and if it's there you have a
quoted argument, then you extract the rest by spaces and append the
quoted argument and voila.
[11:37:32] <dunker> but building bots to learn a area is a good
thing ..
[11:37:39] <dunker> did the same for GAE lol
[11:38:02] <dunker> thats doesnt sound easy kevlar ;]
[11:38:04] <nullptr> kevlar_google: do you guys run an internal irc
server?
[11:38:26] <dunker> ssssttt thats google internals
[11:38:32] <dunker> not to be talked about ;]
[11:38:35] <Chiguireitor> lol
[11:38:36] <kevlar_google> dunker, it's like, 2 lines of python, or
like 6 lines of go
[11:38:54] <dunker> mine irc string to event converter is like 15
lines or so
[11:39:00] <kevlar_google> (and like 650 characters / 10 lines of
java)
[11:39:05] <Chiguireitor> we run an openfire xmpp server here, and we
have it talking to gtalk lol
[11:39:06] <dunker> haha
[11:39:08] <dunker> nurd ;]
[11:39:12] <dunker> counting the chars
[11:39:14] <dunker> lol
[11:39:29] <dunker> my bot does xmpp as well ;]
[11:39:30] <sahid> Hello appengine team, since 14hours i can not to
send email from my app
[11:39:33] <dunker> also gtalk
[11:39:34] <kevlar_google> gtalk is nice, but I prefer IRC :)
[11:39:37] <Chiguireitor> lol
[11:39:42] <dunker> ah a real question
[11:39:52] <Chiguireitor> can we fire up questions already!?
[11:40:05] <dunker> if i want encrypted password protected chat then i
use xmpp
[11:40:07] <javamo> Hi guys, is ereporter tool working? It's not
working for me
[11:40:09] <kevlar_google> Chiguireitor, I haven't seen anyone from
Google step up to organize this party
[11:40:13] <dunker> lots of companies use xmpp internally
[11:40:19] <Chiguireitor> :(
[11:40:34] <+proppy_google> yes, we are still waiting for Greg or Wes
to join
[11:40:43] <dunker> so call them !
[11:40:45] <dunker> ;]
[11:40:47] <Chiguireitor> dunker: yeah, more secure and better to use
for internal communication on the go
[11:40:48] <Chris_Schalk> I wouldn't wait for wes for greg
[11:40:51] <dunker> waiting sucks ;]
[11:40:58] <dunker> Chiguireitor: true
[11:41:05] <dunker> i do xmpp on my mobile as well
[11:41:09] <sahid> i'm pretty sur that come from appengine
[11:41:18] <Chiguireitor> we here in the office have all androids
setup with our internal xmpp server
[11:41:20] <Chris_Schalk> sahid what is your appid? if you're ok to
disclose
[11:41:22] <h0x5f3759df> is it chat time with devs?
[11:41:27] <nullptr> !8b are we being ignored?
[11:41:27] <jsonbot> Better not tell you now.
[11:41:34] <Chiguireitor> roflol
[11:41:42] <sahid> Chris_Schalk, devel-inchallah
[11:41:48] <Chris_Schalk> ok thanks
[11:41:55] <dunker> oi sahid
[11:41:55] <Chiguireitor> !8b are wes and greg coming?
[11:41:56] <jsonbot> As I see it, yes.
[11:42:02] <Chiguireitor> !8b you sure?
[11:42:03] <jsonbot> You may rely on it.
[11:42:04] <dunker> havent heared or seen you for a long time
[11:42:11] <Chiguireitor> lol
[11:42:11] <dunker> !chan-silent
[11:42:12] <jsonbot> putting #appengine to silent mode
[11:42:15] <sahid> hello dunker
[11:42:23] <Chiguireitor> ahhh dunker.... :(
[11:42:29] <Chiguireitor> you silenced our little bot
[11:42:30] <dunker> hows going sahid still programming cool GAE
stuff ?
[11:42:33] <ozzyb> devel-in challah <--- tha t rocks lol!
[11:43:18] <dunker> Chiguireitor: its not bot playing time now .. time
for serious business !
[11:43:24] <Chiguireitor> hehehee :D
[11:43:36] <dunker> otherwise just /msg the bot ;]
[11:43:52] <Chiguireitor> btw dunker, have you seen the disparity of
the channel quotas between the docs and the dashboard?
[11:44:10] <+proppy_google> Chris_Schalk: let's go then :)
[11:44:15] <sahid> Chris_Schalk, it's a real problem, i don't have
update my app and i need email to validate member registraction
[11:44:16] <dunker> ok question 1 for the google team: "when are we
going to start office hour"
[11:44:24] <dunker> ah proppy_google kicked it off
[11:44:29] <Chiguireitor> cool
[11:44:52] <Chiguireitor> are we going to just fire up questions or
will it be federated by someone? say, proppy?
[11:44:54] <Chris_Schalk> sahid - I see a lot of deadline exceeded
exceptions for your inbox..
[11:45:05] <ozzyb> if __name__ == '__main__': start_already()
[11:45:14] <dunker> so maybe a question ... is the working of the
scheduler going to be open to see for everybody ?
[11:45:20] <nvictor> hey all
[11:45:24] <dunker> oi nvictor
[11:45:40] <sahid> Chris_Schalk, what does that mean?
[11:46:05] <nvictor> am i doing anything wrong? i subclassed a model,
re-implemented put() updated a field and called super(). but it's not
working
[11:46:09] <Chiguireitor> googlers, there's a huge difference between
the channel free quotas seen on the docs and the dashboard... what
quota is the correct?
[11:46:29] <Chiguireitor> dashboard says 46,310,400
[11:46:37] <Chiguireitor> docs 657,000
[11:46:49] <Chiguireitor> i don't have billing enabled (yet)
[11:46:50] <marce_google> The dashboard is correct
[11:46:53] <+proppy_google> Chiguireitor: I would say dashboard > doc
[11:46:56] <marce_google> Please file a docs bug
[11:46:59] <Chiguireitor> ok
[11:47:07] <+proppy_google> Chiguireitor: feel free to fill a doc bug,
with the doc is not correct
[11:47:13] <+proppy_google> ah marce_google got me ;)
[11:47:20] <Chiguireitor> hehehe
[11:47:41] <Chris_Schalk> sahid - it means you are possibly taking
longer than 30 seconds for this operation
[11:47:59] <Chris_Schalk> has it worked before?
[11:48:06] <Chiguireitor> ok, if i do a busy loop in a backend as fast
as i can, and it hammers memcache a lot, will i get punished? say,
with throttling or hit a memcach quota?
[11:48:07] <sahid> yes
[11:48:13] <sahid> Chris_Schalk, it's wierd...
[11:48:18] <+proppy_google> dunker: I'm not sure what you mean by the
"working of the scheduler", if you take a look at this year I/O
presentation by guido and haugh, they do share detail about how the
scheduler is working
[11:48:35] <+proppy_google> let me found the link
[11:48:55] <+proppy_google> dunker:
http://www.google.com/events/io/2011/sessions/scaling-app-engine-applications.html
[11:48:59] <dunker> proppy_google: the scheduler is going to be tuned
to the new billing scheme .. as it start instances too much right now
[11:49:19] <Chris_Schalk> sahid, yeah, something is taking too long
when you view your email inbox
[11:49:36] <dunker> since its so key to what bill ppl are going to get
i was wondering if its algoritms are going to be set in stone ;]
[11:49:36] <aa_> nvictor: that should work
[11:49:49] <nvictor> hi aa
[11:49:52] <sahid> Chris_Schalk, i send about 600 000emails per days
[11:49:55] <aa_> hi nvictor :)
[11:49:58] <nvictor> i am not sure what i'm doing wrong
[11:50:10] <nvictor> i need to add that the model is an Expando though
[11:50:20] <+proppy_google> dunker: I see no reason why they would
share the scaling formula like they did in this talk, but you should
ask Greg (coming in a few minutes) for confirmation
[11:50:23] <dunker> guess we will have to wait till the thing is
actually there
[11:50:32] <sahid> Chris_Schalk, since 14hours none was sent
[11:50:41] <dunker> yeah greg is the man i guess ;]
[11:50:53] <marce_google> We are planning on giving people nobs to
tune the scheduler
[11:50:54] <kevlar_google> someone highlight me if there's a go
question, I'm going to sift through mailing lists. :D
[11:50:55] <aa_> nvictor: apart from that I never trust super to work,
and I always explicitly call the superclass method, it should work
[11:51:02] <marce_google> basically it's a trade of between new
instances and latency
[11:51:05] <+proppy_google> proppy_google: I also heard in this talk
that they would potentially provide API to tune the formula
[11:51:12] <dunker> haha proppy_google ;]
[11:51:20] <nvictor> aa: ok will call the superclass
[11:51:21] <aa_> haha, proppy is excited :)
[11:51:21] <Chris_Schalk> sahid, the errors I see are when you view
your inbox - maybe unrelated?
[11:51:28] <+proppy_google> marce_google: you beat me again :)
[11:51:29] <dunker> reminder to self
[11:51:38] <Chris_Schalk> sahid, I would try a simple test
[11:52:01] <dunker> marce_google: are there going to be admin knobs to
tune that ?
[11:52:08] <sahid> Chris_Schalk, yes
[11:52:17] <sahid> Chris_Schalk, never mail are sent
[11:52:18] <dunker> like i say i prefer high latency over extra
instances
[11:52:22] <dunker> ah well
[11:52:26] <marce_google> yes. there will be admin nobs
[11:52:28] <Chris_Schalk> sahid, you also want to make sure that you
don't send too many at one time - http://code.google.com/appengine/docs/quotas.html#Mail
[11:52:33] <dunker> ok cool
[11:52:46] <Chiguireitor> does any connected googler cover backends?
[11:52:47] <marce_google> the basic idea is the fewer instances, the
more latency
[11:52:53] <ozzyb> +1 for admin nobs
[11:52:54] <dunker> yes
[11:52:54] <marce_google> but some applications may be ok with that
[11:53:12] <Chiguireitor> i would like to know if i do a busy loop in
a backend as fast as i can, and it hammers memcache a lot, will i get
punished? say, with throttling or hit a memcache quota?
[11:53:18] <sahid> Chris_Schalk, yes i send about 500/minutes
[11:53:21] <dunker> yeah guess the nature of the app determines what
you need
[11:53:36] <+proppy_google> how come the bot doesn't record +1 :)
[11:53:42] <Chiguireitor> dunker turned it off
[11:53:49] <Chiguireitor> bad dunker... bad bad dunker
[11:53:50] <dunker> !chan-enable
[11:53:54] <ozzyb> lol
[11:53:55] <dunker> !chan-loud
[11:53:56] <dunker> so
[11:53:57] <Chris_Schalk> sahid, then I assume billing is enabled
[11:53:57] <dunker> ;]
[11:54:00] <jsonbot> done - chan-loud
[11:54:03] <sahid> Chris_Schalk, last night i have sent 750 000emails
[11:54:04] <dunker> well
[11:54:10] <dunker> +1 doesnt work ++ does ;]
[11:54:16] <dunker> google++
[11:54:17] <jsonbot> karma - google: 1
[11:54:21] <Chiguireitor> dunker++
[11:54:22] <jsonbot> karma - dunker: 1
[11:54:24] <Chiguireitor> yay
[11:54:30] <sahid> Chris_Schalk, it's wierd, why 750 00
[11:54:45] <Chris_Schalk> sahid, so you successfully sent 750 last
night?
[11:54:46] <sahid> Chris_Schalk, Why just 750 00?
[11:54:50] <sahid> Chris_Schalk, Why just 750000?
[11:55:07] <Chris_Schalk> 750,000?
[11:55:09] <sahid> Chris_Schalk, and no 750 003
[11:55:13] <sahid> Chris_Schalk, and no 756 003
[11:55:26] <sahid> Chris_Schalk, is not a problem with a quota?
[11:55:59] <+proppy_google> Chiguireitor: I'm not sure about this
[11:56:14] <+proppy_google> it looks like currently the memcache quota
is unlimited
[11:56:23] <+proppy_google> (an least that how it shows up in the
dashboard)
[11:56:29] <Chris_Schalk> sahid, it seems like it could be a quota
problem
[11:56:37] <Chiguireitor> proppy_google: yeah... but i will be using
it for inter-instance/inter-backend communication
[11:56:52] <+proppy_google> maybe greg would know more
[11:56:57] <Chiguireitor> and i would prefer self-throttling than
hitting a hard limit
[11:57:01] <dunker> oi sudhirjonathan
[11:57:08] <+proppy_google> Chiguireitor: beware that the key could
vanish at any time
[11:57:18] <Chiguireitor> yeah... it is used almost instantly
[11:57:21] <Chris_Schalk> sahid, you're not sending spam are you?
[11:57:23] <+proppy_google> so I would use http or protorpc for inter
instance configuration
[11:57:38] <+proppy_google> s/configuration/communication/
[11:57:43] <Chiguireitor> even i put a 100ms memcache validity for
those keys
[11:57:51] <Chiguireitor> don't want to pollute my cache
[11:57:55] <sudhirjonathan> dunker, i'm here
[11:58:00] <dunker> you could check if the key is lost and use http
otherwise maybe
[11:58:05] <sahid> Chris_Schalk, all are registered user but i don't
know if my emails are bounced
[11:58:13] <dunker> good thing sudhirjonathan ;]
[11:58:26] <+proppy_google> yes, but still you could potentially lost
a message and doesn't know anything about it
[11:58:51] <sudhirjonathan> well, it's nice to feel wanted, but what
is the good thing?
[11:59:02] <Chiguireitor> well... i do an atomic increment of one
memcache parameter... if i see a difference, i can tell if i lost
messages
[11:59:07] <Chris_Schalk> sahid, you could always include your own
emails in your outbound messages
[11:59:09] <dunker> dunno
[11:59:14] <dunker> just saying hi
[11:59:17] <+proppy_google> dunker: yep, but the other end doesn't
necessarily know there was a message :)
[11:59:18] <sahid> Chris_Schalk, last night has about 10pm (in france)
all of my emails are not sent
[11:59:29] <sudhirjonathan> hello :D
[11:59:40] <dunker> well programming caches sucks
[11:59:46] <dunker> ;]
[12:00:02] <sahid> Chris_Schalk, i don't understand
[12:00:11] <Chiguireitor> yeah... it would be better to have a proper
message passing mechanism between isntances
[12:00:14] <Chiguireitor> instances
[12:00:17] <dunker> tried to implement instance memory cache once but
you need invalidation scheme to make it work
[12:00:23] <+proppy_google> Chiguireitor: oh so you are always using
the same cache line for communicating ?
[12:00:23] <dunker> which is hard todo
[12:00:30] <dunker> Chiguireitor: yes
[12:00:35] <sahid> Chris_Schalk, for example now i'm pay for emails
not sent
[12:00:35] <Chiguireitor> lemme pastebin that
[12:01:07] <Chris_Schalk> sahid, do you know for sure that emails were
not sent?
[12:01:18] <sahid> Chris_Schalk: Recipients Emailed $0.0001/ Email
14% 280,850 of 2,002,000
[12:01:24] <sahid> Chris_Schalk, but none was send
[12:01:38] <sudhirjonathan> dunker, I think i'm enough of an IRC noob
for this to actually put a smile on my face. Greetings to you too, and
to everyone here that I don't know but still feel a strong kinship
with.
[12:01:41] <+proppy_google> Chiguireitor: I think that's one of the
goal of protorpc that will be available in 1.5.1
[12:01:47] <Chiguireitor> hehehe
[12:01:52] <sahid> Chris_Schalk, yes ofcourse
[12:01:58] <Chiguireitor> didn't know there was work in that area :D
[12:01:59] <dunker> sudhirjonathan: ;]
[12:02:04] <ozzyb> sudhirjonathan: cheers!
[12:02:15] <dunker> ok i made up a new question
[12:02:18] <+proppy_google> Chiguireitor: check today release not of
the SDK pre-release !
[12:02:24] <+proppy_google> s/not/notes
[12:02:30] <dunker> "is proppy_google going to be the new ikai?"
[12:02:34] <Chris_Schalk> sahid, how are you sending your emails? via
taks queues?
[12:02:52] <+proppy_google> dunker: ikai is travelling right now,
that's why he is not there
[12:02:59] <dunker> ah yes ;]
[12:03:03] <sahid> Chris_Schalk, yes via task queues
[12:03:16] <+proppy_google> he is giving talks in Singapure :)
[12:03:20] <dunker> proppy_google: almost thought you've taken over ;]
[12:03:30] <Chiguireitor> where are the ProtoRPC docs?
[12:03:30] <sudhirjonathan> proppy_google: is the protorpc version
different from what in the trunk right now?
[12:03:40] <dunker> spreading the word huh
[12:03:59] <sudhirjonathan> Chiguireitor:
https://docs.google.com/document/d/1QJBVWnbtYoiTFHIyqcBdnv5u4C1zYvDzFFGBIun35Ro/view?ndplr=1
[12:04:11] <+proppy_google> see previous blog post there:
http://googleappengine.blogspot.com/2011/04/introducing-protorpc-for-writing-app.html
[12:04:23] <sudhirjonathan> I <3 protorpc
[12:04:29] <Chris_Schalk> sahid, my guess is that you are running into
quota issues - perhaps exceeding 5100 recipients per minute
[12:04:50] <+proppy_google> Chiguireitor: about messaging you could
also rely on pull queue
[12:05:08] <ozzyb> hmmm that protopc stuff looks interesting, must
read...
[12:05:14] <sudhirjonathan> proppy_google: The development server's
datastore implementation now contains logic that
[12:05:14] <sudhirjonathan> closely replicates the consistency
guarantees of the High Replication
[12:05:15] <sudhirjonathan> datastore - how does this work?
[12:05:21] <Chris_Schalk> sahid, you need to make sure your not above:
http://code.google.com/appengine/docs/quotas.html#Mail
[12:05:35] <tkon> I'm trying to apply Brett Slatkin's advice for
building scalable apps here http://www.google.com/events/io/2009/sessions/BuildingScalableComplexApps.html.
In it he has a social network with stringlistpropertys for everybody's
list of friends, and with it he can find mutual friends. Basically
I'm wondering if I can still use this strategy if I use TWO
stringlistpropertys comparing users likes and dislikes, and if it will
still scale to p
[12:05:59] <sudhirjonathan> ozzyb: Yeah, it's been hugely worth it for
me... very conducive to building a client independent webapp
[12:06:09] <sahid> Chris_Schalk, I don't see problem with my quota in
dashboard
[12:06:09] <+proppy_google> sudhirjonathan: feel free to ask your
questions more openly as I might not be the only one able to answer :)
[12:06:28] <sudhirjonathan> ah, okay... I don't see any other _googles
around, though.
[12:07:14] <Chiguireitor> http://pastebin.com/p65FzUCN
[12:07:15] <Chris_Schalk> sahid, but you can guarantee that you're
below the quota limits?
[12:07:22] <Chiguireitor> protorpc seems similar
[12:07:27] <Chiguireitor> but i'm already on GAE
[12:07:37] <Chiguireitor> no need to communicate with the outside
world
[12:08:31] <sudhirjonathan> And this delay will be entirely random?
[12:08:37] <Chiguireitor|2> sorry disconnected
[12:09:07] <sudhirjonathan> random within limits, anyway..
[12:09:14] <marce_google> yes, random within limits
[12:09:14] <sahid> Chris_Schalk, i'm pretty sure the problem comes
from you
[12:09:20] <gregd-google> Sorry I'm late to the party :)
[12:09:26] <dunker> ;]
[12:09:26] <Chiguireitor|2> hi greg
[12:09:32] <Chris_Schalk> sahid, that sounds personal :-)
[12:09:33] <sudhirjonathan> hello, greg
[12:09:35] <dunker> so the real questions can start ...
[12:09:39] <Chiguireitor|2> roflol
[12:09:50] <kevlar_google> wb gregd-google
[12:09:51] <gregd-google> oh, um, I think I'm in the wrong channel...
[12:09:53] <gregd-google> ;)
[12:09:58] <dunker> lol
[12:10:00] <+proppy_google> hi gregd-google !
[12:10:03] <sahid> Chris_Schalk, yes...
[12:10:08] <sudhirjonathan> is this the office hour or something?
[12:10:13] <Chiguireitor|2> greg.... earlier i was asking a question
[12:10:16] <Chiguireitor|2> sudhirjonathan: yep
[12:10:17] <+proppy_google> now unleash the billing question flow!
[12:10:21] <dunker> greg any idea on the ETA of the new billing ?
[12:10:25] <sudhirjonathan> lol
[12:10:25] <dunker> august ?
[12:10:27] <dunker> september ?
[12:10:31] <gregd-google> let the billing questions flow like wine!
[12:10:34] <Chiguireitor|2> i would like to know if i do a busy loop
in a backend as fast as i can, and it hammers memcache a lot, will i
get punished? say, with throttling or hit a memcache quota?
[12:10:37] <+proppy_google> sudhirjonathan: yes
[12:10:43] <+proppy_google> 20 minutes remaining
[12:11:06] <sudhirjonathan> the billing questions are actually tied in
tight with threading, in my head
[12:11:27] <dunker> yeah who i going to remove GIL from python lol
[12:11:28] <sahid> Chris_Schalk, where is Guido! i need help ;)
[12:11:32] <sudhirjonathan> can you guys confirm / deny that the new
billing will come into effect only after / with threads?
[12:11:50] <gregd-google> while we can't give an estimate when we will
leave preview (which is when the new pricing kicks in), we are trying
to get sample bills into 1.5.2 (1.5.1 is coming on next week)
[12:12:07] <dunker> ah yes nice
[12:12:08] <jrdesjardins> Google team, is it at all in your plans to
provide a way to administer the URL's that are automatically created
to point to previous versions an app
[12:12:10] <Chiguireitor|2> yay for 1.5.1
[12:12:16] <sudhirjonathan> btw, awesome work on 1.5.1
[12:12:18] <Chiguireitor|2> google++
[12:12:18] <dunker> sample bllings sounds like a good idea
[12:12:19] <jsonbot> karma - google: 2
[12:12:36] <dunker> man all the GAE programmers are so going to tune
their apps to this
[12:12:38] <jjg_google> google++
[12:12:39] <jsonbot> karma - google: 3
[12:12:48] <dunker> its like the early days all over again
[12:12:49] <+proppy_google> jrdesjardins: not that I know of, did you
fill a feature request ?
[12:12:50] <gregd-google> sudhirjonathan Glad you liked it!
[12:13:08] <jrdesjardins> nope, should I?
[12:13:11] <sudhirjonathan> yeah - channel presence, protorpc, country
headers = good stuff
[12:13:21] <+proppy_google> sure, if enough people star it it could
get some attention
[12:13:22] <gregd-google> We should be exposing the correct datastore
APIs in 1.5.1 as well so you can calculate what those will cost
[12:13:29] <Chris_Schalk> sahid, just to be clear - you were
successfully sending the same amount of emails before, well below
quota limits, but then suddenly you can't send emails (not a single
one)? and nothing else has changed?
[12:13:34] <taaz> marce_google: is there a way to force the sdk
eventual consistency behvaior to happen on demand for testing
purposes? hard to test app behavior if it's really always random.
would be nice to be able to shut it off too.
[12:13:45] <Chiguireitor|2> gregd-google: can you tell me if memcache
has a hard quota limit? i know it is "unlimited" in the dashboard, but
i suppose there's a hard limit
[12:13:47] <sudhirjonathan> how're you guys resolving countries
without adding latency though? (or is that a huge secret?)
[12:13:55] <gregd-google> I mean exposing the counts of them in the
admin console, the APIs are not changing
[12:14:15] <+proppy_google> jrdesjardins: one way to workaround this
issue is to delete previous version, as johnlockwood said earlier
[12:14:35] <+proppy_google> jrdesjardins: you could also overwrite
application version to provide a catch all handler, that redirect to
the correct version
[12:14:43] <marce_google> you will be able to turn SDK eventually
constincey on (and off) with a flag. But we want to replicate the
actual behavior so right now you can't tune how random it will be
[12:14:54] <sahid> Chris_Schalk, Yes, that is my problem since about
20hours now
[12:15:03] <schuppe_google> taaz: the SDK will give you the chance to
configure consistency behavior for testing
[12:15:07] <jrdesjardins> proppy: ya, i know, it's not my ideal
solution, but will have to do
[12:15:20] <jjg_google> schuppe++
[12:15:21] <jsonbot> karma - schuppe: 1
[12:15:25] <sudhirjonathan> Reg. administering version urls, it would
also help people (like me) writing different versions in python / go
for different kinds of tasks
[12:15:36] <Chris_Schalk> sahid, do you know that cause of your
deadline exceeded exception?
[12:15:53] <Chris_Schalk> sahid, (the) cause
[12:15:57] <tkon> is this the wrong time to ask questions about the
datastore? I'm not sure if I should repost my question. I was hoping
a googler could help me
[12:16:11] <Chiguireitor> :( also me :(
[12:16:12] <dunker> tkon: this is the time ;]
[12:16:21] <sudhirjonathan> tkon, if anyone knows the answer, they'll
help
[12:16:25] <jrdesjardins> btw, just cuz i've got the logs open in my
browser right now, could we have log time relative to our local in the
logger?
[12:16:26] <tkon> dunker: lol
[12:16:27] <gregd-google> Chiguireitor|2: I don't know the limit off
the top of my head, I believe it is 100M
[12:16:28] <+proppy_google> sudhirjonathan: you could already do that
don't you ?
[12:16:30] <Chris_Schalk> sahid, email system status appears ok
[12:16:40] <+proppy_google> sudhirjonathan: one version in python, and
one version in java
[12:16:45] <sahid> Chris_Schalk, I don't have deadline in my log
[12:17:05] <Chiguireitor> gregd-google: i'm asking because i'm doing
this http://pastebin.com/p65FzUCN (the receiving end is a backend
doing that non-stop)
[12:17:05] <marce_google> jrdesjardins - check the 1.5.1 release
notes :)
[12:17:07] <sudhirjonathan> proppy_google: Yeah, I can, but I'm
talking only from the POV of nicer urls, possibly public ones
[12:17:15] <marce_google> (for the pre release SDK)
[12:17:17] <+proppy_google> sudhirjonathan: version are strings
[12:17:22] <sahid> Chris_Schalk, in my panel all are ok, and emails
are sent
[12:17:27] <gregd-google> dunker: I wish I could say precisely when it
will be but we need to get a little closer to it to get more precise
in our estimate
[12:17:31] <+proppy_google> sudhirjonathan: so you could have
myniceurl.myapp.appspot.com :)
[12:17:33] <tkon> well googlers, here's my questions again ;) ...
[12:17:34] <jrdesjardins> marce_google Great!, thx
[12:17:35] <tkon> I'm trying to apply Brett Slatkin's advice for
building scalable apps here http://www.google.com/events/io/2009/sessions/BuildingScalableComplexApps.html.
In it he has a social network with stringlistpropertys for everybody's
list of friends, and with it he can find mutual friends. Basically
I'm wondering if I can still use this strategy if I use TWO
stringlistpropertys comparing users likes and dislikes, and if it will
still scale to p
[12:17:51] <dunker> gregd-google: its just curiosity
[12:18:00] <dunker> no need to know that right now ;]
[12:18:07] <sudhirjonathan> proppy_google: Ah, okay, I'm on google
apps, and want go-version.mysite.com and py-version.mysite.com
[12:18:42] <kevlar_google> (woohoo, go!)
[12:19:26] <sahid> Chris_Schalk, it's a chart of my users subscription
[12:19:27] <gregd-google> Chiguireitor: Ah, so you are looking for
total hard limit as well as how much data can be processed in a day?
[12:19:29] <Chris_Schalk> sahid, I see deadline exceeded exceptions. I
also see 'Exceeded soft process size' limit with....
[12:19:34] <johnlockwood> sudhirjonathan: cant you just make your
version string "go-version" and this will make the url "go-
version.appid.appspot.com
[12:19:59] <sudhirjonathan> johnlockwood: will I be able to point to
that directly from google apps, though?
[12:20:28] <sahid> Chris_Schalk, yes that's comes with the my admins
panel or if an user send a big imgae into the server...
[12:20:36] <johnlockwood> sudhirjonathan: I don't know about that
[12:20:44] <Chiguireitor> gregd-google: not so much data, because the
amount of data is very low
[12:21:07] <Chiguireitor> because i do an early test to not read much
data if the counter hasn't been incremented
[12:21:11] <Chiguireitor> but i read that counter a lot
[12:21:15] <Chiguireitor> for each backend instance
[12:21:20] <sudhirjonathan> johnlockwood: Yeah.. that's the prob. If
I'm giving it out publicly, I'd like my-app-go-version.myservice.com
[12:21:28] <Chiguireitor> btw, speaking of backend instances
[12:21:43] <gregd-google> Chiguireitor: yea, that's what it looks
like, I think the hard limit is just total data stored so you should
be fine from that perspective, I don't know if we have a hard limit
for the number of times you can read memcache in a day
[12:21:49] <sudhirjonathan> tkon, could you give us an example of a
query?
[12:21:55] <+proppy_google> sudhirjonathan: yes, you right I just
checked in the dashboard and it seems you could only map to the
default application url
[12:22:08] <+proppy_google> sudhirjonathan: so you would have to
create different application for now
[12:22:09] <sudhirjonathan> Yup :(
[12:22:19] <Chiguireitor> can i have #_OF_BACKENDS x
#_MAX_INSTANCES_PER_BACKEND instances running simultaneosly?
[12:22:34] <sudhirjonathan> proppy_google: Can I share datastores,
then :D ?
[12:22:39] <Chiguireitor> gregd-google: cool
[12:22:41] <Chris_Schalk> sahid, how big is your screenshot that you
are sending via email?
[12:22:46] <jjg_google> tkon: can you explain what you mean in a bit
more detail?
[12:22:57] <gregd-google> sudhirjonathan: this is a feature a few
people have asked about, and frankly we think it would be useful as
well
[12:23:12] <+proppy_google> sudhirjonathan: hehe, another way to do
it, it to do subdomain routing from the default version
[12:23:16] <jrdesjardins> proppy_google: Do you think Control over
version URL mapping is a good name for my feature request?
[12:23:24] <sahid> Chris_Schalk, it's my users subscribes before the
problem, i have remove the email validation http://i.imgur.com/dRaq5.png
[12:23:36] <sudhirjonathan> Yeah... will star it, then... know if
anyone has already created the feature request?
[12:23:56] <+proppy_google> jrdesjardins: yes, sounds nice
[12:24:12] <jrdesjardins> proppy_google: great thx
[12:24:15] <sudhirjonathan> jrdesjardins: yes... and link here too?
[12:24:18] <+proppy_google> jrdesjardins: don't worry if it doesn't
get immediate attention, sometimes bug takes long to surface
[12:24:23] <+proppy_google> since there is a lot of backlog
[12:24:40] <sudhirjonathan> can campaign for it, though.
[12:24:43] <gregd-google> Chiguireitor: you can have as many backends
running simultaneously up to the current limits (documented at the
bottom of this page: http://code.google.com/appengine/docs/python/backends/overview.html)
[12:24:46] <+proppy_google> sudhirjonathan: you could have your
application default version checking the hostname of the request
[12:24:52] <Chris_Schalk> sahid, I don't understand your last
statement
[12:24:59] <+proppy_google> sudhirjonathan: and redirecting to the
correct one
[12:25:05] <Chiguireitor> gregd-google: that means i can have 100
instances running simultaneously?
[12:25:28] <tkon> jjg_google: i'm not sure what more detail you want
than this: http://pastebin.com/iXFkEJ3s.... what would you like to
know?
[12:25:42] <tkon> sudhirjonathan: i'll write up a query right now..
[12:25:47] <jjg_google> tkon: sorry - didn't see that link. looking
now.
[12:25:52] <sudhirjonathan> proppy_google: hmm. really don't want to
go down that road... the point of having a separate go version was to
have the really fast response times... want to use it for loading
blocking javascript
[12:26:08] <+proppy_google> sudhirjonathan: since you can alias more
than one url to one app
[12:26:10] <+proppy_google> sudhirjonathan: it would works
[12:26:19] <gregd-google> Chiguireitor: yup! as long as they are
chunked into 5 backends
[12:26:26] <sahid> Chris_Schalk, sorry, To subscribe in my website,
users must validate their email.
[12:26:27] <Chiguireitor> cool
[12:26:48] <Chiguireitor> gregd-google: its just to know if my
implementation is "future-proof"
[12:27:06] <+proppy_google> tkon: about the datastore question I don't
have an answer on the top of my head
[12:27:13] <Chris_Schalk> sahid, ok, is that why you are sending the
image?
[12:27:30] <jjg_google> tkon: I *could* be wrong, this is not my area
of expertise, but I think that querying based on intersections of
lists might not be do-able.
[12:27:31] <+proppy_google> tkon: but I remember that there was some
interesting design pattern, in this year io talk about the datastore
[12:27:37] <+proppy_google> tkon: let me found you the link
[12:27:38] <sudhirjonathan> proppy_google: That would add the latency
of the python app (which is default) responding to and forwarding the
request. The point of writing Go for me is superfast responses
[12:27:43] <Chiguireitor> btw proppy_google, how's been the talks on
issue 5123?
[12:27:47] <sahid> Chris_Schalk, in this http://i.imgur.com/dRaq5.png
you can see the problem, my users can't validate their email because
they don't receive any email
[12:27:54] <gregd-google> Chiguireitor: totally understandable, I'd
expect over time those limits to go up, after all, that's the App
Engine way :)
[12:27:55] <sahid> Chris_Schalk, (sorry for my english)
[12:28:00] <jjg_google> tkon: one of the notes in that talk was about
how this only works when querying a single list, otherwise indexes
"explode"
[12:28:16] <+proppy_google> tkon: http://www.youtube.com/watch?v=xO015C3R6dw
[12:28:20] <Chiguireitor> gregd-google++
[12:28:22] <sahid> Chris_Schalk, when i have see the problem, i have
remove the email validation
[12:28:28] <Chiguireitor> wes!! welcome to the party!
[12:28:38] <+proppy_google> jjg_google: yes, I remember reading that
on some stackoverflow questions too
[12:28:38] <sahid> Chris_Schalk, but none emails was sent
[12:28:49] <Wesley_Google> hello! i just arrived in the Zurich
office :-) like... NOW
[12:28:49] <Chris_Schalk> sahid, no worries :-) ok I this image is
your own image of your email validation. I was actually asking if your
were sending an email attachment to your users in bulk and how big
that was.
[12:29:20] <sudhirjonathan> _googles: speaking of issues getting
noticed and starred, can we remove the issues that are definitely not
going to be done from the tracker?
[12:29:23] <Wesley_Google> Chiguireitor> did i reply back to you? i
can't remember any more. backends in dev?
[12:29:28] <+proppy_google> Chiguireitor: you could ask gregd-google I
think he mentionned it to the team
[12:29:29] <Chris_Schalk> sahid, so when you don't have email
validation, the emails send ok?
[12:29:31] <dunker> oi Wesley_Google
[12:29:32] <Chiguireitor> proppy_google: yes
[12:29:36] <Chiguireitor> Wesley_Google: yes
[12:29:40] <+proppy_google> Wesley_Google: is there !
[12:29:47] <Wesley_Google> sudhirjonathan> removing them will mean
people will open a new ticket :P
[12:29:53] <sudhirjonathan> huzzah! Wesley_Google!
[12:29:53] <Chiguireitor> lol
[12:30:23] <Chiguireitor> Wesley_Google: i'm currently running my dev
backends from the command line, they get killed properly there
[12:30:24] <Wesley_Google> hi everyone, sorry i am late. i just
traveling for the past 20 hours :P
[12:30:38] <Wesley_Google> Chiguireitor> sounds good
[12:30:57] <Chiguireitor> Wesley_Google: yeah... was thinking too
windows-like
[12:31:02] <+proppy_google> sudhirjonathan: there is a lot to do with
the issue tracker in general
[12:31:06] <sudhirjonathan> well, but python2.6 can go... we know 2.7
is coming. I don't think you guys will add C#. or PHP?
[12:31:19] <+proppy_google> sudhirjonathan: I would like to get the
community more involved but I'm not sure how
[12:31:19] <gregd-google> sudhirjonathan: I know this is a crappy
answer but you never know when something might eventually become a
priority and the tracker helps us understand if we should work on it
[12:31:21] <Chiguireitor> but it could be useful if that gets
corrected
[12:31:23] <ozzyb> sudhirjonathan: yeah, like the effing "PHP is a
must" crap :p
[12:31:25] <tkon> jjg_google: i was under the impression from Brett
Slatkin's talk that comparing against a stringlistproperty of friends
for mutual friend finding, worked because you'd have less than 5000
friends..... would my situation work if I limited my two
stringlistproperty's to 70 each, as 70 * 70 = 4900, and therefore
there couldn't be more than 5000 combinations of the two
[12:31:29] <sahid> Chris_Schalk, Sorry but i don't understand, just
none of my emails are sent since about 20hours i'm sur the problem
comes from you because i don't have update a new version of my
application
[12:31:45] <gregd-google> sudhirjonathan: so we don't delete things
that currently look like we wouldn't want to do them as things end up
changing
[12:31:52] <sahid> Chris_Schalk, and i see any error in my dashboard
about that
[12:31:58] <jjg_google> tkon: the issue is there is now way to filter
for one attribute based on another attribute in the same query (to my
knowledge)
[12:31:59] <Wesley_Google> never say never... if there is enough
demand but no promises!
[12:32:08] <Chris_Schalk> sahid, and has the content of these outbound
emails changed at all? or are they the same type of emails
[12:32:17] <Chiguireitor> gregd-google sudhirjonathan: php on GAE
gives me the creeps
[12:32:17] <+proppy_google> gregd-google: maybe we could add a
sometimemaybe label :)
[12:32:28] <Chiguireitor> proppy_google++
[12:32:30] <jsonbot> karma - proppy_google: 1
[12:32:30] <+proppy_google> Chiguireitor: it is already possible with
the java runtime @!
[12:32:37] <sudhirjonathan> gregd-google: The flipside is that the
issue tracker now becomes a feedback loop to itself
[12:32:43] <Chiguireitor> proppy_google: yeah, i know.... the horror
[12:32:50] <jjg_google> tkon: in the example query, the search is for
a bunch of known things. Find people who have "me" and "otherguy" in
their friends list, and also live in SF
[12:32:57] <gregd-google> Chiguireitor: lol, we should do it just to
get the communities talking to each other ;)
[12:33:02] <sudhirjonathan> only the popular ones will be seen, unless
people go looking specifically for stuff
[12:33:15] <sahid> Chris_Schalk, nothing has changed
[12:33:44] <jjg_google> tkon: in your query, the filter is based on
the query itself (find me people who have the same items in their
list).
[12:33:46] <Chris_Schalk> all, anyone else have issues with outbound
emails?
[12:33:54] <sudhirjonathan> proppy_google: yeah, that can actually be
marked as done, then. Just use the JVM.
[12:34:00] <Chiguireitor> if php gets official support, i expect the
latencies will get high because of the load
[12:34:02] <jjg_google> tkon: the right-hand-side of the ='s is not
known at query time
[12:34:09] <jjg_google> tkon: does that make sense?
[12:34:11] <Chiguireitor> and mostly for worthless forums with little
activities
[12:34:12] <Chiguireitor> lol
[12:34:25] <gregd-google> sudhirjonathan: I know it might not always
seem this way but we look at it often when we are deciding on
priorities for what to work on next, although it is only one input,
there are other things to consider, like not creeping out Chiguireitor
[12:34:35] <sudhirjonathan> :D
[12:34:39] <Chiguireitor> roflol
[12:35:06] <tkon> jjg_google: what about a query like this....
http://pastebin.com/TGsUvMpD ... it's not perfect as i was hoping to
find ANY matches of a like and dislike, but if i had to have the user
lock down.... "i'm looking for anyone who likes dogs but doesn't like
cats" that would be acceptable
[12:35:06] <gregd-google> :)
[12:35:09] <jjg_google> tkon: if you knew what to look for at query
time, this would work... that is: you can search for "give me a person
who dislikes dogs and likes cats".
[12:35:14] <Chiguireitor> gregd-google: you know what would be
nice.... sockets :D
[12:35:16] <sahid> Wesley_Google, i have a big problem with my sent
emails, you can investigate please?
[12:35:21] <sudhirjonathan> hmm. does anyone even read all the 2592
requests? looks too much like an overload.
[12:35:44] <+proppy_google> also feel free to report directly
important bug #nnn to team member lurking here
[12:35:50] <tkon> jjg_google: there yeah, that would be acceptable,
sort of
[12:35:52] <jjg_google> tkon: Exactly -- that seems fine. You'd have
to ask someone more knowledgeable about the indexing numbers
[12:36:05] <jjg_google> tkon: but that looks like a perfectly valid
query to me
[12:36:14] <+proppy_google> sound like a bit unfair and mafia-like,
but we can put it on the top of the pile to report to engs
[12:36:14] <tkon> jjg_google: where might i go to find such a person?
[12:36:35] <Chris_Schalk> sahid, we'll have a chat about your emails
[12:36:56] <Chiguireitor> sudhirjonathan: proppy reads them.....
eventually
[12:36:57] <Chiguireitor> lol
[12:37:05] <+proppy_google> sudhirjonathan: I'm tried to triage a few
of those each day
[12:37:06] <jjg_google> tkon: To be honest I'd post the question on
Stack Overflow -- nickjohnson seems to be the most knowledgeable
person I've met about all things AppEngine
[12:37:07] <gregd-google> Chiguireitor: yea, that would be wouldn't
it ;)
[12:37:14] <+proppy_google> but the back log is enourmous
[12:37:14] <Wesley_Google> yes sahid... what chris said :-)
[12:37:28] <gregd-google> sudhirjonathan: that's why starring actually
does help
[12:37:33] <sudhirjonathan> tkon: Yeah, SO sounds like a good
idea.. .link here too
[12:37:37] <+proppy_google> 730 New issues (not triaged)
[12:37:37] <+proppy_google> 1729 Acknowledges (read)
[12:37:37] <+proppy_google> 95 Accepted (internal bug filled)
[12:37:40] <+proppy_google> FYI
[12:37:54] <Chris_Schalk> sahid, we have your app id.. so we'll look
into it further
[12:38:00] <Chiguireitor> proppy_google++ for being a nice triager
[12:38:01] <jsonbot> karma - proppy_google: 2
[12:38:05] <+proppy_google> tkon: yes, there is already a few question
about datastore best practice on SO
[12:38:09] <sudhirjonathan> nice... will start starring, then
[12:38:17] <jrdesjardins> For thos that might be interested. Here is a
link towards the feature request I filed concerning "Control over
version URL mapping" http://code.google.com/p/googleappengine/issues/detail?id=5202
[12:38:28] <+proppy_google> I will graph those each weak
[12:38:31] <+proppy_google> and see if there is progress
[12:38:46] <gregd-google> sudhirjonathan: we try to read them all,
then once we are done, someone just creates a new one!
[12:38:49] <sahid> Chris_Schalk, Wesley_Google ok thank a lot
[12:38:54] <dunker> haha
[12:39:02] <+proppy_google> anyways nice chat all!
[12:39:03] <jrdesjardins> sry :-)
[12:39:26] <dunker> yeah we should do it more often !!
[12:39:29] <+proppy_google> if some of you are coming to europython in
2 weeks, there will be some of us there
[12:39:32] <dunker> haha
[12:39:33] <sudhirjonathan> gregd-google: Yeah, I'm surprised a fairly
small team can (or is trying) handle all the GAE developers in the
world.
[12:39:38] <dunker> so everyday a 6 CET ...
[12:39:41] <+proppy_google> Wesley_Google: aa_ : and me
[12:39:45] <tkon> jjg_google: also, i just want to be clear...i'm not
looking for find matches with my WHOLE lists with another person...
it's more like...if I like dogs pigs and squirrels, and dislike cats,
elephants and cows, find me the people that like ONE of the things I
don't, and dislikes ONE of the things I like
[12:39:59] <Chiguireitor> dunker: no dunker, you cannot ask about
billing everyday at 6 CET
[12:40:02] <Chiguireitor> lol
[12:40:05] <tkon> jjg_google: is that not possible either you dont'
think?
[12:40:07] <+proppy_google> dunker: I will be lurking there, so feel
free to ping me
[12:40:10] <dunker> hehe Chiguireitor ;]
[12:40:11] <colarte> hello, are there any #appengine irc logs posted
anywhere??
[12:40:14] <Chris_Schalk> sahid, no problem, we're already chatting
about it..
[12:40:15] <jjg_google> tkon:
[12:40:15] <gregd-google> sudhirjonathan: :) we try our best!
[12:40:17] <dunker> proppy_google: cool
[12:40:24] <gregd-google> I gotta run, good talking to you all
[12:40:27] <dunker> about time google got a liason in here ;]
[12:40:31] <Chiguireitor> bye!
[12:40:33] <dunker> ltrs gregd-google
[12:40:34] <+proppy_google> *_google: thanks a lot for being there
[12:40:35] <sudhirjonathan> jrdesjardins: starred
[12:40:37] <jjg_google> tkon: the issue is that you need to pull the
things you like out first and then issue a separate query to find
those other people
[12:41:05] <sudhirjonathan> thanks a got, _googles. And great work on
1.5.1. Looking forward.
[12:41:18] <jjg_google> tkon: so if you first say "here's the list of
things that I like and dont like"
[12:41:40] <+proppy_google> argggg, how to copy thing in ircloud
[12:42:05] <+proppy_google> can someone email the transcript to the
groups ?
[12:42:10] <jjg_google> tkon: and then issue a query, "find people
that like=thing1, like=thing2, dislike=thing1" -- that should be the
same as where like = thing1 or like = thing2 and dislike = thing3
[12:42:32] <+proppy_google> irccloud--
[12:42:33] <jsonbot> karma - irccloud: -1
[12:42:40] <ozzyb> haha
[12:42:48] <Chiguireitor> tkon: why don't you use a publisher-
subscriber pattern?
[12:42:51] <ozzyb> btw, thanks again googlers!
[12:43:17] <+proppy_google> Chiguireitor: got the full transcript ?
[12:43:48] <Chiguireitor> want me to do that?
[12:43:59] <Chiguireitor> or do i pm you?
[12:44:08] <+proppy_google> feel free to post it directly to the
groups
[12:44:25] <dunker> clever ;]
[12:44:25] <Chiguireitor> :)
[12:44:33] <jjg_google> proppy++ thanks for organizing
[12:44:33] <jsonbot> karma - proppy: 1
[12:44:40] <jjg_google> bye guys!
[12:44:44] <Chiguireitor> bye
[12:44:45] <dunker> ltrs jjg_google
[12:44:52] <Wesley_Google> thx everyone for coming!
[12:44:53] <+proppy_google> jjg_google++ for attending
[12:44:54] <jsonbot> karma - jjg_google: 1
[12:44:54] <Chiguireitor> yeah the party had some nice drinks

Ikai Lan (Google)

unread,
Jun 17, 2011, 10:09:07 AM6/17/11
to google-a...@googlegroups.com
I just read this. The other day I was looking at a Python vs PHP comparison, and it turns out 5.3 has added a lot of the missing features that I used to complain about all the time when I worked in PHP4/PHP5-land:


Not saying that I personally prefer PHP - I don't. As a general rule I prefer existing Python web frameworks to the ones available for PHP. 

Do you guys think that supporting a PHP runtime would actually be a "game changer"? 

As far as .NET goes - does anyone here have experience running a production web service on Mono? How did it go?

Pretty much just asking for the sake of asking; don't interpret this as us planning for these language runtimes.

Ikai Lan 
Developer Programs Engineer, Google App Engine

Noah McIlraith

unread,
Jun 17, 2011, 11:14:44 AM6/17/11
to google-a...@googlegroups.com
I think a lot of people blindly ask for PHP support because they think it would imply SQL (specifically MySQL) support and be compatible with existing PHP applications. So even if GAE gets PHP support, I think most of the PHP users would have a very bad experience due to the datastore.

Branko Vukelic

unread,
Jun 17, 2011, 11:56:05 AM6/17/11
to google-a...@googlegroups.com
On Fri, Jun 17, 2011 at 5:24 PM, Wilson MacGyver <wmac...@gmail.com> wrote:
> I don't think supporting php is a game changer.
>
> I have a feeling a lot of people that ask about php, wants to slap in
> wordpress, drupal, etc
> , run it on google app engine and forget about it.
>
> which due to datastore is not going to happen out of the box.

Yeah, but if PHP did make it onto GAE, I'm sure you'd see open-source
projects that would allow Wordpress and Drupal to run on GAE in a few
months. Isn't that the whole point?

Anyway, I've seen that it's possible (don't know how well or if it's
stable enough) to run PHP scripts in JVM.

http://php-java-bridge.sourceforge.net/pjb/
http://www.webdigi.co.uk/blog/2009/run-php-on-the-google-app-engine/


--
Branko Vukelić
bra...@herdhound.com

Lead Developer
Herd Hound (tm) - Travel that doesn't bite
www.herdhound.com

Wilson MacGyver

unread,
Jun 17, 2011, 11:24:00 AM6/17/11
to google-a...@googlegroups.com
I don't think supporting php is a game changer.

I have a feeling a lot of people that ask about php, wants to slap in
wordpress, drupal, etc
, run it on google app engine and forget about it.

which due to datastore is not going to happen out of the box.

> --
> 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-a...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

--
Omnem crede diem tibi diluxisse supremum.

Ross M Karchner

unread,
Jun 17, 2011, 12:06:08 PM6/17/11
to google-a...@googlegroups.com
Heck-- A key/value store is probably a better fit for Drupal than an RDBMS.


--
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-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.




--
Ross M Karchner


Wilson MacGyver

unread,
Jun 17, 2011, 12:07:23 PM6/17/11
to google-a...@googlegroups.com
my feeling is, given limited resource, I rather they improve what they currently
support instead of adding yet another language runtime and hope the
php community will
rally around it.

there is still plenty of things to do on the GAE-python and GAE-java
side. go was
just added as a new stack.

google has repetitively said the GAE team is small. I'd rather they
focus on what they
support currently.

On Fri, Jun 17, 2011 at 11:56 AM, Branko Vukelic <bg.b...@gmail.com> wrote:

David Mora

unread,
Jun 17, 2011, 4:03:50 PM6/17/11
to google-a...@googlegroups.com
So zend + right scale are playing with a PaaS already, and there's another that i forgot the name (or at least trying to).

I worked 5 years on massive PHP systems (+10 mill users, with oracle behind) as SA and from that i gather many things:
  • Hardware consumed tend to be 1.5 times more than other interpreted/compiled languages
  • PHP is not multithreaded (you can only fork) which makes the new GAE pricing structure a lot difficult
  • Naming combinations around the community makes it hard to actually serve PaaS APIs and documentation in a good way and easy to understand (e.g: the so pseudo called namespaces and lambda functions)
  • APC or any other solution around code caching is a must for scalability, but it takes a good chunk of server's memory and resources making it more expensive (for large scale systems)
  • relies a lot on PECL, so lots of low level extensions must be enabled and maintained across SDKs, which potentially would have a portability problem major than what django is right now for python
  • the most "enterprise" trusted web framework is Zend, known by it's footprint, meaning this a compact web framework must be plugged in.
and many more. Although i do love PHP, i would not pick it as a programming language of one of my solutions, it just requires many low level access to adjust it for a deployment

Ikai Lan (Google)

unread,
Jun 18, 2011, 12:47:43 AM6/18/11
to google-a...@googlegroups.com
Yikes. Those are great points, David. Thank you for that response. You're right; I didn't even think about the multithreading. This would make PHP prohibitively expensive. We're aware of the issues this causes for Python developers on 2.5, and that's why we've committed to getting multithreading for 2.7. This is already a rough job given the expertise we have in Python; I can't imagine the black magic we'd need to do to create a multithreaded PHP runtime.

My suspicions are the same about the Drupal developers. And yes, it is ironic, because something like Drupal works better in a schemaless datastore. The point about the open source community flocking to build tools is also taken.

No comments about Mono?


Ikai Lan 
Developer Programs Engineer, Google App Engine


P. Petrov

unread,
Jun 18, 2011, 2:01:59 PM6/18/11
to google-a...@googlegroups.com
Personally, I'd be much happier to see Node.js supported on GAE, than PHP. Being 100% asynchronous (reactor-type), it would be a great fit for the new per-instance pricing (despite being single-threaded).

Robert Kluin

unread,
Jun 18, 2011, 2:29:39 PM6/18/11
to google-a...@googlegroups.com

The last time I tried using mono to host a C#.Net app it was a bit rocky. I don't recall all of the specific issues anymore, but in the end we just bought some windows servers....

On Jun 18, 2011 12:48 AM, "Ikai Lan (Google)" <ika...@google.com> wrote:
> Yikes. Those are great points, David. Thank you for that response. You're
> right; I didn't even think about the multithreading. This would make PHP
> prohibitively expensive. We're aware of the issues this causes for Python
> developers on 2.5, and that's why we've committed to getting multithreading
> for 2.7. This is already a rough job given the expertise we have in Python;
> I can't imagine the black magic we'd need to do to create a multithreaded
> PHP runtime.
>
> My suspicions are the same about the Drupal developers. And yes, it is
> ironic, because something like Drupal works better in a schemaless
> datastore. The point about the open source community flocking to build tools
> is also taken.
>
> No comments about Mono?
>
>
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> Blog: http://googleappengine.blogspot.com
> Twitter: http://twitter.com/app_engine
> Reddit: http://www.reddit.com/r/appengine
>
>
>
> On Sat, Jun 18, 2011 at 4:03 AM, David Mora <dla....@gmail.com> wrote:
>
>> So zend + right scale are playing with a PaaS already, and there's another
>> that i forgot the name (or at least trying to).
>>
>> I worked 5 years on massive PHP systems (+10 mill users, with oracle
>> behind) as SA and from that i gather many things:
>>
>> - Hardware consumed tend to be 1.5 times more than other
>> interpreted/compiled languages
>> - PHP is not multithreaded (you can only fork) which makes the new GAE

>> pricing structure a lot difficult
>> - Naming combinations around the community makes it hard to actually

>> serve PaaS APIs and documentation in a good way and easy to understand (e.g:
>> the so pseudo called namespaces and lambda functions)
>> - APC or any other solution around code caching is a must for

>> scalability, but it takes a good chunk of server's memory and resources
>> making it more expensive (for large scale systems)
>> - relies a lot on PECL, so lots of low level extensions must be enabled

>> and maintained across SDKs, which potentially would have a portability
>> problem major than what django is right now for python
>> - the most "enterprise" trusted web framework is Zend, known by it's

JH

unread,
Jun 18, 2011, 3:11:01 PM6/18/11
to Google App Engine
These questions scare me. I'd hate to think that GAE's limited
resources would even consider implementing any more languages now.
I'd personally rather see some of the kinks worked out, along with
some new features for the existing languages. Just my 2 cents.

Ikai Lan (Google)

unread,
Jun 18, 2011, 10:07:24 PM6/18/11
to google-a...@googlegroups.com
... and I agree with you. But the approach we are taking towards the Python 2.7 runtime is something that could theoretically be genericized for other runtimes.

There are different levels of engagement with external developers we can have if there is enough interest. For instance, if a very solid group of developers was passionate about bringing a PHP runtime to App Engine and demonstrated:

a. A willingness to roll up their sleeves and slug through some of the hard work
b. The project was more than a throwaway project. That is - there is long term viability.

... we'd look at some of the various ways we could lower the communication barrier between their team and ours. Given our lack of PHP interpreter experience on our team, this would, for all practical purposes, be the only way for a real PHP runtime to exist on App Engine. We probably wouldn't maintain it, but we'd work closely with the folks that do.

I'm asking this question because there are some benefits to engaging with PHP/Mono experts early to see if this is something that is economically viable or even possible. The core of our engineering work will be on polishing the product and just really hardening what we have right now.

Ikai Lan 
Developer Programs Engineer, Google App Engine


Chiguireitor

unread,
Jun 18, 2011, 10:42:22 PM6/18/11
to google-a...@googlegroups.com
Could that happen with websockets Ikai? :-D

Maxim Lacrima

unread,
Jun 19, 2011, 2:47:29 AM6/19/11
to google-a...@googlegroups.com
On 18 June 2011 21:01, Peter Petrov <ones...@gmail.com> wrote:
Personally, I'd be much happier to see Node.js supported on GAE, than PHP.

+1. You don't have to worry about that tricky threading stuff, if you can just develop against event loop.

--
with regards,
Maxim

Ikai Lan (Google)

unread,
Jun 20, 2011, 12:18:31 AM6/20/11
to google-a...@googlegroups.com
FWIW I'm still a bit skeptical about node.js (cue the army of people riding the hype cycle coming down on me - but please describe to me JavaScript's memory model, for instance), but we *do* seem to have the right expertise here to build that out. Before this sort of thing gets prioritized, however, I'd like to see more usage of App Engine JS to validate the developer demand: http://www.appenginejs.org/. You can already run JS applications on GAE via Rhino, and with node.js, I'm not sure if the event loop gives you as many benefits running outside of GAE because everything you do is an RPC. For instance, you're not actually making the HTTP request from the runtime: you're making an RPC to an HTTP request service which makes the request for you. 

One thing you'll see in the Go runtime, for instance, is this need to retrieve an App Engine Context. The reason you don't have to explicitly do this in, say, Java, is because there are ThreadLocals we can use to stuff the context into. I'm not entirely sure how this would work in node.js. Eh, low level details.

Ikai Lan 
Developer Programs Engineer, Google App Engine


--

Wilson MacGyver

unread,
Jun 20, 2011, 12:29:15 AM6/20/11
to google-a...@googlegroups.com
Ah ha, thank you for explaining that, I was wondering why go needs to do that.

On Mon, Jun 20, 2011 at 12:18 AM, Ikai Lan (Google) <ika...@google.com> wrote:
> One thing you'll see in the Go runtime, for instance, is this need to
> retrieve an App Engine Context. The reason you don't have to explicitly do
> this in, say, Java, is because there are ThreadLocals we can use to stuff
> the context into. I'm not entirely sure how this would work in node.js. Eh,
> low level details.

Jay Young

unread,
Jun 20, 2011, 1:56:53 AM6/20/11
to google-a...@googlegroups.com
Sadly, AppEngineJS is a ghost these days.  It seems to have died around December and is a few releases back.  It is also based on a no-longer-supported webapp framework that was part of RingoJS (the CommonJS framework that runs on Rhino).

That said, I'm still using Ringo/Rhino on GAE, and it's pretty solid.  Interfacing with the Java runtime APIs is easy (actually, interfacing with anything Java is easy).  Loading requests take about 5 seconds to return, and subsequent requests are very quick.  The development pace on Rhino has actually picked up again in the last few months (they recently created a new Google Group and migrated their code to GitHub), and as part of Google's Summer of Code, there is a project being mentored by the lead developer of Ringo going on to upgrade Rhino to use Java 7's invokeDynamic to boost performance even more.  It seems like "V8 Envy" is lighting a fire under people these days.  :)

It would be really awesome, and probably much easier than creating a whole new runtime, if Google was truly interested in looking at new directions, to build a JS runtime on top of Ringo's CommonJS implementation (or even just Rhino).  I think that'd be a great way to meet Javascript developers half way, if they could set up all the plumbing and provide a webapp-like framework so that everyone using Rhino didn't have to do it themselves.

And if you really wanted to go the extra mile, get the Closure folks to tweak the library and compiler for server-side stuff.  ;)

Ikai Lan (Google)

unread,
Jun 20, 2011, 2:25:27 AM6/20/11
to google-a...@googlegroups.com
Thanks Jay! We really need to hear more from developers like you.

I won't repeat my comments re: PHP runtime, but if some developers would show that they were serious about maintaining a JS runtime, we would do what we can on our side to help out short of actually maintaining it. We'll try to keep the developers up to speed on new developments and upcoming features. Maintaining another SDK will take resources we currently don't have at the moment.

Ikai Lan 
Developer Programs Engineer, Google App Engine


--
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/-/naiM73IJdzgJ.

Jeff Schnitzer

unread,
Jun 20, 2011, 3:25:36 AM6/20/11
to google-a...@googlegroups.com
IMNSHO, the issue with a JS runtime for GAE is not the language but having a purely async API to all of GAE's services.  Node.js wouldn't work unless you can fire off hundreds of async requests and get callbacks... but right now, at least at the level of the documented API, you can only fire off 10 async requests and you can't get callbacks.  Is this just an arbitrary limit of API design or are there other architectural restrictions preventing a purely async appserver?

I think this async model would potentially be just as interesting in Javaland as it would be in Node.js.  Of course, the APIs would look very different - it would be a lot of work just designing them.

Jeff

Kevin Jackson

unread,
Jun 20, 2011, 1:37:03 AM6/20/11
to google-a...@googlegroups.com
Hi,

> ... and I agree with you. But the approach we are taking towards the Python
> 2.7 runtime is something that could theoretically be genericized for other
> runtimes.

That sounds interesting and I guess at a certain point it makes sense
to have a generic runtime rather than implementing a new runtime each
time.

> There are different levels of engagement with external developers we can
> have if there is enough interest. For instance, if a very solid group of
> developers was passionate about bringing a PHP runtime to App Engine and
> demonstrated:
> a. A willingness to roll up their sleeves and slug through some of the hard
> work
> b. The project was more than a throwaway project. That is - there is long
> term viability.
> ... we'd look at some of the various ways we could lower the communication
> barrier between their team and ours. Given our lack of PHP interpreter
> experience on our team, this would, for all practical purposes, be the only
> way for a real PHP runtime to exist on App Engine. We probably wouldn't
> maintain it, but we'd work closely with the folks that do.

What about other language support (Mono/.Net languages are mentioned),
if there is an interest in the community at large - is this a key
metric that is used to look at language support?

Personally I'd like to help out with the python runtime, but my
impression is that there is an extremely high barrier to entry
(probably rightly so) to getting involved here (compared with other
open source projects).

Thanks for the responses - interesting to hear what's coming (and soon
I can upgrade to python2.7)

Kev

David Mora

unread,
Jun 21, 2011, 2:31:24 AM6/21/11
to google-a...@googlegroups.com
My only experience with Mono is playing with Unity3D. What i gather from my labs is a big backlog of libraries to be ported from .NET FW. Most noticeable the Enterprise library (that you would obviously look for to reduce engineering efforts and provide SLAs). I would compare them as CentOS is to RedHat.

In terms of development MonoDevelop seems to be a really trustful IDE with a philosophy similar to eclipse (actually, really comfortable)

And the buzz-word around .NET is of course XNA (gaming framework)  http://code.google.com/p/monoxna/ . Although, i heard from our .NET team that Microsoft might drop it this year.

In terms of deployments and retainer accounts .... who knows? i have been open source since i wrote my first "hello world" 13 years ago :) ... all i know is something they call "Team Foundation" ;)

László Fazekas

unread,
Jun 21, 2011, 9:06:07 AM6/21/11
to google-a...@googlegroups.com
Partly true, partly not. Usage of ORM in PHP not common as in Java, but most of the PHP based system has a an abstraction layer upon the database, and if you change it, you can use your existing system on GAE. For example you can run Wordpress on AppEngine with Quercus with a relatively small pain (see http://wordpress-on-quercus.appspot.com/wordpress-2.7.1/ ).

If you develop a new application, you can use ORM which hides the real database implementation. For example LWorm ( http://code.google.com/p/lworm/ ) is really small and easy to use abstraction tool. If you use it, you can use your application in a standard LAMP environment with MySQL, or on AppEngine with Quercus without any pain.

Thirdly, it is possible to use memory mapped SQL databases (like HSQLDB) as a storage. In this case the db is stored in datastore as a blob. Not so efficient, but it can work with small databases. Bu, as I know, Google plans to support SQL on AppEngine (maybe only in the AppEngine for Business).

So, I think PHP on AppEngine is not an impossible or meaningless thing, and not wronger than Python on AppEngine. Quercus is existing thing, you can run PHP on AppEngine with it. It is GPL-ed. So, I think, the only think what Google should do is officially support it on AppEngine. Maybe it would be enough to change the sdk, and create a build script which makes a war which includes Quercus and the PHP code. It doesn't songs too difficult, so I don't understand why not supported PHP on AppEngine. (PHP support is one of the most needed feature on the issues list.)     

Ikai Lan (Google)

unread,
Jun 22, 2011, 11:30:57 PM6/22/11
to google-a...@googlegroups.com
The threading issue is a really good point about why a native PHP runtime won't work on App Engine. If you read the PHP discussion, you'll see why PHP developers do not want to use Quercus - perhaps you can convince them otherwise?

One last note: there is no more distinction between "App Engine" and "App Engine for Business" due to the pricing changes. Our plan is to release features that were originally intended for GAE4B only to be paid add-ons. 

Ikai Lan 
Developer Programs Engineer, Google App Engine


--
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/-/nvnn6N7lcfMJ.

László Fazekas

unread,
Jun 23, 2011, 1:53:22 AM6/23/11
to Google App Engine
Why the threading issue is a problem? You can run PHP in CGI mode in
single thread, or translate it to native code by hiphop
(https://github.com/facebook/hiphop-php/) to prevent the PHP engine
initialization overhead, and run the generated code on AppEngine (like
you run a Go generated native code). I don't know the deeper AppEngine
architecture, but it songs possible.

On jún. 23, 05:30, "Ikai Lan (Google)" <ika...@google.com> wrote:
> The threading issue is a really good point about why a native PHP runtime
> won't work on App Engine. If you read the PHP discussion, you'll see why PHP
> developers do not want to use Quercus - perhaps you can convince them
> otherwise?
>
> One last note: there is no more distinction between "App Engine" and "App
> Engine for Business" due to the pricing changes. Our plan is to release
> features that were originally intended for GAE4B only to be paid add-ons.
>
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> Blog:http://googleappengine.blogspot.com
> Twitter:http://twitter.com/app_engine
> Reddit:http://www.reddit.com/r/appengine
>
>
>
>
>
>
>
> On Tue, Jun 21, 2011 at 9:06 PM, László Fazekas <thebo...@gmail.com> wrote:
> > Partly true, partly not. Usage of ORM in PHP not common as in Java, but
> > most of the PHP based system has a an abstraction layer upon the database,
> > and if you change it, you can use your existing system on GAE. For example
> > you can run Wordpress on AppEngine with Quercus with a relatively small pain
> > (seehttp://wordpress-on-quercus.appspot.com/wordpress-2.7.1/).
>
> > If you develop a new application, you can use ORM which hides the real
> > database implementation. For example LWorm (
> >http://code.google.com/p/lworm/) is really small and easy to use

David Mora

unread,
Jun 23, 2011, 2:15:16 AM6/23/11
to google-a...@googlegroups.com
Resource-wise is really expensive to do single-threaded solutions, thats the major problem.

It is always possible, i don't see any reasons why you would not be able to run a full PHP environment on GAE since is not that far from what python requires - at the end you pick GAE as your platform for what it is (Their best practices, APIs, expertise ... - even the downtimes, heh - you know the drill of a PaaS) but the question comes down to the fact that at this point is not feasible and comparable in terms of resource consumption with pyton 2.7 and java and the cost to maintain it.

The performance upgrade you get from running hiphop (compiled version of PHP) is great - but still, if you notice GAE's pricing change they are built around instances consumption and you would want to get the most of every single instance you have available (multi-threading it for example)

I don't see either on the PHP roadmap bringing multi-threading to the table (maybe due to the fact of it's nature and the reason why it was created/evolved) so this is something that you would have to look really down in the layer and pretty much fork the project to change it (this is when the cost of maintain it comes)

2011/6/22 László Fazekas <theb...@gmail.com>

Brandon Wirtz

unread,
Jun 23, 2011, 3:23:59 AM6/23/11
to google-a...@googlegroups.com

Point Blank I will say what Google won’t.   A non-standard (doesn’t let you install libraries doesn’t include MySQL) PHP implementation will be an absolute B___ to support.  Every WordPress Plugin that doesn’t work will have 9B people complaining.  Why isn’t PHSpell not there? Why is Zen Framework not there? Why is EZSQL not there? Why doesn’t FOPEN work for URLs? Why doesn’t FWrite work on this file system?

 

-Brandon

Jeff Schnitzer

unread,
Jun 23, 2011, 4:22:21 AM6/23/11
to google-a...@googlegroups.com
...not to mention the fact that PHP tends to attract, well, let's generously call them "amateurs".  Read Facebook's forums sometime if you want to see what I mean.  It would be the end of this mailing list.

There's also an economic argument against PHP.  Google offers a free tier so that you can start out small and grow big.  If you don't grow big then Google looses money on you.  Millions of kiddies running their 3-user PHP forums could clog the system.  Java, Python, Ruby, & friends attract a more serious audience, if only because there is less "canned" software out there.

Jeff

László Fazekas

unread,
Jun 23, 2011, 7:20:25 AM6/23/11
to Google App Engine
I think not just all about running Wordpress, Drupal, etc. on Goole
AppEngine. PHP is a very known language, many developer likes it, easy
but powerful. So, I think only the support of the languge would be
enough for many php programmer to come to AppEngine. Yes, in first
times it would be pain, you should modify your Wordpress plugins,
Drupal won't work, etc. (it is also true for many Java frameworks (ex:
JBoss SEAM) or Python frameworks (ex: Plone)), but these PHP
developers would be happy to run their scripts on AppEngine. I think,
after a short time, there would be many GAE optimized framework, and a
more bigger user community thanks for the new PHP fans. So, I think,
this "existing stuffs won't work" argument is not true. For the begin
it would be enough to put a Quercus packager to the SDK. Ikai is
right, Quercus is not a full featured PHP, but better than nothing.
Google should say, OK, here is the most wanted PHP support, there are
some restrictions, you have to live with it. And I think people will
accept these restrictions and they will use it, and Quercues has a big
advantage, if you cannot do something in PHP (or the solution is not
enough efficient), you can develop a Java library for doing it.

So, I think it is not only about the PHP frameworks, it is about the
language itself.
> 2011/6/22 László Fazekas <thebo...@gmail.com>
> <mailto:google-appengine%2Bunsu...@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-a...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
>
> --http://about.me/david.mora

László Fazekas

unread,
Jun 23, 2011, 7:33:54 AM6/23/11
to Google App Engine
Many amateur uses also Java and Python. Writing JSP pages are not more
complicated than writing PHP pages. I think not PHP should be the "IQ
filter" :), the "entry level IQ test" is using AppEngine itself, deal
with the restrictions, optimize your code for it, etc. This is why
Quercus would be a working alternative. The "amateur" PHP developers
will drop AppEngine in the first time when they cannot use their
favorite PHP framework on it, and they will find a free PHP hosting
provider (you can find many). In along term only the professional PHP
developers will stay on AppEngine, who are running their own
frameworks, or who can extend the PHP with their own Java libraries
(if AppEngine supports the Quercus way).

On jún. 23, 10:22, Jeff Schnitzer <j...@infohazard.org> wrote:
> ...not to mention the fact that PHP tends to attract, well, let's generously
> call them "amateurs".  Read Facebook's forums sometime if you want to see
> what I mean.  It would be the end of this mailing list.
>
> There's also an economic argument against PHP.  Google offers a free tier so
> that you can start out small and grow big.  If you don't grow big then
> Google looses money on you.  Millions of kiddies running their 3-user PHP
> forums could clog the system.  Java, Python, Ruby, & friends attract a more
> serious audience, if only because there is less "canned" software out there.
>
> Jeff
>
>
>
>
>
>
>
> On Thu, Jun 23, 2011 at 12:23 AM, Brandon Wirtz <drak...@digerat.com> wrote:
> > Point Blank I will say what Google won’t.   A non-standard (doesn’t let you
> > install libraries doesn’t include MySQL) PHP implementation will be an
> > absolute B___ to support.  Every WordPress Plugin that doesn’t work will
> > have 9B people complaining.  Why isn’t PHSpell not there? Why is Zen
> > Framework not there? Why is EZSQL not there? Why doesn’t FOPEN work for
> > URLs? Why doesn’t FWrite work on this file system? ****
>
> > ** **
>
> > -Brandon****
>
> > ** **
>
> > *From:* google-a...@googlegroups.com [mailto:
> > google-a...@googlegroups.com] *On Behalf Of *David Mora
> > *Sent:* Wednesday, June 22, 2011 11:15 PM
> > *To:* google-a...@googlegroups.com
> > *Subject:* Re: [google-appengine] Re: #appengine irc chat transcript
> > 2011-06-15****
>
> > ** **
>
> > Resource-wise is really expensive to do single-threaded solutions, thats
> > the major problem.****
>
> > ** **
>
> > It is always possible, i don't see any reasons why you would not be able to
> > run a full PHP environment on GAE since is not that far from what python
> > requires - at the end you pick GAE as your platform for what it is (Their
> > best practices, APIs, expertise ... - even the downtimes, heh - you know the
> > drill of a PaaS) but the question comes down to the fact that at this point
> > is not feasible and comparable in terms of resource consumption with pyton
> > 2.7 and java and the cost to maintain it.****
>
> > ** **
>
> > The performance upgrade you get from running hiphop (compiled version of
> > PHP) is great - but still, if you notice GAE's pricing change they are built
> > around instances consumption and you would want to get the most of every
> > single instance you have available (multi-threading it for example)****
>
> > ** **
>
> > I don't see either on the PHP roadmap bringing multi-threading to the table
> > (maybe due to the fact of it's nature and the reason why it was
> > created/evolved) so this is something that you would have to look really
> > down in the layer and pretty much fork the project to change it (this is
> > when the cost of maintain it comes)****
>
> > ** **
>
> > 2011/6/22 László Fazekas <thebo...@gmail.com>****
>
> > Why the threading issue is a problem? You can run PHP in CGI mode in
> > single thread, or translate it to native code by hiphop
> > (https://github.com/facebook/hiphop-php/) to prevent the PHP engine
> > initialization overhead, and run the generated code on AppEngine (like
> > you run a Go generated native code). I don't know the deeper AppEngine
> > architecture, but it songs possible.****
>
> > On jún. 23, 05:30, "Ikai Lan (Google)" <ika...@google.com> wrote:
> > > The threading issue is a really good point about why a native PHP runtime
> > > won't work on App Engine. If you read the PHP discussion, you'll see why
> > PHP
> > > developers do not want to use Quercus - perhaps you can convince them
> > > otherwise?
>
> > > One last note: there is no more distinction between "App Engine" and "App
> > > Engine for Business" due to the pricing changes. Our plan is to release
> > > features that were originally intended for GAE4B only to be paid add-ons.
>
> > > Ikai Lan
> > > Developer Programs Engineer, Google App Engine
> > > Blog:http://googleappengine.blogspot.com
> > > Twitter:http://twitter.com/app_engine
> > > Reddit:http://www.reddit.com/r/appengine
>
> > >****
>
> > > On Tue, Jun 21, 2011 at 9:06 PM, László Fazekas <thebo...@gmail.com>
> > wrote:
> > > > Partly true, partly not. Usage of ORM in PHP not common as in Java, but
> > > > most of the PHP based system has a an abstraction layer upon the
> > database,
> > > > and if you change it, you can use your existing system on GAE. For
> > example
> > > > you can run Wordpress on AppEngine with Quercus with a relatively small
> > pain****
>
> > > > (seehttp://wordpress-on-quercus.appspot.com/wordpress-2.7.1/).****
> >http://groups.google.com/group/google-appengine?hl=en.****
>
> > --
> >http://about.me/david.mora****
>
> > --
> > 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-a...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengi...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.****

Jeff Schnitzer

unread,
Jun 23, 2011, 1:17:36 PM6/23/11
to google-a...@googlegroups.com
2011/6/23 László Fazekas <theb...@gmail.com>

(if AppEngine supports the Quercus way).


AFAIK, nothing prevents you from running Quercus on GAE today. 

Jeff

Brandon Wirtz

unread,
Jun 23, 2011, 3:06:09 PM6/23/11
to google-a...@googlegroups.com

Quercus runs, and there is a WP for Quercus.   I played with them when moving some of my php stuff to GAE before deciding I could port to a Python faster than debug issues.

--

Reply all
Reply to author
Forward
0 new messages