Migração do blog – http://brunopereira.org

junho 12, 2008

Já há algum tempo eu estava pensando em colocar meu blog em um serviço de hospedagem, para ter uma liberdade maior na publicação de conteúdo e poder contar com mais alguns serviços.

Na sexta-feira passada eu contratei uma hospedagem e agora possuo uma instalação própria do WordPress. O novo endereço do blog é http://brunopereira.org

Eu importei todo o conteúdo deste blog lá na outra instalação. Todos os posts, comentários e arquivos presentes aqui já estão lá.

Não tenho nenhuma insatisfação com a qualidade de serviço do blog gratuito do WordPress. Ele sempre me atendeu plenamente e me surpreendeu positivamente. Estou mudando para conseguir personalizar mais as coisas e poder contar com serviços como Apache, Tomcat, Subversion, bancos de dados, etc.

Estou com algumas idéias para o blog e aos poucos colocarei as coisas em prática. Meus escassos leitores, por favor atualizem seus links, blogrolls, e feeds RSS/Atom para este novo endereço. Este será o último post que farei neste endereço.


Gestão de conhecimento do time

junho 6, 2008

Atenção, este blog foi migrado para: http://brunopereira.org

Eu tenho pensado um pouco sobre isso nos últimos tempos, então decidi falar aqui no blog porque possivelmente muitas pessoas têm questionamentos semelhantes.

Inicialmente vou contextualizar um pouco para depois ficar mais fácil de expôr algumas idéias. Meu time na Globo.com é formado atualmente por 3 desenvolvedores, 1 especialista em client-side e 2 arquitetos de informação (até semana passada eram 3). Temos um backlog de produto enorme, pois a equipe era formada apenas por 2 desenvolvedores antes da minha chegada em Janeiro. O resto do pessoal se juntou ao time em Março.

Uma coisa importante no Scrum (na verdade, em qualquer metodologia hoje em dia) é que os desenvolvedores sejam versáteis, e consigam atuar de várias formas diferentes, mudando de ferramentas, frameworks e linguagens sem problemas. Para que os desenvolvedores consigam fazer isso, é claro que é fundamental que eles estudem bastante e estejam sempre se atualizando, pois as opções de tecnologias disponíveis estão avançando muito rapidamente.

Outra coisa importante é que mais de um desenvolvedor do time seja capaz de realizar qualquer tarefa específica. Isto é importante pelo compartilhamento do conhecimento e para que seja possível lidar tranqüilamente com problemas pessoais, férias, etc. Neste sentido, precisamos pensar muito mais no conhecimento do time do que no conhecimento de indivíduos separadamente.

O que eu quero dizer com isso? Quero dizer que para um time andar bem, as escolhas de tecnologias idealmente devem ser moldadas em torno do time. Com a infinidade de opções que temos de frameworks web, APIs javascript/ajax, linguagens e componentes, não podemos nos dar ao luxo de ficar continuamente acompanhando as novidades e avaliando novas opções. Precisamos fazer algumas escolhas, e avançar com elas. É claro que isso pode e deve ser periodicamente revisto, mas é fundamental escolher algumas opções e se concentrar nelas.

Os 3 desenvolvedores do meu time têm experiência muito mais em Java do que em outras linguagens. Nossas aplicações são todas em Java, embora já estejamos fazendo experimentos com outras linguagens. Entretanto, concordo bastante com um artigo que saiu no InfoQ recentemente, que traz a idéia de que Java pode ser a última grande linguagem. Compartilho da idéia do autor de que provavelmente estaremos nos próximos anos escolhendo linguagens de uma forma semelhante à que escolhíamos frameworks Java nos últimos anos.

Java é uma linguagem de propósito geral. Gosto muito da linguagem e da plataforma. Mas com novas linguagens/frameworks direcionados para problemas específicos, é natural que em alguns nichos Java não seja a melhor opção. Penso que isso está acontecendo com mais força em aplicações web. Novas opções como o Grails, Django e Ruby on Rails oferecem um desenvolvimento muito mais produtivo do que Java em algumas aplicações. Java possui ótimos frameworks web, e já é uma linguagem muito madura. Mas quem já utilizou alguma dessas 3 opções que mencionei já pôde constatar o choque de produtividade delas contra a maioria dos frameworks web Java.

