Jantar e Café da Manhã: Bananas mais alguma coisa

Filed under:receitas — posted by rwanderley on 30 January, 2008 @ 11:10 am

No começo da semana comprei um cacho de bananas com o objetivo de ficar fazendo vitaminas. Fiz apenas uma na segunda feira, depois disso o resto ficou em cima da geladeira.

Como o prazo de validade das mesmas estava se vencendo (já estavam começando a ficarem pretas) tive que fazer a minha janta de ontem e o café da manhã de hoje a base de bananas.

O jantar foi banana amassada com mel caro, farinha láctea e nescau. Até que estava bom, comi enquanto via “7 dias no Tibet”. O café da manhã foi uma mistureba dos infernos, mas que, por incrível que pareça, ficou muito bom. Foram 2 banana, com 2 colheres de Cappuccino, 1 colher de açúcar, 300 ml de leite integral, 1 colher de nescau e 3 pedras de gelo, tudo isso batido no liquidificador.

Hoje terei que comprar as frutas para o final de semana, estou pensando em comprar kiwi e mamão, bora ver as receitas que vão sair.

Editing ID3 tags with Emacs and EMMS

Filed under:Emacs — posted by rwanderley on 29 January, 2008 @ 9:09 am

This video shows how to edit ID3 tags from your MP3 files using Emacs keyboard macros and EMMS.

This link points to the high quality version in Ogg Video format.

De Volta A UFRN

Filed under:Pessoal — posted by rwanderley on 24 January, 2008 @ 9:01 am

Essa semana, após quase um ano e meio apenas visitando, voltei a
freqüentar a UFRN. No momento ainda estou indo a apenas uma aula -
disciplina de férias - mas já deu para ver que vai ser um bom ano.

Assim que entrei no departamento, no início da semana, me deparei com
o Prof. Dr. David Deharb, que é quem está me ensinando agora. Logo
que me viu ele fez uma cara de espanto e perguntou:

- O que você está fazendo aqui?

Fiquei meio sem graça e respondi:

- Vim fazer a matrícula para ver se consigo terminar o curso esse
ano.

Ele apenas deu uma risadinha e respondeu na bucha:

- Já ouvi você falar isso algumas vezes…

Esse é o clima descontraido que rola dentro da Universidade ao qual
sentia falta. As vezes eu fico pensando que o conteúdo das
disciplinas é apenas uma pequena parte do universo de coisas que se
aprende durante um curso como o de Ciências da Computação.

Por falar em conteúdo, o desta disciplina parece que vai me empolgar
bastante. Trata-se de um treinamento para a olimpíada de programação
que rola todos os anos e no qual o destaque de nossa universidade vem
aumentando, graças ao professor David, ano após ano. Embora eu não
tenha interesse de participar de tal evento creio que vou me divertir
bastante durante a disciplina e finalmente aprender alguns tipos de
algoritmos - como algoritmos de grafos e de computação numérica - que
sempre quis aprender mas até hoje possuo apenas uma visão superficial
do que são.

Quanto ao que o professor David me falou, de “já ter me ouvido falar
isso algumas vezes”, bom… isso me deixou pensando. Realmente vivo
tendo essas empolgações esporádicas. A que está durando mais tempo
foi a do Emacs (uso desde 2001, embora só vim aprender a usá-lo mesmo
a partir de setembro do ano passado), que é um editor de textos usado
por pouquíssimas pessoas, bastando dizer que no brasil conheço apenas
duas pessoas que realmente são usuárias de Emacs.

O curso já fazem alguns anos que venho dizendo a mim mesmo que “esse é
o último ano”. Porém esse ano agora é bem diferente, nunca abdiquei
de tantas coisas e estive tão determinado e empolgado para terminar.
Basta dizer que pedi demissão e vou voltar a andar de caixote (ônibus)
esse ano com o único objetivo de poder me dedicar exclusivamente à
universidade e de reduzir custos.

Bom, espero ter sorte para poder passar por essa fase e, em 2009,
poder ter o tão esperado “canudo” nas mãos.

EMMS Browser, o vídeo :-)

Filed under:Emacs — posted by rwanderley on @ 7:11 am

Meu primeiro vídeo usando o recordmydesktop. Ele mostra o uso do
browser do EMMS, um gerenciador de mídias para o Emacs.

Link para baixar

Vídeo com qualidade mais baixa no google videos:

Gnus + Gmail (Part II - Adding Multiple SMTP Accounts)

