segunda-feira, 22 de junho de 2009

Ativação de Lembranças 2/10

O que ativa a Lembrança?
A invasão mental de todas aquelas sensações
perpetuadas pelo descontrole emocional
ou a dança frenética e a colisão de átomos
propagadas por leis primárias da física?

E se tudo provém desse frenesi de partículas
minúsculas atraídas por campos eletromagnéticos,
porque só nós humanos temos emoções?
Porque lembrar?

by Eloi Jr

sábado, 13 de junho de 2009

Ativação de Lembranças 1/10

E o seu universo?
Parecia tão grande e infinito
Agora cabe num grão de areia
Você tem apenas esse passado
E essas estranhas sensações
Que correm nas suas veias
E atinge o cêrebro
Ativando lembranças

by Eloi Jr

sábado, 30 de maio de 2009

Palestra Aprovada no M3DDLA


Nesse mês de junho estarei palestrando em mais um evento! O Java Mobile, Media & Embedded Developer Days Latin American (M3DDLA) que se realizará no dia 20 de junho em Goiânia. Meu trabalho foi aprovado e já estou me preparando para demonstrar um pouco mais das minhas pesquisas sobre o padrão Scalable Vector Graphics (SVG). Na verdade como sou também um estusiasta da computação embarcada e mais especificamente do Java ME, meu foco nesse padrão será no perfil Tiny.
Será mais uma valorosa oportunidade para conhecer muita gente boa que conhece muito da computação embarcada e onipresente.

sábado, 2 de maio de 2009

O FISL 10 vem ai!

Acontecerá entres os dias 24 a 27 de junho de 2009, no centro de eventos da PUC-RS, em Porto Alegre/RS Brasil a 10ª Edição do Forum Internacional de Software Livre-FISL. O evento já conta com mais de 3.000 inscritos até o momento e mais de 600 trabalhos a serem ainda avaliados e escolhidos para serem apresentados nesse que já é considerado o maior evento de software livre da América Latina e um dos maiores do planeta.
Eu diria que serão quatro dias valorosos para se discutir tecnologia abertamente. Autoridades internacionas e nacionais, governo, empresas, grupos de usuário, desenvolvedores, designers e etc. todos formando juntos uma corrente de pensamento forte e direcionada para a participação, colaboração e abertura do conhecimento.
Mais detalhes em: http://www.fisl.org.br

terça-feira, 28 de abril de 2009

FLISOL 2009 Edição Imperatriz, MA, Brazil

