maio 2007


Para quem foi “criado” na cultura do Unix, como eu, aprendi a usar e fiquei fascinado com aquele terrível mas fantástico editor de texto vi (pronuncia-se como as letras em inglês: vi-ai).

O vi é um editor surgido na década de 70 no Unix, possui modos separados de entrada de texto e de comandos, onde infindas sopas de letrinhas fazem loucuras com o texto. Numa época onde predominavam mainframes, o vi inovou ao evoluir do editor de linha (como ed, sed e AWK) para um editor visual (daí o nome!) onde o texto aparecia na tela inteira, que evolução! :-) Contudo, o vi ainda preservou recursos e conceitos oriundos dos processadores de linha.

Desde a explosão da Internet e do Windows (década de 90 até hoje), o mundo se acostumou com alta interatividade e visual rico. Por isso, a filosofia do vi soa nos tempos atuais totalmente enigmática, anti-natural e, portanto, terrível.

Apesar disso, o vi trazia desde nascença um recurso surgido no próprio Unix e que até hoje é fantástico para a busca e substituição de texto: as expressões regulares. Isso, mais a forma de execução programática de comandos de linha, permite manipulações mirabolantes no texto. Acredito que essas características me fizeram apaixonado e saudosista pelo vi.

Lembro disso porque hoje, depois de um ano sem novas versões, foi lançada a versão 7.1 do Vim, o “Vi Improved” (Vi melhorado), clone melhorado do VI original do Unix, desenvolvido como software livre e enriquecido com inúmeros recursos. O Vim é o “vi” do Linux e está atualmente disponível para quase todas as plataformas, em versão modo-texto puro ou gráfica (gVim), inclusive Windows.

Outro editor surgido no mundo Unix e inspirado nos velho WordStar (“WS”, para os íntimos, dá época do CP/M e MS-DOS) é o Emacs, já nascido software livre pelo projeto GNU. Muito amadurecido ao longo do tempo, a última versão estável é a 21.4 de fevereiro de 2005. Costumava existir uma guerra apaixonada entre os adoradores de VI e os de Emacs.

Mas hoje em dia deixo a paixão de lado e admito que o vi é antigo e complicado e, por isso, muitas vezes anti-produtivo. Além do mais, bons editores de texto avançados — em geral usados para editar código-fonte, em linguagens de programação e formatos de conteúdo/dados em texto como HTML e XML — atualmente já incorporam recursos de busca e substituição com suporte a expressões regulares e oferecem facilidades que permitem o mesmo poder do vi, porém com bem mais facilidade e usabilidade.

Um bom exemplo é o Notepad++, software livre para Windows baseado no poderoso componente editor Scintilla. Rápido, ágil, cheio de recursos e fácil de usar.

Para saber mais:

Finalmente, as opções de IDE Java gratuitos estão ficando realmente atrativas, principalmente no desenvolvimento Java EE com web.

É difícil conseguir viabilizar e justificar pesado investimento financeiro em um ambiente de desenvolvimento Java, como o completo IBM Rational Developer — o Software Architect 6.0 foi eleito Melhor IDE Java pela revista InforWorld em 2006 — (R$5.635 por um usuário RAD 7.0) ou o famoso IntelliJ IDEA (US$249 individual ou US$499 comercial/usuário 6.0).

Até pouco tempo atrás, restava à grande maioria dos desenvolvedores Java lidar com o quebra-cabeças do Eclipse mais “trocentos” plug-ins, para ter um ambiente robusto e razoavelmente produtivo, ou se contentar com os recursos incipientes do NetBeans para obter um ambiente mais fácil e promissor.

Atualmente, porém, há três ótimas opções de ambientes de desenvolvimento Java EE gratuitos: Exadel Studio Pro 4 (futuro Red Hat Developer Studio) baseado no Eclipse 3.2 (3.3 a caminho), NetBeans 5.5 (6.0 a caminho) e Oracle JDeveloper 10g (11g a caminho). Vejamos cada uma.

Eclipse

O Eclipse é uma robusta plataforma de software livre para desenvolvimento de aplicações em Java. O projeto Eclipse surgiu e mantém sua força da doação e envolvimento da IBM para manter como código aberto uma base para suas ferramentas IBM/Rational. O projeto, ao longo dos anos, ganhou o apoio e participação de grandes empresas e instituições, como Borland, BEA, JBoss e Oracle.

