Comandos engraçados no Debian

Tags: , , , — August 29, 2008 @ 10:30 am

Estava me lembrando hoje de alguns comandos engraçados para o apt-get e aptitude que havia visto a algum tempo na net, e passei um tempo procurando por eles. Sabe-se lá o porque desses comandos estarem no programa, provavelmente apenas como uma pequena piada dos programadores.

Estou postando o comando com o aptitude, primeiramente, e as respostas no terminal. Aumentando a verbose (-v,-vv, […]) a saída muda:

$ aptitude moo
Não existem Ovos de Páscoa neste programa.
$ aptitude -v moo
Realmente não existem Ovos de Páscoa neste programa.
$ aptitude -vv moo
Eu já não lhe disse que não existem Ovos de Páscoa neste programa?
$ aptitude -vvv moo
Pare com isso!
$ aptitude -vvvv moo
Ok, ok, se eu lhe der um Ovo de Páscoa você irá embora?
$ aptitude -vvvvv moo
Tudo bem, você ganhou.

                               /----\
                       -------/      \
                      /               \
                     /                |
   -----------------/                  --------\
   ----------------------------------------------
$ aptitude -vvvvvv moo
O que é isso? Isso é um elefante sendo comido por uma cobra,
é claro.

Com o apt-get nós recebemos a vaquinha :P

$ apt-get moo
         (__)
         (oo)
   /------\/
  / |    ||
 *  /\---/\
    ~~   ~~
...."Have you mooed today?"...

Também, se falarmos ‘moo’ para o bot no canal #Debian no IRC (irc.freenode.net ou irc.debian.org) ele no responde com um versinho:

samuraidio: moo
dpkg: mooooooo! I am cow, hear me moo, I weigh twice as much as you. I’m a cow, eating grass, methane gas comes out my ass. I’m a cow, you could be too; join us all! type apt-get moo. aplay /usr/lib/openoffice/share/gallery/sounds/cow.wav

Apesar de inúteis, estes comandos são, no mínimo, engraçados. É o tipo de coisa que os programadores fazem nas horas vagas…

Eles me lembram também de um comando no M$ Word, onde, se você digitar =rand (20,10) e pressionar Enter ele imprime diversas vezes (pra ser exato, o primeiro número é a quantidade de frases por parágrafo e o segundo a de parágrafos) a seguinte frase:

“A ligeira raposa marrom ataca o cão preguiçoso.”

Porém esta tem uma razão, a frase acima, no original, em inglês, contém todas as letras do alfabeto, é era utilizada para testar máquinas de escrever (Fonte: Wikipédia).

“The quick brown fox jumps over the lazy dog.”

Agora, sabe-se lá porque foi adicionado no M$ Word

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

TuxGuitar 1.0 com FluidSynth Plugin

Tags: , , — August 23, 2008 @ 11:37 pm

TuxGuitar 1.0A quase um ano atrás estive falando sobre o TuxGuitar aqui no blog. O programinha trata-se de uma ótima alternativa livre ao Guitar Pro e não deixa nada a desejar.

Após este tempo, o TuxGuitar, agora já na versão 1.0, está disponível nos repositórios do Debian Lenny, juntamente com os plugins Alsa e FluidSynth, o que significa que todo aquele trabalho para fazer funcionar sons Midino Debian não é mais necessário.

O FluidSynth é um sintetizador midi baseado nas especificações SoundFount 2.

Primeiramente você precisará instalar o programa, juntamente com seu plugins alsa e fluidsynth:

# aptitude install \
tuxguitar \
tuxguitar-alsa \
tuxguitar-fluidsynth \
fluidsynth

Para começar a utilizar o TuxGuitar, você precisará também dos kits de instrumentos SoundFonts, que são geralmente encontrados como arquivos com a extensão *.sf2. O website sf2midi.com é uma boa fonte de SoundFonts, dos quais posso recomendar 8MBGMSFX para quem quiser testar rapidamente o TuxGuitar, ou que tiver um computador pouco generoso em memória e processamento. O 8MBGMSFX é um pacote básico de instrumentos, com pouco menos de 8MB, mas que deve servir para a maioria, outros SoundFonts bem mais completos podem ser encontrados no mesmo website ou em outros, e não custa nada testar qual que mais lhe agrada ou pesquisar em alguns fóruns sobre o assunto.

Após baixar o SoundFont, descompacte ele, caso necessário, e verifique a extensão. Se o arquivo estiver com a extensão *.sf2 sem problemas, mas caso esteja com a extensão *.sfArk algum trabalho extra será necessário.

sfArk é um método de compressão comum que alguns compositores utilizam para compactar seus SounFonts. Por sorte a companhia por tráz dele tem uma versão Linux do aplicativo de descompressão, faça o download deste a partir do website http://melodymachine.com/sfark.htm. Para utilizá-lo basta executar: $ sfarkxtc ./thenameofthefilehere.sfArk e o arquivo deve ser descompactado em um *.sf2 (obs. se ao invés de descompactar um *.sf2, descompactar um *.exe ou qualquer outra coisa, procure outro SoundFont).

