quinta-feira, 23 de dezembro de 2010

Para pensar

Recebi esta mensagem por e-mail, da Nádia, e achei muito bonita. Fiz uma rápida pesquisa na internet mas não achei o autor da mensagem. Em alguns sites dizia que era autor desconhecido. Então, se alguém souber quem é o autor da mensagem, peço que me informe.
VISÃO DE ADULTO... VISÃO DE CRIANÇA...

Éramos a única família no restaurante com uma criança.
Eu coloquei Daniel numa cadeira para crianças e notei que todos estavam tranquilos,  comendo e conversando.
De repente, Daniel gritou animado, dizendo: 'Olá, amigo!', batendo na mesa com suas mãozinhas gordas.
Seus olhos estavam bem abertos pela admiração e sua boca mostrava a falta de dentes.
Com muita satisfação, ele ria, se retorcendo.
Eu olhei em volta e vi a razão de seu contentamento.
Era um homem andrajoso, com um casaco jogado nos ombros, sujo, engordurado e rasgado.
Suas calças eram trapos com as costuras abertas até a metade e seus dedos apareciam através do que foram, um dia, os sapatos.
Sua camisa estava suja e seu cabelo não havia sido penteado por muito tempo.
Seu nariz tinha tantas veias que parecia um mapa.
Estávamos um pouco longe dele para sentir seu cheiro, mas asseguro que cheirava mal.
Suas mãos começaram a se mexer para saudar...
'Olá, neném. Como está você?', disse o homem a Daniel.
Minha esposa e eu nos olhamos:
'Que faremos?'.
Daniel continuou rindo e respondeu, 'Olá, olá, amigo'.
Todos no restaurante nos olharam e logo se viraram para o mendigo.
O velho sujo estava incomodando nosso lindo filho.
Trouxeram a comida e o homem começou a falar com o nosso filho como um bebê.
Ninguém acreditava que o que o homem estava fazendo era simpático.
Obviamente, ele estava bêbado.
Minha esposa e eu estávamos envergonhados.
Comemos em silêncio; menos Daniel que estava super inquieto e mostrando todo o seu repertório ao desconhecido, a quem conquistava com suas criancices.
Finalmente, terminamos de comer e nos dirigimos à porta.
Minha esposa foi pagar a conta e eu lhe disse que nos encontraríamos  no Estacionamento.
O velho se encontrava muito perto da porta de saída.
'Deus meu, ajuda-me a sair daqui antes que este louco fale com Daniel', disse orando, enquanto caminhava perto do homem.
Estufei um pouco o peito, tratando de sair sem respirar nem um pouco do ar que ele pudesse estar exalando.
Enquanto eu fazia isto, Daniel se voltou rapidamente na direção onde estava o velho e estendeu seus braços na posição de 'carrega-me'.
Antes que eu pudesse impedir, Daniel se jogou dos meus braços para os braços do homem.
Rapidamente, o velho fedorento e o menino consumaram sua relação de amor.
Daniel, num ato de total confiança, amor e submissão, recostou sua cabeça no ombro do desconhecido.
O homem fechou os olhos e pude ver lágrimas correndo por sua face.
Suas velhas e maltratadas mãos, cheias de cicatrizes, dor e trabalho duro, suave, muito suavemente, acariciavam as costas de Daniel.
Nunca dois seres haviam se amado tão profundamente em tão pouco tempo.
Eu me detive, aterrado. O velho homem, com Daniel em seus braços, por um momento abriu seus olhos e olhando diretamente nos meus, me disse com voz forte e segura:
'Cuide bem deste menino'.
De alguma maneira, com um imenso nó na garganta, eu respondi: 'Assim o farei'.
Ele afastou Daniel de seu peito, lentamente, como se sentisse uma dor.
Peguei meu filho e o velho homem me disse:
'Deus o abençoe, senhor. Você me deu um presente maravilhoso'.
Não pude dizer mais que um entrecortado 'obrigado'.
Com Daniel nos meus braços, caminhei rapidamente até o carro.
Minha esposa perguntava por que eu estava chorando e segurando Daniel tão fortemente, e por que estava dizendo:
'Deus meu, Deus meu, me perdoe'.
Eu acabava de presenciar o amor de Cristo através da inocência de um pequeno menino que não viu pecado, que não fez nenhum
juízo; um menino que viu uma alma e uns adultos que viram um montão de roupa suja.
Eu fui um cristão cego carregando um menino que não o era.
Eu senti que Deus estava me perguntando:
'Estás disposto a dividir seu filho por um momento?', quando Ele Compartilhou Seu Filho por toda a eternidade..
O velho andrajoso, inconscientemente, me recordou:
'Eu asseguro que aquele que não aceite o reino de Deus como um Menino, não entrará nele.' (Lucas 18,17).
Apenas repita esta frase e verá como Deus se move:
'Senhor Jesus Cristo, te amo e te necessito, entre em meu coração, por favor'.
Passe esta mensagem a algumas pessoas especiais.
Não porque você receberá um milagre amanhã.
Mas porque você recebe o milagre todos os dias:
O milagre de estar vivo!!!

Que todos tenham um excelente Natal!!

terça-feira, 7 de dezembro de 2010

Terceiro Code Dojo

Agora o resumo e os desdobramentos do nosso terceirot Code Dojo, que tomei a liberdade de chamar de "Terceiro Code Dojo PyD'Égua". Este aconteceu no dia 03/12/2010, e os participantes foram: Francival, Rogênio, Priscilla, Marcelo, Sebastião e eu.
E chegamos ao nosso terceiro CodeDojoPydégua! Foi muito legal. Dessa vez contamos com a ilustríssima presença da Priscilla, que veio abrilhantar nosso encontro com seu charme e comentários sensatos e pertinentes! (depois eu te peço um dinheiro emprestado, tá tia Pris?? :-) ). Na próxima a Priscilla já vai ser um dos participantes efetivos, ou seja, vai "rodar" no piloto e co-piloto!

E sentimos mais uma vez a falta do Ézyo, que não pode comparecer. Acho que está desde ontem à noite no Maricotinha, ainda apreciando o coquetel de lançamento do BlackBerry!! :-)


Já tivemos notícia de que mais pessoas querem participar. Assim, acho que da próxima vez precisaremos arranjar um lugar maior. É, o negócio está crescendo (tô falando no bom sentido!), creio que daqui a mais algumas reuniões vamos começar a cobrar ingresso!! :-)

Brincadeiras à parte, a reunião foi legal e produtiva. Mais uma vez assimilamos conhecimentos em relação ao código e ao método, e chegamos muito próximo de resolver o problema. Acho até que podemos considerar resolvido, pois o que faltou foi erro na especificação dos requisitos (
mea culpa!).

Bem vamos ao que interessa:


Problema:
- O problema escolhido dessa vez foi o FizzBuzz (parecido com aquela brincadeira do "pim" que passava no Sílvio Santos, época que eu ainda nem era nascido!), e consiste no seguinte:

- Sempre que um número for múltiplo de 3, não exibe o número e exibe "Fizz";

- Sempre que um número for múltiplo de 5, não exibe o número e exibe "Buzz";
- Sempre que um número contiver 3, não exibe o número e exibe "Fizz";
- Sempre que um número contiver 5, não exibe o número e exibe "Buzz";
- Se o número for múltiplo de 3 E 5 ao mesmo tempo, exibe "FizzBuzz";

Meu erro nos requisitos foi ter esquecido de acrescentar que quando o número contiver 3 E 5 exibiria a mensagem "FizzBuzz". Fora isso, todos os testes funcionaram, então consideraremos o problema resolvido, certo? ;-)

Código:

- O código resultante do nosso Dojo está no pastebin: http://pastebin.com/iJD8qNbD

Avaliação:

  • Pontos Positivos:
    • A presença da Priscilla! :-)
    • O problema foi de fácil entendimento, o que nos ajudou a concentrar melhor na resolução;
    • O código resultante ficou legível e fácil de entender. Também ficou bem fragmentado, com funções pequenas e bem definidas;
    • Começamos a respeitar melhor o "vermelho" (hora de calar) e o "verde" (hora de falar). Também corrigimos um erro de interpretação com relação ao uso do vermelho e verde: no vermelho, os testes ainda não passaram e o piloto e o co-piloto devem se concentrar sozinhos em fazer o testes passar, e no verde, o teste está passando e a platéia pode dar pitaco;
    • O método (Code Dojo) facilita o desenvolvimento do algoritmo e também o aprendizado;
    • A dinâmica funcionou melhor, creio que pela prática dos outros CodeDojo e também por termos assimilado melhor a técnica;
    • A sensação de que o TDD funciona e é uma boa prática a ser seguida.
  • Pontos Negativos:
    • A saída do Sebastião antes do fim (tudo bem, tá desculpado), afinal de contas a presença de todos é importante;
    • A falha (mais uma vez, mea culpa) na definição dos requisitos, o que, no final, acabou sendo encarado por todos como um exemplo do que pode acontecer na realidade;
    • Faltou um local para expor o problema e seus requisitos, pois quando estamos pensando na resolução fica melhor se visualizamos o problema e os requisitos;
    • Faltou o lanche!! :-)
    • Em um determinado momento nos faltou um pouco de conhecimento da linguagem Python (atributo do método string).
Como nós conversamos na avaliação, gostaria de pedir para o Marcelo nos enviar algum material sobre refatoração de código. Pode ser, Marcelo? ;-)

