Fontes, referências e informações sobre TV Digital

Caros leitores,

Passaram-se mais de 2 meses sem escrever por aqui, desde já o repetido pedido de desculpas de sempre…rs. Mas vamos lá!

Influenciado pelo TDC2011 (trilha de TV Digital) e pelo amigo Carlos F. Gonçalves (um dos líderes do JavaNoroeste) resolvi divulgar por aqui uma lista com as fontes, referências e informações que acho relevantes quando o assunto é TV Digital.

Claro que o número de fontes é bastante extensa, seja no âmbito nacional ou internacional. Portanto se você souber ou quiser auxiliar para tornar essa lista mais rica e completa fique a vontade para sugerir 😉

Abaixo estão as informações, espero que seja de grande utilidade para todos!

Perfis no Twitter que compartilham informações sobre TV Digital

Listas de discussão – notícias, artigos técnicos e não-técnicos compartilhados pela comunidade

  • Lista de la comunidad argentina de Ginga – ginga-argentina@lists.ourproject.org
  • Desenvolvimento para TV digital – devdtv@googlegroups.com
  • Lista de TV Digital do SOUJava – tvdigital@soujava.dev.java.net
  • Java Noroeste – javanoroeste@googlegroups.com

RSS 

Blogs

Fóruns

Sites

UFPB – Especialistas no Ginga-J

Lavid – contato@lavid.ufpb.br

PUC-RIO – Especialistas no Ginga-NCL

Ginga Marcelo Moreno: moreno@telemidia.puc-rio.br

Luiz Fernando G. Soares: lfgs@inf.puc-rio.br

Marcio Ferreira Moreno: marcio@telemidia.puc-rio.br

Conteúdo de referência

Deixo em meu Delicious vários links técnicos e não-tecnicos sobre TV Digital, inclusive muitos dos links daqui estão por lá. Dê uma olhada!

Linkedin – Grupos com envolvimento em TV Digital

  • Middleware Ginga

http://www.linkedin.com/groups/Ginga-1812552?mostPopular=&gid=1812552

  • Interactive TV Professionals – Brazil

http://www.linkedin.com/groups?mostPopular=&gid=2387121

  • ISDB-TB

http://www.linkedin.com/groups/ISDBTB-985077?mostPopular=&gid=985077

  • TV Digital Brasileira

http://www.linkedin.com/groups/TV-Digital-Brasileira-2639247?mostPopular=&gid=2639247

Contato das empresas do mercado que trabalham gerando conteúdo para TV Digital

São Paulo

Av. Eng. Luiz Carlos Berrini, 1140

Brooklin – São Paulo – SP – CEP: 04571-000

Tel/ Fax (011) 3506-1874

Campus da UFSC, Setor C – Bairro Trindade

Caixa Postal 5053

88040-970 – Florianópolis – SC

Tel.: + 55 (48) 3239-2000

Fax: + 55 (48) 3239-2009

E-mail: certi@certi.org.br

Website: http://www.certi.org.br

Rua 235 Núm. 294

Incubadora de Empresas da UFG

Setor Leste Universitário

Goiânia-GO, Brasil

Cep 74.605-050

http://www.itvbr.com.br

Rio de Janeiro

Rua da Assembléia, 66 / 20º andar

Centro – RJ – Brasil

Zip Code: 20011-000

Phone.: (55 21) 3147-8600

Fax: (55 21) 3147-8604

São Paulo

Av. Braz Leme, n 1.717

Jardim São Bento – SP – Brasil

Zip Code: 02511-000

São Paulo

Rua Dr. Sodré, 158 Sla 12 L

Vila Nova Conceição

São Paulo/SP

Brasil 04535-110

contato@hxd.com.br

(11) 3717-1420

SCLN 210 Bloco ‘C’ Sala 209

CEP: 70862-530

Asa Norte – Brasília – DF – Brasil

Telefone: (55) 61 2194.7124

E-mail: intacto@intacto.com.br

Rua Raphael Andrade Duarte, 600, 6o Andar

Jardim Paraíso – CEP 13.100-011 – Campinas-SP

Fone/Fax: (19) 3579-0744

e-mail: atendimento@eitv.com.br

Rodovia Campinas – Mogi-Mirim, km 118,5
CEP 13086-902 – Campinas, SP – Brasil.
PABX: (19) 3705-6200

Minhas impressões – Campus Party 2011 – Dia 2 – 18/01/11

Veja também:

Olá pessoal,

Vou a partir daqui descrever o resumo do meu segundo dia de Campus Party 2011. Espero que gostem e que tenha conteúdo útil.

Panorama

Eram cerca de 9h00 e eu já estava preparado e pronto para encarar o primeiro dia do evento (o anterior não existiu, sem dúvida). No segundo dia de evento já começariam as palestras, mini cursos e oficinas. Após tomar café da manhã fui diretamente para um ponto escolhido por mim para uso do micro (devidamente chaveado com um cadeado). Colocadas algumas pendências em ordem em termos de internet, terminei de selecionar as apresentações que iria assistir e me dirigi ao local da primeira.

