Evento Tchelinux 2009 São Jerônimo

O Tchelinux 2009 São Jerônimo, que acontecerá no dia 04 de Julho na ULBRA em São Jerônimo. Nesta edição serão 12 palestras com temas que vão desde conceitos sobre Software Livre orientadas para o público principiante até temas para usuários avançados. Para maiores informações:

http://www.tchelinux.org/saojeronimo/

Como de costume o grupo não cobrará ingresso para participar do evento, contudo cada participante é encorajado a doar 2kg de alimentos não perecíveis que serão encaminhados à instituições de caridade de São Jerônimo. As inscrições para as 200 vagas estarão abertas a partir do dia 24/06 através do formulário no site. Corra e garanta já o seu lugar!!

Ministrarei a palestra sobre gerenciamento de componentes java em tempo de execução. Onde o assunto é OSGi e será demonstrada uma aplicação utilizando seus recursos. Segue o resumo:

"Os sistemas críticos devem possuir o máximo de disponibilidade possível. Mas, durante seu ciclo de vida, existe a necessidade de adicionar novos recursos ou implantar novas versões de componentes que já estão em execução. Nestes casos, o gerenciamento de componentes Java em tempo de execução é um recurso importante no desenvolvimento de aplicações. O objetivo desta palestra é apresentar uma solução para a alocação dinâmica de componentes e serviços na plataforma Java utilizando OSGi. Uma solução "leve", sem a necessidade de servidores de aplicação JEE."

OSGi: Open Services Gateway Initiative

Recentemente, a RedHat lançou o programa JBoss Open Choice, que basicamente é uma modalidade de suporte para ambientes "leves" Java. Isto é, sem um servidor JEE completo. Estes ambientes, não são necessáriamente de pequeno porte. Conheço soluções JSE, que são 24x7 e processam milhões de transações diáriamente.

Mais informações sobre o JBoss Open Choice no blog do Edgar Silva:
http://edgarsilva.com.br/2009/06/08/jboss-open-choice-para-quem-precise-de-suporte/

Na lista de tecnologias do programa aparece a OSGi. Com a aprovação da JSR-291, a OSGi foi oficializada como um padrão da plataforma Java. Apesar de sua origem ser os dispositivos embarcados, esta tecnologia está crescendo nos servidores, se tornando uma opção para desenvolvimento de componentes. Já faz algum tempo que a RedHat vem investindo em OSGi. Por exemplo, mudou a arquitetura do JBoss para Microcontainer (baseado em OSGi), lançou o JbossOSGi e agora este suporte. Para quem acha que nunca usou esta tecnologia, saiba que os plugins do Eclipse seguem este padrão. Abaixo falo um pouco sobre a tecnologia e neste sábado (13/06), vou ministrar uma palestra sobre assunto no Tchelinux Caxias 2009.

OSGi é o nome da tecnologia, mas também dá o nome ao consorcio que agrupa empresas de tecnologia como Ericsson, Siemens, Motorola, IBM, Oracle, entre outros. O objetivo desta iniciativa foi criar uma especificação aberta para o desenvolvimento, configuração e gerenciamento de serviços para a Plataforma Java. Com isto, ela oferece um padrão para montagem dinâmica de sistemas baseados em componentes. Tornando possível a definição de componentes, fazendo o controle de visibilidade de seus recursos, o gerenciamento de dependências com outros componentes e suas versões, o controle do seu ciclo de vida, entre outros. Os componentes são chamados de bundles na especificação da OSGi.
O resultado desta especificação foi um padrão onde um bundle exporta serviços e a API que ele fornece. Este bundle pode encontrar outros serviços utilizando o registro de serviços do OSGi. No modelo, um bundle é como uma aplicação distribuída em um arquivo JAR, com seu arquivo de manifesto que, além de exportar pacotes, pode disponibilizar serviços. Este manifesto fornece ao framework informações da classe que ativa o bundle, versão, os pacotes externos Java e quais partes da sua API estão disponíveis para os demais bundles.

