Hbdia
  • Feed do Hbdia
  • Twitter
  • Youtube

Como resolver vários problemas na sua vida com um patinho de borracha

Postado em 22 August 2012 Escrito por Izzy Nobre 58 Comentários

Lembra que eu falei que o HBD ia parar de ser atualizado com freqüência? Bem, eu não havia levado em consideração que tenho uma hora de recreio (é feio falar isso com 27 anos e estando na faculdade? O certo é “intervalo”? Vá se foder. RECREIO) todo dia e, se vocês não ficarem sempre esperando textos de quarenta parágrafos, posso atualizar essa bagaça com freqüência invejável.

Eu tô ligado que uns 80% da cambada que lê este site é da área de informática. Imagino que temos aqui entre nós diversos profissionais diferentes desse grande ramo: Gerente de redes, desenvolvedor de apps pra celular, analista de dados, técnico de informática que formata computador e reinstala Windows (mas que antes dá aquela vasculhada por fotos indecentes), ou até mesmo CARA DO CPD, que era quem culpávamos sempre que qualquer computador lá da empresa em que eu trabalhava no Brasil dava qualquer tipo de problema.

O monitor não liga mais? Olha, o cara do CPD tava instalando uns negócio aí ontem, pergunta pra ele, viu! Aliás, ainda existe “CPD”? Me refiro à nomenclatura e tal. Enfim.

Existe uma técnica curiosa de debugging que vocês do ramo dos computadorismos talvez conheçam, embora provavelmente não: o Rubber Ducky Debugging.

Se liga na parada.

Um patinho de borracha. Obrigado, Google Imagens, por pela primeira vez na minha VIDA não retornar imagens pornográficas com um verbete. Tou escrevendo esta merda na faculdade e se a tela do iPad mostrasse subitamente putaria envolvendo brinquedinho de criança ia pegar meio mal pra mim

Como eu sou muito boçal e só uso a wikipédia em inglês (ou pelo menos é assim que categorizam quem a prefere), e o seus 3 anos de CCAA só serviram mesmo pra pedir um Número 1 no McDonalds do aeroporto de Miami, eu explico o negócio perfeitamente pra você.

Rubber ducky debugging é o processo pelo qual o programador pega um patinho de borracha (serve qualquer objeto inanimado, mas gosto da idéia do patinho porque é meio poético), coloca-o do lado do computador e então explica todo o código pra ele, linha por linha, elaborando detalhadamente todas as subrotinas e algoritmos e sei lá qual é a nomenclatura dessa indústria, eu só manjo de revistinha em quadrinho na realidade e talvez nem isso.

A idéia é que você já tem o aparato intelectual pra detectar o problema no código; entretanto, na pressa e com outras distrações tomando sua atenção, você pode ler a mesma linha setenta vezes e não notar que errou a sintaxe ou que está fazendo uma chamada errada.

Entretanto, ao desconstruir o código explicando-o pra um patinho de borracha, você ativa processos cognitivos que permitem então localizar a falha. É como dar um overclock no seu cérebro ou apertar aquele botão TURBO no seu gabinete, e em seguida comprar um PC mais rápido (já que o TURBO sozinho não fazia nada).

O legal desse método (além do fato de que ele funciona e que me dá uma desculpa pra finalmente comprar o quase hollywoodiano patinho de borracha que eu sempre mereci) é que ele não se limita aos nerds gordos que passam 8 horas no trabalho encarando um computador e depois vão pra casa passar mais 8 horas se bronzeando à luz dos seus monitores.

O método de destrinchar um assunto explicando-o pra um objeto inanimado qualquer — novamente, advogo em favor dos patinhos — serve pra inúmeros outros contextos. Qualquer coisa que você precise estudar ou revisar para uma prova, por exemplo.

Ou tomar uma decisão difícil, até: explique ambas pro patinho e naturalmente você perceberá que a decisão que você REALMENTE quer tomar está sendo argumentada com mais aptitude.

