Eu no [o – ] taligado, sobre startups

Logo que saiu o piloto do [o – ] taligado, eu publiquei aqui meus elogios. E não é que o Marco Gomes me convidou para participar da primeira edição? Está no ar: Edição 01, sobre Startups, com esse vosso humilde servo.

Eu, descaradamente, aproveitei a oportunidade para perguntar para o Marco e o Gilberto tudo aquilo que eu tinha vontade de saber 😉

E me diverti um bocado!

Ubuntu chega oficialmente ao Brasil

Boa notícia: Ubuntu chega oficialmente ao Brasil.

“Nossa estratégia será fechar parcerias com fabricantes para oferecer o Ubuntu pré-instalado e pré-configurado, faturando com suporte, serviços, segurança e atualização.”

Vem em boa hora. Um funcionário meu comprou um notebook[bb], um Presario v6210br, que veio com Mandriva. O suporte é uma piada. Não conseguíamos conectar em redes com chave WEP, apenas redes abertas. Em todas as ligações que fizemos os atendentes nos disseram que, se o computador conecta em uma rede e outra não, o problema é na rede, e eles não prestam suporte a configuração de redes. Mesmo argumentando que os outros notebooks na empresa, com Linux[bb] e Mac OS, se conectam normalmente à rede.

Parece que eles colocam Linux nessas máquinas só para reduzir custos, mas não esperam que ninguém vá usar realmente o sistema. A qualidade da instalação é entristecedora. Veio com a rede wi-fi configurada via ndiswrapper e cheia de problemas, e os drivers para a placa de vídeo 3D simplesmente não vieram instalados. Parece que esperam que todo mundo vá instalar um Windows pirata na máquina.

Quem sabe com uma distribuição de verdade, prestando suporte de verdade, notebook com Linux pré-instalado deixe de ser piada no Brasil.

FUD: cuidado, o Google pode invadir seu blog!

Para começar, leia o trecho a seguir desta notícia na INFO Online:

Mas, quando tentou o Google, o especialista descobriu que serviço de publicação de blogs WordPress é vulnerável a pesquisas específicas. O site armazena dados como hashes MD5, que podem conter senhas, de uma maneira visível ao buscador. Bastaria informar um trecho do algoritmo para encontrar dados relacionados ao usuário e suas senhas.

Uau, belo trabalho jornalístico esse hein? Espalhando o medo. Imagine a reação de um leigo, que tenha um um blog WordPress, ao ler essa pérola da desinformação. Não parece, lendo esse texto, que o WordPress tem uma seríssima falha de segurança[bb] que pode ser explorada usando o Google? Que se alguém “informa um trecho do algoritmo” vai descobrir uma porção de dados seus? Bom, fui ao site do sujeito e li o artigo em que ele explica como quebrou a senha.

O que aconteceu é que o WordPress do tal Murdoch foi invadido por um cracker, que criou uma conta de usuário. O WordPress guarda suas senhas em um formato chamado MD5, um formato de criptografia que transforma qualquer senha num hexadecimal de 32 caracteres, assim:

  • “Sylar” = 7bef5e9683a92c37a266283bf229c2e8
  • “Cap. Nascimento” = 40a4b69d3132bd562dc03e2de30fda3e
  • “Pat Morita” = 261f3880c4eab23075356dbc6b5befc3

O WordPress faz isso para proteger você. Se alguém invadir seu blog, mesmo assim não vai descobrir sua senha. Então o Murdoch não tinha a senha do sujeito que invadiu o blog dele, tinha apenas o texto “20f1aeb7819d7858684c898d1e98c1bb”. O jeito comum de se descobrir essa senha é o chamado ataque de dicionário. Você consegue um enorme dicionário de palavras e nomes comuns, e faz um programa que converte cada um deles para MD5. Se, ao converter algum, você encontrar o tal texto “20f1…”, pronto, você descobriu qual é a senha.

O problema é que esses ataques levam tempo, pois o computador tem que processar milhões de palavras. E se a senha não for uma palavra comum do dicionário, ela não vai ser encontrada. Assim, “banana” vai ser encontrada, mas “Xbanana43” não. Acontece que palavras muito, muito comuns, como “banana”, ou nomes de pessoas, provavelmente já tem seu hash MD5 publicados em alguma página na web. E, se está publicado, o Google encontra. Por exemplo, procure pelo MD5 de banana.

Então, ao procurar o MD5 da senha do invasor, o Murdoch achou páginas como essa aqui, uma lista de pessoas chamadas “Anthony”. Ele resolveu tentar então “Anthony” como senha, e funcionou.