Mais uma vez tivemos mais pontos positivos que negativos. Isso é legal e já me empolga a marcar o próximo encontro: 10/12/2010 (sexta-feira), no mesmo horário e local. Precisamos confirmar se vai aparecer mais gente, porque se isso acontecer precisaremos de uma sala maior.

Fiquem à vontade para corrigir qualquer informação aqui.

Bem, acho que é isso! :-)



O Rogênio, que não brinca em serviço, brincou com o código e fez alguns melhoramentos:
    Esses dias estive brincando um pouco com o nosso último código e diminuí um módulo. (unifiquei os módulos 'efizz' e 'ebuzz' em um único módulo, o 'efioubu') e inseri mais de uma entrada nos módulos: http://pastebin.com/qPNeSHem
    O código que o Cléoson publicou está bem mais didático que o meu, que  serviu mais como uma brincadeira de testes pra mim mesmo.
 E eu, só pra dizer que fiz alguma coisa, dei um mini-pitaco no código:
     Apenas pra economizar duas linhas no código, sugiro alterar a linha 23 do teu código para:

def fizzbuzz(n, fi=3, bu=5):

     E eliminar as linhas 24 e 25.
Marcelo,
 
      Isso seria refatorar? Ainda não tive tempo de ler o material que tu enviaste.
E a resposta do Marcelo:
Qualquer alteração que simplifica o código sem alterar o
comportamento externo é refatoração.  Então: com certeza.
Bem, acho que foi isso. Após este e-mail, apenas mais um ou dois sobre colocar ou não estes resumos no blog, o que, pelo que se pode ver, foi feito. :-)
E a partir do próximo 'Code Dojo PyD'Égua', colocarei o resumo direto aqui, e as discussões acontecerão nos comentários.

Segundo Code Dojo

Nosso segundo Code Dojo aconteceu no dia 26/11/2010. Os participantes foram: Sebastião, Rogênio, Marcelo, Rogênio e Francival.
Apenas pra constar, esqueci de colocar no post "Meu primeiro Code Dojo", mas nosso primeiro Code Dojo aconteceu no dia 19/11/2010, e estavam presentes, além dos que citei acima, o Ézyo.
Abaixo o e-mail com o resumo do problema e do código gerado:
 Hoje fizemos nosso segundo Dojo, e foi bem legal. Todo mundo tava empolgado e concentrado no problema (ou na resolução dele! :-) ).

O Ézyo não pode participar, mas já é esperado para o próximo, e tivemos a presença do Marcelo, ajudando com sua experiência em desenvolvimento de software.

Vamos ao "registro":


Problema:

O problema foi sobre algarismos romanos. Explicando: dado um número decimal, deveria ser retornado seu equivalente em algarismos romanos e vice-versa. Limitamos o número máximo em 3000. Infelizmente não conseguimos resolver o problema, mas certamente valeu por mais esta experiência com a técnica (Code Dojo), e também por ver a empolgação e o empenho de todo mundo. Teve gente até dizendo que não tava na sala, mas isso a gente deixa pra lá!! :-))

Código:
Bem, o código, como havia prometido, está no pastebin. O endereço é o seguinte:
http://pastebin.com/PLsiKv7g

Agora, a avaliação do "evento":  :-)


Pontos positivos:

  • Melhor entendimento da metodologia de TDD - Desenvolvimento Orientado a Testes;
  • Entendimento e uso do BabybStep;
  • O problema escolhido foi considerado bom e adequado;
  • Foi bom também para aprender um pouquinho mais de Python;
  • A explicação inicial do Marcelo sobre TDD foi interessante para nos mostrar que estávamos no caminho correto desde o outro Dojo e também para clarear/sedimentar nosso entendimento sobre TDD;
  • A experiência do Marcelo foi de grande ajuda no "evento".
Pontos negativos:
  • O atraso no início, pois marcamos para 15:00h mas começamos somente 16:10h;
  • O piloto e o co-piloto devem explicar melhor o que estão fazendo;
  • Utilizar sempre os casos de teste ao invés de testar alguma coisa "por fora".
Como se pode perceber, foram mais pontos positivos que negativos, o que é muito bom e já me deixa empolgado pra marcar o próximo para a próxima sexta-feira, 03/12/2010, às 15:00h, no mesmo bat-local. Bora? :-)

Tô mandando cópia também pra Priscilla. Quem sabe ela não se empolga e participa do próximo, nem que seja só como platéia, né Tia Pris? ;-)
O e-mail seguinte foi meu, tentando resolver o problema e criando um monstro!
Mais uma vez não conformado em não ter resolvido o problema, de novo resolvi resolver (preciso fazer um curso pra melhorar minha redação... o_O) o problema que usamos no nosso CodeDojoPydégua. :-)

Resolvi tratar o número dígito a dígito, ou seja, trato a unidade, dezena, centena e milhar individualmente e depois retorno o resultado concatenado. Funciona até 3.999, indo um pouco além do que limite que acordamos no problema, que era de 3.000.

Bem, funciona... mas acho que criei um monstro. Na verdade, quando terminei a minha primeira versão, vi que tinha criado um monstrão, mas depois de refatorar o código (falei bonito agora, hein?? :-) ), o monstrão se tornou um monstrinho até simpático.

Coloquei o código no pastebin ( http://pastebin.com/08X8yBNt), e aguardo ansiosamente os comentários e os melhoramentos de vocês.
Não esqueçam de que nosso próximo CodeDojoPydégua está agendado para a próxima sexta-feira, mesmo bat-horário e bat-local!
O Rogênio, acho que com pena do monstrinho que eu tinha criado, resolveu adotar o pequeno:
    Graças ao monstrinho que o Cléoson mandou, consegui ter uma ideia para diminuir o código. Criei um outro dicionário para usar como índice e utilizei a string do numeral pra definir qual o numeral em romano aplicar e criei um laço para diminuir o código: http://pastebin.com/7FcmMxN9
    Aguardo comentários, melhorias e o próximo dojo.

E assim encerraram-se as discussões do Segundo Code Dojo!

Meu primeiro Code Dojo (Segunda e última parte)

Continuando o post "Meu primeiro Code Dojo (Primeira parte)", coloco abaixo o e-mail no qual respondo ao Sebastião sobre a alteração no código que ele fez. A partir daí, eu "aprendi" que existe o pastebin, e passei a colocar o código lá! :-)


Sebastião e galera,

     Legal o uso do "set". Não sabia que funcionava assim, ficou muito bom, aprendi mais uma (aliás, aprendizado é o que não tá faltando!). Gostei também da abordagem pra realizar o sorteio dos pares, o código ficou bem limpo e legível, bem melhor que o meu, coisa de profissional!! :-))

     Pra gente comparar e aprender mais um pouco, neste link tem o código de resolução pra este problema de uma outra galera. A diferença é que eles colocaram mais um detalhe no problema: pessoas da mesma família não poderiam se sortear. Na resolução deles, eles criaram uma classe (seria orientação a objeto?). E um alento pra gente: eles também não conseguiram terminar!!

    E vamos pra frente!!

P.S.: Da próxima vez, prometo colocar o código em um pastebin da vida. :-)

O Rogênio, que só é calado, deu uma corrigida no código alterado pelo Sebastião:
No código que o Sebastião enviou, é preciso alterar a linha 23 para mostrar todas as duplas sorteadas. A pequena alteração pode ser vista em http://pastebin.com/diff.php?i=rHddAWmL
 E o Sebastião concordou com a alteração respondendo o seguinte:
Isso que dá não fazer TESTE antes ... :-)

O Cléoson atentou que para uma lista de 4 mosqueteiros, range(-1, len(lista)-2) ==> range(-1,2) gera os itens -1, 0, 1.
E range(-1, len(lista)-1) ==> range (-1, 3) gera os itens -1, 0, 1, 2

Beleza!

O próximo post, que será o resumo do segundo Code Dojo, deve ficar menor, já que eu "aprendi" a usar o pastebin pra colocar os códigos! :-)

Meu primeiro Code Dojo (Primeira parte)

Conforme prometido no post abaixo (Python), aí vai o resumo do nosso primeiro Code Dojo. O texto é o mesmo que enviei no e-mail original. E pra não ficar muito grande esta postagem, vou dividí-la em duas partes. A primeira segue abaixo:
E foi grupal! :-))


Brincadeiras a parte, achei muito legal e produtivo. Então, coloco abaixo pra nosso registro o problema, o código a que chegamos e a avaliação. Estejam à vontade para contribuir:


Problema:


Amigo Secreto:


Entrar com uma lista de nomes e sair uma lista com pares.
  • Um dos nomes do par é aleatório.
  • Um usuário não pode se “auto-sortear”.
  • Uma pessoa não pode ser sorteada duas vezes.
Exemplos:
  • Entrada: Francival, Sebastião, Ézyo, Rogênio, Cléoson
  • Saída: Sebastião tirou Francival; Francival tirou Rogênio; ...
Código: (vou mandar em anexo o arquivo)


#!/usr/bin/env python
# -*- encoding:utf-8 -*-


import unittest,random


#def ListarAmigos:
#TODO


def ListarAmigos(amigo1, amigo2):
    return amigo1 == amigo2
   
def sorteio(amigos):
    amigo=amigos[0]
    amigosDisp=amigos[0:1]
    num=random.randrange(len(
amigosDisp))
    par = (amigo, amigosDisp[num])
    print par
    return par
 
