quinta-feira, 17 de dezembro de 2009

BelJungle VI: Mais um Importante Evento!

Aconteceu nos dias 4 e 5 de dezembro a 6ªEdição do BelJungle juntamente com Sun Tech Day Edição 2009 beljungle.blogspot.com. O evento é organizado pelo Grupo de Usuários Java de Belém (belJUG) e como sempre impressiona com a dedicação e capricho dos organizadores.

Novamente uma valorosa oportunidade para networking! Na minha opinião, umas das maiores vantagens de participar de um evento como esse é a oportunidade de conhecer profissionais, atuantes na área, e seus projetos. Assim vai se formando um círculo de amizade que por incrível que pareça tende a se tornar mais forte ainda através da internet. Assim fiz e assim conheci e tenho grandes amigos formados em eventos anteriores. Só pra lembrar de alguns: Renato Simões, Paulo Igo, Edgar, Samuel e muitos outros que já vou me desculpando por não relacionar.

Já em Belém, fui convidado pelo Renato para ir pegar o Sang Shin - arquiteto da Sun - no aeroporto e não demorou muito para decidirmos almoçar nas Docas. Na ocasião lembramos de um BelJungle que ocorreu ali mesmo naquele lugar maravilhoso. O Sr. Sang é um cara muito aberto e receptivo. A palestra desse coreano foi também muito interessante e providencial: Java EE 6: Next Generation Enterprise Application Platform.

Estava lembrando que no evento do ano passado tive uma conversa inicial com o Marcos Vinícius - outro grande parceiro - sobre a sua atividade como coordenador da FabSoft mas, após isso, simplesmente perdi o contato. Agora mais recentemente através da iniciativa de alguns alunos do 2º período do custo de S.I. da Facimp, aqui em Imperatriz-MA, foi criada uma revista especializada. A primeira edição já está pronta e somente sairá em fevereiro logo no reinício das aulas. Pois bem, aproveitei o momento e fiz uma entrevista como Marcos e dois alunos, o Ewertton e Yuri, sobre a FabSoft. Consegui um material realmente interessante para a próxima edição da revista. Já deixo aqui o meu agradecimento pelo tempo disponibilizado pelo pessoal da FabSoft.

Estava lendo o texto do Edgar na pagína principal do beljungle.blogspot.com e atentei para um detalhe interessante. Eu perdi apenas a primeira edição do BelJungle!!! Fui me certificar no meu CV e confirmei que realmente desde 2005 que insisto em participar desse evento e me manifesto para ir a Belém! E deixo aqui o meu agradecimento a todos pela forma como sou recebido em Belém e afirmo com muito orgulho que todas essas experiências nos BelJungle's contribuiram e fazem parte da minha vida profissional.

Desta vez, apresentei uma palestra sobre o projeto Tranqueira. Uma aplicação mobile, baseada no framework LWUIT, desenvolvida para ajudar a gerenciar os costumeiros empréstimos de pequenas coisas que fazemos para amigos. Daí o nome :) Ela está hospedada no www.java.net no endereço: tranqueira.dev.java.net

Uma novidade esse ano, gostei muito da informalidade gerada pela idéia do Boteco Java. Foi uma experiência muito diferente aproximar todos, palestrantes e platéia, num mesmo nível para uma discussão aberta. Eu observei que até mesmo pessoas que até então não tinham se manifestando fazendo perguntas em uma ou outra palestra, de repente, estavam lá, levantando e discutindo temas. Essa idéia certamente será copiada em vários outros eventos!

Eu consegui assistir quase todas as palestras e achei todas muito interessantes e de altíssimo nível. Altíssimo nível porém explanada de forma simples e coerente para a platéia.

Um agradecimento especial a Pâmela, Ricardo, Daniel, Ewertton, Yury, Marcos, Samuel, Paulo, Renato (são os nomes que lembro mas tem muito mais gente envolvida) pela receptividade e pelo trabalho desenvolvido. Já na saída mais networking e no final de tudo um bate papo bem alto nível com os novos amigos Calex e Luís! Valeu pessoal!

É um evento de tecnologia? Sim, um evento absolutamente técnico. Mas, é um evento composto e dependente de pessoas e público! As conversas sobre idéias, projetos, dicas e macetes de programação Java seriam meros devaneios se não fossem despejados via diálogo! Diálogo entre pessoas! Portanto, é um evento social também! Essa é a grande sacada de um evento de tecnologia! Tecnologia e sociabilidade! Participando de um evento como esse você aprende ou aperfeiçoa técnicas mas principalmente você se apresenta ao ambiente social que mantêm tudo isso vivo, se apresenta ao mercado. Portanto, considerem de verdade o valor social de tudo isso porque é real!

