Meus comentários sobre o filme o primeiro mentiroso
Semana passada parei pra comprar um filme pra ver a noite, não sei porque mas ao ler o titulo “o primeiro mentiroso” me lembrei daquele filme com Jim Carrey, o mentiroso, e como gostei bastante fiz essa associação sem nexo e comprei.
The Invention of Lying, o primeiro mentiroso
O primeiro mentiroso é uma comédia de 2009, sob a direção de Matthew Robinson e tem como protagonista Ricky Gervais. O filme se passa em um tempo onde as pessoas não conseguem mentir e como a mentira não existe todos acreditam em tudo que é dito.
Nos primeiros 10 minutos do filme a unica coisa que me fez continuar assistindo foi a curiosidade pra saber como seria a primeira mentira. Mark, personagem principal, é um gordinho fracassado em todos os sentidos até que vai ao banco e consegue contar a primeira mentira do mundo, naquele mundo era todos acreditavam logo por mais “fudida” que fosse a estória do MArk as pessoas iriam cair na pilha e ele como primeiro mentiroso se aproveitou da situação.
O primeiro mentiroso chegou ao nível de inventar Deus, que ficou mais conhecido como o homem no céu, e escrever os 10 mandamentos em duas tampas de caixa de pizza.
Nas igrejas a imagem não era de Jesus pregado na cruz e sim de Mark segurando as duas tampas de caixa de pizza.
O primeiro mentiroso era pra ser um filme engraçado, mas eu não achei graça alguma, em uma escala de 0 a 10 minha nota é 3,5.
WordPress: Removendo links das páginas mãe
É muito fácil listar as páginas do seu site WordPress para criar um menu, para tanto basta utilizar o método wp_list_pages(); e estilizar, com CSS, da forma desejada. A coisa complica um pouco quando precisamos fazer aqueles menus drop down, onde a página mãe é listada no menu e ao passar o mouse por cima as páginas filho aparecem.
O wp_list_pages(); retorna a listagem de páginas com um código semântico que facilita a criação do menu drop down, mas a página pai continua com link para a página e na verdade o ideal é que a página pai não seja um link, afinal, provavelmente, a idéia dela é apenas categorizar as seções do site e não deve haver conteúdo algum.
Para resolver este problema você pode adicionar a função abaixo no arquivo functions.php do seu tema.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php function removeParentLinks() { $pages = wp_list_pages('echo=0&title_li='); $pages = explode("</li>", $pages); $count = 0; foreach($pages as $page) { if(strstr($page,"<ul>")) { $page = explode('<ul>', $page); $page[0] = str_replace('</a>','',$page[0]); $page[0] = preg_replace('/\<a(.*)\>/','',$page[0]); if(count($page) == 3) { $page[1] = str_replace('</a>','',$page[1]); $page[1] = preg_replace('/\<a(.*)\>/','',$page[1]); } $page = implode('<ul>', $page); } $pages[$count] = $page; $count++; } $pages = implode('</li>',$pages); echo $pages; } ?> |
Agora ao invés de chamar a lista de páginas com o wp_list_pages(); você vai chamar a função removeParentLinks();
O código acima foi retirado do blog Bavotasan.
Decidir que tem que blogar e procurar algo ou encontrar algo e decidir blogar?
O dilema do título é simples, você costuma/ preferi encontrar algo e blogar ou decidir que tem que blogar e sai pesquisando sobre determinado assunto?
A grande maioria dos blogueiros que conheço e leio dão a entender que definem uma periodicidade de publicação e saem a caça de pautas para publicar no blog, mas se parar pra pensar isso não faz muito sentido quando não vemos o blog de forma profissional. É certo que o sucesso do blog depende bastante da freqüência de publicação, mas em caso de blogs pessoais acho muito mais “bacana” encontrar algo interessante e compartilhar/ comentar/ criticar no blog.
Essa questão me veio a mente quando li uma entrevista com a blogueira Rebecca Lieb, do clickZ NetWork. O entrevistador perguntou se ela acha difícil decidir o que blogar e ela respondeu que não decide blogar e depois procura algo, e sim, encontra algo e então decide blogar.
Em um blog pessoal blogo da forma que a Lieb disse, encontro algo e decido blogar, já em um blog planejado para fins profissionais acredito que não posso arriscar tal método e comprometer a freqüência de publicação.
Você, leitor, blogueiro, o que pensa sobre e como costuma blogar?
Como criar e utilizar os campos personalizados (custom fields) do WordPress
O WordPress se tornou o meu CMS (gerenciador de conteúdo) predileto, a medida que fui descobrindo seus recursos e acompanhando a evolução a cada versão me tornei um verdadeiro fã-boy do WordPress.
Hoje vou falar para vocês sobre um recurso muito útil do WP, os campos personalizados ou custom fields.
O que são os Campos Personalizados (custom fields) do WordPress
Os campos personalizados (custom fields) permitem que o autor do post possa inserir informações adicionais ao post, podendo ser chamados no tema do blog/ site para atender uma determinada finalidade.
Exemplos de uso dos campos personalizados (custom fields)
Os campos personalizados podem ser utilizados para uma infinidade de coisas, o interessante é aprender para que servem e como utilizar e depois deixar a criatividade falar. Abaixo alguns exemplos de uso:
- Para exibir uma imagem personalizada para cada post na página inicial;
- Para atribuir um estilo/ visual personalizado para cada post
- Escolher que tipo de anúncio o post deve exibir;
Como criar um campo personalizado (custom fields) no WordPress
Os campos personalizados são criados na tela de criação/ edição do post, uma vez criado o campo fica disponível toda vez que você for escrever ou editar um post. Para criar um campo personalizado no WordPress basta abrir a tela de criação de posts, encontrar o bloco “Campos personalizados”, que fica abaixo dos blocos do post, resumo e trackback.
No bloco campos personalizados você vai clicar no link “Digite novo” , escolher o nome do campo personalizado e clicar no botão “Adicionar campo personalizado”.

