Aqui vou replicar os posts do meu blog em http://ecosol.noosfero.com.br/joenio


Deixando o bash um pouco mais amigável

July 29, 2010, by Joenio Costa - No comments yet

Terminal

Sempre utilizei o bash como shell padrão, mas pelo pouco tempo que utilizei o fish me acostumei com um recurso que me faz falta no bash: O histórico.

Fui buscar uma forma de melhorar o histórico do bash e encontrei uma dica muito fácil para aumentar o tamanho dele. Basta adicionar as linhas abaixo ao seu .bashrc para aumentar o histórco de 500 (padrão) para 5000:

export HISTSIZE=5000
export HISTFILESIZE=$HISTSIZE

Continuei lendo a documentação do bash e descobri mais algumas configurações interessantes para ele (na verdade para o readline), basta adicionar ao arquivo .inputrc as linhas abaixo:

set completion-ignore-case on

Para ignorar maiúsculas e minúsculas ao completar.

set match-hidden-files off

Para ignorar arquivos ocultos ao completar nomes de arquivos e diretórios.



4 meses sem comer carne

May 31, 2010, by Joenio Costa - No comments yet

Beef Chart por flomar disponível em Open ClipArt Library

Não é tanto tempo assim mas é tempo suficiente pra eu assumir que consegui parar de comer carne*. Vou descrever minha experiência sobre como parei e quais foram minhas principais motivações.

Motivações

1) Benefícios a minha saúde

A saúde está diretamente relacionada a alimentação. Se eu como muita porcaria é certo que num futuro (talvez próximo, talvez distante) irei colher os frutos desta má alimentação. O consumo de carne está relacionado a vários problemas de saúde e por isto eu resolvi parar. Em 21 Motivos Para Ser Vegetariano o autor diz:

"16- As seguintes doenças são comuns em comedores de  carne: anemias, apendicite, artrite, câncer de mama, câncer de cólon,  câncer de próstata, prisão de ventre, diabetes, pedras na vesícula, gota, pressão alta, indigestão, obesidade, varizes. Vegetarianos há longo tempo visitam hospitais 22% menos que carnívoros e por pouco tempo. Vegetarianos têm 20% menos colesterol que carnívoros  e isso reduz consideravelmente ataques cardíacos e câncer ."

2) Atrocidades cometidas contra os animais

Na produção de carne e produtos alimentícios a base de animais são cometidos atrocidades que agente não vê na TV. É impressionante como os animais são tratados e como se chegou a esse ponto.

Além das conversas com Humberto Júnior e Aurélio Heckert sobre este tema bastou eu assistir ao documentário A Carne É Fraca para ficar convencido.

Como parei

Sempre pensei que seria necessário, antes de parar de comer carne, enriquecer minha dieta com bastante vegetal, verdura, e essas coisas saudáveis que eu nunca dei muita bola. Mas ao ler um pouco sobre o assunto vi que não é necessário ter uma dieta tão perfeita assim, a carne não tem tantos benefícios nutricionais quanto eu pensava e tirar ela da minha dieta não iria causar nenhum prejuízo. A maioria das coisas que li estão linkadas no blog do Aurium que fez um ótimo resumo sobre Vegetarianismo citando várias fontes interessantes.

Foi assim que em Fevereiro/2010 tomei a decisão de parar de comer carne*, cortei completamente a carne e seus derivados e tenho vivido muito bem até aqui sem sofrer nenhum trauma.

Benefícios percebidos

Ainda não tenho resultados práticos em relação a minha saúde mas uma coisa mudou imediatamente: passei a me preocupar mais com o que como no dia-a-dia e procuro fazer uma alimentação mais saudável e balanceada.

Pretendo ir a um médico nos próximos meses fazer uma bateria de exames para verificar se estou com carência de alguma vitamina, mineral ou qualquer outra coisa, provavelmente irei postar aqui os resultados.

* Ainda continuo comendo peixe, alguns acham que não é carne mas é! Porque não paro de comer peixe também? Ah, porque eu não quero.



