Person using macbook

Como resolver: macOS Sierra toda hora pedindo a senha da chave ssh

Desde que atualizei meu macbook pra versão 10.12.2, toda hora que ia dar um git pull ou push, eu recebia a mensagem pedindo para digitar a senha da minha chave ssh:

$ git pull
Enter passphrase for key '/Users/yogodoshi/.ssh/id_rsa':

Depois de tentar algumas soluções diferentes, incluindo usar o keychain, a que resolveu pra mim foi adicionar umas linhas no arquivo de config global ssh: ~/.ssh/config:

Host *
  AddKeysToAgent yes
  UseKeychain yes

É isso, espero que facilite a vida de uma galera que ficou de saco cheio tentando resolver esse problema, como eu 😜

Someone coding

How to delete local git branches after the merge

From time to time we all get annoyed by the git branch autocomplete, which used to be so useful, but now makes us practically write the whole branch name! 😡

Why it keeps happening? Because we are awesome developers who use feature branch flow and now, after working so hard, we have dozens of branches on our local machine.

Yogo, can you tell me an easy way to clear these branches? I don’t wanna delete each one manually! 😩

I sure can, my friend! Here is an alias that I use to delete all my merged branches:

alias clear_merged_branches="git branch --merged | egrep -v '(^\*|master|production)' | xargs git branch -d"

It will only leave the “master” and “production” branches, which you can easily change on that code. Besides the branches that haven’t been merged into master, of course.

Remember to use this alias while you are on the “master” branch 😉

Update

As lpmusix pointed out, you can also use it as a git alias. Add to the alias section of your ~/.gitconfig:

cb = "!git branch --merged | egrep -v '(^\\*|master|production)' | xargs git branch -d"

Girl confortably working

Sites com vagas para trabalho remoto pro exterior

Recentemente, amigos vieram me fazer perguntas sobre trabalhar para empresa gringa, dentre elas uma bem recorrente é: onde encontrar essas vagas.

Para facilitá-los (e vários outros que vierem pelo Google 😜) resolvi fazer essa compilação de sites com vagas para trabalhar remotamente para o exterior:

Alguns dos sites não são para o exterior, outros não apenas de vagas remotas mas acho que valia a indicação de qualquer forma.

Também vale a pena citar essas 2 compilações de links com vários outros sites de vagas, uns específicos de alguma linguagem, outros com ferramentas que podem lhe ser úteis: Remote freelancer list e esta collection do Product Hunt.

 

Security - Private

Como private methods funcionam no Ruby

Uma confusão comum em Ruby é com métodos de classe privados. Veja o código a seguir:

class TwitterAccount
  def self.exibition_name
    "Cayo Medeiros #{username}"
  end

  private
    def self.username
      "yogodoshi"
    end
end 

Muitas pessoas acreditam que o método self.username está privado devido a declaração private logo antes dele. Porém, essa declaração só funciona para métodos de instância, não para os de classe.

Para transformar um método de classe em privado, utilize:

private_class_method :username

Para maiores detalhes, leia nesse post a resposta do criador do Ruby sobre o porque ter sido feito dessa forma.

Encontro no Rio de Janeiro pra contribuir com Open Source

A idéia:

Uma galera animou, então o “evento” vai sair! \o/

Como vai funcionar?

Simples: vamos juntar pessoas que estão afim de colaborar com open source, quem tem experiência e quem não tem, e vamos meter a mão na massa!

Não importa a linguagem: Ruby, Python, JS, Elixir, Go, whatever… você escolhe o projeto e o quanto quer colaborar. Teremos uma galera mais experiente que vai poder lhe ajudar a decidir, além de algumas ferramentas online que também lhe ajudarão com isso 🙂

Quando?

Vai começar dia 23/01, sábado, na parte da manhã ou da tarde; vai depender se alguém animar começar de manhã porque eu prefiro logo após o almoço, tipo 14h, porque quero varar a madrugada.

Ou seja: da manhã do dia 23 até a hora que a gente aguentar da madruga de domingo. Mas cada um chega a hora que quiser: sábado de manhã, a tarde, a noite…

Onde?

No escritório IRADO da HE:labs, no Rio de Janeiro:

Rua da Glória 190, sala 1002
Glória
Rio de Janeiro – RJ
20241-180, Brasil

Com direito a piscina de bolinhas, Heineken (!!!), 2 conexões com internet pra caso alguma dê problema, pinball, muito espaço pra gente codar confortavelmente e até cama pra gente descansar (pros fracos :p).

Como posso participar?

Vamos facilitar: comente aqui nesse post que horas você pretende chegar e até que horas pretende ficar pra gente conseguir organizar o office o melhor possível 🙂

Preencha esse breve form para que eu possa pelo menos ter formas de contata-lo, caso seja necessário e também termos uma idéia do total de pessoas que irão.

MegaMaker Challenge

Justin Jackson started the Mega Maker Challenge a week ago and I joined right away:

The new year is here. How can you make this year better than the last? For me the answer is to create new things. I don’t want to “just be a consumer.” Making things, and releasing them to the world, gives my life purpose.

This year, I’m challenging myself to make 100 things. Want to join me?

Mega Maker Challenge logo

I sure want! And you can as well. As he says, you don’t need to create 100 things, you can challenge yourself to create as many as you want.

He even created a newsletter with good insights to help you conquer this challenge. Join the challenge and let’s make all the things!

Melhor que aprender a programar é aprender a criar coisas

No começo…

Caraca, adoro videogame! Ia ser irado poder criar um jogo! Vou aprender a programar! \o/

ou

Quero poder criar um site irado, tipo o facebook mas só sobre videogames!

Aí faz uns tutoriais de PHP, lê um monte de blogs e artigos sobre frameworks, bancos, gems e bibliotecas do momento, cursa o Rails for Zombies, assina o Code School

Poucas semanas ou meses depois:

Que saco!! To cansado de ler um milhão de tutoriais, correr atrás de plugins/ gems, aprender o novo framework da moda, controllers, models, mailers, IDEs, erros no terminal, problemas com os comandos do git, erros de sintaxe, bugs, conflitos entre versões de gems…

A culpa é dessas pessoas? NÃO! Programar realmente não é algo divertido!
(╯°□°)╯︵ ┻━┻)

É tudo questão de perspectiva

Sabe o que é realmente divertido? Criar coisas! Inclusive, foi isso que me fez terminar minha graduação em design digital mas focar em ser programador: poder tornar realidade as minhas idéias!

Poder mostrar pras pessoas algo que foi criado a partir de uma mera idéia. Ou quem sabe até criar algo que deixe a vida dessas pessoas mais fácil, mais simples ou mais feliz.

Comece com algo pequeno, talvez um site feito apenas com HTML e CSS. Ou pegue uma idéia de um projeto bem simples, a menor que você conseguir pensar e que seja possível criar em um final de semana ou em algumas poucas semanas e torne-a realidade!

Alguns exemplos pra você se inspirar:

Não precisa ser algo enorme ou muito complexo. A parte divertida é criar algo! O processo de tornar sua idéia em algo real, tangível. Algo que você possa mostrar pra outras pessoas e que elas possam usar!

Comece agora mesmo!

Pare e pense em algumas idéias que você já teve ou anotou em algum lugar, filtre as mais complexas, pegue a menor de todas e comece agora mesmo a codar \o/

Não sabe por onde começar? Deixa um comentário com sua dúvida que ajudarei de boa.

ps: em 2014 dei uma lightning talk relacionada a este tema mas um pouco mais técnica: Tem uma ideia de um projeto? Você pode desenvolve-lo em apenas 1 final de semana!