• O Linux também fala

    Há um tempo eu ensinei aqui como fazer o Mac falar. O Linux também faz. Instala aí: $ sudo apt-get install espeak Daí é só mandar: $ espeak “Luke, I am your father.” E fala português também: $ espeak -v pt “Luke, eu sou seu pai.” Com -f arquivo.txt, ele lê o texto de um…

  • utf8_decode em Javascript

    Navegando por aí, acabei esbarrando no blog do meu amigo Marcos Rossow (nossa, quanto tempo!) E encontrei esse post: JavaScript UTF-8 Decode, com um código tirado daqui: JavaScript utf8_decode. Tem duas coisas que me incomodam nessa abordagem. A primeira é essa mania que muita gente tem, particularmente programadores PHP, de tratar UTF-8 como um “código…

  • Hein?

    Trecho de código legado (ASP) que pegamos aqui: if len(request(“price”)) = 3 then     valorTotal = left(request(“price”),1) elseif len(request(“price”)) = 4 then     valorTotal = left(request(“price”),2) elseif len(request(“price”)) = 5 then     valorTotal = left(request(“price”),3) end if Jênio.

  • Exportando MySQL para CSV

    Criei agora um pequeno script para resolver um problema meu, um exportador de base de dados MySQL para arquivos CSV. Resolvi compartilhar: MySQL2CSV Para baixar, você vai precisar do git. No Ubuntu, para instalar, faça: $ sudo apt-get install git-core Depois, para baixar: $ git clone git@github.com:elcio/mysql2csv.git Isso vai criar a pasta mysql2csv, com o…

  • Código simples, mas que pode ser útil para alguém não ter que escrevê-lo de novo (arquivo runcached.py): import os,time cachepath=’cache’ timeout=360   def runcached(cmd):   filename=os.path.join(cachepath,str(hash(cmd)))   if os.path.isfile(filename):     if time.time()-os.path.getmtime(filename)<timeout:       return open(filename).read()   t=os.popen(cmd).read()   open(filename,’w’).write(t)   return t A função runcached roda comandos do sistema operacional, e faz…

  • Porque meu GPS não fala com a web?

    Passei a última semana no IPAE, aqui. É o colégio em que fiz o segundo grau (faz tempo!), um lugar fantástico, ao pé de uma montanha, região com paisagens inacreditáveis. Me hospedei no colégio com minha família, para matar saudades, e todos os dias saíamos para visitar algum lugar em Petrópolis ou Teresópolis. Há catorze…

  • Uma coisa que sempre me espantou é a ineficiência dos servidores de DNS dos provedores de hospedagem brasileiros. Já testei ADSL, cabo coaxial, 3G e, aqui em São Paulo, de maneira geral as conexões são boas. Mas como o servidor de DNS dos provedores é ruim, a navegação é muito lenta. Eu vinha usando OpenDNS,…

  • Ubuntu 9.10 boota rápido!

    Só para deixar registrado: instalei o novo Ubuntu 9.10, Karmic Koala. Tenho um LG R405. Funcionou tudo de primeira, sem configurações esotéricas em arquivos texto misteriosos. Boota rápido. Boota muito rápido. Estou feliz 😉 [update 1] Olha que legal: qual o boot mais rápido – vídeo comparativo de boot entre o Karmic, o Jaunty, o…

  • Discussões sobre o melhor sistema operacional, o melhor navegador ou a melhor linguagem de programação tendem a entrar em loop infinito. Cada um dos lados parece achar o outro um completo idiota por não se convencer de suas opiniões. Semana passada troquei algumas mensagens com o René de Paula que me fizeram pensar bastante sobre…

  • Morte ao IE 6

    A convite do Dulcetti, resolvi aderir à campanha “morte ao IE6”. Incluí o script do iMasters neste blog, e estou indicando quatro desenvolvedores para participar da brincadeira, convidando mais quatro cada um e assim por diante: DGMike Igor Escobar Zamana Daniele Viana

  • Matéria da e-brand sobre PagSeguro

    A matéria foi feita durante o Workshop de e-commerce iMasters e PagSeguro, em Vitória, em Novembro do ano passado:

  • Não a versão do repositório, mas a mais nova. Só a sequência de comandos, que eu estou com pressa agora: sudo apt-get install build-essential erlang libicu38 libicu-dev libmozjs-dev automake autoconf libtool help2man libcurl-ocaml-dev subversion python-setuptools mkdir ~/src cd ~/src svn co http://svn.apache.org/repos/asf/couchdb/trunk couchdb cd couchdb ./bootstrap && ./configure && make && sudo make install sudo…

  • Brincando com a API do twitter

    Resolvi experimentar um pouco a Twitter API. É linda, do jeito que toda API deveria ser. É REST, muito fácil de entender e colocar para funcionar, e devolve dados em XML, JSON, RSS e ATOM. Essa simplicidade permite interagir com a API usando ferramentas simples da linha de comando do Unix, como o wget e…

  • A alegria do nerd

    Cheguei mais cedo que o resto da galera ao escritório hoje. O que significa que ainda não tinha ninguém fazendo downloads, acessando o servidor de desenvolvimento, lendo e-mails e etc. Bom, o Mike estava aqui já, mas estava escrevendo CSS, então não conta. Li a notícia a respeito do Google nativeclient e resolvi baixar para…

  • A Editora Arteccom está organizando o I ETI. Eu vou estar lá, e recomendo, parece que vai ser muito interessante. Recebi deles o seguinte release: É tempo de interatividade e o 1º Encontro de TI faz tudo o que o público deseja! A editora Arteccom promove novo evento que promete agitar o mercado dos desenvolvedores…

  • Fuja da complexidade

    Abri o OpenOffice Writer, mandei gravar uma macro, escrevi “teste”, selecionei e pintei de vermelho. Olha o código gerado: sub Main rem ———————————————————————- rem define variables dim document as object dim dispatcher as object rem ———————————————————————- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(“com.sun.star.frame.DispatchHelper”) rem ———————————————————————- dim args1(0) as new com.sun.star.beans.PropertyValue…

  • Flash 10 no Linux

    Ao contrário do Luis Eduardo Fernando, tenho sido nos últimos anos um feliz usuário de Linux. Funcionava tudo, ou quase. Tenho um LG R405. Funciona o controle de bateria, de velocidade do cooler, brilho da tela, tenho volumes independentes para o microfone e caixa de som embutidos, e microfone e caixa de som externos. Funciona…

  • Information Overload

    Reduzi o número de feeds que eu assino de mais de 200 para menos de 40, em seguida cliquei no “marcar tudo como lido”. Saí de todas as listas de discussão. Coloquei a TwitterFox e a Gmail Manager para pegar novas mensagens a cada 30 minutos. E fechei o PidGin. O objetivo é me tornar…

  • Data errada no Javascript? Bug?

    Um amigo me escreveu agora para mostrar algo muito curioso. Abra sua Firebug, ou qualquer outro lugar onde você roda Javascript, e teste: new Date(2008,8,11) Você deve ter como retorno um objeto de data, que se impresso mostra: Thu Sep 11 2008 00:00:00 GMT-0300 (BRT) Porque setembro e não agosto, você pode se perguntar. É…

  • Meu amigo Vicente Marçal me escreveu: Bem, sei que és professor de Python, além de amante da linguagem e, por isso, acabei fazendo pesquisas sobre ela e estou estudando por conta, mais por hobby do que por qualquer outra coisa. Então, num tempinho livre que vc tiver, avalie esse meu pequeno script o qual disponibilizei…