Conversei sobre isso com o resto do time e a minha opinião é de que devemos nos concentrar em torno de um conjunto limitado de opções, para que o time tenha um melhor rendimento. Com isso, o ideal é que o time conheça bem 2 ou talvez 3 frameworks web Java, 1 ou 2 das opções de alta produtividade web, e 1 ou 2 opções de framework javascript/ajax (jQuery por exemplo). As escolhas devem ser feitas pelo time em conjunto, de acordo com as aptidões e conhecimento agregado dos membros.

Trabalhando com um conjunto reduzido de opções, fica muito mais fácil compartilhar o conhecimento dentro da equipe, e conseguimos que os desenvolvedores conheçam bem esses componentes escolhidos e sejam produtivos com eles. Não adianta muito que um dos desenvolvedores saque muito do “melhor framework web da história desse país”, mas só ele conheça esse framework.

É melhor que seja utilizada uma opção que o time de uma maneira geral já conheça e seja produtivo. Pode ser que essa 2a opção não produza flocos tão crocantes como aquele outro framework, mas se é uma boa ferramenta para o problema e o time conhece bem, use essa mesma!

É claro que em algumas situações nós precisamos abrir mão de algo que conhecemos bem para utilizar uma opção que se adequa melhor aos outros membros do time. Vamor supor que um dos desenvolvedores saca muito de Tapestry e considera que ele é o melhor framework web Java. Se os outros 3 desenvolvedores já conhecem bem de JSF, provavelmente a melhor alternativa é que o time use JSF, e aquele desenvolvedor abra mão do Tapestry em favor do JSF. Pode ser que o Tapestry seja melhor tecnicamente do que JSF, mas os resultados têm que ser entregues pelo time, então as escolhas têm que ser feitas em torno das aptidões do time como um todo.

Tendo feito as escolhas de tecnologias, o legal é que os desenvolvedores se revezem com alguma freqüência entre as linhas de atuação, para propagar melhor o conhecimento e o time como um todo amadurecer. Eu por exemplo conheço legal de REST, mas os outros 2 desenvolvedores do time já implementaram alguns serviços e clientes REST, e com certeza têm plena condição de trabalhar em qualquer um dos serviços REST que eu implementei.

Aos poucos estamos aprendendo mais da parte client com o especialista do time, e ele também já está aprendendo um pouco de JSF, e com isso vamos todos amadurecendo. Essa gestão de conhecimento do time deve ser muito bem feita, para que os resultados do time vão melhorando progressivamente sprint após sprint. A decisão de se concentrar em algumas escolhas (mesmo que talvez elas não sejam as melhores tecnicamente) é muito importante para que o time se mantenha produtivo.

Todos gostamos muito de software, e de avaliar novidades. Porém, não somos pesquisadores, somos desenvolvedores comprometidos com resultados. Essa decisão das escolhas do time é muito importante. Nosso tempo de estudo é limitado, portanto precisamos ser pragmáticos e focar nos resultados.


A Concrete está contratando

maio 31, 2008

Atenção, este blog foi migrado para: http://brunopereira.org

Olá pessoal, está rolando um processo grande de contratação na Concrete e estou ajudando na divulgação das vagas. Eu trabalho na Concrete há mais de 2 anos e gosto muito da empresa. Eu cheguei na empresa depois de trabalhar por mais de 2 anos numa das maiores (talvez a maior) empresa de consultoria do mundo.

O meu apreço pela Concrete é muito maior do que eu já tive pela empresa anterior. Nesta outra empresa todos nos sentíamos como gado. Sabíamos que cada pessoa era um recurso e pronto. Totalmente descartável, o que explica a alta rotatividade de profissionais que passaram por lá.