Debate: Empreendedorismo digital – Maria Carolina[Kingo Labs], Diego Remus[Startupi], Viviane Vilella[Sebrae] e Alessandra Félix[Editora Gênese]. Moderador: Bob Wollheim

Esse foi um debate que mostrou cada vez mais a facilidade que usuários/empreendedores que usam as redes sociais encontram de criar popularidade, um dos caminhos para o sucesso. O novo mercado de mídias sociais aguça a criatividade dos desenvolvedores. As histórias apresentadas relacionadas a empreendedorismo digital foram vindas de fontes diversas (Sebrae, Kingo Labs, jornalismo, multi empreendedores e venture corp), mostrando como tirar os projetos da cabeça, mandá-los para o papel e do papel para a primeira startup.

Abaixo se encontram trechos que eu achei os mais importantes da palestra (a maioria deles foram tuitados :)):

  • “Não deixe o trem do empreendedorismo digital passar, embarque nele o quanto antes.”
  • “Idéias e tecnologias não valem nada se não forem aplicadas. Bota pra fazer!”
  • “Há muito amadorismo ao apresentar modelos de negócio.”
  • “Empreender é errar. O caminho é tortuoso, porém gratificante ao final, dando certo ou não.”
  • “A cultura e mentalidade do concurso público em Brasília faz o estado ser pobre em empreendedorismo. É um ótimo lugar para se empreender, por exemplo.”
  • “Todos os meios educacionais (escola, família, sociedade, etc) são fadados a continuidade do “fazer tudo certinho” (estudar pra ter um bom emprego, estabilidade financeira, etc). A quebra de paradigma, o “fazer diferente” é considerado errado, estranho, rebelde.”
  • “Siga sua inquietude: ela é a raiz do empreendedor.”

Achei interessante as iniciativas do Startupi (blog voltado para o mercado de startups de tecnologia, capital de risco, incubadoras e aplicativos web. O foco é o mercado brasileiro) do Diego Remus e dos blogs da Vivianne Vilela, o “Beco com Saída” e “Mundo Sebrae“. Todos eles são ótimas referências.

Todos indicaram referências para “leitura empreendedora”, técnica e não-técnica, tais como:

* Delivering Happiness: A Path to Profits, Passion, and Purpose – Tony Hsieh (esse livro ouvi pela primeira vez da existência pelo Fabrício Campos, do Vizir);
* Business Model Generation: A Handbook for Visionaries, Game Changers, and Challengers – Alexander Osterwalder;
* Escola dos Deuses – Stefano Elio D’Anna;
* A cabala do dinheiro – Nilton Bonder.

Intervalo para almoço: visita na Área Expo

Aproveitando as horas de intervalo do almoço pude dar uma passada rápida pela área expo, que a primeira vista está muito legal! Depois com mais calma visitarei cada estande.

Quem quiser ver fontes fotos e mais detalhes indico ver o post sobre como a “Área “Expo” mostra o lado menos hardcore da Campus Party“.

Painel: Redes sociais e a eleição de 2010 – Marina Silva [Partido Verde]

Não perdi a oportunidade de ver pela primeira vez as palavras de Marina Silva ao vivo, candidata que saiu com uma imagem fortalecida das eleições desse ano de 2010. A última eleição presidencial foi marcada pelo uso expressivo das redes sociais, muito pelo fato e influência das eleições americanas e a vitória de Barack Obama.

Usando fortemente a web e as redes sociais a candidata Marina Silva (PV) surpreendeu ao conseguir quase 20% dos votos válidos. Marina Silva deu sua visão do uso de redes sociais na política e como isso será um marco de importância para as eleições posteriores.

Não vou me alongar muito para mostrar os principais pontos do painel, pois o André Pantalião escreveu um post bem completo para o Vizir (que saiu do forno quase que instantâneo, após o final do painel). Eu fiz um vídeo da introdução da palestra da Marina Silva, confiram o link abaixo:

Palestra: Introdução ao Node.JS – Emerson Leite [Globo.com]


O Emerson Macedo é um conhecido nome da comunidade de desenvolvimento de software aqui no Brasil, e hoje ele é praticamente um evangelizador da tecnologia. Ele é moderador de lista de discussão, produtor de screencasts e mantenedor de um curso online sobre o assunto.

Eu já havia ouvido falar sobre essa buzzword, mas não tinha um conceito ainda formado acerca do uso de JavaScript no lado do servidor, unificação e uso de uma única linguagem para o client e para a solução, entre outras facilidades. Durante a palestra pude tirar minhas dúvidas sobre Node.JS, e ver que não é preciso criar nada do zero para usá-lo: é possível “plugá-lo” a qualquer solução existente, sendo o mais indicado desenvolver código visando alta concorrência.

A palestra apresentada na Campus Party foi a mesma apresentada na RubyConfBR, e você pode conferí-la abaixo:

Apagão na Campus Party – parte 2 (ou seria DejaVú?)