Campos Personalizados - Custom Fields - WordPress
Com o seu campo personalizado criado ele já vai aparecer na lista de campos e ao lado do nome tem o campo valor, sempre que você for escrever um post poderá selecionar o campo personalizado e atribuir um valor ao mesmo, depois é só clicar em “Adicionar campo personalizado” e ele aparecerá em uma lista acima do local onde você cria e atribui valor.
Adicionando o campo personalizado

Campos Personalizados - Custom Fields - WordPress
Campo adicionado

Campos Personalizados - Custom Fields - WordPress
Como utilizar os campos personalizados no tema WordPress
Agora que você já tem um campo personalizado para atribuir valores para cada post só resta aprender como recuperar estes no tema. É muito simples, dentro do loop você vai inserir o código abaixo que deverá recuperar o valor do campo personalizado.
1 | <?php $imagem_capa = get_post_meta($post->id, "imagem_capa"); ?> |
Onde $post->id trás o ID do post que esta sendo exibido e "imagem_capa" é o nome do campo personalizado que você criou.
Agora você tem uma variavel chamada $imagem_capa com o valor definido no momendo que você publicou o post, vamos imaginar que na hora que você publica um novo post coloca no valor do campo personalizado “imagem_capa” a URL de uma imagem e quer que a mesma seja exibida na página inicial ao lado do resumo do post.
Para isto você só precisaria utilizar o código acima, para recuperar o valor do campo personalizado, e depois dentro do loop exibir o valor recuperado, algo parecido com isso:
1 | <img src="<?php echo $imagem_capa; ?>" /> |
Espero que tenham curtido o post e aprendido para que serve e como utilizar o bloco campo personalizado (custom fields) do WordPress, caso fique alguma dúvida ou precise de alguma ajuda relacionada é só comentar e estamos a disposição.
Até a próxima!
Sou mais você!
Estou sem tempo para escrever por aqui, mas para não deixar a casa cheia de teia segue uma mensagem de otimismo para você começar essa sexta-feira 13 com a esperança renovada, beijos e abraços pra todos e um ótimo final de semana!