Na Concrete desde o começo eu me senti relevante. Os sócios e os associados (nível semelhante a gerentes) me conhecem e a minha opinião é levada em consideração nas decisões da empresa. Em vez de ser o FUNCIONARIO_ID número 105347, eu sou o Bruno Pereira. É uma sensação muito melhor, e isso certamente motiva mais.

Além disso, a Concrete é uma empresa realmente de software. Feita por pessoas que gostam de software e contrata gente que gosta de software. O foco principal da empresa é desenvolvimento mesmo. Com isso, convivemos entre profissionais de alto nível, e isso ajuda muito no amadurecimento e evolução dos profissionais.

Bom, estou ajudando na divulgação de vagas para 3 perfis, com a descrição abaixo. São 2 vagas para cada perfil. Se você se enquadrar neles ou conhecer alguém nesse perfil, por favor me envie um e-mail com seu currículo para: blpsilva@gmail.com.

Analista de Sistemas Java Pleno

Fundamental:
– Java SE 5 e/ou 6, Java EE
– JPA, Hibernate, Struts
– Experiência de uso com algum dos seguintes application servers (se conhecer mais de 1, melhor): BEA WebLogic 9 ou 10, Jboss AS, Apache Tomcat e Geronimo.
– Conhecimento de SQL e modelo de entidade-relacionamento.
– Inglês para leitura e estudo de material técnico. Inglês para conversação é um plus.

Desejável:

– Graduação em Ciência da Computação, Engenharia Eletrônica ou Computação, Informática e Matemática
– Conhecimento e interesse em outras linguagens de programação é bastante apreciado: Ruby, Scala, (Rhino)Javascript, Perl
– Familiaridade com web services e suas especificações WS-*
– Familiaridade com processos de desenvolvimento iterativo

– Familiriadade com comunidades e projetos de Open Source Software
Analista de Sistemas Java Sênior

Fundamental:
– Java SE 5 e/ou 6, Java EE
– JPA, Hibernate, Struts,
– Experiência de uso com algum dos seguintes application servers (se conhecer mais de 1, melhor): BEA WebLogic 9 ou 10, Jboss AS, Apache Tomcat e Geronimo.
– Conhecimento de SQL e modelo de entidade-relacionamento.
– Inglês para leitura e estudo de material técnico. Inglês para conversação é um plus.

Desejável:

– Graduação em Ciência da Computação, Engenharia Eletrônica ou Computação, Informática e Matemática
– Conhecimento e interesse em outras linguagens de programação é bastante apreciado: Ruby, Scala, (Rhino)Javascript, Perl
– Conhecimento de plataforma Linux
– Conhecimento em shell scripting para Unix/Linux é bastante desejável
– Conhecimento em otimização de JVM e Garbage Collector
– Familiaridade com web services e suas especificações WS-*
– Familiaridade com diversos aspectos do ciclo de vida do desenvolvimento de software
– Familiaridade com processos de desenvolvimento iterativo
– Familiriadade com comunidades e projetos de Open Source Software

Consultor/Analista de Infra-Estrutura

– Atuar com suporte à área de produção de TI
– Sólidos conhecimentos de ambientes Linux
– Sólidos conhecimentos em SQL
– Conhecimentos em Oracle e SQL Server para troubleshooting e análise de performance que cause impactos em aplicações
– Desenvolvimento e manutenção de shell scripts
– Sólidos conhecimentos em tópicos de redes TCP/IP, LAN, DNS
– Inglês para leitura e estudo de material técnico. Inglês para conversação é um plus.

Desejável:
– Conhecimentos de Active Directory e protocolo LDAP
– Conhecimentos de WebLogic Server
– Conhecimentos de IIS
– Espanhol para conversação
– Virtualização utilizando suíte VMWare


Curso de web services REST

maio 30, 2008

Atenção, este blog foi migrado para: http://brunopereira.org

Ontem na minha apresentação de REST no RioJUG um rapaz (infelizmente não sei o nome dele) me perguntou se eu conheço algum curso ou treinamento sobre REST.

Não conheço nenhum curso disso e não sei se teremos algum em breve. Na verdade, como o Guilherme comentou, existem muito poucos cursos de web services, mesmo os WS-*, que já são bem antigos.