class teste_amigos(unittest.TestCase):


    def teste_igual(self):
        self.assertEqual(ListarAmigos("Maria", "Joao"), False)
       
    def teste_sorteio(self):
        amigos=["dartanham","athos", "porthos", "aramis"]
        listaPar = sorteio(amigos)
        self.assertNotEqual(listaPar[0], listaPar[1])
       
#        self.assertEqual(par[0], "dartanham")
#        self.assertNotEqual(par[1], "dartanham")

   
unittest.main() 
Avaliação:


Pontos positivos:
  • Entendimento da metodologia: foi bem proveitoso no sentido de conhecer a metodologia do Code Dojo na prática.
  • Instalações: Sala, refrigeração, computador, a TV de 50 polegadas, tudo em cima e funcionando.
  • Aprendizado da linguagem Python: Sempre se aprende algo de linguagem em situações assim.
  • Foi divertido!!
Pontos negativos:
  • Problema mais simples: Por ser o nosso primeiro Code Dojo, poderia ter sido escolhido um problema mais simples. Bem, vou me defender: eu achei que este problema era simples! :-)
  • Pouco conhecimento de Code Dojo e TDD: O fato de termos pouco conhecimento de como funciona um Code Dojo, e principalmente o desenvolvimento orientado a teste, nos fez perder algum tempo tentando entender como eles funcionavam.
  • Intromissão do público no piloto e co-piloto: O pessoal que estava como público sem empolgava e dizia como o piloto deveria fazer isso ou aquilo. Normal, todos queriam ver o código pronto. Mas para os próximos, vamos tentar nos conter. :-)


Finalizando, gostaria de marcar o próximo Code Dojo para a próxima sexta-feira, 26/11/2010, no mesmo bat-horário e bat-local, ou seja, 15:00h. O problema deve ser com números decimais e romanos, mas não pesquisem antes senão não vai ter graça! Todo mundo de acordo?


Ah, e se alguém conseguir fazer o código deste problema, manda pra todo mundo!
Esse foi o primeiro e-mail. Depois, seguindo a discussão, enviei outro e-mail, com um melhoramento (pelo menos eu acho que ficou melhor :-) ) no código. O e-mail foi:

Não consegui me conter e "resolvi resolver" (o_O) o problema do nosso Code Dojo. Envio o arquivo "amigos.py" em anexo com o código.

     A minha lógica (que eu peguei emprestado do Rogênio :-) ) foi a seguinte: eu pego a lista de entrada, "embaralho" ela, e depois crio os pares em seqüência, ou seja, o elemento[0] da lista "tira" o elemento[1], o elemento[1] "tira" o elemento[2] e assim por diante até o final da lista. Quando chega no final, o último elemento "tira" o primeiro elemento da lista fechando o ciclo. Assim, acho que resolvo o problema de ter número par ou impar de participantes, e também resolvo o problema de "sorteio recíproco".
     Eu acrescentei um teste e eliminei outro: acrescentei um para ver se existem elementos repetidos lista, afinal de contas ninguém participa duas vezes do amigo secreto; e eliminei um (o teste " def teste_igual(self):" do código do e-mail anterior) que fiz de outra forma, ou seja, depois de formados os pares.
     Pra facilitar os (muito aguardados) pitacos de vocês no código, colo-o abaixo:
#!/usr/bin/env python
# -*- encoding:utf-8 -*-

import unittest,random
def nomeRepetido(lista):
    """
    Verifica se a lista tem nomes repetidos.
    """
   
    flag = True
    tamLista = len(lista)
    for i in range(tamLista - 1):
        for j in range(1, tamLista):
            if i < j:
                if lista[i] == lista[j]:
                    flag =  False
    return flag
      
def sorteio(lista):
    """
    Realiza o sorteio dos pares.
    """
   
    random.shuffle(lista) # "Embaralha" a lista recebida
    pares = {} # Cria um dicionário vazio onde serão armazenados os pares
    i = 0
    while i < len(lista):
        amigo1 = lista[i]
        if i == len(lista) - 1:
            amigo2 = lista[0]
            pares[amigo1] = amigo2
            i = i + 1
            continue
        amigo2 = lista[i+1]
        pares[amigo1] = amigo2
        i = i + 1
    return pares


class teste_amigos(unittest.
TestCase):
   
    def teste_repetido(self):
        lista = ["D'Artagnan","Athos", "Porthos", "Aramis"]
        self.assertEqual(nomeRepetido(

lista), True)
       
    def teste_sorteio(self):
        lista = ["D'Artagnan","Athos", "Porthos", "Aramis"]
        listaPar = sorteio(lista)
        for par in listaPar:
            self.assertNotEqual(par, listaPar[par])

unittest.main()
O Sebastião, que manja de programação mas é modesto pra admitir :-), respondeu o seguinte:

Muito bom o código, gostei da função shuffle, eu não conhecia. E os testes ficaram bem legais.
Estou enviando uma outra forma de implementar as funções: http://pastebin.com/yjpVhCmu

Continua no próximo post...

segunda-feira, 6 de dezembro de 2010

Python


Há alguns meses, por um ou outro motivo, coloquei na cabeça que eu deveria aprender uma linguagem de programação. Como onde eu trabalho tem muito desenvolvimento em Java, resolvi estudar essa linguagem. Acontece que enquanto eu estudava Java, conheci o Python. Na verdade, conheci novamente, já que havia feito um curso de Python anos atrás, mas ficou só nisso, não dei continuidade a esse conhecimento.

Então, deixei o Java um pouco de lado e comecei a estudar Python de novo. Dessa vez me inscrevi na lista Python-Brasil (excelente lista por sinal), e pedi a indicação de alguns livros. Dentre os livros indicados, comecei com "Python para Desenvolvedores". Baixei a versão em PDF daqui, e comecei a estudar. Mas quando chegou a uma determinada altura do livro, achei que eu não estava conseguindo entender direito, então resolvi ler outro livro e verificar se o problema era meu ou do livro. Assim, comecei a ler "Aprenda computação com Python", que pode ser baixado aqui. Já li mais da metade do livro, e estou gostando.

Paralelo a essa leitura, tentei contagiar alguns colegas do trabalho com o Python, e acho que eles "pegaram corda". Cabe dizer aqui que não sou desenvolvedor (pelo menos ainda!), e sempre trabalhei na área de redes/infra-estrutura/administração de servidores. E conversando com esse pessoal, conheci o Code Dojo. Li sobre Code Dojo aqui e aqui, e achei interessante a ideia desse método. Um dos colegas, o Francival, participou de um Code Dojo, e falou que realmente é muito interessante para treinar a linguagem e também aprimorar as técnicas de desenvolvimento.

Resumindo, resolvemos começar a realizar Code Dojo, e acho que o negócio está dando certo, pois já realizamos 3 Code Dojo e o quarto já está marcado!

No final de cada Code Dojo, envio, via e-mail, um resumo do problema, o código que conseguimos fazer e a avaliação do encontro (pontos positivos/pontos negativos). Como sei que é meio difícil a gente achar uma mensagem no meio de 1.646.634 de mensagens que tem no GMail, achei mais interessante colocar as mensagens aqui no Blog. Assim, fica mais fácil de localizar quando for necessário, e ainda pode ser que ajudemos alguém com a experiência que estamos tendo. Então, a partir de agora e até alguém sugerir um lugar melhor, vou colocar os resumos dos nossos Code Dojo's aqui.

Nos próximos posts vou colocar também o resumo dos outros 3 Code Dojos que já realizamos, pra ficar como histórico. Então, me aguardem!

quinta-feira, 18 de novembro de 2010

O sol vai voltar a brilhar...

Tenho certeza que o sol vai voltar a brilhar para o meu combalido Clube do Remo!!


Nova geração...

Dia desses eu estava fazendo minha caminhada no condomínio que moro. No condomínio, existe uma mini-quadra, onde avistei 5 meninos e uma bola. No meu tempo (tá, eu sei que é coisa de velho falar "no meu tempo"!), quando se juntavam 5 meninos e uma bola, logo se arranjavam 4 latinhas, ou algo semelhante, faziam-se as "travinhas", separavam-se 2 pra cada lado, o que sobrava era o juiz e automaticamente o "da grade". E imediatamente começava o futebol.
Bem, agora é diferente: eles se dividiram, um deles, pelo que vi, era "café com leite", e todos jogavam... cemitério!!!! (queimada, para os não nortistas)
Essa é a nova geração. Aliás, "Nova geração" é o título de uma crônica que li no site da Veja São Paulo, de autoria de Ivan Ângelo. Achei a crônica bem interessante, e a reproduzo abaixo. O site da publicação original é http://vejasp.abril.com.br/revista/edicao-2188/nova-geracao. E assim caminha a humanidade...

O rapaz chegou para a entrevista. O executivo de vendas on-line da grande empresa levantou-se para apertar sua mão, com aquela simpatia que os executivos de grandes companhias exibem quando querem transmitir acolhimento e calor humano. Aproveitou para dar uma geral no rapaz.

Arrumado, mas nada formal, de sapato novo, jeans, camisa de manga comprida enrolada até a metade do antebraço. O detalhe que o incomodou um pouco foi um brinquinho prateado de argola mínima na orelha esquerda. “Nisso dá-se um jeito depois, se valer a pena”, pensou o executivo.

Ele sabia que não estava fácil atrair novos talentos e reter os melhores. Empresas aparelhavam-se para o crescimento projetado do país, contratavam jovens promissores, mesmo os muito jovens, como era o caso do rapaz à sua frente, 21 anos. Elas precisavam estar preparadas para os próximos dez anos de concorrência.

