Posts de April, 2009

[Rafael Biriba] Ruby: Alternativas para require ‘rubygems’

Wednesday, April 29th, 2009

ruby-logo-justruby

Baseado no comentário de Guilherme Chapiewski encontrado em http://www.rafaelbiriba.com/2009/04/13/ruby-require-rubygems.html, resolvi postar alternativas para suprir essa necessidade do require ‘rubygems’ e porque é errado utilizá-lo !

Primeiramente, vamos para a pergunta que originou este post:
O que há de errado em utilizar require ‘rubygems’ no meu script ?

Bom, analisando o exemplo que eu dei no post do require rubygems, transcrito logo abaixo, onde se você quiser utilizar o pacote “hpricot”, instalado pelo comando gem install hpricot, o código não irá rodar, retornando um erro referente ao rubygems. Usando o require ‘rubygems’ o problema é resolvido, mas não está correto. O motivo é bem simples. Primeiro vamos ver o código em questão:

require 'hpricot' 
require 'open-uri' 
meuXml = Hpricot.XML(open("http://www.exemplo.com/exemplo.xml"))

Concordam comigo que o código acima, é uma simples aplicação em ruby ? O que eu quero dizer é que você pode instalar o hpricot de várias maneiras diferentes ! Por exemplo, acessando o link: http://wiki.github.com/why/hpricot/installing-hpricot, você pode observar que o Hpricot pode ser instalado sem o Rubygems. Sendo assim, ao usar o require “rubygems” em um máquina que não tem o rubygems instalado, vai dar problema na execução !

Então o que fazer se eu instalei o Hpricot pelo rubygems ? Simples…

Você pode facilmente rodar o seu script incluindo -rubygems na linha de comando, conforme o exemplo abaixo:

ruby -rubygems meu_script.rb

Isso fará rodar o pacote rubygems antes de executar sua aplicação meu_script.rb

Fonte: http://gist.github.com/54177

Bom, então é isso.

[Evandro Flores] Diversos times, mesmo projeto.

Sunday, April 26th, 2009

Estamos a alguns meses trabalhando em um grande projeto na globo.com, envolvendo diversos times Scrum. A maneira que estamos trabalhando se difere um pouco do que haviamos feito no passado quando existia a necessidade de escalar a entrega de um projeto e ainda não trabalhavamos com Scrum.
Impulsionado por isso, resolvi fazer o um dos meus trabalhos de mestrado abordando esse tema,  li alguns artigos que gostaria de compartilhar dois deles:
O primeiro Hyperproductivity In Large Projects Though Distributed Scrum fala de um projeto da SirsiDynix e StarSoft Development Labs envolvendo 56 desenvolvedores espalhados nos EUA, Canadá e Russia. Ele descreve algumas praticas essenciais para um projeto distribuído.

  1. Daily Scrum meetings of all developers from multiple sites.
  2. Daily meetings of Product Owner team.
  3. Hourly automated builds from one central repository.
  4. No distinction between developers at different sites on the same team.
  5. Seamless integration of XP practices like pair programming and aggressive refactoring with Scrum.

O segundo, Reaching Hyper-Productivity with Outsourced Development Teams do Jeff Sutherland e Guido Schoonheim fala do projeto Xebian e de algumas questões do projeto da SirsiDynix e da sua visão de como trabalhar nesse tipo de projeto.

O Jeff Sutherland fala de alguns pontos interessantes como o ScrumButts, “We are doing Scrum, but…”. Que é quando você faz Scrum, mas uma coisa ou outra você resolve não fazer, ou fazer de forma “diferente”, acredito que o maior erro daqueles que querem fazer Scrum, é não querer faze-lo integralmente, são justamente os pontos que não são tão simples de entender que fazem a diferença.
Outro ponto que ele levantou como falha no projeto da SirsiDynix foi “Builds were stable only at Sprint boundaries”, somente próximo ao fim da interação eles possuíam algo pronto para produção, além de uma cobertura ruim de testes. Builds diários, visíveis por todos os times envolvidos, e com uma excelente cobertura de testes são primordiais para o sucesso de um projeto com diversos times.

Se os times de sua empresa, trabalham em projetos grandes, mesmo não distribuídos em diversos países como no exemplo da SirsiDynix, aconselho a dar uma boa olhada nesses dois artigos.