E não é que por volta das 17h30, cerca de 14 horas depois da primeira falta de luz do evento, aconteceu um idêntico apagão! O pessoal ficou cerca de uma hora sem acesso a energia e internet. Preciso repetir o quão foi #fail o raio ter caído no mesmo lugar novamente (sem o mínimo trocadilho com a chuva que voltou a castigar)?

A própria organização da Campus Party mandou emails se desculpando sobre o caso, eis os textos abaixo:

Primeiro dia:

from    Campus Party <lists@campus-party.org>
to    mestrecapablanca@gmail.com
date    Tue, Jan 18, 2011 at 19:55
subject    Campus Party Brasil | Esclarecimento

Olá, campuseir@s!

Após a queda de luz ocorrida no Centro de Exposições Imigrantes, enviamos agora alguns esclarecimentos:

Segundo a Eletropaulo, empresa responsável pelo fornecimento de energia na capital paulista, houve uma queda de luz na região onde está localizado o Centro de Exposições Imigrantes que afetou não somente a Campus Party Brasil, como, também, outras partes do bairro.

Neste momento, quatro novos geradores estão à caminho do evento.

Agradecemos a paciência de todos os campuseiros. A festa continua e, com ela, toda a magia do maior encontro tecnológico do mundo!

Segundo dia:

from    Campus Party <lists@campus-party.org>
to    mestrecapablanca@gmail.com
date    Wed, Jan 19, 2011 at 16:11
subject    Comunicado oficial sobre os geradores

Olá, campuseir@.

A Futura Networks, organizadora do evento Campus Party Brasil, informa que 10 novos geradores foram instalados nesta madrugada no Centro de Exposições Imigrantes para proteger o evento de quedas de energia que possam vir a ocorrer.

A previsão da metereologia é de temporal para esta tarde em São Paulo. Se algum problema ocorrer com o fornecimento de energia, pedimos a todos que se mantenham nos seus lugares e aguardem, pois os geradores levam de 10 a 15 minutos para restabelecer a energia. Neste caso, a programação seguirá normalmente.

Como todos sabem, nesta terça-feira, 18/01, pouco antes das 18h, a Eletropaulo, empresa de fornecimento de energia da cidade de São Paulo, registrou uma queda em sua rede que afetou o Centro de Exposições Imigrantes e regiões próximas a ele, em função das chuvas. Às 18h55, a energia foi restaurada por completo.

A Futura Networks se desculpa e agradece a paciência dos campuseiros. A festa continua e, com ela, toda a magia do maior encontro tecnológico do mundo!

Organização Campus Party Brasil

Abaixo algumas fontes sobre o que aconteceu:

Normalizado mais esse furo da organização, e feita a “mea culpa”, o evento teve sequência e fui assistir a última palestra do dia, relativa a TV Digital.

Palestra: A TV do Futuro – o que gigantes como Google, Apple e o mundo Open Source planejam – Marcos Roberto [IntactoTvDigital]

O Marcos teve um dia azarado: o note dele deu problema e ele teve que refazer a apresentação do zero, além de chegar atrasado para o horário da palestra dele 😦

No mais, foi um overview básico para o público do que é TV Digital, o que gigantes como Google, Apple e Microsoft planejam com essa mudança na forma de ver televisão (o aparelho como um grande aliado na difusão de conteúdos, informação, e principalmente geração de receita).

O que está mudando na vida do telespectador? O que o mundo open source está fazendo nessa área? O que é Ginga? Novos termos como Social TV, MobileTV, WebTV, IPTV, TV 3D nasceram para identificar parte dessa revolução. O que mais nos aguarda? Essas foram algumas perguntas respondidas por ele.

Muita coisa pra mim já não era novidade, o que foi interessante ouvir do pessoal da Intacto foi:

  • Está bem perto de chegar ao mercado comum conversores digitais com suporte ao desenvolvedor: ou seja, aqueles que desenvolvem para TV Digital terão disponível no seu conversor uma porta USB para incluírem arquivos .class (no caso de desenvolvimento Java) ou código fonte NCL/Lua para testes reais de aplicação;
  • As burocracias e os trâmites no senado a respeito da Lei nº PL 29/2007 e como fica o uso da TV Digital.

Conclusão

Tirando novamente os problemas técnicos, a organização e o corpo técnico e de infra que teve que se virar para conseguir novos transformadores, esse primeiro dia de palestras foi legal, além de conhecer um pessoal aqui no evento, que geralmente compartilha das mesmas visões que você.

Bom, esse foi o resumo do segundo dia de evento, espero que tenham gostado. E aguardem o resumo do dia 19, o terceiro dia de Campus Party 2011.

Até mais!

 

Delivering Happiness: A Path to Profits, Passion, and Purpose

 

[DIVULGAÇÃO] – Casual Class #11 TV Digital – Globalcode SP

Divulgado no dia de hoje pelo Boletim da Globalcode. Acredito que eu possa estar presente na data, mas como ainda falta mais de um mês não confirmo com certeza…rs. Abaixo mais informações:

TV Digital + PIZZA + CERVEJA + VOCÊ = CASUAL CLASS