Resolvi escrever esse post para tentar colher opiniões do pessoal quanto a um curso nesse assunto. Vocês se interessariam por um curso de REST? Será que esse curso teria muitos interessados ou a maioria dos desenvolvedores iria preferir a maneira autodidata mesmo? Para os que assistiram a alguma das minhas apresentações de REST, vocês acham que uma expansão do conteúdo com maior detalhamento e exemplos práticos bem explicados daria um bom curso?

A Concrete já ministra alguns treinamentos em produtos da BEA, então certamente haveria espaço para novos cursos de conteúdos interessantes. Eu gosto de fazer apresentações, mas nunca preparei um curso. Estou tentando participar de mais eventos, e também já pensei em atuar um pouco com treinamento técnico, mas ainda não me decidi sobre isso.

Opiniões são bem-vindas 🙂


Fotografia de um EJB 2.1

maio 29, 2008

Atenção, este blog foi migrado para: http://brunopereira.org

Fotógrafos muito talentosos conseguiram capturar uma imagem de um EJB 2.1:

EJB Stateful

O anúncio dessa fotografia foi feito no G1 e lá podemos ter maiores detalhes sobre esse EJB. Pela imagem, não restam dúvidas de que ele é bem Stateful.

No G1 o pessoal usou uma nomenclatura para leigos, e então chamaram esse EJB pelo seu nome fictício, de Rinoceronte Javanês.

As pessoas costumam fazer comentários maldosos sobre os EJBs, dizendo que eles são pesadões e com pouca agilidade. Este espécime nos comprova que isso não passa de intriga da oposição.

Infelizmente fui saber que os simpáticos Rinocerontes Javaneses estão em extinção, restando poucos exemplares no mundo. Talvez possamos contribuir com melhores condições de sobrevivência para os bichinhos, e darmos a eles mais alguns gigas de memória, a comidinha preferida deles. Não deixe esta espécie ser extinta, vida longa aos RInocerontes Javaneses!


Java Magazine 57

maio 27, 2008

Atenção, este blog foi migrado para: http://brunopereira.org

Já está nas bancas a edição 57 da Java Magazine. Nesta edição saem 2 artigos meus sobre o formato Atom.

O artigo maior apresenta o formato Atom e o seu protocolo de publicação, o AtomPub. Além desta apresentação, tentei indicar alguns pontos importantes que tornam interessante a sua adoção no desenvolvimento de serviços REST.

O artigo pequeno é no formato “Quick Update” da revista. Nele eu analiso a adoção do formato Atom em serviços REST e destaco os principais aspectos a serem considerados para se decidir pelo uso ou não do Atom.

O Atom e o AtomPub são muito interessantes, e mesmo que você não use diretamente o formato, tenho certeza de que ele te trará boas idéias para a implementação de serviços REST. Have fun!


Apresentação sobre REST no RioJUG

maio 19, 2008

Atenção, este blog foi migrado para: http://brunopereira.org

Caros amigos, na terça-feira dia 27/05 farei uma apresentação sobre web services REST no RioJUG.

Esta apresentação será semelhante à que fiz recentemente na Globo.com, mas acho que ficará um pouco melhor. Maiores informações sobre a apresentação podem ser vistas na página do grupo. Após a apresentação atualizarei este post colocando os slides.

Quem quiser/puder comparecer será muito bem-vindo 😉


Precisamos de um descritor de serviços REST?

maio 14, 2008

Atenção, este blog foi migrado para: http://brunopereira.org

Me perguntaram sobre isso na minha apresentação de REST na Globo.com e isso foi assunto de uma discussão interessante hoje no CEJUG. Como é um assunto que pode interessar a bastante gente e eu me interesso muito por web services, resolvi falar mais sobre isso aqui no blog.

