SCMPC || MPD + Audio Scrobbler

Tags: , , — May 24, 2007 @ 3:24 pm

MPD, ou Music Player Daemon, é um player de media que roda em background no sistema, ou seja, ela roda sem uma interface gráfica, tocando as músicas de uma lista pré-selecionada, consumindo um mínimo de recursos do sistema.

Não vou falar agora como instalar/configurar o MPD, acesse http://www.musicpd.org/, para saber mais.

Entre os Clientes do MPD, há vários que possuem Audioscrobbler, ou seja, enviam dados das músicas tocadas para seu perfil na Last.fm (uma comunidade que divulga suas preferências musicais e sugere novas bandas do mesmo estilo, além de poder fazer amigos, grupos e etc.). Mas nenhum tão útil como o SCMPC (http://scmpc.berlios.de/), ele roda em background e mantém seu perfil das Last.fm atualizado.

O SCMPC não tem um pacote Debian ainda, assim você precisará compilá-lo, primeiro instale suas dependencias com apt-get/aptitude:

# apt-get install libargtable2-0 libargtable2-dev libconfuse0 libconfuse-dev libdaemon0 libdaemon-dev libcurl3 libcurl3-dev

depois disto, baixe os fontes de http://scmpc.berlios.de/, e proceda com os passos para instalação:

$ tar xvjf scmpc-0.2.2.tar.bz2
$ cd scmpc-0.2.2
$ ./configure
$ make
# make install

Depois disso você deverá configurar o SCMPC, editando os arquivos /usr/local/share/scmpc/scmpc.conf (para utilizá-lo como root), ou ~/.scmpc/scmpc.conf (parautilizá-lo com seu usuário), abaixo segue um modelo do arquivo de configuração local:

# altere [sua_pasta] para a pasta do seu usuário
log_level = debug
log_file = “/home/[sua_pasta]/.scmpc/scmpc.log”
pid_file = “/home/[sua_pasta]/.scmpc/scmpc.pid”
cache_file = “/home/[sua_pasta]/.scmpc/scmpc.cache”

# descomente caso use um servidor diferente
mpd {
# host = “localhost”
# port = 6600
# timeout = 5
# password =
}

# substitua [seu_usuario] e [sua_senha] para os dados de sua conta na Last.fm
audioscrobbler {
username = “[seu_usuario]”
password = “[sua_senha]”
}

caso não deseje digitar sua senha no arquivo de configuração use um hash md5 dela:

$ echo -n ‘[sua_senha]’ | md5sum
c74c3fbe39a4c01f947da8238743a4ab -

então copie o hash gerado e substitua o campo password, como abaixo:

audioscrobbler {
username = “[seu_usuario]”
password_hash = “c74c3fbe39a4c01f947da8238743a4ab

}

depois disso apenas inicie o scmpc para que sua músicas tocadas com o mpd sejam exibidas na Last.fm:

$ scmpc

enjoy…

Fontes: http://last.fm,
http://www.musicpd.org,
http://scmpc.berlios.de, http://webadedios.net/modules/wordpress/archives/
otra-de-lastfm-enviando-lo-que-escucho

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Transparência Real, Sombras e Fading sem xgl

Tags: , , — May 22, 2007 @ 3:45 pm

Provavelmente vocês já viram demos ou screenshots do Beryl Window Manager e seus ótimos efeitos visuais. Acontece que apenas uma placa gráfica com suporte a OpenGL e aceleração 3D é capaz de rodá-lo.

Nesta manhã, casualmente descobri um meio de obter ótimos efeitos visuais, tal como Transparência Real, Sombras e Fading, mesmo sem ter uma placa graáfica poderosa.

Fake Transparency X Real Transparency

Fake Tranparency, ou tranparência falsa, é o que programas como o Eterm, Konsole, e os Painéis do KDE fazem. Mostrando a imagem de fundo do desktop com determinada opacidade, o que dá a impressão de haver transparência na janela/painel. O efeito é Elegante se usado nos terminais mas, uma vez que, na realidade, ela não mostra o que está atráz da janela, e sim o papel de parede, fica bem feio para os painéis.

Real Transparency, ou transparência Real, é o que meu querido E17 faz (ou tenta), assim como o Beryl e Compiz, exibindo realmente o conteúdo que está atraz da janela com transparência, sendo isto o papel de parede, ou mesmo outra janela.

Agora, vejamos como utilizar estes efeitos no Debian.

Primeiramente, vc precisará instalar dois pacotes, xcompmgr, responsável pelos efeitos, e transset, que determina a transparência. Ambos estes softwares estão apenas disponíveis para o Debian Experimental, assim precisamos editar nosso sources.list:

Adiciona as linhas a seguir em /etc/apt/sources/list

##Espelhos Debian Experimental
deb http://ftp.debian.org/debian/ experimental main contrib non-free

Não precisa se preocupar com a versão a experimental tem prioridade menor que as outras versões, assim, o apt-get/aptitude não instalará nenhum pacote experimental a menos que ele não exista na versão corrente, ou que seja explicitamente solicitado.

Após adicionar as linhas proceda com a instalação:

# aptitude install xcompmgr transset

Após instalados os pacotes, adicione estas linhas ao final de seu xorg.conf

Adicionar ao final de /etc/X11/xorg.conf

Section “Extensions”
Option “Composite” “true”
EndSection

Após isso apenas reinicie o X server com Ctrl + Alt + Backspace. A seguir veja os comandos para ativar os efeitos:

$ xcompmgr (para habilitar os efeitos e usar a transparência)
$ xcompmgr -cC (para habilitar sombras reais)
$ xcompmgr -fF (para habilitar fading)
$ transset [valor] (para adicionar transparência real a uma janela, onde [valor] é um valor de 0.0 (totalmente transparente) a 1.0 (sem transparência), o padrão é 0.75, em seguida vc deve clicar na janela que quiser aplicar a transparência)

É possível adicionar transparência a qualquer janela, seja GTK, QT, e até mesmo aos painéis de seu gerenciador de janelas ou desktop, e, sim, é possível utilizá-lo com o Enlightnement DR17.

Vejam alguns screenshots de meu KDE com efeitos de transparência. Outra hora coloco screens do E tb. Até mais…

Eterm with 0.75 transparency Iceweasel e Paineis do KDE com Transparência Gaim e xChat com 0.5 de transparência

Fontes: #kde@irc.freenode.org,
http://sergiorafael.wordpress.com/2006/10/08/sombras-no-gnome-sem-xgl/

Se você gostou deste artigo, inscreva-se em meu RSS feed!

“O Windows é muito melhor que Software livre” (???)

Tags: , , — May 21, 2007 @ 12:39 pm

Esta foi uma coluna publicada na Microsoft TechNet. O artigo já tem um tempinho, mas vale a pena dar uma lida, tendo pérolas como:

” O software livre não possui todas as funcionalidades de configuração, gerenciamento e integração com outros softwares como o Windows possui.”

” Não é necessário fazer modificações, o software (da microsoft) já vem completo;”

segue o link: http://www.microsoft.com/brasil/technet/Colunas/
PauloBindo/melhorqueSoftwarelivre.mspx

Se você gostou deste artigo, inscreva-se em meu RSS feed!

PHPTAL - Template Attribute Language para PHP5

Tags: , , — May 18, 2007 @ 3:13 pm

Como meu primeiro Post específico sobre PHP, vou dar uma boa dica aos desenvolvedores Web.

Qualquer Desenvolvedor de Web Sites dinâmicos, use PHP, ASP, JSP ou Ruby, já se deparou com um fator importante que muitas vezes é um problema… Separar a Lógica da Aplicação do Design de Templates. Assim como é extremamente incômodo para programadores web se peocuparem com o design das páginas (experiência própria) a maioria dos bons designers de templates não conhecem, ou não se interessam por aprender PHP ou outra linguagem de programação.

Quem já se deparou com este dilema provavelmente já procurou por linguagens próprias de templates, desenvolvidas para separar a lógica do design da aplicação. Uma destas linguagens, a qual inclusive tem um espaço no portal php.net, é a Smarty Template Engine (http://smarty.php.net), trata-se de uma classe php que interpreta os arquivos de template (*.tpl), e grava o resultado num cache, para evitar que o trabalho se repita desnecessáriamente. O problema é que: 1. o designer precisa aprender Smarty, o que nao deixa de ser uma linguagem de programação; 2. os templates desenvolvidos para ela servem apenas para PHP.

Recentemente me deparei com uma extenção para o PHP5 que facilita, e muito, o trabalho dos designers. Trata-se do PHPTAL (http://phptal.motion-twin.com), que é uma imlementação do ZPT (Zope Page Templates), ou seja, uma biblioteca de templates XML/XHTML para PHP.

Antes de falar mais sobre como a TAL funciona, vamos observar um fragmento de código de uma template PHP:

Usando a sintexe alternativa do PHP:

<?php foreach ($values as $value): ?>
    <div id=”item”>
        <div id=”title”>
            <?php if ($value->hasDate()): ?>
                <?=$value->getDate()?>
            <?php endif; ?>
            <a href=”<?= $value->getUrl() ?>”>
                <?=htmlentities($value->getTitle())?>
            </a>
        </div>
        <div id=”content”>
            <?= htmlentities($value->getContent()) ?>
        </div>
    </div>
<?php endforeach; ?>

Agora, usando o PHPTAL:

<div id=”item” tal:repeat=”value values”>
    <div id=”item”>
        <span tal:condition=”value/hasDate” 
        tal:replace=”value/getDate”/>
        <a tal:attributes=”href value/getUrl” 
        tal:content=”value/getTitle”/>
    </div>
    <div id=”content” tal:content=”value/getContent”/>
</div>

Usando uma outra biblioteca de templates, o código não ficaria muito diferente do primeiro exemplo, apenas um pouco mais simples de entender. Já o PHPTAL provê uma template com tags XHTML e propriedades XML, sem inserir código alienígena à template.

As propriedades TAL podem parecer um pouco estranhas quando iniciamos com a linguagem. Vamos alterar o código da template um pouco:

<div id=”item” tal:repeat=”value values”>
    <div id=”item”>
        <span tal:condition=”value/hasDate” 
        tal:replace=”value/getDate”>
            2005-01-28
        </span>
        <a href=”sample.html”
            tal:attributes=”href value/getUrl”
            tal:content=”value/getTitle”>
            My item title
        </a>
    </div>
    <span id=”content” tal:content=”value/getContent”>
        This is a sample content which is replaced by the
        real content when the template is run with real
        data.
    </span>
</div>

Assim podemos adicionar textos exemplos ou explicativos as tags, que serão substituidos pelo conteúdo das variáveis. Esta é, na minha opinião, uma das melhores vantagens do PHPTAL sobre outras bibliotecas de templates. Pois permite que os templates seja visualizados por qualquer navegador mesmo sem um servidor PHP.

Vejamos algumas vantagens em se utilizar PHPTAL:

  • separação da lógica da apresentação;
  • avisa se sua tag html estiver mal formatada ou não estiver fechada;
  • sem mais htmlentities();
  • templates bastante limpas e legíveis;
  • possibilidade de inserir textos exemplos para pré-visualizar a template sem um servidor PHP;
  • integração fácil com editores HTML visuais;
  • sistema de internacionalização (i18n) integrado;
  • pouquíssima perda de velocidade;
  • suporte da comunidade ZPT (http://zope.org);
  • portabilidade, os templates produzidos com TAL podem, geralmente, ser utilizados com qualquer linguagem (PHP, ASP, etc.).

O PHPTAL funcionará apenas com PHP5, por causa das funcionalidades de Orientação a Objeto adicionadas no PHP5, e não terá suporte às versões anteriores da linguagem. Mas como diz o desenvolvedor da biblioteda: “Forget PHP4″.

Não vou extender mais o artigo mas, se desejarem posso postar mais conteúdo sobre o PHPTAL aqui. Para quem quiser discutir a biblioca apenas comente. Podemos também montar um grupo para traduzir o Manual do PHPTAL para português.
Fontes: http://phptal.motion-twin.com, http://zope.org.

Se você gostou deste artigo, inscreva-se em meu RSS feed!

TIOBE Programming Community Index

Tags: , , — May 16, 2007 @ 3:44 pm

A Comunidade de Programação TIOBE divulga todo mês uma pesquisa da popularidade das linguagens de programação.

Este mês o PHP ficou em quarto lugar, precedido por Java, C e C++. Conforme a pesquisa, a popularidade da linguagem Ruby, que vinha crescendo nos últimos meses, parou no décimo lugar.

Veja a pesquisa no índice da comunidade TIOBE em
http://www.tiobe.com/index.htm?tiobe_index

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Windows Vista Speech Recognition…

Tags: , — May 4, 2007 @ 11:35 am

Vi este vídeo em outro blog, e não pude deixar de postar aqui também.

O Cara usa o Reconhecimento de Voz do Windows Vista pra Programar em Perl.


Recomendo abrir o vídeo no youtube pra ver maior.
Vale a pena perder uns 10 minutos pra ver a proeza…

Se você gostou deste artigo, inscreva-se em meu RSS feed!