Com o SoundFont escolhido e salvo, abra seu TuxGuitar, vá em Ferramentas -> Plugins, selecione FluidSynth output plugin e clique em Configurar e depois em Adicionar, então selecione o arquivo *.sf2 que vc baixou e descompactou.

Depois disse vá em Ferramentas -> Configurações -> Som e em Midi Port selecione TG FluidSynth [nome do seu SondFont] .

Adicionando o SoundFont ao plugin FluidSynth  Selecionando o SoundFound como saída de som

Após terminar as configurações, basta clicar em Ok e aplicar as configurações e começar a utilizar o TuxGuitar.

Boas Composições…

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

Usando sSMTP com GMail para enviar emails no Debian

Tags: , — August 13, 2008 @ 6:48 pm

Exim4 é, por padrão o MTA (Mail Transfer Agent, ou agente de transporte de e-mail) do Debian, porém, este costuma ser demasiado grande, pesado, e desnecessário, caso não esteja sendo utilizado em um servidor de e-mails. Como alternativa, caso seja necessário apenas o envio de e-mails ocasionais, e não recebimento, na máquina em questão, pode-se utilizar um MTA simples e leve, que utilize um hub externo (um servidor smtp) para o envio de emails, como o sSMTP.

Diferente de um MTA completo como o Exim4, postfix ou sendmail, o sSMTP apenas encaminha os emails a serem enviados pelo PC para um hub externo, assim você pode utilizar seu servidor de emails preferido como gmail, yahoo, ou qualquer outro, para enviar seus emails de seu PC.

Embora para alguns pode ser extremamente desnecessário ter um serviço MTA sendo executado no computador, note que este é utilizado para enviar emails implicita ou explicitamente pelo sistema. Um bom exemplo é o envio de notificações de bugs que a maioria das distribuições possui, ou o “Concurso de Popularidade” do Debian, que envia (caso o usuário tenha concordado com o serviço, durante a instalação do sistema) semanalmente informações sobre os pacotes instalados e programas mais utilizados aos desenvolvedores. De qualquer modo, vale a pena instalar e configurar o sSMTP por duas razões, por ser mais leve que o Exim4, e para enviar e-mails a partir do sistema quando necessário.

Primeiramente instale-o via  aptitude:

# aptitude install ssmtp

Note que serão removidos o Exim4 e suas dependencias.

Após a instalação concluída, basta editar o arquivo de configuração em /etc/ssmtp/ssmtp.conf. A seguir tem um exemplo do arquivo a ser gerado, com a configuração correta para enviar por uma conta do gmail:

# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster
 
# The place where the mail goes.
# The actual machine name is required no
# MX records are consulted.
# Commonly mailhosts are named mail.domain.com
 
# GMAIL configuration
mailhub=smtp.gmail.com:587
AuthUser=seuemail@gmail.com
AuthPass=senha
UseSTARTTLS=YES
 
# The full hostname
#hostname=machinehostname
 
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

Para outros servidores de email pode não ser necessária a opção UseSTARTTLS, utilizada para autenticações SSL, ou mesmo as AuthUser e AuthPass, caso o servidor smtp não exija autenticação.

Após configura o arquivo os e-mails já poderão ser enviados normalmente a partir da máquina. Você pode testar com:

$ mail seuemail@seudominio.com

Fonte: http://www.igvita.com/2007/08/29/ssmtp-relay-mail-delivery-in-rails/

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

Cake Bake no Eclipse

Tags: , — August 12, 2008 @ 4:56 pm

O Eclipse é sem dúvida uma IDE completa e multiuso. Com um pouco de dedicação podemos adicionar plugins para qualquer funcionalidade que precisemos.

Nas próximas linhas vou mostrar como configurar de forma rápida e fácil o Cake Bake para ser utilizado a partir do Eclipse, agilizando muito os projetos de quem trabala com CakePHP.

Para quem não sabe, o Cake Bake é um script utilizado para criar automaticamente a estrutura básica das aplicações para o CakePHP, incluindo controllers com os métodos mais utilizados (index, view, add, edit, delete), models e configuração com a base de dados, e encontra-se no diretório cake/console (shell script cake, ou cake.bat para Win/DOS).

Para utilizá-lo a partir do Eclipse, vá em Run -> External Tool -> Open External Tool Dialog, dê dois cliques em Program e coloque em Location o caminho completo para o script executável cake. Coloque ${resource_loc} em Working Directory (esta variável corresponde a pasta ou arquivo selecionado no Navegador do Eclipse) e bake em Arguments:

eclipse_and_bake1.jpg

Após isto basta selecionar o seu projeto onde deseja executar o Cake Bake, eclicar em Run -> External Tool -> [nome que vc colocou], ou no botão External Tools na barra de ferramentas, e utilizar o Cake Bake normalmente pelo console do Eclipse.

