Woman trowing a lot of books in the air

Aprendendo várias coisas aleatórias, porém interessantes, diariamente

A dica de hoje é simples: tem um subreddit muito famoso chamado TodayILearned, onde as pessoas compartilham coisas interessantes que aprenderam naquele dia.

Entrar no reddit pra ler ele é um saco mas recentemente ativei um applet do IFTTT que salva automaticamente no meu pocket os posts mais votados do TIL e to achando o máximo!

Como abro diariamente o pocket pra ler um ou outro post, toda vez que abro tem vários posts salvos do TIL que me ensinam algo só de ler o título. É muito prático!

Algumas coisas que mais curti aprender:

  • TIL the Japanese have a word (Kenjataimu 賢者タイム) which means the “period after orgasm when a man is free from sexual desire and can think clearly.”
  • TIL in 2015, funk band Vulfpeck took advantage of Spotify’s payment system and released a 5 minute album consisting of just silence called “Sleepify”, told their fans to listen to it on repeat while they slept, and ended up making $20k which funded future album releases and tours.
  • TIL The song “La Cucaracha” Is about Cockroaches, Marijuana and Death.
  • TIL Liam Neeson was training to be a teacher before he punched a student who pulled a knife out on him. He then gave up on his teaching dream and went into acting.
  • TIL that When you are thinking about something in such a way that you are forming words in your mind, you are actually speaking those words extremely quietly. Your vocal chords are moving, and a very sensitive microphone would be able to record what you are “thinking.”
  • TIL in England, after 2 thieves broke into a mans home and made off with his laptop, they inspected the device, found serious child abuse material and went to the cops regardless. The paedophile got 3 yrs in jail. The judge gave robbers a 12 month community service orders in light of their good deed

São muitas coisas que aprendi e achei interessante ou me fizeram rir, espero que você também curta 😁

Utilities on a table

O que você precisa focar ao criar um app, produto ou serviço foda

 

– Caraca vó, esse apartamento tá meio sujo né… Que que houve com a Beta?

– Ela teve… (nem lembro o motivo)

– Po, eu to usando um serviço de faxina que é excelente? Você agenda tudo online, tem sistema de reputação e não tem aquele possível problema de tomar processo da faxineira por questões trabalhistas: Parafuzo!

Seja ao vivo numa mesa de bar, no facebook, no instagram, num tweet ou no whatsapp, conversas como essa acontecem o tempo todo!

Todos os dias as pessoas citam coisas que elas não poderiam viver sem e com isso, intencionalmente ou não, estão recomendando esse produto para outras pessoas.

O que leva as pessoas a recomendarem algo?

Nós achamos que é porque os usuários pensam:

Essa é a coisa mais incrível que já vi na vida!

Mas na verdade é porque graças ao seu app de edição de vídeo, eles ouvem algo tipo:

Caraca! Seu vídeo ficou muito foda!

Graças ao seu serviço de faxina, eles não ouvem mais “sua casa tá uma zona hein” 😜

Qual deve ser o objetivo do seu produto, app ou serviço?

Tornar o seu usuário fodástico em algo!

Você deve pensar sempre no resultado do uso do seu produto, como ele tornará seu usuário em uma pessoa melhor.

Para ajudar uma pessoa a fazer apresentações fodas: você poderia escrever um livro sobre falar em público, desenvolver um software de visualização de dados ou um site de venda de fotos profissionais; todos eles contribuiriam com esse mesmo objetivo.

É com esse objetivo em mente que você deve pensar nas features do seu app, na comunicação da sua landing page e em tudo mais!

Quando você tornar seus usuários fodas em algo, eles nem precisarão divulgar seu produto

Por que? Porque outras pessoas divulgarão o trabalho deles!

– Viu o último fanart que o Luan desenhou? Ficou foda! Como será que ele conseguiu aquelas cores?

– Parece que ele tá usando um novo software de ilustração digital…

Ou elas virão perguntar pro seu usuário:

– Cara, curti muito sua palestra sobre testes automatizados! Tem fontes de conteúdo sobre isso pra indicar?

– Claro, tem um livro excelente: “RSpec Crie especificações executáveis em Ruby”