Programação
Sexta – 23/04/2010
19:00 às 19:30 Recepção e discussão aberta
19:30 às 20:15 Thiago Galbiatti Vespa
20:15 às 20:45 Neto Marin
20:45 às 21:15 Painel com convidado especial – Dimas Oliveira
(aguardando confirmação)
21:45 às 22:00 Perguntas e Respostas
21:30 às 22:30 Pizza + Cerveja + Perguntas e Respostas
Local:
Globalcode – Unidade São Paulo
Av. Bernardino de Campos, 327 cj. 22 Paraíso
veja o mapa de Localização

Este Casual Class de TV Digital será muito especial conduzido pelos instrutores Thiago Vespa e Neto Marin que vão abordar tópicos essenciais como a especificação Ginga, Ginga-J, Interatividade, autoria de Blu-Ray com Java mostrando diversas demonstrações interessantes.

Casual Class é uma forma diferenciada de levar novos conhecimentos e tendências para a comunidade Globalcode.

Tudo isso em um astral de confraternização, networking e profissionalismo, do jeito Globalcode!

Tabela de Preços
Somente participação no evento R$ 35,00
Participação no evento + 1 caneca R$ 45,00
Participação no evento + 1 camiseta R$ 55,00
Participação no evento + 1 caneca + 1 camiseta R$ 65,00

Inclui: pizza, 1 taça de vinho ou 1 cerveja e acesso exclusivo ao material do evento.

Normas Brasileiras de TV Digital – Atualização

Caros leitores,

Na última semana o Fórum SBTVD atualizou os arquivos das Normas Brasileiras de TV Digital, que estão disponíveis para download em PDF em três línguas: português, inglês e espanhol.

Para os interessados em “estar por dentro” das novidades em termos dessa tecnologia, que em futuro próximo irá se disseminar para o público técnico/desenvolvedor e usuário final, é interessante ir lendo esse material técnico.

Acessem o site do fórum que contém os links para download e tenha boa leitura e estudos!

Minhas impressões – Sun Tech Days 2009/2010 – Dia 1 (08-12-09)

Caros colegas,

Participei na última semana do Sun Tech Days 2009/2010, evento que aconteceu aqui em São Paulo, contando com a presença de grandes engenheiros da Sun e de ícones da comunidade Java do Brasil, e que tive o privilégio de me inscrever por um “golpe de sorte”, pois abriram-se entre o dia 02 e 03 de dezembro 200 inscrições gratuitas do evento, e tive sorte de me inscrever com sucesso 🙂


Vou disponibilizar para vocês agora um resumo de tudo o que aconteceu de acordo com a minha ótica.

Panorama 1: Para chegar até o local…

Para chegar até o local não foi as mil maravilhas no dia 08 de Dezembro…

Na madrugada/dia dessa data em SP choveu demais e tivemos um índice pluviométrico não esperado para o período, totalmente fora dos padrões. Portanto, vias principais congestionadas e o conseqüente problema do transporte público sobrecarregado. Levei quase 2h30 para chegar até o local (saída: 6h50 – chegada: 9h10!). Graças ao Google, GPS e Maps consegui encontrar o local, pois não conhecia a região e este foi meu primeiro Sun Tech Days 🙂

Panorama 2: Após a chegada

Presenciei uma organização/sinalização de locais/palestras/auditórios muito boa, fora a prestatividade dos envolvidos. Para pegar o crachá de conferencista não demorei muito tempo, além do espaço ser abrigador da chuva (acima de tudo…rs). De cara pude comtemplar as presenças do Marcelo Leal (SUN), Carlos Fernando Gonçalves (JavaNoroeste), Jorge Diz, Vinicius Senger e Yara Senger (Globalcode). Andando mais um pouco visualizei o mito James Gosling (!). Esperei mais 10 minutos até poder adentrar ao auditório principal. Nesse “meio tempo” fui visitar os estandes dos expositores, alguns como OpenSolaris, Oracle (é claro), Sun (é claro [2]) e Locaweb.

Após isso adentrei ao auditório principal para a primeira palestra do dia. Para saber sobre todos os palestrantes acesse esse link.

Boas Vindas ao Sun Tech Days – Luiz Fernando Maluf


Para dar as boas vindas ao pessoal do evento, o diretor para a América Latina da Sun Microsystems, Luiz Fernando Maluf, fez uma rápida apresentação mostrando o cenário no qual se encaixam os desenvolvedores Java (e usuários de tecnologias SUN) e como eles estão relacionados com o panorama do mercado, retorno profissional, técnico e financeiro, visando aproveitar as oportunidades que surgem no mercado de hoje: fim da crise, uso e expansão da plataforma Java pela linguagem Java (e outras) e abordagens acerca de novas tecnologias, como TV Digital, por exemplo. Agradeceu aos JUG leaders de comunidades, caravanas e o público do evento que estava presente.

Showcase de Tecnologia: Inspire-se! – Simon Ritter e Angela Caicedo

