Penultimo dia do evento, hoje nao houve keynote de abertura e as technical sessions terminaram um pouco mais cedo. Antes de escrever sobre elas, vou escrever sobre duas sessoes que eu nao escrevi ontem.
Meet the JavaPosse - The JavaPosse team
O
JavaPosse eh um podcast sobre desenvolvimento, principalmente centrado em java (nao soh a linguagem como todo o ecossistema que o cerca). Eh produzido por um grupo de desenvolvedores que tem ou em algum momento da carreira, tiveram grande contato com java e trabalharam em grandes empresas como Sun, Google, Applet, Netflix, etc. Eu aconselho fortemente a todos os desenvolvedores java que oucam o podcast (se eu nao me engao, eh publicado uma vez a cada 2 semanas).
The Heads and Tails of Project Coin - Joseph Darcy da Oracle Esta palestra foi bem simples e basicamente explicou as funcionalidades implementadas no
project Coin, detalhes de implementacao e tambem o que esta por vir na continuacao do project Coin no JK8 e JDK9 - dessa vez, porem, eles nao estao aceitando sugestoes e vao implementar as as sugestoes feitas anteriormente.
Com isso, seguem as technical sessions de hoje:
Blood from Stone: Low-Level HotSpot Flags for Optimization Nuts - Charles Oliver Nutter da Engine Yard
Esta palestra tambem poderia ser chamada: bytecode for dummies. Charles N. basicamente mostrou como funciona o JIT (tanto o client compiler quanto o server e o tiered), mostrando flags que podem ser ligadas em JVM's de producao e de debug para
verificar o codigo de maquina gerado pelo HotSpot e diagnosticar porque um codigo nao esta sendo executado na velocidade que deveria. Por ultimo, Charlie mostrou um problema que ele estava enfrentando no codigo do JRuby que gerava problemas de performance, mesmo conhecendo pouco sobre o assembly gerado. Nao sei se estas tecnicas se aplicam a softwares "end-user" (mesmo o Charles nao confirmou com certeza), mas deve ser aplicar pelo menos nas bibliotecas basicas.
Rethinking How We Think About Parallel Programming - Nelson Chamberlain
Infelizmente a palestra para a qual eu estava originalmente agendado tinha se esgotado (e quem reservou, deve chegar com 15 minutos de antecedencia para garantir a reserva), entao assisti esta palestra. Nelson Chamberlain eh um professor de faculdade que esta tentando criar um metafora melhor para programacao paralela dado o fato de que nossos cerebros funcionam (normalmente) de maneira serial e fazemos varias tarefas simultanes da mesma maneira que um computador monoprocessado: atraves de
time slices. Logo depois de explicar como o cerebro funciona, Prof. Nelson comecou a mostrar uma metafora com o ciclo de vida dos animais (nascer, "viver", reproduzir e morrer), para depois expandir a metafora para um quase paradigma novo de programacao, implementado no
Avian Project. Honestamente achei o paradigma novo muito parecido com o que
Erlang promove na sua
arquitetura de Actors e passagem de mensagens. O projeto, porem, esta ainda em um estagio muito imaturo e esta a procura de contribuidores.
No proximo horario, nao havia nenhuma palestra particularmente interessante, entao achei a seguinte:
Get Physical! An Arduino Introduction for Java Developers - David Delabassee da Oracle Arduino eh um micro controlador programavel opensource e de baixo custo que esta se tornando muito popular para quem quer fazer prototipos, dada a sua facilidade de programacao bem como a extensibilidade. Para programar para o Arduino, deve se usar uma linguagem de baixo nivel, mas o kit de desenvolvimento possui o conjunto completo de ferramentas para quem quiser desenvolver. Achei a palestra muito interessantes, embora tenha pouca conexao com java (o palestrante mencionou usar java para processar dados antes de enviar para o Arduino, que possui um processador bem fraquinho).
The Diabolical Developer - Martin Verburg da London Java User Group
Nao sei direito o que escrever sobre esta palestra - assim como nao sabia o que esperar dela pelo titulo. Achei bem divertida, mas pouco informativa - o palestrante usa uma linguagem bem sarcastica para mostrar alguns pontos que, no fim das contas, nao passam de bom senso. Alguns pontos notaveis:
-pessoas sobre processos
-nao cair no hype da atualidade (hoje eh cloud)
-simplificar ao inves de complicar
Confesso que, embora tenha achado a palestra interessante, provavelmente nao assistirei a mais nenhuma dessas.
Attack on Scaling: Methods and Tools for Eradicating Performance Bottlenecks - Charlie Hunt da Oracle e Aleksey Ignatenko da Intel
Ultima palestra do dia, esta palestra mostrou as principais causas de problemas de escalabilidade (locks e alocacao de memoria, basicamente) e como elas se manifestam (false sharing, true sharing, cache eviction). Os palestrantes mostraram tambem algumas ferramentas para detectar tais problemas:
vTune da Intel e
Oracle Solaris Performance Analyzer. Tais ferramentas sao capazes de mostrar eventos especificos da CPU (como
CPI,
cache misses, etc) e liga-los ao codigo java que os gerou, possibilitando diagnosticar os problemas diretamente na CPU.
Aproveitei o dia curto para falar com mais exibidores - particularmente falar com o pessoal do JRockit para ver um demo da ferramenta de diagnostico de performance deles chamado
Mission Control. Fiquei bem impressionado com o que vi e com certeza darei uma olhada nele quando puder.
PS: Ontem esqueci de postar, mas o
JavaOne Latin America esta confirmado para os dias 6 a 8 de Dezembro em Sao Paulo.