ies4linux and Wine 1.4

This is my first post in that category of posts that are tips that you write for yourself, like if you were saving a message in a bottle in the hope that you will find it again when you need.

If by any reason you want to run IE6 on your Wine 1.4 you can use ies4linux. It’ll probably tell you that there is something wrong with wineprefixcreate, but you can fix that by using wineboot to create the prefix. Just edit create_wine_prefix in ies4linux/lib/functions.sh to use wineboot instead of wineprefixcreate.

If you are wondering why that is necessary: wineprefixcreate was deprecated [1].

Well, at least it worked for me.

[1] http://wiki.jswindle.com/index.php/Wineprefixcreate

PythonBrasil[7]

Ontem recebi meu certificado de participação na PythonBrasil [7], e isso me lembrou de que eu deveria tentar escrever algo sobre as impressões que tive do evento.

Antes de mais nada, essa foi minha primeira PythonBrasil e meu primeiro contato com a comunidade. Fiquei muito satisfeito com o evento, que efetivamente superou minhas expectativas. Foi ótimo conhecer o pessoal da comunidade, ver todos reunidos trocando experiências, incentivando uns aos outros e falando sobre Python.

A organização do evento esteve de parabéns. A estrutura, as salas, a sonorização, tudo foi muito adequado, apesar de alguns atrasos nas palestras e de eu não ter conseguido tormar café no primeiro dia (quando cheguei ao evento, o café tinha acabado).

Os palestrantes também estão de parabéns. Houve uma grande variedade de temas, e palestras adequadas para pessoas com diferentes níveis de conhecimento em programção e Python. Aliás, achei interessante como alguns palestrantes se preocuparam em adequar suas palestras ao público, que em sua maioria era composto por iniciantes em Python ou pessoas que participavam do evento pela primeira vez.

Além disto, esta PythonBrasil foi particularmente marcante, pois foi minha primeira oportunidade de participar de um Coding Dojo. Em resposta à despretensiosa pergunta que fiz na palestra do Thiago Garcia o pessoal decidiu organizar um dojo ali mesmo, e no final do dia tinham sala, projetor, disposição de ensinar e até mesmo um semáforo!

Enfim, parabéns a todos que estiveram envolvidos no evento, obrigado e até 2012!

Efeitos do KWin e placas da Intel

Já faz algum tempo que venho usando o KDE, e por incrível que pareça, não comecei a usá-lo por causa dos efeitos visuais ou de sua beleza. Por muito tempo nem mesmo soube que o KWin, o gerenciador de janelas do KDE, possui aqueles efeitos visuais bacanas.

Recentemente, contudo, comecei a usar um efeito do Compiz que exibe todas as janelas abertas lado a lado na tela. Achei-o muito útil, e portanto fui procurar algo semelhante no KDE. Habilitei lá os efeitos do KWin, troquei umas teclas de atalho e apliquei. Confesso que a primeira impressão foi decepcionante. O painel inferior, o menu e algumas janelas ficaram meio escuros e o sistema ficou muito lento. Para piorar, eventualmente quando eu tentava exibir todas as janelas lado a lado, o sistema travava e tinha que ser reiniciado. Ao reboot seguia outro problema: a tela de login simplesmente não aparecia. E por fim, após o segundo reboot, os efeitos eram automaticamente desabilitados.

Como bom jovem entusiasta de tecnologia, software livre e tudo mais, googleei um bocado procurando a solução para todos os meus problemas. Não saber qual era meu problema foi o maior deles, até que, depois de todo um carnaval enfiado no quarto tentando diferentes combinações de distribuição, versão do KDE, efeitos habilitados/desabilitados e hacks propostos em listas de discussão obscuras, finalmente descobri que o problema estava nos drivers da Intel.

Munido da minha recente descoberta, de alguns dados que pesquei no glxinfo e de algumas xícaras de café, googleei as palavras-chave mágicas e cheguei a este tópico no fórum do Ubuntu, onde alguém tinha problemas parecidos com os meus. O cara disse que eles eram solucionáveis com os novos drivers da Intel, disponíveis em um repositório ppa. Instalei o novo driver e pimba! Meu KDE ficou mais bonito do que nunca, com efeitos de transparência e tudo mais.

Então eu recomendo a quem for usuário do Ubuntu com problemas gráficos num sistema com placa Intel, tentar instalar os drivers mais atuais, disponíveis no ppa xorg-edgers. Há instruções de instalação aqui, embora eu ache mais simples usar o seguinte comando (que instala o repositório ppa), seguido da famosa dupla apt-get update, upgrade:

# apt-add-repository ppa:xorg-edgers/ppa

Atualização – 1/5/2011

Desde o lançamento do Kubuntu 11.04, meu vídeo quebrou. Eu fiquei muito triste, pois o Natty traz o KDE 4.6.2, que está muito mais rápido e estável que as versões anteriores, e infelizmente, depois de alguns dias de alegria, meus efeitos simplesmente pararam de funcionar – nem mesmo o glxgears rodava! Mesmo assim, não tive coragem para voltar para os drivers “padrão” do Kubuntu, e encontrei um ppa (indicado na própria página do xorg-edgers) que se diz “estável”. Ei-lo: ppa:ubuntu-x-swat/x-updates. Vou deixar esta nota aqui como um fallback. Quem tiver problemas com o xorg-edgers pode usar esse x-swat.