[Evandro Flores] Diversos times, mesmo projeto.

Sunday, April 26th, 2009

Estamos a alguns meses trabalhando em um grande projeto na globo.com, envolvendo diversos times Scrum. A maneira que estamos trabalhando se difere um pouco do que haviamos feito no passado quando existia a necessidade de escalar a entrega de um projeto e ainda não trabalhavamos com Scrum.
Impulsionado por isso, resolvi fazer o um dos meus trabalhos de mestrado abordando esse tema,  li alguns artigos que gostaria de compartilhar dois deles:
O primeiro Hyperproductivity In Large Projects Though Distributed Scrum fala de um projeto da SirsiDynix e StarSoft Development Labs envolvendo 56 desenvolvedores espalhados nos EUA, Canadá e Russia. Ele descreve algumas praticas essenciais para um projeto distribuído.

  1. Daily Scrum meetings of all developers from multiple sites.
  2. Daily meetings of Product Owner team.
  3. Hourly automated builds from one central repository.
  4. No distinction between developers at different sites on the same team.
  5. Seamless integration of XP practices like pair programming and aggressive refactoring with Scrum.

O segundo, Reaching Hyper-Productivity with Outsourced Development Teams do Jeff Sutherland e Guido Schoonheim fala do projeto Xebian e de algumas questões do projeto da SirsiDynix e da sua visão de como trabalhar nesse tipo de projeto.

O Jeff Sutherland fala de alguns pontos interessantes como o ScrumButts, “We are doing Scrum, but…”. Que é quando você faz Scrum, mas uma coisa ou outra você resolve não fazer, ou fazer de forma “diferente”, acredito que o maior erro daqueles que querem fazer Scrum, é não querer faze-lo integralmente, são justamente os pontos que não são tão simples de entender que fazem a diferença.
Outro ponto que ele levantou como falha no projeto da SirsiDynix foi “Builds were stable only at Sprint boundaries”, somente próximo ao fim da interação eles possuíam algo pronto para produção, além de uma cobertura ruim de testes. Builds diários, visíveis por todos os times envolvidos, e com uma excelente cobertura de testes são primordiais para o sucesso de um projeto com diversos times.

Se os times de sua empresa, trabalham em projetos grandes, mesmo não distribuídos em diversos países como no exemplo da SirsiDynix, aconselho a dar uma boa olhada nesses dois artigos.

[Rafael Biriba] Ubuntu: Não foi possível resolver ‘br.archive.ubuntu.com’

Sunday, April 26th, 2009

ubuntu-splash-brownBom, hoje a tarde instalei o Ubuntu 9.04 no computador de casa. Como de costume, fui rodar os comandos do aptitude no terminal ( aptitude update e aptitude upgrade ), porém ainda no update, recebi vários erros. Alguns deles seguem logo abaixo: ( Foram mais de 10 )

Err http://br.archive.ubuntu.com jaunty Release.gpg
Não foi possível resolver ‘br.archive.ubuntu.com’
Err http://br.archive.ubuntu.com jaunty/main Translation-pt_BR
Não foi possível resolver ‘br.archive.ubuntu.com’
Err http://br.archive.ubuntu.com jaunty/restricted Translation-pt_BR

Foi então que eu resolvi tentar descobrir o que estava acontecendo.
Bom, pesquisei em vários forums a tarde toda, testei algumas das soluções e por fim consegui chegar a alguma conclusão.

Uma das recomendações foi alterar o repositório para o principal, no lugar do brasileiro.
Para fazer isto, basta entrar em SISTEMA > ADMINISTRAÇÃO > CANAIS DE SOFTWARE
Altere a opção BAIXAR DE: Servidor no Brasil para Servidor Principal
Em seguida, execute o aptitude update novamente.

Na verdade, pelo que pude analisar, isso não foi uma solução e sim uma camuflagem. Diferentemente da opção Servidor no Brasil, que retornou diversos erros ao tentar baixar os pacotes, com a opção Servidor Principal, os mesmo pacotes que davam erros, agora apenas são ignorados.

Agora vem a parte que ninguém esperava… Algumas horas depois, alterei o repositório para Servidor no Brasil, e ao rodar o update novamente, os pacotes que antes davam erro, foram baixados corretamente…