Antes do “pai do Java” falar sua “visão futurista” da plataforma, Simon Ritter e Angela Caicedo apresentaram alguns exemplos de aplicação das tecnologias Java e Sun do momento.  As implementações e demos foram mostradas para o público.

Simon mostrou como JavaFX pode ser produtivo, gerando animações com figuras ou vídeos, para Web ou Desktop, sem escrever uma linha de código e usando apenas uma “interface amigável de arrastar, soltar, colocar botões e etc.”. No fundo é o JavaFX Platform Suite, que pode ser usado como plugin para ferramentas pagas como Adobe Photoshop, Illustrator e etc. O objetivo era mostrar a produtividade da ferramenta com o objetivo de criar aplicações RIA com pouco “trabalho” (vulgo escrita de código).

Angela Caicedo mostrou uma tecnologia que achei bem interessante: uma “lousa mágica” usando JavaFX. Se trata de uma lousa de vidro, transparente, que por trás dela havia um projetor multimídia (projetando um quadro negro, lousa) com um Wii Remote em cima captando sinais de movimento e toque feitos com uma luva (a qual ia tocando a lousa ou “escrevendo” na mesma). As respostas eram enviadas via bluetooth para um notebook que processava as coordenadas e passava para uma aplicação JavaFX. Com isso era possível relacionar na aplicação o ponto tocado e a significância disso: se era um botão ativado da aplicação que deveria abrir uma paleta de cores, se era para limpar o quadro e etc.

Esse exemplo mostrou a sinergia de algumas tecnologias, além de Java e soluções SUN, que podem gerar modelos inteligentes tão bons quanto o apresentado.

O que está acontecendo com o Java? – James Gosling


Após o showcase James Gosling subiu ao palco para o frissom dos presentes, que puderam comtemplar o “mito”. O overview de James Gosling estava relacionado com as novidades da plataforma Java: mais de um assunto foi abordado, como JavaFX, NetBeansGlassfishJava EE6 e etc.

Sobre o Glassfish foi mantido o discurso de ser o servidor de aplicação mais rápido, baixado e performático do mercado (lógico…rs). Foram mostrados “gráficos e informações comprovando”. O mesmo está a muito tempo na versão V2, mas a versão V3 (lançada no dia 10/12) terá suporte a Java EE 6. Gosling fez algumas demos mostrando um menor tempo de redeploy para as aplicações, quase instantâneo, evidenciando uma melhoria na capacidade de criação e manutenabilidade de projetos via Glassfish.

Uma das novidades mostradas pelo mesmo foi o lançamento da JavaStore, que no momento está disponível apenas para o público americano, mas que tem previsão de abrangência maior e sair da fase beta no ano de 2010.

Gosling e Tim Boudreau, especialista em Java Card, fizeram uma demo mostrando o novo suporte para contenção de aplicações Web, http e https, embarcados (um servidor web dentro de um chip!).

O NetBeans foi citado como IDE padrão e está na sua versão 6.8 com suporte a Java EE6 também (Gosling indica “jogar no lixo” o EmacsViEclipse, inclusive…rs).

No final da apresentação, e de praxe para eventos da Sun, muitos brindes foram jogados para o público (Camisas da Sun e “Dukes“).

Glassfish V3: O servidor de aplicativos de última geração – Sang Shin


Sang é um velho conhecido do Brasil e de Sun Tech Days: essa foi a sua oitava viagem ao Brasil. Ao olhar para o mesmo sabia que conhecia ele de algum lugar. Voilá! Me veio a lembrança de já ter visto um vídeo no youtube dele “dançando” em uma das edições do Sun Tech Days. Confiram abaixo e tirem suas conclusões…rs.

Alguns pontos a ressaltar da apresentação

  • O objetivo do Glassfish V3 é ser o melhor servidor de aplicações do mercado: é compatível com Java EE 6, modularizado (baseado em OSGi e usando Apache Felix), sem limites de containeres e pode rodar containeres Java ou não-Java;
  • Glassfish tem suporte a mais de 200 bundles OSGi e podem ser desenvolvidos outros mais;
  • Existem 3 tipos de bundles: relacionados a kernel, containeres ou serviços;
  • Monitoramento e gerenciamento através de console web e asadmin;
  • Facilidades de um ambiente composto por Netbeans 6.8 + Glassfish v3 + Java EE 6, tendo-se desenvolvimento e deploy de aplicações “sem dor” e com muito mais rapidez. O deploy/redeploy automático mantém sessões e informações existentes de sua aplicação, mesmo após restart do servidor.

Os demos executados durante a apresentação, e que embasavam a teoria passada, se encontram no site mantido pelo próprio Sang Shin, o javapassion.com (não acessar java.passion.com…é NSFW…rs.). Eis alguns abaixo:

No final de sua apresentação Sang convidou para subir ao palco Jerome Dochez, principal engenheiro da Sun no desenvolvimento do Glassfish, para responder algumas perguntas do público e apresentar o seu overview da nova versão.


Para os interessados, a apresentação de Sang se encontra disponível para download por este link.

JDK7: O futuro da plataforma Java – Simon Ritter


