home


categorias

  • choque (18)
  • comida (5)
  • crônicas (9)
  • design (2)
  • entretenimento (8)
  • estudos (5)
  • línguas (4)
  • memória (3)
  • meta (3)
  • nova york (16)
  • pirações (12)
  • trampo (12)
  • Arquivo da categoria ‘crônicas’

    Quando eu era moleque, lia muito Millôr Fernandes e Luis Fernando Verissimo. E também escrevia redações ficcionais enormes na escola, muitas vezes inspirado nesse tipo de narrativa. Essa categoria é pra artigos que trazem minha versão moderna dessa piração. Enfim, uma bela merda pretensiosa.

    Balloon vessel

    Escrito em 17/June/2009, 21:34 em crônicas | 3 comentários

    Balloon vessel

    Começou aos poucos: um dia alguém avistou um saco de bolas dentro do metrô. “Alguém deve ter esquecido”, foi o que pensaram. “Algum entregador deixou aí. O pessoal da limpeza vai achar pro setor de achados e perdidos”, diziam. Teve quem achasse graça.

    Mas mal sabiam eles que este não era só um caso isolado. Ele se repetiu no dia seguinte, com um saco de bolas diferente. E depois. E depois. E aí já não era mais um saco de bolas. Eram dois. Três. Meia dúzia. Uma dúzia. Duas dúzias. Centenas. Milhares. A graça acabou bem rápido.

    Rapidamente eles tomaram o espaço dos homens e mulheres nos vagões dos trens do metrô. A situação ficou insustentável. Ninguém conseguia mais ir trabalhar; o metrô estava tomado por sacos de bolas. Eles ocupavam os bancos, os corredores, a área das portas, até os assentos reservados. Como saber se um saco de bolas é mais ou menos idoso?

    “Faça alguma coisa!”, repetiam os cidadãos. “Esses sacos não deveriam estar aqui!”, diziam outros. É verdade. Mas estavam. E tinham tanto direito quanto qualquer um de utilizar o metrô. Teríamos de ligar com isso. Os sacos de bolas haviam chegado para ficar.

    Foto e título por Juliana Mundim

    Aprenda programação orientada a objetos no dia dos namorados

    Escrito em 12/June/2009, 1:16 em crônicas, pirações | 9 comentários

    Há algumas semanas atrás, o grande @mjlogan publicou uma frase em sua conta do Twitter que achei genial:

    @mjlogan: Gata, pode vir populando que meu array já está inicializado. #pedreiro_geek

    Era mais uma – de muitas – cantadas geek que estavam circulando naquele dia no Twitter (e que continuam circulando) com a hashtag #pedreiro_geek (ou #geekpickuplines na versão gringa). Neste caso, bastante voltada pra programação.

    Ler isso fez com que uma verdadeira lâmpada se acendesse acima da minha cabeça. Ou seja, estava sem fazer porra nenhuma e pensei, “Caralho, dá pra fazer um monte de cantadas toscas desse tipo relacionadas a programação!“.

    Quem me conhece sabe que sou um solteiro convicto, mas a oportunidade me pareceu boa demais pra deixar passar. Sabe aqueles momentos em que a inspiração bate e você não liga muito pras consequências? Então. Foi aí que acabei despejando uma torrente de frases parecidas na minha conta no Twitter, mas todas relacionadas a Object-Oriented Programming, ou OOP (Programação Orientada a Objetos, em português). Quem teve a honra prazer sorte infelicidade de acompanhar os tweets não deve ter entendido muita coisa, porque elas são realmente muito voltadas pro mundo OOP; no máximo, pode ter achado uma ou outra engraçadinha.

    Como o search do Twitter não parece funcionar pra coisas muito antigas, não dá mais pra listar tudo que postei através de um simples link. Mas como a data é bastante propícia, decidi postá-las aqui para guardá-las pra posteridade.

    No entanto, pro bem da humanidade, e pra ter algum propósito minimamente útil neste artigo, decidi colocar explicações de cada frase junto de cada uma delas. Pra quem não entendeu nada quando as escrevi, pode ser uma oportunidade de entender o quão genial razoável cada uma das frases era; pra quem está aprendendo OOP, pode ser uma oportunidade de sacar alguns conceitos através de exemplos, digamos, pouco ortodoxos; e pra quem já sabe, pode ler sem precisar de muitas explicações, no máximo utilizar as descrições pra ver se acertou, e talvez, quem sabe, achar um pouco de graça.

    Seguem abaixo as cantadas oop, na ordem em que foram postadas. A explicação de cada uma delas está escondida; clique na setinha no final de cada frase para ler a explicação correspondente.

    Nota: os links que coloquei na explicação, bem como as expressões que usei, são dos conceitos originais em inglês (porque foi assim que aprendi), mas é só clicar no link pra versão em português na página da Wikipedia que se abre pra achar o equivalente em português. Além disso, alguns dos conceitos explicados nas frases do começo não são repetidos mais além, então vale a pena ler na sequência porque as explicações podem parecer meio vagas mais pro final da lista.

    Gata, você é uma constante na minha classe estática.

    Gata, no Singleton do meu coração, você é a instância default.

    Gata, se meu coração é o Model, você é o Controller e eu sou o View.

    Gata, não tem Garbage Collection que consiga fazer eu te esquecer.

    Gata, eu ter esquecido o dia do seu aniversário é culpa de um memory leak.

    Gata, sua classe é final.

    Gata, não tem longint grande o suficiente pra dizer o quanto eu gosto de você.

    Gata, vou extender meu coração só pra fazer um override no toString() pra escrever seu nome nele.

    Gata, sua classe não tem clone().

    Gata, você implementa ILoveYou.

    Gata, todos os meus overloads têm você como parâmetro.

    Gata, meu dispose() é disparado automaticamente se sua referência for removida da instância.

    Gata, me diz qual o método da sua API que retorna seu coração.

    Gata, sua instância é única.

    Gata, quero te extender pra classe MyGirl.

    Gata, vamos fazer um composition que instancia nós dois.

    Gata, depois que eu terminar com você, vão escrever um capítulo novo sobre você no Gang Of Four.

    Gata, depois que eu terminar com você, não vai ter refactoring que faça você me esquecer.

    Gata, o unit testing de minha classe só retorna válido se ele te encontrar.

    Gata, depois de ser instanciada, deus removeu sua classe do repositório.

    Gata, não tem encapsulamento que esconda o que eu sinto por você.

    Gata, não dá setar o que sinto por você pra null.

    Gata, meu o command pattern tá preso em loveYou().

    Gata, minha paixão está em loop infinito.

    Gata, todas as entradas do meu iterator apontam pra você.

    Gata, você não tem factory, é base class.

    Gata, você provocou uma exceção no init() do meu coração.

    Gata, não tem especificação que explique sua classe.

    Gata, você conseguiu acessar uma propriedade do meu coração que era protected até eu te conhecer.

    Gata, depois de te conhecer, deu um lock na instância do meu coração.

    Gata, não tem pattern que explique o que sinto por você.

    Gata, meu try é pra dizer o que sinto por você, pra catch seu coração, e finally te conquistar.

    Gata, quero adicionar um listener em todos os seus eventos.

    Gata, você é tão única que seu prototype é private.

    Gata, todos os seus erros são fatais para meu coração.

    Gata, espero a documentação que me ajude a conquistar seu coração.

    Gata, universo = universo.replace(/([\.-,;\s]+s|^s)o(l$|l[\.-,;\s])/im, “você”);

    Nota final: não garanto a eficácia de nenhuma das cantadas listadas acima. Use por sua própria conta e risco.

    E, por favor, não leve a sério.

    Se vendêssemos pizzas como produzimos sites (10 anos depois)

    Escrito em 7/May/2009, 14:09 em crônicas, memória, trampo | 38 comentários

    Senta que lá vem a história.

    Eu não gosto de falar mal de lugares em que trabalhei, e felizmente, não tenho muitos motivos pra isso. Ao contrário, tive a sorte de trabalhar em (ou para) diversos lugares fenomenais, com pessoas fantásticas, e poderia ficar falando dias sobre o assunto. No entanto, tem um lugar em específico onde trabalhei que me rendeu péssimas experiências; vou citá-lo aqui brevemente porque faz parte do contexto, então não me levem a mal. E nem importa muito, porque o lugar já fechou há anos mesmo.

    Lá pros idos de 1999, eu trabalhava no departamento de produção web numa agência de propaganda. Era um trabalho bem ruim – não só porque era ainda o começo na Internet no Brasil (quando poucos clientes sequer tentavam entender a Internet) mas porque esta agência em específico tinha como uma de suas principais características abrir as pernas pra qualquer que fosse a vontade do cliente.

    Nessa época, atendíamos um certo cliente que, devido ao fato de ser o principal cliente da agência, deitava e rolava na hora de pedir algum trabalho. Eram inúmeras “versões” de trabalhos que eram feitas, e inúmeros representantes do cliente envolvidos com a aprovação de qualquer coisa. Parecia um episódio dos Cavaleiros do Zodíaco, quando após derrotar um inimigo (diretor X) que em teoria era o mais forte do universo (mais chefe), surgia algum outro que era ainda mais forte (diretor Y), seguindo uma corrente interminável de aprovações. E sabe quando tem aquele cliente que não aprova algo porque a mulher dele não gosta de amarelo, e o site tem amarelo? Então. Esse cliente. Grande, trabalhando com tecnologia, conhecido nacionalmente, mas ainda assim, um cliente mala, em parte por culpa de como o atendimento era feito dentro da agência – que era basicamente fazer o que for que o cliente mandasse, afinal, ele estava pagando.

    Obviamente, quem se fodia nesse cenário eram os peões que tinham de ralar fazendo trabalhos que seriam recusados pelos motivos mais esdrúxulos. Eu era um destes peões.

    Nós levávamos tudo na esportiva. Reclamávamos mas fazíamos o trabalho, trabalhando madrugadas e finais de semana, mesmo que fosse pra algo que sabíamos que era a décima versão (sem exageros) de algo péssimo. Até que um dia, não podendo mais me conter, escrevi, com a ajuda e sugestões do Alessandro Straccia, do Ivan Clever e do Giuliano Arsati (que trabalhavam comigo), um texto intitulado “Se vendêssemos pizzas como produzimos sites”, carinhosamente chamado de pizza.txt. Era um texto bem chulo, sem muita revisão, mas que retratava nosso dia-a-dia de trabalho através de analogias com o trabalho de uma pizzaria, deixando claro o quão surreais eram algumas das situações pelo qual passávamos. A maioria das situações citadas eram relacionadas a esse cliente que citei acima, mas tentamos fazer um apanhado geral da nossa área de trabalho.

    Nessa época, eu também estava num momento experimental, tentando iniciar mensagens virais de forma anônima. Às vezes, deixar algo desse tipo sem assinatura ao ser distribuido funciona melhor pra popularizar do que deixar com o nome assinado. Sabe quando hoje em dia alguém escreve algum email reclamando de algo e assina “Millôr Fernandes”, “Arnaldo Jabor”, essas coisas, só porque quer transformar o email em corrente e sabe que vai ter mais credibilidade dessa forma? Então, é algo parecido (mas menos cretino, já que era anônimo, ao invés de roubar o nome de alguém).

    Foi assim que decidi divulgar o texto. Copiei ele inteiro pra um email que mandei na famosa lista WD (iniciada pelo Michel Lent em, sei lá, 1996, acho). Essa lista era a lista de discussão da Internet brasileira à época (antes do racha que teve devido a discussões e da divisão em listas específicas, ou da reencarnação em outros formatos). Não assumi a autoria do texto – se bem me lembro, eu disse no corpo da mensagem que “achei por aí” ou que “um amigo me mandou” – e, após o envio, vi ele se alastrar rapidamente, como fogo selvagem, em outras listas de discussão, e até ser re-enviada algumas vezes na própria lista WD. Missão cumprida.

    Até existiram outras alegorias que escrevi e distribuí de forma parecida, mas nenhuma teve tanto sucesso (ou foi tão boa, pra ser sincero) quanto essa da pizzaria. Foi com satisfação que fiquei sabendo, bem depois do ocorrido, que ela foi inserida no livro “Design/web/design:2“, de Luli Radfahrer (publicado em 2000) e atribuída a um “Autor desconhecido”. Embora a versão publicada tenha sido alterada (se me lembro bem, era uma versão encurtada, mais concisa), o livro, obviamente, ajudou a disseminar o seu conteúdo, então não é surpresa que várias pessoas ainda citem esse texto em blogs.

    É um certo orgulhinho secreto. Se fosse assinado por alguém, duvido que o texto teria se propagado da forma como se propagou. Parte do charme da coisa era o fato de ser anônimo, e se alguém anunciasse a autoria do treco aos quatro ventos, acabaria soando meio prepotente. É tipo comer a Luana Piovani e não poder falar pra ninguém. Mas, como já fazem uns 10 anos do ocorrido, e duvido que muita gente vai ler isso aqui, fica aqui finalmente a confidência.

    Eu andei procurando o texto original nos meus backups antigos desorganizados e não achei, e me parece que não existem arquivos da lista WD original online. Fica, então, difícil de comprovar a autoria. Mas, pra ser sincero, acho que nem importa muito; quem quiser acredita, e quem não quiser, pode deliciar-se assim mesmo com o texto, que continua, infelizmente, atual.

    Na ausência do txt original, segue abaixo uma das versões que achei num site; não tenho certeza de que é a versão original (completa), mas acho que sim, a julgar pela ausência de acentos em algumas palavras (nessa época eu estava fazendo a transição de escrever textos em BBSs pra escrever textos da forma correta, então esquecia de acentuar boa parte do que escrevia) e alguns outros detalhes estranhos.

    SE VENDÊSSEMOS PIZZAS COMO PRODUZIMOS SITES…

    Imaginem as seguintes situações:

    * O cliente liga pra gente pedindo uma pizza e esta mais preocupado com a aparência da pizza do que o conteúdo real dela.

    * No meio do trabalho de confecção da pizza, o cliente liga pedindo pra você mandar pra ele um preview de como esta ficando a pizza para a aprovação (ou desaprovacao) dele.

    * Após o cliente acima receber a pizza-preview, ele pede pra fazer “uma pequena alteraçãozinha”, substituir a mussarela amarela por mussarela verde, simplesmente porque ele gosta mais de verde. Isso faz com que você tenha de jogar a pizza antiga fora e produzir uma nova, que alem de dar mais trabalho ficara bem mais feia.

    * O cliente te liga numa noite qualquer pedindo 500 pizzas para serem feitas em 15 minutos, pois ele tem uma festa pra ser iniciada e resolveu te ligar só agora.

    * Você destaca seus melhores pizzaiolos pra atender a esse cliente porque seu pedido é ‘mais importante’ e deixa as pizzas dos outros clientes de lado, o que faz com que todos eles liguem pra reclamar que a pizza deles não esta pronta dentro do prazo.

    * Após você produzir quase todas as pizzas do cliente acima, ele te liga avisando que não precisa mais de pressa porque ele errou a hora. Na verdade, você ainda tinha 4 horas pra produzir as pizzas.

    * O cliente te pede pra colocar as azeitonas de forma simétrica de modo a dar destaque à area central da pizza, que afinal é a area mais importante do disco e é a primeira area que o cara que for comer a pizza deverá ver ao bater o olho nela.

    * O cliente ouve falar de um novo “ingrediente da moda” e simplesmente se convence de que sua pizza devera ter esse ingrediente, apesar do ingrediente ser inútil nesse caso e só dar mais dor de cabeça pra ser implementado.

    * O cliente pede uma entrega urgente que precisa ficar pronta em 2 minutos. Após você usar os seus melhores pizzaiolos, até contratar pizzaiolos freelancers pra fazer o serviço e atrasar novamente os outros servicos, você faz a entrega pro cliente e ele demora 4 horas pra começar a comer as pizzas.

    * Ele pede que a pizza funcione perfeitamente mesmo pra quem gosta de pizzas pequenas, medias ou grandes, sem saber que isso demanda no triplo de esforço necessário, e não quer saber de pagar a maispor isso.

    * Você faz uma pizza maravilhosa e entrega pro cliente, e ele então liga pra você pra reclamar que ele não tem garfo e faca, que são necessários pra comer a pizza.

    * Um possivel cliente te liga pra pedir uma pizza e quando você pergunta que pizza que ele quer, ele te responde que não sabe, que só quer uma pizza porque todo mundo que ele conhece tem uma.

    * O cliente te liga, pede uma pizza super incrementada e trabalhada, e simplesmente não entende como você pode cobrar tão caro por essa pizza, sendo que o boteco da esquina dele faz uma pizza por bem menos.

    * Outro cliente te liga e pede uma pizza e fica abismado com o preço que você que cobrar pela pizza, e ele te diz que o sobrinho dele faz uma pizza por um décimo do preço que você pede (ele usa um template de pizza semi-pronta comprada no Carrefour).

    * O cliente te liga e pede uma pizza linda, mas avisa que ja pediu a mesma pizza pra 5 outras pizzarias e só pagara a que ele gostar mais.

    * O cliente te liga e pede que a pizza dele tenha todos os ingredientes possíveis e imagináveis que você tem no seu estoque, mesmo os mais absurdos possíveis, achando que isso fará a pizza mais atrativa a quem for come-la.

    * O cliente pede a pizza, sem problema nenhum, mas você não poderá entrega-la por motivos de segurança. Ele não quer que você entre na casa dele, então você terá de entrega-la na casa do agente de segurança dele, que mora do outro lado da cidade, que então a entregara pro cliente…que mora do lado da pizzaria.

    * O cliente não tem amigos americanos, nem espanhóis e nem nada em casa, mas mesmo assim te pede que você mande uma pizza com versões em inglês, espanhol, japonês, javanês, svenska, paquistanês, francês e gaulês.

    Cru, mas meu melhor momento Luís Fernando Veríssimo.

    Como nota de rodapé, pra ser sincero, alguns dos itens citados aí são de situações bastante específicas, então pode ficar difícil de sacar – por exemplo, o item “ingrediente da moda” citado acima era uma crítica direta ao fato do tal cliente querer um site em Flash com uma tecnologia caríssima que existia na época (Flash Generator) pra uma aplicação consideravelmente inútil (usuário poder mudar a cor de fundo da página!), quando o site dele funcionaria muito melhor se fosse em HTML. É também a razão pela qual alguns itens foram alterados ou excluídos do livro do Luli, acho.

    E quem tiver mais informações sobre o arquivo da lista WD, pra ver se a gente consegue localizar o original disso, fique à vontade pra postar nos comentários.

    Update: Luli Radfahrer postou um pequeno update sobre o texto em seu blog. Valeu!