Filed under:Emacs, LISP — posted by rwanderley on 21 January, 2008 @ 5:25 pm

Unfortunately there is no native method to add multiple SMTP servers on Gnus. But after taking a quick look at the wiki I found this link. I changed it a little bit, so the passwords are searched at the ~/.authinfo file instead of being in your .gnus file.

Here is the code found on my .gnus file:

;; Available SMTP accounts.
(defvar smtp-accounts
  '((ssl   "mymail@gmail.com" "smtp.gmail.com" 587 "key" nil)
    (ssl   "mymail@otherserver.com" "smtp.otherserver.com" 25 "key" nil)))

This lists my SMTP accounts, one line for each server, as you can see both the servers are using SSL.

;; Default smtpmail.el configurations.
(require 'smtpmail)
(setq send-mail-function 'smtpmail-send-it
      message-send-mail-function 'smtpmail-send-it
      mail-from-style nil
      user-full-name "Rodrigo S. Wanderley"
      user-mail-address "mymail@gmail.com"
      message-signature-file "~/emacs/signature"
      smtpmail-debug-info t
      smtpmail-debug-verb t)

The code above just sets some default values. My mail signature is found on the file ~/emacs/signature, I also specify my user name user-full-name and my e-mail address user-mail-address so that Gnus can fill the From header field automatically for me.

The Debug options is also nice so that you get some feedback about what is happening while Gnus is sending the e-mail for you.

(defun set-smtp-plain (server port)
  "Set related SMTP variables for supplied parameters."
  (setq smtpmail-smtp-server server
    smtpmail-smtp-service port
    smtpmail-auth-credentials "~/.authinfo"
    smtpmail-starttls-credentials nil)
  (message "Setting SMTP server to `%s:%s'."
       server port address))

(defun set-smtp-ssl (server port key cert)
  "Set related SMTP and SSL variables for supplied parameters."
  (setq starttls-use-gnutls t
    starttls-gnutls-program "gnutls-cli"
    starttls-extra-arguments nil
    smtpmail-smtp-server server
    smtpmail-smtp-service port
    smtpmail-starttls-credentials (list (list server port key cert))
    smtpmail-auth-credentials "~/.authinfo")
  (message
   "Setting SMTP server to `%s:%s'. (SSL enabled.)"
   server port address))

Those are two functions used to send mail, one with and one without SSL support. Note that smtpmail-auth-credentials is telling Gnus where to find the username and password.

(defun change-smtp ()
  "Change the SMTP server according to the current from line."
  (save-excursion
    (loop with from = (save-restriction
            (message-narrow-to-headers)
            (message-fetch-field "from"))
      for (acc-type address . auth-spec) in smtp-accounts
      when (string-match address from)
      do (cond
          ((eql acc-type 'plain)
           (return (apply 'set-smtp-plain auth-spec)))
          ((eql acc-type 'ssl)
           (return (apply 'set-smtp-ssl auth-spec)))
          (t (error "Unrecognized SMTP account type: `%s'." acc-type)))
      finally (error "Cannot interfere SMTP information."))))

(add-hook 'message-send-hook 'change-smtp)

Finally we create a hook for when me message is going to be sent. This hook basically tries to match the From header with the e-mail address you specified at smtp-account variable and chooses the server accordingly.

Receita do Dia: Cappuccino Gelado

Filed under:Assuntos Gerais, Pessoal — posted by rwanderley on 18 January, 2008 @ 12:40 pm

Como ainda estou sem fogão em casa - por enquanto meus móveis se resumem a uma mesa de computador, uma cadeira e uma geladeira - estou impossibilitado de fazer aquele cafezinho quente de manhã. O jeito é improvisar.

Lembrei de quando estava no bar do Gringo de ter ouvido uma conversa a respeito de um Cappuccino gelado. Pelo que pude acompanhar da conversa era só fazer o Cappuccino normalmente e depois jogar o mesmo no liquidificador junto com gelo e bater.

Bom, pelo meu pensamento posso pular uma das fases e ir direto pro liquidificador. Tentei hoje, e num é que deu certo!

A forma de preparo é a seguinte:

  • Coloque 3 colheres de sopa cheias de Cappuccino cremoso no liquidificador - estou usando o da Santa Clara;
  • Coloque mais 1 colher de açúcar;
  • Ponha leite até chegar na marca dos 300 ml;
  • Ponha gelo a gosto, eu usei umas 4 pedras de gelo;
  • Ligue e deixe o liquidificador ligado por uns 2 minutos na velocidade máxima.

Pronto, agora é só servir e preparar para ficar ligado.

Primeiro Dia De Pinica

Filed under:Assuntos Gerais, Pessoal — posted by rwanderley on 17 January, 2008 @ 6:51 pm

Ontem pela primeira vez na vida arrumei o meu Apartamento
sozinho. Faziam 40 dias que estava lá e o bicho ainda
não tinha visto nem sequer a cara de uma vassoura.

Foi mais um efeito em cadeia, tudo começou na compra da
minha primeira geladeira, que veio um pouco suja e resolvi
sair para o mercado afim de comprar um pano para limpar ela;
ao invés de comprar só o pano comprei pinho sol, veja, esponja
para lavar prato, vassoura, … Enfim, tudo o que eu imaginasse
que iria ser útil para arrumar cada canto do Ap.

Chegando em casa coloquei um Pink Floyd no Notebook, fechei todas
as janelas para não entrar vento e comecei a varrer. Não deu
15 minutos e vi que tinha algo de errado, doméstica nenhuma
varre ouvindo Pink Floyd, então resolvi mudar e coloquei
Djavan, aí sim… Comecei a varrer cantando e em 50 minutos
tinha varrido o quarto e a sala (tive que varrer 3 vezes cada
ambiente para poder pegar parte considerável da sujeira, sou
iniciante ainda).

Depois de varrido fiquei em dúvida como proceder, sem internet
em casa ficava difícil perguntar ao google “How to clean my
apartment?” Hoje fui no google e em 2 segundos achei:

http://www.mahalo.com/How_to_Clean_Your_Apartment

Mas bem, o jeito foi ficar meia hora sentado lendo rótulos
de tudo que é produto que comprei. Acabei enchendo um balde
de agua e colocando um pouco de pinho sol e passando pano.

Pronto! O apartamento tava até cheiroso e não se via mais
teias de aranha pelas paredes nem cabelo no chão, já foi
um avanço.

Agora vinha a parte mais terrível, o banheiro. De novo
se tivesse internet em casa bastava seguir os passos de:

http://home.howstuffworks.com/how-to-clean-bathroom5.htm

Mas como não tinha o jeito foi ficar limpando azulejo por
azulejo com uma escova e Veja e depois ficar de quatro
esfregando o chão, catando a sujeira e jogando num balde
que estava ao meu lado. A pia foi sopinha. Agora o
complicado foi o tal do vazo sanitário. Quando olhei aquele
negócio todo sujo fiquei pensando o que fazer por meia hora.
Mas bem, não vou contar os detalhes, posso apenas dizer que o
bicho ficou mais branco que minhas cuecas que esqueci por 3 dias
de molho na agua sanitária semana passada.

Após todo o trabalho tomei um bom banho e fiz uma salada
a lá Dona Helga (minha mãe), misturando pepino, alface, cebola, tomate,
pimenta do reino, vinagre e azeite… Até que tava boa :-)

Gnus + Gmail

Filed under:Administração Linux — posted by rwanderley on @ 11:50 am

Here I’ll try to show how to configure Gnus to connect to your gmail account so you can read and send your e-mails without having to leave your Emacs :-) If you have multiple IMAP accounts I also tell you how to configure Gnus for multiple IMAP account, the same thing can be done for POP accounts, though I don’t mention POP here.

All the stuff here are slightly modified configurations found at the EmacsWiki

Every time you load gnus with the commands M-x gnus or M-x gnus-other-frame it reads the file ~/.gnus, so, all configurations mentioned here should be added to this file.

So, beginning the configuration process let’s configure our Gnus so it can fetch e-mails from your Gmail account:

(setq gnus-select-method '(nnimap "gmail"
          (nnimap-address "imap.gmail.com")
          (nnimap-server-port 993)
                                  (nnimap-stream ssl)))

This is all you need to start reading your e-mails with Gnus, note that you will have to have gnutls package installed in order to use ssl.

To test this type M-x gnus, it should ask for your login, type yourusername@gmail.com than type your password. After that you should be redirected to the *Group* buffer, type U and subscribe to your Gmail folders. There are lot’s of options, too many to be mentioned here, please read the EmacsWiki for more information.

In order to not have to be typing your account and password you can edit a file called ~/.authinfo and add something like this:


machine imap.gmail.com login myaccount@gmail.com password mypassword port 993
machine smtp.gmail.com login myaccount@gmail.com password mypassword port 587

Change myaccount and mypassword to your account and password. The smtp line will be use for sending mail.

To add another IMAP account use the gnus-secondary-select-methods variable like this:

(setq gnus-secondary-select-methods
      '((nnimap "AnotherAccount"
    (nnimap-address "imap.something.com")
    (nnimap-server-port 993)
    (nnimap-stream ssl))))

TODO: send mail using multiple smtp servers

Selecionando encoding correto no ERC

Filed under:Administração Linux, Emacs, LISP — posted by rwanderley on 14 January, 2008 @ 7:50 pm

A algum tempo venho tendo problemas de codificação de caracteres no ERC,
o cliente de irc que uso.

Uso o ERC tanto para conectar em servidores IRC, geralmente o freenode,
como para conectar ao MSN e Google talk, usando o bitlbee para converter
os protocolos destes dois últimos para o do IRC.

O problema está que o MSN e o Google talk usam ISO-8859-1 como encoding,
enquanto que o pessoal no freenode usa UTF-8. Eu conhecia a variável
erc-server-coding-system, que na minha configuração estava setada
para “‘(utf-8 . undecided)”, ou seja, eu enviava texto usando UTF-8 e
usava o encoding especial do emacs undecided como o encoding de entrada.

O problema dessa solução é obvio, funciona para o freenode mas não funciona para o MSN. O que eu não sabia é que a variável erc-server-coding-system também pode ser uma função! Como o servidor do bitlbee é o localhost a configuração é trivial. erc-server-announced-name é uma variável dinâmica contendo o nome do servidor IRC sendo usado no momento.

(setq erc-server-coding-system
      '(lambda (target)
     (if (and erc-server-announced-name
          (string-match "localhost" erc-server-announced-name))
         '(iso-8859-1 . undecided)
       '(utf-8 . undecided))))

Essa função apenas checa se erc-server-announced-name bate com a string localhost, ou seja, se é o servidor do bitlbee, caso for seta o encoding para iso-8859-1, caso contrário usa utf8.

Atualizando ID3 no EMMS

Filed under:Emacs, LISP, Uncategorized — posted by rwanderley on 12 January, 2008 @ 8:24 am

Hoje passei umas duas horas atualizando tags ID3. E só
consegui editar as tags dos Guns n’ Roses e metade do
Pink Floyd (1969 até 2005 é muito tempo de carreira :-))

Aqui vai uma dica para se editar tags direto do emacs
usando o playlist buffer do EMMS.

Primeiro configure o EMMS seguindo os passos do Post
anterior, depois adicione uma arvore de diretório
na playlist com o comando M-x emms-add-directory-tree.
Aconselho comecar adicionando um artista apenas e editar
as tags deste artista, depois ir adicionando mais
com o tempo.

Agora precisamos mudar para o buffer contendo a playlist
do emms, para isso usa-se o comando M-x emms-playlist-mode-go,
como uso bastante este comando criei um atalho para ele
no meu arquivo emms.el (ver post anterior):

(global-set-key "\C-xppg" 'emms-playlist-mode-go)

Como não tenho só esse atalho no meu emms.el usei o prefixo C-x p
(’p’ de player) para indicar atalhos do emms, nesse caso eu decoro
o comando da seguinte forma C-x p (prefixo do emms), p (playlist) e
g (go). Você poderá escolher o atalho que quiser.

Na playlist você irá ver que o EMMS já interpretou as ID3 do arquivo
e está exibindo os nomes de acordo com elas. Caso alguma das
ID3 estejam mal formadas basta colocar o cursor em cima da
faixa com problema e digitar a tecla ‘E’. O Emacs irá abrir um
novo buffer, como esse:

Guns N' Roses - It's So Easy name = /home/mp3/Guns'n Roses/Appetite for Destruction (1987)/02 - Guns N' Roses - It's So Easy.mp3 info-artist = Guns N' Roses info-title = It's So Easy info-album = Appetite for Destruction info-tracknumber = 2 info-year = 1987 info-genre = Hard Rock info-note =

Caso alguma das informacoes estejam erradas basta editar e,
quando tudo estiver OK, aperte C-c C-c para salvar as
informacões.

Uma dica para melhorar o desempenho é usar Macros de teclado.
Eu geralmente crio uma macro para inserir o nome do artista,
album, numero da faixa, ano e genero; depois passo manualmente
pelas faixas e adiciono apenas o nome da faixa.

Segue um screenshot mostrando o browser EMMS na parte superior
da tela:


next page


image: detail of installation by Bronwyn Lace