sábado, 14 de maio de 2011

Informações em código QR

O código QR (QR code) é um símbolo, na forma de uma matriz de duas dimensões, com o propósito de armazenar informações, que pode ser texto com letras e números, endereço de site ou outro tipo de dado.

Com a mesma ideia do bastante difundido código de barras, o código QR funciona de forma semelhante, um leitor óptico capta a imagem com a informação codificada. Dependendo do tipo da informação, seu conteúdo é processado para determinada finalidade.

O código consiste de uma série de pontos pretos arranjados em um quadrado sobre um fundo branco. Por ser de duas dimensões, os pontos podem ser lidos tanto no sentido horizontal quanto no sentido vertical, possibilitando centena de vezes mais dados que um código de barras comum.

Link para a página principal deste blog em QR Code

O código QR foi desenvolvido por uma empresa japonesa chamada Denso Wave, subsidiária da Toyota, e era utilizado para identificar as partes na montagem dos veículos. As letras QR são a abreviação para resposta rápida (Quick Response) pois a informação é recuperada rapidamente.

Criar uma imagem em código QR apenas editando os pontinhos é extremamente trabalhoso, impraticável pois é necessário realizar conversões para numeração binária, além de uma série de cálculos matemáticos para verificação e outros controles da codificação.

Existem softwares disponíveis pela Internet que servem para codificar e criar as imagens em código QR. Ou é possível criar diretamente pelo site, existem alguns com esta função, por exemplo:

http://qrcode.kaywa.com/
http://zxing.appspot.com/generator/
http://delivr.com/qr-code-generator

