Neste sabado dia 5 de Maio participarei do maior encontro de desenvolvedores da baixada santista, falando um pouco sobre o Redis, e como o utilizamos pra tornar o desenvolvimento do Musica.com.br mais facil, estavel e seguro.O programa completo do Dev in Santos com todas as apresentacoes voce pode ver aqui: http://www.mktvirtual.com.br/mailing/2012/dev-in-santos/. Repare que teremos otimas apresentacoes sobre uma grande variedade de assuntos como NodeJS, Python, IOS, Unity3D e e claro, Redis.Se voce estiver pela baixada santista, ou ate mesmo em Sao Paulo neste fim de semana, sera uma bela oportunidade para bater um papo sobre desenvolvimento e outras nerdices. Nao deixe de se inscrever enquanto ainda ha vagas.Vejo voces la. O ElasticSearch possui um plugin fonetico que abrange diversas regras e padroes. No entanto nenhuma dessas regras e boa o bastante para as peculiaridades da lingua portuguesa.Pensando nisso e de posse de uma gramatica portuguesa, forkei o repositorio e criei um encoder com as regras de nosso estimado idioma lusitano. Como alguns meses depois ainda nao obtive resposta alguma da equipe do plugin original, promovi entao este encoder a um novo plugin: Portuguese Phonetic Plugin.Para utiliza-lo voce precisa clonar o projeto no github e instala-lo:git clone https://github.com/timotta/elasticsearch-fonetica-portuguesa.gitcd elasticsearch-fonetica-portuguesa./script/install.sh ~/Programas/elasticsearch-0.20.5Depois e preciso configurar um analyser em config/elasticsearch.yml:index : analysis : analyzer : fonetico : type : custom tokenizer : standard filter : [ standard, lowercase, foneticaportuguesa_filter, asciifolding ] filter : foneticaportuguesa_filter: type : foneticaportuguesa replace : falseCom tudo configurado, voce pode criar um novo indice usando este analyser, como e mostrado abaixo:$ curl localhost:9200/comfonetica -XPUT -d '{ "mappings" :{ "document" : { "analyzer" : "fonetico" } } }'Com o indice criado e configurado e possivel verificar as transformacoes de texto da seguinte forma:$ curl -XGET 'localhost:9200/comfonetica/_analyze?analyzer=fonetico&pretty=true' -d chiclete{ "tokens" : [ { "token" : "XICLETE", "start_offset" : 0, "end_offset" : 8, "type" : "", "position" : 1 }, { "token" : "chiclete", "start_offset" : 0, "end_offset" : 8, "type" : "", "position" : 1 } ]Repare que a palavra se transformou em duas. Isso acontece porque a configuracao replace do filter esta como false.Atualmente so testei o plugin com a versao 0.20.5 do elasticsearch, se testarem em outras versoes peco que reporte no github. Alem disso, nem todas as regras foneticas foram implementadas, entao se voce precisar de alguma que esteja faltando, colabore ou solicite la tambem. Publiquei essa semana no Google Play meu primeiro aplicativo Android. O 9Gag Offline trata-se de um aplicativo que permite que voce baixe os gags do site 9Gag para momentos em que nao haja conexao com internet. Por exemplo se voce for viajar, no aviao voce ficara isolado do mundo mas podera rir bastante com os gags que estarao guardados no seu celular.Ja fazia mais ou menos uns seis meses que estava estudando esporadicamente o sistema operacional da Google e fazendo diversos testes. A um mes atras resolvi fechar de vez o aplicativo e coloca-lo ao publico. Deu pra aprender bastante sobre o framework e reviver os problemas de sincronia e concorrencia que haviam na epoca em que programava para desktop com Delphi, Kylix e Java Swing.Espero