Havia mais de duas horas que o rapaz estava em avaliação na empresa. Passara pela entrevista inicial com o chefe do setor, resolvera os probleminhas técnicos de internet e programação visual que lhe apresentaram, com rapidez e certa superioridade irônica, lera os princípios, valores e perfil da empresa, apresentados numa pasta de folhas de papel-cuchê embutidas em plástico. Alguns itens, como “comprometimento”, foram apresentados como pré-requisitos. Afinal o encaminharam para o diretor da área de e-comerce, vendas pela internet. O executivo tinha em mãos a avaliação do candidato: excelente.

Descreveu o trabalho de que a empresa necessitava: desenvolvimento de um site interativo no qual o cliente internauta pudesse fazer simulações de medidas, cores, ajustes, acessórios, preços, formas de pagamento e programação de entrega de cerca de 200 produtos. Durante sua fala, o rapaz mexeu as pernas, levantou um pé, depois o outro, incomodado. O executivo perguntou se ele se sentia apto.

— Dá para fazer — respondeu o rapaz, movendo a perna, como se buscasse alívio.

— Posso te ajudar em alguma coisa?

— Vou te falar a verdade. Eu comprei este sapato para vir aqui e ele está me apertando. Eu só uso tênis.

O executivo sorriu e pensou: “Esses meninos...”.

— Quem falou para eu vir fazer esta entrevista, e vir de sapato, foi minha namorada. Porque eu não vinha. Ela falou para eu comprar sapato, e o sapato está me apertando aqui, me atrapalhando.

Nos últimos anos, o executivo vinha percebendo que os desafios pessoais para a novíssima geração eram diferentes, e que havia limites para o que eles estavam dispostos a ceder antes de se comprometer com um trabalho formal.

— Não tem problema. Pode vir de tênis. O emprego é seu.

— Não, obrigado. Eu não quero emprego.

O executivo parou estupefato. O menino continuou:

— Todo mundo foi muito gentil, mas não vai dar. Esta camisa é do meu pai, eu tenho tatuagem, trabalho ouvindo música.

— Então por que se candidatou, se não queria trabalhar?

— Desculpe, eu não falei que não queria trabalhar.

Novo espanto do executivo. Sentia nas falas dele e do rapaz uma dissintonia curiosa. Como ficou calado, esperando, o rapaz prosseguiu:

— É muito arrumado aqui. E eu não quero ficar ouvindo falar de identidade corporativa, marco regulatório, desenvolvimento organizacional, demanda de mercado, sinergia, estratégia, parâmetros, metas, foco, valores... Desculpe, eu não sabia que era assim. Achava que era só fazer o trabalho direito e ver funcionar legal.

O executivo ficou olhando a figura, contando até dez, olhos fixados naquele brinco. O garoto queria ter a liberdade dele, a camiseta colorida dele, o tênis furado dele, ouvir a música dele nos fones de ouvido, talvez trabalhar de madrugada e dormir de manhã. Não queria aquele mundo em que ele mesmo estava metido havia vinte anos. Conferiu de novo as qualificações do rapaz, aquele “excelente”. Ousou:

— Trabalhar em casa você aceita?

— Aceito.

Queria o trabalho, não o emprego. Acertaram os detalhes. Assim caminha a humanidade.

sexta-feira, 29 de outubro de 2010

E porque hoje é sexta...

...vamos de piadinha. Essa eu recebi da @PrisLanne:

Secretária eletrônica de Avó

"Bom dia! No momento não estamos em casa mas, por favor, deixe-nos a sua mensagem depois de ouvir o sinal:

- Se é um dos nossos filhos, disque 1
- Se precisa que fiquemos com as crianças, disque 2
- Se quer o carro emprestado, disque 3
- Se quer que lavemos e passemos a roupa , disque 4
- Se quer que as crianças durmam aqui em casa, disque 5
- Se quer que os busquemos na escola, disque 6
- Se quer que lhe preparemos uns bolinhos para domingo, disque 7
- Se querem vir comer aqui em casa, disque 8
- Se precisam de dinheiro, disque 9
- Se é um dos nossos amigos, pode falar!"

Bom final de semana!!

segunda-feira, 4 de outubro de 2010

O que os gerentes de TI precisam saber antes de adotar o BrOffice

O título deste post é o mesmo que está na mensagem original, no site  http://open-ce.com.br/. O autor do post fez um texto em forma de perguntas e respostas e mostra alguma coisas que devem ser consideradas quando se toma a decisão de migrar para o BrOffice. Veja abaixo as perguntas. As respostas, você lê no post original clicando aqui:

"Muitas vezes somos chamados para apresentar o BrOffice para uma empresa. Nestes encontros, sempre surgem as mesmas perguntas. Resolvi então – para ajudar aos gerentes de TI das empresas que querem conhecer o BrOffice e para as empresas que prestam este serviço, escrever através de perguntas e respostas algumas verdades e mentiras que nos deparamos."

01 – O BrOffice é igual ao Office?

02 – Quanto a análise por usuários e não pelo pessoal de TI, que resultados podemos obter?

03 – O Office será eliminado 100% da uma empresa?

04 – Se não é para eliminar toda a despesa com licença, por que devo usar o BrOffice?

05 – As licenças tem duração?

06 – O BrOffice é um programa de aventureiros?

07 – É necessário treinamento para que uma empresa passe a usar o BrOffice?

08 – O BrOffice é incompatível com o Office da Microsoft®?

quinta-feira, 30 de setembro de 2010

Como os programadores matam os dragões

Pra tirar um pouco a poeira deste blog, já que não posto nada desde julho/2010, coloco esta mensagem que recebi como assinante da lista de discussão Computação_PA. Espero que volte a postar com mais regularidade!

Java
Chega, encontra o dragão. Desenvolve um framework para aniquilamento de dragões em múltiplas camadas. Escreve vários artigos sobre o framework, mas não mata o dragão.

.NET
Chega, olha a idéia do Javanês e a copia, tenta matar o dragão, mas é comido pelo réptil.

ASP
Os componentes necessários para levantar a espada são proprietários e caros. Outros tantos componentes proprietários para achar a localização do dragão, e mais outros tantos a localização da princesa. Chama então seu amigo programador de PHP.

C
Chega, olha para o dragão com olhar de desprezo, puxa seu canivete, degola o dragão. Encontra a princesa, mas a ignora para ver os últimos checkins no cvs do kernel do linux.

C++
Cria um canivete básico e vai juntando funcionalidades até ter uma espada complexa que apenas ele consegue entender … Mata o dragão, mas trava no meio da ponte por causa dos memory leaks.

COBOL
Chega, olha o dragão, pensa que tá velho demais para conseguir matar um bicho daquele tamanho e pegar a princesa e, então, vai embora de volta ao seu mundinho.

Pascal
Se prepara durante 10 anos para criar um sistema de aniquilamento de dragão. Chegando lá descobre que o programa só aceita lagartixas como entrada.

VB
Monta uma arma de destruição de dragões a partir de vários componentes, parte pro pau pra cima do dragão e, na hora H, descobre que a espada só funciona durante noites chuvosas…

PL/SQL
Coleta dados de outros matadores de dragão, cria tabelas com N relacionamentos de complexidade ternária, dados em 3 dimensões, OLAP, demora 15 anos para processar a informação. Enquanto isso a princesa virou lésbica.

PHP
Pesquisa bancos de scripts e acha as classes de construção de espada, manuseio da espada, localização da princesa e dragão. Remenda tudo e coloca umas firúlas próprias. Mata o dragão e casa com a princesa. Como tudo foi feito com gambiarras, o dragão um dia vai ressuscitar e comer os dois.

Ruby
Chega com uma baita fama, falando que é o melhor faz tudo, quando vai enfrentar o dragão mostra um videozinho dele matando um dragão. O dragão come ele de tédio.

Smalltalk
Chega, analisa o dragão e a princesa, vira as costas e vai embora, pois eles são muito inferiores.

ASSEMBLY
Acha que está fazendo o mais certo e enxuto, porém troca um A por D, mata a princesa e transa com o dragão.

Shell
Cria uma arma poderosa para matar os dragões, mas na hora H, não se lembra como usá-la.

Shell (2)
O cara chega no dragão com um script de 2 linhas que mata, corta, stripa, pica em pedacinhos e empalha o bicho, mas na hora que ele roda, o script aumenta, engorda, enfurece e coloca álcool no fogo do dragão.

Fortran
Chega desenvolve uma solução com 45000 linhas de código, mata o dragão vai ao encontro da princesa, mas esta o chama de tiozinho e sai correndo atrás do programador java que era elegante e ficou rico.

FOX PRO
Desenvolve um sistema para matar o dragão, por fora é bonitinho e funciona, mas por dentro está tudo remendado. Quando ele vai executar o aniquilador de
dragões lembra que esqueceu de indexar os DBF’s.

CLIPPER
Monta uma rotina que carrega um array de codeblocks para insultar o dragão, cantar a princesa, carregar a espada para memória, moer o dragão, limpar a sujeira, lascar leite condensado com morangos na princesa gostosa, transar com a princesa, tomar banho, ligar o carro, colocar gasolina e voltar pra casa. Na hora de rodar recebe um “Bound Error: Array Access” e o dragão come ele com
farinha.

