<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SamuraiDio &#187; debian</title>
	<atom:link href="http://blog.diovani.com/tag/debian/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.diovani.com</link>
	<description>GNU/Linux &#124; PHP &#124; JavaScript</description>
	<lastBuildDate>Fri, 28 May 2010 00:11:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Novo arquivo de Snapshots do Debian</title>
		<link>http://blog.diovani.com/2010/04/14/novo-arquivo-de-snapshots-do-debian/</link>
		<comments>http://blog.diovani.com/2010/04/14/novo-arquivo-de-snapshots-do-debian/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 01:22:41 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/?p=363</guid>
		<description><![CDATA[Novidade para usuários do Debian GNU/Linux e administradores de servidores. Agora é possível instalar facilmente pacotes de versões antigas do Debian GNU/Linux com uso do apt-get pelo arquivo de snapshots do Debian.
http://snapshot.debian.org/
Lançado na última Segunda-feira, dia 12, o serviço é uma &#8220;máquina do tempo&#8221; que permite o acesso a pacotes e códigos fonte por versões [...]]]></description>
			<content:encoded><![CDATA[<p>Novidade para usuários do <a href="http://www.debian.org/">Debian GNU/Linux</a> e administradores de servidores. Agora é possível instalar facilmente pacotes de versões antigas do Debian GNU/Linux com uso do <em>apt-get</em> pelo arquivo de <em>snapshots</em> do Debian.</p>
<p style="text-align: center;"><a href="http://snapshot.debian.org/">http://snapshot.debian.org/</a></p>
<p>Lançado na última Segunda-feira, dia 12, o serviço é uma &#8220;máquina do tempo&#8221; que permite o acesso a pacotes e códigos fonte por versões ou datas, e é composto por pacotes antigos e atuais do Debian.</p>
<p>Praticamente todos (alguns pacotes foram removidos devido a licenças de software) os pacotes, desde Março de 2005, estão disponíveis, incluindo alguns repositórios adicionais como debian-volatile, debian-ports e backports.org, contanto com cerca de 6,5 terabytes, que devem aumentar constantemente.</p>
<p>O serviço é uma ótima ferramenta, especialmente para desenvolvedores resolver problemas de regressão de pacotes. Mas também para usuários que necessitem de pacotes em alguma versão anterior para que certa aplicação funcione.</p>
<p>A grande facilidade do arquivo é que qualquer pacote pode ser instalado com o <em>apt-get</em> ou <em>aptitude</em> normalmente, bastando adicionar a respectiva linha em <em>/etc/apt/sources.list</em>.</p>
<p>Para saber que linha adicionar, primeiramente navegue até umas das seguintes categorias:</p>
<ul>
<li><a href="http://snapshot.debian.org/archive/backports.org/">backports.org</a></li>
<li><a href="http://snapshot.debian.org/archive/debian/">debian</a></li>
<li><a href="http://snapshot.debian.org/archive/debian-archive/">debian-archive</a></li>
<li><a href="http://snapshot.debian.org/archive/debian-ports/">debian-ports</a></li>
<li><a href="http://snapshot.debian.org/archive/debian-security/">debian-security</a></li>
<li><a href="http://snapshot.debian.org/archive/debian-volatile/">debian-volatile</a></li>
</ul>
<p>Após acessar uma das categorias, selecione o <strong>ano</strong>, <strong>mês</strong> e finalmente, <strong>dia</strong> e <strong>hora</strong> do <em>snapshot</em>. Esta <em>url</em> completa é a <em>url</em> a ser adicionada em <em>/etc/apt/sources.list</em>, logo após a palavra-chave <em>deb</em> e seguida da versão e sessão desejadas. Ou seja, cada uma destas <em>url</em>s corresponde a uma cópia completa de um repositório do Debian no devido momento, e pode ser usada como tal.</p>
<p>Segue um exemplo&#8230;</p>
<p>caminho seguido: <strong>debian -&gt; 2007: 06 -&gt; 2007-06-21 00:00:00</strong><br />
url resultante:  <strong>http://snapshot.debian.org/archive/debian/20070621T000000Z/</strong></p>
<p>linha do <em>sources.list</em>:<br />
<strong>deb http://snapshot.debian.org/archive/debian/20070621T000000Z/ stable/ main</strong></p>
<p>Deste modo, fica extremamente fácil instalar pacotes de qualquer versão do Debian.</p>
<p><em>Fonte: <a href="http://www.debian.org/News/2010/20100412.en.html">http://www.debian.org/News/2010/20100412.en.html</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2010/04/14/novo-arquivo-de-snapshots-do-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enlightenment DR17 agora no Debian Unstable</title>
		<link>http://blog.diovani.com/2009/11/29/enlightenment-dr17-e17-agora-no-debian-unstable/</link>
		<comments>http://blog.diovani.com/2009/11/29/enlightenment-dr17-e17-agora-no-debian-unstable/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 16:34:27 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[enlightenment]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/?p=281</guid>
		<description><![CDATA[Embora já faça algum tempo, desde 07 de Julho pra ser exato, descobri este fim de semana, enquanto atualizava os pacotes do meu Debian que agora o E17 está disponível entre os pacotes do debian.
A cerca de dois anos, o E17 podia ser instalado no Debian através de repositórios não-oficiais, porém estes repositórios foram descontinuados, [...]]]></description>
			<content:encoded><![CDATA[<p>Embora já faça algum tempo, desde 07 de Julho pra ser exato, descobri este fim de semana, enquanto atualizava os pacotes do meu Debian que agora o <a href="http://www.enlightenment.org/p.php?p=about/e17">E17</a> está disponível entre os pacotes do debian.</p>
<p>A cerca de dois anos, o E17 podia ser instalado no Debian através de repositórios não-oficiais, porém estes repositórios foram descontinuados, permitindo aos usuários obterem e instalarem o <em>Desktop Shell</em> apenas via <em>svn</em> (como eu tenho feito desde então) ou pelos <em>snapshots</em> disponibilizados periodicamente.  Porém, felizmente para os usuários do Debian e do E17, desde Julho, o E17 está oficialmente disponível entre os pacotes do Debian Sid (<a href="http://packages.debian.org/sid/e17">http://packages.debian.org/sid/e17</a>), podendo ser instalado facilmente pelo <em>aptitude.</em></p>
<p>Para tanto, basta que você tenha os repositórios do Debian Sid em seu <em>/etc/apt/sources.list:</em></p>
<pre>deb http://ftp.debian.org/debian/ unstable main</pre>
<p>&#8230;e instalar, utilizando os comandos:</p>
<pre># aptitude update &amp;&amp; aptitude install e17</pre>
<p>:D</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2009/11/29/enlightenment-dr17-e17-agora-no-debian-unstable/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Debian GNU/Linux 5.0 lançado</title>
		<link>http://blog.diovani.com/2009/03/16/debian-gnulinux-50-lancado/</link>
		<comments>http://blog.diovani.com/2009/03/16/debian-gnulinux-50-lancado/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 02:20:06 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[notícias]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2009/03/16/debian-gnulinux-50-lancado/</guid>
		<description><![CDATA[O Debian GNU/Linux 5.0, codinome Lenny, foi finalmente lançado no dia 14 de Fevereiro de 2009. Sim, eu sei que estou bastante atrasado com o post, mas antes tarde do que nunca.
Com o lançamento, o Debian Lenny passa a ser a atual versão stable, e a nova versão testing tem o codinome Squeeze (os ETs [...]]]></description>
			<content:encoded><![CDATA[<p>O Debian GNU/Linux 5.0, codinome <em>Lenny</em>, foi finalmente lançado no dia 14 de Fevereiro de 2009. Sim, eu sei que estou bastante atrasado com o post, mas antes tarde do que nunca.</p>
<p>Com o lançamento, o Debian <em>Lenny</em> passa a ser a atual versão <em>stable</em>, e a nova versão <em>testing</em> tem o codinome <em>Squeeze</em> (os ETs do filme/desenho <em>Toy Story</em>, seguindo a tradição).</p>
<p>Como novidades nesta versão, temos suporte completo a sistemas de arquivos NTFS (boa notícia para usuários de meio-expediente Windows® / Linux) , PHP 5.2.6, Iceweasel 3.0.6 (uma versão livre do Mozilla Firefox), a adição do <a href="http://lxde.org/">LXDE</a> (um desktop leve, vindo no mesmo CD1 que tem o XFCE, recomentado para PCs com poucos recursos de hardware) como opção de ambiente desktop e melhor suporte para notebooks, incluindo o Asus EeePC, entre outras melhorias.</p>
<p>Pessoalmente, acho que esta versão está um pacote cheio, tanto para servidores como para desktops, sem precisr colocar mais nada. Para mais informações e detalhes sobre as novidades, leia a notícia oficial em <a href="http://www.debian.org/News/2009/20090214">http://www.debian.org/News/2009/20090214</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2009/03/16/debian-gnulinux-50-lancado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comandos engraçados no Debian</title>
		<link>http://blog.diovani.com/2008/08/29/comandos-engracados-no-debian/</link>
		<comments>http://blog.diovani.com/2008/08/29/comandos-engracados-no-debian/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 13:30:30 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[curiosidades]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[MS Office]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2008/08/29/comandos-engracados-no-debian/</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>Estou postando o comando com o aptitude, primeiramente, e as respostas no terminal. Aumentando a verbose (<em>-v,-vv, [...]</em>) a saída muda:</p>
<pre>$ 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.</pre>
<p>Com o apt-get nós recebemos a vaquinha :P</p>
<pre>$ apt-get moo
         (__)
         (oo)
   /------\/
  / |    ||
 *  /\---/\
    ~~   ~~
...."Have you mooed today?"...</pre>
<p>Também, se falarmos <em>&#8216;moo&#8217;</em> para o bot no canal #Debian no IRC (<em>irc.freenode.net</em> ou <em>irc.debian.org</em>) ele no responde com um versinho:</p>
<blockquote><p> <strong>samuraidio</strong>: moo<br />
<strong>dpkg</strong>: mooooooo! I am cow, hear me moo, I weigh twice as much as you. I&#8217;m a cow, eating grass, methane gas comes out my ass. I&#8217;m a cow, you could be too; join us all! type apt-get moo. aplay /usr/lib/openoffice/share/gallery/sounds/cow.wav</p></blockquote>
<p>Apesar de inúteis, estes comandos são, no mínimo, engraçados. É o tipo de coisa que os programadores fazem nas horas vagas&#8230;</p>
<p>Eles me lembram também de um comando no <em>M$ Word</em>, onde, se você digitar <em>=rand (20,10)</em> e pressionar <em>Enter</em> 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:</p>
<blockquote><p>&#8220;A ligeira raposa marrom ataca o cão preguiçoso.&#8221;</p></blockquote>
<p>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 (<em>Fonte: <a href="http://en.wikipedia.org/wiki/The_quick_brown_fox_jumps_over_the_lazy_dog">Wikipédia</a></em>).</p>
<blockquote><p>&#8220;The quick brown fox jumps over the lazy dog.&#8221;</p></blockquote>
<p>Agora, sabe-se lá porque foi adicionado no <em>M$ Word</em>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2008/08/29/comandos-engracados-no-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TuxGuitar 1.0 com FluidSynth Plugin</title>
		<link>http://blog.diovani.com/2008/08/23/tuxguitar-10-com-fluidsynth-plugin/</link>
		<comments>http://blog.diovani.com/2008/08/23/tuxguitar-10-com-fluidsynth-plugin/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 02:37:09 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[multimídia]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2008/08/23/tuxguitar-10-com-fluidsynth-plugin/</guid>
		<description><![CDATA[A 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 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-23_233016.png" title="TuxGuitar 1.0"><img src="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-23_233016.thumbnail.png" alt="TuxGuitar 1.0" align="right" /></a>A quase um ano atrás <a href="http://blog.diovani.com/2007/10/27/tuxguitar-uma-otima-alternativa-ao-guitar-pro-no-linux/">estive falando sobre o TuxGuitar</a> aqui no blog. O programinha trata-se de uma ótima alternativa livre ao Guitar Pro e não deixa nada a desejar.</p>
<p>Após este tempo, o <a href="http://www.tuxguitar.com.ar/">TuxGuitar, agora já na versão 1.0</a>, 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.</p>
<p>O <a href="http://fluidsynth.resonance.org/trac">FluidSynth é um sintetizador midi</a> baseado nas especificações <a href="http://en.wikipedia.org/wiki/SoundFont">SoundFount 2</a>.</p>
<p>Primeiramente você precisará instalar o programa, juntamente com seu plugins alsa e fluidsynth:</p>
<pre># aptitude install \
tuxguitar \
tuxguitar-alsa \
tuxguitar-fluidsynth \
fluidsynth</pre>
<p>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 <a href="http://www.sf2midi.com">sf2midi.com</a> é uma boa fonte de SoundFonts, dos quais posso recomendar <a href="http://www.sf2midi.com/soundfonts/file-detail/8mbgmsfx-sf2-290.html">8MBGMSFX</a> 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.</p>
<p>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.</p>
<p>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: <em>$ sfarkxtc ./thenameofthefilehere.sfArk</em> 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).</p>
<p>Com o SoundFont escolhido e salvo, abra seu TuxGuitar, vá em <em>Ferramentas -&gt; Plugins</em>, selecione <em>FluidSynth output plugin</em> e clique em <em>Configurar </em>e depois em <em>Adicionar</em>, então selecione o arquivo *.sf2 que vc baixou e descompactou.</p>
<p>Depois disse vá em <em>Ferramentas -&gt; Configurações -&gt; Som</em> e em <em>Midi Port</em> selecione <em>TG FluidSynth [nome do seu SondFont]</em> <em>.</em></p>
<p align="center"><a href="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-23_233045.png" title="Adicionando o SoundFont ao plugin FluidSynth"><img src="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-23_233045.thumbnail.png" alt="Adicionando o SoundFont ao plugin FluidSynth" /></a>  <a href="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-23_233130.png" title="Selecionando o SoundFound como saída de som"><img src="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-23_233130.thumbnail.png" alt="Selecionando o SoundFound como saída de som" /></a></p>
<p>Após terminar as configurações, basta clicar em Ok e aplicar as configurações e começar a utilizar o TuxGuitar.</p>
<p>Boas Composições&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2008/08/23/tuxguitar-10-com-fluidsynth-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SpiderMonkey JavaScript Shell &#8211; Programando JavaScript em linha de comando</title>
		<link>http://blog.diovani.com/2008/03/14/spidermonkey-javascript-shell-programando-javascript-em-linha-de-comando/</link>
		<comments>http://blog.diovani.com/2008/03/14/spidermonkey-javascript-shell-programando-javascript-em-linha-de-comando/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 22:10:26 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2008/03/14/spidermonkey-javascript-shell-programando-javascript-em-linha-de-comando/</guid>
		<description><![CDATA[Desenvolvedores Web costumam ter grandes problemas para debugar JavaScript. Enquanto programas como a extensão FireBug do Firefox fazem milagres para debugar, o programador ainda precisa colocar sucessivos alert()s para descobrir os valores que suas variáveis assumem em determinados pontos. Certo?
Errado!
Estava pesquisando agora a pouco algumas funções de js no MDC quando fiquei meio curioso com [...]]]></description>
			<content:encoded><![CDATA[<p>Desenvolvedores Web costumam ter grandes problemas para debugar JavaScript. Enquanto programas como a extensão <a href="https://addons.mozilla.org/pt-PT/firefox/addon/1843">FireBug</a> do Firefox fazem milagres para debugar, o programador ainda precisa colocar sucessivos <a href="http://developer.mozilla.org/en/docs/DOM:window.alert">alert()</a>s para descobrir os valores que suas variáveis assumem em determinados pontos. Certo?</p>
<p><strong><em>Errado!</em></strong></p>
<p>Estava pesquisando agora a pouco algumas funções de js no <a href="http://developer.mozilla.org/">MDC</a> quando fiquei meio curioso com o modo como os exemplos de código eram mostrados e, em especial, de uma função <a href="http://developer.mozilla.org/en/docs/Introduction_to_the_JavaScript_shell#print.28.5Bexpression_....5D.29">print()</a>. Como no fragmento a seguir:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> names <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Harry Trump ;Fred Barney; Helen Rigby ;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">print</span><span style="color: #009900;">&#40;</span>names<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> re <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/\s*;\s*/</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> nameList <span style="color: #339933;">=</span> names.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span>re<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">print</span><span style="color: #009900;">&#40;</span>nameList<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<blockquote><p><em>Ora, bolas! Javascript não pode imprimir nada em stdout, então, como pode existir uma função print()?</em></p></blockquote>
<p>Então que, pesquisando mais um pouquinho, cheguei ao SpiderMonkey Javascript Shell.</p>
<p>O <a href="http://developer.mozilla.org/en/docs/SpiderMonkey">SpiderMonkey</a> é o mecanismo interpretador de Javascript do Gecko, escrito em C, e utilizado em vários produtos Mozilla, como o Firefox, por exemplo e a boa notícia é que ele provê também um Shell para executar js em linha de comando.</p>
<p>Com isso fica extremamente fácil criar e testar scripts para usar posteriormente. Veja o exemplo a seguir:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">diovani<span style="color: #339933;">@</span>debian<span style="color: #339933;">-</span>websul<span style="color: #339933;">:</span>~$ js
js<span style="color: #339933;">&gt;</span> <span style="color: #003366; font-weight: bold;">var</span> frase <span style="color: #339933;">=</span> <span style="color: #3366CC;">'Hello World!'</span><span style="color: #339933;">;</span>
js<span style="color: #339933;">&gt;</span> <span style="color: #003366; font-weight: bold;">var</span> tamanho <span style="color: #339933;">=</span> frase.<span style="color: #660066;">length</span><span style="color: #339933;">;</span>
js<span style="color: #339933;">&gt;</span> <span style="color: #003366; font-weight: bold;">var</span> teste <span style="color: #339933;">=</span> frase <span style="color: #339933;">+</span> <span style="color: #3366CC;">' tem '</span> <span style="color: #339933;">+</span> tamanho <span style="color: #339933;">+</span> <span style="color: #3366CC;">' caracteres.'</span><span style="color: #339933;">;</span>
js<span style="color: #339933;">&gt;</span> <span style="color: #000066;">print</span><span style="color: #009900;">&#40;</span>teste<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
Hello World<span style="color: #339933;">!</span> tem <span style="color: #CC0000;">12</span> caracteres.
<span style="color: #660066;">js</span><span style="color: #339933;">&gt;</span></pre></div></div>

<p>Para instalar o SpiderMonkey JS Shell no Debian GNU/Linux basta executar o comando:</p>
<blockquote><p># aptitude update &amp;&amp; aptitude install spidermonkey-bin</p></blockquote>
<p>Após a instalação, basta executar em um terminal o comando <strong>$ js</strong> para entrar no Shell interativo:</p>
<blockquote><p>Para entrar no shell interativo use o comando:<br />
$ js</p>
<p>Para executar os scripts de um arquivo (foo.js) use:<br />
$ js -f foo.js</p>
<p>Para executar os scripts de um arquivo (foo.js) e entrar no shell interativo (muito útil para carregar funções ou bibliotecas) em seguida use:<br />
$ js -f foo.js -f -</p></blockquote>
<p>Mas mesmo para outras distribuições, e até mesmo Windows, deve ser extremamente fácil instalá-lo. Veja o link abaixo para a Documentação do Javascript Shell e exemplos de uso:</p>
<p><em>Link: <a href="http://developer.mozilla.org/en/docs/Introduction_to_the_JavaScript_shell#Using_the_JavaScript_shell">Introdução ao Shell Javascript</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2008/03/14/spidermonkey-javascript-shell-programando-javascript-em-linha-de-comando/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Usando apt-listbugs para verificar bugs em pacotes antes de atualizações e instalações</title>
		<link>http://blog.diovani.com/2008/03/14/usando-apt-listbugs-para-verificar-bugs-em-pacotes-antes-de-atualizacoes-e-instalacoes/</link>
		<comments>http://blog.diovani.com/2008/03/14/usando-apt-listbugs-para-verificar-bugs-em-pacotes-antes-de-atualizacoes-e-instalacoes/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 18:08:14 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2008/03/14/usando-apt-listbugs-para-verificar-bugs-em-pacotes-antes-de-atualizacoes-e-instalacoes/</guid>
		<description><![CDATA[Esta semana me ocorreu um grande problema no Debian, resultado de usar versão testing/unstable. Fui, alegremente, atualizar meu sistema, com # aptitude update &#38;&#38; aptitude full-upgrade e, depois de terminada a atualização, meu querido TuxGuitar não funcionou mais.
Procurando ajuda no irc (#Debian@irc.freenode.org) um usuário me disse algo como:
Como você está usando Debian Testing/Unstable sem usar [...]]]></description>
			<content:encoded><![CDATA[<p>Esta semana me ocorreu um grande problema no Debian, resultado de usar versão testing/unstable. Fui, alegremente, atualizar meu sistema, com <strong># aptitude update &amp;&amp; aptitude full-upgrade</strong> e, depois de terminada a atualização, meu querido <a href="http://www.tuxguitar.com.ar">TuxGuitar</a> não funcionou mais.</p>
<p>Procurando ajuda no irc (#Debian@irc.freenode.org) um usuário me disse algo como:</p>
<blockquote><p><em>Como você está usando Debian Testing/Unstable sem usar apt-listbugs?</em></p></blockquote>
<p>Bem, até pouco tempo em nem conhecia este pacote, mas trata-se de um programinha essencial para quem deseja aventurar-se no Debian Testing e/ou Unstable. Para instalá-lo apenas execute: <strong># aptitude update &amp;&amp; aptitude install apt-listbugs;.</strong></p>
<p>O apt-listbugs verifica os principais bugs em cada pacote antes de uma instalação e atualização e exibe ao usuário, pedindo uma confirmação antes de prosseguir com a instalação. Aqui vai um exemplo:</p>
<blockquote><p># aptitude install ghostscript<br />
&#8230;<br />
É preciso obter 0B/887kB de arquivos. Depois do desempacotamento, 7774kB serão liberados.<br />
Você deseja continuar? [Y/n/?] Y<br />
Gravando informações estendidas de estado&#8230; Pronto<br />
A ler campos dos pacotes&#8230; Feito<br />
A ler estado do pacote&#8230; Feito<br />
<strong>A obter relatórios de bugs&#8230; Feito</strong><br />
A processar informação de Encontrado/Corrigido&#8230; Feito<br />
<strong>serious bugs do ghostscript (-&gt; 8.62.dfsg.1-2) &lt;pending&gt;<br />
#457568 &#8211; segfault when creating pdfs<br />
Juntado com: 453903 457547<br />
serious bugs do gs-esp (8.15.3.dfsg.1-1 -&gt; 8.62.dfsg.1-2) &lt;pending&gt;<br />
#435534 &#8211; gs-esp &#8211; segfault/bus error in ps2pdf</strong><br />
Sumário:<br />
<strong>ghostscript(1 bug), gs-esp(1 bug)<br />
Tem a certeza que quer instalar/actualizar os pacotes acima? [Y/n/?/...]  n</strong><br />
*****************************************************************<br />
***** Terminar com um erro forçado para parar a instalação. *****<br />
*****************************************************************<br />
E: Sub-processo /usr/sbin/apt-listbugs apt || exit 10 retornou um código de erro (10)<br />
E: Failure running script /usr/sbin/apt-listbugs apt || exit 10<br />
A instalação de um pacote falhou. Tentando recuperar :<br />
Lendo lista de pacotes&#8230; Pronto<br />
&#8230;</p></blockquote>
<p>Veja as linhas em negrito acima. O apt-listbugs exibe a descrição dos bugs de cada pacote e pede uma confirmação, se o usuário selecionar &#8216;<strong>y</strong>&#8216; ele prossegue com a instalação, caso contrário ele forca o apt-get (ou aptitude) a interromper o processo.</p>
<p>Uma ótima ajuda para prevenir bugs inesperados que provavelmente só serão resolvidos depois de algumas semanas.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2008/03/14/usando-apt-listbugs-para-verificar-bugs-em-pacotes-antes-de-atualizacoes-e-instalacoes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando um chroot para rodar aplicações 32bit em uma instalação amd64</title>
		<link>http://blog.diovani.com/2008/03/11/usando-um-chroot-para-rodar-aplicacoes-32bit-em-uma-instalacao-amd64/</link>
		<comments>http://blog.diovani.com/2008/03/11/usando-um-chroot-para-rodar-aplicacoes-32bit-em-uma-instalacao-amd64/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 14:55:21 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[amd64]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2008/03/11/usando-um-chroot-para-rodar-aplicacoes-32bit-em-uma-instalacao-amd64/</guid>
		<description><![CDATA[Quem tem um processador 64 bits deve ficar tentado a instalar um sistema inteiro em 64 bits para aproveitar todos os recursos da máquina. Acontece que, após a instalação, nota-se que certas aplicações inexistem para a arquitetura 64 bits (amd64 ou x86_64), como o plugin Flash para Firefox/Iceweasel, o Navegador Opera e Skype.
O Debian dispõe [...]]]></description>
			<content:encoded><![CDATA[<p>Quem tem um processador 64 bits deve ficar tentado a instalar um sistema inteiro em 64 bits para aproveitar todos os recursos da máquina. Acontece que, após a instalação, nota-se que certas aplicações inexistem para a arquitetura 64 bits (amd64 ou x86_64), como o plugin Flash para Firefox/Iceweasel, o Navegador Opera e Skype.</p>
<p>O Debian dispõe de um pacote ia32-libs, contendo as principais bibliotecas 32 bits necessárias para rodar o FlashPlayer e algumas outras aplicações, mas caso deseja instalar algum outro pacote 32 bits (ia32, x86) então temos um problema. Mas não existe problema que não possa ser resolvido em software livre.</p>
<p>A solução Debian para o problema é criar um chroot 32 bits, um chroot trata-se de uma pasta root (&#8216;/&#8217;)  dentro de uma pasta do sistema, em outras paravras, é como instalar um sistema inteiro dentro de outro. Antes de mais nada precisamos instalar os programa necessários para criar e utilizar o chroot:</p>
<pre># aptitude install cdebootstrap schroot</pre>
<p><em>cdebootstrap é um comando presente no atual Debian Testing e Unstable, se estiver usando Stable (Etch) ou anterior, use o comando debootstrap</em></p>
<p>Então você deve criar o chroot com o comando cdeboostrap:</p>
<pre># cdebootstrap --arch i386 sid /var/chroot/sid-ia32 \

http://ftp.debian.org/debian/</pre>
<p>Após isso, você terá uma estrutura completa de diretórios dentro de  <strong>/var/chroot/sid-ia32</strong>. Para alterar para este chroot basta usar o comando <em>chroot</em>:</p>
<pre># chroot /var/chroot/sid-ia32</pre>
<p>Podendo instalar qualquer programa ou biblioteca normalmente com apt-get/aptitude:</p>
<pre># aptitude install opera skype</pre>
<p>Para executar asplicações dentro de seu chroot ia32m você vai precisar de certas parte do seu sistema 64 bits, isso pode ser obtido com um &#8216;<strong>bind mount</strong>&#8216;. No mínimo você precisará de /tmp, para compartilhar a sessão do X11, e de /home, para poder utilizar seus arquivos e configurações pessoais. Você poderá desejar também unir os diretórios /dev, /proc e /sys.</p>
<p>Saia do chroot e escreva em seu /etc/fstab:</p>
<pre># sid32 chroot
/home   /var/chroot/sid-ia32/home none    bind      0       0
/tmp    /var/chroot/sid-ia32/tmp  none    bind      0       0
/dev    /var/chroot/sid-ia32/dev  none    bind      0       0
/proc   /var/chroot/sid-ia32/proc none    bind      0       0
/sys    /var/chroot/sid-ia32/sys  none    bind      0       0</pre>
<p>Depois monte-os:</p>
<pre>mount /var/chroot/sid-ia32/home
mount /var/chroot/sid-ia32/tmp
mount /var/chroot/sid-ia32/dev
mount /var/chroot/sid-ia32/proc
mount /var/chroot/sid-ia32/sys</pre>
<p>Para executar eplicações facilmente no novo chroot, você poderá usar o programa schroot. Para isso configure o arquivo <strong>/etc/schroot/schroot.conf</strong>:</p>
<pre>[sid32]
description=Debian Sid i386 (sid32)
location=/var/chroot/sid-ia32
priority=3
groups=users,root
root-groups=root
aliases=default,unstable,ia32
personality=linux32
type=plain
run-exec-scripts=true
run-setup-scripts=true</pre>
<p>A partir daí basta executar os aplicativos com o comando schroot:</p>
<pre>schroot -p openoffice</pre>
<p>Para facilitar ainda mais, você poderá criar um script que permite executar os aplicativos com um simples comando. Crie um arquivo /usr/local/bin/do_chroot e adicione o conteúdo a seguir:</p>
<pre>#!/bin/bash

exec schroot -p -c sid32 -q -- "`basename $0`" "$@"</pre>
<p>Torne-o executável:</p>
<pre># chmod 755  /usr/local/bin/do_chroot</pre>
<p>E então crie links simbólicos para ele dentro de /usr/local/bin:</p>
<pre># cd /usr/local/bin
# ln -s do_chroot opera
# ln -s do_chroot skype</pre>
<p>Agora, para executar estes aplicativos basta executar os comandos <strong>opera</strong> ou <strong>skype</strong> normalmente.</p>
<blockquote><p>NOTA: Os aplicativos Opera e Skype não estão presentes nos repositórios oficiais do Debian, para instalá-los via aptitude adicione as seguintes linhas ao seu /etc/apt/sources.list, dentro do chroot, não esquecendo de executar aptitude update:</p>
<pre>## Opera Web-Browser
deb http://deb.opera.com/opera/ sid non-free
## Skype
deb http://download.skype.com/linux/repos/debian/ stable non-free</pre>
</blockquote>
<p><em>Fonte: </em><a href="http://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html#id292205">debian-amd64-howto</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2008/03/11/usando-um-chroot-para-rodar-aplicacoes-32bit-em-uma-instalacao-amd64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando TuxGuitar no Debian Lenny/Sid</title>
		<link>http://blog.diovani.com/2008/01/17/instalando-tuxguitar-no-debian-lennysid/</link>
		<comments>http://blog.diovani.com/2008/01/17/instalando-tuxguitar-no-debian-lennysid/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 20:44:08 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[audio]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[multimídia]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2008/01/17/instalando-tuxguitar-no-debian-lennysid/</guid>
		<description><![CDATA[Se alguém tentou instalar e usar o TuxGuitar no Debian Lenny ou Sid, conforme postei aqui, deve ter tido uma frustrante decepção. Acontece que o pacote tuxguitar disponível para o Debian (Lenny e Sid, apenas)está com uma dependência não satisfeita, trata-se do pacote libswt-gtk-3.2-java, que não é mais disponível para estas versões do Debian.
Acontece que [...]]]></description>
			<content:encoded><![CDATA[<p>Se alguém tentou instalar e usar o TuxGuitar no Debian Lenny ou Sid, conforme postei <a href="http://blog.diovani.com/2007/10/27/tuxguitar-uma-otima-alternativa-ao-guitar-pro-no-linux/">aqui</a>, deve ter tido uma frustrante decepção. Acontece que o pacote tuxguitar disponível para o Debian (Lenny e Sid, apenas)está com uma dependência não satisfeita, trata-se do pacote libswt-gtk-3.2-java, que não é mais disponível para estas versões do Debian.</p>
<p>Acontece que uma versão mais recente, a  libswt-gtk-3.3-java, está disponível, assim, podemos usá-la para instalar o tuxguitar sem problemas, enganando o apt, fazendo-o pensar que o sistema tem o pacote libswt-gtk-3.2-java instalado.</p>
<p>Antes de tudo instale o pacote equivs. Este é um programa que permite ao usuário criar pacotes viruais que podem ser usados para satizfazer dependencias em falta.</p>
<blockquote><p># aptitude install equiv</p></blockquote>
<p>Após instalar o pacote, vc precisará criar um arquivo de controle para o equiv criar o pacote necessário para o caso da libswt-gtk-3.2-java, crie um arquivo como o a seguir, e salve-o com o nome de <strong>libswt-gtk-3.2-java-dummy</strong>:</p>
<blockquote><p>Section: libs<br />
Priority: optional<br />
Package: libswt-gtk-3.2-java-dummy<br />
Depends: libswt-gtk-3.3-java<br />
Provides: libswt-gtk-3.2-java<br />
Description: Dummy Package to libswt-gtk-3.2-java<br />
Depends on the installations of libswt-gtk-3.3-java to make the system thinks that libswt-gtk-3.2-java is installed<br />
.<br />
This package was build with Equivs to allow the installations of the tuxguitar<br />
package</p></blockquote>
<p>Após criar o arquivo você precisará instalar a versão mais recente da lib (libswt-gtk-3.3-java), e criar o pacote virtual com o equivs e instalá-lo. Para isso execute os comandos a seguir:</p>
<blockquote><p><strong>## cria o arquivo .deb para o pacote virtual</strong><br />
# equivs-build libswt-gtk-3.2-java-dummy</p>
<p><strong>## instala a biblioteca nova<br />
</strong> # aptitude install libswt-gtk-3.3-java</p>
<p><strong>## instala o pacote virtual criado</strong><br />
#  dpkg -i libswt-gtk-3.2-java-dummy_1.0_all.deb</p></blockquote>
<p>Após isso você poderá instalar o tuxguitar (<strong># aptitude install tuxguitar</strong>)  normalmente. Lembre-se que todos os comandos acima devem ser executados como root.</p>
<p>Esta é apenas uma solução provisória, até que o problema de dependência do pacote seja resolvido pois, assim que estiver, o recomendado é atualizar o tuxguitar e remover o paco virtual.</p>
<p>Boas Composições!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2008/01/17/instalando-tuxguitar-no-debian-lennysid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TuxGuitar! Uma ótima alternativa ao Guitar Pro no Linux</title>
		<link>http://blog.diovani.com/2007/10/27/tuxguitar-uma-otima-alternativa-ao-guitar-pro-no-linux/</link>
		<comments>http://blog.diovani.com/2007/10/27/tuxguitar-uma-otima-alternativa-ao-guitar-pro-no-linux/#comments</comments>
		<pubDate>Sat, 27 Oct 2007 19:46:38 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[audio]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[multimídia]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2007/10/27/tuxguitar-uma-otima-alternativa-ao-guitar-pro-no-linux/</guid>
		<description><![CDATA[Como Geek e Guitarrista, passei muito tempo procurando um jeito de usar o Guitar Pro, um ótimo editor de tablaturas, ou uma alternativa a este, no Linux.
Exitem alguns projetos queservem muito bem, como o Kguitar (editor de tablaturas para o KDE) , e o Dguitar (uma boa alternativa em Java). Ambos são muito bons, mas [...]]]></description>
			<content:encoded><![CDATA[<p>Como Geek e Guitarrista, passei muito tempo procurando um jeito de usar o Guitar Pro, um ótimo editor de tablaturas, ou uma alternativa a este, no Linux.</p>
<p>Exitem alguns projetos queservem muito bem, como o <a href="http://kguitar.sourceforge.net/">Kguitar</a> (editor de tablaturas para o KDE) , e o <a href="http://dguitar.sourceforge.net/">Dguitar</a> (uma boa alternativa em Java). Ambos são muito bons, mas por alguma razão, o Kguitar nunca funcionou para mim (com algumas falhas de segmentação e uma aversão a usar meu timidity como saída para midi), além de ter um grande problema, ser uma aplicação para o KDE (nada demais para quem usa KDE, mas um estorvo para quem não usa). Já o Dguitar funcionava muito bem, mas apenas para reproduzir os arquivos do Guitar Pro.</p>
<p>Outra alternativa, como pode-se ver em vários tutorias na net, é instalar o Guitar Pro no Wine, e o Timidity como um driver alsa para reproduzir as músicas. Acontece que, a menos que se disponha de um ótimo processador (ou dois) , fica impossível reprodizir as músicas nele (Wine + Guitar Pro + Timidity + Alsa = processos demais pra reproduzir em sincronia), isso sem contar na licença do Guitar Pro.</p>
<p>Hoje eu, felizmente, encontrei uma ótima alternativa, já disponível para Debian Lenny. Trata-se do <a href="http://www.tuxguitar.com.ar/">TuxGuitar</a>. Indiferente a referência ao nosso mascote, o programa é realmente ótimo, feito em Java, com interface GTK2, e todas as principais funções do Guitar Pro (digo principais, porque nunca explorei mais do que três ou quatro delas). Ele usa os mesmos sintetizadores do Dguitar e, por incrível que pareça, é até mais leve que este último.</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2007/10/screenshot_tuxguitar.jpg" title="screenshot_tuxguitar.jpg"><img src="http://blog.diovani.com/wp-content/uploads/2007/10/screenshot_tuxguitar.thumbnail.jpg" alt="screenshot_tuxguitar.jpg" /></a></p>
<p>Para instalá-lo no Debian, acerte seu /etc/apt/sources.list para usar a versão testing ou unstable, (ou lenny ou sid)  e execute <strong>#apt-get install tuxguitar</strong>. Para outras distribuições (e até para Windows) basta ver as instruções ou pacotes na página do programa: <a href="http://www.tuxguitar.com.ar">http://www.tuxguitar.com.ar</a>.</p>
<p>Boas Conposições!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2007/10/27/tuxguitar-uma-otima-alternativa-ao-guitar-pro-no-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