Perceba que isso não torna o WordPress mais vulnerável, porque a senha ia ser descoberta de qualquer maneira, só ia levar um pouco mais de tempo. E para fazer isso, o sujeito tem que ter acesso ao banco de dados com as senhas. Ou seja, já tem que ter invadido o sistema.

Foi só isso. Não há nenhuma vulnerabilidade no WordPress que, se alguém vai ao Google e “informa um trecho do algoritmo”, vai descobrir seu CPF e número de cartão de crédito. Aliás, será que esse repórter sabe o que significa “algoritmo[bb]“? Aprendi quando era criança, quando minha mãe ouviu meu primeiro palavrão, que gente não devia usar palavras que a gente não sabe o que significa.

Você que usa WordPress, não precisa se desesperar. Só não use senhas óbvias, não acredite em tudo o que você lê por aí e não entre em pânico.

Update: leita também A Web e o problema das senhas “clear text”, do Osvaldo Santana

Retornando o último número (script Python)

Meu amigo DGmike publicou: Retornando o último número (script PHP)

Como eu acho interessante comparar soluções em linguagens diferentes, resolvi escrever o mesmo script em Python[bb]. Veja como ficou:

import re
def ultimoNumero(string):
    return re.findall(r"\d+",string)[-1]

Gostou?

Oficina de WordPress Visie

Momento Jabá:

Oficina de WordPress Visie: WordPress é a mais poderosa ferramenta de blogging da atualidade. É a ferramenta usada em todos os blogs aqui da Visie, e em boa parte dos blogs[bb] mais populares do Brasil e do mundo. Extremamente simples de usar, facilmente configurável e poderosamente extensível, WordPress ainda por cima é open source e completamente gratuito.

WordPress é a ferramenta por trás desse blog. A idéia da oficina nasceu numa conversa com o Juliano Spyer, no Blogcamp. Teremos um dia para quem quer aprender o básico de WordPress para, por exemplo, criar seu próprio blog, um dia para designers, falando de temas para WordPress e um dia para programadores em que vamos construir plugins e ferramentas que se integrem ao WordPress.

Radiohead: elimine os intermediários

A banda Radiohead lançou, há quase um mês, seu novo álbum, “In Rainbows”, de um jeito bem diferente. Você pode entrar no site da banda e baixar o álbum sem pagar nada, ouvir, e decidir quanto você quer pagar por ele. Se achar que não vale nada, não tem problema, não precisa pagar. Você também poderá comprar, em dezembro, um box com o disco no formato físico, um vinil duplo e um CD multimídia com sete faixas extras, letras, imagens e outros itens. Vinil, cara, faz idéia do que é isso? Esse box vai custar uns 80 dólares.

Bom, agora, quase um mês depois começam a sair os resultados. É importante que você saiba que todo o restante desse artigo é um palpite, baseado numa estimativa feita pelo site Gigwise, e só a Radiohead realmente sabe quanto de verdade faturou. Dito isso, veja essa matéria na Info: Maioria não paga por download do Radiohead.

Quem escreveu essa matéria, o pessoal da RIAA? Eu imaginei que jornalistas, ao criar manchetes para suas matérias, devessem escolher coisas relevantes. Bem, a maioria não pagou, certo. Alguém esperava que fosse diferente? Agora vamos falar do que a matéria não disse. Desde o início de sua carreira, em 1993, a Radiohead vendeu nos Estados Unidos 8,2 milhões de discos. O último álbum do Radiohead, “Hail to the Thief”, vendeu 300.000 cópias no mesmo intervalo de tempo e, até hoje, vendeu nos Estados Unidos cerca de um milhão de cópias. “In Rainbows” teve 1,2 milhão de downloads, sendo que apenas 38% dos usuários pagaram, em média US$ 6,00.

Bom, eu não sei quanto a EMI pagava ao Radiohead por cada CD vendido, mas você vai achar interessante esse artigo, já antigo, da Courtney Love no salon.com. Ela diz que a gravadora paga ao artista 20% do preço de venda, e ele tem uma série de outros custos que fazem a conta apenas empatar. O “Hail to the Thief” custa hoje US$ 10,00 na Amazon. Mas foi vendido a US$ 19,00 a maior parte do tempo. Vamos ignorar o que a Courtney disse sobre os outros custos e tomar apenas o preço de venda. O “Hail to the Thief” deve ter feito a Radiohead faturar, no primeiro mês:

US$ 19,00 X 300.000 X 20% = US$ 1.140.000,00