Os web services WS-* possuem o WSDL (Web Services Description Language), um artefato amplamente aceito que descreve de forma padrão os serviços da aplicação. Ao especificar no WSDL quais são os schemas XML dos documentos que serão trocados e a cardinalidade precisa de cada elemento, conseguimos garantir que qualquer cliente que entenda o padrão estabelecido será capaz de interpretar os documentos e comunicar-se corretamente com os serviços. Além disto, a maturidade deste padrão traz a vantagem de que já existem geradores de clientes em várias linguagens a partir de um documento WSDL.

Entretanto, WSDL (bem como muita coisa em WS-*) é complexo. Um ser humano que tenha que analisar um WSDL grande perderá um bom tempo para entender o que está descrito no documento. Já REST não tem uma forma padrão de especificar os contratos dos serviços.

Embora a versão 2.0 da especificação WSDL permita descrever web services REST, os principais projetos open source da área como o Apache Abdera, Google Data API, Jersey e o Mule não utilizam esta forma de publicação. Não tenho conhecimento de nenhum projeto publicamente divulgado que faça uso do WSDL 2.0 para descrever serviços REST, e a adoção desta capacidade é baixíssima (se é que existe).

O projeto Jersey oferece opcionalmente o WADL, que é uma forma de descrever serviços REST. Confesso que ainda não olhei o WADL para ver se seria interessante usá-lo. Pelo que sei, entretanto, a adoção dele também é muito baixa.

Existe também o documento de serviços do AtomPub, que é bem interessante. Ele é um documento simples que lista quais são as coleções disponíveis e a localização das mesmas. O documento informa também quais são os MIME types aceitos em cada coleção.

Eu considero interessante que a aplicação ofereça uma interface simples de consulta dos serviços disponíveis. Não é obrigatório, mas quando a aplicação tem uma certa quantidade de clientes é bem legal ter isso para facilitar.

Em dois projetos que eu trabalhei, eu implementei um Servlet simples que listava todas as URIs disponíveis na aplicação, quais métodos HTTP são aceitos em cada uma das URIs e além disso um exemplo de XML manipulado em cada uma das URIs. Isso foi algo que eu achei bom o suficiente, e não tão custoso. Normalmente a documentação de verdade dos serviços fica em algum lugar como uma Wiki, ou uma página qualquer com a descrição detalhada de como interagir com os serviços.

A questão principal é que quando você segue as boas práticas de desenvolvimento REST, os seus serviços ficam muito mais claros para quem precisa se integrar. Por exemplo, eu trabalhei em um projeto crítico de integração com o Google esse ano. Tive que usar várias funcionalidades da Google Data API. A API deles é REST, e encapsula os dados com o formato Atom. Eles não oferecem nenhuma interface semelhante ao WSDL, eles simplesmente têm uma página com a documentação dos serviços.

Como eles seguiram as boas práticas de implementação REST, eu rapidamente aprendi a utilizar a API deles. Os protocolos de comunicação REST são bem semelhantes, e mais simples de entender do que qualquer coisa com WS-*. Pouco mais de 1 hora depois de olhar a documentação deles, eu já estava conseguindo me integrar com eles, com os primeiros exemplos.

O Guilherme fez uma observação interessante durante a discussão disso na minha apresentação no Tech Talk. Quando você segue as boas práticas e implementa um protocolo conciso e claro, de certa forma podemos dizer que a implementação se “auto-documenta”. É algo que podemos traçar um paralelo ao que acontece ao utilizarmos Domain Driven Design. Aproximando a linguagem do código do domínio de negócio, facilitamos a compreensão da aplicação por pessoas que nunca a tinham visto antes. Uma boa arquitetura de web services declarativos (REST) fica muito mais clara do que uma arquitetura de web services imperativos (WS-*). Isto acontece porque com REST o que fica em destaque são os Recursos (que representam conceitos claros do domínio), em vez de Operações.

É claro que as pessoas ainda terão que ler um pouco da documentação, mas como os conceitos em sua maioria já estarão “no sangue”, as dificuldades iniciais são menores do que com WS-*.

O Felipe Gaúcho comentou no CEJUG sobre a capacidade de gerar clientes automatizados com WSDL. Embora isso seja verdade, no meu ponto de vista isso é meio que um mito. Não conheço ninguém que faça integrações automatizadas sem depender de seres humanos. A motivação disso é clara. Integrações envolvem regras de negócio, e ninguém que eu conheço faz negócios automáticos, sem definir as regras 🙂