Novamente, problemas com Cucumber e Selenium

May 6, 2010, by Joenio Costa - No comments yet

Mais uma vez a dupla Cucumber e Selenium deu problema:

joenio@case ~/s/noosfero> cucumber -p selenium features/edit_block_of_links.feature 
Using the selenium profile...
Feature: edit_block_of_links
  As a profile owner
  I want to edit a block of links

  Background:                           # features/edit_block_of_links.feature:5
==> Waiting for Selenium RC server on port 4444... 

==> Failed to boot the Selenium RC server... exiting!

Aparentemente o selenium-server não incia corretamente, desconfiei do Java, removi e reinstalei todos os pacotes referente a ele mas não resolveu.

Executei o selenium-server "na mão", ele inicia normalmente mas não consigo conectar nele.

joenio@case ~/.g/r/1/g/w/vendor> java -jar selenium-server.jar 
10:22:01.457 INFO - Java: Sun Microsystems Inc. 16.3-b01
10:22:01.458 INFO - OS: Linux 2.6.32-4-686 i386
10:22:01.474 INFO - v1.0.1 [2696], with Core v@VERSION@ [@REVISION@]
10:22:01.592 INFO - Version Jetty/5.1.x
10:22:01.594 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
10:22:01.597 INFO - Started HttpContext[/selenium-server,/selenium-server]
10:22:01.597 INFO - Started HttpContext[/,/]
10:22:01.603 INFO - Started SocketListener on 0.0.0.0:4444
10:22:01.603 INFO - Started org.mortbay.jetty.Server@3a6727

O estranho é que o o servidor esté rodando na porta 4444 e ainda assim não consigo conectar, fiz este mesmo teste em uma máquina com Debian Lenny (estou usando Debian Sid) e funcionou perfeitamente.

Coincidência ou não comecei a ter problemas também com o site do Banco do Brasil, ao tentar acessar minha conta recebo o erro abaixo:

Problemas na instalação do Módulo de Segurança

Como já estava desconfiado do Java fiz um teste acessando a URL abaixo e recebi um calltrace enorme daqueles que só o Java dá pra gente.

Pesquisando no Google encontrei alguns bugs relatados no Debian com proposta de workaround para contornar o problema:

A solução proposta pelo pessoal do Debian nos bugs acima é a seguinte:

Abra o arquivo /etc/sysctl.d/bindv6only.conf e sete net.ipv6.bindv6only=0, reinicie o procfs com invoke-rc.d procps restart.

Pra mim esta solução funcionou perfeitamente e resolveu meus probremas tanto com Selenium quando com Banco do Brasil.



Rodando Cucumber + Selenium no Debian sid

April 21, 2010, by Joenio Costa - No comments yet

Tenho trabalhado com Cucumber e Selenium para fazer testes de integração há algum tempo e por algum motivo hoje o Selenium não conseguiu iniciar corretamente o Firefox.

$ cucumber -p selenium
==> Waiting for Selenium RC server on port 4444... Ready!
==> Waiting for rails application server on port 3001... Ready!
led to start new browser session: java.lang.RuntimeException: Firefox 3
could not be found in the path! Please add the directory containing ''firefox-bin'
or 'firefox'' to your PATH environment

Como tenho péssimo hábito de não prestar muita atenção nas mensagens de erro fui tentar resolver o problema e nada do que tentei funcionou, encontrei então no Google o post Cucumber running Selenium on Debian Lenny e fucionou como uma luva!

Como sugerido no post, adicionei ao PATH o caminho /usr/lib/iceweasel e o Selenium conseguiu rodar os testes numa boa com o Firefox.

$ cucumber -p selenium

==> Waiting for Selenium RC server on port 4444... Ready!
==> Waiting for rails application server on port 3001... Ready!
Given I am logged in as "booking"
And I am on /booking/rails.png?view=true
And I fill in "Title" with "Hey ho, let's go!"
And I fill in "Enter your comment" with "Hey ho, let's go!"
When I press "Post comment"
Then I should be exactly on /booking/rails.png?view=true

