Re: [google-appengine] Stability of Java 8 on Standard Environment

2017-07-11 Thread Thomas Wiradikusuma
I noticed that my app is 0.5mb smaller but takes longer to load and uses more 
memory. This is simply by comparing data from GCP console (open new tab of same 
console page, refresh, see what's different).

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


[google-appengine] Re: Endpoints v2 InconsistentApiConfigurationException

2016-11-05 Thread Thomas Wiradikusuma
Hi Nick,

Thanks! I have completed the migration, including the stuff needed so I can 
see fancy graphs in https://console.cloud.google.com/endpoints.

Some feedback:
* The Errors graph is showing some 4xx, but drilling down just gives me log 
in json, and it doesn't show what the error is.

<https://lh3.googleusercontent.com/-7KeGunf9aiQ/WB6bOWbrAbI/P_M/_kYqQTd0BSk9Rd_H2azt9iP_7Y8WKUKQQCLcB/s1600/error_log.gif>
* The Total Latency graph is not too useful nor actionable. I see some 
spikes, great. Are they caused by my code? How do I fix them? Can't even 
click to drill down.

<https://lh3.googleusercontent.com/-ZYeXTaCx9zA/WB6b2i1uapI/P_Q/u7GwKTi5FW4s37yaDOm45hkNJvrbr9c8gCLcB/s1600/Screen%2BShot%2B2016-11-06%2Bat%2B10.52.30%2BAM.png>

I'm sorry I complain a lot. Just to be clear, I love what you guys doing. 
Please keep up the good work!

Regards,
Thomas Wiradikusuma

On Saturday, November 5, 2016 at 12:16:57 AM UTC+8, Nick (Cloud Platform 
Support) wrote:
>
> Hey Thomas,
>
> Just an update, in the Public Issue Tracker thread 
> <https://code.google.com/p/googleappengine/issues/detail?id=13373>, we 
> appear to have found another workaround as well.
>
> Cheers,
>
> Nick
> Cloud Platform Community Support
>
> On Friday, October 28, 2016 at 10:30:26 AM UTC-4, Nick (Cloud Platform 
> Support) wrote:
>>
>> Hey Thomas,
>>
>> Thanks for your persistent reporting here. I've now managed to reproduce 
>> the behaviour and I've made a Public Issue Tracker thread 
>> <https://code.google.com/p/googleappengine/issues/detail?id=13373> to 
>> follow this for anybody along with you who is also interested in its 
>> progress. 
>>
>> As a workaround for now, simply renaming one of the APIs will remove the 
>> issue. Of course your pattern of using ApiClass for differentiated 
>> properties in a multiclass API should be defined as the docs say 
>> <https://cloud.google.com/appengine/docs/java/endpoints/multiclass#using_apiclass_for_properties_that_can_differ_between_classes>,
>>  
>> for now this will allow you to circumvent the issue.
>>
>> In future, don't hesitate to make a post like this to the Public Issue 
>> Tracker <https://code.google.com/p/googleappengine/issues/list> if you 
>> suspect the error is not in your code but the platform. We'll be happy to 
>> assist!
>>
>> Cheers,
>>
>> Nick
>> Cloud Platform Community Support
>>
>> On Wednesday, October 12, 2016 at 9:39:06 AM UTC-4, Thomas Wiradikusuma 
>> wrote:
>>>
>>> Sorry I forgot to attach the project.
>>>
>>> I'm sorry for not making it clear. The sample code is _working_, you 
>>>> need to migrate it to Endpoints v2 as mentioned in the README.md to make 
>>>> it 
>>>> not working. Anyway, for your convenience, I've attached the migrated 
>>>> version (which is not working).
>>>>
>>>>
>>> Regards,
>>> Thomas Wiradikusuma 
>>>
>>

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


[google-appengine] Re: Endpoints v2 InconsistentApiConfigurationException

2016-10-12 Thread Thomas Wiradikusuma
Hi Nick,

> Could you try to add the same @ApiClass annotation that you have on 
ApiV2.java to ApiV2Public.java and see if that prevents the error message? 

Yes, making the annotations identical in both classes prevents the error 
message. But, it means both must be authenticated, which defeats my purpose 
of separating it.

> I'm unable to replicate the issue using your code and keeping all the API 
names in web.xml, even regardless of whether I add the @ApiClass annotation 
to ApiV2Public. 

I'm sorry for not making it clear. The sample code is _working_, you need 
to migrate it to Endpoints v2 as mentioned in the README.md to make it not 
working. Anyway, for your convenience, I've attached the migrated version 
(which is not working).

> I don't see any "issuers" field defined in your API. Is this correct?

Yes, that field is a new field, which I think the documentation doesn't 
clearly explain what it is.


Regards,
Thomas Wiradikusuma

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


[google-appengine] Re: Endpoints v2 InconsistentApiConfigurationException

2016-10-06 Thread Thomas Wiradikusuma
Hi Nick,

I've been using API Explorer (built-in tool from Cloud Endpoints), which 
does not require client library. Or should I use other tools?

Regards,
Thomas Wiradikusuma

On Friday, October 7, 2016 at 5:54:50 AM UTC+8, Nick (Cloud Platform 
Support) wrote:
>
> Hey Thomas,
>
> Thanks for uploading. I'll be sure to take a look at this project and see 
> if I can manage to deploy it. However, in the mean time, I think there's a 
> possible solution on your end that hasn't been investigated so far, as far 
> as I can tell. The issue appears to me to be caused by compiling and 
> deploying a new version of the API, while still using the old generated 
> client library in the clients. If you could not only generate the new 
> client library (which should not have errors, as you observed), but also 
> put it into the clients and have them send requests, to see whether the 
> errors persist, that could short-circuit the process of testing on our end.
>
> Cheers,
>
> Nick
> Cloud Platform Community Support 
>
> On Wednesday, October 5, 2016 at 7:47:05 AM UTC-4, Thomas Wiradikusuma 
> wrote:
>>
>> Hi Nick,
>>
>> Attached is my Gradle-based project stripped to the simplest to reproduce 
>> the issue. I'm unclear with what you meant, but hopefully my project can 
>> help on your side!
>>
>> Regards,
>> Thomas Wiradikusuma
>>
>>
>> On Wednesday, October 5, 2016 at 4:36:55 AM UTC+8, Nick (Cloud Platform 
>> Support) wrote:
>>>
>>> Hey Thomas,
>>>
>>> The issue wouldn't be that generation would fail - the idea is that due 
>>> to having recompiled the API against different classes for V2, the old 
>>> client might not be sending requests in the way expected. Could you try to 
>>> load the updated client library into a client machine and see if the same 
>>> error persists with the new version of the library? I'm continuing to work 
>>> on reproducing this issue on my own side.
>>>
>>> Cheers,
>>>
>>> Nick
>>> Cloud Platform Community Support
>>>
>>> On Tuesday, October 4, 2016 at 12:30:47 AM UTC-4, Thomas Wiradikusuma 
>>> wrote:
>>>>
>>>> Hi Nick,
>>>>
>>>> The web.xml snippet I gave earlier is the one before I take one out:
>>>>
>>>> com.bla.ApiV2,com.bla.ApiV2Public
>>>>
>>>> Notice class ApiV2 and ApiV2Public.
>>>>
>>>> Also, I'm testing this from API explorer, which I think doesn't require 
>>>> the generation of client libraries. But, for curiosity sake, I did try it (
>>>> https://cloud.google.com/endpoints/docs/frameworks/java/generate-client-libraries-android
>>>> ):
>>>>
>>>> endpoints-framework-tools get-client-lib --war=target/war -bs gradle 
>>>> com.bla.ApiV2
>>>> endpoints-framework-tools get-client-lib --war=target/war -bs gradle 
>>>> com.bla.ApiV2Public
>>>>
>>>> No error in the generation (but doesn't fix my issue).
>>>>
>>>>
>>>> Regards,
>>>> Thomas Wiradikusuma
>>>>
>>>>
>>>> On Tuesday, October 4, 2016 at 3:18:59 AM UTC+8, Nick (Cloud Platform 
>>>> Support) wrote:
>>>>>
>>>>> Hey Thomas,
>>>>>
>>>>> Could you show what the web.xml file looks like before you take one 
>>>>> out? I'm not sure how you've included both of them and it appears you 
>>>>> uploaded a section from web.xml with only one Api class present.
>>>>>
>>>>> Also, just for testing's sake, have you managed to check whether 
>>>>> recompiling the client against the new API version resolves the issue?
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Nick
>>>>> Cloud Platform Community Support
>>>>>
>>>>> On Sunday, October 2, 2016 at 11:24:21 PM UTC-4, Thomas Wiradikusuma 
>>>>> wrote:
>>>>>>
>>>>>> Hi Nick,
>>>>>>
>>>>>> The error happens when receiving requests. I don't think it's 
>>>>>> necessary to update the client, as the update doesn't change the server.
>>>>>>
>>>>>> I'm posting here since I think it's either a bug of, or lack of 
>>>>>> documentation for, the V2 implementation @ApiClass. Let me explain.
>>>>>>
>>>>>> I have 2 classes that share @Api (
>>>>>> https://

[google-appengine] Re: Endpoints v2 InconsistentApiConfigurationException

2016-10-03 Thread Thomas Wiradikusuma
Hi Nick,

The web.xml snippet I gave earlier is the one before I take one out:

com.bla.ApiV2,com.bla.ApiV2Public

Notice class ApiV2 and ApiV2Public.

Also, I'm testing this from API explorer, which I think doesn't require the 
generation of client libraries. But, for curiosity sake, I did try it 
(https://cloud.google.com/endpoints/docs/frameworks/java/generate-client-libraries-android):

endpoints-framework-tools get-client-lib --war=target/war -bs gradle 
com.bla.ApiV2
endpoints-framework-tools get-client-lib --war=target/war -bs gradle 
com.bla.ApiV2Public

No error in the generation (but doesn't fix my issue).


Regards,
Thomas Wiradikusuma


On Tuesday, October 4, 2016 at 3:18:59 AM UTC+8, Nick (Cloud Platform 
Support) wrote:
>
> Hey Thomas,
>
> Could you show what the web.xml file looks like before you take one out? 
> I'm not sure how you've included both of them and it appears you uploaded a 
> section from web.xml with only one Api class present.
>
> Also, just for testing's sake, have you managed to check whether 
> recompiling the client against the new API version resolves the issue?
>
> Cheers,
>
> Nick
> Cloud Platform Community Support
>
> On Sunday, October 2, 2016 at 11:24:21 PM UTC-4, Thomas Wiradikusuma wrote:
>>
>> Hi Nick,
>>
>> The error happens when receiving requests. I don't think it's necessary 
>> to update the client, as the update doesn't change the server.
>>
>> I'm posting here since I think it's either a bug of, or lack of 
>> documentation for, the V2 implementation @ApiClass. Let me explain.
>>
>> I have 2 classes that share @Api (
>> https://cloud.google.com/endpoints/docs/frameworks/java/multiclass): 
>>
>> @Api(name = "api", version = "v2", namespace = @ApiNamespace(ownerDomain 
>> = "bla.com", ownerName = "bla.com"))
>> @ApiClass(authenticators = {AccountManager.class}, scopes = 
>> {EMAIL_SCOPE}, clientIds = {API_V2_ANDROID_CLIENT_ID, API_V2_WEB_CLIENT_ID, 
>> API_EXPLORER_CLIENT_ID}, audiences = {API_V2_ANDROID_AUDIENCE})
>> public class ApiV2 { .. }
>>
>> @Api(name = "api", version = "v2", namespace = @ApiNamespace(ownerDomain 
>> = "bla.com", ownerName = "bla.com"))
>> public class ApiV2Public { .. }
>>
>> This is how they're defined in web.xml:
>>
>> 
>> api
>> com.google.api.server.spi.EndpointsServlet
>> 
>> services
>> 
>> com.bla.ApiV2,com.bla.ApiV2Public
>> 
>> 
>> 
>>
>> If I take out one from web.xml, it works. 
>>
>> This used to work in V1. It could be due to this new property "issuers" 
>> that's poorly documented (compare 
>> https://cloud.google.com/appengine/docs/java/endpoints/annotations vs 
>> https://cloud.google.com/endpoints/docs/frameworks/java/annotations, 
>> Ctrl+F for "issuers").
>>
>> Looking forward for a solution!
>>
>> Regards,
>> Thomas Wiradikusuma
>>
>>
>> On Saturday, October 1, 2016 at 4:54:42 AM UTC+8, Nick (Cloud Platform 
>> Support) wrote:
>>>
>>> Hey Thomas,
>>>
>>> This is just a guess, but it could be that it's necessary to update the 
>>> client as well. Does that error occur when you deploy, or when you receive 
>>> a request? That would be the way to determine if the issue is in the client 
>>> needing to be updated or another issue (not clarified as yet) in the server 
>>> code. 
>>>
>>> As a quick side-note, this forum is meant for general high level 
>>> discussion of the platform and services, design patterns, etc. So a thread 
>>> like this should actually be a Stack Overflow <http://stackoverflow.com> 
>>> post. Not to worry as we watch that forum as well. You are more likely to 
>>> find more users who can help, though, with a technical question in that 
>>> forum.
>>>
>>> Cheers,
>>>
>>> Nick
>>> Cloud Platform Community Support
>>>
>>> On Tuesday, September 27, 2016 at 9:29:27 PM UTC-4, Thomas Wiradikusuma 
>>> wrote:
>>>>
>>>> Hi guys,
>>>>
>>>> I'm a longtime user of Cloud Endpoints (v1), and decided to give v2 a 
>>>> try. So I followed 
>>>> https://cloud.google.com/appengine/docs/java/endpoints/migrating and 
>>>> here's my diff:
>>>>
>>>> - compile 'com.google.appengine:appengine-endpoints:1.9.42'
>>>>
>>>> + compile 'com.google.endpoints:endpoints-framework:2.0.0-beta.8'
>>>>
>>>>
>>

[google-appengine] Re: Endpoints v2 InconsistentApiConfigurationException

2016-10-02 Thread Thomas Wiradikusuma
Hi Nick,

The error happens when receiving requests. I don't think it's necessary to 
update the client, as the update doesn't change the server.

I'm posting here since I think it's either a bug of, or lack of 
documentation for, the V2 implementation @ApiClass. Let me explain.

I have 2 classes that share @Api 
(https://cloud.google.com/endpoints/docs/frameworks/java/multiclass): 

@Api(name = "api", version = "v2", namespace = @ApiNamespace(ownerDomain = 
"bla.com", ownerName = "bla.com"))
@ApiClass(authenticators = {AccountManager.class}, scopes = {EMAIL_SCOPE}, 
clientIds = {API_V2_ANDROID_CLIENT_ID, API_V2_WEB_CLIENT_ID, 
API_EXPLORER_CLIENT_ID}, audiences = {API_V2_ANDROID_AUDIENCE})
public class ApiV2 { .. }

@Api(name = "api", version = "v2", namespace = @ApiNamespace(ownerDomain = 
"bla.com", ownerName = "bla.com"))
public class ApiV2Public { .. }

This is how they're defined in web.xml:


api
com.google.api.server.spi.EndpointsServlet

services

com.bla.ApiV2,com.bla.ApiV2Public




If I take out one from web.xml, it works. 

This used to work in V1. It could be due to this new property "issuers" 
that's poorly documented 
(compare https://cloud.google.com/appengine/docs/java/endpoints/annotations 
vs https://cloud.google.com/endpoints/docs/frameworks/java/annotations, 
Ctrl+F for "issuers").

Looking forward for a solution!

Regards,
Thomas Wiradikusuma


On Saturday, October 1, 2016 at 4:54:42 AM UTC+8, Nick (Cloud Platform 
Support) wrote:
>
> Hey Thomas,
>
> This is just a guess, but it could be that it's necessary to update the 
> client as well. Does that error occur when you deploy, or when you receive 
> a request? That would be the way to determine if the issue is in the client 
> needing to be updated or another issue (not clarified as yet) in the server 
> code. 
>
> As a quick side-note, this forum is meant for general high level 
> discussion of the platform and services, design patterns, etc. So a thread 
> like this should actually be a Stack Overflow <http://stackoverflow.com> 
> post. Not to worry as we watch that forum as well. You are more likely to 
> find more users who can help, though, with a technical question in that 
> forum.
>
> Cheers,
>
> Nick
> Cloud Platform Community Support
>
> On Tuesday, September 27, 2016 at 9:29:27 PM UTC-4, Thomas Wiradikusuma 
> wrote:
>>
>> Hi guys,
>>
>> I'm a longtime user of Cloud Endpoints (v1), and decided to give v2 a 
>> try. So I followed 
>> https://cloud.google.com/appengine/docs/java/endpoints/migrating and 
>> here's my diff:
>>
>> - compile 'com.google.appengine:appengine-endpoints:1.9.42'
>>
>> + compile 'com.google.endpoints:endpoints-framework:2.0.0-beta.8'
>>
>>
>> - 
>> com.google.api.server.spi.SystemServiceServlet
>>
>> + 
>> com.google.api.server.spi.EndpointsServlet
>>
>>
>> - /_ah/spi/*
>>
>> + /_ah/api/*
>>
>>
>> I did *not* run the "generating client lib" as documented in 
>> https://cloud.google.com/endpoints/docs/frameworks/java/generate-client-libraries-android
>>  as I thought, "from the client perspective it should be the same".
>>
>>
>> I hit this error in the server:
>>
>>
>> SEVERE: javax.servlet.ServletContext log: unavailable
>>
>> com.google.api.server.spi.config.validation.InconsistentApiConfigurationException:
>>  
>> api: API-wide configuration does not match between the classes 
>> com.foobar.ApiV2Public and com.foobar.ApiV2. All API classes with the same 
>> API name and version must have the exact same API-wide configuration. 
>> Differing property: issuers 
>> (com.google.api.server.spi.config.model.ApiIssuerConfigs@0 vs 
>> com.google.api.server.spi.config.model.ApiIssuerConfigs@d03e1481).
>>
>> at 
>> com.google.api.server.spi.config.validation.ApiConfigValidator.validate(ApiConfigValidator.java:89)
>>
>> at 
>> com.google.api.server.spi.SystemService.registerLoadedService(SystemService.java:218)
>>
>> at 
>> com.google.api.server.spi.SystemService.registerService(SystemService.java:193)
>>
>>
>> How do I fix this?
>>
>

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


[google-appengine] Endpoints v2 InconsistentApiConfigurationException

2016-09-27 Thread Thomas Wiradikusuma
Hi guys,

I'm a longtime user of Cloud Endpoints (v1), and decided to give v2 a try. 
So I 
followed https://cloud.google.com/appengine/docs/java/endpoints/migrating 
and here's my diff:

- compile 'com.google.appengine:appengine-endpoints:1.9.42'

+ compile 'com.google.endpoints:endpoints-framework:2.0.0-beta.8'


- 
com.google.api.server.spi.SystemServiceServlet

+ com.google.api.server.spi.EndpointsServlet


- /_ah/spi/*

+ /_ah/api/*


I did *not* run the "generating client lib" as documented 
in 
https://cloud.google.com/endpoints/docs/frameworks/java/generate-client-libraries-android
 as 
I thought, "from the client perspective it should be the same".


I hit this error in the server:


SEVERE: javax.servlet.ServletContext log: unavailable

com.google.api.server.spi.config.validation.InconsistentApiConfigurationException:
 
api: API-wide configuration does not match between the classes 
com.foobar.ApiV2Public and com.foobar.ApiV2. All API classes with the same 
API name and version must have the exact same API-wide configuration. 
Differing property: issuers 
(com.google.api.server.spi.config.model.ApiIssuerConfigs@0 vs 
com.google.api.server.spi.config.model.ApiIssuerConfigs@d03e1481).

at 
com.google.api.server.spi.config.validation.ApiConfigValidator.validate(ApiConfigValidator.java:89)

at 
com.google.api.server.spi.SystemService.registerLoadedService(SystemService.java:218)

at 
com.google.api.server.spi.SystemService.registerService(SystemService.java:193)


How do I fix this?

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


[google-appengine] my projects suspend

2016-03-06 Thread Thomas Wiradikusuma
Do you use debit card? I had this issue, and fixed it by changing to credit 
card (but still had to go through support). 

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


[google-appengine] Java SDK 1.9.28 - The Files API is disabled

2015-10-31 Thread Thomas Wiradikusuma

Hi guys,

This code used to work, before upgrading to Java SDK 1.9.28:

gcs.createOrReplace(
new GcsFilename("myapp.appspot.com", "/gs/myapp.appspot.com/foo/bar.jpg"),
new Builder().mimeType("image/jpeg").build())

This is the exception:

Oct 31, 2015 6:28:32 PM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: /foo/bar
com.google.appengine.tools.cloudstorage.NonRetriableException: 
com.google.apphosting.api.ApiProxy$FeatureNotEnabledException: The Files 
API is disabled. Further information: 
https://cloud.google.com/appengine/docs/deprecations/files_api
at 
com.google.appengine.tools.cloudstorage.RetryHelper.doRetry(RetryHelper.java:120)
at 
com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:166)
at 
com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:156)
at 
com.google.appengine.tools.cloudstorage.GcsServiceImpl.createOrReplace(GcsServiceImpl.java:70)
at 
com.hohero.servlet.AnnouncementImageUploadServlet.doPost(AnnouncementImageUploadServlet.scala:32)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
...
Caused by: com.google.apphosting.api.ApiProxy$FeatureNotEnabledException: 
The Files API is disabled. Further information: 
https://cloud.google.com/appengine/docs/deprecations/files_api
at 
com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.callInternal(ApiProxyLocalImpl.java:515)
at 
com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:484)
at 
com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:461)
at 
java.util.concurrent.Executors$PrivilegedCallable$1.run(Executors.java:493)

What needs to be changed? FYI I'm 
following 
https://cloud.google.com/appengine/docs/java/googlecloudstorageclient/getstarted
 
- Writing a Byte Array to a Cloud Storage File.

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


[google-appengine] Re: Feedback to Google Technical Support on their contribution in this list

2015-10-21 Thread Thomas Wiradikusuma
Hi Kaan, 

I agree with you that the community here is no longer as active as the "good 
old days" (I've been here since GAE first introduced Java). 

But! I think this is also because the "veterans" are used to GAE and now 
they're busy building stuff!

I'm a satisfied customer and I prefer that GAE becomes the boring stable 
platform :) 

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


Re: [google-appengine] Re: Why are cloud endpoints so slow ?

2015-08-11 Thread Thomas Wiradikusuma
Hi guys, 

Any news on this? It's almost a year since last discussion here and Google 
Cloud Endpoints is still very slow. 

Regarding suggestion to hit the rpc 50x to warm it up, how do you know 
when? I mean, hit rpc from time to time, and when it's slow, hit it 50x 
doesn't sound like a good solution for me.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/993a30b4-c896-4bf3-add4-54418b364bf1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [google-appengine] Naked domain has stopped working

2015-04-20 Thread Thomas Wiradikusuma
How do you handle both naked and www, esp in regards to SSL? At the moment, 
I set *both* in Console, so both http://bla.com and http://www.bla.com are 
valid but won't redirect to each other. Not a big deal (I can use 
canonical url meta tag for search engine crawlers), but if SSL doesn't 
work for naked, it makes me worried.

Regards,
Thomas


On Tuesday, April 21, 2015 at 5:39:28 AM UTC+8, Qian Qiao wrote:

 Instead of redirecting, you appengine app can now serve naked domain 
 directly. Go to console.cloud.google.com, choose your project, under 
 Computer - Appengine - Settings, click on the Custom domains tab, and you 
 can add the naked domain directly.

 SSL doesn't seem to work for naked domains just yet, but HTTP traffic 
 works fine.

 HTH.

 -- Joe

 On Mon, 20 Apr 2015 at 09:12 Paul Canning pa...@drawandcode.com 
 javascript: wrote:

 I have just checked today and it seems like the naked domain for my app 
 is no longer working.

 Previously, I could go to http://mydomain.com and it would load up 
 http://www.mydomain.com (this isn't my actual domain!)

 BUT, now, going to http://mydomain.com simply shows This web page is 
 not available

 Has anything changed in the past few days about naked domains?

 -- 
 You received this message because you are subscribed to the Google Groups 
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to google-appengi...@googlegroups.com javascript:.
 To post to this group, send email to google-a...@googlegroups.com 
 javascript:.
 Visit this group at http://groups.google.com/group/google-appengine.
 To view this discussion on the web visit 
 https://groups.google.com/d/msgid/google-appengine/d252a7fe-0929-4c55-8aa1-b171e44f6d5d%40googlegroups.com
  
 https://groups.google.com/d/msgid/google-appengine/d252a7fe-0929-4c55-8aa1-b171e44f6d5d%40googlegroups.com?utm_medium=emailutm_source=footer
 .
 For more options, visit https://groups.google.com/d/optout.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/8c31369b-5516-47f2-977c-2cecfed7ad52%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [google-appengine] Re: Announcing a credit for App Engine applications with new custom domains

2014-04-15 Thread Thomas Wiradikusuma
Hi Andrew,

The implementation of naked domain seems to conflict with naked domain 
redirection in Google Apps: 
https://code.google.com/p/googleappengine/issues/detail?id=10798

Regards,
Thomas Wiradikusuma

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


[google-appengine] Re: Endpoints, missing something?

2013-06-07 Thread Thomas Wiradikusuma
Posted to SO:

http://stackoverflow.com/questions/16984231/google-cloud-endpoints-files-generated-server-not-working


Regards,
Thomas Wiradikusuma


On Jun 7, 10:24 am, Thomas Wiradikusuma wiradikus...@gmail.com
wrote:
 Hi guys,

 Last night I played with Endpoints[1], successfully generated the
 2 .discovery files, 1 .api file and 1 .zip file. I ran endpoints.sh
 get-client-lib com.my.app.FooService.

 I looked at my war folder, the script doesn't add anything there. I
 assumed server-side is already handled by magic configured in web.xml
 and @Api annotations (a'la Spring).

 Then I ran the server, but I couldn't test[2] 
 it.http://localhost:8080/_ah/api/explorer
 redirected me to blank Google cloud console. I uploaded my app, still
 the same.

 Am I missing something? I think the documentation is a bit lacking, it
 doesn't even explain what the files it generates are for.

 Regards,
 Thomas Wiradikusuma

 [1]https://developers.google.com/appengine/docs/java/endpoints/gen_clients
 [2]https://developers.google.com/appengine/docs/java/endpoints/test_deploy

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




[google-appengine] Endpoints, missing something?

2013-06-06 Thread Thomas Wiradikusuma
Hi guys,

Last night I played with Endpoints[1], successfully generated the
2 .discovery files, 1 .api file and 1 .zip file. I ran endpoints.sh
get-client-lib com.my.app.FooService.

I looked at my war folder, the script doesn't add anything there. I
assumed server-side is already handled by magic configured in web.xml
and @Api annotations (a'la Spring).

Then I ran the server, but I couldn't test[2] it. 
http://localhost:8080/_ah/api/explorer
redirected me to blank Google cloud console. I uploaded my app, still
the same.

Am I missing something? I think the documentation is a bit lacking, it
doesn't even explain what the files it generates are for.


Regards,
Thomas Wiradikusuma

[1] https://developers.google.com/appengine/docs/java/endpoints/gen_clients
[2] https://developers.google.com/appengine/docs/java/endpoints/test_deploy

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




[google-appengine] Re: SSL configuration issue (GAE/Java)

2013-05-25 Thread Thomas Wiradikusuma
Hi Mike,

SSL for MYAPP.appspot.com is automatic, you don't need to do anything (just 
open https://MYAPP.appspot.com). For custom domain (e.g. MYAPP.com) the doc 
is https://developers.google.com/appengine/docs/ssl. For both cases, to 
force user to use https, handle in your code (e.g. if request.notsecure 
then redirect to https version of the same URL).

The link you gave is about securing url with Google Account (or whatever 
you specify in Authentication Type in Application Settings in control 
panel).


Regards,
Thomas Wiradikusuma



On Sunday, 26 May 2013 04:06:55 UTC+8, Mike Dougherty wrote:


 I'm having a little trouble getting SSL to work correctly with my Java 
 application. I've configured it according to the information found here:

 https://developers.google.com/appengine/docs/java/config/webxml#Secure_URLs

 And it appears to work, however it is requiring the user login with a 
 Google account before redirecting back to the SSL URL. How in the world do 
 I configure this application to force SSL without requiring the user be 
 logged in to a Google Account? 

 Thanks,
 Mike


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




[google-appengine] Enable suspended Google Apps user used for transactional email

2013-05-24 Thread Thomas Wiradikusuma
Hi guys,

I built a website that's been running in autopilot for months (billing 
enabled). Recently I realize that the Google Apps user used for 
transactional email (info@MYAPP) has been suspended for abuse (according 
to Google Admin Control Panel). I can't even login (This account has been 
disabled).

According to http://support.google.com/a/bin/answer.py?hl=enanswer=33326, 
Administrators can contact Support for more information, but apparently 
both phone and email support are *not* available for Free Google Apps (I 
have this long before they close it).

My website is a dating website. I never use info@MYAPP other than 
notification email for signups in LaunchRock (we've launched, register 
here), welcome email (please confirm your email) and new message email 
(somebody sent you a message). I have SPF and DKIM properly set up. I 
suspect the reason for suspension is because some of my users register with 
invalid email account, so those transactional emails bounced (I know from 
implementing Email Bounce Handler recently).

What should I do? The website is still not making money (I don't put ads, 
and everything there is free), so I'm really hesitant to upgrade to Google 
Apps for Business just to raise support, esp. if it's not guaranteed to 
enable the user. I'm also not ready to use dedicated 3rd party email 
service, as I want to keep cost to minimum (not to mention MailChimp 
doesn't accept dating websites).

Has anyone had this problem? How did you solve this? What's the next thing 
forward to avoid this again?

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




Re: [google-appengine] giving up with GAE

2013-02-04 Thread Thomas Wiradikusuma
I use Scala, which has slower startup time compared to Java, but I stick to 
barebone JSP+Servlet (and Objectify for a dozen of domain classes, everything 
else use direct datastore) and my startup time is acceptable.

My app has 2-3k pv/day, so it's low traffic and most likely subject to cold 
start. http://www.ngajakjalan.com in case you want to test it yourself. 

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




[google-appengine] java.lang.IndexOutOfBoundsException: fromIndex = -1

2012-12-25 Thread Thomas Wiradikusuma

Hi guys,

I'm using Objectify and have a model like this:

@Entity(name = D)
@Indexed
public class Detail extends AbstractString implements Serializable {
private static final long serialVersionUID = 1L;

@Parent
private KeyUser user;

private Date dob;

private double ordering;

private int contactable; // Just added

// Tons of other fields
// Getters and setters
}

With the following index:

datastore-index kind=D ancestor=false source=manual
property name=contactable direction=desc/ !-- Just added --
property name=gender direction=asc/
property name=province direction=asc/
property name=ordering direction=desc/
property name=dob direction=desc/
/datastore-index

And here's my code snippet:

val query = new Query(D)

query addSort(contactable, DESCENDING) // Just added
query addSort(ordering, DESCENDING)
query addSort(dob, DESCENDING)

Now, if I *dont* use contactable field (i.e. remove all just added 
stuff), everything works. But as soon as I add that field, an exception is 
thrown:

WARNING: /_/search.json
java.lang.IndexOutOfBoundsException: fromIndex = -1
at java.util.SubList.init(AbstractList.java:600)
at java.util.RandomAccessSubList.init(AbstractList.java:758)
at java.util.AbstractList.subList(AbstractList.java:468)
at 
java.util.Collections$UnmodifiableRandomAccessList.subList(Collections.java:1226)
at 
com.google.appengine.api.datastore.CompositeIndexManager.minimumCompositeIndexForQuery(CompositeIndexManager.java:197)
at 
com.google.appengine.api.datastore.dev.LocalCompositeIndexManager.minimumCompositeIndexForQuery(LocalCompositeIndexManager.java:598)
at 
com.google.appengine.api.datastore.dev.LocalCompositeIndexManager$IndexCache.verifyIndexExistsForQuery(LocalCompositeIndexManager.java:355)
at 
com.google.appengine.api.datastore.dev.LocalCompositeIndexManager$IndexCache.access$300(LocalCompositeIndexManager.java:334)
at 
com.google.appengine.api.datastore.dev.LocalCompositeIndexManager.manageIndexFile(LocalCompositeIndexManager.java:251)
at 
com.google.appengine.api.datastore.dev.LocalCompositeIndexManager.processQuery(LocalCompositeIndexManager.java:199)
at 
com.google.appengine.api.datastore.dev.LocalDatastoreService$9.run(LocalDatastoreService.java:1082)
at java.security.AccessController.doPrivileged(Native Method)
at 
com.google.appengine.api.datastore.dev.LocalDatastoreService.runQuery(LocalDatastoreService.java:1079)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at 
com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.callInternal(ApiProxyLocalImpl.java:527)
at 
com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:481)
at 
com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:458)
at 
java.util.concurrent.Executors$PrivilegedCallable$1.run(Executors.java:461)
at java.security.AccessController.doPrivileged(Native Method)
at 
java.util.concurrent.Executors$PrivilegedCallable.call(Executors.java:458)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)

TL;DR: I want to add an indexable int field for inequality filter into an 
existing previously-working code, but I get 
java.lang.IndexOutOfBoundsException: fromIndex = -1.

Is this a limitation of GAE where sorted fields  3? Or what am I missing?

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



[google-appengine] Re: Google Apps No Longer Free

2012-12-06 Thread Thomas Wiradikusuma
Hi Greg (of Google),

I agree of what the other Greg said. It's very common to send transactional 
emails from a dedicated address (e.g. noreply). It's not professional (and 
even raise suspicion) if the Click here to reset your password email 
comes from j...@startupname.com for example.

If it's not possible to increase the account from 1 to n, at least please 
allow the use of alias.


On Friday, 7 December 2012 10:42:42 UTC+8, Greg wrote:

 Just saw that Google Apps is no longer free for 
 businesseshttp://googleenterprise.blogspot.co.nz/2012/12/changes-to-google-apps-for-businesses.html
 . 

 I have no problem paying for a Google Apps account where I actually use 
 Google apps, but at the moment you have to have a Google Apps account to 
 link a domain to an Appengine app. Some of our apps have two or three 
 domains showing the same app, and because you need to have an account for 
 each email address that Appengine sends email from, we have three or four 
 accounts per domain. So this is potentially going to add $600 per year to 
 our costs - all for virtual accounts that don't actually use Google Apps at 
 all.

 Can someone from Google comment please? Either Google Apps accounts need 
 to remain free if they are associated with Appengine apps, or there needs 
 to be another way to link domains (and authorise email addresses) for 
 Appengine.




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



[google-appengine] Re: Distinct Recipients Emailed Quota limit ?

2012-11-28 Thread Thomas Wiradikusuma
Maybe they should call it Emails sent instead.


On Wednesday, 28 November 2012 03:51:54 UTC+8, Michael Hermus wrote:

 That is by design, although the terminology is confusing: 

 1 message to 1 recipient = 1 recipient emailed.
 1 message to 2 recipients = 2 recipients emailed.
 2 messages to 1 recipient = 2 recipients emailed.



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



[google-appengine] Re: What is Recipients Emailed quota limit?

2012-11-26 Thread Thomas Wiradikusuma
The Recipients Email quota is set to 100 for free apps. To remove the 
limit, enable billing and wait until you're billed (so you can't start 
sending tons of email right after enabling billing). Then if you disable 
your billing, the cycle repeats.


On Sunday, 25 November 2012 22:07:47 UTC+8, yydeals99 wrote:

 What is Recipients Emailed  quota limit?? I am wondering  why my 
 application(yydeals99) recently always run out of quota? I saw the problem 
 before, but after I posted the question here, it was solved. Now, it 
 happened again.


 Thanks


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



[google-appengine] Frequent NPE on Objectify.get

2012-11-06 Thread Thomas Wiradikusuma
Hi guys,

I'm using Java and Objectify 3, but I'm thinking this problem I'm 
experiencing is probably more related to GAE.

// Snippet from ProfilePhoto.java

@Entity(name = PP) @Unindexed
public class ProfilePhoto implements Serializable {
private static final long serialVersionUID = 1L;

@Id private String id;
@Parent private KeyUser user;
private Blob object;

// getters and setters
}

// Snippet from PhotoServlet.scala

val username = getUsername(req)
val pp = objectify.get[ProfilePhoto](new Key[ProfilePhoto](new 
Key[User](classOf[User], username), classOf[ProfilePhoto], username))
val image = makeImage(photo.getObject.getBytes)

That val pp line, with same username, *sometimes *throws NPE from 
datastore. I'm using HRD.

Anyone experiencing datastore get with this kind of problem?

Full cause stacktrace:

Uncaught exception from servlet
java.lang.NullPointerException
at mywebsite.servlet.PhotoServlet.doGet(PhotoServlet.scala:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
at gae.LocalizedRequest$$anon$1.forward(LocalizedRequest.scala:24)
at mywebsite.filter.FirstFilter.obtainContent(FirstFilter.scala:143)
at mywebsite.filter.FirstFilter.process(FirstFilter.scala:119)
at mywebsite.filter.FirstFilter.doFilter(FirstFilter.scala:73)
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at 
com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:102)
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at 
com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at 
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at 
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:266)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
at 
com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at 
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:146)
at 
com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:447)
at 
com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)
at 
com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)
at com.google.tracing.TraceContext.runInContext(TraceContext.java:703)
at 
com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)
at 
com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)
at 
com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)
at 
com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
at java.lang.Thread.run(Thread.java:679)

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



Re: [google-appengine] Re: Creating a Million dollar application

2012-10-11 Thread Thomas Wiradikusuma
Submitted this to HN to help it get traction.
http://news.ycombinator.com/item?id=4643603

On Friday, 12 October 2012 10:00:33 UTC+8, James Broberg wrote:

 A googol amount of dollars isn't cool, you know what's 
 cool? A googolplex amount of dollars.

 On 12 October 2012 04:56, Vinny P vinn...@gmail.com javascript: wrote:

 Why stop there? Let's make it an application worth a googol amount of 
 dollars (for the innumerate out there, that's 1 times 10 to the 100th 
 power)!

 -Vinny P


 On Thursday, October 11, 2012 12:38:59 PM UTC-5, Jon Stevens wrote:

 yea... one million, that's nothing... i've got a TWO million dollar 
 application... who's in?

 (this is a joke)

 jon

 On Thursday, October 11, 2012 7:15:42 AM UTC-7, Geoffrey Spear wrote:



 On Wednesday, October 10, 2012 2:34:27 PM UTC-4, Big Project wrote:

 I have a really brilliant idea for a mobile application and I am 
 looking for a few developers to help me create it




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



Re: [google-appengine] Re: SSL VIP pricing changed to $39/mo

2012-09-18 Thread Thomas Wiradikusuma
Could you report your finding here? :)

On Tuesday, 18 September 2012 19:51:50 UTC+8, barryhunter wrote:



 On Tue, Sep 18, 2012 at 10:30 AM, Richard Watson wrote:


 However, with CF you ... you can add extra domains for $5 each.  I have a 
 couple of apps on GAE and CF's saving will add up quickly.


 You can host multiple sites/domains on one VIP. No extra charge (from 
 Google). You just need to purchase a certificate that works for all your 
 domains.  One VIP = one certificate, but a certificate can represent 
 multiple domains. Will need to shop around to find a good deal on MDCs 
 thos. 



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



Re: [google-appengine] Re: APP DOWN: App suddenly no longer starts, no code changes

2012-09-12 Thread Thomas Wiradikusuma
Hi Jeff, 

I feel sorry for your loss. I agree completely with your message and your 
recommendation to Google. Hi GAE team, at the very least, please let us 
know when you want to roll out upgrades and stuff. It might not break 
stuff, but we need to know so we can be prepared (at least we won't send 
newsletter to thousands of people, Hey check our website now or schedule 
a pitch to investor).



On Thursday, 13 September 2012 08:35:39 UTC+8, Jeff Schnitzer wrote:

 On Wed, Sep 12, 2012 at 3:12 PM, Kaan Soral kaan...@gmail.comjavascript: 
 wrote: 
  This is why I love App Engine, when a problem occurs instead of having a 
  heart attack or committing suicide, you can just wait for it to be 
 resolved. 

 Hmmm.  This really unfortunately timed incident may have cost us an 
 important client, so I'm not feeling the love. 

 I have quite a lot of experience building and running large online 
 systems prior to embracing GAE and my products have never had as much 
 downtime as I've had over the last year.  It hasn't always been 
 Google's fault (the entire .st registry going down for 8+ hours really 
 sucked[1]) but it usually has been.  See: 

  * Instance startup time ballooning by 3X and hitting deadlines 
 (multiple occasions) 
  * GAE blocking CloudFlare with an undocumented security system 
  * This incident, where Java instances started mysteriously failing 

 Would waiting have fixed these issues?  I'm not convinced.  Google may 
 have smart people running GAE but they aren't watching _my_ app, 
 they're just watching for an uptick in the number of complaints.  If 
 you're doing something slightly unusual (say, running a CF reverse 
 proxy), you might be statistical noise.  Apparently this Java problem 
 _was_ widespread, but I had no way of knowing that. 

 GAE's value proposition is that it's better to have Google's smart 
 engineers building and maintaining your infrastructure.  But my site 
 would be more reliable if I had one dumb person (possibly me) who 
 cares specifically about _my_ infrastructure.  I've screwed up 
 deployments and upgrades in production before, but at least I'm aware 
 when changes happen, get immediate feedback, and can fix the problem 
 right then and there. 

 With GAE, the only thing I can do when my alarms go off is to whine as 
 loudly as possible.  But there is no feedback!  I have no way of 
 knowing if Google is working on the problem or if they're still 
 waiting for more complaints that will never materialize.  Will I be 
 down for 15 minutes, 1 hour, 2 hours, 8 hours, forever?  How long do 
 you want to wait? 

 This feels like a fundamental flaw in the PaaS concept, destined to 
 produce multiple-hour downtimes at irregular intervals.  The feedback 
 loop is too slow (and lossy if the problem is not widespread). 
 There's no amount of QA or testing that will prevent failures in a 
 system as big as complicated as GAE.  So the only reasonable option is 
 to get that feedback loop shorter.  How can that happen?  Some ideas: 

  * Google could announce when they are rolling out changes.  I don't 
 need release notes (although it would be nice to know what to watch 
 for) but I'd like to know when I should pay extra attention.  Or not 
 schedule client demos.  Facebook does something like this, rolling out 
 platform changes on specific days of the week (which I long ago 
 stopped caring about). 

  * Google could make extra support channels available during this 
 time.  Hell, use twitter.  Think of us as your QA staff - if we see 
 something amiss, we'd like to let you know. 

  * Google could be more transparent about problems as they happen. 
 When you know there is an issue, let us know.  Since I must assume 
 that any problem which Google hasn't acknowledged is a problem Google 
 doesn't know about, I can stop spamming @google.com addresses. 

  * Google could monitor our apps, and compare error rates before 
 rollout to error rates after rollout.  Ideally you'd break this down 
 by component; figure out which apps use the search api, so when you 
 roll out changes to the search system, you're specifically watching 
 for an uptick in 500 errors from those apps.  Something like that. 

 Any other ideas?  I really like GAE and I really like the PaaS 
 concept.  But reliability is really a problem.  It's probably going to 
 be an even bigger problem going on into the future as GAE (hopefully) 
 adds new features and gets a bigger footprint.  More moving parts 
 means more failures. 

 Jeff 

 P.S. Paying $6k/yr for Premier Support is not the answer.  Whether or 
 not that would solve my problem, that doesn't solve GAE's problem. 

[1]: 
 http://blorn.com/post/29851770158/beware-cutesy-two-letter-tlds-for-your-domain-name
  


-- 
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/-/OsO531fxrSAJ.
To post to this group, 

Re: [google-appengine] Re: Frameworks on GAE

2012-07-23 Thread Thomas Wiradikusuma
Hi Brandon,

I use both Objectify and low-level access. Objectify for most fixed-field 
entities, and low-level for small entities (for session, as i override 
GAE's Java session) and entities where it can have 30+ fields but only 5+ 
filled in average (but need to store them in 1 entity since people often 
query them together).

On Monday, 23 July 2012 11:29:15 UTC+8, Brandon Wirtz wrote:

 Thomas,

  

 How do you access the datastore?

  

  


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



[google-appengine] Naked https (SSL) domain?

2012-07-22 Thread Thomas Wiradikusuma

Hi guys,

I'm using GAE's official SSL SNI support in my app. Opening 
https://www.temanmudik.com is fine. But opening https://temanmudik.com 
(naked domain) gives warning (in Chrome) that essentially says, Hey, the 
cert is not for temanmudik.com, it's Google's. Non-SSL 
(http://temanmudik.com) properly redirects to www. My appid is neytap.

So I got creative, I logged in to enom (from Google Apps) then removed all 
A mappings (@ - google IPs) and replaced them with one URL Redirect (@ 
- http://www.temanmudik.com). Non-SSL naked domain is still working, but 
now Chrome gives me This webpage is not available. Google Chrome's 
connection attempt to temanmudik.com was rejected. The website may be down, 
or your network may not be properly configured. when I try to 
access https://temanmudik.com.

Anyone know how to properly redirect naked https domain in GAE? I notice 
there is similar question in this forum 
(https://groups.google.com/forum/?fromgroups#!newtopic/google-appengine/google-appengine/A-8I1X9vouk),
 
but it's 2009 and uses unofficial SSL support.

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



[google-appengine] Re: Frameworks on GAE

2012-07-22 Thread Thomas Wiradikusuma
Hi Phil,

Coming from Java world, I'm very much spoiled with frameworks. When I first 
created an app for GAE, I used Spring. But due to unacceptable start-up 
time, I ditched it and just use Servlet+JSP.

I miss a lot of convenience (esp. Spring Security), but luckily GAE 
provides other goodies, things like sending email, cron, persistence, are 
now taken for granted.

I still use a handful of 3rd party components: joda time, SiteMesh, Scala 
(I'm talking from JAR point of view, an extra 8MB), and some other small 
libraries.

Oh, and you can always-on your instances.


On Sunday, 22 July 2012 17:32:41 UTC+8, glimmung wrote:

 Hi All,

 I've been reading, initially with amusement but more recently with 
 concern, the dialogue (for want of a better word) between Brandom Wirtz 
 and Jeff Schnitzer re. startup time/optimisation. Brandom has now made 
 the following very strong statement: NO FRAMEWORKS. NONE. Deal with it.

 This leads me to ask the Google team for their position on this: Is it 
 your position that GAE is an unsuitable platform for framework-driven apps?

 I'm using a framework, and trust the framework's authors to optimise their 
 part of the piece as much as possible, but I'm paid to solve business 
 problems, and am not about to dive into that timesink of esoterica. It's 
 outside my skill-set, and properly so in my view. I've only really tinkered 
 with GAE so far, and this is putting me off investing more time in what is 
 starting to look like a risky platform for me.

 So Google peeps, if I want to write B2B apps using a framework, am I your 
 market or not? 

 Or is it your position that the low-level optimisation to balance start-up 
 time and hosting cost will always be required?


 --

 Cheers,

 PhilK



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



Re: [google-appengine] appengine with spring mvc and sitemesh

2012-07-16 Thread Thomas Wiradikusuma
Sure, I'll send it to you tonight when I reach home.

On Tuesday, 17 July 2012 01:36:28 UTC+8, Slawek wrote:

 Unfortunately i can't compile this project. Could you share your 
 compilated jar file?

 Best Regards
 sw

 On Monday, July 16, 2012 3:32:56 AM UTC+2, Thomas Wiradikusuma wrote:

 I also use SiteMesh for www.neytap.com. AFAIK you must use SiteMesh 2.5+ 
 to be compatible with GAE.
 Grab it from  https://github.com/sitemesh/sitemesh2/.


 On Sunday, 15 July 2012 18:44:42 UTC+8, Slawek wrote:

 Yes, I have checked - there  is nothing.

 Best Regards
 sw


 On Sunday, July 15, 2012 8:04:16 AM UTC+2, rerngvit yanggratoke wrote:

 Have you try check the logs on admin console?

 On Sun, Jul 15, 2012 at 12:24 AM, Slawek s.wojciechow...@gmail.comwrote:

 Hello,
 I have created simple application using spring mvc and it works well 
 both my local computer and app engine. Next I have added sitemesh 
 framework 
 and it work well only on my local machine, on app engine is only empty 
 page 
 without code. I used spring mvc 3.1.1 and sitemash 2.4.2. I haven't idea 
 what should do to start application on app engine.
 Best Regards
 sw

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




 -- 
 Best Regards,
 Rerngvit Yanggratoke 



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



Re: [google-appengine] appengine with spring mvc and sitemesh

2012-07-15 Thread Thomas Wiradikusuma
I also use SiteMesh for www.neytap.com. AFAIK you must use SiteMesh 2.5+ to 
be compatible with GAE.
Grab it from  https://github.com/sitemesh/sitemesh2/.


On Sunday, 15 July 2012 18:44:42 UTC+8, Slawek wrote:

 Yes, I have checked - there  is nothing.

 Best Regards
 sw


 On Sunday, July 15, 2012 8:04:16 AM UTC+2, rerngvit yanggratoke wrote:

 Have you try check the logs on admin console?

 On Sun, Jul 15, 2012 at 12:24 AM, Slawek s.wojciechow...@gmail.comwrote:

 Hello,
 I have created simple application using spring mvc and it works well 
 both my local computer and app engine. Next I have added sitemesh framework 
 and it work well only on my local machine, on app engine is only empty page 
 without code. I used spring mvc 3.1.1 and sitemash 2.4.2. I haven't idea 
 what should do to start application on app engine.
 Best Regards
 sw

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




 -- 
 Best Regards,
 Rerngvit Yanggratoke 



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



Re: [google-appengine] Re: Java instance startup time out of control

2012-06-25 Thread Thomas Wiradikusuma
I went further by JARring everything (classes+small JARs, except Scala JAR 
and GAE Labs JAR). But i don't see big difference :(
From ~18sec to ~15sec.


On Monday, 25 June 2012 08:00:47 UTC+8, Jeff Schnitzer wrote:

 Experiment #1:  JARing my classes. 

 Times are measured by shutting down instance, hitting a URL, looking 
 at request time in logs.  Repeat until bored. 

 First, the control.  My app (sandbox appid), normally deployed 
 (classes in WEB-INF/classes): 

 21118ms 
 23849ms 
 35995ms 
 20556ms 
 21620ms 
 23718ms 
 34446ms 
 42948ms 
 22487ms 
 32722ms 
 34511ms 
 31883ms 

 Redeployed, same code but with classes JARed instead of in 
 WEB-INF/classes: 

 19240ms 
 19386ms 
 19912ms 
 27517ms 
 20400ms 
 20483ms 
 20186ms 
 19517ms 
 20352ms 
 19528ms 
 20856ms 

 What's interesting is that this change didn't improve the best-case 
 load times by much, but it almost eliminated the crazy variance.  This 
 is a huge win. 

 Conclusion:  Use this ant script for deployment: 

 target name=deploy 
 delete dir=${staging.dir} / 
 mkdir dir=${staging.dir} / 

 copy todir=${staging.dir} 
 fileset dir=war 
 exclude name=WEB-INF/classes/** / 
 exclude 
 name=WEB-INF/appengine-generated/** / 
 /fileset 
 /copy 
 jar destfile=${staging.dir}/WEB-INF/lib/classes.jar 
 basedir=${classes.dir} / 
  
 appcfg action=update war=${staging.dir} / 
 /target 


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



Re: [google-appengine] Re: Java instance startup time out of control

2012-06-21 Thread Thomas Wiradikusuma
I have 
updated http://code.google.com/p/googleappengine/issues/detail?id=7706 with 
this information.

On Monday, 18 June 2012 11:44:29 UTC+8, Takashi Matsuo (Google) wrote:

 On Mon, Jun 18, 2012 at 9:57 AM, Thomas Wiradikusuma 
 wiradikus...@gmail.com wrote: 
  Just my 2 cents, 
  
  If indeed our app needs to be single-JARred and obfuscaticated (at least 
 removing unused code), IMO that feature should be baked in the tool. 
 Probably triggered with extra flag. 

 I think this is also a good feedback especially if creating the single 
 JAR contributes the performance. I'd appreciate it if you could file 
 an issue. 



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



Re: [google-appengine] Re: Java instance startup time out of control

2012-06-17 Thread Thomas Wiradikusuma
Just my 2 cents,

If indeed our app needs to be single-JARred and obfuscaticated (at least 
removing unused code), IMO that feature should be baked in the tool. Probably 
triggered with extra flag.

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



Re: [google-appengine] Happy birthday?

2012-04-16 Thread Thomas Wiradikusuma
Happy belated bday GAE and team!


On Monday, 16 April 2012 09:12:38 UTC+8, Brian Quinlan wrote:

 We did cake :-)
 https://plus.google.com/111039891542127786416/posts/hN4PMZ4QqmU

 Cheers,
 Brian

 On Sun, Apr 15, 2012 at 3:48 AM, alex a...@cloudware.it wrote:
  I meant to post this a few days back.
 
  Correct me if I'm wrong but April 8th or 11th is the day App Engine was 
 announced as a limited preview.
 
  If it is correct, well here it is: happy birthday app engine!
 
  alex.
 
  --
  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/-/DZmq8ZLjg1YJ.
  To post to this group, send email to google-appengine@googlegroups.com.
  To unsubscribe from this group, send email to 
 google-appengine+unsubscr...@googlegroups.com.
  For more options, visit this group at 
 http://groups.google.com/group/google-appengine?hl=en.
 



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



Re: [google-appengine] Inefficient Session Implementation on Google App Engine / Java GAE Critics

2012-04-16 Thread Thomas Wiradikusuma
I end up setting session to false and implementing HttpSession myself 
which uses memcache (and +datastore for selected props).


On Tuesday, 17 April 2012 05:51:22 UTC+8, Jeff Schnitzer wrote:

 There isn't a straight-up answer to that.  The question to ask is:
 Why do you think you need a server-side session?  Depending on the
 answer, there are various solutions.

 For example, if you're storing the authentication state of a user in
 the session, store it as a signed cookie instead.  Easy.

 If you have some kind of per-user server-side state you are
 maintaining, stash it in memcache (if it is not essential) or the
 datastore (if it is).  This is what the session does, except that with
 sessions you don't have granular control.  You end up struggling with
 the performance profile because the behavior of sessions in a cluster
 is poorly defined - some people need super transactional robust
 behavior, others don't care if the data expires randomly.

 Jeff

 On Mon, Apr 16, 2012 at 3:27 PM, andrew andrew.macken...@bcntouch.com 
 wrote:
  As an ignorant, can I genuinely ask:
 
  What is the recommended equivalent implementation for apps with high 
 scalability needs (available in Java and NOT using a GAE API directly)?
 
  --
  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/-/OxttnQjWGMEJ.
  To post to this group, send email to google-appengine@googlegroups.com.
  To unsubscribe from this group, send email to 
 google-appengine+unsubscr...@googlegroups.com.
  For more options, visit this group at 
 http://groups.google.com/group/google-appengine?hl=en.
 



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



[google-appengine] Re: Understanding The App Engine Way

2012-02-23 Thread Thomas Wiradikusuma
Is there any documentation mentioning the max size of memcache for an app?

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



Re: [google-appengine] Re: Understanding The App Engine Way

2012-02-23 Thread Thomas Wiradikusuma
I haven't actually used it other than the one provided by Objectify :D

I'm thinking of putting more (mostly rendered pages, recently accessed 
items, lookups), but afraid memcache will become full and evicting more 
important cache objects.

What kind of misuse that you're talking? If I know I would avoid it.

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



[google-appengine] Re: 1.6.3 Prerelease SDK Available

2012-02-22 Thread Thomas Wiradikusuma
This might be a solution looking for problem for me, but I'm curious, why 
would I need that?

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



[google-appengine] Uneven instance load

2011-12-10 Thread Thomas Wiradikusuma
Hi guys,

I'm seeing this:

QPS*Latency*Req Err Age Memory  
Availability
0.000   0.0 ms  3   0   20:03:1462.8 MBytes Resident
0.000   0.0 ms  1   0   1:22:39 57.5 MBytes Resident
0.000   0.0 ms  399 2   19:50:1369.8 MBytes Dynamic -- Why?
0.000   0.0 ms  32  0   2:32:28 67.7 MBytes Dynamic
0.000   0.0 ms  11  0   5:37:17 64.1 MBytes Dynamic

And sometimes, opening my website results in:

Error: Server Error
The server encountered an error and could not complete your request.

If the problem persists, please report your problem and mention this
error message and the query that caused it.

Here's what the log says:

2011-12-10 22:45:49.606 / 500 10202ms 0kb Mozilla/5.0 (Macintosh;
Intel Mac OS X 10.6; rv:6.0.2) Gecko/20100101 Firefox/6.0.2
xxx.xxx.xxx.xxx - - [10/Dec/2011:06:45:49 -0800] POST / HTTP/1.1 500
0 https://apps.facebook.com/propertyads/; Mozilla/5.0 (Macintosh;
Intel Mac OS X 10.6; rv:6.0.2) Gecko/20100101 Firefox/6.0.2
neytap.appspot.com ms=10203 cpu_ms=0 api_cpu_ms=0 cpm_usd=0.68
pending_ms=10179
W 2011-12-10 22:45:49.606
Request was aborted after waiting too long to attempt to service your
request. This may happen sporadically when the App Engine serving
cluster is under unexpectedly high or uneven load. If you see this
message frequently, please contact the App Engine team.

Are the graph and the error related? What should I do?

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



[google-appengine] Re: a happy developer

2011-12-01 Thread Thomas Wiradikusuma
Couldn't agree more! Outstanding work guys!

PS: When can we see 1.6.1?


On Dec 2, 1:11 am, Vivek Puri v...@vivekpuri.com wrote:
 +1

 On Nov 30, 4:59 pm, alex a...@cloudware.it wrote:
  I've seen many people bashing GAE dev team, especially lately.

  What I want to say here is, I've been using it for years now and it's
  pretty awesome what you guys have been doing and where you've gone
  today. Of course there are bugs and stuff you need to find workarounds
  for but it is nowhere near compared to the burden of managing a
  cluster of EC2 on AWS or pay a double to Heroku or RackSpace even if
  they're great platforms too.

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



[appengine-java] Show project: Neytap (classifieds)

2011-11-20 Thread Thomas Wiradikusuma
Hi guys,

Last night I launched my pet project to public, www.neytap.com. It's a
(very) simple classifieds for room rentals inside Facebook.

It runs on GAE/Java and written in Scala, using just Servlet/JSP in
the server. I tried Spring but given up.

Other than that, it uses:
Objectify, StringTemplate, SiteMesh, jQuery (and some plugins),
Backbone.js. Man, I'm really standing on the shoulders of giants.

My design sucks, so the website looks plain. Anyway looking forward
for some suggestion :)

@ikai this is the website I was working on in Google Hackaton in KL :)

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



[google-appengine] Re: New Acceptable Use: Porn?

2011-11-12 Thread Thomas Wiradikusuma
Suddenly GAE cost looks cheap compared to its potential ;-)


On Nov 11, 8:14 am, Gregory D'alesandre gr...@google.com wrote:
 I was wondering when someone was gonna notice.  This was not a mistake.
  The new policy does not prohibit pornography nor gambling.  The policy was
 written to disallow illegal activities but to be flexible in terms of the
 sorts of businesses people are trying to build.  While you need to talk to
 your own lawyers about the legality of the business you build, pornography
 as a whole is no longer disallowed from acceptable use.

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



[google-appengine] Re: What happened to the promised reliability improvement for email delivery?

2011-11-12 Thread Thomas Wiradikusuma
+1 with me.
This sort of thing gives GAE a bad name. Better implement it good or
not at all.

But of course people would wonder, aint email one of Google's
strength? (Gmail)


On Nov 13, 1:50 am, Adrian Scott adr...@coderbuddy.com wrote:
  As far as email goes - personally, I'd rather Appengine shut down the
  email API and put those developers to work on something else.  Email

 I agree, completely...

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



[google-appengine] Re: I have to leave App Engine platform, feeling really bad and sad

2011-11-04 Thread Thomas Wiradikusuma
  1. build an app with the most rapid way (forget about best coding
  practices etc)
  4. pay someone smarter to refine the code and make it scale

 Good luck with that.  If you cannot do #4 on your own then I don't
 believe you will be able to hire someone else who can.  Especially not
 in this market.

Hi Jeff, I agree with you completely. But let's see a hypothetical
scenario:

You and Mr. Joe just happen to work on the same idea, at roughly the
same time.
For simplicity sake, both of you are competent Java programmers with
same skills.
He decides to use AWS and you go with GAE.

Since AWS uses good old technologies, he's faster to deliver. Of
course, yours is
more scalable, but probably you won't get to the point where it is
required,
because Mr. Joe already grab the market.

Being scalable is a requirement.. at later stage. But before everyone
sees anything,
being *first* is more important.

Even if you are able to deliver at the same time, as Adrian pointed
out, his unoptimized
version would probably has better performance than yours (and no
deadline exception).


 There is an acclimatization period to working with GAE.  It's much
 shorter than the acclimatization period required to work with
 Spring/Hibernate/SQL, except that perhaps you've already gone through
 the later.  After you work with GAE for long enough, most
 architectural issues become pretty obvious.  I find that I am now
 *much* faster developing GAE apps than J2EE apps, and I never find
 myself scratching my head wondering why some query isn't performing
 the way I expect.

I think many GAE developers are corporate programmers who use GAE on
the
side (it's rare to find someone who quit his job to focus on a
platform
that's still on preview). As such, their acclimatization to GAE is
slow(er than their existing experience). But I agree with you.

Until that happen, I'll still scratch my head when some framework
doesn't work :)

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



[google-appengine] Re: I have to leave App Engine platform, feeling really bad and sad

2011-11-03 Thread Thomas Wiradikusuma
Typical startup flow is like this:
1. build an app with the most rapid way (forget about best coding
practices etc)
2. get traction
3. get funding
4. pay someone smarter to refine the code and make it scale

Even in the 'right way' scenario, people often defer optimization as
premature optimization is the root of all evil. But developing in
GAE forces us to optimize from the beginning (e.g. must use index,
must denormalize, must make program startup fast).

That's not all bad, but I think it's making us slow. Partly because
we' accustomed to develop normal apps (use SQL with all its bells
and whistles, use Spring for Java, freedom of framework/stack, etc).
What do you guys think?


On Nov 4, 6:29 am, Sun Jing kea...@gmail.com wrote:
 I think there must be a way to optimize, but I agree with you that it's not
 worth redesigning and rewriting your site.

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



[google-appengine] Re: data just a bit over free quota

2011-11-02 Thread Thomas Wiradikusuma
Hi Brandon, could you elaborate more on that? Do you zip all fields?
Or put in 'shared field' (e.g JSON it) then zip it?
For savings, I'm all ears :)

On Nov 3, 4:06 am, Brandon Wirtz drak...@digerat.com wrote:
 You should consider the Zip, unzip thing... It made my app faster and
 significantly smaller.  About 40% smaller.  I even zip my memcache because I
 can get more into it that way.

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



[google-appengine] Re: data just a bit over free quota

2011-11-02 Thread Thomas Wiradikusuma
My app name has 6 chars (although it means i have to add extra chars
to register for Fb app name, ouch).
Models are 1 char (e.g. U for User, P for Page), and fields are 1-2
chars. Lucky I use Objectify so I can use getEmail() instead of
e :)

But for savings, I'm not sure, as I never have same app with expanded
field names to compare.
But I'm sure it will save a bit as GAE stores entity+field name in
each record+index (CMIIW).


On Nov 2, 8:08 am, Jeff Schnitzer j...@infohazard.org wrote:
 Rumor has it that short appids, short kind names, and short field names
 have an effect.  I'd be curious to know exactly how much.

 Jeff

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



[appengine-java] Re: Serious Performance Issues Due To Constant Startup of New Instances

2011-10-23 Thread Thomas Wiradikusuma
I was using Spring, Spring Security, Sitemesh, JSP and Objectify.
Sometimes I experienced deadline exception (remember last time request
timeout was set to 30sec).

Now that I use JSP, Servlet, Objectify and custom Sitemesh, it takes
less than 5secs to warmup.


On Oct 24, 3:16 am, Miroslav Genov mge...@gmail.com wrote:
 We had a similar issue with JDO, so we switched to twig-persist which starts
 faster then JDO and has a really nice API.

 About spinning, you can specify how long GAE can wait for new request to
 complete, until start a new instance of the application to handle it. You
 can check this options in the Application Settings page in the admin panel
 of your application under label Performance.

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



[google-appengine] can't get appId from remote api; status code = 302

2011-10-17 Thread Thomas Wiradikusuma
Hi guys,

I keep getting 302 when uploading data to my Java app, and I'm already
using Google Accounts API as Authentication Options.

Exception in thread main java.io.IOException: can't get appId from
remote api; status code = 302
at
com.google.appengine.tools.remoteapi.RemoteApiInstaller.getAppIdFromServer(RemoteApiInstaller.java:
313)
at
com.google.appengine.tools.remoteapi.RemoteApiInstaller.loginImpl(RemoteApiInstaller.java:
276)
at
com.google.appengine.tools.remoteapi.RemoteApiInstaller.login(RemoteApiInstaller.java:
237)
at
com.google.appengine.tools.remoteapi.RemoteApiInstaller.install(RemoteApiInstaller.java:
106)
at com.google.appengine.tools.remoteapi.RemoteApiInstaller
$install.call(Unknown Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
42)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
108)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
116)

Any clue?

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



[google-appengine] Re: can't get appId from remote api; status code = 302

2011-10-17 Thread Thomas Wiradikusuma
Yep, I did everything in the book:
- Set Google Accounts API as Authentication Options
- Don't login as administrator with Google Apps account
- Set the /remote_api servlet

Anything that I miss?

On Oct 18, 5:16 am, Muneer Malik tutti...@gmail.com wrote:
 did you deploy the remote servlet on the 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 google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Announcing SSL for Custom Domains Trusted Tester Program

2011-10-17 Thread Thomas Wiradikusuma
Wow this is big news! I currently don't need it, but will eventually
use it. Congrats guys!

On Oct 17, 4:13 pm, Cayden Meyer cay...@google.com wrote:
 Hey everyone,

 I am pleased to announce that we are accepting signups for the SSL for
 custom domains Trusted Tester Program. This will allow you to serve
 secure traffic for your App Engine application from your own
 domain(https://your.domain.com) rather than your appspot.com domain
 (https://your-app-id.appspot.com).

 We will be offering two types of SSL service, Server Name Indication
 (SNI) and Virtual IP(VIP). SNI will be significantly less expensive
 than VIP when this service is fully launched, however unlike VIP it
 does not work everywhere SSL is supported, notably it is not supported
 by IE and Safari on Windows XP. Multiple certificates are supported by
 SNI, while the VIP service only supports a single certificate per
 virtual IP address. Wildcard certificates and certificates with
 alternate names are supported by both SNI and VIP.

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



[google-appengine] Re: Google App Engine service

2011-10-10 Thread Thomas Wiradikusuma
Hi Kevin,

Sorry OOT, I'm interested to know whether App Engine apps can be
opened from China, or are you targeting other countries?

On Oct 9, 11:09 am, kevin yang kevinyang.bi...@gmail.com wrote:
 I am a Chinese python coder and I want to use Google App Engine
 service. However, my cell phone cannot receive the SMS verification
 code because I am now in China.
 phone code:+8613532992995

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



[google-appengine] Entity name vs property

2011-09-10 Thread Thomas Wiradikusuma
Hi guys,

I have this entity:

House {
- country
- state
- address
- owner
- ...
}

Since I will *always* limit queries to be inside specific country
+state combo, would it be more efficient (faster, smaller datastore,
smaller index) if I just shard them into different entities? E.g.:

HouseBaId (for houses in Bali, Indonesia), HouseTxUs (for houses in
Texas, US), etc.

Query-wise, it is shorter, e.g. select * from HouseUsTx instead
select * from House where country = 'us' and state = 'tx.

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



[google-appengine] Re: Best practice to save entity avoiding duplicate

2011-09-08 Thread Thomas Wiradikusuma
Hi Ikai, yeah I'm that Thomas :D

Thanks for your suggestion.

I can't use lat/lang since postings from one apartment will result in
unnecessary false positives. They are indeed located in the same
place, just different house number.

I will probably normalize the address and hash on that. It doesn't
need to be sophisticated since my intention is to handle scenario
where 2 or more people who happen to stay at the same house decide to
find a housemate (can't blame them, I use Gtalk to chat with my
housemate who is just next door).

OOT: Why is web safe cursor string very long? Can I make it shorter?


On Sep 8, 5:00 am, Ikai Lan (Google) ika...@google.com wrote:
 Thomas, another problem with the hash solution is that it doesn't deal with
 weird things like spacing or casing. Also - Ave/avenue, Street, st., st, and
 so forth. If you're the same Thomas I think you are, also remember how many
 ways someone can write Jalan.

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



[google-appengine] Best practice to save entity avoiding duplicate

2011-09-06 Thread Thomas Wiradikusuma
Hi guys,

I'm working on something like AirBnB but much simpler. I want to hint
user whenever he/she tries to submit duplicate entry.

Currently, my model looks like:

House {
Id
Username
Address
State
Country
}

The id is made of address+state+country MD5. Is this the correct way
to do it? Or, should I go with auto-generated Id and add extra field
named 'hash', or how?




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



[google-appengine] Re: Our new performance tuning best practices document

2011-08-27 Thread Thomas Wiradikusuma
+1 for the Wiki idea.

On Aug 28, 10:26 am, James Broberg jbrob...@gmail.com wrote:
 Great stuff Per - and you have an interesting application there. It
 makes me wonder whether it would be worthwhile setting up a central
 shared wiki somewhere so we could all contribute our best practices.

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



[appengine-java] Re: Upload attachments Google Sites

2011-08-23 Thread Thomas Wiradikusuma
Hi Ikai,

Just wondering, is it possible if instances are given limited space
temp dir where programs can write to it?
It will greatly help 3rd party frameworks which use file system for
temp data.

On Aug 24, 5:53 am, Ikai Lan (Google) ika...@google.com wrote:
 Hah, I should have looked at the code. Yeah, my example writes the thing to
 disk. Thanks for the catch, Stephen!

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



[appengine-java] Java PaaS shoutout

2011-08-18 Thread Thomas Wiradikusuma
Hi guys,

I just stumbled upon this article:
http://www.ibm.com/developerworks/java/library/j-paasshootout

Are these constraints/limitations still valid? (the article date is
April 2011)

GAE forces any application-initiated connection to close after 5 to
10 seconds

But its raw performance is often slow.. ..GAE often takes 1 to 3
seconds to respond to database-related requests.

One tip: Set up a cron job inside GAE to load your own website every
2 to 3 minutes to keep the JVM active.

GAE limits the returned dataset of each query to 1,000 rows

GAE allows only 100 indexes per table

GAE provides no easy way to delete indexes that are no longer in use

doesn't support free text search in the database

no standard API for directly accessing BigTable, you must write data-
import and data-export logic into servlets inside your own
application, and use your own web interface to import or export data

some of the components in GAE still feel experimental rather than
production-ready

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



[appengine-java] Re: Gaelyk 1.0 is here, the lightweight Groovy toolkit for Google App Engine

2011-08-05 Thread Thomas Wiradikusuma
Guillaume, congrats to Gaelyk and all its developers! Glad to hear
it's now version 1.0!
I'm currently developing admin console for my app, so far so good :)

On Aug 6, 10:00 am, Guillaume Laforge glafo...@gmail.com wrote:
 Hi all,

 I'm very happy to announce the *final release of Gaelyk 1.0*, the
 lightweight Groovy http://groovy.codehaus.org toolkit for Google App
 Engine!

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



[appengine-java] Re: When to use a String as ID? (using Objectify and GWT)

2011-06-15 Thread Thomas Wiradikusuma
Sorry for the stupid question, but in what scenarios would we need to
allocate id?

Usually if I need the id to be something, i just use string (e.g.
email address), otherwise, just let datastore set it for me (when
persisting).

On Jun 15, 6:26 pm, Drew Spencer slugmand...@gmail.com wrote:
 Just one question - the DatastoreService.allocateIdRange() - when would this

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



[google-appengine] GAE Hackaton in KL, anyone?

2011-06-13 Thread Thomas Wiradikusuma
Hi guys,

Any of you attending GAE Hackaton in KL, Malaysia, this weekend? I
reserved my spot. Any of you attended it anywhere else before? How's
the experience? Is this similiar with Startup Weekend?

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



[appengine-java] AccessControlException java.io.FilePermission

2011-05-10 Thread Thomas Wiradikusuma
Hi guys,

I don't know why, recently I always get this error everytime I run GAE/
J.

HTTP ERROR 500

Problem accessing /index.jsp. Reason:

Request processing failed; nested exception is
java.security.AccessControlException: access denied
(java.io.FilePermission /Users/wiradikusuma/Documents/code/myapp/
web/target/classes/context.xml read)

Caused by:

org.springframework.web.util.NestedServletException: Request
processing failed; nested exception is
java.security.AccessControlException: access denied
(java.io.FilePermission /Users/wiradikusuma/Documents/code/myapp/
web/target/classes/context.xml read)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:
656)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:
549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
511)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
390)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
at
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
70)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
at
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:
706)
at
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:
677)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:54)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:
377)
at
org.apache.jasper.servlet.JspServlet._serviceJspFile(JspServlet.java:
313)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at com.google.appengine.tools.development.PrivilegedJspServlet.access
$101(PrivilegedJspServlet.java:23)
at com.google.appengine.tools.development.PrivilegedJspServlet
$2.run(PrivilegedJspServlet.java:59)
at java.security.AccessController.doPrivileged(Native Method)
at
com.google.appengine.tools.development.PrivilegedJspServlet.service(PrivilegedJspServlet.java:
57)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
511)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1166)
at myapp.CustomFilter.obtainContent(CustomFilter.java:190)
at myapp.CustomFilter.doFilter(CustomFilter.java:150)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:
109)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:
83)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:
97)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:
100)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:
78)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:
54)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:
35)
at 

[appengine-java] Re: AccessControlException java.io.FilePermission

2011-05-10 Thread Thomas Wiradikusuma
Btw this is the console output (I'm using IntelliJ):

/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/bin/java -
javaagent:/java/appengine-java-sdk-1.4.3/lib/agent/appengine-agent.jar
-XstartOnFirstThread -javaagent:/java/JRebel/jrebel.jar -noverify -
Dfile.encoding=MacRoman -classpath /java/appengine-java-sdk-1.4.3/lib/
appengine-tools-api.jar
com.google.appengine.tools.development.DevAppServerMain --
address=0.0.0.0 -p 8080 --disable_update_check /Users/wiradikusuma/
Documents/code/myapp/web/war

May 11, 2011 2:13:47 AM com.google.apphosting.utils.jetty.JettyLogger
info
INFO: Logging to JettyLogger(null) via
com.google.apphosting.utils.jetty.JettyLogger
May 11, 2011 2:13:47 AM
com.google.apphosting.utils.config.AppEngineWebXmlReader
readAppEngineWebXml
INFO: Successfully processed /Users/wiradikusuma/Documents/code/myapp/
web/war/WEB-INF/appengine-web.xml
May 11, 2011 2:13:47 AM
com.google.apphosting.utils.config.AbstractConfigXmlReader
readConfigXml
INFO: Successfully processed /Users/wiradikusuma/Documents/code/myapp/
web/war/WEB-INF/web.xml
May 11, 2011 2:13:47 AM com.google.apphosting.utils.jetty.JettyLogger
info
INFO: jetty-6.1.x
May 11, 2011 2:13:48 AM
com.google.appengine.tools.development.ApiProxyLocalImpl log
INFO: javax.servlet.ServletContext log: Initializing Spring root
WebApplicationContext
May 11, 2011 2:13:51 AM
com.google.appengine.tools.development.ApiProxyLocalImpl log
INFO: javax.servlet.ServletContext log: Initializing Spring
FrameworkServlet 'dispatcher'
May 11, 2011 2:13:52 AM
com.google.appengine.api.datastore.dev.LocalDatastoreService load
INFO: Time to load datastore: 107 ms
May 11, 2011 2:13:52 AM com.google.apphosting.utils.jetty.JettyLogger
info
INFO: Started SelectChannelConnector@0.0.0.0:8080
May 11, 2011 2:13:52 AM
com.google.appengine.tools.development.DevAppServerImpl start
INFO: The server is running at http://localhost:8080/
Connected to server
May 11, 2011 2:14:16 AM com.google.apphosting.utils.jetty.JettyLogger
warn
WARNING: /index.jsp
org.springframework.web.util.NestedServletException: Request
processing failed; nested exception is
java.security.AccessControlException: access denied
(java.io.FilePermission /Users/wiradikusuma/Documents/code/myapp/
web/target/classes/context.xml read)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:
656)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:
549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
511)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
390)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
at
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
70)
... same exception as previous post

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



[google-appengine] Re: Using App Engine as a server for an Android game.

2011-05-03 Thread Thomas Wiradikusuma
Hi Ikai,

Sorry I'm hijacking this thread, but I'm curious, this under 1000ms
thing, is it for all requests including startup (cold start), or
excluding that? This is a concern for me as I'm using Java.

On May 4, 1:48 am, Ikai Lan (Google) ika...@google.com wrote:
 You're going to exceed free quotas before you hit 500 QPS.

 The system is set up to autoscale if your requests finish under 1000ms. The
 faster the better.

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



[google-appengine] Re: Using App Engine as a server for an Android game.

2011-05-03 Thread Thomas Wiradikusuma
Hi Ikai,

Sorry I'm hijacking this thread, but I'm curious, this under 1000ms
thing, is it for all requests including startup (cold start), or
excluding that? This is a concern for me as I'm using Java.

On May 4, 1:48 am, Ikai Lan (Google) ika...@google.com wrote:
 You're going to exceed free quotas before you hit 500 QPS.

 The system is set up to autoscale if your requests finish under 1000ms. The
 faster the better.

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



[appengine-java] SystemProperty.environment.value() throws NPE: Name is null in Play Framework

2011-05-01 Thread Thomas Wiradikusuma
Hi guys,

I was playing with Play Framework and Objectify, then I hit this
problem. Whenever I add @Cached to any entity, the entity can't be
put.
The detail is here: 
http://groups.google.com/group/objectify-appengine/browse_thread/thread/de298fe07741cd53

Jeff Schnitzer suggested me to try executing plain
SystemProperty.environment.value() in my Play code. And it indeed
throws:

Internal Server Error (500) for request GET /

Execution exception (In /app/controllers/Application.java around line
14)
NullPointerException occured : Name is null

play.exceptions.JavaExecutionException: Name is null
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:228)
at Invocation.HTTP Request(Play!)
Caused by: java.lang.NullPointerException: Name is null
at java.lang.Enum.valueOf(Enum.java:236)
at com.google.appengine.api.utils.SystemProperty$Environment
$Value.valueOf(SystemProperty.java:70)
at com.google.appengine.api.utils.SystemProperty
$Environment.value(SystemProperty.java:91)
at controllers.Application.index(Application.java:14)
at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:
541)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:499)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:
475)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:
470)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:158)
... 1 more

I want to submit this to Play community, but I think it's more to GAE.
Or should I post this there?

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



[google-appengine] Re: GAE Hauling the Freight

2011-04-30 Thread Thomas Wiradikusuma
Man this is awesome, thanks for sharing with us!
It makes us who choose GAE feel good, after these OMG cloud is
falling stuff :)

On Apr 29, 3:44 pm, Brandon Wirtz drak...@digerat.com wrote:
 900 Megabytes per second Burst for about 10 minutes, with 375 MBps for about
 9 hours.  That's 7.2Gigabits burst.  To do that on a traditional hosting
 provider would be 8 Dedicated machines serving Gigabit each, and a 10 gig
 load balancer.  Would have been about $15k a month with a traditional
 hosting provider for this capacity.  Client will spend about $1500 this
 month instead, after our markup of the service.

 This is partly me bragging, but more it was a great demonstration of the
 elasticity of the product.  Look at the traffic before and after the spike.
 GAE really shines on sites where you only need 100x the capacity 10 minutes
 a week. And 50x for 6 hours a week.

  image001.png
 45KViewDownload

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



[appengine-java] Re: Which one is best for development...Spring Framework or Servlet Jsp....

2011-04-20 Thread Thomas Wiradikusuma
I'm also using Spring MVC and Spring Security.

I tried to ditch Spring in favor of Guice, but in the end I couldn't
live without it. Form handling, i18n, security, etc, everything make
me go back to Spring :) I use manual wiring, so performance is
acceptable. I no longer get timeout when first loading.

On Apr 20, 11:30 am, Nick Rudnik nrud...@gmail.com wrote:
 Spring MVC 3 works very well inside App Engine. I have a fairly small and
 simple application and see a load time of around 20 seconds also.

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



[appengine-java] How to model object with lots of small properties

2011-04-10 Thread Thomas Wiradikusuma
Hi guys,

I want to model an object with lots of small properties, e.g.:

House {
  boolean hasAirCond, boolean hasInternet, boolean nearSchool, etc;
}

Is this naive way the best way to model it? Is there any better GAE-
way to do this?

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



[appengine-java] Re: Happy Birthday Google App Engine !!

2011-04-06 Thread Thomas Wiradikusuma
I agree with Rajkumar,

GAE/J is a very important service, especially for indie Java
developers like me.
The service is getting better, and the developer groups are vibrant.

Happy Birthday GAE!

regards,
Thomas Wiradikusuma

On Apr 7, 12:17 pm, Rajkumar Radhakrishnan r.rajku...@gmail.com
wrote:
 Hi,

 It is now 3 years since Google App Engine was first released. *Happy
 Birthday Google App Engine !!*

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



[google-appengine] Re: Redirect from naked domain preserving full path

2011-04-01 Thread Thomas Wiradikusuma
Hi Giacinto,

I'm having exactly the same problem. Can you get into more detail
(step-by-step, starting from 
https://www.google.com/a/cpanel/MYDOMAIN/DomainSettingsDomains
probably?) on how you get it done? I understand your post, but I'm
afraid I might click/delete the wrong stuff.

On Mar 31, 2:31 am, Giacinto decata...@gmail.com wrote:
 Well, i solved the problem! None of the previous solutions is really the
 good solution, or better, none is complete. The real problem of the lost
 request's full path is the google autosetting for www redirect!

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



[google-appengine] Re: gae needs a counter service

2011-03-17 Thread Thomas Wiradikusuma
But by saying that, you agree that it's indeed difficult and it can be
implemented in various ways, which actually only lead to one thing: a
counter.

If GAE has it built-in, lazy people like me don't have to scratch head
to implement one that works efficiently (and keep wondering whether
there's better implementation elsewhere), because the wheel is already
invented.

But I agree that covering all use cases are hard.

On Mar 17, 10:49 am, Robert Kluin robert.kl...@gmail.com wrote:
 Implementing a scalable counter is pretty hard, and different uses
 have different requirements on the behavior of counters.  Some will
 apps might demand sequential numbers, others monotonically increasing
 (but not necessarily sequential) numbers, some might also need to
 support decrementing the counter.  There are several techniques you
 can use to create a counters, depending on your needs and the traffic
 your app gets.  I suspect that's why Google does not provide it as
 service -- it won't satisfy everyone's needs.

 Robert

 On Wed, Mar 16, 2011 at 22:38, Thomas Wiradikusuma







 wiradikus...@gmail.com wrote:
  I agree with David.

  It's a bit higher level compared to other GAE services, but from
  application perspective, it's just another plumbing.
  Just like MapReduce in GAE and AppStats, they sit on top of existing
  services, yet they are considered low level for the rest of us.

  Just my 2 cents :)

  On Mar 17, 2:52 am, Ikai Lan (Google) ika...@google.com wrote:
  So there are different schools of thoughts on this issue. There are those 
  of
  us who think that App Engine should be as bare metal as possible,there are
  those of us who think App Engine should provide every single possible API,
  and there are people who argue for various positions in between.

  I personally think this makes sense as a configurable option or a library,
  but then that requires that we have a better place to surface App Engine
  libraries. There are a lot of great libraries today, but even now, it's not
  obvious to developers how to find Googler maintained projects like App
  Engine Mapper (http://code.google.com/p/appengine-mapreduce/) or the
  Pipeline API (http://code.google.com/p/appengine-pipeline/). Don't even get
  me started on non-Googler maintained projects like Fantasm 
  (http://code.google.com/appengine/articles/fantasm.html).

  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, Mar 15, 2011 at 10:25 PM, David Keyes keyes...@gmail.com wrote:
   Been using gae/j for a while now.  One big missing piece IMO is a service
   that would allow me to manage global distributed counters.  Yes I know 
   that
   there are patterns for doing this (e.g. sharding), but it is such a 
   common
   use case that I think a highly optimized service would be ideal.

   The perfect solution would allow me to have read-only access to the
   counters via the datastore.

   Thoughts?

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

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

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



[google-appengine] Re: gae needs a counter service

2011-03-16 Thread Thomas Wiradikusuma
I agree with David.

It's a bit higher level compared to other GAE services, but from
application perspective, it's just another plumbing.
Just like MapReduce in GAE and AppStats, they sit on top of existing
services, yet they are considered low level for the rest of us.

Just my 2 cents :)

On Mar 17, 2:52 am, Ikai Lan (Google) ika...@google.com wrote:
 So there are different schools of thoughts on this issue. There are those of
 us who think that App Engine should be as bare metal as possible,there are
 those of us who think App Engine should provide every single possible API,
 and there are people who argue for various positions in between.

 I personally think this makes sense as a configurable option or a library,
 but then that requires that we have a better place to surface App Engine
 libraries. There are a lot of great libraries today, but even now, it's not
 obvious to developers how to find Googler maintained projects like App
 Engine Mapper (http://code.google.com/p/appengine-mapreduce/) or the
 Pipeline API (http://code.google.com/p/appengine-pipeline/). Don't even get
 me started on non-Googler maintained projects like Fantasm 
 (http://code.google.com/appengine/articles/fantasm.html).

 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, Mar 15, 2011 at 10:25 PM, David Keyes keyes...@gmail.com wrote:
  Been using gae/j for a while now.  One big missing piece IMO is a service
  that would allow me to manage global distributed counters.  Yes I know that
  there are patterns for doing this (e.g. sharding), but it is such a common
  use case that I think a highly optimized service would be ideal.

  The perfect solution would allow me to have read-only access to the
  counters via the datastore.

  Thoughts?

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

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



[google-appengine] Re: Unable to remove a GAE app from my Google Apps dashboard.

2011-03-07 Thread Thomas Wiradikusuma
Hi Gary,

How did you solve this? It's been days and I still have *two* GAE apps
in my Google Apps. One the M/S version, the other one the HR version.


On Mar 7, 8:31 am, Gary Eberhart g...@animalengine.org wrote:
 I went back two minutes later and animalengineorg was gone. It looks like
 sometime after the app has been deleted from GAE and disabled on Google Apps
 it will finally be removed from the dashboard. Thank you.

 On Sun, Mar 6, 2011 at 5:26 PM, Gary Eberhart happycatmad...@gmail.comwrote:







  Hello,

  How do you permanently remove a Google App Engine App from the dashboard?
  I've already deleted the GAE app for animalengineersorg.  I've disabled the
  app from by clicking on the link on the dashboard. Any suggestions would be
  greatly appreciated.

  Thank you. Gary

  https://lh6.googleusercontent.com/_A9MwIRoKlwE/TXQlWTlElkI/AE...

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

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



[google-appengine] Re: Please reset my index

2011-03-05 Thread Thomas Wiradikusuma
Hi Robert,

Thanks! I'll bookmark it :) I didn't know such tool exist.

On Mar 5, 12:07 pm, Robert Kluin robert.kl...@gmail.com wrote:
 Thomas,
    http://code.google.com/appengine/docs/python/tools/uploadinganapp.htm...

    Remove the index from index.yaml, then appcfg.py vacuum_indexes .

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



[google-appengine] Re: Please reset my index

2011-03-04 Thread Thomas Wiradikusuma
@Wim den Ouden

Thanks, I will bookmark this :)

@Ikai

If you look at my index (appid: lelanggokil-hr), Payment has 2
indices, but the first one (with ancestor) is no longer valid.
Initially I made Payment child of Member, now I remove the
relationship. But the index is still there.

Is this harmless?


On Mar 5, 3:11 am, Ikai Lan (Google) ika...@google.com wrote:
 Your indexes are serving. What are you asking for?

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



[google-appengine] Please reset my index

2011-03-03 Thread Thomas Wiradikusuma
Hi App Engine team,

Can you please reset index for my app lelanggokil-hr? Thanks in
advance :)

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



[google-appengine] Re: Manage new releases on App Engine

2011-02-25 Thread Thomas Wiradikusuma
I'm sorry, I might be missing something,
but isn't (from docs) Warmup requests are enabled by default for all
Java applications?
Basically you don't need to enable anything right?


On Feb 26, 2:18 am, footy anuj.hoo...@gmail.com wrote:
 We do have warmup requests enabled for the app.



 Sahid Orentino Ferdjaoui wrote:
  Hello,

  I think you need to to implement Warmup Request
 http://code.google.com/appengine/docs/java/config/appconfig.html#Warm...

  That can help you.

  --sahid
    .
   ..:

  On Fri, Feb 25, 2011 at 5:53 PM, footy anuj.hoo...@gmail.com wrote:
   I was wondering what is the best to manage a new release on App Engine.
   Say for example we have a live version (default) as 1.0.0 and we make
   changes to our code and deploy to a new version as 1.0.1.

   When I change the default from 1.0.0 to 1.0.1 it takes GAE to propogate
   changes across the cluster.
   During this period all of our users recieve 'Server Error'

   I was wondering how can this managed in a better way.
   1. Is there a way to have some sort of 'Down for maintenance' page?
   2. Is there a possibility to control the propogation?

   Looking forward to your answers and help.
   Cheers

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

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



[google-appengine] Re: love letter to appengine team (see attached)

2011-02-19 Thread Thomas Wiradikusuma
Hi Ikai, what if my app is clean? (i.e. I dont mind deleting
everything *but* want to keep the ID).
Is there any button/anything to make the switch?

On Feb 19, 6:54 am, Ikai Lan (Google) ikai.l+gro...@google.com
wrote:
 Nope, you'll have to create a new application ID. Once you have a migration
 plan, if you open a billing ticket, we can create an application alias from
 your old app ID to your new ID as well as give you more App Engine apps.

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



 On Fri, Feb 18, 2011 at 12:38 PM, Brandon Wirtz drak...@digerat.com wrote:
  Is there a way to convert existing apps to HR?  I was hoping to not create
  new app names for all my apps, or burn through my app allocation…

  *From:* google-appengine@googlegroups.com [mailto:
  google-appengine@googlegroups.com] *On Behalf Of *Ikai Lan (Google)
  *Sent:* Friday, February 18, 2011 12:05 PM
  *To:* Google App Engine
  *Subject:* Re: RE: [google-appengine] love letter to appengine team (see
  attached)

  Thanks guys! We're working hard on the reliability picture, but you can
  take yourself 95% of the way there if you switch to High Replication
  datastore.

  --

  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

  On Thu, Feb 17, 2011 at 11:54 AM, Philippe Beaudoin 
  philippe.beaud...@gmail.com wrote:

  +1 I love working with AppEngine -- the design choices are sensible, the
  speed is great (esp. with the latest additions), and it's dirt cheap.
  Thanks!!!

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

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

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

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



[google-appengine] Re: Sending to non-existent channel

2011-02-06 Thread Thomas Wiradikusuma
It will cause overhead to remove dead channels in the loop, because I
must update both memcache and datastore. Right now I do the loop like
my first message, and then set cron every 30min to remove dead
channels.

I think this is a very common use case and should be handled at lower
level (i.e. the Channel API itself). I think lots of app will use
Channel API to broadcast message, so there's a need to:
- have the list both in memcache and datastore
- keep it updated (if channel no longer valid, remove from list)


On Feb 6, 5:23 pm, Remigius remigius.stal...@gmail.com wrote:
 Having no personal experience with channels so far, the only thing I
 can suggest is the following small improvement:

 for each channelId in list {
   try { send } catch { remove the affected channel from the list }

 }

 See also channel wish list above...

 Best regards,

 Remigius.

 On Feb 3, 6:59 pm, Thomas Wiradikusuma wiradikus...@gmail.com wrote:







  Hi guys,

  I learn that (at least in Java) ChannelService.sendMessage will throw
  exception when sending to non-existent channel (i.e. channelId no
  longer valid).

  Now assume this situation:
  Every time someone opens your website, clientId token is generated and
  kept in a list in the server, so you can push them messages.
  Some of them may close the website shortly after visiting. But of
  course our server app doesn't know how to update the list, so it will
  have some dead channelIds.

  I can handle that by:

  for each channelId in list {
    try { send } catch (ignore it)

  }

  But isn't that slow? Is there any better way to handle this situation?

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



[google-appengine] [Channel API] Sending to non-existent channel

2011-02-03 Thread Thomas Wiradikusuma
Hi guys,

I learn that (at least in Java) ChannelService.sendMessage will throw
exception when sending to non-existent channel (i.e. channelId no
longer valid).

Now assume this situation:
Every time someone opens your website, clientId token is generated and
kept in a list in the server, so you can push them messages.
Some of them may close the website shortly after visiting. But of
course our server app doesn't know how to update the list, so it will
have some dead channelIds.

I can handle that by:

for each channelId in list {
  try { send } catch (ignore it)
}

But isn't that slow? Is there any better way to handle this situation?

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



[google-appengine] Re: Disconnect notification via Channel API?

2011-01-31 Thread Thomas Wiradikusuma
Hi guys, any news on this?

I'm maintaining a set of active channel tokens in the server so I can
push message to them. I need a way to evict dead tokens (due to either
expired per Channel API spec or abandoned page).

What is the best way to do that eviction without disconnect
notification?

On Dec 21 2010, 10:29 pm, ajaxer calid...@gmail.com wrote:
 great!.
 i am waiting.

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



[google-appengine] Channel API from mobile

2010-12-26 Thread Thomas Wiradikusuma
Hi guys,

I tried Channel API from BlackBerry 8900 and 9700, doesn't work.
jQuery can run there so I thought Channel API can run too.
Anyone tried with other BlackBerry with positive result?

Anyone successfully tried from Android/iPhone/other?

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



[google-appengine] Re: Memcache expirity and get-for-update

2010-12-09 Thread Thomas Wiradikusuma
Hi Ikai,

Thanks for your answer.


 1. From what I remember, no. The initial expiry time is the set expiration.

I tested and confirmed. So I simply:

obj = memcache.get(key)
if (obj not null) memcache.put(key, obj, 30min)


 2. If I understand you correctly, the operation you're looking for is
 probably CAS - Memcache check-and-set. Unfortunately, we don't support this
 operation right now. There are ways to implement similar functionality with
 INCR/DECR (atomic operations).

I want to keep a list of recipients for channel api purpose. Every
time somebody logs in, the list will be fetched from memcache, put the
user inside and push back the list to memcache. Is there any better
way to do this since memcache doesn't support check-and-set?


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



[google-appengine] Memcache expirity and get-for-update

2010-12-08 Thread Thomas Wiradikusuma
Hi guys,

Is memcache's expire strategy work like http session's?

In http session, if you set it to expire in 30 minutes and you access
a page in minute 29th, it will be prolonged for another 30 minutes.
Is this also the case for memcache? If not, is there any atomic way
to do it? (i.e. not by doing get-and-put)

Second question, I have an entry that will be updated by lots of
users,
is there any get-for-update for memcache?

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



[appengine-java] Tic Tac Toe not there

2010-12-02 Thread Thomas Wiradikusuma
I just read 1.4.0 release announcement, congrats to GAE team!

Btw the sample project doesn't seem to exist
http://code.google.com/p/java-channel-tac-toe/

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



[appengine-java] Sync datastore between server and local

2010-11-04 Thread Thomas Wiradikusuma
Hi,

Is there any way to sync data in datastore between server (live)
and
local (localhost)? I have some test data that I want to make
available
to both environments.

Another question:

I'm splitting the web to front-facing webapp and admin panel
webapp:
web.latest.myapp.appspot.com and admin.latest.myapp.appsot.com.

I'm aware that both share the same datastore in the server (live).
Can
I do that (share same datastore) in local (localhost)? I.e. Can I
make
two (or more) Java webapps to access the same datastore file?

(this is a repost from google app engine group)

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



[appengine-java] Re: Gaelyk 0.5 released, with images, urlfetch, capabilities services enhancements

2010-09-28 Thread Thomas Wiradikusuma
Hi Guillaume, congrats on the release!


On Sep 27, 10:33 pm, Guillaume Laforge glafo...@gmail.com wrote:
 Hi all,

 This is with great pleasure that I'd like to announce the *release of Gaelyk
 0.5*.

 Gaelyk 0.5, the *lightweight Groovy toolkit for Google App Engine*, is a
 significant release adding a lot of new features into the mix:

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



[google-appengine] Appstats for Java not working

2010-06-01 Thread Thomas Wiradikusuma
Hi guys, I followed instructions from 
http://code.google.com/appengine/docs/java/tools/appstats.html,
basically just copy-pasting the whole thing. When I tried from Chrome,
after login using my one-and-only admin account, I got Error: User
not in required role. Trying from Safari gave me Error: NOT_FOUND.

Anybody have an idea? Thanks in advance.

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



[google-appengine] Re: Google App Engine final release?

2010-02-26 Thread Thomas Wiradikusuma
But the mentality is different. From user perspective, it's like
assurance that this is production-quality, we can totally depend on
it,
and from Google perspective, we can't hide behind 'it's a preview'
excuses.

The same reason why some businesses stayed away from GMail because it
was beta.

On Feb 26, 5:32 pm, Barry Hunter barrybhun...@googlemail.com wrote:
 Does it really matter? It would just be a tag. And would just be
 decided by someone. It wont make a big difference to the service (IMHO
 of course)

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



[google-appengine] Google App Engine final release?

2010-02-25 Thread Thomas Wiradikusuma
Hi guys, just wondering, when will Google App Engine come out from
preview release and reach 1.0?
Sorry for the one-liner.

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



[appengine-java] appcfg.sh update suddenly doesn't work

2010-01-23 Thread Thomas Wiradikusuma
Hi all,
I created a new project, tested it in localhost, everything was OK. So
I uploaded it:

Reading application configuration data...
Beginning server interaction for myapp...
0% Creating staging directory
5% Scanning for jsp files.
8% Compiling jsp files.
11% Compiling java files.
20% Scanning files on local disk.
25% Initiating update.
28% Cloning 1 static files.
31% Cloning 56 application files.
40% Uploading 0 files.
90% Deploying new version.
95% Will check again in 1 seconds
98% Will check again in 2 seconds
99% Will check again in 4 seconds
99% Will check again in 8 seconds
99% Closing update: new version is ready to start serving.
99% Uploading index definitions.

Details:
Jan 24, 2010 3:15:22 PM org.apache.jasper.JspC processFile
INFO: Built File: /_default.jsp
Jan 24, 2010 3:15:22 PM org.apache.jasper.JspC processFile
INFO: Built File: /_pane_footer.jsp
Jan 24, 2010 3:15:22 PM org.apache.jasper.JspC processFile
INFO: Built File: /_pane_howitworks.jsp
Jan 24, 2010 3:15:22 PM org.apache.jasper.JspC processFile
INFO: Built File: /index.jsp
Note: /var/folders/CA/CAoAFlp6Ex8Ce58TO7dOuU+++TI/-Tmp-/
appcfg129071456909907182.tmp/WEB-INF/classes/org/apache/jsp/
_005fdefault_jsp.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.


Update completed successfully.
Success.
Cleaning up temporary files...


Man that's fast, considering ~12MB of jars (Spring 3.0, Sitemesh,
JSTL, App Engine). But when I opened it in my browser, the page loaded
(redirection worked from index.jsp - /spring/index) but the page was
blank. I checked the log, no error. What's going on?

Here's the web directory structure (for appcfg.sh update web):

WEB-INF/
classes/
META-INF/applicationContext.xml
com/foo/bar/*.class
lib/*.jar
appengine-web.xml
decorators.xml
dispatcher-servlet.xml
web.xml
_default.jsp
_pane_footer.jsp
_pane_howitworks.jsp
news.html
index.jsp


And the appegine-web.xml:

?xml version=1.0 encoding=utf-8?
appengine-web-app xmlns=http://appengine.google.com/ns/1.0;
applicationmyapp/application
version1-snapshot/version
static-files
include path=/**.cod/
include path=/**.css/
include path=/**.jad/
include path=/**.jar/
include path=/**.js/
include path=/images/**/
include path=/scripts/**/
include path=/styles/**/
exclude path=/**.groovy/
exclude path=/**.html/
/static-files
/appengine-web-app


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



[appengine-java] AccessControlException on OutputStream#write(byte b[], int off, int len)

2009-10-20 Thread Thomas Wiradikusuma

Hi,

The following Groovy snippet throws exception:

byte[] responseData = byteOut.toByteArray()
response.setContentLength(responseData.length)
response.setContentType(application/octet-stream)
response.outputStream.write(responseData, 0, 
responseData.length)
-- this one

The exception is:

java.security.AccessControlException: access denied
(java.lang.RuntimePermission getClassLoader)

at com.google.appengine.runtime.Request.process-e40a07dff3b6f2fc
(Request.java)
at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.init
(ClassLoaderForClassArtifacts.java:22)
at org.codehaus.groovy.runtime.callsite.CallSiteClassLoader.init
(CallSiteClassLoader.java:40)
at org.codehaus.groovy.reflection.CachedClass$5$1.run
(CachedClass.java:144)
at org.codehaus.groovy.reflection.CachedClass$5$1.run
(CachedClass.java:143)
at java.security.AccessController.doPrivileged(AccessController.java:
34)
at org.codehaus.groovy.reflection.CachedClass$5.initValue
(CachedClass.java:141)
at org.codehaus.groovy.reflection.CachedClass$5.initValue
(CachedClass.java:140)
at org.codehaus.groovy.util.LazyReference.getLocked
(LazyReference.java:33)
at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:20)
at org.codehaus.groovy.reflection.CachedClass.getCallSiteLoader
(CachedClass.java:472)
at
org.codehaus.groovy.runtime.callsite.CallSiteGenerator.compilePojoMethod
(CallSiteGenerator.java:222)
at
org.codehaus.groovy.reflection.CachedMethod.createPojoMetaMethodSite
(CachedMethod.java:240)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.createCachedMethodSite
(PojoMetaMethodSite.java:158)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.createPojoMetaMethodSite
(PojoMetaMethodSite.java:147)
at groovy.lang.MetaClassImpl.createPojoCallSite(MetaClassImpl.java:
2978)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createPojoSite
(CallSiteArray.java:114)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite
(CallSiteArray.java:148)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall
(CallSiteArray.java:40)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call
(AbstractCallSite.java:117)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call
(AbstractCallSite.java:133)

Any idea why it happened and how to fix it?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: How to apply an unique constrain to a field of a class using JDO annotations?

2009-09-14 Thread Thomas Wiradikusuma

AFAIK you can't App Engine doesn't support unique unless it's a key.

On Sep 14, 2:42 am, Artem Kuroptev kurop...@gmail.com wrote:
 I'have tried to make a field of a class unique using different
 combinations of JDO annotations. Never successfully.
 Here is one of my variations:
 ---
 @Uniques({...@unique(name=MYCONST_1, members={userJID})})
 @Unique(name=MYCONST_2, members={userJID})
 @PersistenceCapable(identityType = IdentityType.APPLICATION)
 public class User
 {
     @PrimaryKey
     @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
     private Long id;

     @Persistent
     @Unique(name=MYUSERJID_IDX)
     private String userJID;

 [..]
 ---

 Is there any way to apply unique constrain to a field of a class
 using JDO annotations?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[appengine-java] Re: Simplest web framework + ORM for GAE/J?

2009-09-08 Thread Thomas Wiradikusuma

you mean more to the web framework thing? try Grails or Gaelyk.

On Sep 8, 12:02 am, Chris xop...@gmail.com wrote:
 What's the simplest web framework + ORM combination that works well on
 GAE/J?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Combining Python and Java

2009-08-22 Thread Thomas Wiradikusuma

I was wondering, can I develop application in AppEngine using both
Python and Java?
E.g. Python in the backend and GWT in the frontend.
What approach would I take?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: How to integrate Payment module with google app engine

2009-08-12 Thread Thomas Wiradikusuma

Hi neal, do they apply to international merchants? (e.g. AFAIK Google
Checkout does not available for merchants in Asia).

And regarding PayPal, is it ok to use Personal(?) account?

On Aug 12, 12:55 am, NealWalters nealwalt...@nealwalters.com wrote:
 Your basic choices are:
 1) Google Checkout
 2) Paypal
 3) Get your own merchant account with your bank and then find a
 company that does online processing such as Authorize.Net or PayFloPro
 (from Paypal).  Usually you will get Visa/MC with your bank, then have
 to apply with Amex/Discover separately.
 4) 2CheckOut.com

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



[google-appengine] Google Checkout for international merchants

2009-06-15 Thread Thomas Wiradikusuma

Hi guys, I know this is not the right place to ask, but I'm sure some
developers using AppEngine are interested with this too.

I wanted to register a Checkout account, but my country is not listed.
Given that AppEngine+Checkout pretty much a match made in heaven for
ecommerce platform, how do international merchants subscribe to Google
Checkout?

To put it another way, what cloud/outsourced ecommerce solution
(beside PayPal) do you guys (planning to) use with AppEngine?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Knowing which app belong to who

2009-06-10 Thread Thomas Wiradikusuma

unless, of course, the app name is your own username.
the first time i registered for GAE, i secured my username :)

On Jun 10, 11:33 am, pranny pra...@gmail.com wrote:
 Because of unknown reasons, the app name can not be the name of any
 gmail user. So, say someone has an email like 'foo.bar[AT]gmail[DOT]
 com, then you can not create an app with the name foo.bar.

 So, in your case, i fear someone has the email id you are trying to
 register your app with.

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



  1   2   >