sábado, 5 de setembro de 2009

Blog no Java.net

Devido ao fato de o projeto Tranqueira ter sido aprovado no site www.java.net, acabei ganhando também um espaço no site dessa comunidade para blogar sobre os mais diversos assuntos no mundo mobile.

O endereço é Eloi Jr' blog e será uma responsabilidade a mais. Quase não atualizo esse espaço que é em português e agora com mais esse blog, em inglês, certamente irá gerar mais uma carga interessante de trabalho.

Também está disponível uma entrevista gravada, em Goiânia, com o Roger Brinkley sobre o projeto Tranqueira. Na verdade, o colega Neto Marin, do INdT de Manaus, me ajudou com a tradução simultânea. Esse podcast pode ser baixado no endereço: Podcast Tranqueira.

Mais uma excelente oportunidade de divulgar nosso trabalho e manter-se sempre atento às mudanças que as tecnologias mobile estão proporcionando - e ainda vão proporcionar - a esse inquieto mundo.

quinta-feira, 20 de agosto de 2009

Tranqueira Aprovado no java.net




















O pequeno projeto Tranqueira acaba de ser aprovado no www.java.net, um dos maiores repositórios de projetos baseados na tecnologia Java. O projeto Tranqueira está hospedado no endereço https://tranqueira.dev.java.net/ onde está disponível para download o binário e seus fontes.

O projeto Tranqueira é baseado no framework LWUIT e Floggy e foi apresentando ao Roger Brinkley e Terrence Bar no evento M3DDLA, em Goiânia. Os engenheiros da Sun gostaram bastante do projeto e não hesitaram em fazer o convite para que o projeto fosse hospedado no site da comunidade de desenvolvedores.

O propósito dessa pequena aplicação, é gerenciar os costumeiros empréstimos de pequenas coisas que nos pertencem, mas que ainda assim são importantes. Por exemplo: livros, CDs, DVDs, revistas, barraca, material de pesca e etc. O motivo do projeto ter recebido esse nome foi justamente fazer uma alusão divertida e engraçada a essa tão corriqueira situação.

sexta-feira, 10 de julho de 2009

M3DDLA: Basta Insistir,Trabalhar, Insistir e Trabalhar

Acabo de ler o blog do Maurício Leal, um dos responsáveis pela organização do excepcional M3DDLA em Goiânia, e fiquei definitivamente surpreso e grato pelas palavras desse outro grande parceiro que tenho encontrado em eventos de Java pelo Brasil.

A postagem está em weblogers.java.net com o título: M3DD/LA - A gather of mobile and embedded community in Latin America.

Palavras dele: "Some of the Brazilian Celebrities in the mobile space were Igor Medeiros (The Brazilian JavaCard man and a awesome photographer), Antonio Marin Neto (aka Neto, author of CosMo - the mobile application with all information about an event), Robison Chris Brito (author of several Java ME videos with his popular and exciting talks about gaming), Eloi Junior (mobile developer from far north of Brazil and doing amazing things with LWUIT), Alexandre Gomes (Java.net blogger and Mobile&Embedded star, His talk is always well attended and very funny) and Magno Calvalcante is Rio de Janeiro's JUG Leader and presented his JavaOne's talk about the Brazilian Digital TV System."

A menção ao meu nome junto aos nomes de tanta gente boa me deixou lisonjeado, de fato! Mas, quando ele disse que tenho desenvolvido trabalhos interessante e maravilhosos usando o framework LWUIT, realmente ele falou como conhecedor da causa, modéstia à parte claro.

Acontece que tenho mesmo alguns projetos interessantíssimos utilizando LWUIT e que até demonstrei dois deles para o Terrence, Roger e outros colegas no evento. Eles acharam realmente muito bacana os projetos. Em outro post irei apresentá-los. Também, já palestrei sobre LWUIT - tentando me lembrar agora - em Belém-PA num evento promovido pelo BelJungle, em Marabá-PA na semana da informática promovida pelo curso de Sistemas de Informação da UFPA, campus Marabá e, inclusive para meus alunos aqui da FACIMP (Faculdade de Imperatriz). Pra completar estou envolvido em um curso de férias onde o objetivo principal é criar uma aplicação real utilizando esse mesmo framework.

