On Writing Well

Feb 3, 2019 4 min.

On Writing Well de William Zinsser é considerado por muitos do Hackers News como uma ótima referência para se escrever bem não-ficção. Tenho minhas dúvidas. Mas justiça seja feita, o livro parece um Syd Field (Screenplay) para não-ficção, cheio de guidelines que podem auxiliar o escritor ainda amador tentando se profissionalizar e impressionar alguns editores por aí. A melhor parte em minha opinião é dos Princípios (Parte I), pois é ali que está o verdadeiro ouro do livro, onde ele ensina o bê-a-bá do que faz os textos hoje em dia serem tão ruins e como reverter essa situação lamentável.

Why Facts Don't Change Our Minds

Feb 3, 2019 2 min.

Você sabe como funciona um vaso sanitário? Tem certeza? Faça o experimento, então: descreva de maneira verbal todos os passos envolvidos no funcionamento de dar descarga em um vaso. Depois pesquise e verifique como ele realmente funciona. Compare a realidade com o seu achismo e exploda sua cabeça. Mas não se preocupe, você não é o único. De acordo com inúmeras pesquisas desse artigo de Elizabeth Kolbert o ser humano dependeu dessa confiança cega no conhecimento do próximo para conseguir evoluir tão rapidamente desde a idade do bronze.

Diálogos Sobre o Vegetarianismo

Feb 3, 2019 1 min.

Conheci o filósofo Michael Huemer através de um amigo e por procurar há um tempo atrás refutações convincentes do objetivismo. Encontrei uma saída para vários dos problemas discutidos pela humanidade. Isso se chama intuitivismo. Doutrina segundo a qual todos os conhecimentos existem por intuição. Através desse modo de pensar é possível chegar a conclusões que fogem do padrão e tentam demonstrar que nossa postura a respeito do conhecimento que temos deve ser mais humilde e mais objetivo sem desconsiderar que vivemos, sim, de acordo com o viés de nosso tempo.

Bug no Boost Asio usando função AcceptEx do Winsock

Jan 6, 2019 6 min.

Depois de um mês de correção e mais um ou dois meses preparando um compilado do que ocorreu no software que estamos mantendo, foi descoberta uma situação muito peculiar que ocorre tanto em Windows XP quanto no Windows 10, mas que no 10 tem uma correção bem-educada e no XP… bom, nem tanto. O problema ocorreu em um uso padrão do Boost.Asio de modo assíncrono. Sem querer entrar muito em código nesse momento – que teve como base nosso projeto de servidor de requisições mais rápido do universo, o motherforker – se trata apenas de um listening que usa spawn de um lambda para tratar os accepts e dentro dele cria processos, redirecionando sua entrada e saída.

12 Regras para a Vida

Dec 30, 2018 44 min.

12 Regras para a Vida, como o nome indica, é um livro de auto-ajuda, mas diferente do que você poderia esperar. Livros de auto-ajuda que usam o exemplo de vida do autor servem como guia apenas para… er… o autor. Já o livro do psicólogo/filósofo Jordan Peterson utiliza a sabedoria das narrativas antigas, dos usos e costumes das sociedades, aliado ao que a ciência já descobriu sobre nossa espécie para chegar a um denominador comum de quais são as regras mais valiosas para se viver uma vida significativa.

Califórnia, 2018

Dec 30, 2018 11 min.

Vale a pena fazer uma viagem aos EUA nessa época de 4 temers pra um trump? Er… financeiramente não. Mas como o timing é tudo e é preciso conhecer pelo menos uma vez na vida, e experiências são melhores que coisas, eu diria que vale, sim. Vivenciar outra cultura, valores, como as coisas funcionam de forma diferente, etc, acaba se pagando com o tempo. E no caso dessa viagem feita a carro com um casal de amigos, algo que não costumamos fazer, foi uma outra novidade que valeu a pena ter vivido.

A Maneira Errada de Começar um Projeto é com Visual Studio

Dec 11, 2018 1 min.

Estava eu trabalhando com um sample e resolvi colocar controle de fonte para analisar as mudanças. E a mudança mais inesperada que eu vi quando digitei git diff foi que ele achou que meus arquivos de código-fonte estivessem em binário. Whaaat? >git diff >Binary files a/source.cpp and b/source.cpp differ Essa lambança ocorreu com uma versão atual do Visual Studio 2017 após eu resolver ser preguiçoso e deixar o template dele criar o projeto para mim.

Boost.Bind e os Erros Escrotos

Oct 1, 2018 4 min.

Estou voltando a programar algumas coisas no boost. Algo que eu perdi ao me isolar do movimento de modernização do C++ foi a capacidade brilhante da biblioteca boost em encapsular e abstrair conceitos de engenharia de software de maneira portável e mantendo a filosofia por trás da STL, que ainda é a melhor maneira de trabalhar algoritmos já criada em qualquer linguagem de programação séria. Isso não quer dizer que a linguagem C++ está indo para um bom caminho.

Native Floripa 2018

Sep 28, 2018 4 min.

O Native Floripa desse ano foi um evento de nerds que adoro e também uma viagem e encontro de nerds (que também adoro). Isso quer dizer que este é um post duplo, onde analiso tanto a viagem quanto o evento. Como viagem Floripa é uma cidade que se divide em ilha e continente. Na ilha há um emaranhado de rodovias que circulam pelos morros e que se cruzam onde percebemos que a prefeitura não tem o mínimo de cuidado e investimento em fazer conexões decentes.

Coroutine Internals

Sep 18, 2018 8 min.

Uma corrotinas é um mecanismo de troca de contexto onde apenas uma thread está envolvida. Ela me faz lembrar do Windows 3.0, não exatamente por não existirem threads (e não existiam mesmo), mas pelo caráter cooperativo dos diferentes códigos. Só que no caso do Windows se a rotina de impressão travasse todo o sistema congelava. A volta das corrotinas via C++ moderno ocorre, para variar, no Boost. E a arquitetura é simples: mantenha um histórico das stacks das diferentes tasks da thread.