Existia o mito de que as aplicações “descobririam” serviços automaticamente com UDDI e se virariam para fazer as integrações, gerando os clientes automaticamente. Embora isso seja tecnicamente possível, na prática isso pra mim é uma viagem que serviria mais para desenvolvimento de inteligência artificial do que para web services propriamente 🙂

Embora esta precisão do WSDL seja um ponto positivo, eu tenho a convicção de que a clareza que temos ao usar REST supera e muito as vantagens de termos geradores de clientes automatizados. Quanto a WS-* x REST de uma maneira mais geral, tem uma frase que eu gosto de utilizar. WS-* é apenas overhead a não ser que você tenha informações relevantes nos seus cabeçalhos SOAP. Se você nunca se preocupou MUITO (veja bem, MUITO) com o que está indo nos seu cabeçalhos SOAP, provavelmente um protocolo REST seria mais interessante.

Tem uma opinião a respeito disso? Estou ansioso para conhecê-la! 🙂


HP compra EDS. Mas isso faz algum sentido?

maio 14, 2008

Atenção, este blog foi migrado para: http://brunopereira.org

Hoje foi anunciado que a HP está comprando a EDS. O valor divulgado da compra é de US$ 13.9 bi.

Li algumas notícias dizendo que este movimento da HP tem como objetivo fortalecer a empresa para competir com a IBM. Entretanto, tenho sérias dúvidas se isso terá sucesso. A HP tem muita força na venda de equipamentos, e também presta serviços de manutenção de infra-estrutura. Já a EDS é uma gigante na prestação de serviços de software, tanto na área de manutenção de infra-estrutura como no outsourcing de aplicações, e consultoria de uma maneira geral. Como algumas áreas das empresas claramente se sobrepõem, imagino que muitos empregos serão cortados.

A HP passará a ter uma estrutura gigantesca, mas ainda ficará atrás da IBM em termos de faturamento. Além disso, embora fortaleça a empresa na disputa com a IBM, não fortalece tanto. A IBM tem uma área enorme de produtos de software que a HP continuará não tendo. Será muito difícil para a HP ganhar espaço contra a IBM sem um braço de software forte. Principalmente na área de middleware, onde a IBM está muito forte. E além da IBM, a HP teria que brigar também contra a Oracle neste nicho, depois que ela comprou a BEA.

É bom lembrarmos que a HP não tem lá um bom histórico em compras. A aquisição da Compaq foi bem traumática e não teve custo-beneficio muito bom para a HP. O mercado americano também não reagiu bem a essa compra da EDS. As ações de ambas as empresas caíram razoavelmente, mostrando que a maioria das pessoas do mercado não achou este negócio uma boa idéia para as empresas.

Na minha opinião, a HP após esta compra ainda é uma empresa incompleta para competir com a IBM, Oracle e Sun. Antes dessa compra a HP não era tida como concorrente direta dessas empresas, mas agora ela é. Penso que para a HP ter realmente relevância nessa disputa, ela precisará de um braço forte de middleware, e uma boa pilha de software em geral.

Com o histórico que a empresa tem, duvido que ela se transforme nisso por conta própria. Na minha visão o que faz sentido é a HP comprar mais alguma(s) empresa(s), para conseguir complementar suas ofertas de serviços. Considerando a consolidação atual do mercado, acho que faria sentido que a HP comprasse a Red Hat, levando o JBoss de lambuja. Além disso seria interessante que eles contassem com algum servidor de BD na pilha, já que os concorrentes possuem isso (DB2, Oracle e MySql). Uma ótima opção seria comprar a EnterpriseDB, que oferece uma versão comercial do Postgres, o excepcional BD open source.