A Denso Wave mantém um site sobre o projeto (http://www.denso-wave.com/qrcode/index-e.html), onde é possível obter informações e softwares sobre o código QR.

A grande mania do momento são os softwares para celulares que fazem a leitura dos códigos QR e direcionam a informação para a aplicação referente. Quando identificado um endereço de site, o navegador é aberto para visualização do site. Um exemplo de software para celular é o Upcode (http://www.upc.fi/en/upcode/).

A capacidade para dados varia de acordo com a versão do código, da resolução da imagem e do nível de correção de erro. A versão 40, em uma imagem de 177x177 módulos pode armazenar 7089 caracteres numéricos, ou 4296 caracteres alfanuméricos, ou 2953 bytes em dados binários etc.

O código QR é aberto para uso e sua patente, de propriedade da Denso Wave, não é praticada.

quarta-feira, 11 de maio de 2011

Combine os comandos com os operadores de controle

Na maioria dos interpretadores de comandos (shell) do Linux é possível combinar comandos, em uma única linha de comando, colocando um ponto e vírgula (;) entre eles. O ponto e vírgula é um operador de controle do shell que faz os comandos serem executados independentemente, um a um, na ordem em que estão.

$ comando1 ; comando2 ; comando3

Alguns shells suportam ainda mais. É possível que a execução do comando seguinte dependa do sucesso da execução do comando anterior. Usando o operador de controle &&, o comando seguinte só será executado se seu comando anterior retornar o estado zero de saída, isto é, se o primeiro comando for executado com sucesso. Se o primeiro comando falhar, o segundo não será executado.

$ comando1 && comando2

Similarmente, o operador de controle || faz o comando seguinte só ser executado se a execução do comando anterior retornar um estado de saída diferente de zero, isto é, se o primeiro comando falhar, o segundo comando será executado. Se o primeiro comando for executado com sucesso, o segundo comando não será executado.

$ comando1 || comando2

Exemplos:

# cd /a/b/c && tar xvf ~/arquivo.tar
# cd /a/b/c || mkdir -p /a/b/c
# cd /a/b/c || mkdir -p /a/b/c && tar xvf -C /a/b/c ~/arquivo.tar

sábado, 7 de maio de 2011

Meu conselho para escolha de GPS

Devido aos meus artigos sobre GPS (http://dan-scientia.blogspot.com/search/label/gps) tenho recebido alguns pedidos de conselhos para escolha de um bom aparelho (PDA) de GPS. Desta forma vou escrever o meu gosto para o que considero um bom GPS.

Eu não vou ponderar aqui o serviço de suporte oficial (e pago) das empresas que fabricam os hardwares e os softwares de GPS, eu não uso este serviço. Irei apenas descrever características que, a meu ver, facilitam o uso do GPS, tanto para a navegação em si quanto principalmente na configuração e atualização dos softwares, para quem tem uma Internet à frente.

A base para o software de navegação ser executado no aparelho é o sistema operacional. Neste quesito recomendo fortemente um PDA que possua o Windows CE. A maioria dos softwares navegadores são para este sistema e assim fica possível a troca de um para outro. Geralmente os aparelhos usam uma aplicação que esconde o acesso ao Windows CE, se esta aplicação for flexível é possível escolher facilmente qual software navegador iniciar.

Quanto ao software de navegação, a primeira característica que deve-se levar em conta é o total suporte à língua portuguesa e mapa do Brasil (quem comprou um Magellan nos EUA e veio usá-lo aqui sabe disso). Em seguida, podemos observar a flexibilidade para suporte à mapas de diversas empresas (Navteq, Teleatlas e derivados). Pode ocorrer que em determinada cidade um mapa será melhor que outro e a possibilidade da troca do mapa é um ponto a favor (Obs.: existe software que nele mesmo, no menu, tem a opção para troca).

Ainda em relação ao software de navegação, pode ser interessante algumas flexibilidades além, como adicionar outras vozes, pontos de interesse (POI), radares, veículos em 3D, comparação entre rotas, temas visuais e até jogos.

Sobre o hardware do PDA, é importante um processador veloz, pois os softwares de navegação, quando cheios de recursos incorporados, exigem mais processamento, em conjunto com uma (memória) RAM à altura. As telas existem em diversas dimensões em pixels, quanto maior melhor, é claro, mas eu recomendo as dimensões mais "comuns" pois possuem uma maior compatibilidade com alguns softwares adicionais, por exemplo jogos, assim 320x240 ou 480x272 é a minha preferência.

O espaço de armazenamento é outro ponto a considerar. Dê preferência a aparelhos que suportem cartões adicionais de memória flash (hoje em dia a maioria suporta) e de grande capacidade (4GB, 8GB por exemplo). E ainda se vai ser possível executar softwares a partir do cartão (lembra do aplicativo sobre o Windows?). O acesso ao dispositivo de armazenamento também precisa ser observado. Os melhores, quando conectados no computador pelo cabo USB, aparecem como unidades externas e não dependem exclusivamente de aplicações como Microsoft Sync etc.

O grande problema é que a maioria destas informações não são fornecidas claramente pelos fabricantes e vendedores. Uma ou outra característica a gente só fica sabendo depois que compramos o aparelho. Para amenizar isso é uma boa medida consultar os fóruns sobre GPS, para investigar sobre determinados aparelhos, antes de adquirir. Eis alguns:

http://www.gpspoint.com.br/
http://www.gpsbra.com/bra/
http://www.portalgps.com.br/

Estes fóruns são uma maravilha para quem gosta de "fuçar" no seu aparelho.

Para concluir minha preferência, eu gosto bastante da linha iGO de softwares de navegação, são muito flexíveis, aceitam temas visuais, recursos adicionais, é fácil encontrar mapas pela Internet, POIs, vozes etc. Tem mapas da Teleatlas e da Navteq para ele. Por exemplo, o iGO Amigo tem jogos bem divertidos, além de uma interface limpa e clara. Resumidamente, o iGO existe nas versões 8.3 (iGO 8), 8.4 (iGO Amigo) e 8.5 (iGO Primo).

Um aparelho que já venha com o iGO vai facilitar as futuras atualizações. Se o aparelho trazer outro software, verifique nos fóruns se alguém obteve sucesso na troca pelo iGO. Uma vez no iGO, atualizá-lo vai ser bem fácil.

Quem não pretende atualizar, nem sabe fazer isso ou não quer se preocupar com isso, qualquer marca no mercado vai funcionar bem. Quem quer ir além, vale a pena escolher um aparelho com software flexível.

sexta-feira, 29 de abril de 2011

Material gratuito do MIT para download

O Instituto de Tecnologia de Massachusetts (MIT) fornece em sua página web, intitulada MIT OpenCourseWare (OCW), uma série de publicações gratuitas de materiais dos cursos oferecidos pelo MIT. O OCW está ativo, disponível para todos e é uma atividade permanente do MIT.

Os materiais podem estar em diversos formatos, entre eles o popular PDF. São notas de aula, exercícios e soluções, projetos e exemplos, e conteúdo multimídia.

Os cursos são de todos os departamentos do MIT, desde engenharia e tecnologia até ciências sociais e biológicas.

A página do MIT OpenCourseWare pode ser acessada pelo endereço http://ocw.mit.edu/

Os cursos de Engenharia Elétrica e Ciência da Computação estão em http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/

Os materiais disponíveis são apenas um resumo dos cursos do MIT e não o conteúdo completo. Não formam o processo de educação do MIT, não serve para graduação ou certificação e não proporcionam o acesso para a graduação no MIT.

sábado, 23 de abril de 2011

Exportando uma apresentação para Flash

O formato de arquivo Adobe Flash (.swf) (ou Macromedia Flash) serve para armazenar animações, vídeos e aplicações interativas para páginas Web. O conteúdo Flash pode ser exibido em diversos sistemas de computadores e dispositivos usando o Adobe Flash Player, que é fornecido gratuitamente para navegadores Web e alguns dispositivos móveis.

Com o OpenOffice e o LibreOffice é possível exportar uma apresentação feita no Impress como um arquivo .swf. O arquivo Flash gerado tem algumas limitações, por exemplo não mantém as animações e as transições de slides, mas oferece um resultado satisfatório para apresentações básicas.

Para exportar uma apresentação para o formato Flash (.swf) siga estes passos:

1) Vá em Arquivo > Exportar...

2) Selecione o local onde será gravado o arquivo e digite um nome para o arquivo.

3) Em "Formato de arquivo:" escolha "Macromedia Flash (SWF) (.swf)" e clique em "Exportar".