eclipse_and_bake2.jpg

 

eclipse_and_bake3.jpg

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

Configurando Eclipse PDT + XDebug

Tags: , , — August 10, 2008 @ 3:20 pm

O XDebug é um alternativa livre e bem completa para depurar aplicações em PHP. Com ele é possível verificar em tempo de execução o valor de todas as variáveis durante erros, assim como em breakpoints pré-definidos.

Estarei demonstrando neste post como configurar o XDebug para ser utilizado em conjunto com o Eclipse PDT (former PHPIDE) no Debian testing (outras distribuições, e até mesmo Windows e Mac OS X  tem a mesma configuração, diferenciando-se apenas na instalação do XDebug e caminho do arquivo de configuração deste). O que deve salvar horas de depuração de seus aplicativos e extingir o uso das funções print_r() ou var_dump().

As versões mais recentes do Eclipse PDT já vem com suporte ao XDebug, como alternativa ao Zend Debugger, então, caso você já tenho o Eclipse PDT instalado em sua máquina, deve precisar, no máximo, atualizar a instalação com o update-manager. Para os demais, basta baixar da página de downloads do Eclipse PDT.

Mesmo para quem utilize Debian ou Ubuntu, recomendo baixar e instalar o Eclipse PDT manualmente pelo site, ao invés de utilizarem o gerenciador de pacotes (aka. aptitude ou apt-get), é apenas necessário ter o pacote sun-java5-bin instalado.

Para instalar o XDebug verifique os pacotes disponíveis para sua distribuição, ou faça o download dos binários (para Windows e Mac) do site. Para usuários do Debian ou Ubuntu basta instalar via apt:

# aptitude install php5-xdebug

Após concluída e instalação, edite o arquivo xdebug.ini (no Debian ele deve estar em /etc/php5/conf.d/xdebug.ini), mantenha a linha com a opção ‘zend_extension=’ e adicione as linhas abaixo e reinicie seu servidor web (apache, lighttpd, etc.):

xdebug.remote_enable=1
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"

Para saber detalhes sobre estar opções, ou outras disponíveis, veja a documentação do XDebug.

Já no Eclipse, vá em Window -> Preferences -> PHP -> Debug -> Installed Debuggers e verifique se o XDebug está configurado na porta correta (9000, como colocamos no xdebug.ini):

2008-08-10_144020.png

Depois vá em  Window -> Preferences -> PHP -> PHP Executables (mesma Janela) e edite/adicione o caminho correto para seu executável PHP, selecionando XDebug como PHP debugger:

2008-08-10_144336.png

Então vá em  Window -> Preferences -> PHP -> Debug (mesma janela) e selecione o XDebug como seu PHP debugger padrão e seus executável PHP. Também desmarque a opção Break at first line, pois esta poderá ser adicionada mais tarde.

2008-08-10_144004.png

Após definir as configurações gerais, feche a janela e vá em Run -> Open Debug Dialog e de dois cliques em PHP Web Page. Nesta janela basta configurar o XDebug como Server Debugger o servidor web (Apache, Lighttpd, etc.) onde será acessada a aplicação, em PHP Server, o arquivo que iniciará aplicação (geralmente algum index.php, obrigatoriamente dentro de um projeto previamente configurado), em file, e a url para este arquivo, é qual pode ser configurada automaticamente, ou definida manualmente. Note também a opção Break at First Line que pode ser definida para a aplicação ser debugada logo na primeira linha:

2008-08-10_144124.png

Também deve ser necessário definir o navegador onde as páginas serão exibidar em Window -> Preferences -> General -> Web Browser. Selecione User external Web browser e escolha o navegador de sua preferência (Iceweasel ou Firefox, no meu caso).

Perspectiva PHP Debug, exibindo variáveis atuais, com XDebugApós concluída a configuração, basta clicar no botão Debug da barra de ferramentas e a sessão será iniciada. Sempre que houver algum erro na aplicação, ou esta atingir um breakpoint definido por você, a perspectiva deverá mudar para a PHP Debug, pausando a aplicação, e exibindo todas as variáveis (inclusive parametros enviados por GET ou POST e variáveis de sessão) definidas atualmente.

Fonte: http://www.starbowconsulting.com/blog/tao/setting-eclipse-pdt-and-xdebug

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

Lançado último release do PHP 4

Tags: , — August 8, 2008 @ 5:14 pm

Como falado anteriormente, hoje é o dia da última atualização de segurança para o PHP 4.4.

Como anunciado no php.net, foi lançada ontem a última atualização de segurança para o PHP 4.4, release 4.4.9, e será esta a última. Segundo a notícia no PHP.net, é extremamente recomendado para os usuários do PHP 4 atualizarem para esta versão.

Cá entre nós, vale muito mais atualizar logo para o PHP 5.

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

Next Page >>>