Arquitetura OSGi

O framework OSGi gerencia de forma dinâmica as modificações dos bundles no ambiente, validando dependências entre bundles e serviços. Ele possui mecanismos para controlar a instalação, ativação, desativação, atualização e remoção de bundles físicos. Proporciona um modelo de programação onde a especificação do serviço é feita através de interfaces Java, separando a especificação de sua execução.

Tchelinux 2009 Caxias do Sul

É com muita satisfação que anuncio o retorno do grupo TcheLinux à Serra Gaúcha, para o Tchelinux 2009 Caxias do Sul, que acontecerá no dia 13 de Junho na FTEC. Nesta edição será composta de 25 palestras com temas que vão desde conceitos sobre Software Livre orientadas para o público principiante até temas para usuários avançados. Para maiores informações recomendo a visita ao site do evento:

http://www.tchelinux.org/caxias/

Como de costume o grupo não cobrará ingresso para participar do evento, contudo cada participante é encorajado a doar 2kg de alimentos não perecíveis que serão encaminhados à instituições de caridade de Caxias do Sul. As inscrições para as 450 vagas já estão abertas, e podem ser feitas pelo formulário no site. Corra e garanta já o seu lugar!!

Ministrarei a palestra sobre gerenciamento de componentes java em tempo de execução. Onde o assunto é OSGi e demonstrarei uma aplicação utilizando seus recursos. Segue o resumo:

"Os sistemas críticos devem possuir o máximo de disponibilidade possível. Mas, durante seu ciclo de vida, existe a necessidade de adicionar novos recursos ou implantar novas versões de componentes que já estão em execução. Nestes casos, o gerenciamento de componentes Java em tempo de execução é um recurso importante no desenvolvimento de aplicações. O objetivo desta palestra é apresentar uma solução para a alocação dinâmica de componentes e serviços na plataforma Java utilizando OSGi. Sem a necessidade de servidores de aplicação JEE."

Eventos Tchelinux

O TcheLinux está trabalhando muito este ano, os próximos eventos serão os de Bagé (23/05) e Chapecó (06/06). No dia 30 de maio será realizado um WorkShop na FTEC Porto Alegre. Nesta edição serão 12 workshops e tutoriais sobre linguagens de programação e ferramentas para desenvolvimento e colaboração. Ministrarei o WorkShop sobre Google Android.
Como de costume o grupo não cobrará ingresso para a participação nos eventos, contudo cada participante é encorajado a doar 2kg de alimentos não perecíveis que serão encaminhados à instituições de caridade.

http://www.tchelinux.org/bage/
http://www.tchelinux.org/2009/workshop/
http://www.tchelinux.org/chapeco/

Tchelinux 2008 - Caxias do Sul


Será realizado no próximo sábado (27/09/2008) mais um evento Tchelinux, na FTEC em Caxias do Sul na Serra Gaúcha. Nesta edição serão 21 palestras com temas como Java, PostgreSQL, Linux, Wine, ZFS, Django, Gimp, CodingStyle e muito mais. Como de costume o grupo não cobrará ingresso, contudo cada participante é encorajado a doar 2kg de alimentos não perecíveis que serão encaminhados a instituições de caridade de Caxias do Sul.

Para maiores informações visite o site do evento:

http://www.tchelinux.org/caxias

As inscrições para as 400 vagas ja se encontram abertas e podem ser feitas através do formulário no site do evento. Corra e garanta já o seu lugar!!

Android: jogue Quake no seu celular

A Qualcomm demonstrou um protótipo de celular Android rodando Quake. O aparelho conseguiu 30fps com o acelerador grafico 3D da Qualcomm. O mercado continua se movimentando em direção ao Android, o iPhone que se prepare, afinal não será uma única empresa desenvolvendo a plataforma... Veja o vídeo abaixo:



http://www.phonemag.com/

Atualize o seu NetBeans 6