ANALISTA DE PROCESSOS
Chega ao dragão com duas toneladas de documentação desenvolvida sobre o processo de se matar um dragão genérico, desenvolve um fluxograma super complexo para libertar a princesa e se casar com ela, convence o dragão que aquilo vai ser bom pra ele e que não será doloroso. Ao executar o processo ele estima o esforço e o tamanho do estrago que isso vai causar, consegue o aval do papa, do Buda e do Raul Seixas para o plano, e então compra 2 bombas nucleares, 45 canhões, 1 porta aviões, contrata 300 homens armados até os dentes, quando na verdade necessitaria apenas da espada que estava na sua mão o tempo todo.

sexta-feira, 9 de julho de 2010

E porque hoje é sexta...

...vamos tentar rir um pouco. :-)


Uma professora da 6ª série perguntou para a turma:
- Qual é a parte do corpo humano que aumenta quase dez vezes seu tamanho quando é estimulada?
Ninguém respondeu, até que  Juliana levantou, furiosa, e disse:
- Você não deveria fazer uma pergunta dessas para crianças da 6ª série. Eu vou contar para meus pais, e eles vão falar com o diretor, e ele vai demitir você, com base no ECA (Estatuto da Criança e do Adolescente)! E vai chamar o Conselho Tutelar pra te prender!
Para o espanto da Juliana, a professora não apenas a ignorou como fez a pergunta novamente.
- Qual é a parte do corpo que aumenta em dez vezes seu tamanho quando é estimulada? Alguém sabe?
Finalmente, Rodrigo levantou-se, olhou em redor, e disse:
- A parte do corpo que aumenta dez vezes seu tamanho quando é estimulada é a pupila.
A professora disse: - Muito bem, Rodrigo!
Então, voltou-se para a Juliana e continuou:
- E quanto a você, mocinha, tenho três coisas para lhe dizer:
Primeira: você tem uma mente muito suja para sua idade.
Segunda: você não leu a sua lição de casa.
E terceira: ... DEZ VEZES??? Hahaha... Um dia você vai ficar muito, mas muuuuito desapontada!!!!

Recebi por e-mail da Nádia!

Excelente final de semana a todos!

terça-feira, 22 de junho de 2010

Dunga e a imprensa


 
Interessante matéria no site do Terra sobre a relação entre Dunga e a imprensa, e mais especificamente com o jornalista da rede Globo, Alex Escobar, escrita por Bob Fernandes.
Concordo com o que diz o articulista, e estou do lado do Dunga. Ele comprou uma briga grande com a poderosa, mas alguém tinha que fazer isso. A Globo tem que entender que não é melhor do que ninguém, não está acima de ninguém e tem que respeitar as normas que o técnico da seleção determina com relação à entrevistas e ao acesso da imprensa.
Desde o começo da Copa 2010 que tenho a impressão que repórteres, notadamente os da Band que estão na África, estão tentando "criar" alguma crise ou algo semelhante no ambiente da seleção brasileira para que eles tenham o que falar. Afinal de contas, de que lado esses repórteres estão? Ora, todos sabemos que a imprensa não gosta do Dunga, e como conseqüência disso, sabemos também que se o Dunga ganhar a copa, não fez mais do que a obrigação, se perder vão fritar a alma dele e entregar pro diabo o que restar, se é que vai restar alguma coisa. Então, porque esses "filhos de uma égua" não esperam pelo menos a copa terminar pra atazanar a vida do Dunga, já que vão falar mal de qualquer jeito?? Se não querem ajudar, que pelo menos não atrapalhem...
Acho que o Dunga erra quando generaliza, mas na posição dele como é que ele vai separar quem presta de que não presta?
Ele tem que se preocupar com a seleção brasileira e com a copa do mundo, e não com um monte de repórteres idiotas que estão mais preocupados em "criar" (no pior sentido da expressão) e vender notícias. Esses repórteres deveriam pensar que dessa forma só estão atrapalhando, pois ao invés de deixarem ele se concentrar somente na copa do mundo, ficam criando problemas e desviando o foco do verdadeiro motivo de todos estarem lá.
Esses repórteres estão muito mal-acostumados: gostam de bater, mas quando começam a levar umas bordoadas, fazem beicinho e se enchem de frescura....
A matéria completa pode ser lida aqui.

sexta-feira, 11 de junho de 2010

E por que hoje é sexta...

...mais um piadinha. Dessa vez é de português. Não que eu tenha algum preconceito contra nossos amigos do lado de lá do oceano. :-)

Duas brasileiras e uma portuguesa estavam jogando conversa fora, quando uma das brasileiras comenta com a outra sobre suas relações sexuais com o marido:
- Menina, nunca te aconteceu quando você faz amor com o Carlos, você toca nas bolas dele e estão frias?
Entao a brasileira responde:
- Sim, sempre que nós fazemos eu percebo que estão frias. E você quando faz com o Rafael?
- Sim, sempre estão frias - responde a outra brasileira.
Nisso a portuguesa diz:
- Bom, eu nunca parei para atentar a esse detalhe, mas esta noite quando eu fizer com o Manuel vou tocá-las para ver.
- Tá bom, então amanhã você nos conta - dizem as brasileiras.
No dia seguinte, a portuguesa aparece toda cheia de hematomas, os olhos roxos e sem alguns dentes. As brasileiras ficam surpresas, perguntam o que foi que aconteceu e a portuguesa responde muito nervosa:
- Isto é tudo culpa de vocês!
- Mas por que? - perguntam as brasileiras.
- Porque quando eu toquei as bolas do Manuel eu disse: "Ai, Manuel, você não tem as bolas frias como as do Carlos e as do Rafael...!

Bom final de semana!

quarta-feira, 12 de maio de 2010

Lista de espera

A lista dos 7 jogadores que complementam a lista dos 30 exigidos pela FIFA é a seguinte:

- Diego Tardelli (Atlético-MG)
- Ganso (Santos)
- Carlos Eduardo (Hoffenheim-ALE)
- Marcelo (Real Madrid-ESP)
- Alex (Chelsea-ING)
- Ronaldinho Gaúcho (Milan-ITA)
- Sandro (Internacional-RS)


Confesso que não conheço alguns dos jogadores desta lista complementar, mas certamente na MINHA lista não estaria o Ronaldinho Dentuço, e entre a lista dos 23 estaria o Diego Tardelli.
Agora, é comprar algumas toneladas de paciência e torcer para que dê certo. Pelo menos, até agora o Dunga ganhou tudo o que disputou!

terça-feira, 11 de maio de 2010

Copa 2010 - Os convocados do Dunga

Veja abaixo a lista dos convocados pelo técnico Dunga para a Copa do Mundo 2010:



(Vídeo do portal r7.com)

Em minha opinião, Dunga manteve a coerência na convocação. Porém, convocou muito jogador de marcação no meio de campo, mostrando que a seleção deve ser "retranqueira". De qualquer forma, é o que foi feito. Assim sendo, "oremos" e torçamos pra que essa galera consiga mais esse título.

segunda-feira, 26 de abril de 2010

Para pensar

O que se pode prometer
(Friedrich Nietzsche, aforismo do livro "Humano, demasiado humano" ("Menschliches, Allzumenschliches"))

"Pode-se prometer atos, mas não sentimentos; pois estes são involuntários. Quem promete a alguém amá-lo sempre, ou sempre odiá-lo ou ser-lhe sempre fiel, promete algo que não está em seu poder; mas ele pode prometer aqueles atos que normalmente são consequência do amor, do ódio, da fidelidade, mas também podem nascer de outros motivos: pois caminhos e motivos diversos conduzem a um ato. A promessa de sempre amar alguém significa, portanto: enquanto eu te amar, demonstrarei com atos o meu amor; se eu não mais te amar, continuarei praticando esses mesmos atos, ainda que por outros motivos: de modo que na cabeça de nossos semelhantes permanece a ilusão de que o amor e imutável e sempre o mesmo.
Portanto, prometemos a continuidade da aparência do amor quando, sem cegar a nós mesmos, juramos a alguém amor eterno."

Tenham todos uma excelente semana!!

sexta-feira, 23 de abril de 2010

Luta de Sumô

A luta de sumô mais esperada do século vai acontecer no dia 28/04/2010!! Não perca!!



sexta-feira, 16 de abril de 2010

E porque hoje é sexta...

...tá na hora de começar a relaxar!

==================================

Um homem assistia futebol pela TV, mas mudava de canal a toda hora: do canal de esporte para um filme pornô que mostrava um casal em plena ação.
- "Não sei se assisto o filme ou se vejo o jogo", disse para a mulher.
- "Pelo amor de Deus, assista o filme" ela respondeu. "Futebol você já sabe jogar".

==================================

O rapaz leva a namorada para o motel. Chegando lá, ela tira a roupa, deita-se na cama, abre as pernas e sussurra com voz languida:
- "Vem, me faz sentir mulher!"
O rapaz tira as roupas, joga-as em cima da moça e diz:
- "Toma, lava!"

==================================

Uma garota inteiramente nua entra no bar do Mineiro e pede uma cachaça. Ele prepara a bebida e ao passar-lhe o copo debruça-se sobre o balcão para observá-la atentamente. Pouco depois a garota pede outra cachaça e o Mineirinho volta a debruçar-se sobre o balcão. Ela se irrita:
- "Você nunca viu uma mulher nua?"
Educadamente, o Mineirinho responde:
- "Mais claru qui vi sô, bom demais. Tô querendo sabê dondi ocê vai tirar o dinheiro pra pagá as cachaça!"

