terça-feira, 22 de abril de 2008

Palestra no FLISOL-CE, 2008

Aos que quiserem conferir, minha palestra no FLISOL-CE ocorrerá dia 26/04 de 14:00h até 15:00h (incluindo espaço para questionamentos) na sala 03.
Endereço: Fac. Evolução R. Pedro I, no. 1276 (esquina com R. Princesa Isabel).

Na palestra irei tratar de P&D e Software Livre procurando ser prático e objetivo, sem fazer exageros nem ser cansativo.

Vi no site do evento que terão outros eventos interessantes durante e após minha palestra, principalmente em desenvolvimento de jogos, que é uma área que muito me atrai.

segunda-feira, 21 de abril de 2008

Como gerar plug-ins para o Blender, essa foi a melhor!

A melhor palestra que assisti no FISL foi sobre criação de plug-ins para o Blender.

Vi o quanto é fácil gerar plug-ins até mesmo em C. Basta ter as bibliotecas de compilação, a parte difícil é encontrar essas bibliotecas. O palestrante colocou o link para as bibliotecas nos slides da palestra.

Para criar o plug-in, basta preencher 1 de 3 funções, cujos nomes são pré-estabelecidos.

O que mais me chamou a atenção foi a versatilidade, em que é possível gerar texturas de várias formas, por exemplo:
  • intensidade de luz;
  • cores;
  • arquivos de imagem, incluindo imagens vetoriais.
Ao assistir esta palestra, fiquei feliz em ver uma apresentação de alto-nível feita por um verdadeiro entusiasta do software livre em um evento que mais estava parecendo um comércio.

Com este post, concluo minhas avaliações do FISL 9.0.
No fim das contas, a viagem valeu a pena, conheci muitas coisas interessantes e pessoas que vi o verdadeiro espírito do software livre.
Também aproveitamos para conhecer um pouco da cidade de Porto Alegre e descobri que existe muito o que se admirar na cidade.

In Vesalius, esse é bom!

Uma das palestras que mais me agradou no FISL 9.0 foi a do In Vesalius.

Neste caso, a palestra foi dada pela coordenadora do projeto, então este foi bem apresentado em termos de ferramentas usadas e recursos disponíveis.

O In Vesalius, em sua concepção, foi um software apenas gratuito, hoje é um software livre disponível no site do Software Público.

O In Vesalius foi desenvolvido quase todo em Python e algumas partes em C/C++. Foram usadas as bibliotecas gráficas VTK e ITK.

O In Vesalius usa imagens Dicom (padrão usado por equipamentos médicos) e a partir destas imagens gera uma visualização 3D da região analisada. Ocorre então a "impressão" em um equipamento especial e obtém-se um modelo (feito em um material que parece gesso, sendo bem mais resistente) da região analisada, por exemplo o crânio.

Algo que achei interessante é que as imagens dicom não contêm apenas uma matriz de pixels convencionais, mas cada pixel também contém a informação de sua posição espacial no corpo analisado; de modo que a reconstrução 3D consiste em lêr a imagem, segmentar as regiões de interesse (conversando com um dos desenvolvedores, descobri que usam Watershed, mas provavelmente são feitos outros processamentos) e interpolar os pontos obtidos.

Enfim, como o In Vesalius é um software livre não preciso mais ficar tentando adivinhar o que ele faz, basta baixar os fontes e descobrir o que ele realmente faz e o que não faz também.

Gotcha?

Assisti a palestra do Gotcha e, para ser sincero, perdi meu tempo.

Para começar, os caras usaram um sensor infra-vermelho que era rastreado pelo wii-mote (joystick do Wii, fabricado pela Nintendo) então era só pegar o ponto mais estimulado e passar para o mouse e ainda tinha um segundo ponto para gerar o clique. A crítica: com um sensor desses, os desenvolvedores deviam pensar em algo mais inteligente, tipo navegação 3D. Uma aplicação do tipo mover mouse, na minha concepção, deve ser mais acessível e um Wii não é algo que possa se comprar com frequência.

Depois, os caras usaram M$ Vi$ual $tudio no M$ Ruindow$ à Vista, sem comentários: isso foi um crime!

