Neil Carvalho

Desenvolvimento, lifehacks e outras coisas


Lei de Parkinson

22 May 2012

Work expands so as to fill the time available for its completion.

Cyril Northcote Parkinson

Parkinson (um economista, não o da doença) trabalhava no British Civil Service, um órgão público (ou melhor, real), que por definição é dominado pela burocracia. O termo Parkinson’s law deriva de um ensaio de humor escrito na revista The Economist, posteriormente transformado em livro com uma série de outros ensaios relacionados.

Apesar da origem humorística, o trabalho realmente parece se expandir para preencher o tempo disponível. Dado um longo tempo para completar uma tarefa, esta tende a se transformar num monstro mental que vai terminar menos bem acabada que a mesma tarefa em 20% desse tempo. Perde-se o foco, gasta-se tempo em coisas triviais e a parte mais importante fica pro final.

É importante estimar um tempo curto para cada tarefa, menos do que realmente dá pra usar. Já perdi as contas das vezes que minha turma da faculdade tinha um mês para fazer um trabalho nem tão complexo, como responder 20 perguntas ou desenvolver um aplicativo simples, e todos só terminavam (e às vezes não chegavam nem a terminar) no último dia, muitas vezes pedindo um prazo um pouco maior para a tarefa. Não é nem confundindo com a Síndrome do Estudante, que é deixar tudo para a última hora, mas às vezes o mês inteiro era utilizado em coisas menos importantes.

Já o professor que tinha conseguia melhores resultados dos alunos dava prazos aparentemente absurdos. E eram cumpridos.

Comentários

Usamos o e-mail da maneira errada

19 May 2012

Nossas caixas de e-mail são ferramentas de comunicação assíncrona, assim como os correios convencionais, mas muito mais rápidos (ainda mais comparando com nossos Correios brasileiros). Por assíncrono, deve-se assumir que em algum momento o destinatário vai receber e ler aquela mensagem, o que significa que, por definição, não se deve mandar um e-mail se você espera uma resposta imediata.

Mas, com o advento da conexão permanente à Internet, queremos respostas cada vez mais rápidas. Queremos respostas quase instantâneas. Já se assume que o destinatário vai estar com o aplicativo de e-mail aberto, com notificação de e-mails recebidos no momento que são recebidos, e que vão interromper qualquer tarefa que estejam fazendo para ler aquele e-mail.

Isso está errado, muito errado, mesmo. Existem outras ferramentas para este fim, como o bom e velho telefone e serviços de mensagem instantânea. O último não deixa de ser assíncrono, mas do próprio nome instantâneo já dá pra ver que não recebemos uma mensagem pela manhã para responder à tarde (o que acontece na vida real, mas não é o tema desse post).

Boa parte da culpa disso é nossa, porque realmente ficamos com os e-mails abertos o tempo todo, com notificações ligadas o tempo todo. Até mesmo quando estamos fora do computador, nossos celulares apitam ao chegar um e-mail. Acostumamos mal, ficamos mal acostumados e transformamos uma boa ferramenta de comunicação em algo que ferra com nossa produtividade e senso de urgência.

Fazendo minha parte, passarei a ter e-mail breaks, cortando minha contribuição ao mimo do mundo. Às 10 da manhã e às 4 da tarde, vou ver o que recebi e tomar as ações necessárias em cada um deles. Para as urgências, o celular continua ligado e o IM conectado.

Comentários

Sobre MongoDB

17 May 2012

Esse é o início da série não faço a mínima ideia, onde vou escrever sobre - surprise surprise - algo que não sei bem o que é.

MongoDB é uma dessas palavrinhas que vejo muita gente falar, penso “vou pesquisar sobre isso” e o tempo passa e não volta mais. Mas enfim, é mais um dos vários bancos não-relacionais que andam dando as caras há algum tempo.

As consultas no MongoBD seguem o padrão JSON (que o Ruby se aproximou nas hashes do 1.9), o que é legal por manter uma similaridade em diferentes representações de dados.

O armazenamento dos dados se dá por pares de chave-valor que ficam dentro de coleções (como “clientes”). Tudo se dá em pares de chave-valor, até as consultas. Para buscar na coleção bares os que têm capacidade entre 100 e 300 pessoas, por exemplo, a busca seria db.bares.find({ capacidade: { $gte: 100, $lte: 300 } }), onde $gte é greater than or equal to e $let é, por sua vez, less than or equal to.

