segunda-feira, 20 de dezembro de 2010

Android no Desktop com VirtualBox

Então, já estou começando a fazer uns programinhas bobos para Android. Estou começando a aprender e a entender o funcionamento do sistema operacional. Como sabem (eu acho), o Android tem coração de Linux. Então pensei: será que esse "caboquim" roda legal no desktop?

A primeira coisa que fiz foi "googlar" para "Android X86", nas esperança de encontrar alguém que já tivesse tentado. Olha só o primeiro site (tô atrasado hein?): http://www.android-x86.org/. O projeto está ativo desde março de 2010 preparando a versão para x86.

Bom, fui direto ao assunto:

1. Fui para Download.
2. Em "StableRelease" baixei "android-x86-1.6-r2.iso" (baixe uma mais nova, se encontrar).
3. Gerei uma virtual machine no virtual box escolhendo "Linux" e "Others" (outros linux).

Não é que rodou de cara?

Olha o sistema rodando aí de primeira, sem necessidade de qualquer ajuste



Bem no momento de escrita do post.

Experimente ai!

quarta-feira, 17 de novembro de 2010

IOWait causando 100% de consumo de CPU no Ubuntu - SOLUCIONADO

Há algum tempo eu vinha tendo problemas de IOWait alto ao ligar o notebook, o que fazia com que o sistema ficasse impossível de utilizar por mais ou menos uns 15 minutos. O IOWait consiste no tempo em que o processador fica aguardando (bloqueado) o término de uma operação de I/O. O interessante é que não aparecia nenhuma aplicação consumindo de forma exagerada o disco ou a CPU no system monitor. Obviamente não era a ferramenta ideal para avaliar o problema.

Após "fuçar" por uns dois dias (efetivamente umas 4 horas ao longo de 4 semanas...) descobri o iotop, que permite monitorar os processos consumindo operações de I/O. Foi rodar o programa imediatamente após uma inicialização e logo os vilões apareceram: gdl_fs_crawler e gdl_indexer. Quem são? Estes dois são processos de background que cuidam do serviço de indexação do Google Desktop. Sim, estava com o Google Desktop instalado no Ubuntu e configurado para inicializar automaticamente.

Identificado o problema, a solução não poderia ser mais simples: tirar o Google Desktop da inicialização (System→Preferences→Startup Applications). Reinicializada a máquina, praticamente zero de IOWait e a máquina voltou a funcionar excelentemente, permitindo a inicialização do OpenOffice logo de cara.

Colocando o Google Desktop para rodar após a inicialização o IOWait fica menos exagerado, mas ainda bate 2000Kb/s de leitura de disco. O ideal é deixar o Google Desktop indexando durante a noite e desligar a indexação durante o período de uso normal, mantendo-o fora da inicialização.

Mas ele ainda é minha ferramenta preferida de pesquisa no desktop.

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

domingo, 19 de setembro de 2010

Sem permissão para acessar o Google?

Agora à noite fui fazer uma pesquisa no Google e recebi um "403 Forbidden":

Ao tentar acessar o GMail, recebi a mensagem abaixo:

Forbidden

You don't have permission to access /accounts/SetSID on this server


O que eu fiz de errado para não ter mais acesso ao Google? :-P

Bem, o blogger estava funcionando. Alguns segundos depois, o acesso ao Google voltou, mas ao GMail não.

Vamos ter notícias disso.

sábado, 11 de setembro de 2010

Resetando as configurações do GNome

Hoje resolvi fuçar nas configurações do Compiz e fiz uma bagunça nas configurações do meu gnome. Quem disse que eu conseguia voltar ao que era antes? Tinha guardado uma cópia, certo? Claro que não! :-P

Então a solução foi levar o gnome às configurações iniciais. Como fazer?

1) Remover os arquivos de configuração

rm -rf .gnome .gnome2 .gconf .gconfd .metacity

2) Reinicializar o gnome

Três formas:

a) CTRL+ALT+Backspace

b) sudo /etc/init.d/gdm restart

c) killall gnome-panel