Simon Ritter trouxe um overview para o público com as novidades do JDK7. Os pontos mais relevantes escrevo abaixo:

  • JDK7 está pronto, aberto e em constante desenvolvimento pela comunidade, o JSE7 ainda não está pronto e precisa de alguns pontos para ser resolvido (no JCP);
  • Sobre a linguagem as mudanças são: annotations on java types (JSR308); Project coin e modularidade (JSR294). Vale lembrar que todas as mudanças estão aprovadas;
  • Sobre o core: Projeto Jigsaw (a JSR294 impacta tanto no core quanto na linguagem. Modularidade = Jigsaw); atualização em concorrência e collections (JSR166); novas API’s a respeito de IO (NIO2);
  • Suporte a linguagens dinamicas (da vinci machine project) e Garbage G1 são bem importantes e de grande relevância também;
  • Uma das mudanças interessantes foi o uso de números binários de forma declarativa (int b = 0b01010101, binary b = 0X09AB), separação de grupos de números long por underscore (Long l = 9_938_827_122) e Switch usando string;
  • Gerenciamento automático de recursos: cláusulas try/catch que sempre precisam de um finally para fechar algum recurso (alguma_coisa.close) agora não mais precisam. A JVM gerencia isso (!);
  • Multi catch (2 cláusulas de exceção com o mesmo tratamento): talvez possa voltar no JDK7;
  • Invoke Dynamic bytecode (JSR292).

Sobre o projeto Jigsaw, em particular:

  • O JDK é grande, muito grande (só no JDK6 temos 47 pacotes toplevel e mais de 4000 classes), um problema em relação a tempo de download de pacotes e tempo de startup de algumas aplicações, por se usar bibliotecas demais;
  • Há dificuldade de se criar uma “plataforma fina, concisa e leve”, principalmente para dispositivos mobile dos dias de hoje, por exemplo. Para isso foi criado o projeto Jigsaw.
  • Já existe um projeto  de OpenJDK baseado no JigSaw;
  • A intenção de “código modular” é criar código limpo e bem direcionando para uso, criando uma não dependência de código e uso de bibliotecas entre programadores (commiters) ou código implantado em cliente, não dando propósito a erro. Os módulos terão versionamento, portanto você poderá definir no seu código qual a versão do módulo que você vai querer usar na sua aplicação.

Nessa versão foi bastante pensado nas mudanças a serem feitas, para não cair no erro do assert (java 1.4) e enum  (java 1.5), fato que “quebrou muitos códigos” antigamente. Simon reiterou que “trabalhar mudando e adaptando java é realmente pesado”.

O Lançamento final do JDK está marcado para Setembro de 2010. A plataforma Java tende a fica mais poderosa e abrangente, sem dúvida.

Ginga, Lwuit, JavaDTV e você – Dimas Oliveira & Tamir Shabat


Dimas Oliveira é um grande conhecido da comunidade Java no Brasil quando o assunto é TV Digital. Referência, esteve presente no Profissão Java, Java@TV Digital e OpenTDCTamir Shabat, especialista em desenvolvimento com Lwuit e TV Digital foi palestrante no Java@TV Digital. Em todos esses eventos eu estive presente e vocês podem acompanhar os posts pelos links anteriores (o Java@TV Digital ainda hei de escrever). Nesse Sun Tech Days a apresentação de ambos foi um “compilado” do que já tinha sido apresentado nesses eventos. Abaixo algumas informações dessa apresentação:

  • Perspectiva de no próximo ano termos 25 milhões de tv’s ligadas ao sinal digital, ou seja, é uma oportunidade palpável e direta para desenvolvedores gerarem aplicações, sendo que no ano que vem o Ginga estará mais maduro e a disponibilidade de set-up-boxes tende a ser maior;
  • Histórico da TV Digital não é de hoje: desde 2005 há desenvolvimento;
  • Para que já conhece Java é preciso aprender cerca de 8% a mais de Java para desenvolver para TV Digital;
  • TV interativa = TV + aplicações (não é simplesmente um browser com acesso a internet na TV);
  • Locais de estudo: Forum SBTVDjavatv-developers.


No final da apresentação Tamir mostrou uma demo, usando NetBeans + Lwuit (for TV Digital), de uma aplicação interativa para TV Digital baseada em uma aplicação real que a Rede Globo estaria disposta a usar. Um set-up-box foi usado para demostrar ao vivo os exemplos de interatividade desta aplicação.

Ajuste no desempenho do GC – Simon Ritter


Simon baseou-se para sua apresentação em 4 pontos:

  • Opções para a JVM da Sun;
  • Garbage collector;
  • Garbage first;
  • Dicas para tunning do GC.

No início foi exposta a evolução do gerenciamento de recursos, onde antigamente o desenvolvedor era responsável por alocar e desalocar memória (em C: malloc and free; em C++: new and delete). Hoje no Java só é preciso criar os objetos (“new”). A JVM se encarrega de gerenciar a memória (Garbage Collector).