De todas as grandes aquisições que rolaram recentemente, esta da HP é a que menos faz sentido, pelo menos atualmente. Dependendo das ações que eles tomarem em seguida, esta compra pode ser uma boa jogada ou um episódio lamentável como a compra da Compaq. Torço para que a HP aumente seus já fortes vínculos com Linux e Open Source e compre a Red Hat para se apresentar firmemente como competidora de peso. E claro, continuo torcendo pelo sucesso do meu estimado Postgres 🙂


Cidade não é problema. Cidade é solução

maio 11, 2008

Atenção, este blog foi migrado para: http://brunopereira.org

Este fim de semana vi mais um vídeo muito interessante no TED. O vídeo em questão foi uma apresentação do Jaime Lerner, sobre como transformar e melhorar cidades. A frase título do post é de autoria dele.

Eu já conhecia o trabalho que o Jaime Lerner fez em Curitiba, mas sem tantos detalhes. Assistir à sua apresentação falando das idéias por trás dessa reestruturação da cidade foi muito interessante. Eu já falei anteriormente que estou muito desanimado com o Rio de Janeiro, e desejo morar em Curitiba no futuro de médio prazo.

Lerner falou de algumas coisas muito importantes na organização das cidades atualmente. A necessidade de um transporte público de qualidade é gritante. Curitiba conta com uma rede de transportes muito eficiente, com ônibus do tipo “sanfona”, que comportam mais de 200 passageiros. Além disso os pontos de ônibus foram projetados para se encaixar com os ônibus, fazendo com que os pontos sejam semelhantes a paradas de metrô. Isto certamente contribuiu para um trânsito muito mais eficiente do que temos no Rio de Janeiro e em São Paulo, e facilita muito a vida das pessoas. Além disso, reduz bastante a poluição, pela diminuição de carros em circulação.

Outra coisa interessante que ele mencionou foi o sacrifício que muitas pessoas têm que fazer nas grandes cidades por morar muito longe do local onde trabalham ou estudam. Isto toma muito tempo diariamente das pessoas e somando-se isso ao cansaço, não sobra tempo para muita coisa. Aqui no Rio conheço algumas pessoas que fazem verdadeiras maratonas diárias. O Aspira (estagiário da minha equipe) passa cerca de 6 horas por dia se deslocando, pois todos os dias vai para a faculdade, estágio e então para casa, e todos os trechos são longos. Isto é o tipo da aberração que ocorre bastante em cidades grandes com trânsito complicado, e certamente prejudica bastante as pessoas.

Para finalizar, ele comentou que Curitiba é a cidade onde mais se faz coleta seletiva de lixo no mundo, com mais de 70% do lixo sendo corretamente separado. Como ele conseguiu isso? Focando bastante atenção da campanha nas crianças, que logo aprendiam este novo processo e então educavam os seus pais. Muito inteligente e muito educativo.

Pouco depois de assistir à apresentação, fui descobrir que a idéia do “Metrô na superfície” no Rio surgiu em uma consultoria que ele prestou à cidade/estado em 2006. Sem dúvida é uma boa idéia e tem ajudado no controle do tráfego intenso que temos.

Os paranaenses tiveram a felicidade de contar com o Jaime Lerner como prefeito de Curitiba por 3 vezes e como governador do Paraná por 2 vezes. Sua contribuição para a evolução do estado foi enorme, e certamente a prosperidade oriunda do seu governo é responsável por fazer de Curitiba a cidade onde pretendo morar.

Infelizmente isso me traz também à cabeça uma lembrança triste. A incrível sucessão de administrações corruptas e incompetentes que temos no Rio nas últimas 2 décadas transformou nossa cidade querida em um lugar caótico. Um palco de batalhas sangrentas do crime contra a polícia. Um lugar onde a educação está em uma situação péssima (enquanto Curitiba é a melhor cidade do Brasil em educação). Um lugar onde a dengue está atacando com cada vez mais força. Onde já foi alertado que o mesmo mosquito trará também a febre amarela. Onde o trânsito está caótico e o custo imobiliário está absurdo.

Vamos torcer para que no futuro um milagre nos envie alguém como o Jaime Lerner para salvar o Rio de Janeiro. Enquanto isso eu continuo meus planos para me mudar para Curitiba, por onde ele já passou.