Estou com preguiça de googlear (e tenho certeza que vocês adoram a oportunidade de me corrigir), mas creio que foi Einstein ou Feynman ou talvez o Bozo que disse que “se você não consegue ensinar algo a alguém, então você não sabe a parada”. O Método do Patinho (trademark Israel “Izzy”Nobre, Canadá, 2012) remove a negatividade da máxima e estabelece que se você consegue ensinar algo pra alguém, então você realmente manja daquela parada.

Agora me dêem licença que eu vou comprar uns patinhos de borracha. Afinal, se duas cabeças pensam melhor que uma, dois patinhos me tornarão o cara mais inteligente do mundo.

Related Posts Plugin for WordPress, Blogger...

Deixe sua opinião aí. Você não tá fazendo nada mesmo!

comments

Categorias: Tutorialzinho

About Izzy Nobre

Oi! Eu sou o autor desta pocilga. Tenho 30 anos, também sou conhecido como "Kid", moro no Canadá há 10 anos, e sou casado com uma gringa. Geralmente perco meu tempo na internet atualizando este blog, batendo papo no twitter, produzindo vídeos para o youtube, e conversando sobre videogames antigos no podcast 99 Vidas. Se você gostou deste texto, venha me dizer um alô! Adoro conversar com os leitores :)