Os palestrantes também não eram dos melhores: um era advogado e passou a palestra toda fazendo gracinhas e querendo chamar a atenção; o outro era um aluno de 2o grau, provavelmente, que teve uma idéia com o primeiro e o pessoal (comunidade) gostou (em comparação, cliquem aqui). Não estou menosprezando os caras, apenas acho que estão dando muita atenção para algo deveras simples.

Para finalizar, quase metade da palestra foi assistir um dos palestrantes jogando Quake, e não foi dada nenhuma informação útil do programa em si.

domingo, 20 de abril de 2008

Acabou o FISL 9.0

Enfim, acabou o FISL, ficaram algumas contas a pagar, peguei uns contatos, descobri umas coisas interessantes sobre algumas instituições e aplicativos, descobri que se eu quiser apresentar uma palestra no FISL não basta a idéia, o negócio é aplicar.

Acho que no saldo final, valeu a pena vir à Porto Alegre.

Durante o evento tive umas idéias de aplicações bem interessantes, e assim que possível irei começá-las. Apenas para dar o gostinho, irei estudar programação 3D (também incluo arte 3D, na medida do possível), comunicação entre computadores via rede e fluxo óptico.

Mudando de assunto, aqui está a imagem da entrada do FISL.
A produção de fotos este ano foi muito baixa, em contra-partida eu gerei uns vídeos que valerão a pena assistir.

O meu saldo de brindes também foi muito baixo, para não dizer nulo. O stand de lembracinhas do FISL estava sem opções, desde o primeiro dia. Enfim, não terei que me preocupar com excesso de peso na volta.

Para finalizar o post, eu aviso que em breve estarei fazendo minhas avaliações das demais palestras que assisti, e adianto que as o último dia foram as melhores (em conteúdo técnico).

sábado, 19 de abril de 2008

Nokia: boas caras

Na palestra de um funcionário da Nokia foram apresentados diversos serviços que a empresa oferece aos desenvolvedores, principalmente os de software livre.

A plataforma Maemo consiste de software e hardware que possibilitam desenvolvimento de aplicações e testes em sistemas portáveis (embarcados).

O fórum da Nokia parece ser uma das iniciativas que esta tem de aproximar-se de desenvolvedores em que é possível ter contato direto com os desenvolvedores dos sistemas.

A plataforma Symbian é usada por diferentes empresas (Nokia, LG, Samsung, outras) e, segundo o palestrante, a Nokia está desenvolvendo alguns recursos para "facilitar a vida dos desenvolvedores".

Trabaco é para os fracos

Na palestra do Alexandre Oliva (O Ministério da Saúde Mental adverte: onde há fumaça de trabaco é fogo) foram abordados os malefícios do software protrietário (apelidade de trabaco) fazendo sempre uma analogia aos intorpecentes (em especial o cigarro).

A base da palestra era apresentar o trabaco como algo viciante, nocivo e que os únicos beneficiados são os fabricantes (alguma semelhança?), pois as empresas que desenvolvem trabaco aproveitam-se do desconhecimento das pessoas e outras empresas para incentivar o uso (a primeira dose é grátis) e com isso manter a "fidelidade" do usuário.

Enquanto o comércio de sofware proprietário for permitido pela lei, os fabricantes irão continuar a explorar e "viciar" populações cada vez maiores com seus produtos.

Quando alguém deseja comprar algo que é não é permitido, este recorre ao tráfico. A prática de venda de coisas ilegais é capaz de viciar mais ainda o usuário (seja de drogas ou da droga do software proprietário).

Durante a palestra foram apresentados vários vídeos de campanhas anti-tabagismo, neste aspecto o apelo visual foi um ponto marcante da palestra e fez os expectadores refletirem.

Para resumir, intorpecentes:
  • empresas enormes investem muito dinheiro para divulgar seus produtos;
  • o usuário paga (caro, as vezes) por algo que muito provavelmente lhe causará danos;
  • depois de começar a consumir, o usuário passa a depender do fornecedor e este passa a impor suas restrições ao uso (preço, doses, etc..);
  • a primeira dose é incentivada por "amigos", depois estes amigos não lhe ajudam mais.
Software proprietário:
  • Alguma diferença?

quinta-feira, 17 de abril de 2008

Mono: rápida e versátil