E para o “In Rainbows”, a quantidade de pessoas que efetivamente pagou foi 38% de 1,2 milhão, um valor médio de 6 dólares:

US$ 6,00 X 1.200.000 X 38% = US$ 2.736.000,00

Imagine se o site deles não fosse um lixo. E aí, você ainda acha que “maioria não compra” é uma boa manchete? Esse fato óbvio é mais relevante do que o fato de eles terem faturado mais que o dobro do disco anterior no mesmo período de tempo?

Intermediários? Embalagens?

Artistas produzem música, fãs compram música. Um CD não é música, é uma embalagem de acrílico, alumínio e policarbonato para as músicas. Quanto custa essa embalagem? É possível comprar CDs virgens a R$ 59,00 o cento, o que dá R$ 0,59 por embalagem. Uma embalagem muito inconveniente para música, diga-se de passagem. E uma gravadora, o que é? Um intermediário. Alguém que embalava, transportava e entregava o produto. O que a tecnologia fez foi tornar a embalagem e o intermediário dispensáveis. A mesma coisa acontece com filmes e livros, por exemplo.

Mas algumas pessoas ainda querem embalagens. Por isso o Radiohead vai vender o box, com tantos adicionais. Inclusive o vinil. Você percebeu, estou pasmo com esse negócio do vinil! Muita gente vai comprar só por causa do vinil. Nesse caso, a embalagem agrega valor. Ela é dispensável, e quem só quer a música não vai comprar a embalagem. Mas quem levar a embalagem vai levar porque quer, porque ela é muito desejável. E sem o intermediário.

E você, qual é o seu produto? A internet pode livrá-lo dos intermediários? Que embalagens você pode dispensar? O que você poderia fazer em suas embalagens para que elas sejam desejáveis?

Intercon 2007: ninguém compra essa coisa de site

Ao final de minha palestra[bb], em que falei de métodos, práticas e ferramentas para a produtividade, padrões web e acessibilidade, o grande Manoel Netto, do Tecnocracia, me fez aquela pergunta que todos já estamos cansados de ouvir, mas é importantíssima:

Como fazer com que o cliente pague por padrões web, acessibilidade e toda essa qualidade, quando há gente por aí desenvolvendo sites[bb] a R$ 70,00?

Há dois pontos importantes aqui. O primeiro é que nem todo mundo precisa realmente de um site. O seu José da quitanda da esquina talvez não precise realmente de um site. Pode ser que isso venha a mudar num futuro próximo, e estou à disposição para revisar esse artigo, mas hoje talvez parte do problema seja que você está tentando vender um site para alguém que realmente não precisa de um. Esse ponto nos leva a um próximo:

Ninguém está interessado em comprar esse negócio de site aí. Ninguém compra site. Se você vende site, está vendendo alguma coisa que ninguém quer comprar, e seus clientes vão achar caro mesmo. Ninguém compra site, ninguém compra sistema, ninguém compra e-commerce. Pronto falei. Sabe o que se passa na cabeça do seu cliente quando você oferece a ele um e-commerce por, digamos*, R$ 25.000,00?

“Por esse dinheiro eu coloco dois operadores de telemarketing para trabalhar aqui por um ano.”

“Hmmm, é o preço de uma boa reforma na frente da minha loja.”

“Por que eu deveria pagar por isso mesmo?”

Padrões web, usabilidade, acessibilidade, Ajax, tudo isso tem um custo, mas não é isso que seu cliente compra. No caso de nosso e-commerce hipotético, ele está comprando um vendedor. Um vendedor que trabalha 24 horas por dia, que não vai ficar doente ou abrir um processo trabalhista, um vendedor que pode atender milhares de pessoas. É uma questão de números, R$ 25.000,00 pode ser muito barato se você puder mostrar a ele que vale a pena.

Mostre a seu cliente quanto dinheiro ele vai ganhar, ou quanto ele vai poupar. Dê a ele segurança disso, e ele vai achar seu preço barato. Por exemplo, do último e-commerce que você desenvolveu, qual a quantidade de visitas? Qual a taxa de conversão? Qual o ticket médio? Você faz idéia de quanto o seu cliente lucrou com o site?

Do último sistema de atendimento online que você fez, qual o grau de satisfação do usuário? Qual a eficiência do sistema comparado com o atendimento telefônico? Eficiência se mede em quantidade de clientes atendidos, em tempo de atendimento, etc.

Se você não tem números, seu cliente vai ter que decidir na base do palpite. Vai ser realmente difícil para ele escolher entre você e o sobrinho dos R$ 70,00. Mostre a ele porque ele deveria deixar de contrar mais dois vendedores ou reformar a frente da loja.