Aconteceu em Imperatriz dia 25 de abril, na FAMA, uma das edições do Festival Latino Americano de Instalação de Software Livre-FLISOL (http://installfest.info/FLISOL2009/Brasil). Considerado o maior evento de software livre da América Latina, o principal objetivo do FLISOL é promover o uso de software livre, apresentar sua filosofia, seu alcance, avanço e desenvolvimento ao público em geral.

O evento ocorreu simultaneamente em diversas cidades da América Latina e Imperatriz, evidenciando o caráter inovador e ativo da sua comunidade, foi uma dessas cidades.
No caso de Imperatriz, o evento foi coordenado pelo recém criado Grupo de Usuários de GNU/Linux de Imperatriz e Região-GUGLIER (http://www.guglier.com.br/).

Tivemos palestras extremamente interessantes nesse evento. O Everson Araújo forneceu uma visão geral do que é o sistema operacional Linux, do ponto de vista do usuário. Terry Aguiar expôs diversos pontos sobre os modelos de licença usados em software livre. No meu caso, eu resolvi apresentar um trabalho sobre a versão aberta e livre do Java ME para telefones celulares, phoneME.
Considerando o tempo de existência do GUGLIER (menos de 2 meses) e o fato de não termos tido tempo para fazer divulgação na mídia regional, eu considero que o evento alcançou o seu objetivo. O público apesar de pequeno, surpreendeu, estando presente e atento a todas as apresentações.

terça-feira, 3 de fevereiro de 2009

Netbeans 6.5: Pequenos contratempos II

Mais um problema para a lista de pequenas adaptações para poder fazer uso dessa fenomenal ferramenta! A versão do meu JDK é a 1.6.0_03 mas a minha JRE é 1.6.0_11 e eu uso o Ireport, versão 3.1.2, para desenvolver os relatórios da minha aplicação. Novamente estava tudo funcionando bem até o momento em que instalei o Netbeans 6.5. Os relatórios simplesmente não compilavam mais e não geravam nem o preview. Foi meio angustiante perceber que dos relatórios mais simples aos mais complexos, nenhum deles funcionava mais.

Depois de muita pesquisa na net e já quase acreditando que ninguém estaria enfrentando ou já teria enfretado o mesmo problema, descobri que este estava relacionado a ausência do pacote xercesImpl.jar na lista de extensões do JRE. O erro que ocorria era:

javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found

Existe uma cópia atualizada desse pacote na subpasta ext dentro NETBEANS_HOME. Então para resolver o problema foi só copiar o arquivo xercesImpl.jar da pasta:$NETBEANS_HOME\ireport\modules\ext para a pasta: $JDK_HOME\jre\lib\ext. Pronto! Netbeans 6.5 definitivamente – outra vez - funcionando!

segunda-feira, 2 de fevereiro de 2009

Netbeans 6.5: Pequenos contratempos I

Estava me lembrando de uma expressão bem popular que citava que "a curiosidade matou o gato!". E o que dizer da ansiosidade? E aquela desejo, bem leve, que alguns tem de dirigir algum lançamento de uma grande industria de automóvel ou mesmo de motos? Imagine a qualidade da massagem cerebral quando você ouve a companhia tocar e chegando lá descobre que é a transportadora entregando aquela maravilhosa TV de plasma de 40 e tantas polegadas que você comprou na internet! Ou até mesmo ficar aguardando chegar o novo e ultra moderno notebook adquirido também na internet!

Você deve está se perguntando qual a conexão dessas frases, aparentemente perdidas, com a expressão logo acima, no início desse pequeno artigo. Pois bem, na verdade isso tudo é justamente uma tentativa de frisar o quanto o que é novo nos comove e envolve. E nos faz tomar decisões precipitadas!

Explicando melhor e tecnicamente: Eu estava envolvido em alguns projetos Java SE utilizando o Netbeans 5.5. Resisti verdadeiramente ao surgimento das versões 6.0, 6.1 e outras milestones até que for fim foi lançado a versão 6.5 do Netbeans. Instalei, fiz alguns testes e resolvi utilizá-la. Algumas semanas foram se passando e eu me sentia cada vez mais confiante até que resolvi trabalhar apenas com essa versão nova. Equivocadamente resolvi também desinstalar o 5.5.

Em um desses projetos Java SE eu utilizo a JPA através da implementação da Oracle, o TopLink. Ocorre que algumas pesquisas mais complexas que trabalhavam com coleções e subcoleções não estavam funcionando. Como as nossas janelas de pesquisa oferecem diversas opções de filtro, eu não fui capaz de testar tudo. O meu cliente testou!

Em relação ao relacionamento dos POJO's, eu tinha a seguinte situação:

@Entity
@Table(name = "pessoa")
public class Pessoa implements Serializable {
...
@OneToMany(mappedBy="codPes", cascade=CascadeType.ALL, fetch=FetchType.EAGER)
private List fone;
...
}

@Entity
@Table(name = "fone")
public class Fone implements Serializable {
...
@OneToMany(mappedBy="numSeqFone", cascade=CascadeType.ALL, fetch=FetchType.EAGER)
private List foneContato;

@JoinColumn(name = "COD_PESSOA", referencedColumnName = "COD_PESSOA")
@ManyToOne
private Pessoa codPes;
...
}

@Entity
@Table(name = "fone_contato")
public class FoneContato implements Serializable {
...
@JoinColumn(name = "NUM_SEQ_FONE", referencedColumnName = "NUM_SEQ")
@ManyToOne
private Fone numSeqFone;
...
}


Eu citei os POJO's Pessoa, Fone e FoneContato exatamente porque era uma pesquisa feita em seus dados que estava gerando o erro abaixo:

...
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: An exception occured while creating a query in EntityManager at oracle.toplink....cmp3.EntityManagerImpl.createQuery(EntityManagerImpl.java:209)
...
Error compiling the query [SELECT DISTINCT p FROM Pessoa p WHERE (EXISTS(SELECT f FROM p.fone f WHERE f.fone = :fone) or EXISTS(SELECT fc FROM p.fone fc WHERE fc.foneContato.fone = :fone))], line 1, column 136: invalid navigation expression [fc.foneContato.fone], cannot navigate collection valued association field [foneContato].
...

A versão do TopLink que vem no Netbeans 6.5 era a 2.0.1 (Build b09d-fcs (12/06/2007)), enquanto que no Netbeans 5.5 era a 2006.8 (Build 060830).

Então, com o TopLink 2.0.1 qualquer pesquisa em tipos coleções de POJO's – List - gerava o erro: cannot navigate collection valued association field. Tentei inclusive baixar a última versão dessa biblioteca direto no site da Oracle (versão 2 e build 31) e o problema persistia. Não teve jeito, para resolver definitivamente o problema, eu tive que remover as bibliotecas originais do TopLink, que eram instaladas no NetBeans 6.5, e instalar a versão que vinha junto com o 5.5. Nesse caso, eu tive que reinstalar o Netbeans 5.5 novamente para conseguir copiar a versão anterior do TopLink. Mas, como reconfigurar bibliotecas e tantas outras coisas no Netbeans é muito fácil, no final deu tudo certo. Netbeans 6.5 definitivamente funcionando!

Pois é, a curiosidade e a ansiosidade em usar a última versão do Netbeans me trouxe esses contratempos que me tomaram algum tempo para saná-los.