<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Zona J &#187; indústria</title>
	<atom:link href="http://www.zonaj.org/category/industria/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zonaj.org</link>
	<description>Zona Java - Um blog português sobre java.</description>
	<lastBuildDate>Tue, 21 Sep 2010 23:49:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>JavaOne &#8211; Rescaldo</title>
		<link>http://www.zonaj.org/2008/05/14/javaone-rescaldo/</link>
		<comments>http://www.zonaj.org/2008/05/14/javaone-rescaldo/#comments</comments>
		<pubDate>Wed, 14 May 2008 05:41:04 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[evento]]></category>
		<category><![CDATA[indústria]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/2008/05/14/javaone-rescaldo/</guid>
		<description><![CDATA[Passaram alguns dias desde o fim do JavaOne e ainda não tinha relatado o último dia nem feito um resumo geral do que foi o evento este ano. O último dia do JavaOne é já um dia de descompressão. Há menos gente, as pessoas estão cansadas e, para dizer a verdade, as sessões não eram [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Passaram alguns dias desde o fim do JavaOne e ainda não tinha relatado o último dia nem feito um resumo geral do que foi o evento este ano.</p>
<p>O último dia do JavaOne é já um dia de descompressão. Há menos gente, as pessoas estão cansadas e, para dizer a verdade, as sessões não eram tão apelativas.<br />
Na noite anterior veio o aviso urgente de um surto de virus &#8211; o Norovirus &#8211; no complexo do JavaOne com grande alarme. Resume-se a um vírus que se espalhou rapidamente por mais de 70 pessoas que trabalhavam no recinto e que atacava o estômago de forma violenta.  No entanto, penso que não foi isso que fez com que pouca gente tivesse ido ao último dia e disseram-me que era normal.</p>
<p>No dia fui apenas a duas sessões:</p>
<ul>
<li><strong>Using Java Technology at the World&#8217;s Largest Web Site</strong></li>
<p>Esta apresentação foi feita por duas pessoas da Yahoo! e pretendeu dar uma ideia sobre como e para quê eles usam java no que eles chamam o maior site da web.<br />
Tendo em conta que a Yahoo! não é propriamente uma empresa Java, percebeu-se que usam Java mais para a camada de middleware sendo que os serviços que residem por baixo são coisas em JNI feitas noutras linguagens ou outros serviços desenvolvidos noutras linguagens.<br />
Um dos grandes desafios que sentiram foi a nível de performance, escalabilidade e disponibilidade. Para ultrapassarem este problema, eles usam uma versão deles alterada do Tomcat que lhes permite colocar vários processos à escuta do mesmo porto paralelamente, garantindo o que eles denominam de load balancing aplicacional. Não entraram em grandes detalhes além de dizerem que tentam sempre utilizar tecnologias opensource e que sejam comummente aceite (Maven e Hibernate, por exemplo).</p>
<p>No entanto, penso que transpareceu a ideia que Java é pequeno, bastante pequeno, no mundo Y!, em relação ao C/C++ e PHP.</p>
<li><strong>GlassFish Project Web Services Stack &#8220;Metro&#8221;: Easy to Use, Robust, and High-Performance</strong></li>
<p>Tinhas algumas espectativas para esta sessão mas saíram goradas. Foi apresentada pelo Jitendra Kotamraju (o homem JAX-WS) e o Marek Potociar, ambos funcionários da Sun.<br />
Como alguns funcionários da Sun fazem actualmente, tentaram evangelizar tentando vender o Netbeans: as demos eram feitas todas com wizards do netbeans e com comentários de é tão fácil e gera tudo &#8211; já todos passámos pelas demos em que é tudo fácil <img src='http://www.zonaj.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
A apresentação em si foi bastante superficial no que toca ao Metro e focou-se em coisas bastante específicas do JAX-WS, nomeadamente no envio de attachments grandes. Gostei da forma como é possível abrir streams para enviar e ir gravando bytes sem ter de guardar tudo em memória. Quer isto dizer que não preciso de meter um attachment todo numa mensagem e enviá-lo, ou de o dividir: o cliente faz stream para o servidor que o vai guardando no destino, sem ocupar mais memória do que a de uns quantos chuncks que tem temporariamente.<br />
De resto, não sobrou muita coisa de interesse na apresentação, pois perderam tempo a mostrar como se criavam webservices jax-ws que além de não ser novo, não é propriamente complicado de perceber para os casos simples demonstrados.
</ul>
<p>De seguida baldei-me às sessões finais. Estava cansado e algumas cobriam coisas que já tinha visto noutros dias (processamento multicore e segurança em web 2.0) portanto foi o resto para descansar.</p>
<h3>O que fica do JavaOne</h3>
<p>Olhando para trás com alguns dias de distância, o JavaOne é um evento certamente a participar. Aprende-se, trocam-se ideias e conhecem-se pessoas. Uma viagem destas vale muito mais dinheiro do que uma qualquer formação e sai a um preço semelhante (<2500€ TUDO) por isso é algo em que as empresas devem pensar um pouco mais.</p>
<p>Mas afinal, o que fica do JavaOne 2008?</p>
<ul>
<li><strong>JavaFX ainda longe</strong></li>
<p>Como disse num post anterior, a Sun tentou vender novamente o JavaFX dedicando-lhe muito tempo na keynote inicial. Ficou demonstrado que ainda há muito trabalho a fazer e nos corredores a conversa era mesmo de descrença em relação ao futuro contra Flash/Flex/Air e Silverlight. O JavaFX terá de ser bastante bom para me desviar do Flex/Air para RIAs.</p>
<li><strong>O mundo multi-core está cá</strong></li>
<p>Imensas sessões acabaram falando da necessidade de tirar partido das máquinas multicore que por aí polulam. Enquanto antes uma máquina 32 cores era muita fruta, agora facilmente conseguem-se máquinas com 4 ou 8 vezes mais cores mudando apenas os tipos de processadores. Falou disto na palestra de Fortress, que tem primitivas tipo fork-join na base, falou-se em Scala que usa o modelo de Actors também para isto, falou-se &#8211; obrigatoriamente &#8211; na palestra do Brian Goetz e na de memória transaccional. E isto apenas nas que eu fui.<br />
É realmente importantíssimo pois agora o problema deixa de ser tentar dividir os ciclos de processador entre as nossas threads para antes dividir as nossas threads por vários cores e dar-lhes trabalho. Escreverei mais sobre o fork-join noutra altura pois é muito interessante.</p>
<li><strong>Linguagens dinâmicas</strong></li>
<p>JRuby, Groovy, Scala e Javascript tiveram espaço em diversas sessões. Falou-se muito especialmente de JRuby e Groovy, sendo que Groovy e Grails parecem ter deixado as pessoas mais maravilhados. Eu que sou um gajo statically typed e chato, gosto muito do Scala.</p>
<li><strong>Networking</strong></li>
<p>Quando falo de networking estou a falar de conhecer e trocar ideias com outros developers, pois lá não há a conversa de recrutamento nem nada disso. É fácil falar tanto com o zé ninguém como o mais conceituado membro da comunidade java. As diversas festas no fim de cada proporcionam esse tipo de contacto e os cartões de visita são absolutamente obrigatórios de levar.<br />
Algumas das conversas mais interessantes que tive foram mesmo nesses fins de noite.</p>
<li><strong>JUG</strong></li>
<p>A nível do JUG o JavaOne foi excelente tanto a nível de contactos como de ideias para melhorar a nossa comunidade. Tive relatos de JUGs muito diferentes e que funcionam muito bem &#8211; imaginem-se as diferenças entre um JUG Norueguês e um Brasileiro.<br />
Esta experiência servirá para introduzir ideias no nosso JUG e com sorte fazer &#8220;coisas bonitas&#8221; e ficam os contactos com especialmente com o pessoal dos JUGs do Brasil e Paris, tudo boa gente.
</ul>
<p>Resumindo, vale a pena. É cansativo e longe mas altamente recompensador tanto para quem vai como para a empresa que patrocina. Por isso tentem convencer a vossa empresa, bem explicado podem ver a importância de um evento deste.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/05/14/javaone-rescaldo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>JavaOne &#8211; dia 2 em grande</title>
		<link>http://www.zonaj.org/2008/05/08/javaone-dia-2-em-grande/</link>
		<comments>http://www.zonaj.org/2008/05/08/javaone-dia-2-em-grande/#comments</comments>
		<pubDate>Thu, 08 May 2008 08:13:31 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[dwr]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[indústria]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javaone]]></category>
		<category><![CDATA[jug]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/2008/05/08/javaone-dia-2-em-grande/</guid>
		<description><![CDATA[O dia dois do JavaOne foi na sua generalidade melhor que o primeiro dia. Ultrapassada a desorientação inicial própria de quem está na primeira vez num evento com mais de 15.000 pessoas todas em filas de um lado para o outro, relaxei mais neste dia e aproveitei as apresentações a que fui. Todos os dias [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>O dia dois do JavaOne foi na sua generalidade melhor que o primeiro dia. Ultrapassada a desorientação inicial própria de quem está na primeira vez num evento com mais de 15.000 pessoas todas em filas de um lado para o outro, relaxei mais neste dia e aproveitei as apresentações a que fui.</p>
<p>Todos os dias a primeira sessão do dia no JavaOne é uma General Session e começa às 8h30 da manhã. Tendo em conta que normalmente são vendor talks (Oracle, AMD, etc.) ficou oficialmente decidido que essa hora será sempre gasta na noite anterior no consumo de cerveja.</p>
<h3>The Script Bowl: A Rapid-Fire Comparison of Scripting Languages</h3>
<p>O dia começou com um painel muito muito interessante sobre linguagens de scripting ou, como prefiro chamá-las genericamente, dinâmicas. O painel consistiu de 4 linguagens (Groovy, JRuby, Jython e Scala) cada uma com um seu defensor a quem cabia o papel de defender a sua linguagem preferida em 3 rounds. Os defensores eram os seguintes:</p>
<ul>
<li><a href="http://glaforge.free.fr/weblog/">Guillaume Laforge</a> pelo Groovy</li>
<li><a href="http://headius.blogspot.com/">Charles Nutter</a> pelo JRuby</li>
<li><a href="http://fwierzbicki.blogspot.com/">Frank Wierzbicki</a> pelo Jython</li>
<li>Jorge Ortiz pelo Scala</li>
</ul>
<p>A sessão consistiu em 3 rounds, em que o público podia votar por sms em tempo real. Os rounds eram os seguintes:</p>
<ol>
<li>Criar uma aplicação cliente de twitter (applet)</li>
<p>Aqui tanto a aplicação em groovy como em jruby destacaram-se pelo aspecto gráfico polido. A solução em jython foi bastante básica e em cima do joelho e a de Scala mostrou muito bem como usar closures para tratar de eventos e deixou uma impressão muito boa.</p>
<li>Criar uma aplicação web que gerisse países e cidades, com integração com mapa</li>
<p>Aqui o groovy dominou totalmente com o Grails. Além de o código ser muito mais perceptível do que o de jruby com o rails, usou uma tag custom para a integração do mapa que deixou a audiência com os olhos a brilhar. A solução do jython foi com django e limitou-se a demonstrar a geração automática da secção de admin sem grandes costumizações, nem mesmo com o mapa. O moço do Scala deitou tudo a perder não tendo implementado a aplicação web porque perdeu muito tempo na applet &#8211; e ele é um dos core developers do Lift, uma web framework escrita em Scala!. Aproveitou para demonstrar as funcionalidades de comet / reverse ajax / data push de uma forma simples.</p>
<li>O último round foi um vale tudo &#8211; basicamente pediram para mostrarem e defenderem o que a linguagem deles </li>
<p>fazia melhor que as outras.<br />
O defensor do Groovy optou por defender a integração com Java; o Charles Nutter mostrou uma aplicação muito interessante em que uma aplicação de visualização respondia ao som e pitch da voz dele; o do jython não me lembro realmente do que disse; o do Scala defendeu a forma como o Scala trata da questão de concorrência com os actors.
</ol>
<p>Foi uma sessão com um ambiente descontraído, com demonstrações giras. A idea com que fiquei foi muito favorável para o Groovy/Grails e para o Scala, para coisas mais server-side.<br />
Na votaçao do público, o JRuby recebeu os votos dos seus fãs e ficou em primeiro, seguido do Groovy, Scala e Jython em último.</p>
<h3>Improving Application Performance with Monitoring and Profiling Tools</h3>
<p>De seguida fui para uma apresentação que foca no meu outro tema de preferência além da área web: performance/concorrênca. Falou-se de ferramentas de CPU, de memória e de uso genérico.<br />
Esta apresentação consistiu numa apresentação de uma enormidade de aplicações que se podem usar para monitorizar e fazer profiling de aplicações java. Foram elas:</p>
<ul>
<li>DTrace</li>
<p>O <a href="http://www.sun.com/bigadmin/content/dtrace/">DTrace</a> é interessantíssimo e já tinha lido alguma coisas sobre o mesmo, especialmente do pessoal dos Macs. E aí reside a sua principal limitação: apenas está disponível em Solaris e OS X no JDK 6 e eu não conheço nenhum sistema de produção que tenha esta configuração.<br />
Permite obter informações muito importantes como seja a contenção de locks, o tempo de garbage collecting ou os tempos de invocaçao por método. Tudo isto é obtido de forma live, em que se faz attach ao processo java que está a correr e se retiram os dados enquanto ele executa.<br />
No entanto, DTrace é relativamente complexo pois implica a criação de scripts próprios (chamados DScripts). Foram indicadas duas ferramentas auxiliares: <a href="http://opensolaris.org/os/project/dtrace-chime/">Chime</a> para formatar o output e D-Light, que é um UI para criar DScripts facilmente.</p>
<li>Sun Studio Collector/Analyser</li>
<p>Ao contrário do DTrace, o <a href="http://developers.sun.com/sunstudio/overview/topics/analyzer_index.html">Collector</a> não faz attach a um processo e funciona por sampling. Ou seja, temos de correr um processo num outro ambiente, que vai recolher dados para analisar e depois para o processor e usar o Sun Studio. Está disponível tanto em Solaris como em Linux.<br />
Serve como substituto do DTrace para quando não se usa Solaris ou OS X.</p>
<li>JPS, JInfo e JStack</li>
<p>Estas aplicações são bastante simples e disponível nas versões 1.4.2+. O <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jps.html">JPS</a> permite listar process IDs de aplicaçoes java a correr; o <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jinfo.html">JInfo</a> permite ver informações como propriedades de sistema, flags da VM e inclusivamente mudar as flags da VM (Permite-nos retirar estas informações a partir de um core dump); <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstack.html">JStack</a> permite-nos gerar stack traces de forma simples e é bastante útil para identificar deadlocks.</p>
<li>BTrace</li>
<p>O <a href="https://btrace.dev.java.net/">BTrace</a> não é bem uma aplicação mas mais uma framework. Permite-nos criar os nossos proprios scripts, que tiram partido de anotações, para obtermos as informações desejadas através de bytecode intrumentalization. Está disponível apenas na versão JDK 6 e em Solaris, Linux e OS X.</p>
<li>GCHisto</li>
<p>Esta <a href="https://gchisto.dev.java.net/">pequena aplicação</a> permite-nos detectar o comportamento do garbage collector visualmente. Requer que a aplicação seja executada com as flags -XX:+PrintGCTimeStamps e -XX+PrintGCDetails pois desenha os histogramas baseado nos logs do GC.</p>
<li>JMap</li>
<p>Esta <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jmap.html">aplicação</a> permite listar os objectos existentes na heap. Disponível na versão 1.4.2+ mas apenas em Solaris.</p>
<li>JHat</li>
<p>O <a href="http://java.sun.com/javase/6/docs/technotes/tools/share/jhat.html">JHat</a> permite, a partir de um binary heap file (que pode ser criado com o JMap), pesquisar por objectos na heap. Para tal, usa algo a que chamam OQL (Object Query Language), que não é mais que Javascipt com uns objectos especiais para pesquisar na heap. Está disponível a partir da versão 6 do JDK, sendo que para versões anteriores o projecto chamava-se simplesmente <a href="https://hat.dev.java.net/">Hat</a>.</p>
<li>JConsole</li>
<p>A <a href="http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html">JConsole</a> era a única aplicação que eu conhecia de todas as que foram faladas. Disponível desde a versão 1.4.2, permite consultar dados sobre memória, threads, MBeans e outras informações a partir de uma simples applet.</p>
<li>Netbeans Profiling Tools</li>
<p>Incluído com o IDE Netbeans, vem este <a href="http://profiler.netbeans.org/">pacote de profiling tools</a> que usa o motor <a href="http://research.sun.com/projects/jfluid/index.html">JFluid</a> para retirar dados de CPU, memória e threads. A integração com o IDE pareceu interessante embora não tenha sido demonstrada, mas pode-se marcar pontos de profiling como se se marcassem breakpoints directamente no IDE. Certamente a testar, com este hype todo à volta do Netbeans.</p>
<li>VisualVM</li>
<p>O produto <a href="https://visualvm.dev.java.net/">VisualVM</a> foi o culminar da apresentação, o ponto a que eles queriam chegar. Inclui funcionalidades do JPS, JInfo, JStack, Jconsole e JStat. Além disso é extensível com plugins para o Btrace, GCHisto ou mesmo Glassfish ou Terracotta.
</ul>
<h3>Java Persistense API 2.0</h3>
<p>A sessão sobre JPA foi definitivamente a mais fraca dos dois dias até agora. Foi um debitar das alterações existentes na especificação do <a href="http://jcp.org/en/jsr/detail?id=317">JSR 317</a> pela spec leader e muito pouco pedagógica. As pessoas ficaram com sono e não captei realmente nada assim de importante além da ideia que se está a complicar um bocado a coisas. Coisas como o Doctrine para php têm implementações bem fáceis de entender para os mesmos problemas, ou então a sessão conseguiu complica o simples.<br />
O que valeu foi ter podido falar um pouco com o <a href="http://weblogs.java.net/blog/mister__m/">Michael Santos</a> que além de Java Champion, é co-lead do <a href="http://jcp.org/en/jsr/detail?id=310">JSR 310</a> (Date &#038; Time API). Tive a oportunidade de ele referir as relações deste JSR como o de JPA, bem como o do J2EE 6 (<a href="http://jcp.org/en/jsr/detail?id=316">JSR 316</a>)que deverá também usar o JSR 310. Foi uma boa companhia para a sessão.</p>
<h3>Transactional Memory in Java Technology-Based Systems</h3>
<p>Esta foi provavelmente a sessão mais trabalhosa do JavaOne até ao momento. Foi apresentada por dois membros da Intel e um deles tinha um sotaque completamente russo o que tornou quase impossível perceber metade da apresentação. Foi no entanto bastante divertido pois sempre que ele falava saia 5% da sala.<br />
A apresentação em si focou-se nos pontos de atomicidade que já tinha visto ontem nas apresentações de Fortress e do Brian Goetz. Falou-se memória transaccional por software (STM) e também por hardware (HTM), que desconhecia por completo. Dentro da STM, focaram o <a href="http://blogs.intel.com/research/2007/08/terascaleitj.php">McRT</a> que é o Multi-core runtime da intel que oferece funcionalidades de memória transaccional por software. Por enquanto apenas está disponível em C++, mas prometeram a versão para Java num dia de são nunca à tarde.</p>
<h3>JSR 303: From a World of Constraints to Constrain the World</h3>
<p>Sessão bastante interessante apresentado pelo leader do <a href="http://jcp.org/en/jsr/detail?id=303">JSR 303</a>, funcionário da JBoss. Falou-se sobre como e onde definir constraints no nosso modelo de domínio de forma a que seja independente de camada &#8211; uma validação deve ser homogénea desde a apresentação à base de dados.<br />
O que esta especificação permite é a especificação de constraints de validação sobre beans/pojos de diversos tipos &#8211; simples e built-in, custom made, com dependências entre campos, etc. &#8211; e que fornece uma forma de cada camada poder executar as validações. Não define como essas camadas tratam o resultado das validações, portanto é bastante genérico, tem apoio de todos os quadrantes da indústria e rapidamente se vai tornar standard.<br />
Além disso o speaker foi bastante acessível e simpático.</p>
<h3>Comet: The Rise of Highly Interactive Web Sites</h3>
<p>Eu já há bastante tempo que sei o que é Comet, o conceito é bastante simples: permitir que uma acção num cliente (tipicamente página web) seja reflectido em todos os clientes que estão na mesma vista sem que estes tenham que fazer nada. Mas não tinha a noção das diferentes aproximações do problema.<br />
Esta sessão foi apresentada pelo <a href="http://getahead.org/blog/joe/">Joe Walker</a> do <a href="http://getahead.org">DWR</a>, que explicou como o DWR usa o comet para fazer push de dados para o cliente; e pelo <a href="http://alex.dojotoolkit.org/">Alex Russell</a>, o homem do <a href="http://www.dojotoolkit.org/">Dojo Toolkit</a> e do <a href="http://cometd.com/">Cometd</a>. Falaram de duas aproximações distintas: enquanto o DWR tem o Comet embutido e o push de dados para o cliente faz parte da lógica de apresentação da aplicação; o cometd é como que um servidor proxy, muito útil para aplicações já existentes pois os clientes ligam-se é ao servidor Cometd para receberem os updates.<br />
Foi uma apresentação muito esclarecedora de duas pessoas que demonstraram serem mesmo os speakers ideais para o assunto.</p>
<h3>Real World, Not Hello World: GWT Development for Java™ Technology Shops</h3>
<p>Tinha planeado ir ver uma apresentação sobre JRuby pelo <a href="http://ola-bini.blogspot.com/">Ola Bini</a> mas acabei por ficar na mesma sala para a apresentação seguinte. Por um lado, fiquei com menos entusiasmo pela as apresentações jruby depois do script bowl; por outro, conheci o <a href="http://weblogs.java.net/blog/alegomes/">Alexandre Gomes</a> no jantar dos JUG Leaders e fiquei também para o ver a palestrar.<br />
Esta apresentação foi tripartida: o Alexandre falou sobre GWT, um membro da equipa do IceFaces falou sobre o Comet deles e o líder do <a href="https://grizzly.dev.java.net/">project Grizzly</a> falou sobre o projecto em si e a integração com GWT.<br />
Eu pessoalmente continuo a não estar totalmente convencido com a solução GWT mas estou a dar a oportunidade de ser surpreendido. O modelo de desenvolvimento à lá Swing com definição de layout e widgets no código java não me cai bem.<br />
De qualquer modo, gostei bastante da apresentação do Alexandre e dos colegas dele.</p>
<p>No fim do dia, decidi ir até à festa de Eclipse onde supostamente havia cerveja gratis mas nada disso. Pelo caminho conhecemos um texano muito simpático que nos acompanhou numas cervejas e que pensava que Portugal era na América do Sul. Simpáticamente explicámos onde ficava no mapa o que mesmo assim não impediu que ele ficasse realmente envergonhado com a bacorada. Mas foi uma conversa excelente mesmo no que toca a empreendorismo.<br />
O interessante da festa da eclipse foram na realidade 2 outros factos: em primeiro lugar, o director de marketing da Jetbrains, criadores do IntelliJ IDEA estava por lá, esse mesmo que oferece as licensas de IntelliJ que podemos distribuir nos eventos do nosso PT.JUG; também por lá estava o <a href="http://blog.springsource.com/main/author/rodj/">Rod Johnson</a>, criador do Spring a assinar autógrafos e com raparigas giras à volta à procura de festa: é mais uma razão para participar em projectos open-source.</p>
<p>E assim foi, mais um dia cansativo mas a tentar aproveitar ao máximo a experiência do JavaOne.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/05/08/javaone-dia-2-em-grande/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JavaOne &#8211; primeiras impressões</title>
		<link>http://www.zonaj.org/2008/05/07/javaone-primeiras-impressoes/</link>
		<comments>http://www.zonaj.org/2008/05/07/javaone-primeiras-impressoes/#comments</comments>
		<pubDate>Wed, 07 May 2008 06:55:58 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[evento]]></category>
		<category><![CDATA[geral]]></category>
		<category><![CDATA[indústria]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javaone]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/2008/05/07/javaone-primeiras-impressoes/</guid>
		<description><![CDATA[Cá estou no JavaOne em São Francisco e de volta à escrita. Depois de uma viagem extenuante de cerca de 16 horas e um fuso horário com menos 8 horas, cheguei ontem à noite para o JUG Leaders dinner. Tive a oportunidade conhecer muitos líderes de outros países, especialmente muitos irmãos brasileiros que deram uma [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Cá estou no JavaOne em São Francisco e de volta à escrita.<br />
Depois de uma viagem extenuante de cerca de 16 horas e um fuso horário com menos 8 horas, cheguei ontem à noite para o JUG Leaders dinner. Tive a oportunidade conhecer muitos líderes de outros países, especialmente muitos irmãos brasileiros que deram uma ajuda aqui ao caloiro destas coisas de networking.</p>
<h3>General Session</h3>
<p>Hoje de manhã começou a conferência com a General Session, bem cedo e com muitas filas para entrar. A frase de marca deste ano é &#8220;Java + You&#8221; e que serve para defenderem a idea da tecnologia Java estar integrada em tudo o que usamos. Esta é aliás a linha de marketing que tem sido usada pela Sun e foi isso que esta primeira sessão foi, previsivelmente: Marketing.<br />
O ponto mais focado foi JavaFX e as suas capacidades. Embora o lei de Murphy tenha feito com as demos não funcionassem muito bem, foi uma mensagem que a Sun quer e precisa de concorrer tanto com a Adobe como com a Microsoft no Flash e Silverlight respectivamente. Tentaram demonstrar que o que fazem com JavaFX não é possível com qualquer outra tecnologia o que não é obviamente verdade. O mais interessante de toda a apresentação foi a capacidade de arrastarem uma applet de uma página web para o desktop, fechar o browser e continuar a usar a aplicação. Quando se tentar fechar a aplicação, somos interrogados se queremos deixá-la instalada na nossa máquina. Útil, definitivamente.<br />
A sessão terminou com a presença de Neil Young no palco a vender a ideia do uso de JavaFX com Blueray para criar conteúdos ricos. Além de uma personagem com o seu quê de ébrio às 8 da manhã, foi mais um pouco de marketing.</p>
<h3>Fortress</h3>
<p>A minha primeira sessão técnica foi sobre Fortress, apresentada pela Christine Flood. A apresentadora parece-me que despachou rápido a apresentação mas o conteúdo valeu a pena para alguém como eu que pouco ou nada sabia sobre a linguagem.<br />
A palestra foi feita em contagem decrescente com as 10 melhores features da linguagem. Gostava de colocar aqui os 10 pontos que referi mas não tenho os slides. Mal tenha edito o post, mas posso dizer que tem coisas como contratos, memória transacional, paralelismo implicito, notação matemática e outras coisas interessantes.</p>
<p>A linguagem Fortress é muito interessante para desenvolvimento de aplicações científicas, por exemplo para HPC, mas também para ambientes em que contratos, conformidade e performance são importantes &#8211; indústria aeroespacial, biotech, etc. </p>
<p>De seguida devia ter ido a uma sessão intitulada &#8220;SOA and 35 Million Transactions per Day: Mission Impossible?&#8221; mas acabei por ficar a falar um pouco sobre o JEDI com o Daniel de Oliveira do DFJUG e fui à conferência para bloggers do Jonathan Schwarz e o Rick Green. Um ambiente bastante próximo mas com respostas rígidas e um pouco evasivas por parte do pessoal da Sun &#8211; por exemplo, não quiseram responder a perguntas sobre despedimentos anunciados pela Sun na semana passada.</p>
<h3>Spring 2.5, pelo mestre</h3>
<p>Depois do almoço e da balda a outra General Session &#8211; que vou continuar a não ir, é mais marketing e o descanço / carregamento de baterias é mais importante &#8211; foi a vez da apresentação do Rod Johnson sobre o Spring 2.5. Foi uma apresentação adequada tanto a utilizadores que já utilizaram versões anteriores do Spring como utilizadores totalmente novos ao ecossistema Spring.<br />
Foi possível saber algo sobre o caminho a seguir em diversos aspectos &#8211; suporte para java 1.3 já não está disponível na versão 2.5 e na versão 3.0 só será suportado java 5+.<br />
Esta nova versão tira também partido da possibilidade de fazer deploy de ficheiros RAR, que evita que se tenha de criar um EAR ou um WAR específicamente para fazer deploy de Spring quando não é realmente necessário. Foi igualmente anunciado que esta versão de Spring é oficialmente compatível com as versões 6.X do Websphere.<br />
Falou-se igualmente sobre OSGi &#8211; aliás, fala-se muito sobre OSGi em todo o lado este ano no JavaOne &#8211; e sobre como Spring suporta o standard. Todos os JARs Spring são OSGi packets e podemos escolher se queremos Spring a funcionar sobre J2EE ou sobre OSGi.<br />
Bastante interessante a apresentação, pedagógica com alguma regras que podem ser úteis para o futuro, nomeadamente sobre quando usar annotations ou XML para configuração Spring.</p>
<h3>Defective Java™ Code: Turning WTF Code into a Learning Experience</h3>
<p>Esta sessão foi bastante interessante e um pouco ao estilo dos Java Puzzlers. Foi apresentada pelo Bill Pugh, criador do FindBugs, e focou-se em diversos tipos de bugs, nomeadamente problemas de sincronismo (locks, race conditions) e, curiosamente, falou-se bastante sobre implementações de métodos equals. Na realidade, é bastante simples criar métodos equals que não são facilmente extensíveis e que podem não garantir a simetria necessária.<br />
Acima de tudo esta sessão deixou-me o mindset de tentar encontrar padrões de erros a partir dos bugs que vou encontrando ou cometendo. E foi a sessão com o melhor título de todos, sem dúvida.</p>
<h3>Let’s Resync: What’s New for Concurrency on the Java™ Platform, Standard</h3>
<p>Um dos meus focos de interesse actuais, como se pode ver pelas sessões que tenho escolhido, é o paralelismo, performance e escalabilidade. Esta apresentação falou principalmente da framework fork-join que estará disponível no JDK7.<br />
O que esta framework, ao invés de aproximações anteriores como usar threads directamente e join(), ou usar Executors e Futures como no java.util.concurrent, permite dividir trabalho de forma simples e ter uma framework que sabe distribuir esse trabalho por um conjunto de threads e, por sua vez, distribuir esse trabalho por um conjunto de cores.<br />
A forma como as threads &#8220;agarram&#8221; o trabalho é por um processo chamado work stealing e que também é usado na linguagem Fortress. Permite que as threads que estão livres vão à lista de tarefas de outras threads retirar-lhes tarefas e executá-las. Na realidade, é criado um efeito divide-and-conquer e o custo associado com esta solução é bastante baixo.</p>
<p>São fornecidos objectos extremamente uteis em cima da framework, nomeadamente o ParallelArray. O que este array faz é encapsular a lógica toda do fork-join e permite que o utilizador use 3 tipos de operações: filtro, mapeamento e agregação, que podem ser built-in (i.e. sum(), max(),&#8230;) ou definidas pelo utilizador. Ao fazermos uma sequencia de operações sobre um array deste tipo, temos automaticamente código paralelizado &#8211; é um pouco como o MapReduce do Google.</p>
<h3>Real World, Not Hello World: GWT Development for Java™ Technology Shops</h3>
<p>Decidi ir a um Birds-of-Feather sobre GWT e foi um pouco desanimador. Pouco ou nada de novo para alguém que não sabe muito da coisa, o que não é bom sinal. Foi tempo perdido.</p>
<h3>JUG Community BOF: JUG Leaders from Around the World Interact with Sun</h3>
<p>No fim do dia foi a sessão em que os JUG Leaders e amigos se encontraram e falaram um pouco sobre o futuro da plataforma Java. O objectivo era seleccionar 3 temas e discuti-los mais aprofundadamente mas a conversa dispersou-se e precisava-se de pelo menos mais 1 hora para se ter discutido algo realmente interessante.<br />
A notícia que acabou por sair, sem querer ou talvez intencionalmente por parte do responsável da Sun, é que a JVM irá suportar PHP brevemente, tal como suporta hoje Ruby, Python, etc. É uma excelente notícia e um óptimo move, se se provar verdade, dada a quantidade de aplicações e programadores PHP existentes.</p>
<p>No fim, havia cerveja de graça e festas mas o Jet Lag falou mais alto e o hotel foi o destino certo. A sensação que fica é que o JavaOne é realmente um mundo e quer-se aproveitar todos os momentos para absorver o que se passa. Talvez seja sensação de rookie mas isto é mesmo um sítio divertido para estar!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/05/07/javaone-primeiras-impressoes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JavaOne 2008: Vou estar lá :)</title>
		<link>http://www.zonaj.org/2008/03/30/javaone-2008-vou-estar-la/</link>
		<comments>http://www.zonaj.org/2008/03/30/javaone-2008-vou-estar-la/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 02:48:42 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[evento]]></category>
		<category><![CDATA[indústria]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/2008/03/30/javaone-2008-vou-estar-la/</guid>
		<description><![CDATA[Nestas últimas 2 semanas, em que não tenho escrito nada aqui no Zona J, tenho estado a preparar a minha ida ao JavaOne pela primeira vez. O JavaOne ocorre em São Francisco de 6 a 9 de Maio e é a maior conferência de developers do mundo. Serão mais de 320 sessões técnicas em 4 [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Nestas últimas 2 semanas, em que não tenho escrito nada aqui no Zona J, tenho estado a preparar a minha ida ao <a href="http://java.sun.com/javaone/sf/">JavaOne</a> pela primeira vez.</p>
<p>O <a href="http://java.sun.com/javaone/sf/">JavaOne</a> ocorre em São Francisco de 6 a 9 de Maio e é a maior conferência de developers do mundo. Serão mais de 320 sessões técnicas em 4 dias (para quem é demasiado preguiçoso para fazer as contas, isto dá 80 sessões por dia!) e se algo pode ser dito para demonstrar a força da indústria e comunidade à volta da tecnologia Java, esta é a maior prova.</p>
<p>Eu sempre quis ir ao JavaOne pois todas as pessoas que lá estiveram (entre eles o Ricardo Antunes aqui do Zona J) o descreveram como uma experiência obrigatória. A oportunidade surgiu com um programa da Sun EUA de Top Bloggers em que acabei por ser escolhido e foi-me enviado um convite de entrada na conferência como blogger/press &#8211; quer isto dizer que vou poder fazer de jornalista e cobrir o evento mas, acima de tudo, devo ter comida de graça. Feito o convite, tinha mesmo de ir e a empresa onde eu trabalho, a <a href="http://www.karma-consulting.pt/">Karma Consulting</a>, deu-me a ajuda que eu precisava para a viagem &#8211; obrigado chefe!.</p>
<h3>Quando custa ir ao JavaOne</h3>
<p>A ida a uma conferência deste género tem custos elevados. Mesmo com o dólar a valer quase o mesmo que o Yen, a ida à conferência com origem em Lisboa, tem os seguintes gastos:</p>
<ul>
<li>Entrada na conferência &#8211; $1495/€950</li>
<p>A entrada ao preço <em>early bid</em> é de $1595 mas o PTJUG (e todos os outros JUGs) tem um desconto de $100 se usarem um código específico. Esse código pode ser encontrado na <a href="http://groups.google.com/group/ptjug-geral">mailing list do PTJUG</a>, para quem estiver interessado.</p>
<li>Viagem avião &#8211; aprox. €1000</li>
<p>O preço da viagem de avião pode variar muito consoante a disponibilidade e os voos mais baratos são por vezes difíceis, mas com alguma antecedência conseguem-se voos a €800. Além disso a viagem é muito longa, especialmente nas rates mais baixas em que se fazem 2 escalas e a duração de voo ultrapassa as 23 horas!</p>
<li>Estadia &#8211; aprox. 500€ </li>
<p>A conferência tem um conjunto de hotéis com os quais combina as rates e um hotel médio custa cerca de $150/95€ por noite. Se contarmos 5 noites, arredondamos para 500€</p>
<li>Gastos extra &#8211; ??</li>
<p>Com tanta sessão técnica para ver, não deverá haver muito tempo para gastar dinheiro. Será seguro pensar em algo tipo €500.
</ul>
<p>Resumindo, €3000 é uma conta redonda e próxima do que pode custar ir ao JavaOne. Na minha opinião, para os benefícios que traz é bem mais interessante para uma empresa promover a ida dos seus funcionários a uma conferência destas do que pagar cursos de certificação para figurarem no CV por preços semelhantes.</p>
<h3>Que sessões vou ver no JavaOne</h3>
<p>O site oficial do evento oferece um sistema de escolha das sessões técnicas. Dentro destas há as sessões técnicas propriamente ditas, mais conceituadas e formais; e os BOFs, ou Birds of Feather, que são sessões mais pequenas e informais.<br />
Com tanta sessão interessante demora-se mesmo muito tempo a escolher as sessões que queremos ver, mas posso destacar as seguintes sessões que planeio ver:</p>
<ul>
<li><strong>Fortress: A Next-Generation Programming Language Brought to You by Sun Labs</strong></li>
<p><a href="http://research.sun.com/projects/plrg/">Fortress</a> é uma linguagem saída dos Sun Research Labs que tem coisas como paralelismo implícito (o código escrito é paralelizado por omissão, sempre que possível), notação matemática na linguagem, transaccionalidade e outras coisas interessantes.</p>
<li><strong>Defective Java™ Code: Turning WTF Code into a Learning Experience</strong></li>
<p>Esta sessão via ser dada pelo William Pugh, criador do <a href="http://findbugs.sourceforge.net/">FindBugs</a> e será uma aproximação prática com projectos reais, como seja o OpenJDK.</p>
<li><strong>JUG Community BOF: JUG Leaders from Around the World Interact with Sun</strong></li>
<p>JUG Leaders e representantes da Sun reunem-se para falar sobre o funcionamento das comunidades de JUG e a sua relação com a Sun.</p>
<li><strong>Comet: The Rise of Highly Interactive Web Sites</strong></li>
<p>Apresentada pelo Joe Walker, do <a href="http://getahead.org/dwr">DWR</a>.</p>
<li><strong>Top 10 Patterns for Scaling Out Java™ Technology-Based Applications</strong></li>
<p>Sessões dada pelo Cameron Purdy, ex-CEO da Tangosol, agora na Oracle e à frente da área de desenvolvimento. É certamente a pessoa indicada para falar de temas como escalabilidade e computação em grelha. Deverá falar bastante de <a href="http://www.oracle.com/products/middleware/coherence/index.html">Oracle Coherence</a>.</p>
<li><strong>Programming with Functional Objects in Scala</strong></li>
<p>Uma das sessões que tenho mais expectativa. Sou um fã da linguagem <a href="http://www.scala-lang.org/">Scala</a>, embora ainda não possa ter usado a linguagem para umas brincadeiras práticas. O senhor Martin Odersky em pessoa vai apresentar a sessão.</p>
<li><strong>Meet the Java™ Posse</strong></li>
<p>Sou ouvinte regular do podcast The Java Posse e este BOF será certamente divertido. Vai ser uma oportunidade de ligar as caras aos nomes e vozes.
</ul>
<p>Tenho muitas mais sessões no meu horário e tenho a certeza que mesmo que não consiga ir a todas, vou perder algum peso a correr entre elas. </p>
<p>Para quem ainda quiser ir ao JavaOne este ano, não se esqueça que o preço do Early Bid acaba a 7 de Abril e que podem obter o tal desconto de $100.<br />
<u>Se alguém estiver a ler e for ao JavaOne diga alguma coisa nos comentários, terei todo o gosto em combinar alguma coisa visto que vou sozinho e sou uma pessoa muito anti-social.</u></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/03/30/javaone-2008-vou-estar-la/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Developers Java: o que as empresas procuram mesmo mesmo</title>
		<link>http://www.zonaj.org/2008/03/17/developers-java-o-que-as-empresas-procuram-mesmo-mesmo/</link>
		<comments>http://www.zonaj.org/2008/03/17/developers-java-o-que-as-empresas-procuram-mesmo-mesmo/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 14:14:54 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[indústria]]></category>
		<category><![CDATA[jug]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=92</guid>
		<description><![CDATA[Apresentação &#8220;Developers Java: o que as empresas procuram mesmo mesmo&#8221; ministrada pelo Fernando Fernandez no 1º Encontro do PTJUG. 6 de Março de 2008.]]></description>
			<content:encoded><![CDATA[<p></p><div style="text-align:center"><embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=5974082450155857082&#038;hl=en" flashvars=""> </embed></div>
<p>Apresentação &#8220;Developers Java: o que as empresas procuram mesmo mesmo&#8221; ministrada pelo Fernando Fernandez no 1º Encontro do PTJUG. 6 de Março de 2008.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/03/17/developers-java-o-que-as-empresas-procuram-mesmo-mesmo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Slides do 1º Encontro PTJUG</title>
		<link>http://www.zonaj.org/2008/03/11/slides-do-1%c2%ba-encontro-ptjug/</link>
		<comments>http://www.zonaj.org/2008/03/11/slides-do-1%c2%ba-encontro-ptjug/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 00:42:46 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[educação]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[indústria]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jug]]></category>
		<category><![CDATA[terracotta]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=87</guid>
		<description><![CDATA[Os slides das apresentações do 1º Encontro do PTJUG já foram disponibilizados na mailing list e decidi disponibilizá-los também no Slideshare. Coloco aqui as 3 apresentações. Developers Java: O que as empresas dizem que precisam mesmo mesmo Por Fernando Fernandez &#124; View Lightweight Grids with Terracotta Por Cesario Ramos &#124; View Web 2.0 em Java [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Os slides das apresentações do 1º Encontro do PTJUG já foram disponibilizados na mailing list e decidi disponibilizá-los também no <a href="http://www.slideshare.net">Slideshare</a>.<br />
Coloco aqui as 3 apresentações.</p>
<h3>Developers Java: O que as empresas dizem que precisam mesmo mesmo</h3>
<p>Por Fernando Fernandez</p>
<div style="width:425px;text-align:left" id="__ss_300306"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=developers-java-o-que-as-empresas-dizem-que-precisam-mesmo-mesmo-1-encontro-ptjug-1205161811422239-3"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=developers-java-o-que-as-empresas-dizem-que-precisam-mesmo-mesmo-1-encontro-ptjug-1205161811422239-3" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"><a href="http://www.slideshare.net/?src=embed"><img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/></a> | <a href="http://www.slideshare.net/ptjug/developers-java-o-que-as-empresas-dizem-que-precisam-mesmo-mesmo-1-encontro-ptjug?src=embed" title="View 'Developers Java: O que as empresas dizem que precisam mesmo mesmo - 1º Encontro PTJUG' on SlideShare">View</a></div>
</div>
<h3>Lightweight Grids with Terracotta</h3>
<p>Por Cesario Ramos</p>
<div style="width:425px;text-align:left" id="__ss_300307"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=lightweight-grids-with-terracotta-1-encontro-ptjug-1205161814292605-4"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=lightweight-grids-with-terracotta-1-encontro-ptjug-1205161814292605-4" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"><a href="http://www.slideshare.net/?src=embed"><img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/></a> | <a href="http://www.slideshare.net/ptjug/lightweight-grids-with-terracotta-1-encontro-ptjug?src=embed" title="View 'Lightweight Grids With Terracotta - 1º Encontro PTJUG' on SlideShare">View</a></div>
</div>
<h3>Web 2.0 em Java com Google Web Toolkit</h3>
<p>Por Hugo Pinto</p>
<div style="width:425px;text-align:left" id="__ss_300278"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=google-web-toolkit-1205160616853960-2"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=google-web-toolkit-1205160616853960-2" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"><a href="http://www.slideshare.net/?src=embed"><img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/></a> | <a href="http://www.slideshare.net/ptjug/google-web-toolkit-300278?src=embed" title="View 'Google Web Toolkit - 1º Encontro PTJUG' on SlideShare">View</a></div>
</div>
<p>Enjoy! </p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/03/11/slides-do-1%c2%ba-encontro-ptjug/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Revisão 1º Encontro PTJUG</title>
		<link>http://www.zonaj.org/2008/03/08/revisao-1%c2%ba-encontro-ptjug/</link>
		<comments>http://www.zonaj.org/2008/03/08/revisao-1%c2%ba-encontro-ptjug/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 01:32:11 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[evento]]></category>
		<category><![CDATA[indústria]]></category>
		<category><![CDATA[jug]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=84</guid>
		<description><![CDATA[O primeiro encontro do PTJUG ocorreu ontem e compareceram cerca de 50 pessoas, em 66 inscritos. Sucedeu as minhas expectativas. As apresentações foram interessantes e assim que estejam disponíveis os slides &#8211; e possivelmente os vídeos, se ficaram com boa qualidade e se se apanhou bem o som &#8211; serão disponibilizados. No início o pessoal [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>O primeiro encontro do PTJUG ocorreu ontem e compareceram cerca de 50 pessoas, em 66 inscritos. Sucedeu as minhas expectativas.<br />
As apresentações foram interessantes e assim que estejam disponíveis os slides &#8211; e possivelmente os vídeos, se ficaram com boa qualidade e se se apanhou bem o som &#8211; serão disponibilizados.</p>
<p>No início o pessoal estava um pouco envergonhado mas houve gente a participar com perguntas e opiniões e acabámos todos com uma entrega de prémios e uma foto de grupo num clima muito porreiro. Seguiu-se um jantar para os insaciáveis.</p>
<p>Nada mau para primeiro evento <img src='http://www.zonaj.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Fica a foto de grupo.</p>
<div style="text-align:center"><a href='http://www.zonaj.org/wp-content/uploads/2008/03/15.jpg' title='16.jpg'><img src='http://www.zonaj.org/wp-content/uploads/2008/03/16.jpg' alt='16.jpg' /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/03/08/revisao-1%c2%ba-encontro-ptjug/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Microsoft acerta com IE8?</title>
		<link>http://www.zonaj.org/2008/03/04/microsoft-acerta-com-ie8/</link>
		<comments>http://www.zonaj.org/2008/03/04/microsoft-acerta-com-ie8/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 19:15:34 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[indústria]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=82</guid>
		<description><![CDATA[A Microsoft, especificamente a equipa do Internet Explorer, mostrou ontem uma atitude talvez inesperada mas de louvar. Há algum tempo atrás, a equipa do IE anunciou que para o IE8 fazer render das páginas em modo stantards, seria necessário colocar-se uma meta tag a pedir explicitamente isso ao browser. Isto é obviamente uma parvoíce e [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>A Microsoft, especificamente a equipa do Internet Explorer, mostrou ontem uma atitude talvez inesperada mas de louvar.<br />
Há algum tempo atrás, a equipa do IE anunciou que para o IE8 fazer render das páginas em modo stantards, seria necessário colocar-se uma meta tag a pedir explicitamente isso ao browser. Isto é obviamente uma parvoíce e a comunidade online insurgiu-se contra. Significaria que para se ver uma página correctamente em IE teríamos de meter lixo no nosso markup só para desculpar todos os maus developers que o fazem. </p>
<p>Felizmente, reconheceram o erro. <a href="http://blogs.msdn.com/ie/archive/2008/03/03/microsoft-s-interoperability-principles-and-ie8.aspx">Voltaram atrás</a> e agora o IE8 carregará por omissão em modo standards e quem tem páginas não standards compliant é que pode usar uma tag para indicar o mesmo. Como browser a passar o <a href="http://www.webstandards.org/files/acid2/test.html">teste ACID2</a> (as últimas versões de Firefox e Opera também o passam há mais tempo), isto pode abrir caminho para uma melhor web &#8230; pelo menos espero eu.</p>
<p>Como utilizador não me faz grande diferença porque uso Firefox há bastante tempo &#8211; e as suas lindas memory leaks -, mas como developer as dores de cabeça que é desenvolver aplicações web multibrowser são enormes, principalmente devido à ainda enorme fatia de mercado do IE e fraca qualidade do produto. Pior ainda é desenvolver aplicações intranet só para IE e ter de se ir contra tudo o que se sabe. Portanto, se o IE8 for um browser melhor e mais standards compliant, será melhor para todos e especialmente para a nossa amiga web.</p>
<p>Fiquem com o <a href="http://blogs.msdn.com/ie/archive/2008/03/03/microsoft-s-interoperability-principles-and-ie8.aspx">post da equipa do Internet Explorer 8</a>.</p>
<p>PS: Como nota à parte, diga-se que aqui no Zona J 60% dos visitantes são Firefox e apenas 37% são IE. Será uma constante de browsers mais técnicos?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/03/04/microsoft-acerta-com-ie8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1º Encontro PTJUG &#8211; 6 de Março</title>
		<link>http://www.zonaj.org/2008/02/21/1%c2%ba-encontro-ptjug-6-de-marco/</link>
		<comments>http://www.zonaj.org/2008/02/21/1%c2%ba-encontro-ptjug-6-de-marco/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 18:20:01 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[evento]]></category>
		<category><![CDATA[indústria]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jug]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=80</guid>
		<description><![CDATA[Tenho o prazer de anunciar que o 1º Encontro de Java User Group Português se irá realizar dia 6 de Março, entre as 18h30 e as 21h30 no Hotel Principe Lisboa. Será feito em horário pós-laboral e num tom o mais informal possível; no fundo o que queremos é ouvir falar sobre alguns temas, discuti-los [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Tenho o prazer de anunciar que o 1º Encontro de Java User Group Português se irá realizar dia 6 de Março, entre as 18h30 e as 21h30 no <a href="http://www.hotelprincipelisboa.com">Hotel Principe Lisboa</a>. Será feito em horário pós-laboral e num tom o mais informal possível; no fundo o que queremos é ouvir falar sobre alguns temas, discuti-los e ficar a conhecer-nos melhor. Para isso, vamos também jantar a seguir e que será certamente agradável. E também teremos alguma coisa para comer lá no hotel durante as palestras, por isso vai dar para matar a fome a quem vier directo do trabalho ou faculdade.</p>
<p>Mas não vai ser só comida, também vamos falar sobre java e tecnologias semelhantes. Reunimos um conjunto de 3 apresentações que penso virem a ser interessantes para todos:</p>
<p>- “Developers Java: o que as empresas dizem que precisam mesmo mesmo” pelo Fernando Fernandez</p>
<p>- “Lightweight grids with Terracotta” pelo Cesario Ramos</p>
<p>- “Google Web Toolkit” pelo Hugo Pinto </p>
<p>A apresentação do Cesario será em inglês (ele arranha o portugues, embora o nome o faça parecer um verdadeiro nativo) e podem consultar <a href="http://www.nljug.org/pages/events/content/jfall_2007/sessions/00023/slides/">slides da apresentação que ele fez no Jug Holanda</a>, sendo que cá vai apresentar uma versão actualizada da palestra.</p>
<p>Depois disto só falta mesmo registarem-se. Para isso, podem utilizar o <a href="http://www.jugevents.org/jugevents/event/show.html?null=null&#038;id=2372&#038;language=pt_PT">formulário de registo no 1º Evento PTJUG, no JUG Events</a>. Assim vamos conseguir saber o tamanho da sala a usar e quantos lanches pedir. Tanto a sala como o lanche, nesta primeira edição, são patrocinados pela Sun, a quem muito agradecemos este apoio.</p>
<p>E passem a palavra. No vosso trabalho, faculdade, grupo de amigos que se interessem por estas coisas. A troca de ideias é uma excelente forma de todos nós evoluirmos.</p>
<p>Espero encontra-vos lá.</p>
<p>PS: Quem quiser ir ao jantar, por favor envie um mail para jug arroba java ponto pt com o primeiro e último nome.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/02/21/1%c2%ba-encontro-ptjug-6-de-marco/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PTJUG &#8211; Update 2</title>
		<link>http://www.zonaj.org/2008/01/23/ptjug-update-2/</link>
		<comments>http://www.zonaj.org/2008/01/23/ptjug-update-2/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 01:43:49 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[educação]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[indústria]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jug]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=75</guid>
		<description><![CDATA[Isto tem andado meio parado, mas por vezes também se tem de trabalhar =) No entanto, várias coisas interessantes aconteceram neste último mês que merecem algum destaque. Em meados de Dezembro, eu, o Hugo Palma e o Fernando Fernandez fomos eleitos pelo grupo core do PTJUG como o triunvirato de JUG Leaders portugueses. Vão ser [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Isto tem andado meio parado, mas por vezes também se tem de trabalhar =) No entanto, várias coisas interessantes aconteceram neste último mês que merecem algum destaque.</p>
<p>Em meados de Dezembro, eu, o Hugo Palma e o Fernando Fernandez fomos eleitos pelo grupo core do PTJUG como o triunvirato de JUG Leaders portugueses. Vão ser 2 anos desafiantes e cansativos mas já estamos a trabalhar nisso. Contamos com a participação de todos os interessados na <a href="http://groups.google.com/group/ptjug-geral">mailing-list que tem actualmente quase 200 pessoas</a> e que apresenta alguma actividade interessante.<br />
Estamos também a ultimar os preparativos para colocar online a nova versão do site que irá morar no endereço <a href="http://www.java.pt">http://www.java.pt</a>. Esta será a nova casa do PTJUG.</p>
<p>Também está em marcha a organização do primeiro evento do JUG que se realizará em Lisboa, perto do fim de Fevereiro em horário pós-laboral, e que permitirá à comunidade começar a contactar e trocar conhecimentos. Está aberto um pedido para quem quiser fazer apresentações o fazer enviando-nos uma breve descrição do que querem apresentar para jug [ a ] java ponto pt. De referir que queremos uma troca de ideias e conhecimentos de uma forma informal, em que nos sintamos à vontade.</p>
<p>Teremos também cá em Portugal por essa altura o Daniel Oliveira, JUG Leader do <a href="http://www.dfjug.org/DFJUG/">DFJUG</a> (Brasília), um JUG com mais de 10.000 membros, dos maiores do mundo. Vai estar a promover a iniciativa JEDI cá em Portugal e será certamente interessante saber da parte dele a experiência de comunidade java. JEDI significa <em>Java Education &#038; Development Initiative</em> e é definido da seguinte forma.</p>
<blockquote><p>JEDI is a collaborative project that aims to make high-quality, industry-endorsed IT and Computer Science course material available for free. The course materials are developed with inputs from industry and conforms to international education standards. JEDI materials and resources are developed, used and enhanced in a collaborative environment using java.net.</p></blockquote>
<p>Podem consultar mais informação no <a href="http://www.jediproject.net/">site oficial do projecto JEDI</a> ou no <a href="http://www.dfjug.org/DFJUG/jedi/index.jsp">site do DFJUG para o JEDI</a>. Mais tarde falarei mais sobre o projecto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/01/23/ptjug-update-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

