Neil Carvalho

Desenvolvimento, lifehacks e outras coisas


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

Investir no Tesouro Direto

24 May 2012

Merda, digitei esse post inteiro e o Tumblr não salva automaticamente. Mas enfim, serei mais conciso dessa vez.

Comecei a investir no Tesouro Direto há 4 meses, aproveitando um aumento no salário pra evitar a conhecida inflação de estilo de vida. É sempre mais fácil começar a investir/economizar com um dinheiro que ainda não faz parte de seu orçamento, pois você não vai sentir falta do que não estava lá.

Então, abri uma conta na Rico, que apesar do nome tosco tem boas referências. É a divisão pra pessoas físicas da Octo Investimentos (Linktrade), que trocou de nome pra ficar mais amigável ao público geral. Isso por si já foi uma grande vitória, pois estava para mandar os documentos para outra corretora, a Ativa, há mais de um ano. Consegui até cansá-los de ligar pra mim.

Entrando no home broker, onde faço as ordens de compra e venda inclusive do Tesouro Direto, olhei a mais barata (uma LTN com vencimento para 01/01/2016) e mandei ver. Comprei 0,2 título, o mínimo que dá pra comprar e só depois fui ver o que se trata. Por mais que fosse furada, já me tiraria do zero, trazendo um efeito psicológico mais que necessário. E fez, pois essa foi a primeira coisa que fiz nos meses seguintes, antes de pagar até luz e água. O bom e velho pague-se primeiro.

Essa primeira compra, o LTN01012016, é um título com rendimento pré-fixado. No momento da compra já se sabe o quanto ele vai valer no vencimento independente de qualquer coisa que aconteça no mercado. Se a inflação subir demais, tô fodido. Se os juros subirem, fiz um negócio pior do que faria se tivesse comprado um título pós-fixado, mas ainda ganhei alguma grana. Mas acredito que fiz um bom negócio, já que o Governo tá se articulando para baixar ainda mais os juros.

Minha segunda compra também foi com pouca pesquisa e muita atitude. Comprei um título que só vence daqui a 24 anos, dessa vez pós-fixado e com base no IPCA, o que significa que a inflação não vai minar meus rendimentos. A outra parte dos rendimentos é com juros fixos, de 6% ao ano. É importante notar que com 6% + IPCA, temos 6% de rendimento líquido por ano, que é muito acima da poupança.

As compras seguintes já foram mais embasadas, mas já tá na hora de corrigir a estratégia de investimento. Tenho 25 anos, não deveria ter os investimentos tão conservadores, já que o tempo está ao meu favor. Nos próximos meses pretendo começar a investir em ações, mas só quando puder investir todos os meses para não gastar com taxas de custódia. Mas isso é tema pra outro post.

Comentários