É isso ai! LWUIT veio pra quebrar paradigmas e impor o fim do já tão conhecido problema da fragmentação.

Deixo aqui o link do blog dos criadores do LWUIT, onde pode ser encontrado materiais interessantíssimos também: lwuit.blogspot.com

sábado, 4 de julho de 2009

Curso de Férias: Java ME com LWUIT e Floggy

Esse mês de julho, que deveria ser um mês de férias, resolvi oferecer um curso de extensão (pode ser chamada de curso de férias também) na instituição na qual eu trabalho como professor, a FACIMP (Faculdade de Imperatriz). Me parece que consegui animar grande parte dos alunos, mas o curso também poderá receber pessoas interessadas ou apaixonadas por tecnologia sem discriminação. Basta se inscrever. O detalhe é que me parece que todas as vagas já foram ou serão preenchidas por alunos meus desse semestre :))) Outro detalhe extremamente importante é que o curso será GRATUÍTO!

O título do curso será: Java ME na Prática: Desenvolva uma Aplicação Mobile Real Utilizando os Frameworks LWUIT e Floggy. O curso será ministrado nas segundas e sexta-feiras, a partir das 19:00 com 3 horas de duração. Se eu me empolgar (como sempre acontece), não teremos nem intervalo. Usaremos as quatros semanas de julho e, portanto, teremos 24 horas de muito trabalho e haja garganta. Espero encontrar uma turma bem disposta a aprender porque minha vontade é além de levar conhecimento a eles, também despertar o interesse para esse mercado que está em franca expansão e que a demanda de software é assustadoramente alta!

A idéia é construir uma aplicação para gerenciamento de senhas que poderá, ao final do curso, ser instalada nos celulares dos próprios alunos. Como seremos bem econômicos em termos de código e utilizaremos frameworks bem leves, como o LWUIT e o Floggy, com certeza a aplicação rodará em vários aparelhos celulares. Ainda vou postar alguns screenshorts da aplicação nesse espaço. Aguardem!

sábado, 27 de junho de 2009

M3DDLA: Uma Breve Descrição

Um dos melhores eventos do qual eu participei, se não o melhor! Talvez por ser um evento mais específico e ter como tema uma área de pesquisa pela qual sou apaixonado: sistemas mobile e embarcados.

Foi um evento grandioso! Altíssimo nível técnico das apresentações. Quatro salas simultâneas tratando dos mais diversos assuntos: LWUIT, Sun SPOT, Eclipse, plugins de desenvolvimento, SDKs, criptografia, computação ubíqua, Widgets, Ginga, TV Digital, Java Card, robótica, sistemas georeferenciados, SVG, vários projetos independentes e painéis de discussão, disputados por centenas de conferencistas. Eu mesmo perdi a oportunidade de assistir a palestra do Alexandre Gomes devido ao fato da minha ter ocorrido no mesmo horário.

Organização impecável: Está de parabéns todo o pessoal da organização. Não tenho o nome de todos mas o SENAC como organização aceitou o desafio e o executou com extrema competência. Parabéns ao coordenador do curso de tecnologia Murilo, ao pessoal do GoJava, Felipe e Rafael (me deram todo o suporte necessário), Maurício Leal e vários outros dos quais ou não me lembro do nome agora (falha normal minha) ou não tive oportunidade de conhecer.

Novamente, como tenho dito, um dos fatores mais importantes em eventos como esse é o círculo de amizade que se forma. Colegas como o David (César), Neto Marin (INdt), Igor Medeiros, Roger Brinkley, Terrence Bar, Robison Brito, Alexandre Gomes, Rafael, Felipe, Luís Felipe e tantos outros contribuem para uma verdadeira sinergia em prol do desenvolvimento de sistemas móveis e embarcados. Algumas cenas engraçadas também acabam ficando como por exemplo, a manobra 360 dos invisíveis freestyle inline do Igor executada repetidas vezes pelas calçadas de Goiânia :)). Depois de todo esse envolvimento, é espantoso o grau de motivação que se alcança quando se participa de um evento como esse.

Na foto à esquerda: Igor, Roger, Eloi, Neto, Robison e Alexandre.

Mais opiniões sobre o evento:
Blog da Sun sobre Java ME SDK por Radko
Blog do Neto Marin
Blog do Maurício Leal

Mais fotos do evento:
Álbum Rafael Fontoura
Álbum Rodrigo

Parabéns a todos e muito obrigado pela receptividade e suporte dos novos amigos de Goiânia!

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.