Neil Carvalho

Desenvolvimento, lifehacks e outras coisas


Como estou conseguindo não acessar o Facebook

02 Feb 2014

No começo da semana, estava eu no Facebook, quando vi um amigo compartilhando um teste do TIME.com que calcula quanto tempo você já passou lá. Fiz e fiquei chocado: já perdi 3 meses naquele time sink. 91 dias. Em horas, fica mais fácil enxergar o tamanho do estrago: 2184 horas.

Porra, nesse mesmo tempo eu teria feito tantas outras coisas úteis. Poderia ter aprendido uma língua e quase atingido a fluência. Poderia ter aprendido uma nova linguagem de programação, ou aprendido a tocar violão, ou lido centenas de livros. É muito tempo.

Aí resolvi tomar uma providência. Como não posso/consigo simplesmente apagar a conta, dificultei meu acesso a ela. Como? Usando o LastPass. Como não sei minha senha ~do feice~ (assim como de qualquer outro site/serviço), se eu não conseguir usar o LastPass, não consigo acessar minha conta.

Pra isso, usei o recurso de identidades. Criei uma identidade chamado “Já perdi 2184 horas da minha vida e quero perder mais” (nada como a culpa, meus amigos) e movi o Facebook pra lá. O resto dos sites tá na identidade “Geral”, e eu tenho que re-digitar a senha pra trocar de identidade.

É tanto trabalho que eu termino não entrando. E essa semana foi bem produtiva.

Comentários

Importando posts do Tumblr para o Jekyll

01 Feb 2014

Foi trabalhoso, mas consegui.

Ao começar, parecia que seria mais simples. A página do Jekyll tem um guia explicando como fazer a importação para vários engines e sites de blog. O Tumblr tava lá, então parecia que metade do trabalho já tava feito.

Basicamente, eu precisava instalar a gem jekyll-import. Instalei. A documentação me sugeria esse comando:

$ ruby -rubygems -e 'require "jekyll-import";
    JekyllImport::Importers::Tumblr.run({
      "url"            => "http://myblog.tumblr.com",
      "format"         => "html", # or "md"
      "grab_images"    => false,  # whether to download images as well.
      "add_highlights" => false,  # whether to wrap code blocks (indented 4 spaces) in a Liquid "highlight" tag
      "rewrite_urls"   => false   # whether to write pages that redirect from the old Tumblr paths to the new Jekyll paths
    })'

Logo, alterei as opções format pra md, add_highlights pra true e rewrite_urls também para true. Rodei o comando e drumroll please ocorreu uma exceção.

Conferi o código e o problema estava na opção add_highlights, que tentava chamar um método não definido. “Ah, não tinha tanto código no blog, tô com preguiça de consertar a gem”, pensei, e removi a opção.

Yey, rodou. Abro o blog e meh, perdeu toda a formatação, todos os links, ficou só o texto. Não era isso que eu queria. Desfiz a importação e refiz em HTML.

Aí sim, funcionou. Todos os posts do Tumblr já estão nesse blog, e no máximo terei que corrigir links para outras postagens, pois o rewrite_urls não funcionou.

Comentários

Blog no Github Pages com Jekyll

01 Feb 2014

Cansei do Tumblr e quero meu blog num lugar onde eu tenha um pouco mais de controle. Movi para o Github Pages, usando o Jekyll como engine.

Apanhei um pouco para configurá-lo como blog, pois apesar de o comando jekyll new nome-do-blog já gerar um blog básico, tentei usar um dos layouts disponíveis no Github, que apenas geram uma página estática. Foi bom que aprendi uns detalhes básicos sobre o Jekyll.

Agora vou mover meus posts do Tumblr pra cá, e criar uma postagem explicando o processo.

Comentários

Gerador de senhas

25 Mar 2013

through 20 years of effort, we’ve successfully trained everyone to use passwords that are hard for humans to remember, but easy for computers to guess.,

xkcd

Senhas me incomodam bastante. As pessoas em geral não sabem escolher uma boa senha, e no final ou escolhem uma senha extremamente simples, como neil123, ou muito complexas, como DE7&i460 (sendo essa pouco complexa, na verdade). Então, inspirado nessa tirinha do xkcd e chupando o código desse site, fiz uma versão em português.

Acessem e usem senhas assim, cacete!

Comentários

Mais um mês sem Facebook

09 Mar 2013

Preciso colocar minha vida de volta aos eixos, e o Facebook tem atrapalhado bastante ultimamente. Abrir uma aba no terminal e começar a digitar facebook.com não é nada saudável e atrapalha todos os aspectos da vida.

Dia 9 de abril volto e prometo postar aqui semanalmente sobre as mudanças. Vou pôr os lembretes no celular, pra não esquecer.

Comentários

Utilizando várias contas do Heroku no mesmo computador sem apanhar das chaves SSH

01 Oct 2012

(A propósito, passarei a usar o blog como um bloco de notas)

Os que vi tendo a necessidade de fazer deploys a contas diferentes do Heroku no mesmo computador me perguntaram a mesma coisa: tem alguma maneira mais prática de resolver isso? E a resposta foi sempre a mesma: sei lá, um dia pesquiso melhor. Semana passada resolvi pesquisar melhor, por teimosia, e encontrei o motivo pelo qual o heroku-accounts não funcionava.

