terça-feira, 6 de abril de 2010

Especificação formal de protocolos de segurança

Compartilho aqui um artigo que escrevi para a disciplina de Segurança Lógica que estou cursando atualmente no ITA. A validação formal de protocolos é um tema com que venho tendo contato há algum tempo e sobre o qual possuo bastante curiosidade, uma vez que se a implementação de um protocolo de segurança já não é simples, sua verificação, além de não ser simples, é fundamental para que o protocolo garanta os requisitos de segurança para o fim a que se propõe.

Neste artigo introdutório abordamos o tema da especificação dos protocolos. A verificação ficará para um outro momento. Aguardo comentários e dicas que possam me auxiliar a enteder melhor o tema.

View more documents from fabianmartins.

sábado, 3 de abril de 2010

Disney baseado em objetos

Veja este vídeo:



Você vai descobrir que os filmes da Disney são completamente orientado a objetos. Observe que cada caso de uso possui um conjunto de atores-base (classe-base) que são especializados conforme o tema do filme. Fica evidente o uso do modelo MVC (model-view-controller) onde os objetos que representam os personagens possuem diferentes views em diferentes filmes.

Pode ser que eu esteja exagerando agora, mas não duvido que a Disney venha a possuir (ou já possua) um framework para o desenvolvimento e reaproveitamento de cenas e uma engine que utilize este framework para gerar cenas de filmes automaticamente. Quem sabe?

Imagine: SnowWhiteGroupDance extends GroupDance .... :-P

domingo, 10 de janeiro de 2010

Tchau, Windows!

A primeira grande mudança por aqui neste início de 2010 é que estou abandonando o Windows - tanto quanto possível.


Eu vinha usando o Windows desde 1998 como meu principal sistema operacional, mais por que todo mundo usava, por causa dos jogos, e por que praticamente a totalidade dos meus clientes o utiliza.

No entanto de uns tempos pra cá vinha me cansando das "blue screen of death", das atualizações duras (sempre tendo que reinicializar a máquina), de ter que formatar a máquina completamente para instalar a nova versão do sistema e, principalmente, de pagar caro pelo Office.

Então desde o final do ano passado - final mesmo, última semana - abandonei o Windows e meu sistema operacional oficial agora é o Ubuntu, uma das distribuições mais populares e seguras do Linux, principalmente por sua facilidade de uso. Como estou há mais de 10 anos afastado de um uso mais "hard" do Linux, não teria melhor opção né?

Mas não deu pra abandonar o Windows completamente. Ainda tenho uma conta bancária corporativa em um banco cujo site só funciona no Internet Explorer :-S. Para isso estou usando o VirtualBox pra rodar o meu antigo Windows XP, só para acessar este site. Bem, é lógico que vou utilizá-lo para realizar alguns testes e me divertir um pouco. Então, não foi de todo mal.

Vou compartilhar com vocês minhas alegrias e tristezas desta nova decisão. Até agora foi tudo tranquilo e minha única dificuldade foi fazer meu token eCPF funcionar, mas isso é coisa para o próximo post.

Até breve!

Bem-vindo, 2010!

Estamos aqui em 2010 voltando com o objetivo de manter este blog mais ativo do que foi possível em 2009. Em junho do ano passado perdemos a presença de alguém muito especial e as várias conseqüências me deixaram afastado das postagens. Mas isto é uma outra história; possivelmente para outro blog.

quarta-feira, 13 de maio de 2009

Google melhora (de novo) com novas opções de busca

O Google andou melhorando novamente sua engine de busca, apresentando agora mais informações relacionadas ao resultado, mais opções para o refinamento e para melhorar a visualização dos resultados associados a uma pesquisa. A notícia saiu ontem no blog do Google e não sei se estava no ar há algum tempo.

Para experimentar, usei a pesquisa abaixo:
http://www.google.com/search?hl=en&q=cryptographic+key+management

