Archive for October, 2005

Querido Reverendo…

Monday, October 24th, 2005

Sim, eu escrevi Reverendo ao invés de Referendo. É uma piada. Ria.

Bom, dia emocionante. Acordei de ressaca e fui ficar no meu posto de mesário. Eu falei isso ano passado, nem ligo de ficar lá, é tão diferente do meu dia a dia que é interessante. É bom para lidar com pessoas, exercitar sua paciência pra aguentar discursos sem sentido e pessoas idiotas, sua humildade em servir as pessoas simples… mas esse referendo foi a piada do ano.

Um tema idiota, dois discursos idiotas e nada muda. Eu não vou falar sobre isso aqui, mas enfim, não achei legal. E por mais que eu não ligue de ser mesário, essa poítica do TRE de arrumar voluntários aleatórios e eternos é ridícula. O trabalho na eleição é tão idiota que um macaco vendado faz fácil fácil. Deveria trocar a cada eleição, tem tanta gente aí que não faz nada da vida. O complicado é alguém sair de Botafogo pra ir em TRE de Niterói no meio do expediente…

Nada marcante. Apenas um dia gasto morrendo de calor numa escola pública depredada (eu estudei mais da metade da minha vida escolar em escola pública, mas aquela ali estava terrível. Claro que Dona Garotinha deve arrumá-la ano que vem, sabe como é. Tem eleição de verdade).

Bo, pra não ser um post inútil, feliz aniversário pra Tatiana, minha namorida linda :D

PHP Wins…

Sunday, October 23rd, 2005

Não me considero uma pessoa inexperiente em Java. Já fiz um número razoáveld e sistemas complexos, e a grande maioria tinha interfaces web com JSP, JSTL, Struts, Tiles, Mentawai, Velocity e o diabo.

E mesmo assim fiquei um ano atrás de uma ferramenta de bliki/wiki que fosse fácil de isntalar para este site. Não resisti, caí no PHP.

Ainda há muito que se fazer em Java EE para que aplicações web Java tenham a facilidade de uma aplicação PHP/ASP clássico/CGI. Não, não estou falando em escalabilidade, transações, concorrência, segurança…e stou falando que eu quero colocar um sisteminha de edição eletrônica no ar sem perder meus poucos fios de cabelo corrigindo configurações.

Quando eu programava em ASP (sim, eu programava em ASP) numa emrpesa pequena, a gente estava semrpe preocupado com a “portabilidade” do código. Não portabilidade de Sistema Operacional (nunca levei o Chilli ASP a sério) mas sim de servidor. Muitas vezes colocar um componente COM era impossível, então produzíamos sistemas grandes baseados apenas em scripts.

Claro que era uma porcaria, claro que não escalava, claro que a manutenção era uma droga, ams era fácil de instalar. A impressão que eu tenho hoje com aplicações web em java é que elas são criadas para servidores dedicados ultra-mega-power.

Eu sou um cara sem grana pra um servidor dedicado que aluga espaço num provedor. Meu provedor me dá um suporte legal, até SSH tenho pro meu servidorzinho. Acontece que eu quero rodar algumas aplicações neste site, não apenas uma. Eu quero rodar um blog, um wiki, um bliki…

A menos que eu use algo que abranja tudo isso m um só, como o SnipSnap (que é muito bom, mas para usar o que vem com Jetty. O empacotado em war só dá problema) é muito complicado juntar estes aplicativos em java. Se você considerar que não tenho muita liberdade no container web do servidor então…piorou.

Essa é uma das coisas que java precisa vencer para se manter no topo. Mas sabe o que eu acho? Isso não vaia contecer. O grande alvo das aplicações Java hhoje é o mercado coorporativo. Deixa os blogueiros com PHP. Claro que isso é horrível, mas é assim que as coisas t~em andado nesse mundinho Java.

Então, empolgado com a nota alta que tirei em PHP este semestre (mesmo sem saber programar em PHP) e com a ajuda dos amigos eu comecei com o WordPress aqui (seguindo os passos do CêVê, Meyer, Diego e Zé Oliveira), que é um software muito legal, e agora inauguro a nova parte do site. Também em PHP.

Vocês devem elmbrar dos artigos que eu escrevo ocasionalmente. Bem, é muitotrabalhoso manter estes artigos (além do fato da anta aqui ter deletado o diretório dos PDFs no servidor), então quis mantê-los num formato que fosse mais fácil para editá-los. Minha idéia é utilizar uma engine de Wiki, e por isso eu instalei no fragmental o MediaWiki, mesmo software utilizado plea Wikipedia.

Para testar, eu coloquei lá o Contratos Nulos. Quem puder dar uma lida, comparar com o PDF e me mandar feedback, fico eternamente grato ;)