Outros exemplos de consulta:

db.clientes.find( { nome: /^fulano/i } ) //adeus montar queries com upper e like
db.alunos.count({ ano: 5, turma: 'B'}) //quantos diabos o inferno tem
db.contas.find().skip(20).limit(10) //3ª página, fácil assim

Por enquanto é só isso. O MongoDB te dá o poder de definir funções em Javascript (pois é), fazer MapReduce com uma facilidade absurda e mais uma porrada de coisas. Mas fica pra próxima, porque não faço a mínima ideia de como fazer essas coisas.

Comentários

Go the fuck to bed

16 May 2012

A inércia é um dos maiores princípios do universo. Você não quer sair do sofá pra ir dormir, não quer sair da cama ir pra tomar banho e depois não quer sair do banho quentinho pra ir trabalhar. E ainda é provável que muitos vão ficar mais um pouquinho no trabalho.

Entre esses, um dos que mais afetam nossa qualidade de vida é não ir dormir na hora certa. Por mais que o sono esteja bem regulado, basta uma oportunidade pra ficar acordado até mais tarde sem pensar nas consequência pro dia seguinte (ou dias seguintes). A sensação é de completo lixo, você pensa que nunca mais vai fazer isso e faz de novo no mesmo dia, novamente sem pensar.

Tá programado no nosso cérebro - hardwired, como dizem em inglês - e não é nada fácil consertar por vias normais. Fácil é continuar o que você estava fazendo, no piloto automático, mesmo que não seja nada útil ou que não esteja produtivo. Sair do piloto automático gasta muita energia mental.

É nessas horas que um bom lifehack mostra sua utilidade. Se você não desliga, o mundo ao seu redor pode desligar.

Luzes

O ideal mesmo é usar um temporizador, mas um lembrete pra desligar as luzes pouco antes da hora de dormir já serve muito bem.

Enquanto não é difícil continuar o que estávamos fazendo no escuro, é um bom lembrete de que já está tarde pro nosso cérebro. Foram milhões de anos vendo o sol nascendo e se pondo e apenas um século com luz elétrica. Ele ainda não percebe que não é mais dia.

Além disso, ir apagar a luz tira nosso foco do que estávamos fazendo. Ao voltar, a atividade não ficará mais tão interessante assim, sendo mais fácil largar e ir dormir.

Banho morno

Aproveitando que você já se levantou pra apagar as luzes, pode ser uma boa oportunidade pra tomar um bom banho morno. Isso relaxa o corpo e ajuda a pegar no sono mais rapidamente. Só não pode ser quente demais, ou a temperatura corporal vai subir e dificultar o sono ainda mais.

Desligar o computador automaticamente

Acabei de configurar meu computador pra dormir automaticamente às 11 da noite todos os dias. No Mac OS X isso é ridiculamente fácil, nas Preferências de Sistema > Economizador de Energia > Programar… (ou System Preferences > Energy Saver > Schedule…). No Windows sei que tem como configurar pra desligar em X segundos pelo cmd, mas certamente tem programas aos montes se pesquisar no Google. Tá aí um guia pro Windows pra ajudar. No Linux, uma mistura de cron com shutdown deve resolver facilmente, ou uma breve busca no Google.

Comentários

Go The Fuck Home

15 May 2012

Trabalhar mais que 40 horas por semana é, em 98% dos casos, idiotice. Flexibilidade de horário também é ótimo, mas chegar 11 da manhã e sair 8 da noite sem ter feito nada útil ou proveitoso durante essas horas extras em casa pela manhã também é idiotice que eu fazia até duas semanas atrás.

Adoro o que faço, onde faço e com quem faço, mesmo. Se eu não estiver programando no trabalho, há uma boa chance de que estarei programando em casa. Mas é importante separar um pouco as esferas e equilibrar a vida profissional com a vida pessoal, independente do quanto você gosta do que faz. Se você não consegue lembrar de duas coisas que faz além de trabalhar e dormir, a situação não está nada boa.