O grande problema é que o foco central do projeto Eclipse não é ser um ambiente de desenvolvimento pronto, mas sim uma plataforma — ampla, sólida e aberta — sobre a qual se pode desenvolver um efetivo ambiente de desenvolvimento.

Vasto e complexo, o projeto Eclipse se divide em vários sub-projetos. O “parto” de integrar os produtos de todos estes projetos ao montar um ambiente de desenvolvimento reduziu substancialmente com o Callisto, um esforço de integração dos 10 maiores projetos componentes do Eclipse.

Contudo, o desenvolvedor iniciante que conhece o Eclipse em geral fica assustado com a dificuldade em atingir dois objetivos básicos:

  1. Instalar o Eclipse.
  2. Ter um ambiente pronto para usar no desenvolvimento Java EE.

O primeiro problema, atualmente, é muito facilitado com a existência da distribuição Callisto oferecida pela IBM (outras distribuições Eclipse independentes envolvem atualizações ou produtos pagos). Basta escolher a Distro Callisto IBM mais completa (Enterprise project bundle), baixar e descompactar o pacotão ZIP em um diretório do computador e iniciar o executável do Eclipse. Ainda não há o “luxo” de um instalador, mas pelo menos é um processo simples.

Mas mesmo quem inicia o Eclipse com o pacote Callisto mais completo ainda pode se decepcionar com a falta de ferramentas profissionais de produtividade e eficiência em tarefas como editar um JSP, utilizar componentes JSF, ou criar um web-service.

Aí entra a solução para o segundo problema. O Exadel Studio Pro, um ótimo ambiente de desenvolvimento produtivo/profissional baseado no Eclipse — como o MyEclipse IDE e o hors-concurs IBM Rational –, foi recentemente tornado open source através de uma parceria com a JBoss/Red Hat. Brevemente teremos o Red Hat Developer Studio como software livre. Até lá, a avaliação do Exadel Studio Pro pode ser usada gratuitamente e sem limitações.

A versão 3.3 do Eclipse em desenvolvimento promete ainda mais melhorias quanto a facilidade e praticidade de uso.

Download

  • Plataforma principal: IBM Callisto bundle, opção Enterprise project bundle (ZIP, basta descompactar) – inclui web (WTP), Profiling (TPTP) e GUI desktop (GMF); ou a opção mais “econômica” Java EE project bundle – inclui apenas WTP e seus requisitos.
  • Pacote adicional independente (de terceiros): Exadel Studio Pro (ZIP, veja instruções para instalação manual) – Java EE com suporte avançado a JSF, Struts, Spring, Hibernate, editor visual HTML/JSP.
  • Traduções para o português: IBM doou traduções para Eclipse 3.2.1; deve-se seguir os diversos links e baixar o Language Pack 1 (NLpack1, que contém Português do Brasil) de cada projeto, descompactando um por um na pasta principal de instalação do Eclipse.

NetBeans

O NetBeans, projeto fortemente patrocinado pela Sun, vem evoluindo rapidamente, ainda mais desde as versões 4.1 e 5.0. Diferente do Eclipse, o resultado objetivado pelo projeto NetBeans sempre foi um ambiente de desenvolvimento integrado (IDE) Java completo e bem acabado.

A Sun também usa o projeto livre NetBeans como base para suas ferramentas comerciais de desenvolvimento Sun Java Studio, assim como a IBM/Rational faz com o Eclipse. Como os produtos da Sun não firmaram força própria (como têm as tradicionais ferramentas IBM Rational), a Sun acabou disponibilizando suas ferramentas comerciais gratuitamente. Os recursos mais poderosos e sofisticados destas ferramentas estão sendo integrados ao NetBeans 5.5 e 6.0.

Assim, os recursos de desenvolvimento web visual do Sun Java Studio Creator se tornaram o NetBeans Visual Web Pack. Além disso, o NetBeans 5.5 incorporou do antigo Sun Java Studio Enterprise ferramentas de Profiling, desenho UML e outras. Também incorporou rapidamente compatibilidade com os recursos do Java Enterprise Edition 5, em sintonia com o projeto do servidor Java EE 5 open source Glassfish, também patrocinado pela Sun.

O NetBeans na atual versão 5.5 já se tornou um ambiente muito completo e robusto para o desenvolvimento Java EE, ao mesmo tempo que é amigável e fácil de instalar e usar.