Badass, making users awesome

Esse é o nome do livro que inspirou este post. To lendo e curtindo muito! Tá me fazendo repensar a forma que penso meus projetos pessoais e planejo eles.

E esse jeito de pensar tá muito alinhado com uma palestra que sempre recomendo também: How great leaders inspire action, do Simon Sinek no TED.

 

 

Photo of a Ninja

Aprenda atalhos do Sublime, Vim, Atom, Github, Slack, Trello… com ShortcutFoo

ShortcutFoo tem uma ótima mecânica pra te ajudar a decorar atalhos das mais variadas ferramentas e sites.

O site utiliza mecânicas de jogos para lhe ajudar a aprender rapidamente os atalhos: eles dividem o aprendizado dos atalhos de uma ferramenta ou app em diversas lições.

Em cada lição você aprende cerca de 5-10 atalhos, praticando primeiramente eles, depois no modo “fight” você é incentivado a usa-los rapidamente e com menor quantidade de erros até que você se sinta apto a fazer o teste daquela lição, que após superado, abrirá a lição seguinte.

O serviço tem um plano gratuito onde você pode fazer as primeiras lições de cada ferramenta mas só no plano pago, que atualmente custa U$ 8, você poderá fazer todas as lições disponíveis no site.

Se você procura melhorar sua produtividade, recomendo fortemente testar o ShortcutFoo. Aqui tem uma lista de algumas das ferramentas e apps que eles suportam hoje em dia:

  • Eclipse
  • Textmate
  • Sublime Text 2 e 3
  • XCode
  • RubyMine
  • Emacs
  • Atom
  • Vim
  • Chrome Dev Tools
  • Github
  • Twitter
  • Slack
  • Terminal (Command Line)
  • Git
  • Tmux
  • Python Regex
  • Javascript Strings
  • Sketch 3
  • Photoshop
  • Illustrator
  • jQuery
  • Gmail
  • Trello
  • Jira

Melhore o seu Ruby semanalmente com Ruby Tapas

Ruby Tapas é um serviço criado pelo Avdi Grimm onde ele semanalmente posta um vídeo ensinando algo relacionado a Ruby.

O conteúdo é intermediário pra avançado, mas inclusive iniciantes conseguem acompanhar, são vídeos geralmente bem curtos, em média com 3-10 minutos onde ele aborda um tema bem específico que pode ser:

  • técnica de refatoração
  • explicação mais a fundo de alguma classe Ruby
  • dica de performance
  • dica de arquitetura de software
  • estratégia de implementação
  • design pattern
  • etc

O Avdi é muito famoso na comunidade e os vídeos desse curso fazem jus ao seu nome, recomendo a todo desenvolvedor Ruby.

Como os planos são em dólar, não sai muito barato pra gente, mas dê uma olhada nos vídeos que ele liberou gratuitamente pra você ter uma idéia da qualidade.

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.

 

fast red car

Dicas de performance pra Ruby: modifique as variáveis usando os métodos com bang!

Métodos com bang (!)

No Ruby temos as versões com bang (!) de vários métodos das classes principais, como: collect!, downcase!, flatten!, reverse! e capitalize!.

Essas variações dos métodos, na maioria das vezes, indica que você vai modificar o objeto ao invés de fazer uma cópia do objeto, altera-la e retorna-la.

Como economizar memória

Pela explicação você já deve ter percebido essa prática forma de economizar memória no Ruby: usar os métodos com bang sempre que possível!

Vamos exemplificar com código. Começaremos criando uma string com 50 megas:

huge_string = 'a' * 1024 * 1024 * 50

Agora, se usarmos o método upcase pra colocar todas as letras para maiúscula, o sistema precisará alocar mais 50 megas de memória só para fazer essa alteração:

huge_string = huge_string.upcase

Porém, usando a versão com bang, upcase!, essa enorme string não precisará ser replicada e evitaremos esse uso extra de memória!

Vale só para strings?

Nope! Isso serve pra tudo: hash, array, enumerable, etc…

A regra é simples: se não precisa copiar a variável, procure usar o método que faz a modificação in place ;D