A primeira palestra que vi hoje foi sobre Mono, pelo que entendi é uma linguagem de programação muito eficiente e eficaz. Comparando Mono com C/C++, Java (JME), Ruby e Python, Mono era sempre a melhor em vários aspectos como velocidade de execução, produtividade (linhas de código por minuto), portabilidade, capacidade de gerar código nativo e outras.

Mono é baseada em .NET e permite fácil migração de sistemas C e C#.

O FISL não é mais o mesmo...

O FISL (Fórum Internacional de Software Livre), em sua 9ª versão, é, sem dúvida, um dos maiores eventos da área de software livre que existe.

Lembro do ano passado em que os participantes buscavam conhecimento uns com os outros, o que não vejo hoje.
Sem querer parecer radical, mas talvez já parecendo, a primeira coisa que vi hoje (logo ao chegar no FISL) foi um funcionário de uma empresa usando seu notebook (pessoal) com o M$ Ruindow$, eu disse a ele ironicamente: "você é corajoso, hein?" e o rapaz pareceu ficar ofendido com o comentário sem entender o motivo da "piada", e pareceu agressivo quando disse que qualquer outro participante poderia explicá-lo o porquê dele ser corajoso. No ano passado, as empresas explicavam do que se tratava o evento antes de mandar os funcionários.

Também vi várias pessoas rodando o tal sistema (M$) em seus computadores, vi até uma palestra em que usaram o Ruindow$ à Vista (os caras eram norte-americanos).

Enfim, percebo que os palestrantes, representantes das empresas e demais participantes, em geral, estão em um nível de conhecimento muito bom, porém a perseverança no Software Livre não está das melhores (e eu espero estar com uma má impressão).

sábado, 12 de abril de 2008

Informações sobre o jogo "controle a bolinha com as mãos"

Este jogo foi um "sub-projeto" que apareceu com o andamento do SIRENE.
O objetivo do jogo é apenas não permitir que a bolinha chegue nas bordas da tela.
Como os leitores devem imaginar, fiz este protótipo no Scilab (detalhe: acho que não demorei 6 horas de implementação, pois já tinha as idéias em mente, e comecei tudo do zero), então pude ter um alto desempenho no desenvolvimento do programa, porém a execussão do mesmo fica comprometida.

O Scilab é um ambiente de simulação, muito indicado para o desenvolvimento de algoritmos de forma rápida, porém a execussão do programa é muito lenta.

No FISL irei fazer uma apresentação informal deste programa, porém não pretendo disponibilizá-lo antes de ver como fazer para colocá-lo sob as condições da GNU-GPL.

quinta-feira, 10 de abril de 2008

Jogo: controle a bolinha com as mãos

Hoje fechei o joguinho para o FISL.
Não deu para fazer o par-ou-ímpar nem o pedra-papel-tesoura, mas esse da bolinha ficou legal...
Segue um vídeo demonstrativo:

Plot 3D de pontos isolados

Eu estava com um problema relativo à geração de gráficos tridimensionais no scilab. Especificamente, eu precisava plotar pontos isolados, mas nenhuma das funções que conhecia (plot3d(), plot3d1(), plot3d2() e plot3d3()) era capaz de gerar os pontos.
Até mandei e-mail e postei comentários em blogs relacionados, mas fiquei satisfeito em encontrar a solução por mim mesmo.
A função param3d1() é capaz de gerar os pontos de acordo com os parâmetros passados. Os gráficos gerados estão apresentados abaixo.
param3d1(x, y, list(z, -4));

param3d1([x1 x2], [y1 y2], list([z1 z2], [-1 -2]));

Com isto, minha busca chega ao fim.

Segmentação neural com 3 neurônios

Nos últimos dias eu estive avaliando a segmentação usando a rede de Kohonen. Fiz algumas experiências com relação aos atributos, codificações de cor, quantidade de neurônios e outras coisas.
Nas figuras a seguir apresento resultados obtidos com 3 neurônios, em que cada cor representa os pontos pertencentes a um dado neurônio após o treinamento da rede.


Imagem 1.


Imagem 2.


Imagem 3.


Imagem 4.


Imagem 5.


Nas imagens 2 e 5 a rede não conseguiu segmentar a mão, porém em todas as outras observa-se que a mão ficou bem evidenciada na imagem segmentada.
Nestes casos, a codificação de cor usada foi RGB.