É um trabalho começando agora, sejam pacientes.

O endereço do Wiki é:

http://www.fragmental.com.br/wiki

ToDo List

Wednesday, October 19th, 2005

Não, apesar da minha fase Ruby não vou falar do ta-da list hoje. Ou pelo menos não é o assunto principal :)

O Gabriel (sim, aquele mesmo) me mostrou há algum tempo atrás o ToDo List. Com o tempo tenho usado bastante, já que sou desorganizado por natureza. Faço um quase que diário das minhas atividades em cima de cada tarefa, segue bem.

Com ele você pode aplicar aquela técnica de estimativas que o Joel ensinou outro dia.

As versões mais novas corrigiram algumas falhas, mas dois grandes problemas persistem:

  • Windows apenas (MFC sucks)
  • Falta uma integração com a web decente

Estou pensando em implementar algo parecido. Provavelmente vai ser o projeto que vou usar para aprender a utilizar Rails de verdade, não só exemplos (já que para Ruby -a linguagem- estou usando outro tema, mais detalhes em breve!). Já existe além do ToDo list toda a suíte de organização da 32signals em Rails, mas eles não são livres, apesar de possuírem versões pessoais gratuitas e preços relativamente baixos.

De qualquer jeito, fica a dica do toDo list como tema deste post. Melhor que uma agenda, muito leve e pequeno, salva dados em formato XML nativamente, tem plugins, usa o dicionário do openOffice…

Sample

Pré-GUR

Tuesday, October 18th, 2005

Enquanto não temos um RUG estruturado, criei duas listas de discussão: RubyBrasil e RailsBrasil.

Desde que tive Internet em casa pela primeira vez sempre utilizei listas de discussão como forma de adquirir conhecimento, estava sentindo falta de uma de Ruby (entrei em outras, mas a frequência de mensagens é baixa).

Além do Java

Tuesday, October 18th, 2005

Pegando emprestado o título do antigo blgo da Bani, vamos comentar novamente aqui o meu atual comportamento subversivo.

Quem lê este blog já sabe que ando tendo uma queda por Ruby. O problema é que não é uma linguagem do tipo perl, que você nem se lembra como aprendeu mas sabe usar. Ruby é uma linguagem muito legal, mas com características que já existem em outras:

  • Totalmente OO
  • Closures
  • Altamente Dinâmica
  • Tratamento de Exceções
  • Gerenciamento Automático de Memória
  • Tipagem dinâmica
  • Portável
  • Suporte à RegExp

Mas seus méritos não acabam aí. Neste ponto, podemos comparar Ruby e Python claramente. O grande diferencial é que Ruby surge num momento todo especial.

Java está a dez anos no mercado, e há bastante tempo como soberana das plataformas de desenvolvimento. Saber Java é ter emprego. Mas Java está sofrendo com seu próprio peso.

Antigamente você gostava de usar Java porque era simples ter uma aplicaçãozinha rodando, bastava você escrever um applet, muito mais fácil que mexer com MFC (não confundir com MVC :P). Hoje em dia, fazer qualquer coisa em Java é complexo.

A plataforma cresceu demais, a complexidade aumentou. Eu tenho certeza que por muitos anos vamos programar em Java, e que esta será a única opção real apra muitos por mais tempo ainda, mas não podemos deixar de olhar para o lado. Você conhece o Rails?

Ruby on Rails é um framework que permite fazer aplicações em web Ruby com altíssima qualidade num tempo menor que seu estagiário faz telas em Visual Basic (ok, somos brasileiros e não desistimos nunca, Delphi). Dê uma olhada no infame videozinho (15 minutos não vão te matar).

Sim, Rails serve para aplicações web, não apra todo tipo de aplicação que fazemos em Java EE hoje mas… quantas das aplicações feitas em java EE não são apenas sitezinhos?

Para mim, o poder está na união. O projeto jRuby é uma implementação das versões mais recentes de Ruby (1.8.x) para a JVM (existe também o Jython, para -duh!- Python). Isso é uma estratégia Microsoft? Quase. A Microsoft começou do zero, ela não tinha a estrutura que Java tem hoje, e nem o apoio da comundiade de Software Livre.

Java tem a plataforma pronta. Podemos manter o que é intrinsicamente complexo mas resolver o que é simples de forma simples. Aí entra o Rails.

Gerência automática de memória, portabilidade, tipagem dinâmica, polimorfismo, integração entre linguagens… isso veio apra ficar. Hoje temos uma JVM, mas em breve isso vai estar disponível já no Sistema Operacional, creio. E não há tamanho único em linguagens de programação, do contrário teríamos parado em Assembly. No Golden Hammers here. Aliás, bela analogia…