1 scenario (1 passed)
9 steps (9 passed)
0m20.214s


Primeiro dia de Fisl 10

June 25, 2009, by Joenio Costa - No comments yet

__24 de Junho de 2009__

O evento começou muito bom, o estande da **Colivre** foi bem movimentado, muitas pessoas procurando informações sobre o **Noosfero** e sobre o livro **Software livre, cultura hacker e o ecossistema da colaboração**.

Reencontrei muitos monges da comunidade **Brasil Perl Mongers**, assisti uma palestra do Eden Cardim sobre desenvolvimento Perl para Web, onde vi várias dicas legais sobre testes, DBIx::Class e Moose.

Legal ter conhecido pessoalmente monges que eu só tenho contato por email e jabber como Otávio Fernandes e Gabriel Vieira, que já conheço há bastante tempo, bem mais de 1 ano.

Ao final de tudo ainda deu tempo de comparecer ao **forró nerd**. Com som ao vivo de uma banda muito bacana fazendo um som bem divertido, não dancei mas valeu!

e amanhã tem mais...



Extraindo estatística contribuições por linha de código usando git-blame

June 6, 2009, by Joenio Costa - No comments yet

Achei em [1] um script muito interessante para extrair a quantidade de contruições dos autores de um projeto contando cada linha do código fonte, mudei algumas coisasinhas e implementei uma sugestão dada nos comentários do próprio post para ignorar linhas em branco em [2].

Executei o script no código do Noosfero e olha só o que ele disse:

$ git-blame-stats -e public/images,vendor,public/javascripts/tinymce,public/javascripts/prototype.js -a AntonioTerceiro='Antonio Terceiro',JoenioCosta='Joenio Costa',AurelioAHeckert='Aurelio A. Heckert','Daniela Feitosa'='Daniela Soares Feitosa',DanielaFeitosa='Daniela Soares Feitosa',MoisesMachado='Moises Machado',ValessioBrito='Valessio S Brito' -w -C

Total lines: 196665
       77917  39.62%  Antonio Terceiro
       66137  33.63%  LeandroNunes
       17877   9.09%  Joenio Costa
       16109   8.19%  Aurelio A. Heckert
       11835   6.02%  Moises Machado
        4790   2.44%  Daniela Soares Feitosa
        1079   0.55%  Valessio S Brito
         425   0.22%  *initial checkin
         414   0.21%  Yann Lugrin
          82   0.04%  GrazienoPellegrino

A linha de comando ficou enorme pois disse ao script para ignorar alguns diretorios contendo código de terceiros, como por exemplo 'vendor' que é onde está o rails e os plugins. E para criar aliases de autores que eu sei que são as mesmas pessoas mas que estão no histórico do repositório com nomes diferentes.

[1] http://use.perl.org/~acme/journal/39082?from=rss

[2] http://gitorious.org/joenio/misc/blobs/master/git-blame-stats



Enviando notificações do Nagios3 via Jabber

March 11, 2009, by Joenio Costa - No comments yet

O script notify_via_jabber funcionava muito bem com o Nagios1 no Debian Etch para enviar as notificações para o Jabber mas depois de atualizar o servidor para Lenny o Nagios foi atualizado para a versão 3 e o script deixou de funcionar, as configurações do Nagios estavam certas o script ainda funcionava (testei via linha de comando) mas as notificações não chegavam no Jabber, debugando o problema descobri que a mensagem (segundo parametro via linha de comando enviado pelo Nagios) não estava chegando corretamente no script. Fiz umas pequenas mudanças no script e ele voltou a funcionar corretamente, veja aqui o script modificado.

Para saber como configurar o Nagios para funcionar com este script veja o post Enviando notificações no nagios via Jabber (é, o título deste post foi copiado de lá) no blog PsychoPenguin.



Relato sobre o Rails Summit (e CONISLI) 2008

February 18, 2009, by Joenio Costa - No comments yet

