Hey guys, I've posted the chat transcript below. There are a few interesting NON App Engine discussions at the end.
We're going to move towards themed office hours once a month and office hours 2 weeks after each release. Stay tuned for announcements. ------------ [09:01am] ikai_google: alright everyone, we've got an office hours session scheduled for today [09:01am] ikai_google: I'm kicking it off now [09:01am] ikai_google: nick johnson will be joining us in a few [09:01am] ikai_google: his mac GSOD'd [09:01am] ikai_google: (grey screen of death) [09:01am] mbw: hi ikai_google. have a good trip back? [09:01am] ikai_google: I'm in seattle [09:01am] ikai_google: (with nick) [09:01am] ikai_google: and wesley, but he is sick [09:02am] brdma: I changed mine to Green in celebration of St. Pattie's day. [09:02am] andialbrecht_ is now known as andialbrecht. [09:03am] nickjohnson: Good morning all [09:03am] Wooble`: question: what's https://appengine.google.com/_ah/loginform and how can I get Datastore Admin to stop giving me errors about it not being available? [09:03am] CEnnis91|Sleep is now known as CEnnis91. [09:03am] nickjohnson: Coming to you from over our breakfast cereal, it's..... the App Engine office hours! [09:04am] Vidma: hi [09:04am] mbw: hi nickjohnson [09:04am] brdma: A monologue is now required after an introduction like that. [09:04am] moraes: what is the primary concern for disallowing hosting porn? it is just a) pr-related or b) having the ip blacklisted or c) getting the server shut-down for illegal stuff? or those all? [09:04am] moraes: i'll ask hot questions today [09:04am] nickjohnson: brdma: I was planning on running it like a talk radio show, actually. [09:05am] ikai_google: I believe loginform is a new implementation of login, not sure about datastore admin [09:05am] brdma: moraes is digging his heels in early! [09:05am] Wooble`: you guys need a call-in podcast. [09:05am] ikai_google: heh ... Wooble that is kind of a neat idea [09:05am] wi43: +1 podcast [09:05am] Vidma: I am using GAE FOR Java [09:05am] ikai_google: moraes: we're not equipped to answer that question. You'll have to email [email protected] [09:05am] moraes: ikai_google, ok :) [09:05am] nickjohnson: moraes: There's legal and compliance issues with hosting porn [09:05am] Vidma: how can I configure a BLOB to store 10 MB file size [09:05am] Wooble`: ikai_google: it's only affecting one of my apps, but the others are all completely blank on the Datastore Admin tab [09:06am] ikai_google: Vidma: read this [09:06am] ikai_google: http://code.google.com/appengine/docs/java/blobstore/ [09:06am] ikai_google: Wooble: do you have special auth options on that app? [09:06am] ristoh: can I use appengine for hosting my customers custom domains? i.e. each customer running from the same appengine appid but seen as their own domain? [09:06am] ikai_google: ristoh: yes [09:07am] Wooble`: ikai_google: no, but if I switch it to federated login I get a blank page instead of an error message. :/ [09:07am] nickjohnson: ristoh: Yes. Check out the Apps Marketplace for an easy way to do this, too [09:08am] Wooble`: actually, all of the ones displaying blank are set to federated login. [09:09am] ristoh: I'm building a service with similar custom domain concept as bit.ly, ( kind of self service registration for custom domains ) [09:09am] nickjohnson: Wooble`: Are your users getting error messages, or do you just see 404s showing up in the logs? [09:10am] loripdos joined the chat room. [09:10am] Vidma: Do you have any recommendation on how to run a weekly archive of our datastore? [09:10am] proppy: Vidma: do you want to restrict the maximum size of a blob ? [09:10am] ristoh: nickjohnson: is there a specific feature in Apps Marketplace that I should look at, or just in general check what's available? [09:10am] Wooble`: nickjohnson: I'm only seeing it on the datastore admin dashboard page. no application errors I'm aware of. [09:10am] nickjohnson: ristoh: Apps Marketplace itself is the feature - it allows users to deploy your app to their domain easily [09:10am] Vidma: no ..default seems to 2MB ..max allowed seems to be 10MB [09:10am] Vidma: I want to bump it to max of 10 MB [09:10am] ikai_google: Vidma: bulkloader. Check the issues tracker for incremental download. it's a feature request [09:11am] Vidma: thx [09:11am] Wooble`: ah, _ah/login_required is 404ing when I turn on federated login. [09:11am] Vidma: can you send link to issue tracker please [09:12am] ikai_google: Vidma: http://code.google.com/p/googleappengine/issues/list [09:12am] ikai_google: Vidma: it sounds like you should go through the documentation [09:12am] proppy: Vidma: you mean blob in datastore, or blobstore ? [09:12am] ikai_google: BTW proppy is a Googler [09:12am] ikai_google: =) [09:12am] ikai_google: Johan, a new member of our team [09:12am] Vidma: blob in datastore [09:13am] nickjohnson: Wooble`: Can you check the logs to see where the 404s are coming from? [09:13am] swmc left the chat room. (Ping timeout: 255 seconds) [09:13am] nickjohnson: Wooble`: login_required is a page you're supposed to provide yourself. [09:13am] proppy: Vidma: check http://code.google.com/appengine/docs/python/blobstore/overview.html#Quotas_and_Limits [09:13am] nickjohnson: Everyone voiced is a Googler. [09:13am] Wooble`: nickjohnson: /_ah/login_required?continue= https://6-dot-latest-dot-fnordflick.appspot.com/_ah/datastore_admin/?app_id=fnordflick404 [09:13am] nickjohnson: Vidma: You can't store more than 1MB in a datastore blob. You should use the blobstore. [09:14am] Vidma: thx [09:14am] nickjohnson: Wooble`: http://code.google.com/appengine/docs/python/users/overview.html#User_Authentication_in_Python [09:14am] Wooble`: with google accounts API, I just get a 302 response, and a big ugly error abount The webpage at https://appengine.google.com/_ah/loginform?state=AJKiYc<long string of junk> not being available [09:14am] ristoh: nickjohnson: In my case it'd be single app ( written by me ) and just customers registering their own custom domains to view their customized front end [09:14am] brdma: Wooble, that is quite an app id :D [09:14am] nickjohnson: Wooble`: "If your app uses OpenID and the user must sign in, your app will be redirected to the URL /_ah/login_required. You must create a page that lets the user sign in using an OpenID identifier." [09:14am] nickjohnson: Wooble`: A 302 response from what, when doing what? [09:15am] nickjohnson: ristoh: That's exactly how the Apps Marketplace works. [09:15am] Wooble`: /_ah/datastore_admin/?app_id=fnordflick 302 when trying to access Datasotre Admin. [09:16am] nickjohnson: Wooble`: To clarify, when you try to access that page, it sends a redirect to /_ah/loginform, which 404s? [09:16am] Wooble`: it's not even a 404; Chrome throws up a message about Error 337 (net::ERR_SPDY_PROTOCOL_ERROR): Unknown error. [09:17am] nickjohnson: Wooble`: Can you try it in another browser? [09:18am] Wooble`: firefox seems to hate me at the moment :/ trying in IE. [09:18am] ikai_google: Wooble, are you on a nightly build? [09:18am] ikai_google: http://blog.chromium.org/2009/11/2x-faster-web.html [09:18am] ikai_google: SPDY is an experimental protocol, but I had been under the impression it was only being used in nightly builds ... [09:18am] jerjou joined the chat room. [09:19am] Wooble`: ikai_google: dev channel, so maybe? [09:19am] ikai_google: http://groups.google.com/group/spdy-dev/browse_thread/thread/4c2396ecbc36b1c4 [09:19am] brdma: How'd IE work for you>? [09:20am] Wooble`: IE just gives a "diagnose connection problems" option in the iframe. [09:20am] nickjohnson: Wooble`: Can you use the Chrome dev tools to get a trace of the HTTP requests involved? [09:20am] swmc joined the chat room. [09:22am] gqlewis left the chat room. (Ping timeout: 255 seconds) [09:23am] Vidma: any suggestion on how to handle schema/object upgrade across versions...changing field from string to int [09:23am] ovnicraft joined the chat room. [09:24am] nickjohnson: Vidma: Does it have to be across versions? The best option would be to upload a version that understands either, but writes as an int. [09:24am] nickjohnson: Then, run a mapreduce across that to convert them all to ints [09:25am] proppy: http://code.google.com/p/appengine-mapreduce/ [09:25am] Vidma: thxx [09:27am] jerjou left the chat room. (Quit: jerjou) [09:28am] Wooble`: nickjohnson: it looks like https://www.google.com/accounts/ServiceLogin? redirects to myapp/_ah/conflogin which redirects to https://appengine.google.com/_ah/loginform which doesn't load at all. [09:29am] nickjohnson: Wooble`: Can you paste a complete trace, please? [09:29am] Vidma: want to improve performance..tried adding some indexes in datastore-indexes-auto.xml how do I measure if it is really helping and further enhance it? [09:30am] nickjohnson: Vidma: All queries except merge join queries require indexes. The only case adding indexes will help performance is with queries that were using merge join. [09:30am] nickjohnson: Everywhere else it will hurt performance, since indexes require updating [09:30am] nickjohnson: You can use appstats to determine where the bottlenecks in your app are. [09:31am] ExtraSpice left the chat room. (Quit: Leaving) [09:31am] ristoh: nickjohnson: is there reference code somewhere about how apps marketplace does the custom domain detection & serving? so far I could only find the user docs [09:32am] nickjohnson: ristoh: http://developer.googleapps.com/marketplace/getting-started [09:32am] Wooble`` joined the chat room. [09:33am] Wooble joined the chat room. [09:33am] Wooble` left the chat room. (Disconnected by services) [09:34am] cying left the chat room. (Quit: cying) [09:34am] Wooble: so it's working fine in Firefox now that firefox is working at all. [09:35am] ikai_google: (Nick and I are discussing) [09:36am] ikai_google: the SPDY is weird [09:36am] ikai_google: *SPDY issue [09:36am] Wooble`` left the chat room. (Ping timeout: 255 seconds) [09:36am] Wooble: IE can't connect either, however. [09:37am] Wooble: (ignore my ping timeouts, they're on another machine) [09:40am] Wooble: almost certainly unreadbale HAR dump: http://pastebin.com/FpkNcaEq [09:40am] pfn: meh, android io challenge q's sucked [09:40am] pfn: hopefully I'll fare better on the chrome and google challenges [09:40am] Wooble`` joined the chat room. [09:40am] pfn: s/google/appengine/ [09:41am] nickjohnson: Wooble: ...what is HAR? [09:41am] Wooble: nickjohnson: I don't know; that's how Chrome offered to dump my Network activity. [09:42am] mbw left the chat room. (Read error: Operation timed out) [09:43am] CEnnis91 left the chat room. (Quit: Quitting...) [09:43am] Wooble: pfn: I'm a bit disappointed that by "challenge" they didn't mean "build an android app in 30 minutes" :) [09:44am] jsb left the chat room. (Quit: http://jsonbot.googlecode.com) [09:44am] pfn: round 2 is build an app in 24 hours it claims [09:44am] TheSheep: Wooble: and what would you do for the remaining 25 minutes of that? [09:45am] Strom: I'm disappointed that it's US only [09:45am] Strom: would have loved to compete [09:45am] jsb joined the chat room. [09:46am] Wooble: I can't see any possibility I'd be able to go to SF in may, but I might try the appengine challenge anyway. [09:46am] ikai_google: Yes ... it's US only. We're really sorry about that [09:47am] ikai_google: In general we're looking at all the ways we could have improved the reg system this year [09:47am] ikai_google: lottery based? hourly release? etc [09:47am] Wooble: announce that there will be no free phones? ;) [09:47am] peper: lottery based would have been better [09:48am] proppy: Wooble: is your loginform issue triggered by https://6-dot-latest-dot-fnordflick.appspot.com/bouncy ? [09:48am] proppy: or from another navigation path [09:48am] Wooble: proppy: no, only from the Datastore Admin link in the dashboard. [09:49am] proppy: oh ok [09:49am] TomMcKay: just started a new gig doing ruby on rails. anyone used jruby on ae? thoughts? [09:49am] pfn: TomMcKay, not easy [09:50am] proppy: TomMcKay: I know grails is running on appengine [09:50am] pfn: maybe if you run your app always-on [09:50am] pfn: then jruby/rails on ae would be ok [09:50am] Wooble: proppy: the app itself isn't using the users API at all; it's authenticating with Flickr. [09:50am] pfn: but if your app isn't busy [09:50am] pfn: then it's gonna suck [09:50am] TomMcKay: pfn: slow startup? [09:51am] pfn: jruby has extremely slow startup [09:51am] pfn: and rails only compounds that [09:51am] CEnnis91 joined the chat room. [09:51am] proppy: TomMcKay: http://gaelyk.appspot.com/ by glaforge [09:51am] Wooble: warmup requests and always-on should get rid of most of the startup time issues, no? [09:52am] pfn: the gallery sucks [09:52am] proppy: but it is groovy not ruby :) [09:52am] pfn: Wooble, warmup requests can still time out... and they also block first-requests [09:52am] proppy: Wooble: yep, that's what I've seen :) [09:52am] TomMcKay: proppy: thanks, but yeah want to stick w/ ruby [09:52am] pfn: always on gets rid of startup time issues [09:52am] pfn: jruby might be an option on gae [09:52am] pfn: but rails isn't [09:52am] proppy: Wooble: it failed big time for me since I had not flick account associated with the gmail account I signed with [09:53am] ikai_google: JRuby with sinatra is a good option [09:53am] Wooble: proppy: it pretty much does nothing anyway :) [09:53am] ikai_google: I don't know how many people are still using Rails. I think there is a good reason Rails consultancies are getting bought out [09:53am] ikai_google: if they were still making good money they wouldn't be accepting those buyout offers [09:53am] Wooble: the entire application exists to do taskqueue stuff. [09:53am] ikai_google: (personal rant section) [09:53am] pfn: if the offer is good, I would always take a buyout [09:54am] ikai_google: I think Rails is getting too heavyweight for a lot of things people want to do [09:54am] ikai_google: and it's a square peg, app engine is a round hole [09:54am] ikai_google: you aren't going to be able to fit Rails into GAE well [09:54am] TomMcKay: ikai_google: since new employer is RoR i'm alright diggin into it [09:54am] ikai_google: since you don't get to use any of the cool activerecord stuff [09:54am] pfn: yeah, rails isn't a fit on gae [09:54am] proppy: TomMcKay: seems like someone is doing the GAE+Sinatra+JRuby thing http://www.khelll.com/blog/ruby/google-app-engine-jruby-sinatra-and-some-fun/ [09:54am] Wooble: you could have said the same about django in the early days of app engine. [09:55am] ikai_google: honestly I don't think Django is a good fit (PERSONAL OPINION ALERT) [09:55am] pfn: meh, django isn't a good fit for gae either :p [09:55am] ikai_google: when you try to build something that works generally everywhere [09:55am] ikai_google: you really only get access to lowest common denominator features [09:55am] ikai_google: I kind of like django-nonrel because it was built FOR app engine [09:55am] ikai_google: and other non relational stores are being made to fit it [09:56am] dunk_: i just removed all references to django so it wont load [09:56am] ristoh: nickjohnson: maybe I'm missing something, but I could only find the apps marketplace documentation to explain how to develop apps for google apps users, [09:56am] ristoh: but I'm still confused how end users ( not google apps users ) could access the app via a custom domain [09:56am] dunk_: importing simplejson already makes django load [09:56am] proppy: Wooble: what taskqueue job (just curious) [09:56am] dunk_: templating uses django [09:56am] ikai_google: dunk_: I just put simplejson into the root dir. but it takes up files =( [09:57am] Wooble: proppy: it loads photos from a Flickr group, and checks to see if they've been in the pool before and re-added to get better positioning. [09:57am] dunk_: not that much files is it ? [09:57am] dunk_: i include it in my bot [09:57am] • pfn has no problem using bits and pieces of frameworks if they've got value to add [09:57am] dunk_: contrib stuff [09:57am] pfn: but pulling in something huge like django or rails is gonna make gae a pita to work on [09:57am] nickjohnson: ristoh: The administrator of their domain adds the app to the domain. Then, the users can use it. [09:57am] pfn: dunno about this django-nonrel [09:57am] Wooble: dunk_: I believe there's a non-django simplejson on GAE now. [09:57am] nickjohnson: If you have your own domain you want to add the app to, you set up Google Apps on it, then add the app. [09:57am] ikai_google: pfn: and to answer buyout question: depends on your run rate. If it's looking poor you would accept a lower buyout. You wouldn't accept a buyout offer of something you can make in 1-2 years [09:58am] dunk_: Wooble: dunno just noticed that warning you get when 0.96 django loads [09:58am] pfn: ikai_google, if it means you can quit in half the time, maybe ;-) [09:58am] ikai_google: pfn: there's some intrinsic value to being your own boss [09:58am] ikai_google: pfn: ah ... but buyouts usually have some vesting period =) [09:58am] ikai_google: pfn: actually scratch that [09:58am] pfn: indeed [09:58am] ikai_google: pfn: I am wrong [09:58am] ikai_google: pfn: it's usually cash up front + some staying incentives [09:58am] Wooble``: dunk_: well, you can just "import simplejson", anyway. no idea if it's aliased somehow. [09:59am] pfn: ikai_google, then again, I'm never the subject of a buyout offer, so I dunno :/ [09:59am] dunk_: Wooble``: it is ;] [09:59am] ristoh: nickjohnson: are those restricted to the users on that custom domain? in my case they'd be any internet user [09:59am] ikai_google: pfn: so in general I agree with you. I like being bare to the metal [09:59am] dunk_: the import simplejson uses the django version [09:59am] pfn: ikai_google, so... are you gonna give us a leg up on the gae last-call-io thing tomorrow? ;-) [09:59am] ikai_google: pfn: haha. it'll be easy for you guys [09:59am] nickjohnson: ristoh: In that case you should just develop a regular App Engine app, and have people who own domains add it to their domain the regular way. [10:00am] ikai_google: pfn: please don't share the answers though because [10:00am] ikai_google: pfn: 1. it lowers your chances [10:00am] ikai_google: pfn: 2. we have to review all the submissions [10:00am] Wooble``: any java questions and I'm out... [10:00am] pfn: I understand [10:00am] pfn: java + gae would kill me... [10:00am] • pfn has >15years of java experience by now... [10:00am] proppy: dunk_: maybe file an issue in the public tracker about the simplejson django import issue [10:00am] ikai_google: pfn: you know, there's a guy I was talking to who was telling me how happy he was with objectify and guice-servlet [10:00am] pfn: well, I guess that's a little exaggerating, since it was barely beta in '96 [10:00am] ristoh: nickjohnson: is there a way to do that programmatically? or I would just work with my customers admins to get it added? [10:01am] pfn: or was that 95 [10:01am] • pfn forgets [10:01am] dunk_: proppy: including your own version of simplejson is fine with me [10:01am] proppy: I honestly never noticed it, so if you have log showing evidence that's importing simplejson trigger django init it is worth reporting [10:01am] nickjohnson: ristoh: You can't add an App Engine app to a domain programmatically [10:01am] nickjohnson: Except using the Apps Marketplace, perhaps [10:01am] dunk_: i have a seperate getjson() function that finds the simplejson .. was need for debian as well as they want their python-simplejson package used [10:01am] d2m left the chat room. (Ping timeout: 255 seconds) [10:02am] ristoh: so, I'd have to do the adding using the same browser session, as I do normally - but at least that way it'd be doable [10:02am] nickjohnson: Using the same browser session as what? [10:03am] ikai_google: dunk: I'm on a back channel with nick and proppy and we're surprised importing simplejson loads all of django [10:03am] dunk_: dunno if it loads all of django [10:03am] nickjohnson: Importing simplejson does not load Django. Any of it. [10:04am] nickjohnson: I just double checked all the __init__.py files - there's no reference to django at all. [10:04am] dunk_: but i did get a notice in my logs that i was loading django 0.96 instead of 1.0 [10:04am] ristoh: I mean, I would have to add the app at appspot, and then have my customer login with their credentials ( with the same browser ) to confirm the adding to their domain? [10:04am] dunk_: nickjohnson: and importing the template stuff then ? [10:04am] ristoh: as I usually do when adding the app [10:04am] nickjohnson: Well, yes, importing Django templates will import parts of Django. [10:04am] dunk_: the gae template stuff let me look for the import sec [10:05am] nickjohnson: ristoh: No, you can add an app entirely via the apps domain admin console [10:05am] Wooble``: webapp.template *is* django. [10:05am] nickjohnson: You go 'add a service', choose 'app engine app', and enter the app ID [10:05am] dunk_: from google.appengine.ext.webapp import template [10:05am] dunk_: this one [10:05am] Wooble``: yes. that's django. [10:05am] pfn: that's django [10:05am] dunk_: ah ok [10:06am] ikai_google: well guys, we're over time [10:06am] ikai_google: so I'm going to conclude these office hours [10:06am] ikai_google: a few of us are going to stick around [10:06am] ikai_google: BTW - how do you guys feel about themed office hours? [10:06am] dunk_: why doesnt it say django ? ;] i was under the impression it was a google thing [10:06am] ikai_google: we're starting to think this makes sense [10:06am] dunk_: k thnx ikai_google nickjohnson [10:06am] ikai_google: instead of twice a month [10:06am] pfn: themed? [10:06am] ikai_google: we'll move to this: [10:06am] Wooble``: "breakfast in seattle" was the theme? :) [10:06am] dunk_: haha Wooble`` [10:06am] ikai_google: 2 weeks after a release, the theme is the recent release [10:07am] ikai_google: and maybe once a month or once every two months [10:07am] dunk_: ikai_google: you will always get ppl with their own question they want to ask [10:07am] ikai_google: we have themes fr the chat times: datastore, task queue, vampires, infrastructure, java, python [10:07am] ristoh: nickjohnson: and just customize the app look & feel based on the domain the customer is accessing ( detecting via request headers ) [10:07am] nickjohnson: ristoh: sure [10:07am] dunk_: i think theming is a good idea as long as your not limiting the kind of questions asked [10:07am] Wooble left the chat room. (Quit: can't take irc2 anymore) [10:07am] ikai_google: dunk_: true ... but a lot of times many of the questions are better suited for the griups [10:08am] dunk_: thats true as well [10:08am] Wooble`` is now known as Wooble. [10:08am] ikai_google: dunk_: we end up asking for code, then we have to go back to desks to reproduce the issue, etc [10:08am] ikai_google: dunk_: they're not great real time questions [10:08am] dunk_: but users like direct interaction so i still think the chat is a good thing [10:08am] dunk_: yeah [10:08am] ikai_google: dunk_: Yes ... but we should discuss things are a slightly higher level [10:08am] dunk_: true that [10:08am] dunk_: well i could make a standaard response it the bot [10:09am] ikai_google: alright I'm going to jump out [10:09am] proppy: dunk_: to you usually have an IRC bot there ? (I'm new here) [10:09am] dunk_: !learn group is plz post your question on the group as we can help you better there [10:09am] ikai_google: great talking to you guys! [10:09am] dunk_: ltrs ikai_google -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
