Nas ondas do Google
Published by admin | Filed under Noticias, Tecnologia
Não é de hoje que os lançamentos do Google causam um enorme alvoroço, não somente entre os desenvolvedores, mais em praticamente todos os setores.
Porém, desta vez, eles pegaram pesado.
Ladies and Gentleman, se preparem para o que vem ai. Dos mesmos criadores do Google Maps, nas palavras de Vic Gundotra: “… vocês vão esquecer que vocês estão olhando para um browser…”, com vocês Google Wave.
O Google wave é a junção de um software cliente, servidor e um protocolo de comunicação.
As possibilidades do wave são ilimitadas, porém alguns dos recursos que já existem são simplesmente fantásticos.
Além do protocolo ser aberto, o que já é uma revolução incrível, e da edição simultânea com aquela timeline ser algo fantástico, outros recursos já implementados tornam a ferramenta algo surpreendente:
- Corretor ortográfico por contexto;
- Tradutor simultâneo (isso mesmo, Simultâneo);
- Integração com diversos serviços (Twitter, Facebook, Blogger, entre outros);
- Protocolo é federado (qualquer empresa pode desenvolver sua própria implementação);
- API aberta, qualquer um pode desenvolver qualquer aplicativo para integrar com o wave.
É amigo, parece que os planos do Google para dominar o mundo estão avançando.
Alterando o seu NetworkManager
Published by admin | Filed under Linux, Ubuntu, Utilitarios
Fala galera, hoje vou dar uma dica bem simples, mas que pode ajudar muito os usuários GNU/Linux.
Bom, eu uso Ubuntu desde a versão 4.10 (The Warty Warthog), que por sinal era bem ruinzinha. Toda a minha história com o Ubuntu foi marcada pelo NetworkManager do Gnome. Sinceramente eu não sei se ele tem algum problema comigo, mais eu *NUNCA* consegui usar ele de forma eficaz.
Para amenizar isso, já a muito tempo, eu uso um pequeno script bem simples, que encontra para mim, redes pré-cadastras (Casa, Empresa) disponíveis e efetua a conexão. O problema era quando precisa conectar em uma rede que não estivesse cadastrada, tinha que fazer tudo na mão, o que não é uma tarefa muito agradável.
Pois bem, a algumas semanas acabei encontrando a solução para todos os meus problemas. Um aplicativo chamado wicd, este cara é simplesmente fantástico.
A instalação é muito simples, para usuários Ubuntu (9.04), ele já está disponível no repositório:
sudo apt-get install wicd
Caso o wicd não for encontrado, provavelmente você terá que habilitar os pacotes universe/multiverse.
Para isso, digite Alt + F2 e digite:
gksudo gedit /etc/apt/sources.list
Feito isso, procure as linhas abaixo e remova o # da frente:
deb http://br.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse deb-src http://br.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse deb http://archive.canonical.com/ubuntu jaunty partner deb-src http://archive.canonical.com/ubuntu jaunty partner
Feito isso vamos ao terminal e digite:
sudo apt-get update && sudo apt-get install wicd
Ele vai remover o network-manager (graças a Deus), e vai assumir todo o gerenciamento da rede.
Se o ícone não aparecer na área de notificação após a instalação simplesmente pressione Alf+F2 e digite:
wicd-client
Ele é muito completo, ao abri-lo, você verá uma lista com todos os hotspots disponíveis, o tipo de criptografia usada pelo mesmo, nível de sinal, e muito mais. Porém, na minha opinião, a melhor funcionalidade do wicd, é a conexão automática em redes disponíveis.
Após configurar sua rede, como senha, endereço estático ou dhcp, etc… simplesmente marque a caixa “Conectar automaticamente a esta rede” e pronto.

Thats all folks, espero que tenham gostado, até mais.
Criptografia – Java e Delphi
Published by admin | Filed under Delphi, Java, Segurança
Como é do conhecimento de todos, existem hoje inúmeros algoritmos de criptografia, como Blowfish, AES, DES entre muitos outros.Porém nem sempre sua utilização se faz necessária, muitas vezes só queremos embaralhar um pouco os bits, de alguma senha ou algumas informações importantes, e não precisamos de nenhum algoritmo muito complexo para isto.
Pois bem, atualmente na empresa estamos desenvolvendo um sistema de suporte on-line, feito em Java utilizando ZK, Hibernate e Spring. Neste sistema utilizamos uma base de dados no Firebird, sendo que esta base também é acessada por um sistema de uso interno (que chamamos de xManager), e tínhamos a necessidade de utilizar os mesmos dados de login para ambos os sistemas, abaixo descrevo as duas funções utilizadas, tanto em Delphi quanto em Java.
A função em Delphi é bastante simples:
// Dado um valor S, percorremos o mesmo byte a byte for I := 1 to Length(S) do begin // Embaralhamos os bytes Result[I] := char(Ord(S[I]) xor (Key shr 29)); // E geramos uma nova chave para embaralhar novamente Key := (Ord(S[I]) + Key) * C1 + C2; end;
Segue a função em Java:
for (int i = 0; i < text.length(); i++) { /* Pegamos o valor ordinal do nosso caracter */ int ord = text.charAt(i); /* * Embaralhamos os bits Primeiro fazemos um shr da nossa chave com * um numero de bits especifico E logo depois fazemos um xor do * ordinal do nosso caractere com a nova chave */ long keyNum = (ord ^ (key >>> 29)); /* * Convertemos novamente o nosso caractere para char Lembrando de * dividir por 256, para manter compatibilidade entre o Unicode do * Java e o ASCII do Delphi */ char keyChar = ((char) (keyNum % 256)); /* Embaralhamos a chave novamente */ key = (ord + key) * C1 + C2; /* E concatenamos a nosso char para gerar uma string */ result += keyChar; }
Sendo que tanto para criptografar quanto para descriptografar a função é praticamente igual, a única diferença é que no loop, para criptografar utilizamos o valor ordinal do novo caractere gerado, e para descriptografar utilizamos e valor ordinal do caractere da sequência.
Tivemos um problema com a codificação também, pois usamos WIN1252 como charset no Firebird, existem várias formas de se resolver isto, nós optamos por compilar nossa aplicação com o mesmo charset que usamos no BD.
Para isto, simplesmente acrescente a seguinte diretiva no compilador: -Dfile.encoding=windows-1252.
Porém percebi que existem problemas com alguns caracteres específicos, onde ele não convertia de forma correta, e acabei por descobrir que o encoding ISO8859_1 é muito semelhante ao windows-1252, sendo que este resolveu todos os meus problemas.
Abaixo seguem alguns links interessantes:
Listar Charsets disponíveis no Java
Convertendo Strings entre Charsets
Encodings suportados pelo Java
Thats all folks. Espero que tenham gostado, até mais.