A primeira coisa que percebemos é a disponibilidade de exibir e esconder as opções de refinamento e visualização (logo à esquerda - Show Options e Hide Options)


Dentre as opções disponíveis, duas das que achei mais interessantes são a possibilidade de visualizar em uma estrutura hierárquica as pesquisas relacionadas e a quantidade de resultados no tempo.

No caso da visualização hierárquica, que eles chamam de "Wonder Wheel" (conforme figura abaixo), são apresentadas temas fortemente relacionados e a cada clique nas opções vamos navegando nas estruturas e refinando o foco da pesquisa.

Nos resultados no tempo, o Google apresenta uma distribuição dos resultados no tempo, mostrando em que momento do tempo o assunto se tornou mais relevante à medida em que mais artigos foram publicados. Obviamente que resultados anteriores à época da internet referem-se a textos que foram processados para extrair o seu contexto temporal.

Mais uma vez, clicando nos "clusters" de períodos de tempo, conseguimos novos refinamentos, conseguindo chegar no detalhe do mês do ano ao qual as informações estão relacionadas (não tentei chegar no detalhe de semana ou dia, ainda não sei se é possível).


A pesquisa está contextualizada, o que permite à engine perceber que o tema "restaurante" pode requerer um refinamento por cidade e, assim, a engine apresenta automaticamente a opção.

Está claro que o Google está se tornando muito mais que uma ferramenta de busca, caminhando claramente para um modelo de mineração de dados onde já inclui todos os recursos da Web2.0 e incluindo funcionalidades interessantes como a navegação hiperbólica.

Só tenho mais motivos para confirmá-la como a melhor engine de navegação.

terça-feira, 5 de maio de 2009

Monitorando o teclado pelo rádio

Encontrei um artigo interessante no blog do Hugo Martins (deve ser primo distante :-) que trata do monitoramento da digitação por sinais de rádio freqüência (veja o artigo completo aqui).

O interessante é que isto não é, de forma nenhuma, novidade.

Lembro-me que por volta de 1986, quando eu ainda brincava de programação e eletrônica no meu saudoso TK2000 II (que deve estar em algum lugar lá na casa de meus pais) era frequente sintonizarmos a TV em algum canal e percebermos que a cada tecla digitada um som diferente surgia. Após algum tempo "fuçando" consegui fazer um radiozinho para capturar o sinal, filtrar (mal e porcamente) e com isso comecei a identificar as teclas pressionadas "de ouvido".

Agora fico pensando se alguém com um microfone direcional seria capaz de "ler" as teclas pressionadas por uma pessoa em um caixa eletrônico qualquer.

É, mais preocupação para o pessoal de segurança da informação.

segunda-feira, 4 de maio de 2009

Java na Nuvem

Infelizmente o dia-a-dia está tomando muito tempo e estou tendo que "espaçar" um pouco mais a escrita do blog, mas o importante é que estou aqui de volta e vou tentar sempre ser mais presente.

A notícia de hoje já está na midia há algum tempo (quase um mês) mas vale a pena falar de novo.

Em 07/04/2009 o Google anunciou a possibilidade de uso de Java para programar a Google App Engine (veja aqui), que viabiliza a utilização da infraestrutura do Google para manter aplicações "na nuvem" (cloud computing).

Para quem já experimentou o ambiente de desenvolvimento e de produção em Python, já viu que o desenvolvimento é extremamente fácil e simples, e os testes na máquina local são também muito fáceis de se conduzir.

Apesar da simplicidade do desenvolvimento com Python, a uniformidade no uso da linguagem Java nas várias camadas é algo que os desenvolvedores vinham cobrando e que agora é algo recebido com muita alegria.

Quem gosta de desenvolver em Java precisa experimentar o desenvolvimento usando o GoogleWebToolkit + GoogleAppEngine. Eu que já gostei do desenvolvimento em Python, sei que vou ter algo para me divertir no final de semana. :-)