Se você só tem um martelo, tudo parece prego. Se você tem Java EE, parece que tudo é do jeito Java EE (o que significa hoje um milhão de arquivos XML, três containers diferentes e algumas rezadeiras de plantão 24/7).

Como podem perceber, estou altamente influenciado pelas idéias de Bruce Tate. Para quem não sabe, este semrpe foi um dso advogados do Java lightweight, seu livro Better, Faster, Lighter Java é obrigatório. A Amazon acaba de entregar meu Beyond Java e eu li os dois primeiros capítulos durante minha aula dessa noite.


Beyond Java

Junto com esse livro, comprei outros dois. Referências de Ruby e Rails.


Ruby Book


A plataforma Java vêm mudando para se tornar mais simples, mas mesmo o JCP/Sun já sabem que não adianta mantêr apenas uma linguagem, um jeito de fazer as coisas. Como eu disse no outro post, a mensagem é simples: o mundo está mudando novamente. Saia da zona de conforto. Quando digo isso não estou falando mais com você, leitor, do que comigo mesmo. Com três anos desenvolvendo quase que exclusivamente Java, lendo tudo quanto é livro que podia alcançar sobre as características mais bizarras da plataforma, participando ativamente da comunidade, é muito difícil se mexer, mas eu estou tentando olhar em volta. É estranho, mas não é ruim ;)

Update: Via TSS: IT Observer: A Glimpse at the Future of Programming Languages O’Reilly Releases “Beyond Java”

When a dominant language or technology is in its prime, there’s a blissful ignorance stage. This is the stage when, according to Bruce Tate, ignoring alternatives works in your favor. “When a new language arrives with the power and dominance of a Java or C++, you can afford to ignore alternatives for awhile,” says Tate. “But if you don’t accurately identify the end of the cycles, you can get steamrolled.” He points out that suddenly the competition will have the jump on you, with much better productivity leading to better quality and more customers. “When you enter the transition time,” Tate cautions, “you’d better start paying attention.”

Gracias Leo Gomes ;)

IBM, Rational e Eclipse

Monday, October 17th, 2005

Como tá no GUJ, o anúncio oficial dá algumas pistas do objetivo da BigBlue.

Today’s software development organizations are increasingly global in nature and operate in a fluid environment where new teams are formed frequently and developers are often shifted among teams as needs dictate. They must deliver quality applications that meet business goals, satisfy customers and adhere to time and budget requirements.

But a lack of standards in core development activities such as requirements setting, analysis and design, testing and project management has increased time and overhead as organizations continually reproduce the myriad processes, plans and compliance documents that are fundamental to software development. Best practices often remain siloed within an individual team or company.

Não sei se eu passei tempo demais lendo Peopleware, mas isso me parece uma desculpa esfarrapada. Primeiro porque ja existe um processo “livre”, O Unified Process. Não por coincidencia, a pagina do UP na Wikipedia redireciona para a de RUP. Estaria a IBM devolvendo à comunidade uma escolha? Haveriam duas implementações de UP apoiadas pela IBM, Eclipse e RUP? Como Websphere e Geronimo?

Depois, porque quem faz um sistema não são processos, mas pessoas. Essa história toda de esconder pessoas mal preparas, sem treinamento, trabalhando acima do tempo esperado, com prazos irreais, em ambientes inumanos atrás de uma cartilha de processos (sejam cinco mil regras escritas em pedra ou cinco palavras vindas de um diretor) é balela. Cada vez mais as empresas acabam por investir em RUPs, UPs, CMMIs, FPs e XPs da vida e esquecem do desgraçado que acorda todo dia cedo e senta na máquina, saindo só a hora que o corpo não aguentar mais.

Terceiro, mas não menos impotante, porque o RUP é altamente baseado na suite de ferramentas Rational. Ganho de graça os processos, mas preciso comprar o Rational XDE?

Vamos e venhamos, é um senhor marketing para a IBM. Ela vai fazer do RUP o que faz com o WSAD: “Olha, temos aqui essa plataforma e construímos o WSAD colocando plugins nela. Se você quiser pode usar sem os plugins, nós recomendamos que não faça isso, mas é sua escolha. Se tem outros plugins de outros fabricantes? Bem… er… já te dei um desses lindos squeezes? E a canetinha-lanterna? CD do DB2?’. Fora que assim evitam que empresas caiam para as metodologias ágeis por serem mais barata em implantação (gestores medíocres não conseguem enxergar mais que alguns meses, eles sabem que podem ser descobertos como medíocres a qualquer momento e ter que fazer uma “retirada estratégica”).