A propósito, tente usar o heroku-accounts antes de terminar de ler o texto e volte se tiver problemas. Enquanto isso, o intervalo comercial.

[Intervalo comercial qualquer que eu ia copiar do YouTube, mas inevitavelmente iria procrastinar]

Ok, deu merda? Minha falta de atenção foi nesse detalhe aqui:

To clone a git repository from Heroku, change ‘heroku.com’ to the Host of the desired account defined in your .ssh/config:

$ git clone git@heroku.work:repository.git

Continuei usando heroku.com, quando deveria ter mudado para heroku.personal, o nome da minha conta pessoal no trabalho.

Comentários

Não morri

01 Oct 2012

Apenas parei de escrever no blog e passei a escrever no Pobreskine. Mas não tema, devagar eu volto!

Comentários

Um mês sem redes sociais: saldo parcial

25 Jun 2012

Hoje completo 1 mês sem acessar redes sociais. Nada de Facebook, Twitter, Reddit e até mesmo Quora e LinkedIn (apesar dessas últimas estarem liberadas). Depois de alguns dias que se arrastaram, as coisas já parecem estar melhores e o desafio mais fácil.

Os primeiros dias foram bem difíceis. A cada hora eu tentava abrir o Facebook automaticamente umas 3 vezes, sem nem pensar. Era só surgir um breve momento de tédio ou perda de foco que já estava eu abrindo uma aba nova e digitando “facebook.com”. Mas tudo bem, é justamente isso que eu quero lutar. Das outras redes sociais só senti um pouco mais falta do Reddit, mas foi bem pouco. Já estava um pouco afastado do Twitter, embora tenha certeza que voltaria a tuitar com bem mais frequência se o desafio fosse passar 30 dias sem Facebook. O pacote tem que ser completo, ou a tendência é vir algo pra anular o esforço. Ah, e ontem, num domingo, não tentei entrar no Facebook nenhuma vez!

Na vida, já sinto um pouco mais de foco, apesar de isso ser uma coisa um pouco complicada de medir. Procrastinei menos, li mais, aproveitei melhor o final de semana. Ontem andei pela primeira vez de bicicleta com minha esposa, ao invés de ficarmos deitados na cama, cada um no seu computador. Sexta à noite e ontem à noite, em um tempo absurdamente curto de cada dia, programei um bot para rastrear apartamentos no ZAP Imóveis e me enviar um e-mail quando aparecer alguma com os critérios que programei. Talvez isso levasse um dia inteiro ou nem sairia do papel, não fosse esse desafio.

Comentários

Um mês sem redes sociais

20 Jun 2012

Quero passar um mês sem acessar redes sociais. Facebook, twitter, reddit, nada. É só um tempo, um desafio, inspirado pelo CEO do twitpic, que fez o mesmo (!).

Já tem algum tempo que o simples fato de abrir uma nova aba no navegador já me faz começar a digitar facebook.com. No trabalho, quando julgo que já extrapolei o limite, abro o SelfControl, que basicamente bloqueia alguns domínios via /etc/hosts pra me impedir de abrir sem pensar. Um bom lembrete, mas agora quero atacar a origem disso tudo.

Redes sociais são ótimas pra muitas coisas úteis, mas em geral elas são abusadas pelos usuários. Um tempo fora deve me fazer bem, e mal não fará.

Quero escrever mais, pensar mais, meditar mais, ler mais, me exercitar mais. Há tantas coisas boas pra ocupar nosso tempo livre, mas as redes sociais quase que o roubam completamente. Esse consumo desenfreado de informações sobre coisas que muitas vezes não me importo não é saudável. 19 de julho estarei de volta.

Já era hora.

Comentários

Jasmine: Javascript com BDD

29 May 2012

Esse é mais um post da série não faço a mínima ideia, onde na verdade faço alguma ideia (ao menos do que se trata) mas nunca parei pra estudar a fundo. Até o final do primeiro parágrafo, não fiz nenhuma espécie de pesquisa ou digitei uma linha de code example com Jasmine. E é assim que é pra ser mesmo.

Jasmine é uma ferramenta de BDD para Javascript. Essa é uma linguagem bem filha da puta e chata quando tudo parece bem, mas absolutamente necessária para qualquer coisa internética mais interativa. Não, não conto com coisas pré-históricas como applets Java ou Flash.

Pra quem é familiar com RSpec, Jasmine é moleza. it, describe, beforeEach, spies, tá tudo lá. Só que com a sintaxe do Javascript, mas beleza, tá perdoado.

Partindo daquele exemplo babaquinha da calculadora ultra simples que soma dois números, começaríamos com o seguinte spec:

describe('Calculator', function(){
  it('sums 1+1', function(){
    var calculator = new Calculator();
    expect(calculator.sum(1,1)).toBe(2);
  });
});

Que retorna o seguinte erro:

ReferenceError: Can't find variable: Calculator

Para resolver esse erro, definimos Calculator:

function Calculator() {
}

Que faz o erro alterar para

TypeError: 'undefined' is not a function (evaluating 'calculator.sum(1,1)')

Oops, faltou definir sum (com o código mais simples que dá pra fazer):

Calculator.prototype.sum = function(num1, num2) {
  return 2;
}

Yey!

Passing 1 spec

Uma cheat sheet bem mais detalhada pode ser vista aqui.

Comentários