Imagem do filme A procura da felicidade
Letra da música sou mais você
Racionais MC’s
Vamos acordar, vamos acordar, porque o sol não espera demorou.
Vamos acordar, o tempo não cansa. Ontem a noite você pediu, você pediu…. uma oportunidade, mais uma chance, como Deus é bom né não nego??? Olha aí, mais um dia todo seu, que céu azul louco hein?
Vamos acordar, vamos acordar! Agora vem com a sua cara, sou mais você nessa guerra, a preguiça é inimiga da vitória, o fraco não tem espaço e o covarde morre sem tentar.
Não vou te enganar, o bagulho ta doido e eu não confio em ninguém, nem em você, os inimigos vêm de graça, é a selva de pedra, eles matam os humildes demais.
Você é do tamanho do seu sonho, faz o certo, faz a sua, vamo acordar, vamo acordar!
Cabeça erguida, olhar sincero, ta com medo de quê? Nunca foi fácil. Junta os seus pedaços e desce pra arena, mas lembre-se: aconteça o que acontecer nada como um dia após outro dia.
—
Acredite, nada como um dia após o outro!
Como criar um plugin WordPress
Pessoal, o post de hoje é cópia a uma resposta que enviei para uma lista de discussão por e-mail para um parceiro que queria saber como criar um plugin wordpress. Fiquei com preguiça de corrigir os erros de português e testar as funções e por conta disto não iria publicar aqui no blog, mas o Fernando Caldas insistiu por lá e achei bacana colar aqui a resposta, então desculpem os possíveis erros e espero que curtam o post.
Desenvolvendo um plugin wordpress
Você sabe programar em PHP? Tem noções de programação orientada a objetos?
Se responder não para qualquer uma das perguntas acima talvez não seja a hora de começar a desenvolver um plugin para WordPress, primeiro aprenda PHP e estude um pouco sobre orientação a objetos, acredite, sem isso você pode até fazer um plugin seguindo tutoriais na net, mas vai ser muito complicado.
Já trabalhou com algum framework para desenvolvimento PHP ou API?
No desenvolvimento de plugins para WP você trabalha um pouco igual ao desenvolvimento de uma aplicação com framework ou API, existem métodos, classes, filtros e ações pré definidas que você vai precisar para trabalhar.
Vamos lá…
Para desenvolver um plugin para WP você vai seguir os procedimentos normais de desenvolvimento de qualquer aplicação web com a linguagem PHP a unica diferença é que vai precisar estudar o CODEX do WordPress para conhecer as funções pré definidas que vão facilitar sua vida.
Eu basicamente utilizo actions e filtros para decidir quando as funções do meu plugin devem ser chamadas, se eu quero incluir algo quando um post for exibido então uso o filtro the_content que chama uma função do plugin passando como parametro o conteúdo do post e recebe de volta o conteúdo que deverá ser exibido.
A sintaxe é:
add_filter(‘the_content’,'funcao’);
Exemplo simples de uso deste filtro, vamos imaginar que você deseja incluir um rodapé em todos os posts do seu blog, para não precisar editar tudo novamente você pode criar um plugin com o código abaixo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?php /* Plugin Name: NOME DO SEU PLUGIN Plugin URI: http://leobaiano.com/ Description: DESCRIÇÃO DO PLUGIN Version: 1.0 Author: Leo Baiano Author URI: http://leobaiano.com/ */ // Acima você passa as informações necessárias do seu plugin /** * Rodapé * * @param string $conteudo - Variavel com o conteúdo original do post * @return string $new_conteudo - Variavel retornada com o novo conteúdo do post */ function rodape($conteudo){ // Abaixo defino o rodapé que vai aparecer no meu post $rodape = "<br /><br />---<br />A cópia deste texto é autorizada desde que mantenha os créditos ao autor."; // Abaixo gravo o novo conteúdo do post que será o conteúdo original mais o rodapé definido na variavel acima. $new_conteudo = $conteudo.$rodape; // Retorno o novo conteúdo do post return $new_conteudo; } // Filtro que chama a função rodape e passa o conteudo do post // Essa rotina vai acontecer toda vez que o post for chamado add_filter('the_content','rodape'); ?> |
Vamos supor que você precisa incluir alguma informação no cabeçalho do blog, a chamada para um arquivo JS ou CSS por exemplo, então pode utilizar a action wp_head. Essa action chama uma função que deverá imprimir o conteúdo que você deseja incluir no cabeçalho da página. É importante lembrar que para que a action funcione corretamente o tema precisa ter o gancho wp_head() no cabeçalho da página.
A sintaxe básica é:
add_action(‘wp_head’, ‘funcao’);
Seguindo o mesmo padrão você pode utilizar a action wp_footer para incluir conteúdo no rodapé do blog, para que funcione o tema precisa do gancho wp_footer();
Sintaxe: add_action(‘wp_footer’, ‘funcao’);
Muitos desenvolvedores de plugin utilizavam a action wp_footer para incluir os créditos, o plugin wp-hotwords do BernaBauer, por exemplo, exibe a mensagem de que o blog utiliza tal plugin e inclui um script muito importante no footer do blog.
Uma action que eu acho muito interessante e com milhares de possibilidades é a publish_post que é acinada toda vez que um post é publicado, ela chama uma função e envia como parametro o ID do post que foi publicado.
Sintaxe: add_action(‘publish_post’, ‘funcao’);
Agora vamos a um exemplo um pouco mais complexo de plugin, vamos imaginar que você deseha twittar o link do seu post sempre que publicar um post novo no blog.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | <?php /* Plugin Name: NOME DO SEU PLUGIN Plugin URI: http://leobaiano.com/ Description: DESCRIÇÃO DO PLUGIN Version: 1.0 Author: Leo Baiano Author URI: http://leobaiano.com/ */ // Acima você passa as informações necessárias do seu plugin /** * twittar * * @param int $id_post - Variavel com o ID do post * @return boolean - Retorna falso ou verdadeiro a depender do sucesso ou não da operação */ function twittar($id_post) { // Recupera os dados do post com base na sua ID $post = get_post($id_post); // Recupero a URL do post $url = get_permalink($id_post); // Chama a função que vai enviar a mensagem $envio = enviarMensagem($url); // If enviado com sucesso returna verdadeiro if($envio){ return true; } // Se não enviar retorna falso else { return false; } } /** * Envio a URL para o twitter * * @param string $url - Variavel com o a URL do post * @return boolean - Retorna falso ou verdadeiro a depender do sucesso ou não da operação */ function enviarMensagem($url) { // Define o usuario do twitter $usuario = "seu_usuario"; // Define a senha do twitter $senha = "sua_senha"; // Abaixo preparo o envio da URL para o twitter $saida = "POST http://twitter.com/statuses/update.json HTTP/1.1\r\n"; $saida .= "Host: twitter.com\r\n"; $saida .= "Authorization: Basic ".base64_encode ("$usuario:$senha")."\r\n"; $saida .= "Content-type: application/x-www-form-urlencoded\r\n"; $saida .= "Content-length: ".strlen("status=$url")."\r\n"; $saida .= "Connection: Close\r\n\r\n"; $saida .= "status=$url"; $fp = fsockopen ("twitter.com", 80); // Se enviado com sucesso retorno verdadeiro if (fwrite($fp, $saida)) { return true; fclose($fp); } // Caso contrario retorno falso else { return false; } } // Incluimos a action que vai chamar a função twittar sempre que um post for publicado add_action('publish_post', 'twittar'); ?> |
A resposta ficou tão grande que cheguei a pensar publicar um post, mas deu preguiça de corrigir os erros de português e testar os exemplos, mas enfim, da pra ter uma idéia.
Exibindo os últimos posts do blog a partir de determinado registro
Essa dica é para blogueiros que utilizam wordpress em dominio e servidor próprio.
Muitos temas exibem na sidebar a lista dos últimos artigos publicados, isso fica bem interessante quando um visitante acessa a página de um determinado post, pois ele pode ver, na lateral, os últimos x posts publicados e se interessar por um dos textos. O problema é que a sidebar, normalmente, é a mesma tanto na home quanto nas páginas internas, sendo assim se você exibe 10 textos na sua página inicial e na lateral os últimos 10 textos publicados acaba com links para os mesmos textos que estão sendo exibidos na home.
Para exibir os ultimos posts publicados na sidebar os desenvolvedores de temas para wordpress utilizam o método get_posts(); do wordpress, este método possuí um atributo pouco explorado, chamado offset, que serve para informar de qual registro o wordpress deve começar a chamar os posts, então se seu blog mostra 10 posts na home basta utilizar o get_posts(); conforme demonstrado abaixo:
1 | get_posts('offset=9&numberposts=10'); |
O código acima vai buscar os últimos 10 posts publicados após o décimo registro, assim você não vai exibir, na lista de últimos posts, os mesmos que já aparecem na home.
O código completo fica assim:
1 2 3 4 5 | <?php $pp_posts = get_posts('offset=7&numberposts=8'); foreach($pp_posts as $post) : setup_postdata($post); ?> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2> <?php endforeach; ?> |
Espero que a dica seja útil.
Instalando o wordpress um um diretorio e o blog na raiz do site
Você quer instalar o wordpress em um diretório e depois migrar para a raiz do site, mas esta com medo de ter problemas com a migração, então não tema garotinho, seguindo 4 passos simples você pode instalar o WP em qualquer diretório, desenvolver o tema, configurar, inserir o conteúdo inicial do site ou blog e depois quando tudo estiver pronto e aprovado pelo cliente você move ele para a raiz.
Porque não instalar logo na raiz?
As vezes pegamos um projeto de reestruturação onde só poderemos mexer na raiz quando o site novo estiver pronto, pode, também, acontecer do cliente exibir a exibição de uma imagem, um aviso ou até mesmo aqueles contadores que indicam quando o site vai ao ar.
Os passos para mover o Wordprees de um diretório qualquer para a raiz do site são bem simples, peguei a dica com a Drika (que não se chama Adriana) quando precisei e agora só trabalho desta forma.
Migrando WP para a raiz do site
A primeira coisa que devemos saber é tomar cuidado para que os bots não acabem indexando o site em desenvolvimento. Logo após instalar o WordPress no diretório acesse o menu Configurações/ Privacidade e marque a opção “Quero bloquear mecanismos de busca, mas permitir visitantes normais”.
Agora o ambiente esta pronto para desenvolvimento, quando você terminar o trabalho e o projeto for homologado é só seguir os 4 passos abaixo e transferir para a raiz:
- Na administração do wordpress acesse o menu Configurações/ Geral e onde tem URL do blog deixe o endereço que apontava para o diretório de desenvolvimento, já no campo URL do site você vai colocar a URL que aponta para a raiz do site. Ex.: www.seusite.com/wordpress e www.seusite.com respectivamente.
- Baixe
e apagueos arquivos index.php e .htaccess do diretório onde o wordpress esta instalado. - Abra o arquivo index.php e altere a linha que chama o arquivo wp-blog-header.php, onde tem require(“./wp-blog-header.php”); você vai mudar para require(“./wordpress/wp-blog-header.php”); onde wordpress é o diretório onde o WP foi instalado. Feito isso suba os arquivos index.php e .htaccess para a raiz do site.
- No WordPress acesse o menu Configurações/ Links permanentes e clique no botão salvar. Essa etapa é necessária para que o WP reescreva o código de redirecionamento no arquivo .htaccess e evite erro 500 nos links para páginas, categorias e posts. Acredito que só é necessário se você não utilizar o formato padrão de permalinks enquanto desenvolve o site.
Se você seguiu direitinho os passos acima seu blog provavelmente já esta funcionando na raiz, mas talvez seja necessário alguns ajustes. Os links que você criou nos posts apontando para páginas internas do site podem quebrar porque provavelmente estarão apontando para o diretório, para resolver sugiro a instalação do plugin Search and Replace, após fazer o download e instalar acesse as configurações e no campo replace digite o endereço do seu site com o diretorio onde o WP foi instalado, no campo wiht você vai colocar o endereço da raiz do seu site e marcar para ele alterar em todas as tabelas.
Pronto, agora já tudo está perfeito e você só precisa ir em Configurações/ Privacidade e marcar para que os bots possam indexar o conteúdo do site.
Dar foco a determinada imagem da lista com jQuery
Sabe aquelas listas que exibem algumas imagens um pouco apagadas e quando você coloca o mouse em cima de uma delas ela acende e se destacando das outras? Sempre achei esse efeito muito bacana, mas nunca havia participado de um projeto que pudesse utilizar, eu ficava imaginando milhares de formas muito complicadas para fazer o efeito, sabia que eram complicadas e que deveria existir uma forma mais simples de fazer acontecer, porém nunca parei para pesquisar.
Estudando a documentação do jQuery descobri que é muito mais simples do que eu imaginava e então veio a idéia de escrever esse tutorial.
Em primeiro lugar você vai chamar o framework jQuery no head da sua página web;
1 | <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> |
Agora no corpo do documento vamos criar uma lista de imagens;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <ul class="listaImagens">
<li>
<a href="#" title="Imagem 1">
<img src="img/1.jpg" alt="Imagem 1" title="Imagem 1" />
</a>
</li>
<li>
<a href="#" title="Imagem 2">
<img src="img/2.jpg" alt="Imagem 2" title="Imagem 2" />
</a>
</li>
<li>
<a href="#" title="Imagem 3">
<img src="img/3.jpg" alt="Imagem 3" title="Imagem 3" />
</a>
</li>
<li>
<a href="#" title="Imagem 4">
<img src="img/4.jpg" alt="Imagem 4" title="Imagem 4" />
</a>
</li>
</ul> |
Agora pra finalizar vamos inserir o script que, através do jQuery, produz o efeito;
1 2 3 4 5 6 7 8 9 10 11 12 | <script>
(function($) {
$(document).ready(function() {
$('ul.listaImagens li').stop().fadeTo('fast', 0.3);
$('ul.listaImagens li').hover(function() {
$(this).stop().fadeTo('fast', 1.0);
}, function() {
$('ul.listaImagens li').stop().fadeTo('fast', 0.3);
});
});
})(jQuery);
</script> |
A linha 2 é utilizada para resolver problemas de incompatibilidade com outros frameworks javascript que utilizam o $ como seletor;
Na linha 3 indicamos que o evento deve ser criado assim que o site terminar de carregar;
A linha 4 coloca todas as imagens da lista com opacidade 0.3;
A linha 5 chama diz que ao passar o mouse em uma das imagens a opacidade desta será alterada para 1.0 (100%) e ao retirar o mouse volta a 0.3.
VOcê pode conferir o efeito aqui: Imagem Foco
Seus pais até podem escolher seu nome, mas seus amigos é que decidem como você vai ser conhecido
Seus pais até podem escolher seu nome, mas seus amigos é que decidem a forma como você vai ser conhecido, isso é um fato. Meu pai teve a infeliz brilhante idéia de me registrar com o mesmo nome que ele, até hoje não sei se foi uma forma de se vingar ou ele realmente não sabia que um dia eu poderia ser zuado, mas felizmente meus amigos resolveram me chamar de Leo.
Normalmente os apelidos dão uma idéia do nome, eu mesmo constantemente sou chamado de Leonardo
, mas as vezes existem casos onde o apelido tem um motivo aparentemente lógico, mas nada haver com o nome e acaba causando confusões, como o Lu que na verdade se chama Antonio. Porra, Lu é apelido de Luciano, Lucival, Luana, mas de Antonio eu nunca vi, Antonio se quiser apelido é Toinho e pronto.
Porra, esse cara não parece com o Luciano???
O tempo foi passando e #fuuu, hoje o Antonio é chamado de Lu simplesmente porque alguém, um dia, achou que ele era parecido com um tal de Luciano.
Algumas pessoas chamam o Thiago Freire de Marcelinho… Porque? Sei lá!
Fiquei sabendo pelo Twitter que Jorge chama o @leocdlj de “Leo Grandão”. Puts cara, deixa as minas chamarem o cara assim, chama ele só de Leo, de brother, bacana, sangue bom ou até mesmo jovem, mas porra, eu passo e te vejo chamando ele de “Leo Grandão” (vou até pensar que é comigo) fica estranho “pacas”.
Tem um parceiro que costumo trabalhar em alguns projetos cujo sobrenome é Paixão, alguns caras só chamam ele pelo sobrenome, eu me recuso a chamar outro homem de paixão. Não sou homofobico, mas vamos combinar né, fica estranho pra caralho eu, um cara comprovadamente macho, chamando um negão de paixão, desculpe meu amigo, mas no seu caso fico com o nome que teu pai escolheu.
