segunda-feira, 18 de outubro de 2010

Pesquisando imagens na web

Muita coisa interessante vem surgindo no mundo da computação "mundana", recentemente. Coisas que, na faculdade, só ouvia falar como pesquisas avançadas hoje estão no dia-a-dia das pessoas.

Uma das funcionalidades interessantes de meu Motorola Droid é o MotoID, programa que "escuta a música" e identifica qual é. Interessante aplicação de análise de espectro... isso me lembra minhas aulas de identificação, estimação e processos estocásticos com meu orientador, José Manoel.

Da mesma forma, estão surgindo as ferramentas de reconhecimento de imagens por similaridade. Existem algumas como o Similar Images do Google, Tiltomo e Bing  que ainda são baseadas nos atributos informados sobre a imagem, mas as mais interessantes são aquelas que realizam a análise da imagem.

Então, há algum tempo recebi a imagem de um logo anexado a um e-mail e fiquei curioso de saber de onde tinha saído. Mexi na internet e achei o TinEye, uma excelente ferramenta de busca reversa de imagens. O funcionamento é bastante simples: você faz o upload da imagem (ou mesmo parte de uma imagem), a ferramenta faz a análise e vasculha a web buscando aquela imagem em particular.



Outra da mesma família é a Byo Image Search, que não tem uma base tão extensa quanto o TinEye e funciona principalmente pela distribuição de cores da imagem.

De qualquer forma, vale a pena dar uma avaliada em todas elas.

A era de reconhecimento de imagem, voz e sons está muito mais próxima do que imaginamos.

quarta-feira, 6 de outubro de 2010

Padrões internacionais para tabelas com nomes de países, estados, cidades e unidades monetárias

Com frequência vejo alunos e pessoal de mercado construindo aplicações com tabelas de países, estados, cidades, códigos de moeda e informações afins. Normalmente nestas aplicações estas pessoas criam algumas telas CRUD para o cadastramento das informações e populam as tabelas buscando dados nos correios ou em outras fontes geralmente menos confiáveis.

O fato é que para a lista de países, estados (províncias), moedas e muitas outras existem padrões internacionais ISO que formalizam estes valores.

A ISO 3166 é uma norma internacional para codificar nomes de países e dependências, com suas principais subdivisões administrativas. Na realidade trata-se de um conjunto de três normas:
  • ISO 3166-1 - códigos para países e dependências, publicado desde 1974
  • ISO 3166-2 - códigos para as principais subdivisões de um país ou dependência
  • ISO 3166-3 - códigos obsoletos (retirados de ISO 3166-1), publicado desde 1998 
Para as unidades monetárias, temos a ISO 4217.

E não é necessário visitar a Wikipedia e baixar as informações de lá. Como era de se esperar, existem repositórios na web para estes dados, que podem ser baixados ou consultados on-line. Um bom exemplar destas fontes dinâmicas destes padrões é o CommonDataHub, site que disponibiliza estes e outros padrões nos mais diversos formatos, além de fornecer webservices para consumo on-line. É cobrado, mas é um serviço com garantia de informações. Para a consulta a todas as cidades - com população superior a 5000 habitantes - o valor é de US$750,00/ano.

As informações parecem ser de boa qualidade pois achei São Simão/GO lá. :-)


Então, para estas tabelinhas básicas, melhor buscar a informação na fonte. Seu sistema ficará mais fácil de integrar com outros sistemas do mundo.

sábado, 2 de outubro de 2010

Problemas de som no Ubuntu 10.04 - apenas browser com som

O som parou de funcionar no meu notebook (obviamente, após várias "fuçadas" aleatórias do newbee aqui).

Por incrível que pareça, apenas os browsers conseguiam reproduzir som.

Então, após procurar em vários blogs e posts, comecei a olhar os arquivos de configuração. Então encontrei a pasta ".pulse". Como acontece normalmente com o Gnome, os arquivos de configuração ficam nestas pastas.

Dei uma olhada nas datas, tirei uma cópia e removi a pasta (um simples rm -r .pulse).

Um restart e pronto, voltou a funcionar! :-P