O porque disso ? Será que o fato de ter trocado o repositório tem alguma coisa haver ?
Bom, na verdade não. Fiquei com tanta curiosidade, que tive que instalar Ubuntu novamente, desde do zero. E para surpresa de todos, sem alterar qualquer configuração, os pacotes foram baixados normalmente sem nenhum erro.

Agora fica a pergunta no ar: O que realmente aconteceu ?
Minha opnião: Simples, a unica exlicação lógica para isso ( palpite ) foi: os pacotes que deram erro estavam em manutenção, ou sendo atualizados nos repositórios. Isso explica porque o mesmo pacote não foi baixado nos dois repositórios que tentei inicialmente, pois todos eles estavam indisponíveis temporariamente para download.

Portanto, se você passar pelo mesmo problema, fique calmo e espere algum tempo e logo conseguirá conectar ao repositório !

[Rodolfo Carvalho] FLISOL 2009

Sunday, April 26th, 2009

Terminada a versão 2009 do FLISOL, tenho algumas fotos para compartilhar.
Mas não são fotos do evento principal, e sim da reunião da PythonRio, que rolou em paralelo ao evento na UERJ, na tarde do último sábado.

Discutimos sobre algumas ações como a criação de uma ementa “padrão” para cursos de Python que eventualmente venhamos criar, e como tornar estes cursos uma realidade muito em breve.
Falamos do nosso evento PythonRio, e sobre o Python Campus (evento “ambulante” nas universidades divulgando e fomentando o uso da linguagem).

Por fim, tratamos de nossa ida ao FISL, e como será a logística do grupo.

[Rodolfo Carvalho] Coding Dojo #13

Sunday, April 26th, 2009

Na última quarta tivemos mais um Coding Dojo muito produtivo. Desta vez com direito a fotos!

Não vou escrever os detalhes aqui, pois já está tudo no post do Blog Oficial do Coding Dojo Rio.

[Rafael Biriba] Ubuntu: 9.04 disponível para download !

Thursday, April 23rd, 2009
http://www.ubuntu.com/

http://www.ubuntu.com/

Um dos diferenciais encontrados nessa versão,  é o Ubuntu 9.04 Netbook Remix. Desenvolvido para Notebooks de tela pequena e com pouco desempenho, este pacote pode solucionar o problema de muita gente. Veja os requisitos mínimos:

  • A 1GB USB flash drive (aka thumb drive)
  • An Intel Atom processor
  • At least 384MB of RAM

Como podem ver, é necessário pouco espaço e um memória mínima para rodar esta versão !
Disponível em: http://www.ubuntu.com/getubuntu/download-netbook

Características da nova versão ( em inglês ): http://www.ubuntu.com/products/whatisubuntu/904features

Download para desktop, server ou notebook: http://www.ubuntu.com/getubuntu/download

Bom, eu já postei isso anteriormente, mas resolvi publicar novamente para dar ênfase ! Não é necessário baixar o CD do 9.04 para atualizar seu Ubuntu. Você pode fazê-lo seguindo o procedimento abaixo, sem a necessidade de reinstalar seu sistema operacional.

Recomendo que você faça o Backup de todos os seus dados antes de fazer a atualização, para evitar qualquer tipo de problema. Mas eu atualizei, e ocorreu tudo certo, o sistema novo é excelente e não houve nenhum erro durante o processo.

Atualizando seu Ubuntu de 8.10 para 9.04

Acessando o terminal ( geralment ALT+F2 ), digite:

update-manager -d

Isso fará com que o Gerenciador de Atualizações abra, exibindo a seguinte informação: Nova versão da distribuição ‘9.04′ está disponível

Basta apertar atualizar e iniciar o processo de atualização. Abaixo segue uma figura de exemplo:

atualizacao904ubuntu

[Rafael Biriba] Ubuntu: Vem por aí a versão 9.04

Wednesday, April 22nd, 2009

masthead-cds Para quem ainda não foi informado sobre o assunto, vem por aí a versão 9.04 do Ubuntu !

De acordo com o site oficial, o lançamento será no dia 23/04/2009 !

Já existem diversas versões de teste, há algum tempo, mas como o lançamento já está bem próximo, melhor aguardar a versão final !