Uma grande crítica que se ouve sobre o NetBeans, principalmente dos adeptos do Eclipse, é que o editor Java e as ferramentas de refactoring do NetBeans precisam melhorar para fazer frente ao que o Eclipse já oferece. Creio que este é um dos alvos da nova versão 6.0, em estágio avançado de desenvolvimento — Milestone 9.

Download

  • Plataforma básica: NetBeans IDE (instalador), preferencialmente o Java EE Bundle; há distribuição em Português do Brasil.
  • Principais pacotes adicionais: Enterprise Pack (instalador) – Java EE – XML Schema, WSDL, BPEL, Secure WS, UML; Visual Web Pack – edição visual de JSP, JSF e Ajax; Mobility Pack (instalador) – Java ME, CLDC ou CDC. Para distribuições em Português, escolha opção Other Systems and Languages.

JDeveloper

Saindo das duas principais opções open source, uma terceira boa opção existe desde que a Oracle tornou seu IDE JDeveloper totalmente gratuito.

Some-se a isso o fato que a Oracle tornou open source dois frameworks de desenvolvimento Java: o mecanismo de persistência Oracle TopLink (se tornou a base da implementação de referência JPA do Glassfish) e os componentes JavaServer Faces (JSF) Oracle ADF Faces, parte do Oracle Application Development Framework. São dois ótimos recursos e o seu uso no desenvolvimento está totalmente integrado e suportado no Oracle JDeveloper.

O Oracle JDeveloper é assim uma opção gratuita abrangente e amadurecida para o desenvolvimento Java corporativo, principalmente em ambientes onde produtos Oracle já são utilizados (Database Server, BI, Application Server, Portal).

A nova versão 11g foi anunciada no JavaOne 2007, o Technical Preview está disponível e brevemente a versão oficial estará lançada, com mais recursos e melhor suporte a Java EE 5 e ao framework Spring 2.0.

Download

Para saber mais:

Sun apresenta JavaFX, Oracle traz prévia de JDeveloper e OC4J 11g e anuncia ADF Faces Rich Client livre, no evento JavaOne 2007, que ocorre de 8 a 11 de maio em San Francisco, EUA.

Sun

Dia 8 de maio, na conferência JavaOne 2007, a Sun apresentou prévia da tecnologia JavaFX, para a criação de conteúdo e aplicações ricas — Rich Internet Applications (RIA) — em ambiente Java (JRE) cliente, voltada tanto a dispositivos móveis e aparelhos eletrônicos quanto a desktop e navegadores web.

Há por enquanto dois componentes principais: JavaFX Script, uma linguagem de script radicalmente simples rodando em Java SE, destinada a desktop e web/RIA, e JavaFX Mobile, um sistema de software completo para dispositivos móveis.

JavaFX parece uma mistura de Applet, Flash e Javascript e com uma interface de programação amigável. A tecnologia JavaFX vem concorrer com outras tecnologias RIA como Adobe Flash e Microsoft Silverlight, além do AJAX que vem impulsionando a Web 2.0. O Flash da Adobe (que incorporou a Macromedia em 2005) é base para novas soluções como o emergente projeto Apollo e o IDE/framework Flex. Já o Microsoft Silverlight é codinome do Windows Presentation Foundation/Everywhere (WPF/E), em Beta.

Para saber mais (em inglês):

Oracle

Dia 9 também no JavaOne, a Oracle anunciou a disponibilidade do Oracle Development Kit for Spring, com suporte a Spring Framework 2.0 e integração com o IDE gratuito Oracle JDeveloper, e revelou a próxima geração da Arquitetura para o Oracle Fusion Middleware, sua infra-estrutura integrada e cada vez mais abrangente para computação em Grid, Service-Oriented Architecture (SOA), e Event-Driven Architecture (EDA).

O componente fundamental do Fusion Middleware é o Oracle Application Server. Seu release 10g recentemente superou IBM WebSphere e BEA WebLogic e foi o melhor na avaliação de servidores single-node em plataforma x86, nos Benchmarks SPECJAppServer2004.

A Oracle também anunciou novidades em ferramentas Java: Technical Preview do IDE Oracle JDeveloper 11g, do Oracle Containers for Java EE (OC4J) 11g e do framework de persistência Oracle TopLink 11g; e a doação dos componentes ADF Faces Rich Client para o Projeto Apache, mais uma parte do Oracle Application Development Framework (ADF) que se torna software livre.