==================================

Um revigorante final de semana para todos!!

segunda-feira, 12 de abril de 2010

Para pensar

Tudo depende de mim
Charles Chaplin

Hoje levantei cedo pensando no que tenho a fazer antes que o relógio marque meia-noite.
É minha função escolher que tipo de dia vou ter hoje.
Posso reclamar porque está chovendo, ou agradecer às águas por lavarem a poluição.
Posso ficar triste por não ter dinheiro, ou me sentir encorajado para administrar minhas finanças, evitando o desperdício.
Posso reclamar sobre minha saúde, ou dar graças por estar vivo.
Posso me queixar dos meus pais por não terem me dado tudo o que eu queria, ou posso ser grato por ter nascido.
Posso reclamar por ter que ir trabalhar, ou agradecer por ter trabalho.
Posso sentir tédio com as tarefas da casa, ou agradecer a Deus por ter um teto para morar.
Posso lamentar decepções com amigos, ou me entusiasmar com a possibilidade de fazer novas amizades.
O dia está na minha frente esperando para ser o que eu quiser ser.

sexta-feira, 9 de abril de 2010

Lorentz: mais uma novidade do Firefox 3.6


Mais uma melhoria na estabilidade no Firefox 3.6: está em fase de testes (versão beta) o "Lorentz". Segundo o site da Mozilla, o "Lorentz" "provê navegação initerrupta para Windows e Linux quando ocorre um "crash" nos plugins Adobe Flash, Apple Quicktime ou Microsoft Silverlight. Se um plugin congela, isto não afetará o Firefox. O usuário poderá recarregar a página para reiniciar o plugin e tentar novamente. "
O Firefox Lorentz fará parte de um futuro release do Firefox 3.6. E como ainda está em fase de testes, podemos ajudar a testá-lo. Para isso, basta instalar a versão que está em http://www.mozilla.com/firefox/lorentz/, e enviar feedbacks através deste link ou preenchendo este formulário.
Acompanhando o twitter do @br_mozdev, essa característica não se restringe aos plugins citados acima, como dá a entender o link da Mozilla. Vou fazer alguns testes e depois posto os resultados.

Via @br_mozdev.

E porque hoje é sexta...

... vamos rir (ou pelo menos tentar! :-) ).

Uma mulher, executiva de uma grande empresa, faz a sua primeira viagem de negócios para o Rio de Janeiro. À noite, sentiu-se sozinha e com uma sensação de liberdade que nunca havia sentido antes.Decidiu chamar uma dessas "empresas de acompanhantes", cujos folders de propaganda estão nas mesas dos quartos de todos os hotéis nas grandes cidades.
Localizou, sem dificuldade, um que oferecia serviço masculino, denominado "ferótico". Com o encarte nas mãos molhadas de suor pela expectativa discou o número marcado.
- "Alô!", atendeu uma voz masculina marcadamente sensual.
- "Alô. Eu preciso de uma massagem... Não, espera! Na realidade o que eu quero é SEXO! Uma grande e duradoura sessão de sexo, mas tem de ser agora! Estou falando sério! Quero que dure a noite inteira! Estou disposta a fazer de tudo, participar de todas as fantasias que vocês inventarem. Traga tudo o que tiver de acessórios, algemas, chicotes, dildos, pomadas, vibradores, quero ficar a noite inteira fazendo de tudo! Vamos começar passando geléia no corpo um do outro, depois quero que você me grude na parede... estou disposta a fazer de tudo e topo todas as posições: frango assado, rã com câimbra, canguru perneta, folhinha-verde, vaca atolada, saquinho de chá, helicóptero... ou tu tens alguma idéia mais tesuda? O que tu achas?"
- "Bem, na verdade me parece fantástico. Mas aqui é da portaria do hotel... Para chamadas externas a senhora precisa discar o número zero primeiro...."

Desejo um ótimo final de semana a todos!

quinta-feira, 1 de abril de 2010

Usando o Motorola Backflip como modem 3G


Quando comprei meu Backflip, uma das coisas que perguntei à pessoa que estava me atendendo era se ele funcionaria como modem 3G. Ela me respondeu que não, pois a versão atual do Android (1.5) deste aparelho ainda não permitia essa funcionalidade.
Então, resolvi pesquisar à respeito. Bem, na verdade a minha primeira pesquisa foi perguntar pro meu consultor para assuntos "celularísticos", o Ézyo, se era possível. Ele me disse que sim, e ele me indicou uma solução com o Proxoid . Então pesquisei e achei um tutorial na Linux Magazine sobre o assunto (em inglês). Segui o tutorial, e o negócio funcionou. Os passos são simples, veja abaixo:


1. Instale o Proxoid no seu Android, utilizando o Android Market;
2. No telefone, clique em "Menu" -> "Configurações" -> "Aplicativos" -> "Desenvolvimento" e marque "Depuração USB";
3. No seu Linux (eu utilizo no trabalho o Ubuntu 8.04), crie o arquivo 90-android.rules (eu utilizei o terminal e o vim):
   sudo vim /etc/udev/rules.d/90-android.rules
4. Acrescente o seguinte conteúdo no arquivo:
   SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
5. Salve o arquivo:
   ESC
   :wq
6. Faça o download e descompacte o Android SDK:
    $ wget http://developer.android.com/sdk/download.html?v=android-sdk_r05-linux_86.tgz
   $ tar -xvf android-sdk_r05-linux_86.tgz
   $ cd android-sdk-linux_86/
7. Instale o Android SDK:
   $ tools/android update sdk
   Nesse momento, será feito o download das ferramentas do SDK. Aqui demora um pouco, pois será feito um download de aproximadamente 50MB.
8. Conecte o telefone à sua máquina via USB e inicie o Proxoid.
9. No terminal, vá para o diretório android-sdk-linux_86/tools e digite os seguintes comandos:
   $ cd android-sdk-linux_86/tools
   $ ./adb forward tcp:8080 tcp:8080
10. Caso aconteça o erro "insufficient permissions for device" (comigo aconteceu! :-P ), faça o seguinte:
   10.1. No telefone, vá em "Menu" -> "Configurações" -> "Aplicativos" -> "Desenvolvimento" e confirme se está marcada a opção "Depuração USB";
   10.2. Execute o Proxoid;
   10.3. No seu Ubuntu, digite o seguinte:
      $ cd android-sdk-linux/tools
      $ ./adb kill-server
      $ sudo ./adb start-server
      $ ./adb devices
      $ ./adb forward tcp:8080 tcp:8080
11. Altere as configurações de rede do seu navegador (eu utilizo o Firefox), e configure para que acesse a internet via proxy manual, com HTTP=localhost e Porta=8080, e é só correr pro abraço! :-)
Eu sei que isso pode parecer gambiarra (e eu acho que na verdade é!), mas funciona bem. Eu achei ruim a parte de ter que instalar o Android SDK só pra ter acesso ao dispositivo, mas enquanto não tem uma solução melhor, dá pra usar assim.
Esse procedimento também funciona no Motorola Milestone, e penso que deve funcionar também no Quench e no Dexter, que tem hardwares semelhantes e também tem o Android 1.5. No Milestone, a versão do Android já é a 2.0.1.
Para Windows, tem um aplicativo chamado PDANet. Esse eu ainda não testei, mas assim que fizer posto alguma coisa aqui.

Mais uma vez agradeço ao Ézyo pela consultoria!


Update (05/04/2010 - 13:44h): O procedimento também funciona no LG GW620, que também tem o Android 1.5, conforme informação do Ézyo. Obrigado mais uma vez!


sexta-feira, 26 de março de 2010

1 ano


Hoje completa o primeiro ano de existência deste blog. Muitos ainda virão? Não sei... Mas espero que sim! :-)
A 1 ano atrás eu trocava idéias com o Ézyo sobre esse negócio de blog, quis conhecer como funciona, e resolvi criar um pra mim, pra escrever sobre qualquer coisa que eu tivesse vontade. E assim fiz. E nesse segundo, começou o primeiro problema: qual seria o nome do blog? O Ézyo falou: "Tem que ser alguma coisa que seja a tua cara". Então eu liguei pra Nádia, expliquei a situação pra ela, e ela me disse: "Alguma coisa que seja a tua cara? Farinha!!".
E daí saiu o nome do blog: Farinha Digital.
Quero agradecer ao Ézyo pelo incentivo, e à Nádia por mais esse apoio (afinal, o que seria da minha vida sem ela???). Agradeço também às outras pessoas que me deram apoio no começo (e continuam apoiando! :-) ), e também a todo os que me ajudam e de alguma forma incentivam.
Bem, este mês tá meio complicado fazer postagens, quem convive comigo de perto tem idéia da situação um pouco conturbada que eu tô passando. Não é nada complicado, mas me deixa sem tempo de fazer postagens.Como eu acho que essa fase vai acabar logo, espero voltar a postar com mais freqüência, e quem sabe um dia cumprir minha meta pessoal de um post por dia durante um mês.
Bem, então parabéns pra mim e pro meu blog!! E que venham muitos anos de postagens pela frente!!

quinta-feira, 18 de março de 2010

Saudades eternas

Hoje ele completaria 71 anos.  E, infelizmente, me faz falta há quase 32 anos. Meu pai era uma pessoa muito querida. Uma de suas características mais citadas nas conversas em família era a de que ele era muito "paizão", muito família. Adorava os filhos. E não tenho a menor sombra de dúvidas de que também amaria seus netos.
Impossível mensurar em palavras a falta que ele me faz, não só a mim como a minha mãe e meus irmãos.
Pai, continuo te amando. Pra sempre.