Quanto estiver no horário de trabalho, trabalhe. Se o que você está fazendo não agrega valor ao produto/serviço final ou não aumenta sua capacidade de agregar valor, pare e comece a fazer algo útil. Se a força de vontade é menor que o necessário, use aplicativos como SelfControl ou extensões como StayFocusd (para Chrome) ou LeechBlock (para Firefox). Pessoalmente prefiro o SelfControl, por bloquear o acesso em qualquer navegador e só bloquear durante o tempo que eu configuro a cada sessão. Também não uso 100% do tempo, só quando vejo que tô abrindo novas abas automaticamente pra abrir sites que sugariam meu tempo.

Depois que o horário terminar, vá embora. Caminhe na rua, pratique um esporte, vá à academia, saia com os amigos ou qualquer outra coisa. A vida é muito curta pra ser tomada por uma única atividade.

Go the Fuck Home: Engineering Work/Life Balance

Comentários

A arte de fugir da publicidade

15 May 2012

Como dito no post anterior, os departamentos de marketing hoje em dia andam bem agressivos. É impossível viver sem ser atingido por publicidade por todos os lados sem se isolar de todo o mundo. Até ao fazer um whois você é atingido por spam. Tá foda.

Mas a vida é como filtros anti-spam: enquanto não dá pra se livrar 100% desses males, é possível descartar a maior parte, preservando sua alma e seu bolso do que vejo como zumbis do consumismo.

E-mail

Para começar, o mais fácil. Um bom primeiro passo é cancelar todas essas 25 inscrições em anúncios de promoções de sites de compra. Incluindo compra coletiva, que ninguém precisa assinar pra fazer proveito. Muita gente assina esses e-mails pra não perder uma promoção do que precisa, mas a verdade é que até encontrar o que precisa você vai comprar muita coisa que não precisa. E, quando for precisar, procure no Buscapé e depois procure por cupons de desconto das lojas mais baratas no Google. Quase sempre vale a pena.

Supermercado

Os supermercados usam vários truques pra fazer você comprar mais do que realmente precisa. Quem nunca foi comprar 3 coisas e saiu de carrinho cheio? Antes de ir ao mercado, é importante preparar uma lista de compras e também não ir pro mercado com fome. Com isso em mãos (e na barriga), o que resta a fazer é ir direto pra sessão que tem o que você precisa, evitando passar pelas sessões das tentações.

Depois de matar a lista de compras, passe pela fila do caixa com os olhos fechados, ou você vai sair do mercado com as mãos cheias de Halls, Cheetos e revistas que têm a atriz do momento na capa. Difícil ver uma fila de caixa-rápido sem ser formada por coisas que você supostamente esqueceu de pegar, então é uma hora de fazer parte da resistência e ignorar tudo aquilo.

Shopping

Esse é o lugar mais agressivo de todos, onde tudo é sutilmente planejado pra você comprar. Desde a música ambiente até a falta de relógios e de luz solar (embora isso esteja mudando), o importante é que você não veja o tempo passar e não saia com as mãos abanando. Lembro de uma loja que sempre estava com uma faixa de liquidação na porta e sempre estava tão lotada de mulheres quanto nossos metrôs em horário de pico.

No final, creio que uma maneira de se salvar dos zumbis com pelo menos um braço inteiro é só ir com um objetivo definido, concluir e ir embora. Se achar alguma coisa legal lá e ficou com muita vontade de comprar, segura a onda, pesquisa na Internet e volta depois pra comprar se o preço valer a pena.

Outros sites da web

O Google sabe tudo sobre você. O Facebook, talvez, mais ainda. As lojas já abrem com anúncios direcionados pra você, e você começa a realmente se sentir mal quando pesquisa por um medicamento e o Google já assume que você tem tal doença.

Para ganhar um pouco mais de privacidade, o Do Not Track é bem interessante e é seguido pela maioria das empresas de publicidade na web. Já pro Facebook, gosto de marcar publicidade inútil como útil e vice-versa, até o ponto onde o Facebook me oferece bonecas da Barbie ou algo assim. Ou, mais prático, use Adblock e fim de conversa.

Telemarketing

Mais eficiente que mandar a moça da Editora Abril tomar no cu é dizer “não estou interessado, obrigado….. Não, realmente não estou interessado”, que provavelmente ela vai desligar e passar pra próxima vítima. Também há vários estados com listas Não Perturbe, onde basta cadastrar seu telefone e celular que as empresas de telemarketing estarão legalmente impedidas de te encher o saco.

Comentários

10 bons motivos para comprar um iPad

13 May 2012