Pronto, abra o arquivo gerado em um navegador Web para verificar a apresentação.

quinta-feira, 14 de abril de 2011

DFF - Sistema para forense digital

O DFF, Digital Forensics Framework (http://www.digital-forensic.org/), é um projeto dedicado para a forense digital.

O propósito deste sistema é oferecer um ambiente modular de forense digital para os profissionais de TI, com capacidade de realizar análises e de extrair dados suspeitos dos arquivos.

Estes arquivos podem vir de aquisição de dados de mídias digitais, como discos rígidos, memória RAM, dispositivos móveis ou pacotes capturados pela rede. Também podem vir de dados deletados que foram recuperados.

A informação é processada em um recipiente virtual de somente leitura, que preserva a integridade e autenticidade dos dados.

Principais características:

- Visualizadores de imagens, vídeos, textos, sistemas de arquivos.
- Análise de linha do tempo.
- Visualizador hexadecimal.
- Gerenciamento de volumes, partições.
- Manipulação de arquivos.
- Leitura de metadados, EXIF, estrutura de dados etc.
- Memória volátil: Windows XP (volatility).
- Sistemas de arquivos FAT 12/16/32, NTFS, EXTFS 2/3/4.
- Recuperação de dados, "file carving".
- Análise do registro do Windows.

O DFF é dividido em três camadas distintas de software, que comunicam entre si através de uma API modular:

- O núcleo.
- As interfaces de usuário.
- Os módulos.

A primeira camada é o núcleo da aplicação. É usado para carregar e executar os plugins.

A segunda camada é composta de plugins e módulos, invocados pelo núcleo. Cada um é designado para analisar tipos específicos de dados, como dados da RAM e sistemas de arquivos.

A terceira camada é composta da interface ao usuário. Esta camada é usada para selecionar a origem dos dados que serão analisados e visualizar os resultados das análises. As interfaces são a gráfica e o shell para linha de comando.


O DFF ainda é um projeto novo mas já está bastante funcional. Se o projeto crescer, novos módulos devem ser desenvolvidos e assim, o DFF oferecerá muitos recursos para a computação forense.

quinta-feira, 31 de março de 2011

Problema de Lógica: Verdade em apenas um dia da semana

Ricardo fala a verdade em apenas um dia da semana.
Um dia, ele disse: "Eu minto nas segundas e terças".
No dia seguinte, disse: "Hoje é quinta, sábado ou domingo".
No próximo dia, falou: "Eu minto nas quartas e sextas".
Em que dia da semana Ricardo fala a verdade? Em que dia foi feita a primeira afirmação?





RESPOSTA





O primeiro dia não pode ser segunda ou terça pois a afirmação seria uma contradição. Se fosse segunda ou terça, a afirmação não poderia ser verdade pois está dizendo que mente. Se fosse segunda, a afirmação não poderia ser mentira pois terça seria o dia da verdade e a terceira afirmação também seria verdadeira. Se fosse terça, a afirmação não poderia ser mentira pois segunda seria o dia da verdade e a terceira afirmação também seria verdadeira.

O terceiro dia não pode ser quarta ou sexta pois a afirmação seria uma contradição. Se fosse quarta ou sexta, a afirmação não poderia ser verdade pois está dizendo que mente. Se fosse quarta, a afirmação não poderia ser mentira pois sexta seria o dia da verdade e a primeira afirmação também seria verdade. Se fosse sexta, a afirmação não poderia ser mentira pois quarta seria o dia da verdade e a segunda afirmação também seria verdade.

Se o primeiro dia não pode ser segunda ou terça e o terceiro dia não pode ser quarta ou sexta, então o segundo dia não pode ser terça, quarta ou quinta.

Se o segundo dia não pode ser quinta então a segunda afirmação é mentira, porque quinta não pode ser uma opção nesta afirmação. E se a segunda afirmação é mentira então o segundo dia não pode ser sábado ou domingo.

Os três dias podem ser quinta, sexta e sábado, ou, domingo, segunda e terça.

O primeiro dia não pode ser quinta pois se a primeira afirmação fosse verdade, a terceira afirmação também seria verdade, e se a primeira afirmação fosse mentira, segunda ou terça seria o dia da verdade e a terceira afirmação, que ocorre no sábado, também seria verdade.

Assim os três dias são domingo, segunda e terça. A primeira afirmação foi feita em um domingo.

A afirmação de domingo não pode ser verdade senão a terceira afirmação também seria verdade. E sendo a primeira afirmação uma mentira e a segunda afirmação também, que ocorre na segunda, Ricardo fala a verdade nas terças.