Que linguagem de programação “você é?”

You are Python You are slower than others, but easier to understand. You are a minimalist, who doesn't like clutter.
Which Programming Language are You?

Juro que não manipulei o resultado!

GVim como editor padrão no Ubuntu

Sempre que instalo um novo sistema Ubuntu para uso pessoal, faço o seguinte, para dizer ao sistema que quero abrir arquivos de texto, script, código-fonte, etc com o GVim.

# update-alternatives --config editor
# update-alternatives --config gnome-text-editor

Mas isso não basta, por causa de um tal arquivo defaults.list, que fica em algum lugar aí em sua pasta pessoal e diz ao GNOME com qual programa abrir cada tipo de arquivo. O certo seria sair substituindo todas as entradas no tal arquivo pelo GVim, mas como sou preguiçoso, simplesmente esqueço o tal arquivo e altero (clique com o botão direito no menu “Aplicativos”, “Editar menus”) o item do menu intitulado “Editor de textos” para o seguinte comando:

gvim %f %F

Simples assim. A dica eu vi aqui: http://ubuntuforums.org/showthread.php?t=7370

jQuery UI Closable Tabs

There is a feature request at ticket #3924, but I wanted it to be more flexible and compatible with jQuery UI 1.4.2. So I modified it. You can get the file at gist:

http://gist.github.com/506264

To create a closable tab panel, just call tabs with the close option properly set. You can also set it as a callback that return boolean. A simple example of use would be:

$(document).ready(function() {
    $('#tabs').tabs({
        closeTemplate: '<span><img src="/images/icons/close.png" /></span>',
        close: function(ui) {
            return confirm('Are you sure you want to remove ' + ui.tab.text + '?');
        }
    });
});

To make it look better, use the following CSS:

.ui-tabs-close { float: left; margin: 0.5em 0.4em 0 0;  }

Available options:

  • closeTemplate: the close “button” template. Default is <span>(x)</span>.
  • close: simply set to true to allow tabs to be closed or to a callback that will be called with a ui argument when the close button is pressed.

Update: there is a simpler and smarter example of closable tabs at http://www.stilbuero.de/jquery/tabs_3/close.html.

Mudança para o WordPress

Como vocês podem ver, deixei de lado aquele siteminha de blog no heroku e mudei para o WordPress.

Essa mudança se deveu principalmente à minha preguiça de trabalhar no sistema. Eu via o longo caminho que teria pela frente, adicionando o subsistema de comentários, destaque de sintaxe, fazendo o layout e tudo mais e sempre parava antes mesmo de começar. Daí, empolgado com o recente lançamento da nova versão do WordPress, tomei a decisão fatídica.

De bônus vieram a inclusão nas buscas do google — o outro lá eu fiquei esperando meses para se incluído e nada — e do wordpress.com, as facilidades de gerenciamento, o editor WYSIWYG, estatísticas com gráficos, etc.

Como tínhamos pouco conteúdo, publiquei aqui todo o velho conteúdo com a mesma data e sem muitas alterações.

Radius — Template Language para PHP

Radius é uma pérola que conheci através do Radiant. É simples, elegante e muito flexível. Por utilizar tags inspiradas nas do XML mistura-se muito bem a templates HTML, embora não haja algo que impeça seu uso em outros templates.

O código é meio uma “prova de conceito”, quase uma cópia do original — só que em PHP. Funcionou muito bem, graças às novidades do PHP 5.3. Até mesmo a performance foi satisfatória, contrariando meus temores sobre o uso excessivo de __gets e call_user_funcs.

Tá tudo lá no meu repositório no github.

aria2: gerenciador de downloads na linha de comandos

Esta é uma ótima dica para os que, como eu, preferem aplicativos alternativos –ou leves– que não enchem o saco –nem o HD, nem a memória, nem a bandeja do sistema…

O aria2 é um ótimo gerenciador de downloads que baixa via http, ftp e torrent, possui função para pausar/continuar downloads, limite de banda, entre outras coisinhas interessantes. Roda em Linux e Windows, até onde eu sei, e deve rodar no Mac também. E o melhor: roda na linha de comando. E, se alguém disser que isso não é uma “vantagem”, direi –e provarei– que um comando é mais rápido que três cliques.

Eu já usava o programa há muito tempo, mas não o indiquei antes pois até pouco tempo não haviam binários pré-compilados para Windows, mas estes foram disponibilizados há pouco tempo. Param quem se interessar, no site do projeto podem ser encontrados os tais binários no formato zip. Extraia-os em algum lugar (c:\aria2, por exemplo) e adicione o caminho para este diretório ao Path do sistema. Então, para baixar qualquer coisa: Iniciar > Executar > aria2c <url> e pronto, o arquivo aparecerá em sua pasta pessoal. Para pausar um download, simplesmente feche o programa; para continuar, inicie-o novamente com o mesmo comando. Ou experimente aria2c --help e veja que impressionante.

Bem-vindo

Bem-vindo a Anohan, a terra iluminada pelo grande Anorhir! Aqui escreverei um bocado de coisas interessantes. Não as listarei agora, como é costume dos blogueiros, pois ainda não estou certo de quais rumos este blog tomará. É certo apenas que será um blog sobre assuntos que me pareçam interessantes, o que já daria uma lista extensa e ainda inacabada.