OC4J e JDeveloper 11g trazem compatibilidade com Java EE 5 — incluindo suporte a EJB 3, JPA, JAX-WS, JSF 1.2 e WS-Policy (para Web services seguros) –, plataforma de persistência Oracle TopLink melhorada e integração com Spring e Java Transaction Service (JTS).

Oracle ADF Faces Rich Client inclui mais de 80 componentes ricos com suporte a AJAX e RIA baseados em JSF 1.2 e Java EE 5, além de melhor suporte a Web Services.

Para saber mais (em inglês):

Maio mal começou e já temos neste mês várias atualizações críticas da Microsoft para o Windows e o Internet Explorer, de “costumeiras” correções de vulnerabilidades de segurança a erros críticos de sistema.

De acordo com o Resumo de Boletins de Segurança Microsoft para Maio 2007, versão 1.0 publicado em 8 de maio, já são sete as falhas de segurança descobertas e corrigidas no mês em software Microsoft, todas vulnerabilidades permitindo execução remota de código: três no Office/Word/Excel (MS07-023 a -025), uma no Exchange (MS07-026), uma no Internet Explorer (MS07-027; veja Atualização Cumulativa de Segurança IE – KB931768), uma no Windows (MS07-029) e uma — pasmem! — no Cryptographic API Component Object Model (CAPICOM) (MS07-028), um componente dos recursos de segurança/criptografia disponibilizados pela Microsoft para aplicações Windows.

Além disso, as atualizações críticas de hoje ainda incluem uma correção de erro crítico no sistema de arquivos NTFS do Windows XP e a atualização mensal da Ferramenta de Remoção de Software Mal-Intencionado do Microsoft Windows Vista/2003/XP/2000.

Para proteger e manter atualizado seu computador que roda Windows em meio a tantas falhas, deixe sempre ativado o recurso de atualizações automáticas via Internet (na Central de Segurança do Windows).

Por: Cristina Vidigal, repórter
Fonte: Agência Senado

senador Eduardo Azeredo (PSDB-MG) O senador Eduardo Azeredo (PSDB-MG) pediu apoio nesta quarta-feira (2) para o texto substitutivo aos Projetos de Lei do Senado (PLS) 76/00 e (PLS) 137/00 e ao Projeto de Lei da Câmara (PLC) 89/03, em análise na Comissão de Constituição, Justiça e Cidadania (CCJ), que tipifica e estabelece punição para crimes cometidos na Internet. O senador – relator dos projetos na CCJ – argumenta que esse tipo de crime vem aumentando significativamente nos últimos anos, com 197 mil ocorrências no país em 2006, um crescimento de 53%.

O senador exemplificou com um caso recente ocorrido em Brasília e evitado a tempo pela polícia civil do Distrito Federal, em que um grupo de adolescentes teria planejado o assassinato de outro adolescente por meio da Internet. Mencionou ainda outros dois casos ocorridos em Jacutinga, interior de Minas Gerais, e Petrolina, em Pernambuco, em que teria sido utilizado o site de relacionamentos Orkut para agredir com mensagens alguns cidadãos.

- Trata-se de problema sério e que precisa ser enfrentado pela legislação brasileira -defendeu o parlamentar.

Azeredo reforçou a necessidade de aprovação da medida argumentando que os países de vanguarda mundial – como os integrantes da União Européia e outros, como Estados Unidos, Canadá, África do Sul e Japão – já adotaram medidas acompanhando a Convenção de Budapeste, Convenção Internacional sobre o Cibercrime.

O senador afirmou que o número de fraudes, de acordo com o site do Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil (www.cert.br) teria subido de 27,3 mil tentativas de fraudes em 2005 para 41,8 mil em 2006, número que, segundo ele, poderia ser bem maior, pois os dados consideram apenas as denúncias dos usuários.

O parlamentar por Minas Gerais esclareceu ainda que a proposta em análise na CCJ não tem o objetivo de cercear a liberdade de expressão ou invadir a privacidade das pessoas, mas visa a combater uma série de crimes como a clonagem de cartões de crédito e de celulares, entre outros cometidos com o auxílio da Internet.

Azeredo informou também que os dados do cadastramento do usuário serão mantidos pelo provedor por um prazo de três anos e o acesso a eles só será possível com autorização da Justiça, em casos de investigações ou auditorias, quando o provedor puder colaborar com a apuração de denúncias, fornecendo “elementos probatórios essenciais”.

Veja também:

Um amigo meu que morou uns anos nos Estados Unidos me disse que uma das características que ele lembrava como mais marcante daquele país é que praticamente toda informação que uma pessoa precisa para realizar uma atividade ou se informar sobre algo geralmente está escrita em algum lugar.

