Author Archives: brandizzi

Não me Interprete Mal: Improvisando Testes para um Interpretador

Estou amando ler o livro Crafting Interpreters. Nele, Bob Nystrom nos ensina como escrever um interpretador implementando uma pequena linguagem de programação chamada Lox. Há muito tempo não me divertia tanto programando! Além de bem escrito, o livro é engraçado e ensina bem mais coisas do que eu esperava. Mas estou tendo um problema. Os […]

Trocando figurinhas sobre o terminal

Uma das minhas diversões nesta Copa foi montar um álbum de figurinhas. Na verdade, montei o álbum porque me filho queria muito, mas me diverti também, eu acho. Parte importante de colecionar figurinhas é trocar as repetidas. Através de mensagens em grupos de WhatsApp, dizemos quais repetidas temos e quais figurinhas ainda precisamos. Como programador, […]

Dê uma chance a Doctest

Um dos meus módulos Python preferidos é doctest. Com ele, é possível executar trechos de código inseridos em documentação. Você poderia, por exemplo, escrever algo assim no seu arquivo turorial.md… >>> f() 1 …e executar python -mdoctest tutorial.md. Se f() retornar 1, nada acontecerá. Se retornar algo diferente, porém, aparecerá uma mensagem de erro similar […]

Usando diferentes perfis no Firefox

Pessoas estão retornado ao Firefox. Excelente! Porém, os filhos pródigos podem se decepcionar. O Firefox, sinto dizer, é pesado e instável. Felizmente, existem maneiras de amenizar estes problemas, e uma delas é criar perfis diferentes. É simples criar perfis utilizando a extensão ProfileSwitcher. Após instalá-la, vá ao menu “Arquivo”, opção “Abrir gerenciador de perfil” e […]

Criando um feed RSS com Delicious, Yahoo! Pipes e Readability

A retirada das funcionalidades sociais (e posterior desligamento) do Google Reader matou uma das mais notáveis comunidades virtuais, mas trouxe vida a um mercado antes monopolizado. Por exemplo, uns malucos apareceram do nada com um clone chamado The Old Reader (e passaram por maus bocados por isso). Dada sua completude e qualidade (além do quase […]

Fazendo DMA funcionar no Debian/Ubuntu

Até o meio do ano passado, meu computador era um Athlon XP 2.3 GHz com 128 MB de memória e 40 GB de HD. Fraquinho, mas funcionava até bem. Eu continuaria utilizando-o cotidianamente se não tivesse de utilizar o OpenOffice.org e o Eclipse. Além disso, estava querendo brincar com outros sistemas operacionais, e preferia virtualizá-los. […]

Dividindo uma imagem em várias páginas com ImageMagick

Esses dias, um amigo me pergunta no Google Talk: duvida de linux tenho uma imagem bem grande e quero que ela seja impressa em varias paginas tipo um pedaco numa pagina outro pedaco em outra (Antes de prosseguir, uma nota: uma imagem nos formatos JPEG, PNG etc. não possui um tamanho, mas sim uma resolução. […]

Módulos do VirtualBox no Debian Lenny

Eu estava tentando usar o VirtualBox no meu computador de casa, que roda Debian Lenny. No começo, até funcionou, mas o kernel Linux foi atualizado em algum momento, e os módulos do VirtualBox pararam de funcionar. Instalei todos os módulos possíveis do repositório, mas o VirtualBox se recusava a funcionar. Procuro no Google alguma solução, […]

A Idéia mais Estúpida da Computação

Osvaldo Santana, o pythonista, postou no seu blog algumas “cagadas computacionais” que cometera. Lembrei-me de um causo interessante… Meu primeiro emprego foi como servidor público, técnico administrativo na Universidade de Brasília. Era um emprego chato para mim, tecnocrata que sou, mas consegui escapar da chatice convencendo o pessoal a me deixar usar um Debian na […]

Tratamento de erros em C com goto

Esses dias, começou-se a discutir na lista de discussão da Python Brasil razões para se utilizar exceções. Em um certo momento, um participante reconhecidamente competente comentou o quanto é difícil tratar erros através do retorno de funções, como em C. Quando se tem um algoritmo complexo, cada operação passível de erro implica em uma série […]