Foi liberado um novo patch para o NetBeans 6.0 e 6.0.1. Nele estão várias correções de bugs nos módulos C/C++, Composite Applications, IDE Platform, Java Profiler, Java, NetBeans IDE 6.0, Platform, Subversion, UML, Visual JSF, Web Applications, and Web Services.
O NetBeans pode ser atualizado através do gerenciador de Plugins (Ferramentas->Plugins).


http://wiki.netbeans.org/NetBeans6.0PatchesInfo

Microsoft vai contribuir com o Eclipse

É, se não pode vencê-los... A Microsoft anunciou que irá colaborar com a Eclipse Foundation, contribuindo para melhorar o suporte nativo do Eclipse Standard Widget Toolkit (SWT) ao look-and-feel do Windows Vista. Sempre é bom lembrar que o Eclipse é concorrente direto do MS Visual Studio. Para quem lembra do J++ este tipo de noticia, sempre vem acompanhada de alguma desconfiança. Mas é só não cairmos em armadilhas, que tornem as aplicações amarradas a uma plataforma, seja ela qual for. Independência de plataforma é uma "conquista" que não pode ser posta de lado.

http://www.computerworld.com

Java: Swing, AWT ou SWT? Por que não QT?

O Qt é uma biblioteca multi-plataforma, para desenvolvimento de interfaces gráficas de aplicações. Ele é mais conhecido pelos desenvolvedores e usuários de Linux, por sua utilização no KDE, excelente sistema de gerenciamento de janelas. O Qt Jambi é a biblioteca para que o Qt seja utilizado com Java. Esta biblioteca é bem completa e possui muitos recursos para desenvolvimento de GUI's. Esta disponível a opção de desenvolvimento com o Eclipse.
Clique no link e confira...




http://doc.trolltech.com/qtjambi-4.3.2_01/com/trolltech/qt/qtjambi-index.html

Android: Lançado novo SDK com mudanças na API

Conforme foi anunciado, o Google lançou a nova versão do SDK do Android. Ele vem com novidades como: nova interface, animações, codecs, entre outros. Abaixo algumas das alterações na API.

Pacotes removidos:
android.graphics.glutils -> temporariamente indisponível
android.speech.recognition -> temporariamente indisponível
com.google.android.xmppService -> renomeado para com.google.android.gtalkservice
org.apache.commons.codec
org.apache.commons.codec.binary
org.apache.commons.codec.language
org.apache.commons.codec.net
org.apache.commons.httpclient -> use org.apache.http.*
org.apache.commons.httpclient.auth -> use org.apache.http.*
org.apache.commons.httpclient.cookie -> use org.apache.http.*
org.apache.commons.httpclient.methods -> use org.apache.http.*
org.apache.commons.httpclient.methods.multipart -> use org.apache.http.*
org.apache.commons.httpclient.params -> use org.apache.http.*
org.apache.commons.httpclient.protocol -> use org.apache.http.*
org.apache.commons.httpclient.util -> use org.apache.http.*


Novos Pacotes:
android.awt
android.content.pm
android.graphics.drawable.shapes
android.telephony.gsm.stk
android.test.mock
com.google.android.gtalkservice -> substituí com.google.android.xmppService.
org.apache.http
org.apache.http.auth
org.apache.http.auth.params
org.apache.http.client
org.apache.http.client.methods
org.apache.http.client.methods.multipart
org.apache.http.client.params
org.apache.http.client.protocol
org.apache.http.client.utils
org.apache.http.conn
org.apache.http.conn.params
org.apache.http.conn.ssl
org.apache.http.conn.util
org.apache.http.cookie
org.apache.http.cookie.params
org.apache.http.entity
org.apache.http.impl
org.apache.http.impl.auth
org.apache.http.impl.client
org.apache.http.impl.conn
org.apache.http.impl.conn.tsccm
org.apache.http.impl.cookie
org.apache.http.impl.entity
org.apache.http.impl.io
org.apache.http.io
org.apache.http.message
org.apache.http.params
org.apache.http.protocol
org.apache.http.util
org.apache.http.util.concurrent


