So I'm releasing a single!
2023, mai 01I have written a few songs over the years, their lyrics are scribbled down on a personal archive and there are some terrible home-made (phone-made!) recordings of them laying around, stuff that I've shared with friends and family over WhatsApp and the like.
This one is different!
I've written this …
The Joy of YAML
2021, août 13I haven't written much on the blog on the last few years, I don't know, I didn't felt like I had much to say. There is so much being said on the Web, lots of great stuff, but also tons of crap too, and I didn't feel like adding to …
Em busca de conteúdo francófono
2019, janvier 25Faz pouco mais de um ano que estou morando na França, e ainda estou descobrindo onde encontrar bom conteúdo francófono na internet.
O Netflix tem vários filmes e algumas séries, mas acho que poderia melhorar muito o catálogo francófono. Quando eu estava no Brasil não haviam muitas opções, e o …
Cool Linux apps you might not know
2019, janvier 25Trying to ship the old blog post drafts
Here are some cool Linux apps you might not know yet.
sm -- or, screen message
sm is a small app to display text big and fullscreen.
Simple as that.
Flameshot
flameshot is an awesome app for making screenshots.
I've mapped my PrintScr …
Post Pycon blues
2018, mai 22When I arrived at Cleveland's airport a few weeks ago to attend Pycon, the customs agent didn't know that there was a tech conference happening in town. I'm sure many other people knew something was going on, because I was welcomed by a screen just after she checked my documents …
Meta-blogging
2018, mai 02I've been wanting to write since a little while but whenever I sit to write a post I end up on an endless yak-shaving of making small adjustments to the blog. I know that if I wanted to optimize my blogging flow for writing I should start using something like …
Urwid is great!
2017, avril 21Ever since I started using the awesome pudb debugger for Python programs I've been curious about the urwid library, an user interface library for console-based applications that the debugger uses. The examples in the gallery are just gorgeous!
So last week I decided I would write a console-based game and …
Lazy evaluation as alternative to state machines, maybe
2017, mars 27Some days ago I read this nice article talking about co-routines as an alternative to state machines.
The most popular use case for co-routines in Python has been asynchronous I/O, and there are a bunch of Python things that use them (like Twisted, Tornado and the standard library module …
Pybee is awesome
2016, octobre 28I've recently discovered the BeeWare project, also known as pybee, and it's bloody awesome.
I had stumbled upon it before at Pycon US earlier, they had a booth set up and their website said "BeeWare, the IDEs of Python".
I didn't gave much attention at it at first, because I've …
On getting productive with Git
2016, juin 19I remember the first time I submitted a pull request in GitHub and some reviewer asked me to squash the commits. I had no idea what they were talking about. I didn't have any friends who knew Git, I was pretty much a noob on Git and GitHub. It's easy …
You're not alone
2016, avril 19I've shared this text almost as-is internally at @Scrapinghub, the company I work at. As it had a good response, I'm sharing it here after some minor editing. I wrote it mainly to my programmer friends, but many people will probably relate to it.
Here are some things that I …
Trying out something new
2016, janvier 26If you liked these drawings, you may like this video teaching you to draw in a few minutes.
Learning from DAS screencasts - season 3
2015, décembre 30Here is a summary of my learning from watching season 3 of Destroy All Software screencasts.
Which kind of code should go into Models?
Gary is fond of an architecture style for web applications, which is equivalent to the so-called clean architecture described by Brandon Rhodes here:
Following this architecture …
Regex metacharacters differences across several environments
2015, décembre 13Here is a table helpful for learning regular expression metacharacters differences across several languages and environments.
Language/environment | Optional | More | Brackets | Border | Or | Group |
---|---|---|---|---|---|---|
Apache, Bash, egrep, Java, JS, Perl, PHP, Python, Ruby, VBScript, .NET | ? |
+ |
{,} |
\b |
| |
() |
Gawk, Openffice.org | ? |
+ |
{,} |
\<,\> |
| |
() |
awk, Mawk, Expect | ? |
+ |
N/A | N/A | | |
() |
C, Lex, Tcl | ? |
+ |
{,} |
N … |
The power of a good template
2015, octobre 18Almost ten years ago, I was an intern helping to maintain a PHP application and attempting to write a little framework to create the new version of that application. My little framework generated PHP classes from some templates and a description you’d write in a DSL language I came …
Working on hard problems
2015, septembre 13We programmers often prefer to work in problems that we already know how to solve, and tend to avoid hard ones that don't have a straightforward solution. Sure we like to think that we love a challenge, but given the choice of something easy to solve and another that requires …
Learning from DAS screencasts - season 2
2015, août 17These are my notes for season 2 of Destroy All Software screencasts.
The command line, Unix, git and Vim
In the first episode Gary teaches how to compose a complex Unix command line: the point is that you want to build it slowly, checking if it works at every step …
Useful small scripts for your ~/bin
2015, janvier 28fields
So you are a command line geek, you do your shell-scripts and one-liners using bash to get information you need.
You use cut for handling things delimited by some character like comma or space, but sometimes you have a list of stuff separated by a varied amount of spaces …
Things I Learned from Destroy All Software - Season 1
2015, janvier 18So, a few weeks ago I purchased and watched the first season of Destroy All Software screencasts (from Gary Bernhard), and it was awesome. I'd say there are different kinds of stuff to learn from it, depending on your personal interests and experience.
Here are my notes for some things …
The Visual Display of Quantitative Information, or How to Make Better Graphs
2014, octobre 12The Visual Display of Quantitative Information, by Edward Tufte, is a beautiful book. It's not just well-written, it's really beautiful, you feel like every inch of the book was planned and designed with great care. The book makes the case for better data graphics, shows you several examples of great …
Web Scraping with Scrapy - first steps
2014, août 30Update: This tutorial isn't up to date with the latest and greatest of Scrapy. You should follow the official documentation instead, I've worked together with other Scrapy developers to make it better. I'm leaving this article online for archival purposes only.
Imagine you want to …
Steve Yegge's Rantings book
2014, août 10Those who know me well, know that I'm a bit of a Steve Yegge fanboy. That's true, I love reading Steve's mean jokes and I keep coming back to those long blog posts. That dude's writing has been a great influence to me. I've even started to write long posts …
Tips on Performance and Monitoring of Java Applications
2014, juin 16I cleaned up my desk this weekend and ended up finding some notes I wrote down some time ago when I attended a course about monitoring JBoss application servers. I haven't been doing much related to Java Web development lately, but I'm going to try to make a quick summary …
So, here is a story
2014, juin 13Soon after graduating, I went to work as a software developer for a big public company in Brazil. This company is responsible for a huge part of the country's IT infrastructure, and they keep trying to build a reputation of being innovative and pro open source, the kind of thing …
Failing to finish a book
2014, mai 31Okay, here is a book I've been trying to read for almost two months already and barely get to the half of it. Python for Data Analysis has left me with mixed feelings. Of all the O'Reilly books I've got until now, this is probably the one in worst shape …
Programando Erlang - 1 de Any
2014, avril 05Na virada do ano, uma das minhas resoluções para 2014 foi a de que este ano aprenderia Erlang. Eu queria brincar com alguma linguagem que usasse ideias diferentes das que uso no trabalho e que me ensinasse mais do que simplesmente outro jeito de escrever os programas que já sei …
Trabalho Eficaz com Código Legado
2014, janvier 26Trabalho Eficaz com Código Legado é o título em português do famoso livro sobre código legado (título original: Working Effectively with Legacy Code) escrito por Michael Feathers, um consultor muito experiente e reconhecido na comunidade Agile/XP. Acabei de ler a versão traduzida que um amigo emprestou, e a tradução …
Você devia aprender shell-script
2014, janvier 11Se você é programador, você devia aprender shell-script. Ou pelo menos, algo parecido.
Nem que seja apenas o básico para se virar: criar o arquivo e deixar executável, ler e escrever variáveis, redirecionar entrada e saída, encadear comandos, grep e cut basicão.
Você pode ainda não saber que precisa da …
Problemas da Filosofia
2013, novembre 20Um amigo indicou-me a leitura de The Problems of Philosophy (Os Problemas da Filosofia), uma introdução a Filosofia escrita por Bertrand Russell, filósofo e historiador britânico. O livro é excelente, esclareceu várias dúvidas minhas e me fez pensar melhor sobre muitas coisas.
O texto original está disponível no Projeto Gutenberg …
VI Melhorado
2013, septembre 26Practical Vim é um livro sobre o Vim -- o editor de textos xodó dos programadores. Muito bem escrito, recheado de exemplos e referências, kudos para o Drew Neil, autor dessa belezinha. Drew também faz vídeos sobre o Vim, disponíveis gratuitamente em http://vimcasts.org.
Se você ainda não conhece o …
Alguns programas úteis para usar no Ubuntu
2013, août 14Ok, hoje estou tirando a preguiça do traseiro para escrever sobre algo que há tempo queria fazer: uma lista de alguns programas úteis que uso no Ubuntu. A maioria deles eu demorei um pouco para descobri-los, por isso acho uma boa idéia falar deles por aqui -- são aplicações bacanas que …
Programming Grails -- a aventura continua
2013, juillet 28Alguns dias atrás terminei de ler o Programming Grails (Amazon), um livro sobre o framework Grails voltado para desenvolvedores experientes, que explica como funcionam várias coisas do framework e aponta vários caminhos das pedras. O autor é Burt Beckwith, conhecido na comunidade Grails por criar vários plugins úteis do Grails …
Goodbye, JSF!
2013, juin 23Ok, se você não é javeiro, talvez nunca tenha ouvido falar em JSF. No worries, você não está perdendo muita coisa.
Porém, se você aprendeu a programar em Java, talvez nem tenha procurado aprender outra linguagem de propósito geral (... ainda, I hope) mas já se interessou por programar para a …
Aventurando-se com Grails
2013, juin 03Estou usando Grails ativamente há alguns meses atrás. Comecei fazendo manutenção numa aplicação legada usando uma versãozinha do Grails já bem gasta. Eventualmente, acabei migrando de vez, usando Grails 2.x para praticamente todas as aplicações novas lá no trampo. O bichinho é muito bom!
Quem caiu aqui para ler …
Desenvolvimento de software é um esporte de equipe
2013, avril 27Dãã, grande notícia, certo? Todo mundo sabe disso, não precisa nenhum anúncio. Bem, pelo menos não era pra precisar. Todavia, pelo que converso com outros amigos desenvolvedores e pela minha própria experiência mesmo, seria muito bom se fôssemos lembrados disso mais vezes.
Há uns dias li o fantástico livrito Team …
Coisas sobre o VIM que gostaria de ter sabido antes
2013, avril 07O Vim ainda é o meu editor predileto. Tentei substituí-lo várias vezes, e as únicas alternativas que chegaram perto de ameaçá-lo foram Emacs e Sublime Text: o primeiro pela quantidade de recursos, o segundo pela interface joiada. Mas sempre que precisava resolver um problema rapidão, acabava voltando pro good ol' …
Desenho de Interface do Usuário - para programadores
2013, mars 18Joel Spolsky é um cara batuta e muito inteligente. Ele é uma das figuras por trás do Trello e do StackOverflow (e seus sites irmãos), dois produtos show de bola que têm sido parte da minha vida diária ultimamente. Ele também é bastante conhecido pelos excelentes textos que escreveu no …
Por que as estimativas em desenvolvimento de software normalmente estão erradas por um fator de 2-3?
2013, février 26Aviso 1: Esta é uma tradução livre de uma das melhores histórias sobre estimativas de software já escritas. O original em inglês é uma resposta no Quora à pergunta do título, e essa tradução foi realizada com o consentimento do autor Michael Wolfe. Caso a língua não seja problema, recomendamos …
Aventuras apresentando Java EE a mim mesmo
2013, janvier 15Cuidado: o texto a seguir contém níveis perigosos de nerdice, acrônimos e javeiragem em geral.
Não sou nenhum fã de Java: a linguagem eu realmente não curto (não tenho culpa de ter conhecido Python e Ruby antes :P), todavia a plataforma tem os seus apelos. Só que eu estava ficando …
Fatos e Falácias da Engenharia de Software - notas do livro
2012, décembre 03Acabo de terminar a leitura de um livro simplesmente excelente, Facts and Fallacies of Software Engineering (Fatos e Falácias da Engenharia de Software), do programador/pesquisador/escritor Robert L. Glass. Bob Glass não é um acadêmico que fica falando abobrinha sobre como deve ser feito software mas que nunca quer …
Sobre construir excelente experiência de usuário - livro EffectiveUI
2012, novembre 25Este é o primeiro post na idéia de escrever sobre os livros que leio, na tentativa de fixar melhor o que tô aprendendo. Rezemos pra que não seja o último! :)
O livro é Effective UI: The Art of Building Great User Experience in Software, os autores são os fundadores e …
Algoritmos deviam ser ensinados breadth-first, e não depth-first
2012, novembre 07Algoritmos deviam ser ensinados breadth-first, e não depth-first!
Note que não me refiro ao aprendizado de programação, mas ao estudo sistemático de algoritmos (envolvendo projeto e análise).
Depth-first é demasiado frustrante, especialmente para quem já trabalha na indústria e sabe que existem muitas outras coisas tão ou mais importantes quanto …
Primeiras escolhas importam
2012, octobre 18Nossas primeiras experiências influenciam as seguintes muito mais do que a gente percebe.
Algumas coisas você não escolhe: sua língua materna, sua primeira escola, sua primeira professora de matemática. Mas tudo isso vai deixando umas estampas na sua vida inteira, influenciando o jeito que você pensa, sua habilidade de perceber …
O que fazer quando o Ubuntu trava
2012, juin 30Um amigo meu costumava dizer que tudo no Linux é com malabarismos no teclado, porque certa vez ele conseguiu rebootar um sistema que estava travado, apertando várias teclas aleatórias ao mesmo tempo ("Alt+Shift+Ctrl+Del+K+Enter", narrava). Tempos depois, ele acabou adotando o Linux Ubuntu no desktop, e …
Entre profissionais
2012, juin 21Alguns dias atrás, tive a chance de fazer duas coisas muito importantes pra mim: apresentar uma performance solo no meu estilo de violão instrumental (acústico fingerstyle in your face :D) e subir no palco com músicos profissionais: o estupendo guitarrista manézinho Luciano Bilu e seu trio!
Há já um bom …
Idéias e execução
2012, mars 09Uma vez ou outra a gente topa com um cara que acha que ter uma idéia é uma coisa tremendamente importante. Execução, isto é para noviços (subentenda-se, gente que só faz o que mandam)! O jeito de ter sucesso é ter uma idéia brilhante, e a sorte de ter tido …
Aprendendo Thumbpicking
2011, décembre 11UPDATE: atualizei os links pra download dos MP3, porque estouraram os limites do SoundCloud.
Já faz uns 3 anos que comecei a tocar no violão o estilo conhecido como thumbpicking (alguns também chamam de fingerpicking, embora esse termo parece ser mais genérico).
Desde piá eu já tocava um pouco de …
A maleta do milhão
2011, octobre 17Anos atrás, eu estava numa sessão de conversação da escola de inglês (que por sinal, paguei caro e não valeu o retorno), e a professora pediu pra cada pessoa dizer o que faria se encontrasse uma maleta com um milhão de reais. Desperta a imaginação do pessoal, surgiram rapidamente novos …
Vivendo alienado
2011, septembre 21Não tem problema!
Se eu não reconheço as referências a livros ou filmes supostamente clássicos ou nunca ouvi a banda que todo mundo conhece, não tem problema. Se não conheço o último meme do Twitter, nunca assisti o seriado da moda, nem uso a última versão do software/gadget que …
Tocar vídeo ou música em outra velocidade mantendo o tom
2011, juillet 28Alguns meses atrás descobri o Play it slowly, um programa para tocar arquivos de áudio em velocidades ou alturas diferentes, no Linux. Você pode usá-lo para, por exemplo, ouvir uma música no mesmo tom da original mas com um ritmo bem mais lento (útil para aprender as notas de um …
Steve Yegge é meu herói!
2011, juillet 28Steve Yegge é meu herói!
Já que ele voltou a escrever no blog (dois posts na mesma semana, yay!), obrigo-me a escrever aqui também. A gente acaba criando uma relação afetiva com certos feeds, que quando aparece um post novo o seu dia melhora, nem que seja um pouquinho.
De …
Economia vs. Consumo
2011, février 03Dias atrás estava debatendo com alguns amigos, tentando demonstrar como não era muito intuitivo o jeito que acostumamos a pensar sobre consumo de combustível, para efeito de comparação. Perguntei a eles o que fariam se tivessem dois carros, um sedã que fizesse 10km/L e uma camionete que fizesse 5km …