Saturday, February 11, 2012

Javascript Profanity Check

Here's a copy-paste-ready snippet implementing a javascript profanity check:

// extend strings with the method "contains"
String.prototype.contains = function(str) { return this.indexOf(str) != -1; };
// profanities of choice
var profanities = new Array("ass", "cunt", "pope");
var containsProfanity = function(text){
var returnVal = false;
for (var i = 0; i < profanities.length; i++) {
if(text.toLowerCase().contains(profanities[i].toLowerCase())){
returnVal = true;
break;
}
}
return returnVal;
}
var myText = $('#text').html();
if(containsProfanity(myText)){
$('#result').html('That language is profane dude.');
}
else{
$('#result').html('That language is just fine.');
}
Enjoy.

Friday, February 3, 2012

Use of com.google.appengine.repackaged may result in your app breaking without warning.

I got this nasty error on the repackaged version of Base64 after upgrading to app-engine 1.6.1 on a project:

Use of com.google.appengine.repackaged may result in your app breaking without warning.

You can make it go away by switching to org.apache.commons.codec.binary.Base64, that can be found on the commons-codec library. Mapping of the encode/decode methods is pretty straightforward:
  • encode --> encodeBase64String
  • decode --> decodeBase64
Or something like that.