quinta-feira, maio 28, 2009

Google Translate no Gmail, Coisiboa

Talvez vcs ja sabiam, mas eu sou meio panga, e soh instalei semana passada...

Estou falando da feature que habilita a traducao de emails diretamente dentro do Google Gmail. Eu adorei.


Ou quase
...

Primeiro, realmente a facilidade eh enorme, com um clique a mensagem eh traduzida para o idimoa padrao meu de leitura (no caso o velho portuga). E os indices de acerto sao incriveis...


Incriveis?


Sim, dei uma olhada por traz do servico, e descobri que o banquelo (ahah, em Peps) nao utiliza dicionarios de gramatica para traducao, mas sim uma engenharia maluca de distanciamento de termos e cruzamento de bilhoes e bilhoes (sim, bilhoes) de termos, frases, palavras, flexoes, etc, etc, etc dos seus enormes buckets de processamento para produzir o resultado final.

E claro, essa base de traducao eh ativa, ou seja, voce pode contribuir tambem. Na pratica, eh o que voce, eu e milhoes de pessoas fazem ao acessar o Google Translate e dar uma "melhoradinha" na traducao do sistema.

Claro, voce deve pensar que ... ah, vou escrever um lixo qualquer e f.o.d.e.r o sistema. Nao adianta, pois internamente os algoritmos detectam padroes, interacoes, repetencias, distanciamento, profile (quando o cara logado) e outras heuristicas (ja falei que adoro heuristicas?) para evitar essas coisas que usuarios gostam de fazer...

Em suma, comparando com outros tradutores (o BabelFish, por exemplo que eh - quase - muito bom tambem) e produtos enterprise, o Translate do Google obtem uma taxa de 93% de acerto, enquanto os outros estacam na faixa dos 50%. Ah, nao adianta perguntar que nao lembro onde foi o PDF que li este artigo tecnico (que na pratica, pra variar, eh a base de doutorado de um engenheiro da equipe do branquelo...)

Ah, e a parte ruim?

Poderia estar ativo tambem para o envio de emails, para eu ir traduzindo coisas e verificando conforme eu "composing" um texto.

Mas acho que isso logo logo estara "embedded". Eh assim que se escreve? Deixa eu ver no Branquelo Translate...

Finalmente, o PNG da featura ativada (pelo Branquelo Labs)...


terça-feira, maio 12, 2009

Equipes de projeto

A-a-adorei.


Bom, e por que com software não funciona assim?

Isso me lembra de...hum... "Engenharia de Software". Como assim engenharia? Usamos matemática? E projeto detalhado (sim, digo detalhado no nível 1 parede = X tijolos + Y cimento + Z areia...)? Cumprimos o projeto? Por que "gerenciamento de mudanças". E claro, porque o cliente no projeto?

Então, logo, infelizmente, não podemos usar engenharia, mas sim, acharia.

quarta-feira, maio 06, 2009

Dumping e Restore de database no Postgres

Sei que é fora de escopo aqui, mas enfim, é para meu arquivamento pessoal:

--
Dumping de database postgres (pode ser executado com o banco em uso)

pg_dump -b -C -f postgres-lm2-jira.backup -Fc -Z 9 -h localhost -p 5432 -U user.admin lm2-jira

Parametros:

-b Inclui campos Blob no backup
-C Insere no arquivo de backup os comandos para criar a database
-f Nome do arquivo de backup
-Fc Formato binario customizado (alta flexibilidade para filtros no restore)
-Z 9 Maximo nivel de compressao no arquivo destino
-h Hostname
-p Porta
-U Usuario que vai ser usado para conectar no BD e rodar o backup (sugere-se administrador)

O ultimo parametro eh o nome do database a ser backupeado

--
Restore de database postgres (primeiro crie o database no destino e os usuarios/permissoes)

pg_restore -1 -d lm2-jira -h localhost -p 5432 -U postgres postgres-lm2-jira.backup

-1 Isola os comandos de restore em uma unica transacao
-d Nome do database onde a estrutura sera restaurada
-h Hostname
-p Porta
-U Usuario que vai ser usado para conectar no BD e rodar o backup (sugere-se administrador)

O ultimo parametro eh o nome do arquivo com o backup