Segue abaixo um relato do Rails Summit e CONISLI 2008 que ocorreram nos 15, 16 e 18, 19 de Outubro respectivamente. Este relato foi enviado para a lista de discussão (interna) da Colivre e Antonio Terceiro disse que daria um belo post de Blog, então segue o relato:

 

O evento começou com a apresentação de Gilberto Mautner co-fundador da Locaweb, Locaweb foi a organizadora do evento. Ele falou sobre o inicio da Locaweb, a ampresa começou fazendo um portal para agregar empresas de fabricação/costura de tecidos, a iniciativa foi um fracasso mas depois disso ele tinha uma infra-estrutura de servidores e começou a oferecer hospedagem para outros desenvolvedores e o negocio começou a andar. A Locaweb hoje é uma grande empresa de hospedagem e oferece suporte a ferramentes tanto livres quanto não-livres.

Em seguida veio a palestra de Chad Fowler (que eu gostei muito) o cara é músico profissional ( isso me fez lembrar um amigo músico que programa um pouquinho em Lisp :) ). Ele não falou muito sobre coisas técnicas, falou muito sobre a crise economica e como as pessoas ficam assutadas com isso, ele disse que ele nao se assusta mas muitos amigos dele estao assustados. Falou sobre a importancia de fazer algo diferente e se destacar, exemplificou isto mostrando alguns grandes músicos que em sua época foram tidos como loucos e odiados por alguns mas eram verdadeiros genios e disse que Rails é uma dessas coisas marcante e maravilhosa. Falou sobre a experiencia dele sobre ir morar na India e sobre o seu livro "My Job Went to India" (ele está preparando uma nova versão do livro). Ele também chamou os programadores Java de mediocres...

Tivemos entao a palestra dos caras da empresa Phusion (Ninh Bui e Hongli Lai). Eles falaram sobre Passenger uma solução para colocar aplicações Rails em produção, segundo eles é uma solução que escala. (Todos falaram sobre escalabilidade do Rails no evento).

Teve algumas palestras de programadores Java que estão se envolvendo na counidade Ruby/Rails, esse pessoal falou principalmente sobre JRuby e todos usaram o argumento que JRuby é mais rápido que o compilador do oficial do Ruby porcausa das otimizações da máquina virtual do Java, mesmo parecendo ser bastante parcial um cara chamado Fabio Kung fez uma apresentação muito legal sobre as estrategias de compilação, garbage collector, e outras coisas internas do compilador/interpretador Ruby e JRuby. Apesar de tudo sobre o que nós (eu) achamos de Java parece ser bem interessante a possibilidade de poder executar o Noosfero por exemplo em cima de um servidor de aplicações Java. Um ponto que Fabio Kung destacou bastante durante sua palestra é que a linguagem Java realmente é horrivel e cheio de burocracia e não está evoluindo por causa disso mas a arquitetura Java é muito boa.

Uma palestra que achei super interessante (talvez uma das melhores pra mim) foi George Guimaraes da empresa Pagestacker, ele falou sobre Deploy de aplicações Rails e citou o tema "Web operations" que é o assunto que trata de técnicas de manter aplicacoes Web em producao. Uma das coisas que marcou foi que Thin é melhor que Mongrel e mandou agente parar de usar Mongrel. Falou sobre como calcular o numero ideal de instancias de servidores rails para atender ao maior numero de requisicoes por segundo, ele demonstrou com graficos que nao adianta crescer aleatoriamente, a partir de um numero de instancias o numero de requisicoes por segundo começa a cair, no caso q ele apresentou o melhor número pra ele foi 8, quando ele aumentou pra 9, 10, ... o desempenho começou a cair. Indicou dois livros sobre planejamento "Guarrilla Cacity Planning" e "The art of capacity planning", este segundo com menor enfase matemática que o primeiro. Problema de desempenho nunca é resolvido ele apenas é adiado, um dia o sistema vei precisar ser expandido novamente. O email do cara é george@(NOSPAM)pacgestacker.com. O Pagestacker.com foi inicialmente feito em 48 horas.