Acontece que a Plataforma Eclipse é muito boa por si só. Recentemente tive que implementar um plugin para ela de verdade (das outras vezes eram apenas hello worlds) e vi que apesar de ter pouca documentação e uma curva de aprendizado monstruosa, não é tão difícil depois que se pega o jeito (thanks louds). Muita coisa é construída sobre ela, uma grande empresa que conheço está migrando toda a sua arquitetura de GUI para dentro do Eclipse.

E o RUP? Sem dúvida algumas empresas vão investir no Eclipse Proces Framework, mas será que quem dá gás à plataforma Eclipse se interessa por processos tidos como engessados? Quantas empresas que adotam o RUP colaboram com Software Livre continuamente?

Eu tenho minhas mágoas com waterfall (e quem não tem?), mas eu ainda preferiria qualquer metodologia engessada que pudesse ser adquirida com meia dúzia de livros ou seminários do que uma que você tenha que comprar o grande produto IBM.

Adeus Blogger!

Monday, October 17th, 2005

Pois eh, com ajuda novamente do Diego consegui seguir os passos deste link e importar meus posts do blogger. Eh o fim.

Os artigos aidna estao fora do ar, acabeid eletando-os e preciso regerar os PDFs. Paciencia, please.

Enfim Algo Novo

Sunday, October 16th, 2005

Apos algumas horas lutando com PHP, provedor, Apache, MySQL e alguns aliens, com a ajuda do Diego, saiu uma pequena mudança neste blog.

Por mais que eu odeie a linguagem PHP, tenho que adimitir que a culpa e exclusivamente minha. O WordPress eh um milhao de vezes mais facil de instalar que qualquer coisa com funcionalidades parecidas em Java, eu que sou burro mesmo.

Bom, a partir de hoje o endereço oficial do blog e: http://www.fragmental.com.br/blog. A “marca” Fragmental em si vai servir para outras coisas tambem, e o blog passa a ser um espaço deste site. Enquanto o site nao entra no ar, http://www.fragmental.com.br fica redirecionando pra ca.

O Blogger semrpe foi bem legal, e o conteudo antigo continua la (quero migrar quando tiver tempo, isso pode demorar…), mas rpecisava de algo mais ao meu controle. Bom, e isso por enquanto. Vamos ver como o WordPress se comporta, ou melhor: vamos ver se eu nao destruo o WordPress.

O Russo da Califórnia

Thursday, October 13th, 2005

Teve reunião no RioJUG semana passada. Pra variar uma figura notável ganhou a assinatura de revista.

Nunca havia visto ele na reunião, e logo percebi porque. Yuri é Russo, mora na Califórnia há dez anos, aprendeu português (muito razoável) semestre passado, está tirando seu Phd em Berkley e está na UFRJ trabalhando em sua pesquisa.

E qual o campo dele? ERPs? Sistema flaxíveis? Integração? Não, Sociologia.

O campo de estudo do Yuri é como os engenheiros e técnicos de TI adquirem informação. Realmente, um campo muito interessante.

Veja a nós mesmos. Pessoas que ganham acima da média nacional e precisam se atualizar constantemente. Um ramo cheio de crenças e convicções, quase que uma religião, e vivendo eventuais guerras santas. Temos hippies, suits, quem só quer ganhar dinheiro e voltar pra casa, filantropos, líderes… tudo isso dentro de um ambiente altamente coorporativo. Temos doutores e molequees conversando de igual para igual (por menos que os doutores admitam isso). Em alguma madrugada, qualquer um pode entrar no quarto, virar a noite programando e mudar o mundo da tecnologia com algum conceito novo.

Não pude ficar muito tempo lá, mas vou pegar o e-mail dele e pedir que me inclua na lista de distribuição de uma publicação neste tema.

Chega

Wednesday, October 12th, 2005

de referendo pra mim. Eu voto no sim, mas to cansado de ver argumentos idiotas por todos os lados. ja nao discuto mais, ja nao debato mais.

A conversa agora eh na base do hoax. TV globo isso, veja aquilo, por favor. A globo apoia o sim, a veja apoia o nao. Duas entidades classicas de midia manipuladora comprada, mas quem ta de um lado soh sabe acusar o outro.

Soh quero que isso acabe logo porque tenho certeza que nao vai mudar nada. O que me da medo sao as pessoas que falam tanta besteira e acreditam em cada coisa ridicula saindo armadas por ai. Esse referendo so teve uma finalidade: mostrar que a sociedade eh manipulavel e naoe sta pronta para votar em algo assim. Esqueçam este papo de democracia, quem usa HOAX e FUD para defender um direito nao merece votar ou dirigir.

A unica coisa que realmente vai me afetar deste referendo eh o fato de ser mesario. O resto, dane-se. Cansei dessas discussoes idiotas.

Update pra variar, Mauricio Ricardo arrebenta.