Como ser otimista pode melhorar a sua vida pessoal e sua performance no trabalho

Considere que uma pesquisa revelou que dentre 5 estudantes de Harvard, 4 sofrem de depressão e consideram os estudos serem uma fonte de estresse. Enquanto isso, 95% dos estudantes do continente Africano gostam de fazer trabalho escolar.

Sendo que esse único estudante de Harvard, que não sofre de depressão, é o que tem a maior chance de ser bem sucedido, tanto na faculdade quanto, mais tarde, no trabalho.

Foi para investigar o que faz as pessoas se destacarem, com o objetivo de aplicar esse conhecimento e ajudar a aumentar o nível médio da sociedade, que surgiu a Psicologia Positiva.

happiness_advantage

E para entender o que fez com que esse único estudante de Harvard, dentre os 5, fosse bem sucedido onde outros 4 falharam foi que o autor do livro Happiness Advantage, Shawn Anchor, passou 12 anos vivendo entre os estudantes dessa faculdade e viajando o mundo descobrindo o que faz algumas pessoas ficarem acima da média.

A incrível descoberta

O motivo não está atrelado a classe social, família ou objetivos maiores de vida.

O autor descobriu que essas pessoas bem sucedidas, o são por causa de uma forma específica de interpretar a realidade.

Por exemplo, os 95% de estudantes felizes da África não veem seu dever de casa como uma fonte de estresse como provavelmente é visto em Harvard pois o enxergam como um novo desafio e um privilégio.

TL;DR

Tente sempre interpretar o que acontece sua vida de uma forma otimista. Não é a sua felicidade que depende do seu sucesso mas o seu sucesso é que depende da sua felicidade.

E, felizmente, para ser feliz não é necessário mudar drasticamente sua vida, apenas mudar um pouco sua perspectiva e prestar mais atenção nas pequenas coisas boas que acontecem no seu dia-a-dia.

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!

As 3 palavras mais difíceis de serem ditas mas que deveríamos dizer mais

Imagine que você foi convidado a ouvir uma história simples para em seguida responder a algumas perguntas. Eis a história:

Uma garotinha chamada Mary vai à praia com a mãe e o irmão em um carro vermelho. Na praia, nadam, tomam sorvete, brincam na areia e almoçam sanduíches.

Agora, as perguntas:

  1. De que cor era o carro?
  2. Eles comeram peixe e fritas no almoço?
  3. Ouviram música no carro?
  4. Tomaram limonada no almoço?

Muito bem, como você se saiu? Em uma pesquisa com crianças, quase todas elas responderam corretamente às duas primeiras perguntas (“vermelho” e “não”). Mas em geral se saíram muito pior com as perguntas 3 e 4. Por quê?

Simplesmente porque essas perguntas não podiam ser respondidas, não havia informação suficiente na história. No entanto, 76% das crianças responderam “sim” ou “não”.

Dizem por aí que as 3 palavras mais difíceis de serem ditas são eu te amo, porém, existem outras 3 palavras ainda mais difíceis de serem ditas eu não sei.

O que é uma pena pois enquanto você não admitir aquilo que não sabe, é praticamente impossível aprender o que precisa aprender.

Esse é um trecho de um livro que estou lendo, Pense como um freak. Achei que valia a pena transcreve-lo aqui para que outras pessoas possam refletir sobre a necessidade de verbalizar mais essas 3 palavrinhas.

Acredito que esta é uma dica muito valiosa e, apesar de ser uma mudança simples, tem o poder de melhorar muito nossos relacionamentos pessoais ou profissionais.

Escrevi este post justamente para poder facilmente ajudar meus amigos a refletirem sobre isso. Faça o mesmo com seus amigos 🙂

Tutorial: Como criar um sitemap dinâmico com rails (inclusive no Heroku usando S3)

Então, todos sabem que ter um sitemap bem definido é bem útil né? É ótimo pra SEO e tudo mais! Mas como fazemos pra criar um dinamicamente usando Ruby on Rails?

E se usarmos um host, como o Heroku, que não permite a criação de arquivos estáticos? Aí usamos o S3 pra contornar isso 🙂

Vamos lá:

1. Se cadastre no Amazon Web Services, mais especificamente pra usar o S3.

2. Crie um IAM user e anote a KEY_ID e a ACCESS_KEY.

3. Crie um bucket no S3, anote o nome dele.

4. Altere a “bucket policy” dele. Pra isso selecione ele, clique para exibir suas propriedades e você encontrará essa opção dentro de “permissions”.

{
	"Version": "2012-10-17",
	"Id": "Policy1432927162812",
	"Statement": [
		{
			"Sid": "Stmt1432927158236",
			"Effect": "Allow",
			"Principal": {
				"AWS": "*"
			},
			"Action": "s3:GetObject",
			"Resource": "arn:aws:s3:::NOMEDOBUCKET/sitemaps/*"
		}
	]
}

5. Instale a gem sitemap_generator e a aws-sdk adicionando ambas ao seu Gemfile:

gem 'aws-sdk'
gem 'sitemap_generator'

Depois rode:

rake sitemap:install

Essa rake task irá criar o arquivo config/sitemap.rb, nele terão comentários explicando direitinho como você faz pra adicionar URLs ao seu sitemap. No repositório da gem tem mais detalhes.

Mantenha as configurações assim:

SitemapGenerator::Sitemap.default_host = "http://www.SEUDOMINIO.com.br"
SitemapGenerator::Sitemap.create_index = true
SitemapGenerator::Sitemap.public_path = 'public/sitemaps/'
SitemapGenerator::Sitemap.sitemaps_host = "http://s3.amazonaws.com/NOME-DO-BUCKET/sitemaps/"

6. Defina variáveis de ambiente com o que anotamos previamente:

AWS_ACCESS_KEY_ID: AKIAIPZEMVLPPLEOBIIK
AWS_SECRET_ACCESS_KEY: 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
S3_BUCKET: nome-do-bucket

Não sabe fazer isso? Aprenda o que é. Eu uso o dotenv pra isso.

7. Crie uma rake task lib/tasks/sitemap.rb para enviar esse sitemap para o S3:

require 'aws'

namespace :sitemap do
  desc 'Upload the sitemap files to S3'
  task upload_to_s3: :environment do
    s3 = AWS::S3.new(
      access_key_id: ENV['AWS_ACCESS_KEY_ID'],
      secret_access_key: ENV['AWS_SECRET_ACCESS_KEY']
    )
    bucket = s3.buckets[ENV['S3_BUCKET']]

    Dir.entries(File.join(Rails.root, "public", "sitemaps")).each do |file_name|
      next if ['.', '..'].include? file_name
      path = "sitemaps/#{file_name}"
      file = File.join(Rails.root, "public", "sitemaps", file_name)

      begin
        object = bucket.objects[path]
        object.write(file: file)
      rescue Exception => e
        raise e
      end
      puts "Saved #{file_name} to S3"
    end
  end
end

8. Crie um scheduler no Heroku (ou no seu host) pra chamar essa rake task de tempos em tempos.

rake sitemap:refresh sitemap:upload_to_s3 --trace

A primeira task gera um novo sitemap e a segunda o envia para o S3. Gosto de adicionar –trace pra deixar tudo no log.

Pronto! Demorou um pouco mas deu certo né? Se não deu, comenta aí que tentou lhe ajudar.

ps: esse tutorial foi baseado em um do w1zeman1p mas dei uma melhorada, além de traduzir 🙂