Pacotes Alterados:
android
android.app
android.content
android.database
android.database.sqlite
android.graphics
android.graphics.drawable
android.hardware
android.location
android.media
android.net
android.opengl
android.os
android.provider
android.telephony
android.telephony.gsm
android.text
android.text.method
android.text.style
android.util
android.view
android.view.animation
android.webkit
android.widget
com.google.android.maps
java.lang
java.lang.annotation
java.lang.reflect
java.math
java.net
java.security
java.util
java.util.concurrent
java.util.regex
java.util.zip
javax.microedition.khronos.opengles
javax.net.ssl
javax.sound.sampled
org.bluez


http://code.google.com/android/migrating/m3-to-m5/changes.html
http://code.google.com/android/migrating/m3-to-m5/m5-api-changes.html
http://code.google.com/android/download.html

Android: protótipo touch screen com cara de celular

Foi muito comentada a esperada estréia do Android no Mobile World Congress. Foi uma enxurrada de vídeos com os protótipos apresentados no congresso. Mas o que mais me chamou a atenção foi este. Ele demonstrou vários recursos sempre utilizando o touch screen e o aparelho tem cara de celular comum.


Código no Eclipse, GUI no NetBeans

No fim do ano passado fui um dos palestrantes no 2o Seminário de Software Livre Tchelinux, que foi realizado no Instituto de Informática da UFRGS. Uma das palestras que ministrei, junto com o meu colega João Avelino, foi a "Desenvolvendo Software Livre com Java". A duração da palestra foi de aproximadamente 3 horas e após o Avelino falar sobre IDE's, fiz a observação de que já tinha visto mais de um desenvolvedor usar o NetBeans para desenhar a GUI e codificar no Eclipse. Isto porque o Matisse, editor visual do NetBeans, é muito superior ao VE do Eclipse. No link abaixo tem algumas dicas de como integrar a GUI do NetBeans com o código do Eclipse utilizando o Maven, mostrando que tem mais gente observando este comportamento.

http://moritzpetersen.de/index.php/archives/2008/02/07/using-netbeans-matisse-and-eclipse-in-parallel/

Uma parte desta palestra foi gravada e publicada por Bruna Briebeler, que estava na plateia, no seu blog. Este é link para o vídeo onde falo sobre isto.
http://www.youtube.com/watch?v=WHHsgOwtATU&feature=related

Java: em busca da JVM multi-linguagem

Sun quer aumentar o alcance da JVM (Java Virtual Machine). O projeto "Da Vinci Machine" tem como objetivo ser uma tecnologia para facilitar a implementação de outras linguagens dentro da JVM.

Muitas linguagens já foram implementadas na JVM, mas este projeto visa facilitar e aumentar a compatibilidade com as outras linguagens. A JVM foi projetada para trabalhar com a linguagem Java e existem peculiaridades de outras linguagens que dificultam a sua implementação. Recursos da "Da Vinci Machine" estão previstos para JDK 7.




http://www.nytimes.com/idg/IDG_002570DE00740E18002573E1007BAFDF.html?ref=technology

Android: a vez do NetBeans

Os fãs do NetBeans estão trabalhando para que seja possível desenvolver aplicações Android com ele. O Undroid é um plugin para o NetBeans 6, que apesar de não estar acabado, possui recursos como Smart Código, Refactoring, debug, entre outros.




http://undroid.nolimit.cz/

Tela azul da morte no aeroporto de Frankfurt

Já tinha visto uma outra foto parecida da tela de informações em outro aeroporto. Isto pode ser o inicio de um caos aéreo em Frankfurt ;) Este é um dos momentos em que lembro porque gosto tanto do Linux...



http://blogs.zdnet.com/projectfailures/?p=578

Novo SDK do Android

