 
Lancei uma série de ferramentas para celulares Samsung que rodam no Linux, FreeBSD, NetBSD e OpenBSD, e permitem:
* Baixar arquivos como vídeos e fotos tiradas com a câmera do celular.
* Usar o celular como pendrive, montando-o em um diretório e lendo e escrevendo arquivos em geral.
* Instalar aplicativos Java J2ME de graça no celular.
As ferramentas são muito úteis para qualquer pessoa que tenha um celular da Samsung e use sistemas livres.
São úteis também para desenvolvedores J2ME, que agora podem testar seus aplicativos no celular sem precisar pagar a tarifa de transferência para a operadora toda vez que subirem um programa.
O projeto pode ser encontrado em: http://samsutools.berlios.de/doku.php?id=pt-br:start.
  Enviado por thotypous em Sex, 27/07/2007 - 18:28. PHP | Java | Perl
Neste artigo, comento sobre minha experiência com o QRCode, um código de barras de duas dimensões desenvolvido e muito utilizado no Japão.
Eu estava trabalhando em um sistema que gerava um comprovante que continha um código de autenticação de 1024bits. Para conferir se o mesmo era válido, seria extremamente entediante ter que digitar 2048 caracteres de um código hexadecimal, além das informações de data, horário e código do cliente. O QRCode foi a solução.
Ensinarei como gerar o QRCode utilizando um script PHP ou Perl disponível livremente, e como realizar sua leitura posteriormente a partir de uma foto do código impresso. Essa foto pode ser tirada inclusive com uma câmera VGA de celular de baixa qualidade.

Foi lançado ontem o plugin Flash 9 Beta para Linux: http://blogs.adobe.com/penguin.swf/.
Hoje o pacote já está disponível no Portage do Gentoo.
Testei o novo plugin e ele está bem mais estável que a versão 7 que já estava disponível. Ele também está gastando bem menos CPU.
   
Esses dias estou trabalhando em uma biblioteca cross-platform de captura de vídeo em C++, e pensei em aproveitar a situação para continuar um projeto que eu tinha, o ruby-v4l. Então lembrei de um software que eu tinha ouvido falar, o SWIG, e resolvi fazer uns testes com ele. Ele é capaz de exportar automaticamente um código em C ou C++ para uso em diversas linguagens de script: PHP, Ruby, Python, Perl, Java, e diversas outras. Se a linguagem de destino permitir, ele exporta até mesmo operator overloading e outros recursos de C++.
Darei aqui um exemplo simples de uso do utilitário SWIG para exportar uma classe em C++ para o Python.

Trata-se de uma linguagem esotérica idealizada pelo Daniel (Dr_Kachu) e criada por mim e pelo Marcelo (Stranjo). Apresentamos neste artigo a idéia da linguagem e um compilador e interpretador em Python.
A Linguagem Pi é uma variante do BrainFuck. Suas 8 instruções são codificadas como dígitos numéricos. Durante a conversão do programa BrainFuck em Linguagem Pi, esses dígitos são distribuidos, então, em casas aleatórias do número pi, gerando erros nessas casas de pi.
O interpretador calcula casas do número pi e compara com as casas do programa em Linguagem Pi. Toda vez que é achada uma casa que não bate com a correta, essa casa é decodificada como uma instrução BrainFuck.
Enviado por thotypous em Seg, 10/07/2006 - 11:02. Python
Continuando a série sobre algoritmos de ordenação, tratamos do mergesort, um algoritmo de ordenação recursivo que roda em tempo O(n log(n)). Explicaremos o algoritmo e daremos um exemplo de implementação em Python.
Enviado por thotypous em Dom, 09/07/2006 - 23:00. Linux
Tenho visto várias pessoas aqui no Brasil com este modelo, ou modelos semelhantes, de notebook. Hoje eu coloquei para funcionar no meu a única coisa que faltava para funcionar tudo no Linux: o modem. Fiz um tutorial ensinando a instalar o Gentoo neste notebook, mas ele explica a solucionar problemas que vão ocorrer independente da distro que está sendo instalada. Se você conhece alguém que tenha este notebook, não deixe de repassar para essa pessoa. ;)
Enviado por thotypous em Sáb, 08/07/2006 - 22:05. Python
Continuando a nossa série sobre algoritmos de ordenação, apresentamos neste artigo o funcionamento do insertsort e um exemplo de implementação em Python.
|