* Você provavelmente deve ter entendido que eu não estou dizendo que um e-commerce deva custar R$ 25.000,00. Esse é um preço hipotético. Um e-commerce pode custar R$ 2.500,00 ou R$ 250.000,00, e esse não é o nosso assunto aqui.

Café.com Blog: o que são blogs?

Acabo de chegar do Café.com Blog. O evento, promovido pela revista Bites, reuniu frente a frente executivos de Tecnologia de Informação de grandes empresas, empresários e outros engravatados com um interessantíssimo time de blogueiros[bb]. O evento foi interessante, mas o formato ainda pode melhorar bastante. O BlogCamp, por exemplo, foi muito mais interessante. Um evento sobre mídia social não pode começar com palestras do tipo “você fala, nós escutamos”, mesmo que as palestras tenham sido muito boas.

Depois das palestras conversei com alguns blogueiros e o clima era meio de “foi para isso que viemos aqui?” Na hora do bate-papo, o evento realmente começou a gerar algum valor, mas o tempo era muito escasso e a coisa toda ficou formal demais. Paciência, blogueiros. Uma coisa é pegar um sujeito que passa seus dias compartilhando informações no blog, no Twitter, no Facebook e jogá-lo numa desconferência. Outra é pegar o diretor de TI de uma empresa com 10.000 horas de PowerPoint no currículo e tentar fazê-lo colaborar.

Nas perguntas dos engravatados ficou claro que as empresas ainda não entenderam esse negócio todo. “Como me comunicar com blogs? Como vocês blogueiros vêem os blogs corporativos? etc.”

Bom, vamos do começo. O Edney disse no evento que começou seu site porque não aguentava mais seus amigos fazendo perguntas sobre informática. Esse é um exemplo fantástico. Um blogueiro é só isso, uma pessoa, que por qualquer motivo tem alguma coisa a dizer. Eu disse PESSOA, Pê – ê – ésse – ésse – ô – a!

Embora para o Edney seu blog possa ser um negócio, um emprego, um hobby ou qualquer outra coisa, para o resto do mundo é só isso: uma pessoa. Sabe aquele cara no seu prédio que conhece todo mundo? Conhece os vizinhos, conhece os porteiros, conhece os taxistas e o cara da padaria? O blogueiro é como esse cara, a única diferença é que um blogueiro como o Edney tem 3 milhões de vizinhos.

Imagine que você tenha um produto para vender, digamos, um desembaçador de espelho de banheiro. E vai convencer seus 10 vizinhos mais populares a falar do seu produto. Você os conhece, pessoalmente. Que estratégia você vai usar? Mandar um press-release a cada um deles? O blogueiro é como o seu vizinho. Não tem nenhuma obrigação de falar de você, e se resolver falar, não tem nenhuma obrigação de falar bem. E simplesmente não vai dar nenhuma atenção se achar que você está desperdiçando o tempo dele. Então se você não der a ele algo a respeito do qual vale a pena falar, ele simplesmente irá ignorá-lo. E se der algo muito ruim, ele pode achar que vale a pena falar mal sobre seu produto.

Quer saber de um segredo? As coisas sempre foram assim. Se você pegar os livros de marketing de 20 anos atrás vai encontrar bastante coisa sobre o poder do boca-a-boca. As pessoas sempre procuraram informações com o vizinho, com um amigo ou parente antes de comprar. O que acontecia de diferente é que no passado nem sempre o sujeito encontrava um amigo ou parente que possuía ou sequer se interessava pelos produtos que ele queria comprar. Era o caso do sujeito que queria uma boa máquina fotográfica, mas não tinha absolutamente ninguém próximo que entendesse de fotografia. Hoje, no melhor estilo long tail, você vai encontrar na web gente apaixonada por aquilo que é do seu interesse, sejam bromélias, espeleologia ou computação analógica.

Então vamos às perguntas

Como me comunicar com blogs?

Exatamente como com o seu vizinho. Como uma pessoa. Não tenho tempo de ouvir a ACME.com, mas a coisa vai ser diferente se o Marcelo, que é um cara muito legal, bem-humorado e inteligente, leitor do meu blog e de uma série de outros, e que por um acaso trabalha na ACME.com, tomar seu tempo para me escrever algo genial, que vale a pena ser passado adiante.

Ligue para o setor de atendimento de qualquer grande empresa de tecnologia para perguntar sobre um novo modelo de computador. Um que seja 0800, para que você não gaste seu dinheiro à toa. Preste atenção em como eles falam. Agora ligue para um bom amigo que trabalha na área, para pedir indicações de, sei lá, que computador comprar. Veja como ele fala.