Durante o Android Workshop (Munich) foi anunciado que será lançado um novo SDK nas próximas semanas.
E o melhor é que não será simplesmente uma versão para corrigir bugs. Serão incluídas novas API's e melhoradas as já existentes. No plugin do Eclipse serão adicionadas novas funcionalidades. Mas o que está causando mais curiosidade é o anuncio de uma nova interface (GUI) para o Android. É esperar para ver....

http://jars.de/java/android-workshop-in-munich

Android vs Java: comparando as API´s

Apesar de desenvolvermos aplicações para o Android em Java, este não possui uma JVM. Ele utiliza a VM Dalvik que tem um subset do Java SE, isto é, não possuí a API completa. A VM Dalvik é otimizada para dispositivos com pouca capacidade de memória e não utiliza os arquivos padrão bytecode.
Um exemplo é a ausência do pacote javax.swing, pois o Android possui uma API própria para tratamento de GUI. Abaixo uma lista dos pacotes JSE suportados e não suportados pelo Android.

Suportados:

  • java.io - File and stream I/O
  • java.lang (except java.lang.management) - Language and exception support
  • java.math - Big numbers, rounding, precision
  • java.net - Network I/O, URLs, sockets
  • java.nio - File and channel I/O
  • java.security - Authorization, certificates, public keys
  • java.sql - Database interfaces
  • java.text - Formatting, natural language, collation
  • java.util (including java.util.concurrent) - Lists, maps, sets, arrays, collections
  • javax.crypto - Ciphers, public keys
  • javax.net - Socket factories, SSL
  • javax.security (except javax.security.auth.kerberos, * javax.security.auth.spi, and javax.security.sasl)
  • javax.sound - Music and sound effects
  • javax.sql (except javax.sql.rowset) - More database interfaces
  • javax.xml.parsers - XML parsing
  • org.w3c.dom (but not sub-packages) - DOM nodes and elements
  • org.xml.sax - Simple API for XML

Não suportados:

  • java.applet
  • java.awt
  • java.beans
  • java.lang.management
  • java.rmi
  • javax.accessibility
  • javax.activity
  • javax.imageio
  • javax.management
  • javax.naming
  • javax.print
  • javax.rmi
  • javax.security.auth.kerberos
  • javax.security.auth.spi
  • javax.security.sasl
  • javax.swing
  • javax.transaction
  • javax.xml (except javax.xml.parsers)
  • org.ietf.*
  • org.omg.*
  • org.w3c.dom.* (sub-packages)
Também são suportados outros pacotes que não são da JSE:
  • org.apache.commons.codec - Utilities for encoding and decoding
  • org.apache.commons.httpclient - HTTP authentication, cookies, methods, and protocol
  • org.bluez - Bluetooth support
  • org.json - JavaScript Object Notation

Fonte: http://blogs.zdnet.com/Burnette/?p=504

NetBeans 6.1

Realmente a comunidade do NetBeans não está dormindo.


Ainda estamos "digerindo" o NetBeans 6.0 e já foi lançado o Milestone 1 do NetBeans 6.1. Pelo anuncio não tem muitas novidades, mas mostra que o trabalho continua forte.

http://www.netbeans.org/servlets/NewsItemView?newsItemID=1180

Live-CD do Android

Foi criada uma distro especializada para o Android chamada Vd_android, ela possui um live-cd com o SDK.

O ambiente está todo integrado para desenvolvimento com o Android. Pode ser usado como live-cd, instalado na estação ou no pendrive.

Acesse o link e baixe sua cópia.






http://www.vafeo.org/vafeo/vafeo-1.01-1/vd_android-1

NetBeans 6 em português

Será liberado, até o fim do mês, o NetBeans 6 traduzido para o português. O trabalho já está bem avançado e o seu andamento pode ser acompanhado pelo link abaixo. Serão liberadas também as versões em japonês e Chinês.



http://translatedfiles.netbeans.org/6.0/status.html