Somos constantes vítimas do marketing agressivo de várias empresas. A que tem mais facilidade de transformar uma completa indiferença em desejo é certamente a Apple, e isso deveria me deixar especialmente mais cauteloso ao sentir aquela vontade de comprar mais um iProduct.

Considero-me um cara bastante cauteloso em relação a propagandas e truques para me fazer gastar meu suado dinheiro. No mercado, praticamente vou de olhos fechados à seção do que fui pra comprar, que é estritamente o que preciso e talvez algum estoque. Num shopping, tento ignorar as vitrines, faço o que tenho que fazer e vou embora.

Já com a Apple, brinquei um pouco com o iPod Touch de um amigo e senti a necessidade de comprar um quase que instantaneamente. Como já pensava em comprar um videogame, montei uma lógica bizarra na minha mente e decidi comprar um. Hoje, depois de 2 anos com ele (e um upgrade pra uma versão mais recente), não é difícil listar motivos pra continuar com ele ou pelos quais eu sentiria falta se não tivesse mais um. Esse gadget já se incorporou ao meu dia-a-dia de uma maneira que não dá mais pra arrancar com facilidade.

Desde pouco antes do lançamento do novo iPad, tenho me pegado pensando em comprar um. Como o preço não é lá muito amigável - se contar a quantidade de horas de trabalho necessárias pra comprar um, chego a algumas centenas - me desafiei a além de só comprar à vista, conseguir listar 10 bons motivos pra torrar tanto dinheiro.

Então vamos lá:

1. Melhores aplicativos de produtividade

Isso ocorre tanto pela maior presença no meio corporativo quanto pela maior tela;

2. Minha esposa iria adorar

O uso de internet dela é basicamente o que o iPad faz de melhor: Facebook, consumo de mídia, Facebook de novo. Isso terminaria sendo um motivo pra comprar dois, no final das contas;

3. Leitura

Leio pra caramba no iPod, e passaria a fazê-lo no iPad caso tivesse um. Pra esse caso, provavelmente preferiria um Kindle ou algum outro ebook reader. Só não apago esse item por causa do próximo;

4. Escrita

Tô escrevendo essa lista no iPod, sentado na mesa enquanto converso com minha esposa. Seria mais prático fazer isso num iPad, que não é tão leve quanto o iPod (onde costumo escrever em pé algo rápido) e é bem mais leve que o laptop. Pra essas situações, ele termina sendo bem melhor;

5. Consumo de mídia

Transferindo meu consumo de mídia e redes sociais pro iPad e reservando o laptop pro desenvolvimento e produtividade, vou ficar mais focado no trabalho enquanto preciso trabalhar;

Começou a ficar complicado, não consigo pensar em mais nenhum motivo. Até passei a achar os motivos anteriores nem tão bons assim, não pra justificar 1400 reais (isso à vista!).

Logo, não vou comprar um iPad. Não tão cedo.

Atualização

Como meu amigo Elland falou, parti do mesmo pressuposto que nossas avós usavam antes de comprar um computador (isso é, se já comprou): você não precisa enquanto não tem. Vou terminar comprando um iPad cedo ou tarde e incorporar seu uso à minha vida de uma maneira que ele vai se tornar indispensável.

A questão é: não quero gastar agora, dá pra viver bem sem um, mas tenho outras prioridades. São mais de 10 dias de trabalho num único produto, e meu bolso tá em modo de restrição. Como não estou com a intenção de desenvolver pra iPad tão cedo (aka não vai me dar ou economizar dinheiro), procrastinarei. Por bem.

Comentários

Don't break the chain

13 May 2012

A melhor maneira de ganhar um novo hábito é fazer aquela coisa por vários dias seguidos. Já li gente falando de 3 semanas, outros um pouco mais ou menos, mas no final o importante mesmo é não quebrar a corrente.

Seinfeld

Li há alguns dias sobre o sistema de produtividade do Seinfeld. Este, ao ser questionado sobre como manter a produtividade, respondeu que a melhor maneira de escrever bons quadrinhos era escrever boas piadas, e que a melhor maneira de escrever boas piadas era escrever todos os dias.

Então mostrou um calendário com um X vermelho marcado em cada dia, formando uma cadeia de dias produtivos - todos os dias - sem nenhuma falta. Ao deixar um dia pra lá, é fácil deixar o próximo e por aí a coisa desanda de vez.

Tem que enfiar na cabeça: Don’t break the chain

Comentários