Percebeu a diferença? Os caras do “Manifesto Cluetrain” dizem:

Conversações entre seres humanos parecem humanas. Elas são conduzidas em uma voz humana. As pessoas se reconhecem como tal pelo som desta voz.

Quer seja explicando ou reclamando, brincando ou séria, a voz humana é genuína. Ela não pode ser falsificada.

A vida corporativa nos ensina a vestir fantasias. Uma mãe de três filhos divorciada, dona-de-casa por opção, cinéfila, ciclista e artesã veste todas as manhãs sua fantasia de diretora executiva de multinacional. Lá ela não fala sobre seus filhos ou a última pedalada. Ela não conta piadas nem fala abertamente o que pensa como faz fora da empresa. Sua voz deixa de ser humana. É assim que as empresas estão falando com seus clientes, e é assim que estão tentando falar com os blogueiros.

Como vocês blogueiros vêem os blogs corporativos?

Depende. O que exatamente você chama de “blog corporativo[bb]“?

Tenho um amigo que trabalha na Microsoft. Sou usuário de Linux e, que me lembre, não uso atualmente nenhum produto da Microsoft. Mas, graças a nossas conversas (presenciais, não em blogs) sei bastante coisa sobre o que a empresa anda fazendo hoje em dia, inclusive algumas soluções muito, muito interessantes. Estou até propenso a escrever sobre algumas coisas.

Por que meu amigo conseguiu me falar dessas coisas todas? Porque ele é humano. Porque se eu digo que determinado produto não presta ele não responde com um “estamos fazendo o melhor para atendê-lo” ou qualquer outra coisa assim.

Quer ver só? Acesse o blog do Rexona. Você vai perceber que é só um clipping de notícias com um sistema de comentários. Não foi escrito por uma pessoa, foi escrito talvez por uma empresa, um frasco de desodorante ou quem sabe um atendente de telemarketing. A voz das pessoas é diferente daquilo. Pessoas tem um nome. “Rexona” não é nome de gente. Pessoas emitem opinião. Às vezes, até são engraçadas.

Os blogs não podem salvar seu produto ruim.

Tenho falado mal da Telefonica aqui neste blog. Atendem mal, e me deixaram de fora do Google CodeJam. Já falo mal deles há uns cinco anos, e esse site, por exemplo, está no ar há seis.

Se você fizer uma busca simples, vai descobrir que as reclamações são constantes. A qualidade do serviço e do atendimento não mudou nada nesses seis anos. O que você acha que as pessoas estão falando por aí, fora da internet, sobre a Telefônica? Converse com seus vizinhos. Não há nada que a Telefônica possa fazer para que eu e milhares de outros blogueiros falemos bem dela, a não ser melhorar o serviço.

Esta semana precisei novamente deles. Perdi horas ao telefone. Não é uma hipérbole, perdi horas literalmente. Se for falar da Telefônica, o que você acha que eu vou dizer?

Produto é marketing

Homens de marketing[bb], o trabalho de vocês tem mais a ver com operações, atendimento e a própria criação do produto. Voltem aos seus velhos manuais de marketing da faculdade, e vocês vão ver que tudo isso está lá dentro, esquecido. Criar o produto, dizer como ele deve ser, é uma atividade de marketing.

Você precisa de um produto que as pessoas, ao ver, pensem: “Uau! Preciso contar isso para alguém.” Pense no Skype, no iPod, no Nintendo Wii, no Gmail, no TiVo. Simplesmente não dá mais para falsificar isso, porque estamos todos conectados.

Deixe seu Linux com cara de Mac OS X

Uma das perguntas que mais me fazem é: como deixar o Linux mais parecido com o Mac OS X? Considero isso um despropósito. O Ubuntu[bb], por exemplo, é lindo, perfeito, não precisa mudar nada.

Mas, tem louco para tudo. Desde gente querendo deixa o Linux com cara de Windows, quanto gente querendo um Windows com cara de Linux.

Bom, então lá vai, se você quer realmente seu Linux com cara de Mac[bb] OS X, siga o tutorial mais completo e paranóico que há. Vai dar um bocado de trabalho, mas o resultado é impressionante:

Make Your Linux Desktop Look Like A Mac – Mac4Lin Project Documentation

Há também uma versão menos detalhada desse tutorial, mas em português.

Intercon 2007: Twitter

Para mim é difícil dizer quem foi a grande estrela do Intercon 2007: o Luli ou o Twitter. Durante as palestras víamos boa parte do público de cabeça baixa, olhando para seus celulares[bb], exercitando freneticamente seus polegares.

