Tag: Linux


  • Vamos promover um Workshop em Curitiba em Julho. Que assunto você gostaria que abordássemos? Responde lá.

  • Pequena dica de Linux: CDPATH

    Quando você executa o trivial comando cd o shell (seja o bash ou o zsh) procura pelo diretório informado nos caminhos indicados na variável de ambiente CDPATH. Se não houver uma variável CDPATH, o shell procurará no diretório atual. Veja: elcio@vaio:~$ cd 5cms bash: cd: 5cms: Arquivo ou diretório não encontrado elcio@vaio:~$ export CDPATH=.:~/projetos elcio@vaio:~$…

  • Gosto bastante de alguns videopodcasts, como o Roda e Avisa e o Man in the Arena. Mas o tempo que tenho para ouví-los é quando estou dirigindo. Nesse momento, o fato de serem em vídeo não significam nada. Tê-los em MP3 é muito mais prático para mim, que assim consigo ouví-los no som do carro.…

  • Um amigo me perguntou hoje sobre soluções NoSQL. Na conversa que se seguiu, descobri o que ele precisava fazer: precisa publicar um servidor cujas URLs vão simplesmente fazer um redirect para outro site, mas devem guardar as informações do redirect para enviar para o Clicky. É claro que os dados devem ser enviados ao Clicky…

  • Configurando o locale no Ubuntu

    É um problema comum ao configurar um novo servidor com Ubuntu, descobrir que não há um locale válido configurado, ou descobrir que o locale padrão não é o que você desejava. Os sintomas comuns de um sistema sem um locale válido são as seguintes mensagens: locale: Cannot set LC_CTYPE to default locale: No such file…

  • Acabamos de lançar o Workshop Linux para Desenvolvedores. Um sonho antigo meu. Comentários e sugestões são muito bem vindos.

  • Ubuntu for Android

    Está todo mundo falando do tal Ubuntu for Android, que vai ser lançado em breve pela Canonical. Quer ter uma ideia do que é? Veja esse vídeo: Impressionante, não? Eu quero um!

  • Ubuntu One Music Store

  • O Mike me convidou, então lá vai: 1. Ubuntu O sistema operacional que simplesmente funciona. Meu notebook tem Ubuntu, o da minha mulher e os dos meus filhos também. Todos tem o Windows OEM em dual-boot. Nem me lembro quando foi a última vez que vi alguém bootar o Windows lá em casa. Aqui na…

  • Se você, como eu, usa Ubuntu 64bits e se viu privado de usar o Gmail Offline ao migrar para a versão 10.10 (Maverick), aqui está a solução: instale o pacote do Google Gears da 10.04 (Lucid). Baixe aqui: xul-ext-gears_0.5.36.0~svn3423+dfsg-0ubuntu1_amd64.deb.

  • O vídeo possui duas ferramentas fantásticas para a conversão de vídeo: ffmpeg e mencoder. Mas são ferramentas de linha de comando e nada fáceis de usar. Veja, por exemplo, como ripar DVDs para DivX com mencoder. Se a origem, ao invés de um DVD, for um arquivo mpeg, isso tudo muda bastante. Se a saída,…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…