Outra palestra interessante foi da empresa WebCO onde falaram sobre o portal blogblogs.com.br (este também foi feito inicialmente em algumas horas). Os caras disseram que estão crescendo bastante e estão contratando feito loucos, e deixou email para curriculo vagas@(NOSPAM)blogblogs.com.br. Eles estão desenvolvendo uma camada de abstração para motores de busca chamada Sapien, eles usavam ferret e tiverem problemas e estao mudando pra outra solução (nao lembro qual), e para não ter que mudar a aplicação toda vez que precisar mudar de motor de busca eles estão usando o Sapien (ainda não publicaram mas disseram q será software livre). O email do cara é mlemos@(NOSPAM)webcointernet.com

Bem, tiveram outras palestras mas não me lembro muito bem, acho que essas foram as principais pra mim, outra parte bacana do evento foi o Coffee Break e o Almoço que rolou dentro do próprio evento e foi uma boa hora pra se integrar (mesmo sendo meio anti-social) conheci 2 carinhas lá da Locaweb de uma equipe de desenvolvimento lá dentro, eles tem várias pequenas equipes de desenvolvimento e utilizam metodologia Scrum usando cartãozinho de baralho e tudo, eles disseram que a Locaweb é uma empresa muito boa para se trabalhar e que é tudo bem tranquilo lá.

Sylvestre Mergulhao transcreveu (de forma bem livre) em seu blog algumas das palestras do evento: http://mergulhao.info/tags/railssummit

O CONISLI foi péssimo (infelizmente), só assisti uma palestra do Piter Punk com o titulo "Fazendo as coisas funcionarem" foi bem interessante, ele comprou um notebook CCE daqueles que vem com Satux e um monte de coisa não funcionava, então ele deu varias dicas de como fazer funcionar, atualização de Bios (ele disse que muitos problemas são simplesmente bug na bios, e disse que em servidores a primeira coisa a se fazer é isso), corrigir bugs idiotas no drivers (sim, os desenvolvedores de drivers do kernel cometem erros). Como descobrir bugs de hardware (os desenvolvedores de hardware tb lançam coisas com bugs).

Tentei assistir uma palestra sobre Ubuntu mas depois que o cara falou a frase: "Ah, e tem esse programa legal que a Sun liberou, o Sun xVM VirtualBox" eu desisti e sai da sala.

Além desta palestra rolou o YAPC::Brasil (encontro brasileiro de desenvolvedores Perl). Foi um evento bem informal com várias pequenas apresentações sobre projetos pessoais dos membros da comunidade, Eden Cardim de Ilheus estava por lá e ensinou como jogar Golf, quem quiser jogar pode ir em http://codegolf.com/ e jogar golf em Perl, Ruby, Python ou PHP.

Foi isso!



Facilitando o download de legendas no Legendas.tv

January 18, 2009, by Joenio Costa - No comments yet

O Legendas.tv na minha opnião é o melhor site para baixar legendas em pt_BR, como eu costumo baixar legendas com uma certa frequencia achava muito chato acessar o site fazer a pesquisa e baixar a legenda, para automatizar isso criei um pequeno script Perl que loga no site (o Legendas.tv lhe obriga ter cadastro para baixar legendas), faz a pesquisa e baixa a legenda.

O script irá solicitar seu login e senha então é necessário que você tenha login no Legendas.tv. Ele irá guardar um cookie com a informação de autenticação e não irá lhe pedir login/senha da próxima vez, é como se você tivesse marcado a opção 'Lembrar senha' do próprio site.

Quem tiver interesse e quiser testar pode baixar o script em:http://gitorious.org/projects/joenio-scripts/repos/mainline/blobs/master/legendas.tv

 

Exemplo baixando legenda para o filme "As bicicletas de Belleville":

 

 



Post de inauguração

January 14, 2009, by Joenio Costa - One comment

O primeiro post é sempre pra ingugurar o blog.