Saindo do Intercon e voltando ao mundo real descobri um fato estarrecedor: a maioria das pessoas não sabe o que é o Twitter. Mesmo num evento de desenvolvedores de que participei no domingo, ninguém sabia o que era! Então vamos começar com o básico:

Qualquer um pode entrar lá e criar uma conta. Em seguida o twitter pergunta “o que você está fazendo agora?” E você pode entrar lá, quantas vezes quiser, e dizer o que está fazendo agora. E também pode encontrar seus amigos lá e clicar em “follow”. Ao fazer isso, você é avisado sempre que um deles escrever alguma coisa. Isso pode ser simplesmente publicado em sua página no Twitter ou enviado para você por Gtalk ou SMS. Você também pode escrever via Gtalk ou SMS, sem abrir a página do Twitter.

Da primeira vez que vi isso, pensei que fosse completamente inútil. Ora, o que alguém poderia escrever diferente de “escrevendo no twitter”. E que interesse eu tenho se fulano está escovando os dentes ou ciclano está alimentando os gatos? Durante um bom tempo eu, e uma porção de gente que eu conheço, se recusou a usar o Twitter.

Quando resolvi dar uma chance ao Twitter, comecei a entender de verdade seu valor. O truque número um é que você pode responder ao que alguém disse, basta começar sua mensagem com @nomedosujeito. O truque número dois é que você pode escrever o que quiser, não apenas o que está fazendo agora.

Veja, por exemplo, o que aconteceu no Intercon. Durante uma palestra alguém tem uma dúvida ou uma idéia genial. Ao invés de cochichar com a pessoa ao lado, escreve no twitter. É como se estivesse cochichando com cem ou duzentas pessoas que podem responder. Imagine uma sala de bate-papo onde você só escuta quem você escolheu, e que funciona muito bem em seu celular.

Outro exemplo, você resolve almoçar no intervalo do evento. Publica no twitter onde está e para onde vai. Seus amigos ficam sabendo e podem responder na hora. Pense na troca de SMS que você já faz, mas em grupo. Sabe aqueles filmes em que a equipe dos mocinhos tem um comunicador em que quando um fala todo mundo ouve?

Claro, esse é o uso que eu estou fazendo do Twitter, não quer dizer que é o único ou “o jeito certo”. Mas, a julgar pela quantidade de gente que estava usando assim no Intercon, deve ser um dos melhores usos. Os resultados? Confira o que o Manoel Netto escreveu sobre o assunto.

Entenda bem, não é o Twitter, é o fato de estarmos conectados o tempo todo, do mesmo jeito que não era o Napster, era o fato de podermos compartilhar nossas músicas, e não era o ICQ, mas o fato de poder falar com gente do mundo todo, inclusive meus vizinhos. Não sei se o Twitter vai continuar a ser usado por anos, ou se vai surgir algo que vai conseguir substituí-lo, não importa. O que importa é que podemos nos falar, estamos conectados, em qualquer lugar e sempre que quisermos, e em grupo. Isso é algo completamente novo, e muda muita coisa.

Intercon 2007: Eu fui! ;-)

Este ano, finalmente, eu pude participar do iMasters Intercon! Já há alguns anos que eu quero ir, mas não consigo, cheguei a ser convidado para palestrar e não pude, mas dessa vez, finalmente, foi. Deixei o pessoal por aí publicar seus posts sobre o assunto primeiro, principalmente porque o evento me deixou com a cabeça cheia de idéias, e precisava de um tempo para digerir tudo e falar sobre elas ao invés de tentar fazer uma cobertura “jornalística”. Esse é então o primeiro de uma provável série de posts sobre o Intercon, e nesse primeiro vai ser difícil evitar a rasgação de seda, tão bem impressionado que eu saí de lá.

Primeiro eu quero agradecer ao Tiago Baeta e ao André Metzen pelo evento e pelo convite. Imagino a quantidade de trabalho que dá promover um evento como o Intercon. Parabéns, foi fantástico! Quero também agradecer ao Maurício Samy, o Maujor, que foi quem primeiro indicou meu nome para o Intercon. Valeu pessoal!

Quero também agradecer à platéia. Vocês foram demais. O Manoel Netto disse que eu consegui atingir 80% da platéia. Tomara. (Mostrei o post dele para um amigo e ele perguntou, ingenuamente: “como ele sabe?” Para os desavisados: claro, ele não sabe, é um palpite baseado no que ele viu lá de cima. E seria melhor não ter que explicar isso.) Mas o fato é que a platéia estava animada e participativa, empurrando a gente.