sexta-feira, 26 de fevereiro de 2010

E porque hoje é sexta...

...mais uma piadinha!

Remédio pra tosse

O farmacêutico entra na sua farmácia e repara num homem petrificado, com os olhos esbugalhados, mão na boca, encostado em uma das paredes. Ele pergunta para o auxiliar:
- Quem é esse cara encostado naquela parede?
- Ah! É um cliente que queria comprar remédio para tosse. Como não tinha, eu vendi um laxante.
- Você ficou maluco? Desde quando laxante é bom para tosse?
- É excelente. Olha só como ele tá com medo de tossir!!

Bom final de semana!!

quinta-feira, 25 de fevereiro de 2010

Você se garante?


Você é bom de amassos? Então, encare essa proposta: amassador profissional. A foto foi tirada no dia 12/06/2009 (sugestivo, não? :-) ), em uma padaria na Almirante Barroso, e a oferta permanece até hoje. Será que ninguém se garantiu???

sexta-feira, 19 de fevereiro de 2010

Atualizações de segurança para o Firefox


Foram liberadas, pela Fundação Mozilla, correções para 5 falhas encontradas no navegador Firefox: três críticas e duas consideradas moderadas.
Todas as falhas foram encontradas em versões anteriores à versão 3.6.
As vulnerabilidades são corrigidas nas versões 3.0.18 e 3.5.8.
Para atualizar o navegador, basta clicar em "Ajuda" e depois "Verificar atualizações...".
Importante ressaltar que o Firefox 3.6 não precisa ser atualizado.

Aqui e aqui tem mais informações sobre essas correções.

Podcast: Jazz'n'Bossa

