Thursday, May 24, 2012

[AppEngine] java.lang.RuntimeException: Unable to restore the previous TimeZone

Started getting the error on the dev server after upgrading to AppEngine 1.6.3 on Mac.

Turns out AppEngine is looking (via reflection) for a field that's missing from JDK 6.

You can either use a different JDK or add the following to the VM arguments from run configuration (which did the trick for me):
-Dappengine.user.timezone=UTC

Wednesday, May 9, 2012

Javascript Random Masking

Just a snippet to randomly mask some text, for whatever reason (such as not getting sued).

String.prototype.replaceAt=function(index, char) {
return this.substr(0, index) + char + this.substr(index+char.length);
}
var REPLACEMENT_CHAR = "*";
var TO = 5;
var FROM = 4;
var str = "Hello World";
var strLen = str.length;
var rnd = Math.floor((Math.random()*(TO - FROM + 1)) + FROM);
for(i = 0; i < strLen; i++){
if((i+1) >= rnd && ((i+1) % rnd) == 0 && str.charAt(i) != " " && str.charAt(i) != REPLACEMENT_CHAR)
{
str = str.replaceAt(i, REPLACEMENT_CHAR);
}
}
alert(str);