Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View kelvinst's full-sized avatar
👨‍💻
.-. -.- ...

Kelvin Stinghen kelvinst

👨‍💻
.-. -.- ...
  • Curitiba - PR - Brazil
View GitHub Profile
@kelvinst
kelvinst / gist:1c9594a004fc8fb99778
Last active August 29, 2015 14:07
How to Start a Startup

Vídeo - How to start a Startup

Estas são minhas anotações sobre este vídeo.

Timeline

1:00 - Growth = Conversion - Churn (crescimento = conversão - atrito)

1:30 - A melhor maneira de conseguir algo como um bilião de dólares, é focar nos valores que vão te ajudar a conseguir o primeiro dólar, pra conseguir aquele primeiro usuário.

@kelvinst
kelvinst / ruby-awesomeness.md
Last active August 29, 2015 14:09
Por que ruby é tão legal?

Por que ruby é tão legal?

Um tempo atrás, eu estava nessa busca interminável, e decidi então que eu iria deixar a procrastinação de lado e aprender uma linguagem alto nível de uma vez!

Então, pesquisando um pouco com os amigos, surgiu as seguintes sugestões: Ruby e Python. Pensei: "Pronto, peço uma ajuda pra decidir, e eles me botam mais uma decisão pra mim fazer".

Como eu estava procrastinando muito (e tenho medo de cobras 😨), resolvi apostar no ruby. E desde então o ruby tem lugar garantido no meu coração. ❤️

Gostaria de compartilhar quais coisas no ruby que são mais apaixonantes na minha opinião. Tem muitas, pode apostar, mas vou elencar o top 5 aqui pra vocês, senão nunca termino o post. 😁

@kelvinst
kelvinst / enumerable-inject.md
Last active August 29, 2015 14:10
Ruby magics: `Enumerable#inject`

Ruby magics: Enumerable#inject

Como muitos já sabem, sou apaixonado pro ruby e já compartilhei vários motivos do por quê. Mas dentre os motivos que dei, não entrei muito em detalhes de códigos no ruby que me deixam sem ar de tão legais e fáceis de implementar. E um exemplo desse tipo de código é o método #inject que vou explicar pra vocês agora. Espero que se empolguem e que usem ele sabiamente.

O que ele faz?

Bom, pra quem caiu de paraquedas aqui: o module Enumerable é o modules que representa uma collection no ruby. Se você tem uma classe que é uma collection, apenas inclua esse module e implemente o método #each e você terá vários métodos úteis na sua collection.

E um desses métodos é o #inject, ou #reduce que é apenas um alias para #inject. Agora vamos aos detalhes desse método tão maravilhoso.

@kelvinst
kelvinst / i18n-debug.md
Last active August 29, 2015 14:10
Descobrindo as keys de i18n no rails

Descobrindo as keys de i18n no rails

Você já deve ter se pego tentando adivinhar qual key dos arquivos de tradução o rails está buscando né? Chutando as keys uma a uma pra ver se acerta? Não? Bom eu sim 😁, até que eu cansei e procurei algo pra resolver esse problema.

E adivinha só: já existe uma gem pra isso! 🎉 A gem i18n-debug resolve esse problema de uma forma bem fácil. Basta adicionar ela no Gemfile do seu projeto e ele vai começar a colocar as seguintes linhas no log do rails:

[i18n-debug] en.helpers.label.user.username => nil
[i18n-debug] en.helpers.label.user.username => nil
[i18n-debug] en.activerecord.attributes.user.username => "Username"
@kelvinst
kelvinst / ruby-cli-deps.md
Created December 11, 2014 20:57
Controlando suas dependências de command line tools no ruby

Controlando suas dependências de command line tools no ruby

Nesse post gostaria de compartilhar sobre um projeto bem interessante.

Quando vi essa gem, achei bem interessante... Se todo mundo usasse teríamos mensagens mais claras que qual lib que está faltando para rodar a gem...

Exemplo? O poltergeist (que é a gem para executar ) obviamente depende do phantom.js. Mas quando você instala ele e não tem phantom instalado, ocorre uma mensagem bem pouco diagnosticável. Com essa gem os nossos problemas acabaram!

O projeto é este: https://github.com/yaauie/cliver.

@kelvinst
kelvinst / faq.md
Created September 17, 2015 17:13
My FAQ

Postgres

PG::ConnectionBad

Error message:

PG::ConnectionBad: no such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

@kelvinst
kelvinst / api_doc.md
Last active April 4, 2017 19:35
API do powercash

API do powercash

A url básica para acesso a API é api.power.cash/, todas os requests para a api devem começar com este domínio e subdomínio.

Organização para testes

A organização teste existe com o intuito de facilitar os testes na API. Os dados de acesso para ela são:

@kelvinst
kelvinst / override_kernel.exs
Last active October 26, 2017 12:57
How to override Kernel functionality on Elixir
defmodule MyKernel do
def a + b, do: a * b
end
defmodule UsingIt do
import Kernel, except: [+: 2]
import MyKernel
def foo, do: IO.puts("Result is #{1 + 2}")
end
@kelvinst
kelvinst / resume.md
Last active December 6, 2017 02:49
Kelvin Stinghen Resume - 2018

Kelvin Stinghen

About me

Developer for 9 years (since 16 years old), I'm an enthusiast on Elixir, Ruby, and everything that surrounds it.

I believe that as important as the destination, is the path to it. And if you can't be proud of what you've done to get where you are, you can't be proud of nothing.

I love startups, but I don't believe in unicorns. I mean, I know that three commas can consist the value of a company, but if you can't be happy without money, you're doing it wrong.

@kelvinst
kelvinst / git-sweep.md
Last active February 22, 2022 01:02
Limpando os branches que você já fez merge

Limpando os branches que você já fez merge

Olá!

Bem, muitas vezes no dia-a-dia com o git, você abre um branch para a feature, termina, faz merge na master e pronto! Está entregue. O problema é que com isso, seu git fica cheio de branches que são, digamos: INÚTEIS. E claro que com o tempo esses branches se reproduzem como coelhos.

Como fazer para apagar todos esses branches? Você deve ter percebido que apenas um git branch -D meu-branch só apaga o branch no seu computador, e em nenhum remote.

Fácil, é só fazer o código git push origin :meu-branch, que além de ser nem um pouco claro (WTF?), te obriga a fazer isso um a um. Se forem muitos branches, babau!