Como este ano o evento foi ecologicamente responsável[bb], recebi como presente um lindo bonsai. Acertaram no presente, além de mim, minha família adorou. Pusemos no pinheirinho de Gulliver o nome de “Jaspion” e vamos nos esforçar para que ele tenha uma vida longa, intensa e bem vivida. Se alguém aí tem dicas sobre como cuidar de bonsais, por favor envie.

Infelizmente, só pude assistir ao evento na sexta e tive que sair no intervalo do “se vira nos 3”, mas o evento valeu cada minuto que passei lá. Aprendi muito com as palestras[bb], e muito mais com o twitter e no bate-papo do lado de fora. Saí de lá com aquela sensação de “preciso fazer mais isso”.

Instalando o PSE no Ubuntu 7.10 Gutsy Gibbon

O novo Ubuntu[bb] 7.10 está maravilhoso. Até o 7.04 eu usava um hack para fazer funcionar minha placa de rede, agora ela funciona sem truques. O compiz já instalado funcionou sozinho, bem direitinho. O resto tudo também funcionou sem dor. Menos o PSE.

Por algum motivo estranho, a versão do mod_python (3.3.1) desse novo Ubuntu reclama de sei lá o que. A versão anterior (3.1.3) funcionava sem problemas. Dei um jeito aqui de colocar para funcionar. Não sei se é uma boa saída, se alguém tiver uma sugestão melhor, por favor.

Segue a receita de bolo para instalar o PSE no novo Ubuntu:

  1. Instale os pacotes necessários: sudo apt-get install apache2 libapache2-mod-python python-profiler build-essential latex2html
  2. Baixe o PSE: wget http://nick.borko.org/pse/PSE-3.0.6.tar.gz
  3. Extraia o código fonte: tar -xzvf PSE-3.0.6.tar.gz
  4. Entre na pasta: cd PSE-3.0.6
  5. Compile e instale: sudo python setup.py install
  6. Edite o arquivo de configuração do Apache: sudo gedit /etc/apache2/apache2.conf
    Acrescente ao final:
    PythonHandler pse_handler
    AddHandler python-program .pt
  7. Aqui vai o hack: sudo gedit /usr/lib/python2.5/site-packages/mod_python/importer.py
    Encontre a linha 303, que deve ser:
    return __import__(module_name, {}, {}, '*')
    E edite para ficar:
    return __import__(module_name, {}, {}) #, '*')
    Cuidado para não quebrar a identação!
  8. Reinicie o Apache: sudo invoke-rc.d apache2 restart

Pronto, deve funcionar. Aqui para mim foi só isso.

Tradutor Português-Portunhol

Falta uma semana para lo dia internacional de hablarse portuñol. Fica aqui minha contribuição ao ócio e falta do que fazer, fruto de uma tarde de feriado entediante: tradutor automático de sites português-portunhol. Você pode, por exemplo, ver este site traduzido para o portuñol[bb].

Tomara que você ache tão divertido de usar quanto eu achei construí-lo.

Acentuação em Português e Expressões Regulares Python

Ao utilizar expressões regulares em Python[bb], por padrão, seu texto é interpretado como uma seqüência de caracteres ASCII comum. Assim, caracteres acentuados são considerados sinais gráficos especiais, e não são capturados como letras. Veja este exemplo:


>>> import re
>>> print re.sub(r"\b","|","era uma criança")
|era| |uma| |crian|ç|a|

Como você pode ver, o ce-cedilha não é considerado uma letra, “quebrando” a palavra. Resolver isso é muito fácil, basta compilar a expressão regular passando a flag L, para que ela siga o locale de sua máquina, ou a flag U, para que ela trabalhe com unicode. No meu caso, em que o locale da máquina é unicode, tanto faz. Veja como funciona:


>>> import re
>>> c=re.compile(r"\b",re.U)
>>> print c.sub("|",u"era uma criança")
|era| |uma| |criança|

Só não se esqueça de trabalhar com strings unicode.

Blogroll

Eu tinha uma idéia a respeito de blogrolls que eu não costumava compartilhar: a de que eles fogem aos objetivos do site. Pensava que o sujeito chega a um site procurando pelo bom conteúdo que há ali, ou porque assina o RSS[bb], logo não vai ver o blogroll, ou porque estava procurando algo no Google e, chegando com um objetivo específico, não vai clicar a esmo em qualquer link que achar bonito. Não costumava compartilhar essa idéia porque era só um palpite, eu não tinha nenhuma certeza disso.