Esta prática de documentar informação é algo que gostaria que os brasileiros aprendessem mais amplamente. Aliás, já seria um avanço se as pessoas por aqui tivessem hábito de escrever mais, de preferência com ortografia e gramática corretas.

Quanto mais eu aprendo sobre o mundo, os países e suas culturas, mais vejo que meu amigo tinha razão. Faz parte da cultura americana ter regras e informações quase sempre por escrito. Creio até que, em muitas atividades profissionais nos EUA, os poucos que realmente sabem sobre uma atividade definem regras e escrevem manuais; e um monte de gente com pouco ou nenhum conhecimento especializado segue esses manuais e regras igual a robôs.

As franquias são um exemplo típico desse fenômeno: o aspirante a empresário escolhe um negócio, elege uma das provavelmente muitas opções de franquias existentes e, entrando com um bocado de capital inicial, o empresário e seus funcionários provavelmente terão seus guias do “negócio tal para leigos”. ;-)

Navegando pela Internet, cada vez mais encontro provas de que americano realmente tem manual para tudo. Eis um exemplo:

O professor Jonathan A. Dantzig, da Universidade de Illinois em Urbana-Champaign (UIUC) mantém, desde 1995, o manual “Landing an Academic Job — The process and the pitfalls”, baseado em suas observações pessoais como membro do comitê de recrutamento de professores da sua Universidade. O texto é um verdadeiro tratado em 29 páginas sobre o processo de contratação de docentes nas universidades americanas. Inclui orientações detalhadas, dicas e exemplos para quem quer se candidatar a um emprego de professor universitário nos EUA. A última atualização do documento foi ontem.

E você, conhece algum outro manual curioso?

Microsoft continua insistindo na introdução da ferramenta de Notificação do Programa de Vantagens do Windows Original (KB905474, português, revisão 4.0, 10/04/2007) — Windows Genuine Advantage (WGA) Notification application (KB905474, inglês, revisão 4.1, 07/03/2007).

Na Atualização Automática ontem, meu Windows XP incluiu mais uma vez o Notificador do WGA como atualização recomendada. É a mesma atualização que eu critiquei em 22 de agosto de 2006, quando foi introduzida pela primeira vez pela Microsoft como atualização crítica.

A Ferramenta de Notificação do Programa de Vantagens do Windows Original o notifica caso a sua cópia do Windows não seja original. Se o seu sistema não for original, a ferramenta o ajudará a obter uma cópia licenciada do Windows.

Mais informações sobre esta atualização podem ser encontradas em http://go.microsoft.com/fwlink/?linkid=39157

Mais uma vez, respondi explicitamente que não concordo com estes termos e que não quero que a instalação desta atualização seja solicitada novamente, conforme mostram os diálogos a seguir. Vamos ver se desta vez a Microsoft deixa um usuário de Windows original em paz e vai caçar piratas em outro lugar. Que coisa constrangedora para um usuário honesto que só quer sua privacidade, ufa!

A caixa acima é exibida se você tiver as Atualizações Automáticas do Windows configuradas como “Fazer download de atualizações para mim, mas permitir que eu escolha quando instalá-las.” e escolher, quando as atualizações estiverem prontas, a opção de “Instalação personalizada”.

O link O que é WGA Notifications? no diálogo leva para uma página web com informações adicionais.

Os termos do Contrato de Licença (EULA – End User Licence Agreement) do WGA Notifications continuam invasivos como antes. Veja meu artigo de agosto de 2006 para uma análise dos detalhes.

Com o contrato de licença recusado, só resta ao instalador a opção de Cancelar. Porém, existe a opção (marquei, lógico) de “Não solicitar novamente a instalação desta atualização.” Contudo, eu já havia marcado opção similar em agosto de 2006 e, pelo visto, minha instrução foi “esquecida” ou ignorada agora.


Pronto, me livrei da invasão de privacidade do WGA novamente. Espero que não haja uma próxima vez!

Faça o teste em BBspot (no ar desde 7 de agosto de 2006) e descubra: Which Programming Language are You? Fiz o meu e deu que sou “Perl” :-)

Perl – As pessoas custam para compreendê-lo, mas você está sempre pronto a ajudá-las em quase todos os problemas delas.

You are Perl. People have a hard time understanding you, but you are always able to help them with almost all of their problems.

« Página anterior