Basicamente temos 3 tipos de opções, quando gerenciamos o GC:

  • Standard options:  todas plataformas;
  • -X options: não são aplicáveis a todas as plataformas;
  • -XX options: -não são aplicáveis a todas as plataformas e podem precisar de privilégios adicionais para usá-las.

Para maiores detalhes, favor consultar a documentação da Sun.

As dicas mais importantes passadas pelo Simon foram:

  • multi processos e cores criam objetos novos (todos tentam acessar o eden ao mesmo tempo): Solução: -XX:TLABSize=size-in-bytes ou -XX:ResizeTLAB;
  • Serial: indicado para maioria das aplicações para desktop;
  • Paralelo: indicado para maquinas com multiplos cores e bastante memória;
  • “JVM ergonomics”: comece usando -XX:+UseParallelGC e -XX:+UseAdaptiveSizePolicy;
  • Rode a opção -server;
  • As opções -XX:MaxGCPauseMillis=n e -XX:GCTimeMillis=n podem performar, mas não são garantidas;

Sobre GC e escolhas de Design:

  • Serial (-XX:+UseSerialGC);
  • Paralelo (-XX:+UseParallelGC). Para Tuning: -XX:UseParNewGC  e -XX:ParallelGCThreads=n, onde n é o número de CPU’s;
  • Concurrent (-XX:+UseConcMarkSweepGC). Para Tuning: -XX:ParallelCMSThreads=n, onde n é um quarto do número de CPU’s ; -XX:CMSInitiatingOccupancyFraction; -XX:+CMSIncrementalMode (off); -XX:+CMSIncrementalDutyCycle=n% (indicado n=50));
  • Stop the world;
  • Compacting (-XX:+UseParallelOldGC);
  • Non compacting;
  • Coping.

Sem dúvidas o G1 terá melhorias consideráveis para performance e foram mostrados exemplos de diagramas de alocação de memória com as respectivas legendas. Para saber mais, faça o dowload de um paper da Sun sobre o G1, por esse link.

Programação JavaFX para dispositivos móveis – Angela Caicedo


A apresentação foi bastante técnica e com muitos exemplos de código e demos. Foi uma sessão voltada para desenvolvedores que já conhecem a plataforma JavaFX e a plataforma de desenvolvimento de dispositivos móveis. Em resumo foi passado:

  • Introdução a MIDlets, MSA e JavaFX Mobile;
  • Conceitos de Mobile RIA , MVC, “stage e scene” e construção de UI’s;
  • Migrando aplicações de JavaFX desktop para JavaFX mobile;
  • Melhores práticas de performance;
  • Mobile samples e adição de mídias;
  • Demos.

A idéia central é: existem várias aplicações e modos de aplicar JavaFX para mobile devices, e essa é uma tendencia do mercado.

É preciso saber trabalhar com Java Micro Edition,  MIDP e aplicações e Wireless Toolkit (JavaME SDK). Algumas API’s de Java são essenciais: java.lang e java.io, além das específicas para desenvolvimento mobile: java.microedition. Com isso você consegue criar, editar, compilar, debugar, empacotar, testar e fazer deploy de aplicações (ou seja, tudo…rs).

O ambiente indicado para isso: Netbeans 6.8 + WTK (Wireless Toolkit) 2.5.2/JavaMe SDK 3.0.


Em termos de desenvolvimento:

  • Java ME MSA platform (JSR248 – Mobile Service Architechture). Essa é a base e dá suporte a tudo: audio, vídeo, camera, SIP, bluetooth, etc;
  • Para construir aplicações  de UI no MSA use API de alto nível (MIDP 2.0 widgets): é fácil, rápido e tem a beleza nativa de UI;
  • Há outras API’s disponíveis: JSR226 (SVG Tiny 1.1), JSR184 (3d graphics API) e OpenGL, por exemplo;
  • JavaFX mobile cria RIA para mobile;
  • Ao invés de trabalhar com aplicações de media (gimp, photoshop), passar as imagens para o MIDP  e só depois portar para o celular, agora você pode usar qualquer ferramenta de media (gimp, photoshop, adobe), passar pelo editor de media do JavaFX e portar isso para JavaFX mobile direto ou trabalhar via Netbeans para depois portar;
  • Modelo MVC pode ser implementado: Model (dados e sua lógica), View (Rich UI) e Controller (regras de processamento).

Para maiores detalhes e exemplos: http://javafx.com/samples

Linguagens de criação de scripts: opções para a JVM – Simon Ritter


Finalizando o primeiro dia (ufa!) o lema foi: Languages everywhere. Para o JDK7 é imprescindível saber o poder das linguagens dinâmicas e as mudanças que elas trarão. No caso são 4 que se destacam, ou melhor, são as que realmente são levadas em conta: Groovy, Ruby, Scala e Clojure.

Mas porque o número excessivo de linguagens? Liberdade de escolha e diferentes linguagens resolvem problemas de tipos diferentes. Java + todas elas + JVM : muitos poderes! (domain specific languages).

Abaixo um resumo de cada uma delas:

GROOVY

  • Linguagem OO;
  • Sintaxe é muito similar a Java, além de ser compacta e concisa;
  • Groovy herda classes Java e implementa interfaces Groovy ;
  • Permite closure e sobrecarga de operadores (-, +, * ou /), uma “máxima” das linguagens de script;
  • Integração com Java via JSR223;
  • Use groovy quando precisar de novas features que Java não tem pois os códigos se aproximam muito;
  • Meta object protocol – MOP (provê comportamento dinâmico para groovy);
  • Livro indicado: Groovy in Action (Dierk Konig).

RUBY

  • Imperativo, funcional e reflexivo (suporta muitos paradigmas programacionais);
  • Excelente suporte a metaprogramação e reflexão;
  • Suporte a continuação (“congela” um ponto e pode voltar a um anterior);
  • Tudo em ruby é objeto;
  • Tudo é chamada de método (obj.fred é o mesmo que obj.send(:fred));
  • Métodos podem ser invocados com ou sem parênteses.

SCALA

  • Puramente orientada a OO e tudo é objeto;
  • Scala não permite overload do operador true;
  • Array index é acessado por () e não [];
  • Não tem pré ou pós incremento (i++ ou ++i);
  • Arrays são mutáveis (ao contrário de Java);
  • Scala não suporta membros staticos (usar singletons no caso!);
  • Scala não requer construtor (pode ser definido implicitamente num código anonimo e se quiser fazer overload pode usar this).

CLOJURE

  • Modelada em Lisp;
  • Linguagem functional;
  • Funções são stateless;
  • Todos os dados são imutáveis;
  • Tem algumas complicações pois é uma linguagem onde se deve conhecer “onde se colocar as chaves, parênteses, ou chaves”.

A “sacada” é estar por dentro do JDK7 que vai dar suporte a linguagens dinâmicas de forma mais aberta (InvokeDynamic bytecode – JSR292).

Conclusão do dia 1

Como não podia deixar de ser, uma “avalanche” de informação…rs. Apesar de já ter visto muitos dos termos apresentados em outros eventos, sempre é bom revê-los por outras pessoas e com outras explicações. O primeiro dia foi de bom grado para mim, até uma camisa da Sun eu ganhei 🙂 . E a volta para casa mais tranqüila…rs.

Amigos leitores, essa foi a primeira parte do meu relato desse evento. Agradeço desde já os que deram uma passada por aqui e publicarei o mais breve possível a parte 2 da história.

Até logo!

Ultimas notícias sobre TV Digital e as novidades

Atualizado em 11/12/09, as 16h44:

Mais duas notícias:

Convite de participação no ambiente de desenvolvimento Ginga-J

Notícia recebida por mim via email, publicada também pelo blog b4dtv (blog for digital tv) e agora sendo divulgada por esse blog. Para os interessados em TV Digital, Ginga-J e desenvolvimento nessa promissora plataforma eis mais uma chance!

Não deixe de acompanhar também a lista de discussão do SOUJava, a respeito de TV Digital. Inscreva-se (tvdigital-subscribe@soujava.dev.java.net)!

Divulgando mensagem enviada pelo Raoni Kulesza, do LAVID (Universidade Federal da Paraíba), à Comunidade Ginga no Portal do Softwre Público (os grifos são por minha conta):

“Caros,

Estamos disponibilizando a partir de hoje (02/12/2009) um ambiente para acompanhamento e participação do desenvolvimento dos projetos relacionados ao Ginga-J.

Serão disponiblizados inicialmente 2 (dois) projetos em andamento: (1) candidate release da implementação de referência Ginga-J e (2) o emulador Ginga-J.

Para acessar o ambiente, por favor se cadastre na seguinte URL:
http://ginga.lavid.ufpb.br

É recomendado que o cadastro utilize o mesmo e email da comunidade Ginga, pois isso vai facilitar uma futura migração (ver explicação abaixo).

Inicialmente todos serão cadastrados como observadores (viewers) dos projetos, com essa permissão já é possível ter acesso às seguintes funcionalidades:

  • Acompanhamento das últimas atualizações dos projetos
  • Acompanhamento das atividades em andamento e planejadas
  • Acesso a estatísticas do repositório do controle de versão
  • Acesso ao código-fonte do repositório do controle de versão
  • Wiki com material técnico sobre desenvolvimento de middleware, aplicações e Ginga-J

Como ainda estamos integrando o código do Ginga-NCL e Ginga-J, decidimos em conjunto com a PUC-Rio, hospedar o desenvolvimento Ginga-J num ambiente temporário fora do Portal do Software Público. A partir da integração das duas implementações e adaptação das ferramentas do Portal do Software Público, migraremos o ambiente para o Portal do Software Público dentro da Comunidade Ginga.

Entretanto, vamos continuar utilizando o Portal como canal de comunicação.

Em breve divulgaremos mais informações sobre a utilização do ambiente e participação em cada projeto.”

leia a ensagem original (requer cadastro no portal):
Convite de participação no ambiente de desenvolvimento Ginga-J