58 Comentários \o/

  1. John says:

    Nice try, redditor.

    Also, esse método é ungido na gloria do senhor pra resolver qualquer problea MESMO.

  2. Tânia B. says:

    Faz sentido.
    Acontece com uma certa frequência: eu estou com um problema que não consigo resolver e, na hora que vou explicar para o colega que se dispõe a ajudar, eu noto onde o erro está.
    Mas o patinho tem suas vantagens, ele não ri da tua cara quando vê o erro besta que passou despercebido, hahaha

  3. Lucas says:

    Li sobre essa técnica no Coding Horror eu acho.

    Serve também pra evitar aquela situação estranha: você vai até a mesa do seu chefe, começa a explicar o problema, percebe a solução, explica a solução e sai sem seu chefe dizer uma palavra.

  4. Lucas Goulart says:

    Hahahahah. Muito bom, Izzy, passarei em medicina com esse método

  5. Todo dia eu resolvo uns 3 ou 4 problemas de desenvolvimento de software com esse método.

    Izzy, cuidado pra não confundir PATO DE BORRACHA e acabar levando pra casa um PINTO DE BORRACHA. Essa outra ave não serve pra fins “debuggísticos”.

  6. Isabela says:

    Olha, eu já tenho o costume de argumentar comigo mesma em voz alta (quando estou sozinha, é claro, senão, o povo vai achar -- ou melhor, ter certeza -- de que sou louca), mas nunca tentei falar com um objeto inanimado. O conveniente é que eu tenho, de fato, um patinho de borracha decorando perto do computador!

  7. Vinicius Brenny says:

    Eu sou um quase ‘Cara do CPD’. E acho que hoje todo mundo chama da DataCenter mesmo.

    E quanto à história, ouvi de um professor de Ciência da Computação, mas no caso ele chamava de ‘Método Dom Quixote’. Ele explicava o dito código para sua estátua do cavalo com o magrelo montado.

  8. parabens says:

    Se for pra transcrever posts do reddit no seu blog, melhor nem escrever. Plágio do caralho.

    • Izzy Nobre says:

      Aprendi sobre Rubber Ducky Debugging lendo o reddit, e resolvi compartilhar o método e minha opinião sobre ele escrevendo um texto (original) a respeito.

      O que há de errado, exatamente? E mais importante — como que isso é “plágio”? Eu não posso então escrever sobre algo que descobri por aí…? Sobre o QUE eu posso escrever então…? Se eu escrever sobre um filme a respeito do qual descobri lendo o Fark, estou plagiando o Fark…?

      Tomar no cu ein, espremo meu tempo pra atualizar essa merda e nego me manda uma dessas…

      • parabens says:

        é plágio sim, e não adianta chorar no twitter

        ou escreve texto original ou bota o link do reddit logo.

        beijunda

        • Izzy Nobre says:

          Defina por favor “texto original”. Creio que sua impressão sobre a expressão é “um texto sobre um assunto que ninguém jamais falou”, é isso? Ou então “um texto sobre um assunto sobre o qual você não leu a respeito na internet”?

          Se você me explicar qual é a sua expectativa talvez eu entenda melhor seu argumento.

          • parabens says:

            aposto q se tu entrasse num site que tivesse escrevendo sobre o que está na front page do reddit tu ia xilicar.

            ah mas esqueci q vc agora é mto ocupado.

            kkkkkkkkkkkkkkkkkk

          • Izzy Nobre says:

            Não, não iria. Se alguém escreve um artigo original sobre um assunto, que diferença faz COMO ou ONDE ele aprendeu sobre o assunto? Me explica isso, sério mesmo.

            Uma coisa é você entrar no site de alguém, dar Ctrl C e Ctrl V no texto da pessoa, e clamar autoria da parada. Algo do qual eu sou vítima freqüente, aliás, mas nem reclamo mais porque faz parte do “jogo”.

            Se eu tivesse aprendido sobre RDD no Something Awful, você ainda reclamaria? E se fosse no Slashdot? E se fosse num livro? E se fosse numa aula?

            Eu não entendo a conexão “aprendeu sobre um assunto na internet e escreveu a respeito sobre = plágio”.

            Na real entendo que você só quer encher o saco, mas enfim.

          • MH says:

            Não liga não, Izzy. O problema é que as pessoas nunca querem ver outro texto/vídeo/qualquer coisa do mesmo assunto em nenhum lugar na internet, se não é plágio…
            A melhor forma de representar essa rage irracional (Pensando bem, qual rage não é irracional?) que eu encontrei foi esse video do Pewdiepie “YOU’RE COPYING ON YOUTUBE!”
            rel="nofollow">

          • Alexandre says:

            Rapaz, voce esta sendo trollado por uma pessoa chamada “parabens” e nem se tocou…

          • Arthur Bárbaro says:

            Izzy, em favor do argumento dele, vou dizer que concordo que passa a sensação de que copiou “a ideia” do post.
            Esse problema seria facilmente resolvido acrescentando um “li sobre isso aqui “, que automagicamente eliminaria a “sensação” de cópia.
            Discordarei de que seja de fato um plágio, no entanto. E também concordarei que a forma dele de se comunicar foi bem infeliz…
            Agradecemos a preferência. Obrigado, volte sempre.

          • Izzy Nobre says:

            Como assim COPIEI A IDÉIA mano? Que “idéia”? Eu apenas vi um link para o artigo na wikipédia que explicava o processo.

            Li sobre o troço, achei interessante, e resolvi dar minha opinião sobre a parada.

            Onde exatamente isso é uma “cópia de uma idéia”? Que “idéia” exatamente?

            Vocês essencialmente querem dizer que eu não posso escrever sobre algo interessante que eu achei por aí, ou que tenho que obrigatoriamente delinhar onde EXATAMENTE achei cada informação sobre qual escrevo? Me explica agora por que.

            Se eu tivesse copiado ou usado argumentos dos usuários de lá no texto, vá lá, eu até entenderia essa suposta indignação de vocês. Mas eu simplesmente vi um link pra wiki, cliquei, e escrevi sobre o assunto. Não entendo porque eu tenho que dar TANTO mérito pra quem me mostrou um link.

    • Ian says:

      caralho cara, aqui segue um link pra te explicar melhor o que é um plágio : http://bit.ly/O6NVEB

    • Samuel says:

      Esse negócio é hiper manjado em um determinado meio profissional. O fato dele ter lido sobre isso no reddit e ter postado aqui não é plágio. Ele não afirmou ter inventado o negócio — assim como o autor do texto do reddit também não inventou.

  9. Wanderson says:

    Já tinha ouvido uma variação dessas. Dizia que vc realmente só entende o que está fazendo quando vc consegue explicar pra sua mãe.
    Ex: o cara é pesquisador de vácuo. Vai explicar pra mãe o que é vácuo.
    “Mãe, tá vendo essa panela? O que tem dentro dela?”
    “Nada.”
    “Não, mãezinha, tem ar. Aí vc tira o ar de dentro dela. O que sobra?”
    “Nada.”
    “Agora sim. Vácuo é a ausência de matéria. Eu estudo o vácuo.”
    “…”

  10. Junior Pellin says:

    A melhor coisa que acontece aqui no HBD é quando o Kid escreve um texto dizendo que não vai mais poder atualizar o blog com tanta frequência.

    Isso é um indicador que em uma semana serão postados 579 textos novos. Nunca falha.

    Abraço Kid.

  11. Rafael Veiga says:

    Fica chato se você estiver em uma empresa lotada e as pessoas ficarem te observando conversar com um patinho. Mas tirando essa desvantagem social, isso parece um ótimo método. Falta coragem pra experimentar

  12. Eu conheço essa técnica, mas é com um crânio (de preferência de plástico, estilo prop de filme B, saca?).
    Acho que a turma com quem eu ando tem algum problema…

  13. Ian says:

    Excelente idéia, colocarei-a em prática pra estudar pra prova.

  14. Danilo Boros says:

    “Patinho, o Nexus 7…” To ligado Izzy, to ligado!

  15. MH says:

    Bom texto… Você não vai ficar muito solitário na faculdade, se ficar todo o intervalo fazendo texto pra gente?? ‘-‘
    Vou testar esse negócio aí.. Minha tia comprou uns patinhos de borracha pro filho mais novo dela esses dias, vou fazer uma visitinha pra ela (mwhahahahahaha)

  16. Samuel says:

    Essa técnica é mesmo muito famosa entre programadores. Muitos a conhecem como a “técnica do ursinho de pelúcia” (teddy bear principle), em que você explica para um bichinho de pelúcia (bônus se for o clássico ursinho marrom) a sua idéia e o seu código. Durante a explicação você tem grandes chances de perceber aquele “errinho bobo” que escapou durante as várias vezes que você revisou o trabalho.
    Esse esquema foi descoberto porque muita gente percebeu que, quando chamava um colega pra ajudar com um problema no código, percebia a solução enquanto explicava o que tinha acontecido. A pessoa que ia ajudar servia de auxílio simplesmente por estar lá e ouvir a explicação — ou seja, o profissional altamente capacitado que se prestou a ajudar fez tanto quanto um cone teria feito.

    E sim, essa técnica realmente funciona pra praticamente qualquer coisa, o que é muito bacana.

  17. Samuel says:

    Só uma observação chata: acho que em português a palavra “aptitude” não é dicionarizada. O equivalente seria “aptidão”.

  18. Iark says:

    Deveras interessante, utilizarei tal técnica de agora em diante.

  19. Bruno says:

    Na verdade isso funciona pra muita coisa. O princípio disso é que pensamos de forma “desordenada” normalmente (muitas coisas ao mesmo tempo, etc.), e ao explicar pra alguém (ou mesmo escrever), somos forçados a estruturar pensamentos em uma forma lógica e dentro das regras da linguagem.

    Por incrível que pareça, é esse também um dos princípios por trás da psicoterapia: ao explicar pra alguém o que nos aflige precisamos estruturar a coisa toda em palavras, o que (geralmente) te ajuda a entender seus próprios problemas de forma mais “lógica”.

  20. Murdock says:

    Por isso a gente entende melhor algo quando para pra explicar a alguém. É preciso deixar aquilo bem claro na nossa mente pra podermos passar pra frente. No caso o alguém é o patinho.

    Mas deve ser engraçado entrar numa sala em que vários programadores trabalham e vê-los conversando com seus patinhos.

  21. Ancelio says:

    Kid, CPD ainda existe! Eu trabalhei numa multinacional entre 2008 e 2010 e volta e meia culpavam o pessoal da CPD por alguma coisa. O pior é que normalmente eles tinham culpa mesmo. Onde já se viu dar acesso root pra usuário comum que mal sabe ligar o estabilizador? É pedir pra dar merda mesmo na máquina hahaha

    E cara, nunca tinha ouvido essa daí! Vou comprar uns 6 patinhos de borracha. Sempre quis ter um também desde sempre, acho que agora é uma boa oportunidade e tenho a desculpa perfeita. Obrigado pela idéia, cara! hahaha

  22. Nailson says:

    Gostei da dica, e nem conhecia ela. qdo debugo, vou fora, tomo um café (fumava um cigarro, qdo era fumante). Aí voltava e olhava e achava o erro.

    Mas existe uma prática recomendada chamada programação em pares. que funciona de forma análoga ao patim, só que é uma pessoa E programador. veja em http://en.wikipedia.org/wiki/Extreme_programming

    Ahh Izzy, e vê se toma vergonha na cara, e pede umas aulas de BD com teu Pai porra! MySQL é um SGBD tão bosta… se fosse eu, inclusive migrava o conteúdo do blog pra PostgreSQL e tacava na AWS.

    Ahh, e botava NGINX pra hostear o WordPress… aí pronto.

  23. Felipe Gandolfi says:

    Eu faço curso de info, e nas aulas de programação eu sempre fico mais a vontade quando explico o que to fazendo. Essa tática do patinho deve funcionar bem, tentarei com algum bonequinho meu 😀

  24. CCCCover says:

    Kid viado, vai morrer de tanto patinho de borracha no cu

  25. Eu sou da área de informática (Desenvolvimento) e não sabia dessa técnica… Muito boa hauhau

  26. Flayshon says:

    Outra opção para programadores: aprenda a usar um debugger. Não fique espalhando printf()’s no código.

  27. Doug says:

    HURR DURR LI NO SAITE DO REDIT HURR DURR SOL MAIS LECAL KE VCS E ISO EH PLAJIO HURR DURR TEINHO 17 ANOS E ME AXO O FODAUMBR DA INTRENETES HURR DURR

  28. Fernanda says:

    aqui na IBM tem CPD, mas não costumamos colocar a culpa neles não rs
    curti a idéia do patinho, na verdade tenho um pinguim, até mesmo aqui da IBM. tá lá em casa, vou traze-lo de volta e testar 😉

  29. alexandre sampaio says:

    que palhaçada é essa de plagio? deixa o cara dar a opiniao dele!ele nao copiou nada ,vai no gamevicio e descobre o que é plagio de verdade

  30. ricsanto says:

    Por pouco poderíamos chamar de ‘Principío House’, mas apesar dele usar o Wilson como pato, ele não explica nada, só escrotiza mesmo.

  31. Karen says:

    Juro que quando eu vi o anuncio desse post no twitter eu realmente cogitei a hipotese de ser sobre isso aqui, btw, nao leve a serio http://fotosdochongas.wordpress.com/2007/02/02/patinho-pra-se-suicidar-sem-dificuldades/

  32. […] do patinho tem a ver com a regra dos três meses? Bom, hoje li no Hoje é um bom dia sobre “Como resolver vários problemas na sua vida com um patinho de borracha“. Interessante não? Então basicamente você pode resolver a maioria dos problemas da sua […]

  33. Dianna says:

    Eu geralmente uso um bonequinho do Rei Julian ou o namorado pra esses propósitos, mas imagino que não deve ter a mesma graça que um patinho amarelo que faz “squeak” quando aperta…

  34. Isaac says:

    Feynman que disse que: “Você só sabe física se consegue explicá-la para sua empregada”

  35. igor says:

    falar com um amigo imaginário também funciona

  36. Gary M. Silva says:

    Não sou técnico, não sou gerente de rede, mas sou Monitor de Informática… E a verdade é que não faço quase nada, além de jogar minecraft e age of empires II, é claro.

  37. Danillo says:

    Izzy, o problema é se você começar a levar o patinho pra banheira… hehehehe

  38. teachergalhardo says:

    Esse é praticamente o principio da minha carreira, embora não tenha NADA a ver com programação.
    Muitas vezes eu me via passando horas estudando algum ponto gramatical ferrado, ou um texto complexo para uma aula. Por mais que eu estudasse, eu não conseguia entender direito, mas quando eu ia dar a aula, o negócio acabava fluindo, e e era como se eu entendesse aquilo perfeitamente.
    Agora eu uso isso pra qualquer coisa. Só que ao invés do patinho de borracha, eu dou uma aula pra alunos imaginários.

  39. João Lima says:

    vou tentar fazer isso com meu bobble head do Vader

  40. Muito bom Izzy, não conhecia este método. Costumo falar enquanto trabalho,(pensar alto) mas esse detalhamento nunca havia feito. vou aderir esta ideia. Valeu 🙂