E por falar em música, quem gosta de Jazz'n'Bossa não pode perder o podcast que está no Belém do Pará (http://www.belemdopara.com.br/). O site tem muitas coisas interessantes, dentre elas este podcast postado de tempos em tempos. Quem quiser ir direto ouvir a seleção musical, clica aqui.
Este é o 5° podcast, todos com uma excelente seleção feita por Antonio Mokarzel (diretor de conteúdo do site BelémdoPará). Veja abaixo o Playlist do 5° podcast:
1. Triste - Sophie Milman
2. Quiet Nights - Sylvia Telles
3. Bloomdido - Charlie Parker e Dizzy Gillespie
4. Night & Day - Ella Fitzgerald
5. What's New - Karrin Allyson
6. Night Life - Lennie Niehaus
7. Summer Soft - Najee
8. Ain't No Sunshine - Bill Withers
9. Come Dance With Me - Shirley Horn
10. Swingin' At Newport - Count Basie

Noteput: para quem gosta de música


Noteput é uma mesa de música interativa que combina os sentidos de tato, visão e audição para o aprendizado de música.

A mesa foi desenvolvida por Jürgen Graef e Jonas Heuer, e funciona como uma partitura em branco, na qual o usuário pode criar e tocar a música que quiser.

Para ver um vídeo do "brinquedo" em ação, clique aqui, e para ver mais fotos e detalhes sobre o projetos, clique aqui.

Via g1.globo.com.

E porque hoje é sexta...

...a piadinha da semana. E como foi a semana do carnaval, umas piadas de bêbado!

=================================================
O médico tenta examinar o paciente que está completamente embriagado.
- O senhor toma muito álcool ?
- Não, doutor ! Muito difícil... só mesmo quando não tem uma cachacinha por perto !
=================================================
O bêbado ia subindo uma ladeira, firmemente agarrado a sua inseparável garrafa de cachaça, quando tropeça e leva o maior tombo. Refeito do susto, sente algo molhado debaixo da camisa:
- Ai, meu Deus ! – lamenta-se – tomara que seja sangue !
=================================================
Num ônibus, um padre senta ao lado de um sujeito completamente bêbado, que tenta, com muita dificuldade, ler o jornal. Logo, com voz empastada, o bêbado pergunta ao padre:
- O senhor sabe o que é artrite?
Irritado, o pároco respondeu:
- É uma doença provocada pela vida pecaminosa e desregrada: Mulheres, promiscuidade, farras, excesso do consumo de álcool e outras coisas!
O bêbado calou-se e continuou com os olhos fixos no jornal. Alguns minutos depois, achando que tinha sido muito duro com o bêbado, o padre tenta amenizar:
- Há quanto tempo o senhor está com artrite ?
- Eu? Eu não tenho isso não ! Segundo esse jornal aqui,quem tem é o Papa!!!
=================================================
Um bêbado entra na igreja e ve o padre no altar falando para os fiéis que estavam todos de pé.
- O álcool é a desgraça do homem, todos aqueles que querem ficar livres dele, sentem-se.
Todos os fieis sentaram.
Então o bêbado la na porta grita para o padre.
- Só nós dois mesmo, né seu padre?
=================================================

Bom final de semana!!

sexta-feira, 12 de fevereiro de 2010

Canalhas

Tem coisas que acontecem que não dá pra falar com palavras amenas.
Hoje houve uma paralisação dos rodoviários da empresa Viação Forte Ltda. Com isso, os motoristas de van aproveitaram pra ganhar dinheiro. O problema é a maneira: uma passagem que custa normalmente R$-1,20 foi "aumentada" para R$-4,00!! Dá pra acreditar???? E tem lugares em que existe apenas uma linha de ônibus, tornando os usuários reféns desta corja de canalhas. Agora eu pergunto: vamos reclamar pra quem?

E porque hoje é sexta...

...mais uma piadinha. Essa é pra certos professores que se acham muito espertos!!

Adivinhações

Um professor de Matemática quis pregar uma peça em seus alunos e lhes disse:
— Meninos, aqui vai um problema: Um avião saiu de Amsterdam com uma velocidade de 800 km/h, à pressão de 1.004,5 milibares; a umidade relativa era de 66% e a temperatura 20,4 graus C. A tripulação era composta por 5 pessoas, a capacidade era de 45 assentos para passageiros, o banheiro estava ocupado e havia 5 aeromoças (mas uma estava de folga).
— A pergunta é: Quantos anos eu tenho?
Os alunos ficam assombrados. O silêncio é total .
Então o Joãozinho, lá no fundo da sala e sem levantar a mão, diz de pronto:
— 44 anos, professor!
O professor, muito surpreso, o olha e diz :
— Caramba, está certo . Eu tenho 44 anos. Mas como tu adivinhaste?
E Joãozinho:
— Bem, eu deduzi porque eu tenho um primo que é meio babaca, e ele tem 22 anos ...

Vi lá no http://www.sobobagem.com.br/.

Bom final de semana prolongado a todos. Lembrem-se: se for dirigir, não beba, use sempre camisinha e não esqueça de dar uma passadinha por aqui!

quinta-feira, 11 de fevereiro de 2010

Que feio, Banco do Brasil!

Ontem, 10/02/2010, quem utiliza Linux e Firefox e tentou acessar o site do Banco do Brasil, simplesmente não conseguiu. Aparecia uma mensagem dizendo que não foi possível instalar a solução de segurança, e a versão do Java deveria ser atualizada. Ora, minha versão do Java é a última disponível no site http://java.com!
Um colega entrou em contato com o suporte do Banco do Brasil (0800, disponível no site) e foi informado que havia acontecido uma atualização e que o site não estava disponível para quem utiliza Linux e Mac, situação sem solução até aquele momento. Simples assim.
Acho que isso é, pra dizer o mínimo, um grande desrespeito aos clientes de um banco do porte do Banco do Brasil. Fica parecendo que foi programada uma atualização na solução de segurança, mas que simplesmente não foi feito nenhum teste com Linux e Mac, apenas com Windows e Internet Explorer. E ignorar os usuários destes dois sistemas operacionais é ignorar uma parcela de usuários que está crescendo cada vez mais.
Hoje, 11/02/2010, o site do Banco do Brasil voltou a funcionar para os usuários do Linux. Não sei para os Mac, pois não tenho acesso a algum computador com Mac. Quem sabe alguém que utilize pode dizer?
Bem, espero que o Banco do Brasil tenha mais cuidado em suas próximas atualizações, e que considere TODOS os meios de acesso ao seu site, para que situações como essa não voltem a acontecer.

terça-feira, 9 de fevereiro de 2010

Add-on infectado no Firefox

No dia 04/02/2010, a Mozilla comunicou que foram encontrados dois add-ons para o Firefox que possuem código malicioso (vírus). De acordo com o comunicado, os add-ons são "Versão 4.0 do Sothink Web Video Downloader" e "Master Filer (todas as versões)". Esses add-ons contêm, respectivamente, as pragas Win32.LdPinch.gen e Win32.Bifrose.32.Bifrose. Estes add-ons já foram desabilitados.
Esses add-ons ficaram disponíveis por alguns meses, e foram baixados cerca de 4.600 vezes.
Caso um desses tenha sido instalado em seu computador, deve ser desinstalado imediatamente. Porém, apenas desinstalar não é suficiente para a remoção do vírus: é também necessária a ajudar de programas antivírus para remover completamente a ameaça. No site do comunicado há uma lista de programas antivírus que detectam o vírus.
A vulnerabilidade afeta somente usuários do Windows.
Ainda de acordo com o comunicado, "...AMO (addons.mozila.org) executa uma verificação de malwares em todos os add-ons que enviados para o site, e bloqueia os que são detectados como ameaça. A ferramenta de verificação falhou na detecçao do Trojan no Master Filer. Duas ferramentas adicionais de detecção de malware foram adicionadas à cadeia de validação de add-ons, e todos os add-ons foram novamente verificados, o que revelou o Trojan adicional na versão 4.0 do Sothink Web Video Downloader. Nenhum outro malware foi detectado."
Infelizmente esta não é a primeira vez que isso acontece: em maio de 2008, o site The H anunciou uma situação semelhante. Um add-on de pacote de linguagem Vietnamita apresentou o problema. O site Br-Linux.org fala que "Em poucos meses esta é a terceira ocorrência noticiada por aqui", porém não deixou links para as demais.

segunda-feira, 8 de fevereiro de 2010

Os filhos que eu tenho!

O filho que eu quero ter
(Toquinho e Vinícius de Moraes)

É comum a gente sonhar, eu sei, quando vem o entardecer
Pois eu também dei de sonhar um sonho lindo de morrer
Vejo um berço e nele eu me debruçar com o pranto a me correr
E assim chorando acalentar o filho que eu quero ter
Dorme, meu pequenininho, dorme que a noite já vem
Teu pai está muito sozinho de tanto amor que ele tem

De repente eu o vejo se transformar num menino igual à mim
Que vem correndo me beijar quando eu chegar lá de onde eu vim
Um menino sempre a me perguntar um porque que não tem fim
Um filho a quem só queira bem e a quem só diga que sim
Dorme menino levado, dorme que a vida já vem
Teu pai está muito cansado de tanta dor que ele tem

Quando a vida enfim me quiser levar pelo tanto que me deu
Sentir-lhe a barba me roçar no derradeiro beijo seu
E ao sentir também sua mão vedar meu olhar dos olhos seus
Ouvir-lhe a voz a me embalar num acalanto de adeus
Dorme meu pai sem cuidado, dorme que ao entardecer
Teu filho sonha acordado com o filho que ele quer ter

Para pensar

Quantos anos você tem?
Não responda já. Apenas leia e reflita…
Se nos perguntam “quantos anos você tem?”, nossa tendência é enumerar o período de tempo já vivido.
Mas não paramos para refletir que esses anos que se passaram – já não os temos mais. São tempos que se foram, pertencem ao passado, bem ou mal, felizes ou não, e já não mais podemos fazer uso deles, a não ser usufruir as lições que a vida, concretamente, nos ensinou.
Mais sensato seria responder: “espero ter muitos anos“.
Porque os anos vindouros – estes sim – significam aqueles que ainda nos restam, os que “temos” de verdade, nos quais está depositado o que permaneceu de esperança e de sonhos a concretizar.
Quantos anos você tem?
Pense nisso.
E procure fazer dos anos – que você ainda tem – os melhores de sua existência.

Retirado do site Cultura Livre.
Com esta mensagem parabenizo meu filho Gustavo, que hoje completa 2 anos de idade! Ele, sim, tem muitos, muitos e muitos anos pela frente. E pretendo fazer tudo o que estiver ao meu alcance para que todos estes muitos anos que ele tem pela frente sejam muito felizes! Parabéns, Gustavinho!! Te amo muitão!!!!

sexta-feira, 5 de fevereiro de 2010

E porque hoje é sexta...

...uma piadinha pra relaxar. Essa eu recebi da Fernanda, por e-mail.

Ricos e pobres
A professora dava aula a seus alunos sobre as diferenças entre os ricos e os pobres. Júlia levanta o dedo:
-Fessora, meu pai tem tudo: televisão de plasma, DVD, carro....
-Tudo bem, diz a professora, mas será que tem uma lancha?
Júlia pensa um pouco e diz:
-Bem fessora...ele não tem lancha.
-Está vendo, é como eu disse, não podemos ter tudo.
E seu pai Artur?
-Ah fessora, meu pai tem tudo: ele tem TV de plasma, DVD, carro e lancha...
 -Sim - responde a professora - mas será que tem um avião particular?
Artur pensa um pouco e responde:
-Bom......avião particular ele não tem!
-Está vendo que não se pode ter tudo na vida? - disse a professora.
Aí o Joãozinho levanta o dedo e diz:
-Fessora! Mas o meu pai tem tudo!
-Tudo? Por que vc acha que ele tem tudo ? 
-Porque sábado passado, quando minha irmã apresentou o namorado, que é torcedor do paysandu, meu pai disse:
 "PelamordeDeus!!!!! ERA SÓ O QUE ME FALTAVA!!!!!!!!"

Desejo a todos um final de semana cheio de alegria!

terça-feira, 2 de fevereiro de 2010

Intuição

Intuição
Oswaldo Montenegro

Cante uma canção bonita falando da vida em ré maior
Cante uma canção daquela de filosofia, é mundo bem melhor
Cante uma canção que agüente essa paulada e a gente bate o pé no chão
Cante uma canção daquela, pula da janela, bate o pé no chão

Sem o compromisso estreito de falar perfeito, coerente ou não
Sem o verso estilizado, o verso emocionado, bate o pé no chão
Canto que não silencia, é onde principia a intuição
E nasce uma canção rimada da voz arrancada o nosso coração

Como sem licença, o sol rompe a barra da noite sem pedir perdão
Hoje quem não cantaria, grita a poesia e bate o pé no chão
Sem o compromisso estreito de falar perfeito, bate o pé no chão
Sem o verso estilizado, o verso emocionado, bate o pé no chão

Cante uma canção bonita falando da vida em ré maior
Cante uma canção daquela de filosofia, é mundo bem melhor
Cante uma canção que agüente essa paulada e a gente bate o pé no chão
E hoje quem não cantaria, grita a poesia e bate o pé no chão

segunda-feira, 1 de fevereiro de 2010

Para pensar

Texto retirado do site: http://www.reflexao.com.br/mensagem_ler.php?idmensagem=443
A parte mais importante do corpo

Qual será a parte mais importante do corpo? Eis uma questão, com certeza, de difícil solução. Pois, uma mãe muito jovem perguntou a seu filho, um dia, exatamente isso.
O menino pensou um pouco e se lembrou de como o som é importante para os seres humanos, permitindo a audição da voz humana e dos sons dos animais, do vento, da chuva, da música. Por isso, respondeu: "minhas orelhas", mãe.
"Não, você não acertou. Mas, não se preocupe. Continue pensando no assunto. Em outra oportunidade, volto a lhe perguntar."
Algum tempo se passou até que a mãe tornou a fazer a mesma indagação. O garoto, que desde a sua primeira tentativa de resposta, frustrada, pensara muito no assunto, respondeu logo: "mãe, a visão é muito importante para todos. É ela que nos permite vislumbrar a beleza das cores, o rosto dos nossos amores, as cenas dos filmes, do teatro. Então, a parte mais importante do corpo são os nossos olhos."
"Você está aprendendo rápido", disse a mãe, "mas a resposta ainda não está correta. Pode-se viver sem a visão dos olhos. Pense em quantos cegos existem pelo mundo."
O menino não desistiu e continuou a sua busca pela resposta, ao longo do tempo. Vez ou outra, a mãe voltava à carga e a cada resposta dele, ela frisava: "não, não é esta parte a mais importante. Mas você está ficando mais esperto a cada ano, minha criança."
O tempo passou e um dia, morreu o avô do menino. Todos ficaram tristes. Ele era muito amado. Todos choraram. O jovenzinho viu seu pai chorar. Aquilo o marcou porque era a segunda vez, em sua vida, que via seu pai chorar.
Então, sua mãe olhou para ele, quando ele se aproximou do caixão para, de sua intimidade, dirigir um até logo mais prolongado ao avô.
E ela perguntou: "filho, agora você já sabe qual a parte do corpo mais importante?"
O rapaz ficou chocado. Aquele não era um momento próprio para fazer aquela pergunta. Mesmo porque, desde a infância, ele sempre levara tudo aquilo à conta de um jogo entre ele e sua mãe. Um jogo que ele pensava ganhar um dia, quando descobrisse a resposta correta.
Mas, aquele momento era de muita dor para se pensar em jogo. Ainda confuso, ele ouviu a mãe ponderar: "esta pergunta é muito importante. Mostra como você viveu realmente a sua vida. Para cada parte do corpo que você citou no passado, eu lhe disse que estava errado. Mas hoje é o dia que você necessita aprender esta importante lição."
Ela olhou o filho daquele jeito que somente uma mãe pode fazer. Havia lágrimas em seus olhos, quando falou: "meu querido, a parte do corpo mais importante é seu ombro."
"Por que eles sustentam minha cabeça?"
"Não, filho. É porque pode apoiar a cabeça de um amigo ou de alguém amado quando eles choram."
Todos precisam de um ombro para chorar em algum momento de sua vida, meu querido.
Eu espero que você tenha bastante amor e amigos. E que tenha sempre um ombro disponível se acaso precisarem chorar.
As pessoas poderão esquecer do que você disse, depois de algum tempo. Mesmo porque, quase sempre não nos habituamos a escutar com o coração e a memória nos trai.
As pessoas poderão esquecer do que você fez, com o passar dos anos. A memória da gratidão costuma empalidecer no decurso dos anos.
Mas as pessoas nunca se esquecerão de como você as fez sentir, da amizade que ofertou, da emoção que proporcionou, da solidão que preencheu, do amor que semeou.
Pense nisso!
Desejo a todos uma semana repleta de realizações!