<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">

<channel>
	<title>Funções ZZ</title>
	
	<link>http://aurelio.wordpress.com</link>
	<description>Tudo sobre as ZZ: versões novas, dicas e bastidores!</description>
	<lastBuildDate>Fri, 30 Oct 2009 19:52:53 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain="aurelio.wordpress.com" port="80" path="/?rsscloud=notify" registerProcedure="" protocol="http-post" />
<image><link>http://funcoeszz.net/</link><url>http://aurelio.net/img/icon128/zz.png</url><title>zzlogo</title></image>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/FuncoesZZ" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>A Saga do Horário de Verão (Funções ZZ versão 8.10)</title>
		<link>http://aurelio.wordpress.com/2008/10/31/funcoes-zz-versao-810/</link>
		<comments>http://aurelio.wordpress.com/2008/10/31/funcoes-zz-versao-810/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 13:13:33 +0000</pubDate>
		<dc:creator>Aurélio</dc:creator>
				<category><![CDATA[Funções ZZ]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://aurelio.wordpress.com/?p=613</guid>
		<description><![CDATA[— Olha&#8230; Eu juro que eu só queria fazer a zzhorariodeverao.
— Ahn?
— É que agora temos uma regra fixa para as datas de início e fim do horário de verão: 3º domingo de outubro e fevereiro.
— Ah, que fácil!
— É, mas tem uma pegadinha: quando o 3º domingo de fevereiro for Carnaval, então o término [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=613&subd=aurelio&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>— Olha&#8230; Eu juro que eu só queria fazer a <strong>zzhorariodeverao</strong>.<br />
— Ahn?<br />
— É que agora temos uma regra fixa para as datas de início e fim do horário de verão: 3º domingo de outubro e fevereiro.<br />
— Ah, que fácil!<br />
— É, mas tem uma pegadinha: quando o 3º domingo de fevereiro for Carnaval, então o término do horário de verão é adiado para o próximo domingo.<br />
— Que mané.<br />
— Pois é.<br />
— Mas daí você fez a zzhorariodeverao então?<br />
— Fiz.<br />
— Foi fácil?<br />
— Foi.<br />
— Legal.<br />
— Difícil foi fazer as outras três&#8230;<br />
— Mas hein?<br />
— É que pra saber em que data cai o 3º domingo de um mês qualquer, primeiro foi preciso fazer a <strong>zzdiadasemana</strong>.<br />
— Você dá a data e ela te retorna em qual dia da semana vai cair?<br />
— Isso.<br />
— Bacana, precisei disso um dia&#8230;<br />
— Eu também, bobeira não ter feito antes.<br />
— E o lance do Carnaval?<br />
— É, aí que complicou&#8230;<br />
— Dá pra saber quando vai cair o Carnaval de qualquer ano?<br />
— Dá. É só você saber quando vai ser a Páscoa. O Carnaval é exatamente 47 dias antes.<br />
— Ah, que fácil! Aí é só usar a zzdata para fazer: zzdata $pascoa &#8211; 47<br />
— Ahan&#8230; (espera pela pergunta inevitável)<br />
— Ei! E como saber a data da Páscoa se ela também muda todo ano???<br />
— Pois é, aí que complicou&#8230;<br />
— Tem que consultar o site do Vaticano? :)<br />
— Não :)<br />
— Ufa!<br />
— Descobri que dá pra calcular a data, usando uma fórmula maluca cheia de letrinhas.<br />
— Então foi preciso fazer a <strong>zzpascoa</strong> para poder ter a <strong>zzcarnaval</strong>, é isso?<br />
— Siiiiiiiiiiiim<br />
— E a zzcarnaval você só fez por causa da exceção da regra do horário de verão?<br />
— Siiiiiiiiiiiim<br />
— Malditas exceções!<br />
— Malditas exceções!</p>
<p style="text-align:center;"><em><span style="color:#999999;">— zZZzzzZzzZZzZzZZzZzzzZZz —</span></em></p>
<p>Exemplos para este ano:</p>
<pre>$ <strong>zzcarnaval</strong>
05/02/2008
$ <strong>zzpascoa</strong>
23/03/2008
$ <strong>zzhorariodeverao</strong>
19/10/2008
15/02/2009
$</pre>
<p>Exemplos para o ano que vem:</p>
<pre>$ <strong>zzcarnaval 2009</strong>
24/02/2009
$ <strong>zzpascoa 2009</strong>
12/04/2009
$ <strong>zzhorariodeverao 2009</strong>
18/10/2009
21/02/2010
$</pre>
<p>Que dia da semana é hoje?</p>
<pre>$ <strong>zzdiadasemana</strong>
sexta-feira</pre>
<p>Que dia da semana que eu nasci?</p>
<pre>$ <strong>zzdiadasemana 07/10/1977</strong>
sexta-feira</pre>
<p>Que dia da semana vai ser daqui 30 dias?</p>
<pre>$ <strong>zzdiadasemana $(zzdata hoje + 30)</strong>
domingo</pre>
<p style="text-align:center;"><em><span style="color:#999999;">— zZZzzzZzzZZzZzZZzZzzzZZz —</span></em></p>
<p> A zzajuda ganhou uma opção nova para listar todas as funções, com suas descrições. Agora ficou mais fácil encontrar o que você procura!</p>
<pre> $ <strong>zzajuda --lista</strong>
zzajuda         Mostra uma tela de ajuda com explicação e sintaxe de todas as funções
zzalfabeto      Central de alfabetos (romano, militar, radiotelefônico, OTAN, RAF, etc)
zzansi2html     Converte para HTML o texto colorido do terminal (códigos ANSI)
zzarrumanome    Renomeia arquivos do diretório atual, arrumando nomes estranhos
zzascii         Mostra a tabela ASCII com todos os caracteres imprimíveis (32-126,161-255)
zzbeep          Aguarda N minutos e dispara uma sirene usando o 'speaker'
...</pre>
<p>Esqueceu-se como usa aquela função, ou quer aprender a usar várias de uma só vez? Então a zzajuda tem mais uma opção nova para o seu deleite visual:</p>
<pre>$ <strong>zzajuda --uso</strong>
zzajuda [--lista|--uso]
zzalfabeto [--TIPO] [palavra]
zzansi2html [arquivo]
zzarrumanome [-n] [-d] [-r] arquivo(s)
zzascii [colunas] [largura]
zzbeep [números]
...</pre>
<p style="text-align:center;"><em><span style="color:#999999;">— zZZzzzZzzZZzZzZZzZzzzZZz —</span></em></p>
<p>Tem coisas que só as <a href="http://funcoeszz.net">Funções ZZ</a> fazem para você :)</p>
<p>Tá esperando o que?<br />
<a href="http://funcoeszz.net/download.html"> Vai lá baixar a versão nova agora!</a></p>
<blockquote><p>Também tem uma GRANDE novidade que é o diretório especial para funções extras, o $ZZEXTRADIR, mas sobre isso eu comento em um texto futuro. É importante demais para ser apenas uma nota de rodapé :)</p></blockquote>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aurelio.wordpress.com/613/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aurelio.wordpress.com/613/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aurelio.wordpress.com/613/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aurelio.wordpress.com/613/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aurelio.wordpress.com/613/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aurelio.wordpress.com/613/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aurelio.wordpress.com/613/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aurelio.wordpress.com/613/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aurelio.wordpress.com/613/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aurelio.wordpress.com/613/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=613&subd=aurelio&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aurelio.wordpress.com/2008/10/31/funcoes-zz-versao-810/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e583bca48acb877efd4a29229bf7927f?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=X" medium="image">
			<media:title type="html">verde</media:title>
		</media:content>
	</item>
		<item>
		<title>Recados da Paróquia ZZ</title>
		<link>http://aurelio.wordpress.com/2008/10/02/recados-da-paroquia-zz/</link>
		<comments>http://aurelio.wordpress.com/2008/10/02/recados-da-paroquia-zz/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 18:58:20 +0000</pubDate>
		<dc:creator>Aurélio</dc:creator>
				<category><![CDATA[Funções ZZ]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://aurelio.wordpress.com/?p=571</guid>
		<description><![CDATA[Irmãos da comunidade ZZ, venho ao seu encontro para espalhar as boas novas que correram os sagrados campos da tela preta nos últimos tempos.

Reforma: O primeiro passo você já sabe: o código das Funções ZZ passou por uma reforma geral e hoje é limpo, alinhado e recheado de comentários explicativos. Leia-o para aprender mais sobre [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=571&subd=aurelio&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Irmãos da comunidade ZZ, venho ao seu encontro para espalhar as boas novas que correram os sagrados campos da tela preta nos últimos tempos.</p>
<ul>
<li><strong>Reforma:</strong> O primeiro passo você já sabe: <a href="http://aurelio.wordpress.com/2008/03/05/a-nova-geracao-das-funcoes-zz/">o código das Funções ZZ passou por uma reforma geral</a> e hoje é limpo, alinhado e recheado de comentários explicativos. <a href="http://code.google.com/p/funcoeszz/source/browse/trunk/funcoeszz">Leia-o</a> para aprender mais sobre shell script (Bash)!<br />
 </li>
<li><strong>Google Code:</strong> O código agora está hospedado no excelente <a href="http://code.google.com">Google Code</a> (programadores, recomendo!). Com isso ganhamos algumas coisinhas bacanas, que veremos à seguir.<br />
 </li>
<li><strong>SVN:</strong> O código foi colocado no <a href="http://code.google.com/p/funcoeszz/source/checkout">SVN do Google Code</a>, assim o desenvolvimento das ZZ migrou do <a href="http://www.codinghorror.com/blog/archives/001134.html">modelo caverninha-my-precious</a> para a exposição total. Agora <a href="http://code.google.com/p/funcoeszz/source/list">cada mudança</a> é imediatamente disponibilizada à comunidade de usuários durante as entressafras das versões oficiais.<br />
 </li>
<li><strong>Feed SVN:</strong> Você pode assinar o <a href="http://code.google.com/feeds/p/funcoeszz/svnchanges/basic">Feed do SVN das ZZ</a> (que sopa de letrinhas!) e acompanhar em tempo real todas as mudanças. Tem curiosidade para saber como é o desenvolvimento de um programa? Quer aprender mais sobre shell? Acompanhe o <a href="http://code.google.com/feeds/p/funcoeszz/svnchanges/basic">feed</a>!<br />
 </li>
<li><strong>Feed de notícias:</strong> Se você só quer acompanhar os lançamentos de versões novas e novidades do projeto, assine o <a href="http://feeds.feedburner.com/FuncoesZZ">Feed das Funções ZZ</a>. Se você já assina o <a href="http://feeds.feedburner.com/AurelioJargas">feed daqui do blog</a>, já está garantido(a).<br />
 </li>
<li><strong>Downloads:</strong> Outra vantagem do Google Code é o <a href="http://code.google.com/p/funcoeszz/downloads/list?can=1">contador de downloads</a>. Agora é possível ter uma idéia de quantas pessoas baixam as funções. Estes números também são importantes para saber quantos usuários ainda dependem da versão ISO-8859-1 em vez da padrão UTF-8.<br />
 </li>
<li><strong>Debian:</strong> O colaborador <a href="http://blog.edermarques.net/meu-primeiro-pacote-debian-oficial-funcoeszz-via-aptitude/">Eder Marques</a> fez um <a href="http://packages.debian.org/funcoeszz">pacote Debian para as funções</a>. Se você não sabe o que isso significa, é porque você não precisa desse pacote, então fique sossegado(a).<br />
 </li>
<li><strong>Zsh:</strong> O colaborador <a href="http://www.gallois.com.br">gallois</a> fez um <a href="http://gallois.com.br/inutilidades/zz_zsh.sh">script para instalar as Funções ZZ no shell Zsh.</a> Se você usa o Zsh em vez do Bash, aproveite! Novamente, se você não sabe o que Zsh significa, fique tranqüilo(a) que você não precisa deste script.</li>
</ul>
<p>EOF</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aurelio.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aurelio.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aurelio.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aurelio.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aurelio.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aurelio.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aurelio.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aurelio.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aurelio.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aurelio.wordpress.com/571/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=571&subd=aurelio&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aurelio.wordpress.com/2008/10/02/recados-da-paroquia-zz/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e583bca48acb877efd4a29229bf7927f?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=X" medium="image">
			<media:title type="html">verde</media:title>
		</media:content>
	</item>
		<item>
		<title>Funções ZZ versão 8.9</title>
		<link>http://aurelio.wordpress.com/2008/09/30/funcoes-zz-versao-89/</link>
		<comments>http://aurelio.wordpress.com/2008/09/30/funcoes-zz-versao-89/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 02:55:18 +0000</pubDate>
		<dc:creator>Aurélio</dc:creator>
				<category><![CDATA[Funções ZZ]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://aurelio.wordpress.com/?p=557</guid>
		<description><![CDATA[Último dia do mês, hoje é um dia bom para&#8230;
&#8230;lançar uma versão nova das Funções ZZ, claro!
Esta é a versão 8.9, mas bem poderia ser chamada de &#8220;versão colorida&#8221;, pois traz duas funções novas que lidam com cores.
A primeira é a zzecho, que assim como o comando echo, mostra uma mensagem na tela. Mas não [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=557&subd=aurelio&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Último dia do mês, hoje é um dia bom para&#8230;<br />
&#8230;lançar uma versão nova das <a href="http://funcoeszz.net">Funções ZZ</a>, claro!</p>
<p>Esta é a versão 8.9, mas bem poderia ser chamada de &#8220;versão colorida&#8221;, pois traz duas funções novas que lidam com cores.</p>
<p>A primeira é a <strong>zzecho</strong>, que assim como o comando echo, mostra uma mensagem na tela. Mas não é aquela mensagem cinza sem graça, pois a zzecho pode mostrar texto coloridos, em negrito, com sublinhado e piscando!</p>
<p>Útil para usar em scripts, quando você quiser chamar a atenção do usuário para uma mensagem importante:</p>
<pre>zzecho --pisca --fundo vermelho ATENÇÃO, vou apagar tudo</pre>
<p>Ou a versão econômica:</p>
<pre>zzecho -p -f vermelho ATENÇÃO, vou apagar tudo</pre>
<p>Mas o legal mesmo é ver a função em ação:</p>
<div id="attachment_561" class="wp-caption alignnone" style="width: 473px"><a href="http://funcoeszz.net/zzansi2html/zzecho.html"><img class="size-full wp-image-561 " title="zzecho" src="http://aurelio.files.wordpress.com/2008/09/zzecho.png?w=463&#038;h=283" alt="" width="463" height="283" /></a><p class="wp-caption-text">Clique na imagem para ver a versão em texto, gerada pela zzansi2html.</p></div>
<p> </p>
<p>A segunda função nova á <strong>zzansi2html</strong>. Nome estranho, não? Ela converte textos com códigos ANSI para HTML.</p>
<blockquote><p>Não sabe o que são <a href="http://en.wikipedia.org/wiki/ANSI_escape_code">códigos ANSI</a>? São os bichinhos que fazem o texto ficar colorido, são eles que fazem a mágica na zzecho que acabamos de ver. São como micróbios, você não consegue enxergá-los, mas eles existem :)</p></blockquote>
<p>Com essa função você pode colocar em seu site ou blog a saída completa do terminal, incluindo as cores e atributos (sublinhado, negrito, pisca-pisca). Alguns exemplos bacanas são a saída da zzecho, da zzcores e do comando <code>ls --color</code>.</p>
<pre>zzcores | zzansi2html &gt; <a href="http://funcoeszz.net/zzansi2html/zzcores.html">zzcores.html</a></pre>
<p>Clique no link do exemplo para ver o resultado. Note que isso não é uma imagem, mas sim um texto formatado, que você pode copiar/colar.</p>
<p>Se quiser gravar a saída de vários comandos seguidos, preservando todas as cores, seu prompt joiado e tudo mais, use o comando script:</p>
<pre># Chame o comando 'script' e informe o arquivo
# onde ele deve guardar a saída: ls.ansi.

<strong>script ls.ansi
</strong>
# Agora você está "dentro" do comando script,
# tudo o que você fizer será gravado.

<strong>ls /etc
</strong>
# Para sair e terminar a gravação, use o comando exit

<strong>exit</strong>

# Já "fora" do comando script, converta para HTML

<strong>zzansi2html <a href="http://funcoeszz.net/zzansi2html/ls.ansi">ls.ansi</a></strong><strong> &gt; </strong><strong><a href="http://funcoeszz.net/zzansi2html/ls.html">ls.html</a></strong></pre>
<p>Novamente clique nos links para ver os resultados. Massa né? :)</p>
<blockquote><p>Detalhe nerd: <a href="http://aurelio.wordpress.com/2008/09/16/moedinhas-shell-script-e-emprego/#comment-44649">Estávamos aqui no blog estes dias</a> comentando sobre um futuro livro de <a href="http://aurelio.net/sed">sed</a>&#8230; Sabe o que é mais legal? <a href="http://code.google.com/p/funcoeszz/source/browse/trunk/funcoeszz#992"><strong>A zzansi2html foi feita com um único comando sed</strong></a>. Claro, é um sed macho com trocentos comandos dentro, mas é um sed. Bom para ver que é possível fazer <a href="http://aurelio.net/sed/sokoban/sokoban.sed.html">coisas complicadas</a> com o sedinho :)</p></blockquote>
<p>Tá esperando o quê? Veja <a href="http://funcoeszz.net/changelog.html">a lista completa das novidades</a> e faça o <a href="http://funcoeszz.net/download.html">download da versão 8.9</a>!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aurelio.wordpress.com/557/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aurelio.wordpress.com/557/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aurelio.wordpress.com/557/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aurelio.wordpress.com/557/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aurelio.wordpress.com/557/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aurelio.wordpress.com/557/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aurelio.wordpress.com/557/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aurelio.wordpress.com/557/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aurelio.wordpress.com/557/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aurelio.wordpress.com/557/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=557&subd=aurelio&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aurelio.wordpress.com/2008/09/30/funcoes-zz-versao-89/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e583bca48acb877efd4a29229bf7927f?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=X" medium="image">
			<media:title type="html">verde</media:title>
		</media:content>

		<media:content url="http://aurelio.files.wordpress.com/2008/09/zzecho.png" medium="image">
			<media:title type="html">zzecho</media:title>
		</media:content>
	</item>
		<item>
		<title>Novo ícone-logotipo das Funções ZZ</title>
		<link>http://aurelio.wordpress.com/2008/08/13/novo-icone-logotipo-das-funcoes-zz/</link>
		<comments>http://aurelio.wordpress.com/2008/08/13/novo-icone-logotipo-das-funcoes-zz/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 05:09:54 +0000</pubDate>
		<dc:creator>Aurélio</dc:creator>
				<category><![CDATA[Barbada]]></category>
		<category><![CDATA[Funções ZZ]]></category>
		<category><![CDATA[Site]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Webstandards]]></category>

		<guid isPermaLink="false">http://aurelio.wordpress.com/?p=418</guid>
		<description><![CDATA[Bem pessoal, terminou mais uma barbada aqui do blog. Será que você foi o ganhador o livro amarelão? Vejamos&#8230;
Durante uma semana, 15 pessoas participaram, enviando um total de 34 ícones para as Funções ZZ!
As propostas foram bem variadas, algumas apenas com o ZZ, outras com o nome completo, teve desenho de canivete, de monitor e [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=418&subd=aurelio&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Bem pessoal, terminou mais uma <a href="http://aurelio.wordpress.com/category/barbada/">barbada</a> aqui do blog. Será que você foi o ganhador o <a href="http://piazinho.com.br">livro amarelão</a>? Vejamos&#8230;</p>
<p>Durante uma semana, 15 pessoas participaram, enviando um total de 34 ícones para as Funções ZZ!</p>
<p>As propostas foram bem variadas, algumas apenas com o ZZ, outras com o nome completo, teve desenho de canivete, de monitor e até de um carinha dormindo em seu travesseiro :) Confira quais foram <a href="http://funcoeszz.net/concurso-logo.html">todos os ícones enviados</a>.</p>
<div id="attachment_422" class="wp-caption aligncenter" style="width: 310px"><a href="http://funcoeszz.net/concurso-logo.html"><img class="size-full wp-image-422" src="http://aurelio.files.wordpress.com/2008/08/zzlogo-concurso.jpg?w=300&#038;h=218" alt="Todos os icones que participaram da barbada" width="300" height="218" /></a><p class="wp-caption-text">Todos os ícones que participaram da barbada</p></div>
<p>A escolha não foi fácil, fiquei em dúvida entre cinco finalistas. Então apliquei os ícones no site, sob fundo branco, preto, em vários tamanhos. O quesito flexibilidade contou bastante, pois o ícone precisava escalar desde o tamanho 16&#215;16, para o <a href="http://funcoeszz.net/img/favicon.png">favicon do site</a>, até o 256&#215;256 para o ícone do programa.</p>
<p>O grande vencedor foi&#8230; &#8212; rufos na caixa&#8230; TRRRRRRRRRRR &#8212; o ícone do Leonardo Boiko:</p>
<p><a href="http://funcoeszz.net/logo.html"><img class="aligncenter" src="http://funcoeszz.net/img/logo/zzlogo-pb.png" alt="" width="256" height="256" /></a></p>
<p>Elegante e de uma simplicidade admirável, ele conseguiu resumir a idéia do programa em apenas quatro caracteres, com as chaves representando o conceito de funções no Bash. O toque artístico ficou na escolha da fonte, nos tamanhos e posicionamento dos caracteres. Com a versatilidade de ser identificado em qualquer tamanho, ainda tem a vantagem aceitar qualquer combinação de cores para os seus componentes.</p>
<p><a href="http://funcoeszz.net/logo.html"><img class="aligncenter size-full wp-image-419" src="http://aurelio.files.wordpress.com/2008/08/zzlogo-cores.png?w=350&#038;h=268" alt="" width="350" height="268" /></a></p>
<p>Esta proposta identificou tão bem as funções, que além de ícone, também vai ser o logotipo oficial.</p>
<p>Se você tem um site ou blog, e tem um espacinho sobrando por lá, que tal colocar o novíssimo icone/logo apontando para o site das funções? Assim ganhamos mais usuários e colaboradores! Como o formato é simples e a escolha de cores traz várias possibilidades de combinação, resolvi fazer um <a href="http://funcoeszz.net/logomatico.html">logomático</a>, que é uma pagininha bacana onde você pode montar seu próprio logo na hora. É divertido, <a href="http://funcoeszz.net/logomatico.html">experimente</a>!</p>
<div id="attachment_420" class="wp-caption aligncenter" style="width: 248px"><a href="http://funcoeszz.net/logomatico.html"><img class="size-full wp-image-420" src="http://aurelio.files.wordpress.com/2008/08/logomatico.png?w=238&#038;h=236" alt="Faça seu próprio icone das Funções ZZ!" width="238" height="236" /></a><p class="wp-caption-text">Faça seu próprio ícone das Funções ZZ!</p></div>
<p>Um outro desenho que eu gostei muito, mas que não serviria para ícone por não ser muito escalável, foi o canivete enviado pelo Henrique Araujo. Resolvi aproveitá-lo para ilustrar a <a href="http://funcoeszz.net">página principal do site</a>, assim ela fica mais estilosa. E com isso o Henrique também vai ganhar um exemplar autografado do <a href="http://piazinho.com.br">livro amarelão</a>.</p>
<p><img class="aligncenter" src="http://funcoeszz.net/img/canivete-funcoeszz.png" alt="" width="154" height="135" /></p>
<blockquote><p>Isso mesmo, nessa barbada saíram dois livros rabiscados!</p></blockquote>
<p>Meu MUITO OBRIGADO a todos que participaram! Seus nomes foram colocados na <a href="http://funcoeszz.net/agradecimentos.html">seção de agradecimentos do site</a> e seus trabalhos registrados na <a href="http://funcoeszz.net/concurso-logo.html">página do concurso</a>.</p>
<p>Leonardo e Henrique, parabéns! Vou entrar em contato por e-mail. Mas já aviso que vocês vão ter que esperar alguns dias até o livro novo chegar aqui em casa, para eu poder rabiscar e enviar para vocês. E é <a href="http://aurelio.wordpress.com/category/matinhos/">Matinhos</a>, sabe como é, demora um pouquinho :)</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aurelio.wordpress.com/418/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aurelio.wordpress.com/418/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aurelio.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aurelio.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aurelio.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aurelio.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aurelio.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aurelio.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aurelio.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aurelio.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aurelio.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aurelio.wordpress.com/418/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=418&subd=aurelio&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aurelio.wordpress.com/2008/08/13/novo-icone-logotipo-das-funcoes-zz/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e583bca48acb877efd4a29229bf7927f?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=X" medium="image">
			<media:title type="html">verde</media:title>
		</media:content>

		<media:content url="http://aurelio.files.wordpress.com/2008/08/zzlogo-concurso.jpg" medium="image">
			<media:title type="html">Todos os icones que participaram da barbada</media:title>
		</media:content>

		<media:content url="http://funcoeszz.net/img/logo/zzlogo-pb.png" medium="image" />

		<media:content url="http://aurelio.files.wordpress.com/2008/08/zzlogo-cores.png" medium="image" />

		<media:content url="http://aurelio.files.wordpress.com/2008/08/logomatico.png" medium="image">
			<media:title type="html">Faça seu próprio icone das Funções ZZ!</media:title>
		</media:content>

		<media:content url="http://funcoeszz.net/img/canivete-funcoeszz.png" medium="image" />
	</item>
		<item>
		<title>Funções ZZ: Crie um ícone e ganhe um livro autografado</title>
		<link>http://aurelio.wordpress.com/2008/08/04/funcoes-zz-crie-um-icone-e-ganhe-um-livro-autografado/</link>
		<comments>http://aurelio.wordpress.com/2008/08/04/funcoes-zz-crie-um-icone-e-ganhe-um-livro-autografado/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 19:44:16 +0000</pubDate>
		<dc:creator>Aurélio</dc:creator>
				<category><![CDATA[Barbada]]></category>
		<category><![CDATA[Expressões Regulares]]></category>
		<category><![CDATA[Funções ZZ]]></category>
		<category><![CDATA[Livro]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://aurelio.wordpress.com/?p=395</guid>
		<description><![CDATA[Sei programar, mas não sei desenhar.
Se você sabe desenhar, pode me ajudar.
Preciso de um ícone moderno e joiado para as Funções ZZ.
O ícone atual é muito conservador, e não fica bom em tamanhos menores:
Se você fizer um ícone que eu goste, ganha um exemplar autografado do livro Expressões Regulares &#8211; Uma Abordagem Divertida. Eu mandarei [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=395&subd=aurelio&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Sei programar, mas não sei desenhar.<br />
Se você sabe desenhar, pode me ajudar.</p>
<p>Preciso de um ícone moderno e joiado para as <a href="http://funcoeszz.net">Funções ZZ</a>.</p>
<p>O ícone atual é muito conservador, e não fica bom em tamanhos menores:</p>
<div class="wp-caption aligncenter" style="width: 152px"><img src="http://funcoeszz.net/img/logo/zzlogo-old.png" alt="Logo atual das ZZ" width="142" height="100" /><p class="wp-caption-text">Logo atual das ZZ</p></div>
<p>Se você fizer um ícone que eu goste, ganha um exemplar autografado do livro <a href="http://aurelio.net/er/livro/">Expressões Regulares &#8211; Uma Abordagem Divertida</a>. Eu mandarei o livro para sua casa, sem custo algum.</p>
<p style="text-align:center;"><a href="http://aurelio.net/er/livro/"><img class="size-full wp-image-147 aligncenter" src="http://aurelio.files.wordpress.com/2006/10/regex-capa.jpg?w=185&#038;h=275" alt="" width="185" height="275" /></a></p>
<p>Vamos brincar?</p>
<p>Regras:</p>
<ul>
<li>Mande o ícone para <a href="http://aurelio.net/img/emeio.png">meu e-mail</a> (PNG 256&#215;256), com o assunto &#8220;Icone ZZ&#8221;</li>
<li>Mande quantos ícones quiser</li>
<li>Só escolherei um ícone, ou nenhum (sou chato)</li>
<li>O resultado será anunciado aqui no blog</li>
</ul>
<p>Se o seu ícone for o escolhido:</p>
<ul>
<li>Precisarei do original em formato editável (SVG)</li>
<li>Seu nome aparecerá no <a href="http://funcoeszz.net/equipe.html">site das Funções ZZ</a>, citado como criador(a) do ícone</li>
<li><span style="text-decoration:line-through;">Você abdicará dos seus direitos autorais sobre a imagem (não quero encrenca com advogados)</span><br />
O ícone deverá ser licenciado como <a href="http://creativecommons.org/licenses/by/2.5/br/">Creative Commons Atribuição 2.5 Brasil<br />
</a><a href="http://creativecommons.org/licenses/by/2.5/br/"><img class="aligncenter" src="http://i.creativecommons.org/l/by/2.5/br/88x31.png" alt="" width="88" height="31" /></a> </li>
<li>Você ganhará um exemplar do livro <a href="http://aurelio.net/er/livro/">Expressões Regulares &#8211; Uma Abordagem Divertida</a>, autografado pelo autor</li>
</ul>
<p>Dicas:</p>
<ul>
<li>Não há requisitos de estilo ou cores, sinta-se livre para criar</li>
<li>Pode ser um mascote, pode ser o nome completo (Funções ZZ), pode ser só ZZ</li>
<li>Faça algo sexy! :)</li>
</ul>
<blockquote>
<div><strong><a href="http://aurelio.wordpress.com/2008/08/08/o-piazinho-amarelao-vem-ai/"><img class="alignright size-thumbnail wp-image-413" src="http://aurelio.files.wordpress.com/2008/08/capa-grande-regex2.jpg?w=65&#038;h=96" alt="" width="65" height="96" /></a>Atualização em 08-Agosto-2008:</strong> <a href="http://aurelio.wordpress.com/2008/08/08/o-piazinho-amarelao-vem-ai/">O amarelão vai chegar</a>, então agora o prêmio ficou ainda melhor, pois quem ganhar levará a novíssima 2ª edição! Participe!</div>
</blockquote>
<blockquote>
<div><strong>Atualização em 13-Agosto-2008:</strong> Saiu o resultado do concurso, <a href="/2008/08/13/novo-icone-logotipo-das-funcoes-zz/">confira</a>!</div>
</blockquote>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aurelio.wordpress.com/395/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aurelio.wordpress.com/395/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aurelio.wordpress.com/395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aurelio.wordpress.com/395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aurelio.wordpress.com/395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aurelio.wordpress.com/395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aurelio.wordpress.com/395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aurelio.wordpress.com/395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aurelio.wordpress.com/395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aurelio.wordpress.com/395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aurelio.wordpress.com/395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aurelio.wordpress.com/395/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=395&subd=aurelio&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aurelio.wordpress.com/2008/08/04/funcoes-zz-crie-um-icone-e-ganhe-um-livro-autografado/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e583bca48acb877efd4a29229bf7927f?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=X" medium="image">
			<media:title type="html">verde</media:title>
		</media:content>

		<media:content url="http://funcoeszz.net/img/logo/zzlogo-old.png" medium="image">
			<media:title type="html">Logo atual das ZZ</media:title>
		</media:content>

		<media:content url="http://aurelio.files.wordpress.com/2006/10/regex-capa.jpg" medium="image" />

		<media:content url="http://i.creativecommons.org/l/by/2.5/br/88x31.png" medium="image" />

		<media:content url="http://aurelio.files.wordpress.com/2008/08/capa-grande-regex2.jpg?w=65" medium="image" />
	</item>
		<item>
		<title>Funções ZZ versão 8.7</title>
		<link>http://aurelio.wordpress.com/2008/07/23/funcoes-zz-versao-87/</link>
		<comments>http://aurelio.wordpress.com/2008/07/23/funcoes-zz-versao-87/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 20:37:49 +0000</pubDate>
		<dc:creator>Aurélio</dc:creator>
				<category><![CDATA[Funções ZZ]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://aurelio.wordpress.com/?p=356</guid>
		<description><![CDATA[ΩΩΩ Atenção Nerds ΩΩΩ
Segurem-se na cadeira, pois os próximos dias serão agitados :)
Está saindo do forno mais uma versão das incansáveis Funções ZZ! E pela primeira vez em anos, é uma versão que sai no mês seguinte à anterior. As funções definitivamente saíram do limbo.
A versão anterior contava com 66 funções. Mas esse número não é [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=356&subd=aurelio&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote><p><strong>ΩΩΩ Atenção Nerds ΩΩΩ</strong><br />
Segurem-se na cadeira, pois os próximos dias serão agitados :)</p></blockquote>
<p style="text-align:left;">Está saindo do forno mais uma versão das incansáveis <a href="http://funcoeszz.net">Funções ZZ</a>! E pela primeira vez em anos, é uma versão que sai no mês seguinte à anterior. As funções definitivamente saíram do limbo.</p>
<p style="text-align:left;"><a href="http://aurelio.wordpress.com/2008/06/20/funcoes-zz-versao-86/">A versão anterior</a> contava com 66 funções. Mas esse número não é sexy, o 69 é muito melhor! Então, pisando fundo no acelerador, foram criadas <strong>três</strong> funções novas para chegarmos ao mítico número kamasutresco.</p>
<ul style="text-align:left;">
<li><strong>zzalfabeto:</strong> Central de alfabetos (romano, militar, radiotelefônico, OTAN, RAF, etc)</li>
<li><strong>zzrot13:</strong> Codifica/decodifica um texto utilizando a cifra ROT13</li>
<li><strong>zzrot47:</strong> Codifica/decodifica um texto utilizando a cifra ROT47</li>
</ul>
<p style="text-align:left;">Comecemos pelas duas últimas. <a href="http://pt.wikipedia.org/wiki/Cifra_de_César">Desde os tempos de César</a>, mandar mensagens cifradas era uma necessidade. As letras são trocadas de lugar para esconder textos secretos. Duas cifras simples bastante utilizadas são a <a href="http://pt.wikipedia.org/wiki/ROT13">ROT13</a> e a <a href="http://pt.wikipedia.org/wiki/ROT-47">ROT47</a>. O interessante é que a mesma cifra serve para codificar e para decodificar o texto, veja:</p>
<pre style="text-align:left;">$ <strong>zzrot13</strong> Ataque surpresa ao meio-dia
Ngndhr fhecerfn nb zrvb-qvn

$ <strong>zzrot13</strong> Ngndhr fhecerfn nb zrvb-qvn
Ataque surpresa ao meio-dia</pre>
<p style="text-align:left;">O ROT13 codifica somente as letras do alfabeto (maiúsculas e minúsculas). Se você também precisar codificar números, pontuação e símbolos, utilize o ROT47:</p>
<pre style="text-align:left;">$ <strong>zzrot47</strong> 'Coordenadas:(27S,94W)'
r@@C56?252DiWaf$[hc(X

$ <strong>zzrot47</strong> 'r@@C56?252DiWaf$[hc(X'
Coordenadas:(27S,94W)</pre>
<p style="text-align:left;">Agora você já pode brincar de mandar mensagens secretas para os seus amiguinhos! ;)</p>
<p style="text-align:left;">Mas se isso ainda não satisfizer seus desejos militares, agora você também pode falar aquelas palavras estranhas tipo Alpha, Beta, Charlie, Tango. Basta digitar qual palavra você quer soletrar e escolher qual <a href="http://en.wikipedia.org/wiki/NATO_phonetic_alphabet">alfabeto estileiro</a> você quer usar:</p>
<pre style="text-align:left;">$ <strong>zzalfabeto</strong> --otan cambio
Charlie
Alpha
Mike
Bravo
India
Oscar

$ <strong>zzalfabeto</strong> --royal-navy cambio
Charlie
Apples
Monkey
Butter
Ink
Orange

$ <strong>zzalfabeto</strong> --raf42 cambio
Charlie
Apple
Mother
Beer
In
Orange

$ <strong>zzalfabeto</strong> --portugal cambio
Coimbra
Aveiro
Maria
Bragança
Itália
Ovar</pre>
<p style="text-align:left;">Se você não informar nenhuma palavra, todo o alfabeto escolhido é mostrado na tela. Há vários tipos de alfabeto disponíveis, para satisfazer a todos os gostos:</p>
<table style="text-align:left;" border="0">
<tbody>
<tr>
<th>Opção</th>
<th>Descrição</th>
</tr>
<tr>
<td><code>--fone</code></td>
<td>Alfabeto radiotelefônico internacional</td>
</tr>
<tr>
<td><code>--romano</code></td>
<td>A B C D E F&#8230;</td>
</tr>
<tr>
<td><code>--royal-navy</code></td>
<td>Marinha Real &#8211; Reino Unido, 1914-1918</td>
</tr>
<tr>
<td><code>--signalese</code></td>
<td>Primeira Guerra, 1914-1918</td>
</tr>
<tr>
<td><code>--raf24</code></td>
<td>Força Aérea Real &#8211; Reino Unido, 1924-1942</td>
</tr>
<tr>
<td><code>--raf42</code></td>
<td>Força Aérea Real &#8211; Reino Unido, 1942-1943</td>
</tr>
<tr>
<td><code>--raf</code></td>
<td>Força Aérea Real &#8211; Reino Unido, 1943-1956</td>
</tr>
<tr>
<td><code>--us</code></td>
<td>Alfabeto militar norte-americano, 1941-1956</td>
</tr>
<tr>
<td><code>--portugal</code></td>
<td>Lugares de Portugal</td>
</tr>
<tr>
<td><code>--names</code></td>
<td>Nomes de pessoas, em inglês</td>
</tr>
<tr>
<td><code>--lapd</code></td>
<td>Polícia de Los Angeles (EUA)</td>
</tr>
</tbody>
</table>
<p style="text-align:left;">Uma melhoria importante desta versão das ZZ é que foi criada uma &#8220;rotina automática de conversão da codificação em tempo real&#8221;. Ei, isso soa bonito, não? Tá, é um iconv&#8230; O que importa é que acabaram os problemas com os acentos em várias funções, tanto em sistemas ISO-8859-1 (latin-1) quanto UTF-8. Ainda não entendeu? Eu explico: os acentos vão aparecer, tenha fé.</p>
<p style="text-align:left;">Ah, sim. Também houve correções de probleminhas em algumas funções. Mas isso é chato, nem vou comentar aqui. Todas as mudanças estão descritas lá no <a href="http://funcoeszz.net/changelog.html">changelog</a>.</p>
<p style="text-align:left;">Agora é contigo: <a href="http://funcoeszz.net/download.html">faça o download</a> e use!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aurelio.wordpress.com/356/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aurelio.wordpress.com/356/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aurelio.wordpress.com/356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aurelio.wordpress.com/356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aurelio.wordpress.com/356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aurelio.wordpress.com/356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aurelio.wordpress.com/356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aurelio.wordpress.com/356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aurelio.wordpress.com/356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aurelio.wordpress.com/356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aurelio.wordpress.com/356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aurelio.wordpress.com/356/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=356&subd=aurelio&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aurelio.wordpress.com/2008/07/23/funcoes-zz-versao-87/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e583bca48acb877efd4a29229bf7927f?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=X" medium="image">
			<media:title type="html">verde</media:title>
		</media:content>
	</item>
		<item>
		<title>Funções ZZ versão 8.6</title>
		<link>http://aurelio.wordpress.com/2008/06/20/funcoes-zz-versao-86/</link>
		<comments>http://aurelio.wordpress.com/2008/06/20/funcoes-zz-versao-86/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:10:46 +0000</pubDate>
		<dc:creator>Aurélio</dc:creator>
				<category><![CDATA[Funções ZZ]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://aurelio.wordpress.com/?p=335</guid>
		<description><![CDATA[Já passaram três meses desde o lançamento da mega ultra hiper reforma geral das Funções ZZ. A faxina deu trabalho, mas o resultado compensou:

Foram mais de 2.000 downloads das nossas singelas ferramentas de linha de comando.
Com o código limpo e comentado, mais pessoas puderam estudá-lo e compreendê-lo, resultando em mais contribuições de usuários.
Com duas versões [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=335&subd=aurelio&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Já passaram três meses desde o <a href="/2008/03/05/a-nova-geracao-das-funcoes-zz/">lançamento da mega ultra hiper reforma geral das Funções ZZ</a>. A faxina deu trabalho, mas o resultado compensou:</p>
<ul>
<li>Foram <a href="http://code.google.com/p/funcoeszz/downloads/list">mais de 2.000 downloads</a> das nossas singelas ferramentas de linha de comando.</li>
<li>Com o <a href="http://code.google.com/p/funcoeszz/source/browse/trunk/funcoeszz">código limpo e comentado</a>, mais pessoas puderam estudá-lo e compreendê-lo, resultando em mais contribuições de usuários.</li>
<li>Com duas versões distintas (<a href="http://funcoeszz.net/faq.html#utf-vs-iso">uma para sistemas UTF-8 e outra para ISO-8859-1</a>), acabaram-se os problemas com a acentuação.</li>
</ul>
<p>Agora que a manutenção ficou facilitada, é menos complicado lançar uma versão nova. Note que é &#8220;menos complicado&#8221; e não &#8220;fácil&#8221; :)</p>
<p>Esse evento mágico ocorrerá em intervalos menores do que a média atual vergonhosa de uma-versão-por-ano&#8230;</p>
<p>Por falar nisso, está saindo do forno o mais recente lançamento das funções, a <a href="http://funcoeszz.net/download.html">versão 8.6</a> (ano 2008, mês de Junho — já tinha percebido esse padrão?), <a href="http://funcoeszz.net/changelog.html">cheia de novidades</a>:</p>
<ul>
<li>Várias melhorias de <strong>compatibilidade com o Solaris</strong>. Se você usa esse sistema e algumas funções estavam problemáticas, atualize agora e seja feliz!</li>
<li>Várias funções receberam <strong>melhorias</strong>: zzcalcula, zzcpf, zzdicportugues, zzfoneletra, zzlinha, zzsigla, zzwikipedia.</li>
<li>Algumas funções tiveram <strong>problemas corrigidos</strong>: zzbabelfish, zzsecurity, zzss.</li>
<li><strong>Função nova zzshuffle</strong>, para desordenar as linhas de um texto. É o contrário do comando sort. Enquanto ele arruma, essa função bagunça :)
<pre>$ <strong>cat texto.txt</strong>
1º primeiro
2º segundo
3º terceiro
4º quarto
5º quinto
$ <strong>cat texto.txt | zzshuffle</strong>
1º primeiro
3º terceiro
2º segundo
5º quinto
4º quarto
$ <strong>cat texto.txt | zzshuffle</strong>
3º terceiro
2º segundo
5º quinto
1º primeiro
4º quarto
$ <strong>zzshuffle texto.txt</strong>
2º segundo
4º quarto
3º terceiro
1º primeiro
5º quinto
$</pre>
</li>
</ul>
<p>E aí, gostou?<br />
Então <a href="http://funcoeszz.net/download.html">vá correndo baixar a versão nova 8.6 das Funções ZZ</a>!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aurelio.wordpress.com/335/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aurelio.wordpress.com/335/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aurelio.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aurelio.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aurelio.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aurelio.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aurelio.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aurelio.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aurelio.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aurelio.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aurelio.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aurelio.wordpress.com/335/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=335&subd=aurelio&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aurelio.wordpress.com/2008/06/20/funcoes-zz-versao-86/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e583bca48acb877efd4a29229bf7927f?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=X" medium="image">
			<media:title type="html">verde</media:title>
		</media:content>
	</item>
		<item>
		<title>A nova geração das Funções ZZ</title>
		<link>http://aurelio.wordpress.com/2008/03/05/a-nova-geracao-das-funcoes-zz/</link>
		<comments>http://aurelio.wordpress.com/2008/03/05/a-nova-geracao-das-funcoes-zz/#comments</comments>
		<pubDate>Wed, 05 Mar 2008 15:44:03 +0000</pubDate>
		<dc:creator>Aurélio</dc:creator>
				<category><![CDATA[Funções ZZ]]></category>
		<category><![CDATA[Livro]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://aurelio.wordpress.com/?p=307</guid>
		<description><![CDATA[Sabe as Funções ZZ? É um programinha que criei em fevereiro de 2000. Ele faz um monte de coisas, como gerar senhas, gerar e validar CPF/CNPJ, buscar notícias na Internet, obter o resultado da Mega-Sena, consultar a Wikipédia, pesquisar no Google, traduzir textos, &#8230; Enfim. Faz um monte de coisas :)
Mês passado este programa completou [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=307&subd=aurelio&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Sabe as <a href="http://funcoeszz.net">Funções ZZ</a>? É um programinha que criei em fevereiro de 2000. Ele faz um monte de coisas, como gerar senhas, gerar e validar CPF/CNPJ, buscar notícias na Internet, obter o resultado da Mega-Sena, consultar a Wikipédia, pesquisar no Google, traduzir textos, &#8230; Enfim. <a href="http://funcoeszz.net/todas.html">Faz um monte de coisas</a> :)</p>
<p>Mês passado este programa completou oito anos de existência. Oito anos&#8230; Nem eu acredito. É, estou ficando velho&#8230;</p>
<p>Preocupações senis à parte, as funções resistiram bravamente à obsolescência, durante tantos anos, por causa dos usuários. Se poucas pessoas o utilizassem, este programa já teria sido aposentado. Mas como há bastante usuários ativos que escrevem agradecendo, dando idéias e apontando problemas, isso é um incentivo para continuar.</p>
<p>Mesmo assim, não é fácil. Dá muito trabalho manter tudo atualizado e funcionando, pois são mais de 60 funções (miniprogramas) diferentes para cuidar. O <a href="http://thobias.org">Thobias</a> entrou em 2003 para me ajudar, mas mesmo programando em dupla, é uma carga pesada. Com uma média vergonhosa de uma versão nova por ano, <a href="/2006/11/14/zz-ao-vivo-um-concerto-de-1010-dedos/">2006</a> e <a href="/2007/07/17/funcoes-zz-versao-77/">2007</a> passaram lentos para as Funções ZZ.</p>
<p>Grande parte dessa dificuldade na manutenção deve-se a uma &#8220;brilhante&#8221; idéia deste ser que vos escreve. Desde o início, resolvi fazer do código-fonte algo, digamos, compacto. Veja um exemplo:</p>
<pre>zztrocaarquivos(){ zzzz -z $1 zztrocaarquivos &amp;&amp; return
[ "$2" ] || { echo 'uso: zztrocaarquivos arquivo1 arquivo2'; return; }
local at="$ZZTMP.$$"; cat "$2" &gt; $at; cat "$1" &gt; "$2"; cat "$at" &gt; "$1"
rm $at; echo "feito: $1 &lt;-&gt; $2"
}</pre>
<p>A função zztrocaarquivos serve para trocar dois arquivos de lugar. Mas eu não precisava dizer, pois isso está claro ali no código-fonte. O que, não entendeu nada? Nem eu :)</p>
<p>Agora imagine mais de 60 monstrinhos do naipe desse, só que maiores e mais complexos. Assim fica fácil perceber o quão trabalhoso era fazer qualquer alteração no código. Era preciso atenção tripla para encontrar exatamente onde e o quê alterar.</p>
<p>Percebemos tarde que isso era um problema. Eu explico. Existe uma época na vida do programador, quando ele ainda é um aprendiz-<a href="http://pt.starwars.wikia.com/wiki/Padawan">padawan</a>, em que códigos feios, grudados e incompreensíveis são &#8220;legais&#8221;. Há um prazer narcisista quando alguém olha seu código e diz que não entendeu nada. Você se sente fodão. Felizmente essa fase passa :)</p>
<p>Mas reconhecer o problema não era suficiente, pois o número exagerado de funções tornava a tarefa de &#8220;limpar a casa&#8221; algo muito trabalhoso. Era mais fácil continuar com o código porco do que arrumar mais de 60 funções. E assim ficaria, <a href="http://pt.wikipedia.org/wiki/Ad_infinitum">ad infinitum</a>.</p>
<p>Entra o <a href="http://www.shellscript.com.br">livro de shell</a> na história.</p>
<p>Estava eu lá por Julho de 2007 escrevendo o mítico livro, argumentando que um código profissional deve ser bem alinhado, limpo, bonito e comentado, para facilitar sua manutenção.</p>
<blockquote><p>Você já percebeu o que vai acontecer né? :)</p></blockquote>
<p>De repente, caiu a ficha. Lembrei das ZZ e comecei a sentir vergonha. Que moral eu tenho para falar em código bonito se meu programa mais conhecido pelos shelleiros tem um <a href="http://funcoeszz.net/passado/funcoeszz-7.7">código sopa-de-letrinhas</a>? Casa de ferreiro&#8230;</p>
<p>Fui obrigado a resolver de vez o problema. Parei a escrita do livro e fiquei vários dias trabalhando no código das funções, reformatando, alinhando, colocando comentários, melhorando os nomes de variáveis, trocando algoritmos enigmáticos por versões simplificadas. Enfim, aquela reforma geral bonita de ver, de desmontar o jipe até os chassis, não sobrando nenhum parafuso no lugar.</p>
<p>Veja como ficou a zztrocaarquivos depois da reforma:</p>
<pre>zztrocaarquivos ()
{
	zzzz -h trocaarquivos $1 &amp;&amp; return

	# Um terceiro arquivo é usado para fazer a troca
	local tmp="$ZZTMP.trocaarquivos.$$"

	# Verificação dos parâmetros
	[ "$#" -eq 2 ] || { zztool uso trocaarquivos; return; }

	# Verifica se os arquivos existem
	zztool arquivo_legivel "$1" || return
	zztool arquivo_legivel "$2" || return

	# Tiro no pé? Não, obrigado
	[ "$1" = "$2" ] &amp;&amp; return

	# A dança das cadeiras
	cat "$2"   &gt; "$tmp"
	cat "$1"   &gt; "$2"
	cat "$tmp" &gt; "$1"

	# E foi
	rm "$tmp"
	echo "Feito: $1 &lt;-&gt; $2"
}</pre>
<p>Volte um pouco o texto e veja a versão antiga. Não tem nem como comparar, né?</p>
<p>A versão nova está fácil de ler, entender e alterar. Cada trecho está claramente identificado e separado dos demais. Comentários em português esclarecem o código em shell. Se der algum problema, será fácil encontrar o ponto certo para alterar.</p>
<p>Ainda teve outra vantagem: vários problemas (bugs) com as funções apareceram durante o processo. Eram exceções que estavam escondidas no código feio, difíceis de perceber, mas na limpeza apareceram e puderam ser corrigidos. Código limpo é outro nível. Agora eu aprendi, tá? :)</p>
<blockquote><p>Eu não devia contar para não estragar a surpresa, mas não me agüento&#8230; Outro benefício dessa reforma foi que, agora com o código legível, é possível entender como fazer algumas tarefas avançadas em shell script. A experiência leva ao aprimoramento, então há muitas pérolas por ali. Não confundir com <a href="http://aurelio.net/doc/misc/eu_odeio_perl.txt">perl</a>. Então, há um capítulo inteiro do <a href="http://www.shellscript.com.br">livro de shell</a> dedicado a esmiuçar estas pérolas do código das ZZ. A mágica foi explicada :)</p></blockquote>
<p>Já que o código não é mais intimidador, esperamos também receber mais contribuições de outros programadores. Se você encontrou algum problema ou quer uma opção nova, que tal dar uma olhadinha no código? Ficou mais fácil modificar as funções. Só não se esqueça de nos enviar as melhorias para que todos os usuários possam usufruir delas!</p>
<p>E último, porém não menos importante, agora o código das funções também é uma excelente fonte de estudo para quem quer aprender <a href="http://aurelio.net/shell">shell script</a>. Se um exemplo vale mais do que mil man pages, ali você tem dezenas de miniprogramas prontos para serem estudados e dominados. Curte shell? Então não deixe de conferir a <a href="http://funcoeszz.net/funcoeszz">versão nova 8.3 das Funções ZZ</a>!</p>
<p>Este lançamento marca uma nova fase das funções. Além do código refeito, outras novidades marcantes são:</p>
<ul>
<li> <strong>Migração definitiva para a codificação UTF-8.</strong> Somos conservadores e esperamos bastante tempo para abandonar o bom e velho ISO-8859-1, mas agora foi. Porém, ainda disponibilizamos uma versão especial para quem tem sistemas mais antigos, para não deixar ninguém na mão.</li>
<li><strong>Funcionamento garantido.</strong> Foi criada uma suíte de testes automatizada que conta com 587 verificações, fazendo um controle de qualidade rigoroso nas funções. Uma <a href="http://funcoeszz.net/equipe.html">equipe de voluntários</a> roda estes testes em diversos sistemas, ajudando a encontrar e resolver problemas. As funções que não puderam ser arrumadas foram removidas, para evitar a frustração do usuário.</li>
<li>Há duas funções novas. A <strong>zzbyte</strong> serve para fazer conversões entre grandezas de bits, na escala de byte até yota. Quantos bytes têm em 2 mega? São 2097152. A <strong>zztool</strong> é uma miniferramenta que serve para validação de textos e arquivos. Por exemplo, &#8220;zztool testa_ip&#8221; verifica se o texto informado é um número IP.</li>
<li> Há uma <a href="http://funcoeszz.net/changelog.html">loooooooonga lista de melhorias</a>, se você quiser saber exatamente o que mudou desde a última versão. Mas prepare-se, pois cansa :)</li>
</ul>
<p>Para completar o pacote de grandes mudanças, o <a href="http://funcoeszz.net">site das Funções ZZ</a> também foi reformado, contando agora com um formato mais intuitivo e fácil de encontrar as informações.</p>
<ul>
<li> Se você já usa as funções, <a href="http://funcoeszz.net/funcoeszz">atualize agora</a>! Garanto que você não vai se arrepender.</li>
<li>Se nunca usou, que tal <a href="http://funcoeszz.net">visitar o site</a> agora para conhecê-las? Deve ter alguma função lá que lhe seja útil.</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aurelio.wordpress.com/307/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aurelio.wordpress.com/307/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aurelio.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aurelio.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aurelio.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aurelio.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aurelio.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aurelio.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aurelio.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aurelio.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aurelio.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aurelio.wordpress.com/307/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=307&subd=aurelio&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aurelio.wordpress.com/2008/03/05/a-nova-geracao-das-funcoes-zz/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e583bca48acb877efd4a29229bf7927f?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=X" medium="image">
			<media:title type="html">verde</media:title>
		</media:content>
	</item>
		<item>
		<title>Funções ZZ versão 7.7</title>
		<link>http://aurelio.wordpress.com/2007/07/17/funcoes-zz-versao-77/</link>
		<comments>http://aurelio.wordpress.com/2007/07/17/funcoes-zz-versao-77/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 02:50:39 +0000</pubDate>
		<dc:creator>Aurélio</dc:creator>
				<category><![CDATA[Funções ZZ]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://aurelio.wordpress.com/2007/07/17/funcoes-zz-versao-77/</guid>
		<description><![CDATA[Atenção! Parem as máquinas! Versão nova das Funções ZZ!
Este é um evento especial que ocorre algumas poucas vezes por ano ;)
Nesta versão 7.7, a maior parte das mudanças visa corrigir o de sempre: sites que mudaram de endereço ou de formato, quebrando as funções e seus filtros. As problemáticas que foram arrumadas, são:

zzdolar
zzgoogle
zzipinternet (arrumada após [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=257&subd=aurelio&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote><p>Atenção! Parem as máquinas! Versão nova das <a href="http://funcoeszz.net">Funções ZZ</a>!</p>
<p>Este é um evento especial que ocorre algumas poucas vezes por ano ;)</p></blockquote>
<p>Nesta versão 7.7, a maior parte das mudanças visa corrigir o de sempre: sites que mudaram de endereço ou de formato, quebrando as funções e seus filtros. As problemáticas que foram arrumadas, são:</p>
<ul>
<li>zzdolar</li>
<li>zzgoogle</li>
<li><strong>zzipinternet</strong> (arrumada após bilhares de pedidos)</li>
<li>zznoticiaslinux (Yahoo)</li>
<li>zzpronuncia</li>
<li>zzwhoisbr</li>
</ul>
<p>Também houve a remoção da <strong>zzdicabl</strong>, que fazia pesquisas no <a href="http://www.academia.org.br/">site da Academia Brasileira de Letras</a>. Como agora eles são &#8220;modernos&#8221; e estão usando AJAX, acabou a brincadeira para as ZZ.</p>
<p>Mas houve mudanças mais profundas também.</p>
<blockquote><p>Eu já disse que odeio UTF-8?</p></blockquote>
<p>Padrões são uma maravilha, são a solução da fome mundial, mas enquanto não são adotados massivamente, são uma dor de cabeça a mais para se preocupar. O futuro é <a href="http://en.wikipedia.org/wiki/UTF-8">UTF-8</a>, sem dúvida. Mas ainda há muito <a href="http://en.wikipedia.org/wiki/ISO_8859-1">ISO-8859-1</a> (Latin 1) por aí.</p>
<p>As funções ZZ são conservadoras, ainda sendo disponibilizadas no formato Latin 1, porém podem ser facilmente convertidas para UTF com um único comando:</p>
<pre>iconv -f iso-8859-1 -t utf-8 funcoeszz &gt; funcoeszz-utf</pre>
<p>Essa diferença entre formatos só é problemática em uma única função: <strong>zzarrumanome</strong>. Os nomes de seus arquivos eram bagunçados se você a usasse em um sistema UTF-8. Agora com a versão nova, isso não acontece mais.</p>
<p>Por falar em <strong>zzarrumanome</strong>, agora ela possui uma opção nova muito bacana, chamada &#8220;-n&#8221;. Da mesma maneira que na <strong>zznomefoto</strong>, essa opção serve para testar o comando antes de executá-lo. O processamento é feito, mas os arquivos não são renomeados. Apenas são mostrados na tela quais serão os nomes novos dos arquivos:</p>
<pre>
$ <strong>ls</strong>
Nome CHATÃO !!!.TXT
$ <strong>zzarrumanome -n *</strong>
[-n] Nome CHATÃO !!!.TXT -&gt; ./nome_chatao.txt
$ <strong>ls</strong>
Nome CHATÃO !!!.TXT
$
</pre>
<p><a href="http://funcoeszz.net/funcoeszz">Baixe a versão nova 7.7 das Funções ZZ</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aurelio.wordpress.com/257/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aurelio.wordpress.com/257/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aurelio.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aurelio.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aurelio.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aurelio.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aurelio.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aurelio.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aurelio.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aurelio.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aurelio.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aurelio.wordpress.com/257/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=257&subd=aurelio&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aurelio.wordpress.com/2007/07/17/funcoes-zz-versao-77/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e583bca48acb877efd4a29229bf7927f?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=X" medium="image">
			<media:title type="html">verde</media:title>
		</media:content>
	</item>
		<item>
		<title>ZZ Ao Vivo – Um concerto de 10+10 dedos</title>
		<link>http://aurelio.wordpress.com/2006/11/14/zz-ao-vivo-um-concerto-de-1010-dedos/</link>
		<comments>http://aurelio.wordpress.com/2006/11/14/zz-ao-vivo-um-concerto-de-1010-dedos/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 20:23:02 +0000</pubDate>
		<dc:creator>Aurélio</dc:creator>
				<category><![CDATA[Funções ZZ]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://aurelio.wordpress.com/2006/11/14/zz-ao-vivo-um-concerto-de-1010-dedos/</guid>
		<description><![CDATA[As Funções ZZ coitadas, já estavam há mais de um ano carentes de atenção. Foram esquecidas em um canto escuro, atrás de uma poltrona empoeirada no sótão do celeiro. Aos poucos foram definhando, quebrando um pedacinho aqui, outro ali. Das 69 partes que compunham o pacote, mais de 20 danificaram-se nesse período.
Era necessário agir.
Segunda-feira, 13 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=154&subd=aurelio&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As <a href="http://funcoeszz.net">Funções ZZ</a> coitadas, já estavam há mais de um ano carentes de atenção. Foram esquecidas em um canto escuro, atrás de uma poltrona empoeirada no sótão do celeiro. Aos poucos foram definhando, quebrando um pedacinho aqui, outro ali. Das 69 partes que compunham o pacote, mais de 20 danificaram-se nesse período.</p>
<p>Era necessário agir.</p>
<p>Segunda-feira, 13 de Novembro de 2006. Matinhos e Porto Alegre conectadas. De posse de suas ferramentas de trabalho, cada qual em sua cidade e comunicando-se por mensagens escritas, os criadores concertaram a criação. Ou seria criatura?</p>
<p>Não foi fácil, nem rápido.</p>
<p>Quase oito horas se passaram entre o primeiro contato e último retoque. Uma noite de primavera com ventos gelados de inverno. O ritmo foi intenso. Dedos cansados, mentes a mil. A sintonia e sincronia precisavam ser perfeitas para que nada saísse errado.</p>
<p>Um dueto solitário ao vivo, sem maestro nem público.</p>
<blockquote><p>
	<a href="http://funcoeszz.net/zzaovivo.html">Baseado em uma história real</a> ;)
	</p></blockquote>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aurelio.wordpress.com/154/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aurelio.wordpress.com/154/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aurelio.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aurelio.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aurelio.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aurelio.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aurelio.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aurelio.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aurelio.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aurelio.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aurelio.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aurelio.wordpress.com/154/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aurelio.wordpress.com&blog=192479&post=154&subd=aurelio&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aurelio.wordpress.com/2006/11/14/zz-ao-vivo-um-concerto-de-1010-dedos/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e583bca48acb877efd4a29229bf7927f?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=X" medium="image">
			<media:title type="html">verde</media:title>
		</media:content>
	</item>
	</channel>
</rss>