Algumas alterações na nova versão:

  • Brasero: Programa para gravar CDs e DVDs agora é padrão do Nautilus
  • Aprimorado o painel de configuração para múltiplo monitores.
  • O mais esperado por todos: Performance melhorada na inicialização do sistema ( Boot mais rápido )
  • X.Org server 1.6: Suporte a mais placas de vídeo com performance melhorada
  • Atualização no kernel

Mais informações: http://www.ubuntu.com/getubuntu/releasenotes/904overview

ubuntu904commingsoonAtualizando seu Ubuntu de 8.10 para 9.04

Acessando o terminal ( geralment ALT+F2 ), digite:

update-manager -d

Isso fará com que o Gerenciador de Atualizações abra, exibindo a seguinte informação: Nova versão da distribuição ‘9.04′ está disponível

Basta apertar atualizar e iniciar o processo de atualização. Abaixo segue uma figura de exemplo:

atualizacao904ubuntuBom, mesmo ainda não finalizada, vou estar atualizando para 9.04 ainda hoje, então, depois eu posto alguma coisa mais específico sobre a nova versão !

[Igor Macaubas] Meu lema: There is no progress without change

Tuesday, April 21st, 2009

Lema, ou Motto (em inglês), “é uma ideia expressa por uma frase que serve de guia ou de motivação para uma pessoa [...] condensam valores comuns que justificam uma ação comum” (definição completa da Wikipedia).

Sempre admirei pessoas que pregam e realmente seguem seus lemas. Boris Gloger e o seu famoso In SCRUM we trust, claramente inspirado no lema que está impresso no dólar americano – In god we trust. Tem também aqueles lemas “genéricos”, como o do filme Sociedade dos poetas mortos – Carpe diem, ou Aproveite o dia.

Ao meu ver, um lema ou mote não precisa ser original. A maioria dos lemas que já vi são simples reciclagens ou reescritas de lemas mais antigos. O que é importante no lema é que ele traduza a sua motivação, e condensem os seus valores.

Até então, meu sentimento em relação a um lema era esse: admiração. Até que estava lendo uma reportagem sobre a eleição do Barack Obama (coisa antiga) quando vi um cara segurando um cartaz com os seguintes dizeres:

There is no progress without change.

Nesse momento, tive uma epifania. Foi como uma lâmpada se acendendo na minha cabeça. Era exatamente isso que eu estava procurando!

Não é um lema original, pois não sou o autor, mas acredito que a frase traduz muito bem os meus valores e se conecta muito bem com os valores do trabalho que desenvolvo com métodos ágeis e Scrum. Não a mudança burra, mudar por mudar, mas a mudança atrelada ao conceito do progresso, da melhoria contínua. Por isso mudei o título desse blog. Esse é o meu lema! Qual é o seu?

[Rodolfo Carvalho] Planeta Globo.com

Tuesday, April 21st, 2009

Há muuuuito tempo o Meyer deu uma idéia da fazer uma coisa que eu também sempre quis fazer mas nunca arrumava um tempo. Mas agora foi. Acabo de criar para nós o Planeta Globo.com: http://planeta-globo.com/

A idéia é criar um agregador de todos os blogs pessoais da galera que trabalha na Globo.com. Já tivemos uma experiência de criar um blog corporativo [...], mas acabou ficando um pouco abandonado porque as pessoas não gostaram de ter que blogar em dois lugares diferentes (eu inclusive). Então, a idéia do Planeta é que todos os posts que nós escrevermos em nossos blogs pessoais vão automaticamente para lá sem dar trabalho adicional. [...]

Outra coisa importante é que a idéia principal é falar sobre coisas técnicas que fazemos na Globo.com (desenvolvimento de software, desenvolvimento client-side, user experience, design, arquitetura de inf., administração de sistemas, etc.). [...] A idéia é que o Planeta seja um blog técnico sobre coisas envolvidas no processo de criação de produtos para Internet.

Guilherme Chapiewski, em 11 de Abril, 2009

E foi assim que o GC introduziu a idéia do Planeta Globo.com! Agora todos podem acompanhar os diversos blogs do pessoal da globo.com, tudo agregado em planeta-globo.com!

E o LifeAtMyMind está presente lá/aqui, apenas com posts selecionados por relevância.