Bom, mudei de idéia. Tenho clicado em tantos links legais em blogrolls por aí, e descoberto tanta coisa interessante, que fui convencido da utilidade disso. Então agora temos um blogroll. Está em ordem randômica, pois foi o jeito mais justo. Só links em português, para que todos possam aproveitar. Boa leitura!

Um pouquinho mais da sintaxe do Python

Um amigo meu está fazendo faculdade, e começando a aprender a programar (com Java[bb].) Ele me mostrou semana passada um exercício que o professor passou:

  • Solicitar que o usuário informe um número inteiro que será usado como limite superior do contador.
  • O programa deverá exibir todos os números pares existentes entre 1 e o limite superior (informado via teclado pelo usuário).
  • Após a exibição dos números o programa deverá perguntar se o usuário deseja executar mais uma vez.

Por curiosidade, eu escrevi uma solução em Python[bb]:

continuar=True
while continuar:
  numero=int(raw_input("Informe o valor inicial da repeticao: "))
  print str(range(2,numero+1,2))[1:-1]
  continuar=raw_input("Continuar? (S/N) ").upper()!="N"

Update: inspirado nos comentários do Rafael Santini, uma solução com break fica mais elegante:

while 1:
  numero=int(raw_input("Informe o valor inicial da repeticao: "))
  print str(range(2,numero+1,2))[1:-1]
  if raw_input("Continuar? (S/N) ").upper()=="N":break

IBM Lotus Symphony Bloated Office

A IBM lançou seu pacote de escritórios gratuito, o Lotus Symphony. Instalei aqui para testar. Para começar, ele não é “baseado no OpenOffice.org” como muitos sites por aí andam dizendo. Ele lê arquivos do formato ODF, o formato criado pela OpenOffice.org, e talvez tenha algum código ali realmente aproveitado do OpenOffice.org, mas ele é baseado mesmo é no Eclipse. Sim, é isso que você entendeu, o Symphony é construído sobre o Eclipe, em Java[bb], lento, lento, lento… Leva uma eternidade para carregar e demora um bocado a responder a alguns comandos. Fica praticamente impossível de se usar.

A primeira coisa curiosa é que o instalador para Linux[bb] coloca o programinha que desinstala o Symphony num lugar escondido e não avisa o usuário. Então fica a dica para você que usa Linux e, como eu, instalou o Symphony e se arrependeu o instalador está em:

/opt/ibm/lotus/Symphony/_uninst/uninstaller.bin

Outra coisa interessante é que a interface do programa ficou muito boa. O investimento em usabilidade que a IBM tem feito há anos, o que eles chamam de User Centered Design, tem dado resultado. O problema é que o software é tão lento que é insuportável usá-lo mesmo tendo uma excelente interface.

Se você já é usuário de OpenOffice.org, não vejo nenhum bom motivo para tentar o Symphony. Se não é usuário de OpenOffice.org, por favor, não instale o Symphony. Tente o OpenOffice.org.

Para mim o Symphony serviu mesmo para mostrar o poder de um padrão aberto. Tenho em minha máquina agora três pacotes de escritório: KOffice, OpenOffice.org[bb] e IBM Lotus Symphony, e os três trabalham com exatamente o mesmo formato de arquivo. Sem segredos, sem royalties, sem truques. Inclusive a compatibilidade entre eles é muito boa. E qualquer um pode fazer um programa que trabalha com o mesmo formato.

Veja, por exemplo, como é simples fazer um shell script que exporta um documento ODT para texto:

#!/bin/bash
mkdir .tmp_odt2txt
cp $1 .tmp_odt2txt
cd .tmp_odt2txt
unzip $1
cd ..
sed -e "s/<text:p[^>]*>/\n/g" .tmp_odt2txt/content.xml|sed -e "s/<[^>]*>//g" > $1.txt
rm -rf .tmp_odt2txt

Como estamos falando de um padrão aberto, usamos ferramentas simples disponíveis em qualquer Unix e lemos o arquivo. Tente fazer isso com um documento do Microsoft Word e você vai entender o que eu quero dizer.

Use macros em seu editor de código

Quanta gente, ao pensar na idéia de migrar de WYSIWYG para edição de código, se pergunta: “mas não vai ser improdutivo se eu tiver que escrever tudo à mão?”

Nosso amigo Michael dá uma boa ajuda para quem está com essa dúvida em seu vídeo “Macros para Produtividade”.
Claro, isso é só o começo. Mas é um excelente começo. E quanta gente eu vejo por aí que não sabe o básico!