terça-feira, 8 de abril de 2008

FLISOL 2008

Hoje fui informado que minha proposta de palestra foi aceita no FLISOL-CE 2008.

Minha palestra abordará P&D e Software Livre. Nesta palestra irei tratar de ferramentas computacionais e casos relacionados que conheço.

Estarei aberto aos interessados desde já.

segunda-feira, 7 de abril de 2008

Cool Linux

Hoje, no horário de descanço, encontrei este vídeo mostrando uns recursos gráficos do Linux e achei que valia a pena apresentar aos que não conhecem.

Função característica de uma variável aleatória

Hoje, na aula de processos estocásticos, foi apresentada uma técnica que achei interessante, e muito útil, para análise de variáveis aleatórias: a Função Característica da variável aleatória.
Definição:Caso contínuo.

Caso discreto.

Observa-se que a função característica assemelha-se a Transformada de Fourier Inversa.
A função também pode ser obtida pelo operador Esperança matemática E{.}:
Uma aplicação direta da Função Característica é a obtenção dos momentos estatísticos do tipo:Em que:

sábado, 5 de abril de 2008

Meu computador

Este post será breve.
Apenas para descrever o meu computador que uso a cada dia.

É um laptop Acer Aspire 3100.
Processador AMD Semprom 64bits 1.8GHz
512MB RAM
HD 80GB
Placa de vídeo ATI Radeon Xpress 1100

O HD é particionado em 4 "pedaços"
Partição 1: SO Linux PCLinuxOS (versão 2007)
Partição 2: SO Kubuntu 7.10
Partição 3: /home (compartilhada para ambas as distribuições)
Partição 4: swap

Tenho este computador desde maio de 2007, talvez o troque no fim deste ano ou no próximo.

quinta-feira, 3 de abril de 2008

Momentos estatísticos

Uma das áreas do conhecimento que mais uso é a estatística.
E um assunto muito importante na estatística são os momentos estatísticos.

Cada momento estatístico fornece uma informação diferente dos dados que estamos lidando. Estes momentos diferem-se pela ordem, podendo ser de 1a, 2a, 3a, 4a, etc... Sendo os mais usados os de 1a e 2a ordem, depois o de 3a e, raramente, de 4a; momentos de ordem superior são dificilmente usados.

O momento de 1a ordem é definido como:Este mede o valor médio dos dados.

O momento de 2a ordem é definido como:Este mede a dispersão dos dados em torno do valor médio.

O momento de 3a ordem é definido como:Este mede a simetria dos dados em torno do valor médio.

O momento de 4a ordem é definido como:Este mede a acuidade (concentração) dos dados em torno do valor médio.

Estas informações são importantes para qualquer análise de sinais.

O Scilab tem as funções mean(.) e variance(.) que calculam, respectivamente, os momentos de 1a e 2a ordem.

No entanto, qualquer momento (de ordem p), sendo x a variável de interesse, pode ser calculado como sendo:
sum((x - mean(x)).^p) / length(x)


quarta-feira, 2 de abril de 2008

Segmentação neural das mãos

Ontem eu fechei um algoritmo de segmentação de pele usando uma rede neural muito interessante: a rede SOM.

Segue o vídeo que fiz.


Neste caso, basta separar o espaço de cores em 2 clusters: fundo e objeto. O que mais chama a atenção é a fase inicial em que observa-se a aprendizagem da rede.

Somatório de séries infinitas

Em 2003 (quando eu estava estudando para o vestibular), eu aprendi um monte de coisas interessantes. Na semana passada teve prova de processos estocásticos (probabilidade e estatística temporais) e durante os estudos, resolvendo listas de exercícios, lembrei-me de algo que pode ajudar muita gente.

A técnica serve para resolver somas de séries infinitas.

A idéia é a seguinte:

depois manipula-se a série.

Normalmente, isolando-se o 1o termo e pondo algum fator em evidência nos termos restantes. De modo que obtém-se novamente a série inicial.Então, obtém-se a seguinte equação:
Como exemplo (o mais óbvio que existe), usaremos uma série geométrica:

Reforço que esta técnica pode ser usada em diversas situações, basta ter um pouco de "malícia matemática".