<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.2" -->
<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/"
	>

<channel>
	<title>andrelop's blog &#187; DebianBR</title>
	<link>http://www.andrelop.org/blog</link>
	<description>andrelop's personal weblog</description>
	<pubDate>Wed, 07 May 2008 17:57:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
	<language>en</language>
			<item>
		<title>Obsolescência de fornecedores é igual a liberdade ?</title>
		<link>http://www.andrelop.org/blog/2008/05/07/obsolescencia-de-fornecedores-e-igual-a-liberdade/</link>
		<comments>http://www.andrelop.org/blog/2008/05/07/obsolescencia-de-fornecedores-e-igual-a-liberdade/#comments</comments>
		<pubDate>Wed, 07 May 2008 17:57:16 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		
		<category><![CDATA[DebianBR]]></category>

		<category><![CDATA[Portuguese]]></category>

		<category><![CDATA[freedom]]></category>

		<guid isPermaLink="false">http://www.andrelop.org/blog/2008/05/07/obsolescencia-de-fornecedores-e-igual-a-liberdade/</guid>
		<description><![CDATA[Estive lendo esses últimos dias um artigo sobre o fato de alguns usuários (entenda-se por usuário não somente o usuário individual doméstico, mas qualquer tipo de usuário, inclusive os grandes usuários corporativos) se mostrarem tão satisfeitos com soluções abertas/livres que, quando questionados sobre seus investimentos em soluções livres, se mostraram a favor de manter ou, [...]]]></description>
			<content:encoded><![CDATA[<p><font face="sans-serif">Estive lendo esses últimos dias <a href="http://www.cnet.com/8301-13505_1-9873849-16.html">um artigo</a> sobre o fato de alguns usuários (entenda-se por usuário não somente o usuário individual doméstico, mas qualquer tipo de usuário, inclusive os grandes usuários corporativos) se mostrarem tão satisfeitos com soluções abertas/livres que, quando questionados sobre seus investimentos em soluções livres, se mostraram a favor de manter ou, em grande parte, até mesmo aumentar os investimentos nesse tipo de solução.</p>
<p>E, o mais interessante, é que isso não mais se restringe a nichos de uso específicos, como um simples firewall ou roteador departamental, como era comum há alguns anos atrás. Não, hoje em dia, conforme o artigo citado indica, os usuários corporativos estão se aventurando em projetos mais complexos e de maior importância estratégica corporativa, classificados como sendo &#8220;críticos&#8221; ou &#8220;de alta importância&#8221;.</p>
<p>O artigo em questão tenta trazer uma outra visão de <a href="http://www.cnet.com/8301-13505_1-9873849-16.html">um outro artigo publicado pela IDC</a>, que sugere que os provedores de serviços (como instalação, treinamento e outros serviços relacionados a softwares livres/abertos) estão ficando obsoletos, indicando que menos de 1% dos projetos pesquisados tiveram participação de provedores de serviços externos e tratando isso como algo ruim.</p>
<p>O <a href="http://www.cnet.com/8301-13505_1-9873849-16.html">primeiro artigo citado</a> indica que, na verdade, isso não é um ponto ruim, mas sim um ponto a favor de soluções abertas/livres, visto que, em sua visão, tal fato indica que os usuários estão ganhando mais independência de fornecedores, já que cada vez mais suas próprias equipes internas conseguem lidar com os projetos e tocá-los sem auxílio externo. Sinceramente, eu também vejo isso como algo bom, me colocando na posição de usuário de soluções abertas/livres e &#8220;<i>cliente</i>&#8221; de provedores serviços.</p>
<p>Em <a href="um%20artigo%20do%20site%20Linux%20Weekly%20News%20%28LWN%29">um artigo do site Linux Weekly News</a><a href="um%20artigo%20do%20site%20Linux%20Weekly%20News%20%28LWN%29"> (LWN)</a> (desculpe, fechado para não assinantes por uma semana, aberto após esse período), o editor indica que alguns fornecedores de sistemas GNU/Linux embarcados estão <a href="http://www.mil-embedded.com/articles/id/?2873">usando táticas de proliferação de FUD</a> (fear, </font>uncertainty and <font face="sans-serif">doubt, ou, medo, incerteza e dúvida) para tentar convencer seus clientes de que seus serviços ainda são relevantes, visto que qualquer organização com algum dinheiro e conhecimento poderia criar sua própria plataforma de sistema operacional embarcado, inclusive se baseando em soluções já existentes para evitar retrabalho e custos muito altos, evitando o fornecedor de sistemas embarcados, no melhor estilo &#8220;<i>faça você mesmo</i>&#8220;.</p>
<p>O editor do artigo do LWN indica que o fornecedor em questão deveria se utilizar de outras táticas para manter seus clientes e não recorrer a informações que podem ser (e, com certeza, são) facilmente comprovadas como falsas e desbancadas por quem quer que seja, inclusive seus próprios clientes.</p>
<p>Em <a href="http://lwn.net/Articles/281234/">um dos comentários desse artigo</a>, um usuário inclusive cita que quanto mais patches relacionados ao suporte de um ambiente em tempo real e mais patches relacionados a sistemas embarcados forem aceitos na árvore oficial do kernel Linux (e a tendência é que esse número aumente cada vez mais), mais difícil será para os fornecedores de sistemas embarcados provarem seu valor como fornecedores desse tipo de solução, já que qualquer usuário poderá obter a solução desejada simplesmente utilizando o kernel Linux oficial.</p>
<p>Logicamente, o fim do mundo não é amanhã e todas as empresas prestadoras de serviços não vão desaparecer da noite para o dia, mas cada vez mais as mesmas terão que diversificar e provar que podem fornecer serviços com maior valor agregado do que algo que, daqui há pouco tempo, qualquer usuário mediano poderia conseguir por si só utilizando soluções livres/abertas já existentes.</p>
<p>Sempre existirão os usuários que, independente do nível de simplicidade da tarefa a ser cumprida, preferirão ter alguém terceirizado fornecendo-a ou prestando consultoria sobre como melhor cumprí-la. O ponto é que, se hoje em dia tais discussões como as existentes nos artigos citados já estão ocorrendo, será interessante conferir o que estará por vir daqui há alguns anos (ou meses ?), quando a concorrência para obter &#8220;clientes&#8221; estará ainda mais acirrada e somente os mais experientes e os quais puderem mostrar ao que vieram com mais objetividade sobreviverão.</p>
<p>Mais e mais usuários poderão, mesmo que não o queiram, dispensar prestadores de serviços externos e viver bem sendo seus próprios fornecedores de tecnologia, utilizando para isso toda a base de soluções abertas/livres já existentes e, em um futuro próximo, aquelas que ainda estão por vir.</p>
<p>Deu para entender porque eu gosto de chamar isso de <b>software livre</b> e não somente de &#8220;<i>open source</i>&#8221; ?<br /></font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2008/05/07/obsolescencia-de-fornecedores-e-igual-a-liberdade/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Atualização do Wordpress e Twitter</title>
		<link>http://www.andrelop.org/blog/2008/01/13/atualizacao-do-wordpress-e-twitter/</link>
		<comments>http://www.andrelop.org/blog/2008/01/13/atualizacao-do-wordpress-e-twitter/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 17:44:44 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		
		<category><![CDATA[DebianBR]]></category>

		<category><![CDATA[twitter]]></category>

		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.andrelop.org/blog/2008/01/13/atualizacao-do-wordpress-e-twitter/</guid>
		<description><![CDATA[Eu sei. Eu deveria postar com uma frequência bem maior e não somente simplesmente para avisar que eu atualizei a instalação Wordpress que gerencia este blog. Desculpe, mas ainda estou com dois problemas para que isso aconteça. O primeiro é tempo e o segundo é falta de inspiração suficiente.
Quanto ao quesito inspiração, a melhora na [...]]]></description>
			<content:encoded><![CDATA[<p>Eu sei. Eu deveria postar com uma frequência bem maior e não somente simplesmente para avisar que eu atualizei a instalação Wordpress que gerencia este blog. Desculpe, mas ainda estou com dois problemas para que isso aconteça. O primeiro é tempo e o segundo é falta de inspiração suficiente.</p>
<p>Quanto ao quesito inspiração, a melhora na interface de posts que ganhei com a atualização do Wordpress vai meu ajudar, visto que o Safari no MacOSX, mesmo o Safari do Leopard, tinha problemas e não exibia corretamente a barra de widgets de formatação de textos/posts do Wordpress. Agora está bem melhor. Convenhamos : postar tem que ser uma experiência boa completa e olhar para aquela barra mal renderizada, que me obrigava a realizar minha coisa manualmente não contribuía nada para ajudar.</p>
<p>Estranhamente, esse problema não ocorria com os navegadores que eu uso em GNU/Linux. Testei com o meu navegador padrão, o Epiphany, e com o Iceweasel/Firefox e ambos funcionavam corretamente. Porém, apesar de estar usando GNU/Linux no MacBook 90% do tempo ultimamente, eu sempre o utilizo no trabalho e, por lá, não sobra tempo para postar nada.</p>
<p>Mas a atualização teve que acontecer de qualquer forma, pois eu já estava começando a ficar preocupado usando uma versão tão antiga e cheia de vulnerabilidades do Wordpress. Agora posso dormir um pouco mais tranquilo enquanto a próxima vulnerabilidade de amanhã não é descoberta e divulgada. Ah, se alguma coisa tão fácil e amigável como o Wordpress existisse com uma quantidade menor de problemas de segurança &#8230;</p>
<p>Estive lendo algumas coisas ultimamente além de minhas habituais leituras online. Sim, falo de leitura em papel mesmo, livros reais. Já tinha me esquecido do quão prazeroso é ler em papel, sem contar que um livro eu posso ler no trem sem que ninguém me ache maluco lendo no iPod ou no Palm, com cara de &#8220;perdeu prayboy&#8221;.</p>
<p>Isso pode me ajudar a postar algo sobre os assuntos que estou lendo. Não tem nada a ver diretamente (mas indiretamente até que tem alguma ligação interessante) com software livre, mas de certa forma tenta explicar como a tecnologia mudou as maneiras como os negócios são feitos e como as oportunidades aumentaram com os mercados de nicho.</p>
<p>Ok, ao citar mercados de nicho eu tenho certeza que os mais geeks já entenderam sobre qual livro eu estou falando, visto que ele é bem conhecido e veio de um autor que está intimamente ligado a área de tecnologia. Pretendo, quem sabe, escrever algo sobre esse assunto assim que tiver mais um tempinho livre, mas não antes de finalizar a leitura do livro.</p>
<p>Também gostaria de avisar que me cadastrei no <a href="http://www.twiiter.com/" title="Twitter">Twitter</a> hoje para ver como isso funciona. Gostei e tem potencial de ser atualizado com uma constância bem maior do que esse blog é atualizado, até mesmo pela natureza rápida e limitada (140 caracteres somente) dos posts. Quem quiser me &#8220;seguir&#8221; no Twitter, meu endereço é <a href="http://twitter.com/andrelop/" title="Meu espaço no Twitter">esse aqui</a>. Quem de vocês aderiu a brincadeira ? Estou precisando cadastrar algumas pessoas interessantes para acompanhar peripécias alheias <img src='http://www.andrelop.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Ah ! E, também, é bem possível que quem esteja seguindo as minhas peripécias pelo Twitter acabe sabendo sobre qual livro eu estou falando bem mais rápido do que quem me lê somente por aqui.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2008/01/13/atualizacao-do-wordpress-e-twitter/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Migrando usuários e grupos para sistemas Debian</title>
		<link>http://www.andrelop.org/blog/2007/12/08/migrando-usuarios-e-grupos-para-sistemas-debian/</link>
		<comments>http://www.andrelop.org/blog/2007/12/08/migrando-usuarios-e-grupos-para-sistemas-debian/#comments</comments>
		<pubDate>Sat, 08 Dec 2007 15:53:12 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		
		<category><![CDATA[DebianBR]]></category>

		<guid isPermaLink="false">http://www.andrelop.org/blog/2007/12/08/migrando-usuarios-e-grupos-para-sistemas-debian/</guid>
		<description><![CDATA[Hoje em dia nem tanto porque a maioria dos sistemas que administro já estão todos convertidos para Debian GNU/Linux (e os que não estão não foram convertidos por não poderem ser convertidos devido a razões políticas), mas na época em que entrei na empresa onde trabalho atualmente passei um bom tempo migrando servidores Red Hat [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje em dia nem tanto porque a maioria dos sistemas que administro já estão todos convertidos para Debian GNU/Linux (e os que não estão não foram convertidos por não poderem ser convertidos devido a razões políticas), mas na época em que entrei na empresa onde trabalho atualmente passei um bom tempo migrando servidores Red Hat e similares (antigo Red Hat, Fedora, etc) para Debian.</p>
<p>Na época, sempre tive trabalho devido ao Debian e os sistemas baseados em Red Hat utilizarem políticas diferentes para usuários e grupos : em sistemas Red Hat e similares, usuários normais (ou seja, excetuando-se os usuários de sistema e os utilizados por daemons/serviços) iniciam no UID 500 e grupos normais (também com exceção dos grupos de sistema e criados para serem utilizados por daemons/serviços) iniciam no GID 500.</p>
<p>Em sistemas Debian, no entanto, usuários e grupos criados pelo administrador, ou seja, usuários e grupos que não são fornecidos na instalação padrão e que não são criados devido a instalação de algum pacote adicional (como um daemon, por exemplo), devem utilizar UID e GID iniciados a partir de 1000.</p>
<p>Como a conversão de servidores na época era grande, perdi alguns minutos e desenvolvi o script shell que publico abaixo para me auxiliar na tarefa de, com base nos arquivo /etc/passwd (para usuários) e /etc/group (para grupos) do sistema a ser convertido, criar as entradas já adaptadas para serem somente inseridas ao final dos arquivo /etc/passwd e /etc/group do novo sistema Debian.</p>
<p>O script foi criado há muitos anos atrás e agora só coloquei alguns comentários a mais para deixá-lo mais compreensível, mas ainda acho que pode ser de alguma utilidade para quem possa estar passando por uma situação semelhante a que eu passei há alguns anos atrás. Além de possivelmente ser útil para alguém, estou publicando também para ter fácil acesso ao mesmo caso algum dia precise e para que o Google me ajude indexando-o e tornando &#8220;encontrável&#8221; por qualquer um que necessite de algo parecido.</p>
<blockquote><p>#!/bin/bash</p>
<p># Script      : gid-uid-rh-to-debian.sh<br />
# Author      : André Luís Lopes<br />
# Version     : 0.1<br />
# License     : GPL (General Public License) version 2 (GPLv2)<br />
# Description : A simple script which takes users and groups<br />
#                                 from a Red-Hat-like (RHEL,Fedora,etc) system and<br />
#                                 adapts them to be used on Debian systems, taking<br />
#                                 care to adapt the UID and the GID numbers to the<br />
#                                 Debian policies (non-sytem/user-created users<br />
#                                 starting from UID 1000 and groups starting from<br />
#                                 GID 1000) or to the user-desired ones.</p>
<p># Minimun UID used for users in the previous GNU/Linux distribution<br />
# (Red-Hat-like distros uses UID 500, for reference).<br />
minuid=&#8221;500&#8243;<br />
# Minimun GID for groups in the previous GNU/Linux distribution<br />
# (Red-Hat-like distros uses GID 500, for reference).<br />
mingid=&#8221;500&#8243;<br />
# A pipe separated list of users not to be included in the output<br />
# (i.e. user blacklisting feature).<br />
uidblacklist=&#8221;nobody&#8221;<br />
# A pipe separated list of groups not to be included in the output<br />
# (.e. group blacklisting feature).<br />
gidblacklist=&#8221;nogroup&#8221;<br />
# UID increment strategy (i.e. how much to sum to the current UIDs).<br />
uidplus=&#8221;1000&#8243;<br />
# GID increment strategy (i.e. how much to sum to the current GIDs)<br />
# It&#8217;s not a good idea to choose a GID different from the UID given<br />
# above (Debian&#8217;s defaults are 1000 both for UID and GID).<br />
gidplus=&#8221;1000&#8243;</p>
<p># Bail out if there&#8217;s not enough parameters provided. Also, teach<br />
# the user how we should be used instead.<br />
if [ -z &#8220;$1&#8243; ] || [ -z &#8220;$2&#8243; ] ; then<br />
echo &#8220;&#8221;<br />
echo &#8220;Usage    : $(basename $0) [passwd|group] [passwd file|group file]&#8221;<br />
echo &#8220;Examples :&#8221;<br />
echo &#8220;&#8221;<br />
echo &#8220;$basename $0 passwd passwd-file&#8221;<br />
echo &#8220;$basename $0 group group-file&#8221;<br />
echo &#8220;&#8221;<br />
echo &#8220;Output will be ready to be inserted to the end of your new&#8221;<br />
echo &#8220;system&#8217;s /etc/passwd (when using the &#8216;passwd&#8217; parameter) or&#8221;<br />
echo &#8220;/etc/group (when using the &#8216;group&#8217; parameter).&#8221;<br />
echo &#8220;&#8221;<br />
echo &#8220;IMPORTANT :&#8221;<br />
echo &#8220;&#8212;&#8212;&#8212;&#8211;&#8221;<br />
echo &#8220;You should provide as the second parameter to this script the&#8221;<br />
echo &#8220;passwd or group from your current (i.e. Red-Hat-like) system,&#8221;<br />
echo &#8220;NOT the passwd or group file from your new Debian system.&#8221;<br />
echo &#8220;&#8221;<br />
exit 0<br />
fi</p>
<p># Check what the user want to work with this time : passwd or group.<br />
# Output only the non-system users so the user will be able to add<br />
# the output of this script to the end of his/her new system&#8217;s passwd<br />
# or group file.<br />
case &#8220;$1&#8243; in</p>
<p>passwd)</p>
<p>awk -F: &#8216;($3 >= &#8216;$minuid&#8217;) &#038;&#038; ($4 >= &#8216;$mingid&#8217;) {print $1 &#8220;:&#8221; \<br />
$2 &#8220;:&#8221; $3+1000 &#8220;:&#8221; $4+100 &#8220;:&#8221; $5 &#8220;:&#8221; $6 &#8220;:&#8221; $7}&#8217; $1 \<br />
| grep -v -E &#8220;$uidblacklist&#8221;</p>
<p>;;</p>
<p>group)</p>
<p>awk -F: &#8216;($3 >= &#8216;$mingid&#8217;) {print $1 &#8220;:&#8221; $2 &#8220;:&#8221; $3+1000 &#8220;:&#8221; $4}&#8217; \<br />
$1 | grep -v -E &#8220;$gidblacklist&#8221;</p>
<p>;;</p>
<p>esac</p></blockquote>
<p><code><br />
</code>Estou aberto a receber comentários e sugestões de possíveis melhorias caso alguém o utilize e queira compartilhar suas impressões. Críticas, caso sejam construtivas, também são bem-vindas. Os comentários deste post estão aí para isso. Somente lembre-se que o script foi criado há anos atrás de maneira rápida para atender a uma necessidade específica antes de destilar o veneno nos comentários. Sejam bonzinhos <img src='http://www.andrelop.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Outro detalhe a ser notado é que, por mais que eu tenha tentado, o Wordpress não deixou a formatação do script de maneira idêntica a maneira utilizada em sua cópia original em disco. Por isso, contenham suas críticas sobre identação, já que a mesma não vai existir nessa versão online piorada pelo Wordpress <img src='http://www.andrelop.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2007/12/08/migrando-usuarios-e-grupos-para-sistemas-debian/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Debian Maintainers : sua chance de contribuir sem precisar passar por burocracia</title>
		<link>http://www.andrelop.org/blog/2007/11/18/debian-maintainers-sua-chance-de-contribuir-sem-precisar-passar-por-burocracia/</link>
		<comments>http://www.andrelop.org/blog/2007/11/18/debian-maintainers-sua-chance-de-contribuir-sem-precisar-passar-por-burocracia/#comments</comments>
		<pubDate>Sun, 18 Nov 2007 00:01:39 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		
		<category><![CDATA[DebianBR]]></category>

		<guid isPermaLink="false">http://www.andrelop.org/blog/2007/11/18/debian-maintainers-sua-chance-de-contribuir-sem-precisar-passar-por-burocracia/</guid>
		<description><![CDATA[Abaixo estou reproduzindo a mensagem que acabou de ser enviada para a lista de discussão debian-devel-annouce@lists.debian.org sobre a abertura, ainda em caráter beta, do programa de Mantenedores Debian.
Trata-se de uma ótima oportunidade para quem tem vontade de contribuir mas não deseja se ligar oficialmente ao projeto passando por todo o processo para se tornar um [...]]]></description>
			<content:encoded><![CDATA[<p>Abaixo estou reproduzindo a mensagem que acabou de ser enviada para a lista de discussão <a href="mailto:debian-devel-annouce@lists.debian.org">debian-devel-annouce@lists.debian.org</a> sobre a abertura, ainda em caráter beta, do programa de Mantenedores Debian.</p>
<p>Trata-se de uma ótima oportunidade para quem tem vontade de contribuir mas não deseja se ligar oficialmente ao projeto passando por todo o processo para se tornar um desenvolvedor Debian. Espero que gostem :</p>
<blockquote><p>
No início de Agosto, o projeto Debian votou o endorsamento do conceito de &#8220;Mantenedores Debian&#8221;, o qual permitiria a contribuidores que, apesar de não serem desenvolvedores Debian completos, tivessem o direito de manter seus próprios pacotes no repositório de pacotes Debian sem que fosse necessário um padrinho para cada upload[0].</p>
<p>Desde então, um sistema para manter um chaveiro separado para mantenedores Debian foi implementado[1], junto com mudanças no software que controla os repositórios para suportar uploads restritos assinados por essas chaves[2]. Agradecimentos em particular a Cameron Dale, Miriam Ruiz e Fathi Boudra por servirem de cobaia durante a implementação inicial e durante os testes. <img src='http://www.andrelop.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Agora estamos prontos para aceitar um número de candidatos limitado e, devido a isso, estamos entrando em uma fase beta. Isso significa que achamos que temos tudo pronto e funcionando a contento, mas que provavelmente esquecemos algumas coisas e, até que saibamos quais são essas coisas e as corrijamos, nós iremos confiar nos Mantenedores Debian (DM) para nos ajudar a nos certificar que o sistema esteja sendo executado da forma mais suave possível, conforme ele foi planejado.</p>
<p>Caso você seja um não Desenvolvedor Debian que já mantenha softwares dentro do Debian através de um padrinho e tenha um bom conhecimento sobre como trabalhar no Debian, uma chave GPG assinada por alguns Desenvolvedores Debian (DD) e um registro de de bom trabalho comprovado, então você é o tipo de candidato que estamos procurando para nos auxiliar a finalizar os testes. Caso aceito, você será capaz de fazer upload de seus próprios pacotes diretamente sem incomodar seu padrinho.</p>
<p>Para se candidatar, fale com seu padrinho, com seu gerente de aplicação (AM) ou com qualquer outro DD que você conheça e com o qual você trabalhe para verificar se você está pronto para dar esse passo - você precisará que os mesmos escrevam uma mensagem para a lista de discussão debian-newmaint sobre o que você já fez que possa fazê-los pensar que você é um bom mantenedor.</p>
<p>Caso você seja um DD que conhece um não-DD o qual você ache que faria bom uso dos privilégios extras dados a um DM, você talvez queira conversar com ele/ela e encorajá-lo/encorajá-la a se candidatar.</p>
<p>Candidaturas são feitas cadastrando-se um bug no pacote Debian de nome debian-maintainers - por favor, consulte o arquivo README desse pacote para maiores instruções sobre qual informação é necessária e como coletá-la.</p>
<p>Note que, uma vez que você seja aceito como um DM, você ainda só poderá fazer uploads de pacotes que já estejam presentes na suíte unstable dos repositórios Debian com seu nome e endereço de e-mail nos campos Maintainer: ou Uploaders: e que possuam a campo &#8220;Dm-Upload-Allowed: yes&#8221; definido. Isso significa que você precisará que seu padrinho faça ao menos um upload com a campo Dm-Upload-Allowed definido.</p>
<p>Caso você tenha dúvidas, comentários ou sugestões você pode entrar em contato com a equipe DM no endereço d-m-team@lists.alioth.debian.org (em inglês somente).</p>
<p>Assinado,<br />
Equipe do chaveiro DM,<br />
  Joey Hess <joeyh @debian.org><br />
  Anibal Monsalve Salazar <anibal @debian.org><br />
  Anthony Towns <ajt @debian.org></p>
<p>[0] http://www.debian.org/vote/2007/vote_003</p>
<p>  Existem deliberadamente uma porção de diferenças entre a proposta<br />
  e o que está implementado no momento. As diferenças são :</p>
<p>  - A adição de Anibal a equipe do chaveiro (aprovado pelo DPL)</p>
<p>  - o chaveiro é mantido usando git ao invés de SVN, em<br />
    git://git.debian.org/git/d-m/debian-maintainers.git</p>
<p>  - o campo Changed-By: do arquivo .changes é consultado em adição<br />
    ao campo Maintainer: para determinar se um upload é patrocinado</p>
<p>  - o campo Dm-Upload-Allowed e os campos Maintainer/Uploaders<br />
    da última versão do pacote incluído na suíte alvo são usados para<br />
    restringir uploads de DM ao invés da última versão enviada via upload<br />
    para a suíte unstable (isto principalmente tem efeito para uploads para<br />
    proposed-updates e nos casos de mais de um upload entre pulsos)</p>
<p>[1] Consulte o pacote debian-maintainers na unstable<br />
[2] http://lists.debian.org/debian-dak/2007/10/msg00009.html </p>
<p></ajt></anibal></joeyh></p></blockquote>
<p>É isso aí. Para quem estiver interessado, mãos na massa !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2007/11/18/debian-maintainers-sua-chance-de-contribuir-sem-precisar-passar-por-burocracia/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SSD : a solução para o gargalo atual em nossos sistemas ?</title>
		<link>http://www.andrelop.org/blog/2007/11/16/ssd-a-solucao-para-o-gargalo-atual-em-nossos-sistemas/</link>
		<comments>http://www.andrelop.org/blog/2007/11/16/ssd-a-solucao-para-o-gargalo-atual-em-nossos-sistemas/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 17:36:52 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		
		<category><![CDATA[DebianBR]]></category>

		<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://www.andrelop.org/blog/2007/11/16/ssd-a-solucao-para-o-gargalo-atual-em-nossos-sistemas/</guid>
		<description><![CDATA[As indicações estão em todos os lugares : primeiro nos players portáteis e telefones de luxo que andam aparecendo aos montes e, ultimamente, com a indicação de grandes nomes do mercado, como a Apple, que, segundo as notícias que circulam por aí, vai lançar um ultra-portátil que utilizará tecnologia SSD, em seu evento anual MacWorld [...]]]></description>
			<content:encoded><![CDATA[<p>As indicações estão em todos os lugares : primeiro nos players portáteis e telefones de luxo que andam aparecendo aos montes e, ultimamente, com a indicação de grandes nomes do mercado, como a Apple, que, segundo <a href="http://www.appleinsider.com/articles/07/11/12/ultra_portable_apple_notebook_to_splash_down_at_macworld_expo.html">as notícias que circulam por aí</a>, vai lançar um ultra-portátil que utilizará tecnologia <a href="http://en.wikipedia.org/wiki/Solid_state_drive">SSD</a>, em seu evento anual MacWorld Expo and Conference, por volta de janeiro do próximo ano.</p>
<p>O <a href="http://slashdot.org/">Slashdot</a> <a href="http://hardware.slashdot.org/hardware/07/11/16/151251.shtml">nos informou hoje</a> que já existem empresas que estão produzindo discos de estado sólido que ultrapassam a capacidade de armazenamento de 1TB.</p>
<p>Nada mal para nossos padrões de uso doméstico atuais, concorda ? Eu mesmo possuo um disco SATA II de 250GB em meu desktop doméstico que ainda anda pouco utilizado, mas isso é só devido a minha conexão Internet, a qual não pode ser considerada como uma conexão de banda larga. No máximo, um conexão de <em>banda-sofrivelmente-quase-larga</em>.</p>
<p>De qualquer forma, com o aumento das ofertas de opções de acesso a Internet em conexões banda larga, o aumento da oferta de soluções que nos permita armazenar uma maior quantidade de informações também tende a aumentar. Anteriormente, nos contentávamos em armazenar nossos e-mails, documentos e arquivos que, na maioria das vezes, se tratavam de dados em texto puro ou em algum formato parecido, que não demandava tanto espaço em disco.</p>
<p>Hoje em dia, é extremamente comum encontrarmos colegas que possuem dezenas ou até mesmo centenas de gigabytes de arquivos de música ou vídeo digitais (nem sempre conseguidos de forma legal, mas isso é outra história). Cada vez mais precisamos de mais espaço para armazenar nossas preciosas coleções virtuais/digitais de arte e conhecimento que tanto prezamos e que tanto insistem em lotar nossos discos.</p>
<p>O problema é que, aparentemente, a tecnologia utiilizada nos discos rígidos, conforme a conhecemos atualmente, parece não ter evoluído tanto quanto outras tecnologias irmãs (como processadores e memórias) tem evoluído nos últimos tempos. O <a href="http://blog.rlove.org/2007/11/dozen-years.html">post do kernel hacker Robert Love sobre o assunto</a>, sindicalizado no <a href="http://kernelplanet.org/">Kernel Planet</a>, exemplifica bem o problema que estamos enfrentando atualmente.</p>
<p>Segundo ele, desde que compilou seu primeiro kernel (versão 1.1 ou 1.2), a velocidade de transferência de dados em sua conexão Internet já aumentou 11.500 vezes se comparada ao modem 2400 que ele utilizava na época, a velocidade de acesso a memória aumentou 2.000 vezes e a disponibilidade de espaço em disco aumentou 3.000 vezes.</p>
<p>Porém, a velocidade de acesso a dados em discos rígidos ainda continua essencialmente a mesma. Ele ainda aponta como fonte sua palestra na <a href="http://2005.guadec.org/">GUADEC de 2005</a>, onde ele diz que acesso a disco é <b>25.000 vezes mais lento</b> do que o acesso a um registrador de propósito geral e termina dando a entender que as coisas não estão evoluíndo de acordo na indústria de armazenamento doméstico.</p>
<p>Segundo a <a href="http://en.wikipedia.org/wiki/Solid_state_drive">definição na Wikipedia</a>, o acesso a discos que utilizam a tecnologia SSD é mais do que 250 vezes mais rápido do que os discos rígidos mais rápidos da época em que a entrada na Wikipedia foi escrita, em 2004. E, de lá para cá, aparentemente, não tivemos mudanças sensíveis na tecnologia de discos rígidos que fizessem com que essa diferença caísse drasticamente, infelizmente.</p>
<p>As principais razões (existem outras) que ainda impedem que computadores oferecidos ao mercado doméstico sejam equipados com discos que utilizam a tecnologia SSD são o preço elevado (também segundo a mesma definição na Wikipedia citada acima, perto de US$ 8 por GB em discos SSD comparados a US$ 0.25 por GB nos discos mecânicos atuais) e o fato de discos SSD terem uma expectativa de vida bem menor do que os discos rígidos atuais, já que os discos SSD possuem uma quantidade máxima de operações de gravação limitadas se comparadas a discos rígidos usuais.</p>
<p>De qualquer forma, existem sistemas de arquivos especiais para discos SSD (como os sistemas de arquivos JFFS e JFSS2, no caso de kernels Linux) que diminuem um pouco esse problema, sendo mais inteligentes na forma que gravam os dados em disco e diminuindo a frequência das gravações para evitar o desgaste além do necessário.</p>
<p>A notícia que saiu no Slashdot hoje, citado no início deste post, também informa que um dos modelos de discos SSD oferecidos por um dos fabricantes citados suporta taxas de transferência de 4Gbps. Um dos discos em questão suporta 55.000 operações de I/O por segundo e atinge uma taxa de transferência de dados sustentada de 230MB por segundo. Em comparação, um disco rígido rápido atual atinge por volta de somente 300 operações de I/O por segundo.</p>
<p>Parece que, assim que os preços de soluções baseadas em SSD começarem a diminuir um pouco mais (obrigado Apple por estar popularizando essa tecnologia com o uso da mesma nos novos IPod e em seu iPhone), teremos encontrado nosso sucessor dos discos rígidos mecânicos atuais. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2007/11/16/ssd-a-solucao-para-o-gargalo-atual-em-nossos-sistemas/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gerenciamento de atualizações : uma solução simples e eficaz</title>
		<link>http://www.andrelop.org/blog/2007/11/16/gerenciamento-de-atualizacoes-uma-solucao-simples-e-eficaz/</link>
		<comments>http://www.andrelop.org/blog/2007/11/16/gerenciamento-de-atualizacoes-uma-solucao-simples-e-eficaz/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 16:21:33 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		
		<category><![CDATA[DebianBR]]></category>

		<category><![CDATA[tips]]></category>

		<category><![CDATA[update-manager]]></category>

		<guid isPermaLink="false">http://www.andrelop.org/blog/2007/11/16/gerenciamento-de-atualizacoes-uma-solucao-simples-e-eficaz/</guid>
		<description><![CDATA[Para aqueles, como eu, que precisam administrar dezenas de servidores e mantê-los atualizados em relação a aplicação de atualizações de segurança, a forma mais fácil de cumprir essa tarefa seria automatizá-la ao máximo.
Porém, quando o assunto é aplicação 100% automatizada de novas versões de pacotes de softwares em servidores de produção sem intervenção humana alguma, [...]]]></description>
			<content:encoded><![CDATA[<p>Para aqueles, como eu, que precisam administrar dezenas de servidores e mantê-los atualizados em relação a aplicação de atualizações de segurança, a forma mais fácil de cumprir essa tarefa seria automatizá-la ao máximo.</p>
<p>Porém, quando o assunto é aplicação 100% automatizada de novas versões de pacotes de softwares em servidores de produção sem intervenção humana alguma, eu tendo a ter um nível de aceitação bastante baixo para essa idéia, por razões óbvias.</p>
<p>A solução, em meu caso, foi adotar uma solução que automatiza parcialmente o processo de gerenciamento de atualizações. A parte que exige mais participação intelectual, ou seja, a aplicação das atualizações propriamente ditas, eu mesmo prefiro executar manualmente, visto que posso interferir caso qualquer problema maior ocorra.</p>
<p>Como utilizo <a href="http://www.debian.org/">Debian GNU/Linux</a> na imensa maioria dos servidores que administro, as tarefas de checar pela disponibilidade de atualizações e fazer o download das mesmas são triviais, já que existe suporte para fazê-las de forma bastante simples nas ferramentas de gerenciamento de pacotes nativas do próprio sistema operacional.</p>
<p>Porém, mesmo com a simplicidade e facilidade fornecida por essas ferramentas, quando a quantidade de servidores a ser administrada cresce a tarefa de ter que checar pela disponibilidade das atualizações, verificar a aplicabilidade de cada uma delas a cada um dos servidores administrados e fazer o download das mesmas, deixando as atualizações guardadas em um cache local para posterior aplicação, é algo que começa a consumir um tempo bastante grande.</p>
<p>Para facilitar, adotei já há alguns anos uma solução de gerenciamento de atualizações (que pode ser configurada para aplicar automaticamente as atualizações de maneira relativamente simples, mas não pretendo usar essa funcionalidade) bastante simples que cumpre essas tarefas de forma bastante satisfatória.</p>
<p>Trata-se do <a href="http://packages.debian.org/etch/apticron">apticron</a>, um script shell bem simples e disponível como um pacote Debian nos repositórios oficiais de pacotes Debian. Instalá-lo é tão simples quanto instalar qualquer outro pacote Debian comum, ou seja, ele se encontra somente a um <em>aptitude install</em> de distância <img src='http://www.andrelop.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Após instalá-lo, costumo modificar somente duas variáveis no arquivo de configuração <em>/etc/apticron/apticron.conf</em> : a variável de nome <b>EMAIL</b> e a variável de nome <b>LISTCHANGES_PROFILE</b>.</p>
<p>Para a primeira variável, forneço como valor o endereço de e-mail no qual eu desejo receber as mensagens de aviso que serão enviadas pelo apticron quando novas atualizações estiverem disponíveis e, no caso da segunda, simplesmente descomento a linha que define a variável, deixando a mesma com o valor <em>apticron</em>.</p>
<p>Isso faz com que, ao enviar as mensagens de aviso de atualizações aplicáveis aos seus servidores, o apticron obtenha a saída do utilitário <a href="http://packages.debian.org/etch/apt-listchanges">apt-listchanges</a> (mais um utilitário interessante disponível também como um pacote Debian nos repositórios oficiais Debian e também somente a um <em>aptitude install</em> de distância) e a envie juntamente as mensagens de aviso, o que lhe permite conhecer, além dos pacotes e versões novas disponíveis para instalação, a lista de mudanças (o <em>changelog</em>) dos pacotes para os quais existam atualizações disponíveis.</p>
<p>Além de lhe avisar sobre as atualizações disponíveis e aplicáveis aos seus servidores, o apticron, por padrão, já faz o download das mesmas e as deixa no cache local de pacotes de seu gerenciador de pacotes, de forma que, posteriormente, você precise somente se conectar ao servidor analisado pelo apticron e executar o comando a seguir :</p>
<p><code><br />
# aptitude upgrade<br />
</code></p>
<p>Pronto. As atualizações deixadas em seu cache local de pacotes serão utilizadas e aplicadas em seu servidor, da mesma forma como você costuma atualizar seus pacotes Debian em um processo usual, sem o envolvimento de nenhuma ferramenta de gerenciamento de atualizações como o apticron.</p>
<p>A execução do apticron ocorre diariamente (por padrão, mas isso pode ser modificado conforme sua necessidade) junto a execução das tarefas agendadas para execução com periodicidade diária pelo cron, sob o diretório <em>/etc/cron.daily</em> (mais especificamente, no arquivo <em>/etc/cron.daily/apticron</em>).</p>
<p>Como se trata de um script shell simples (em <em>/usr/sbin/apticron</em>), o apticron pode ser modificado facilmente, inclusive para que as atualizações já sejam aplicadas automaticamente após o donwload das mesmas, caso desejado.</p>
<p>Novamente, isso não seria algo que eu recomendaria, visto que existem diversos detalhes a serem observados durante uma atualização e decisões que precisam ser tomadas por um intelecto humano (e não por um script shell simples), as quais, nem sempre, possuem uma resposta padrão válida para todos os casos. </p>
<p>De qualquer forma, acredito que o apticron cumpre realmente as tarefas que se propõe a cumprir, de forma simples e descomplicada. Para outras necessidades mais exóticas, uma possibilidade seria utilizar o <a href="http://packages.debian.org/etch/cron-apt">cron-apt</a>.</p>
<p>Pessoalmente, posso dizer que já utilizei o cron-apt e acabei optando pelo apticron por esse último ser mais simples, cumprir somente as tarefas que eu realmente precisaria automatizar (sem mais nem menos) e funcionar de forma mais confiável que o cron-apt em meus testes.</p>
<p>Por último, apesar de ser evidente para os leitores que chegaram até aqui, esta é uma solução específica para distribuições GNU/Linux baseadas em pacotes Debian. Qual a solução que vocês utilizam para seus servidores, sejam eles baseados em um sistema de gerenciamento de pacotes Debian ou não ? Deixe suas dicas, experiências e indicações nos comentários.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2007/11/16/gerenciamento-de-atualizacoes-uma-solucao-simples-e-eficaz/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Masoquismo virtual 102 : configurando um MX secundário (the easy way)</title>
		<link>http://www.andrelop.org/blog/2007/11/11/masoquismo-virtual-102-configurando-um-mx-secundario-the-easy-way/</link>
		<comments>http://www.andrelop.org/blog/2007/11/11/masoquismo-virtual-102-configurando-um-mx-secundario-the-easy-way/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 01:34:22 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		
		<category><![CDATA[DebianBR]]></category>

		<category><![CDATA[Setup]]></category>

		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.andrelop.org/blog/2007/11/11/masoquismo-virtual-102-configurando-um-mx-secundario-the-easy-way/</guid>
		<description><![CDATA[Eu não me canso de ficar espantando com a facilidade de se fazer as coisas com o Postfix se comparando a outras soluções de MTA, sejam elas proprietárias ou livres.
Hoje precisei configurá-lo para que meu servidor de mensagens pudesse temporariamente atuar como MX secundário para alguns domínios de um amigo, de modo que os mesmos [...]]]></description>
			<content:encoded><![CDATA[<p>Eu não me canso de ficar espantando com a facilidade de se fazer as coisas com o <a href="http://www.postfix.org/">Postfix</a> se comparando a outras soluções de <a href="http://pt.wikipedia.org/wiki/MTA">MTA</a>, sejam elas proprietárias ou livres.</p>
<p>Hoje precisei configurá-lo para que meu servidor de mensagens pudesse temporariamente atuar como MX secundário para alguns domínios de um amigo, de modo que os mesmos não ficassem completamente invisíveis para todo o mundo durante a movimentação de um servidor para outro.</p>
<p>Minha tarefa foi somente fazer a porção que me cabia como administrador do servidor que atuaria como MX secundário e não também configurar o servidor que já atua como MX primário. Para minha surpresa, foi algo extremamente simples de ser feito usando Postfix, como eu já esperava, dadas as minhas experiências anteriores felizes lidando com o mesmo.</p>
<p>Eu simplesmente tive que incluir os domínios em questão no parâmetro <em>relay_domains</em> e me certificar de que o parâmetro <em>smtpd_recipient_restrictions</em> tivesse uma restrição que checasse os domínios anteriormente listados no parâmetro <em>relay_domains</em>. Para isso, a documentação do Postfix indica o uso da restrição <em>check_relay_domains</em>, mas essa restrição ficou obsoleta e foi substituída pela restrição <em>reject_unauth_destination</em> já há alguns anos.</p>
<p>No final, as linhas inseridas/modificadas no arquivo de configuração principal do Postfix (arquivo <em>/etc/postfix/main.cf</em> em meu caso) foram as seguintes :</p>
<p><code><br />
relay_domains = $mydestination, dominioadicional1.com, dominioadicional2.com, dominioadicional3.com</p>
<p>smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated,  check_policy_service inet:127.0.0.1:60000, reject_unauth_destination<br />
</code></p>
<p>Para essa tarefa, a única restrição realmente importante a ser inserida no parâmetro <em>smtpd_recipient_restrictions</em> é a restrição <em>reject_unauth_destination</em>. As outras restrições presentes cumprem outras tarefas que não vem ao caso no momento e não são assunto para este post (quem sabe um post futuro).</p>
<p>Isso já foi o bastante para que meu servidor passasse a receber as mensagens destinadas aos domínios adicionais e enfileirá-las localmente, de forma que as mesmas ficassem armazenadas temporariamente até que o servidor MX primário voltasse a ficar operacional posteriormente.</p>
<p>Mas o leitor esperto irá notar que, somente com essa configuração, estamos recebendo toda e qualquer mensagem destinada aos domínios adicionais em questão. Lógico, <a href="http://www.nuclearelephant.com/">meu antispam</a> e <a href="http://www.andrelop.org/blog/2007/10/28/masoquismo-virtual-101-mantendo-lixo-fora-de-sua-caixa-postal-the-cheap-way/">minha solução de greylisting</a> vão cuidar da maioria da porcaria virtual, mas seria importante receber e manter as mensagens somente para os endereços reais dos domínios adicionais e não para qualquer coisa que termine com os domínios em questão como endereço.</p>
<p>Para isso, simplesmente utilize o parâmetro <em>relay_recipient_maps</em> e aponte para um mapa de lookup do Postfix que contenha os endereços os quais você saiba que são endereços realmente válidos. Um exemplo de configuração desse parâmetro seria, no arquivo de configuração principal do Postfix, o seguinte :</p>
<p><code><br />
relay_recipients_maps = hash:/etc/postfix/relay_recipients<br />
</code></p>
<p>O próximo passo é criar o arquivo apontado pelo parâmetro <em>relay_recipients_maps</em><em>, ou seja, no caso, o arquivo </em><em>/etc/postfix/relay_recipients</em>. Esse arquivo irá conter os endereços válidos dos domínios adicionais da seguinte forma :</p>
<p><code><br />
usuario1@dominioadicional1.com  OK<br />
usuario2@dominioadicional1.com  OK<br />
usuario1@dominioadicional2.com  OK<br />
usuario2@dominioadicional2.com  OK<br />
usuario1@dominioadicional3.com  OK<br />
usuario2@dominioadicional3.com  OK<br />
</code></p>
<p>Para finalizar, criamos o arquivo <em>/etc/postfix/relay_recipients.db</em> usando o comando o comando <strong>postmap</strong> e forçamos a releitura do arquivo de configuração principal do Postfix recém modificado, usando os comandos a seguir :</p>
<p><code><br />
# postmap /etc/postfix/relay_recipients<br />
# postfix reload<br />
</code></p>
<p>Pronto. A partir de agora, quando o servidor de mensagens que atua como MX primário dos domínios adicionais em questão for colocado fora de funcionamento temporariamente, as mensagens que antes seriam entregues ao mesmo serão recebidas por meu servidor, enfileiradas temporariamente no disco local e entregues de volta ao servidor que atua como MX primário quando este voltar a operar novamente.</p>
<p>Com a vantagem de que mensagens destinadas a endereços inválidos ou inexistentes destes domínios adicionais serão rejeitadas por meu servidor atuando como MX secundário, o que evitará que tais mensagens ocupem recursos do servidor (como espaço em disco, por exemplo) para depois serem sumariamente apagadas quando forem repassadas ao MX primário.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2007/11/11/masoquismo-virtual-102-configurando-um-mx-secundario-the-easy-way/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Green IT : o que o software livre está fazendo para dar sua contribuição</title>
		<link>http://www.andrelop.org/blog/2007/10/31/green-it-o-que-o-software-livre-esta-fazendo-para-dar-sua-contribuicao/</link>
		<comments>http://www.andrelop.org/blog/2007/10/31/green-it-o-que-o-software-livre-esta-fazendo-para-dar-sua-contribuicao/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 00:28:10 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		
		<category><![CDATA[DebianBR]]></category>

		<category><![CDATA[macosx]]></category>

		<category><![CDATA[powermanagement]]></category>

		<guid isPermaLink="false">http://www.andrelop.org/blog/2007/10/31/green-it-o-que-o-software-livre-esta-fazendo-para-dar-sua-contribuicao/</guid>
		<description><![CDATA[Não, Green IT não significa tecnologia da informação marciana (aliás, por quê diabos não acabamos com essa idéia de que marcianos são verdes ?). Trata-se de uma nova tendência, que vem surgindo junto com a necessidade cada vez mais crescente de economia de recursos naturais e controle do clima mundial para que logo todos nós [...]]]></description>
			<content:encoded><![CDATA[<p>Não, <a href="http://www.greenit.net/">Green IT</a> não significa tecnologia da informação marciana (aliás, por quê diabos não acabamos com essa idéia de que marcianos são verdes ?). Trata-se de uma nova tendência, que vem surgindo junto com a necessidade cada vez mais crescente de economia de recursos naturais e controle do clima mundial para que logo todos nós não tenhamos que ir para o buraco, literalmente.</p>
<p>A idéia é não somente se preocupar com sistemas melhores, mais rápidos e mais baratos, mas também com sistemas com <b>responsabilidade ambiental</b>.  Dê uma lida no link citado anteriormente, a idéia é interessante e qualquer iniciativa no sentido de economia de energia, recursos naturais, evitar a produção de lixo eletrônico, que leve em consideração os efeitos na saúde e na produtividade dos usuários, em tempos de discussões sobre aquecimento global acaloradas, é louvável. O planeta agradece.</p>
<p>Mas o que o software livre pode fazer para ajudar ? Como citei em um <a href="http://www.andrelop.org/blog/2007/10/27/sobre-felinos-incompetencia-e-fazer-a-coisa-certatm/">post anterior</a>, minha experiência com um ponto bastante prático e visível para o usuário relacionado a esse assunto, o tempo de duração de bateria de notebooks, não foi muito feliz. Consegui um tempo de duração de bateria bem inferior em GNU/Linux se comparado ao uso do MacOSX no mesmo hardware. Pouco mais de 5 horas em MacOSX e pouco mais de 3 horas em GNU/Linux.</p>
<p>Porém, logicamente, isso já era de se esperar, uma vez que, no caso do MacOSX, o hardware e o software foram feitos um para o outro, pelo mesmo fabricante/desenvolvedor. Seria espantoso ter um tempo de duração de bateria maior em GNU/Linux, nesse caso. Mas não custa sonhar, certo ?</p>
<p>Felizmente, o sonho pode se tornar realidade em um futuro não muito distante. Algo me diz que daqui há um ou dois anos será engraçado ler esse post e imaginar que tínhamos um rendimento tão inferior em softwares livres se comparado aos softwares proprietários em relação e economia de energia. Por quê digo isso ? Ora, é óbvio <img src='http://www.andrelop.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> Veja os sinais que estão surgindo por todos os cantos.</p>
<p>Repare nos inúmeros projetos relacionados a economia de energia que andam pipocando em todos os cantos. Apesar de ainda existir muito a ser melhorado, uma boa parte do que é necessário nas camadas mais baixas, lá nas entranhas do kernel, já está implementado com o suporte a <b>dynticks</b> e kernels <b>tickless</b>, que permitem que, dados softwares bem comportados, a CPU seja <b>acordada</b> uma quantidade de vezes bem menor do que o habitual.</p>
<p>Com uma quantidade menor de interrupções ocorrendo, o sistema como um todo tem a oportunidade de ficar mais tempo no estado <em>idle</em> (lá paradão, desocupado) e, consequentemente, podemos dispor de vários recursos para fazer com que a CPU passe de um estado ACPI para outro, no qual uma quantidade menor de energia seja consumida.</p>
<p>Ted Tso, conhecido kernel hacker conhecido por desenvolver, entre outras coisas (incluíndo estar envolvido na equipe original que projetou o Kerberos no MIT), os sistemas de arquivos ext2 e ext3 (e estar trabalhando no ext4), <a href="http://thunk.org/tytso/blog/2007/10/29/tip-o-the-hat-wag-o-the-finger-linux-power-savings-for-laptop-users/">blogou sobre a questão da economia de energia para usuários de laptops usuários de GNU/Linux</a>. Vale a pena a leitura.</p>
<p>Em seu post, Ted nos fornece uma visão geral de como está atualmente a questão do gerenciamento de energia no kernel Linux, compara a situação atual com o estado desse suporte no kernel há poucos anos atrás e indica que o futuro parece promissor, apesar de ainda faltar muito para ser feito para que consigamos ter um subsistema de gerenciamento de energia invejável aos sistemas operacionais proprietários.</p>
<p>É interesse ler também as reações ao post de Ted. Pavel Machek, outro kernel hacker, em <a href="http://pavelmachek.livejournal.com/46526.html">um post curto em seu blog</a> responde a alguns dos pontos levantados por Ted em seu post original e nos informa que diversos problemas apontados por Ted já estão em vias de serem resolvidos e alguns desses problemas, como a questão da suspensão de dispositivos USB e o problema dos mesmos relacionado ao consumo elevado de ciclos de processador, já estão resolvidos em kernels mais recentes.</p>
<p>Pavel também fornece várias dicas de como economizar ainda mais energia com algumas configurações simples. Aliás, por falar em dicas para economia de energia, como Ted citou em seu post original, a referência mais importante atualmente é o site <a href="http://www.lesswatts.org/">lesswatts.org</a>, site oficial do utilitário <b>powertop</b>, lançado pela Intel para auxiliar usuários e desenvolvedores a descobrir quais aplicações consomem mais energia em seus sistemas, fornecendo dicas de configurações que podem ser aplicadas para diminuir o consume de energia de sistemas baseados no kernel Linux.</p>
<p>Lógico que, como Ted citou em seu post, hoje em dia ainda são necessários muitos passos e muitas configurações manuais para conseguir um bom índice de economia de energia. Mas com o tempo e com a infraestrutura para gerenciamento de energia no kernel sendo melhorada, além dos drivers/módulos para dispositivos sendo atualizados para fazer uso dessa infraestrutra, a tendência é que a quantidade de configurações manuais requeridas diminua e esse tipo de ajustes provavelmente seja mais simples de ser feito, possivelmente com alguns deles até mesmo sendo feitos automaticamente pelo próprio kernel em conjunto com drivers/módulos mais inteligentes.</p>
<p>Eu torço para que isso aconteça e, pessoalmente, não vejo a hora de testar o futuro kernel 2.6.24, por enquanto ainda em desenvolvimento, que trará suporte a dynticks para arquitetura x86-64 e provavelmente fara meu MacBook rodando GNU/Linux competir de igual para igual com o MacOSX no mesmo hardware <img src='http://www.andrelop.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2007/10/31/green-it-o-que-o-software-livre-esta-fazendo-para-dar-sua-contribuicao/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Prevenção virtual 102 : usando backups pessoais versionados (the even cheaper way)</title>
		<link>http://www.andrelop.org/blog/2007/10/29/prevencao-virtual-102-usando-backups-pessoais-versionados-the-even-cheaper-way/</link>
		<comments>http://www.andrelop.org/blog/2007/10/29/prevencao-virtual-102-usando-backups-pessoais-versionados-the-even-cheaper-way/#comments</comments>
		<pubDate>Mon, 29 Oct 2007 23:49:53 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		
		<category><![CDATA[DebianBR]]></category>

		<category><![CDATA[backup]]></category>

		<category><![CDATA[rsync]]></category>

		<category><![CDATA[scripts]]></category>

		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.andrelop.org/blog/2007/10/29/prevencao-virtual-102-usando-backups-pessoais-versionados-the-even-cheaper-way/</guid>
		<description><![CDATA[Não, ao contrário do que você pensa, esse não é mais um daqueles posts chatos que falam sobre a importância de backups, puxa suas orelhas por você não estar em dia com eles e lhe deixa com uma sensação de estar fazendo algo errado e de que, a qualquer momento, poderá sofrer com isso.
Mesmo você [...]]]></description>
			<content:encoded><![CDATA[<p>Não, ao contrário do que você pensa, esse não é mais um daqueles posts chatos que falam sobre a importância de backups, puxa suas orelhas por você não estar em dia com eles e lhe deixa com uma sensação de estar fazendo algo errado e de que, a qualquer momento, poderá sofrer com isso.</p>
<p>Mesmo você sabendo que isso tudo é a mais pura verdade, ninguém precisa ficar lhe lembrando sobre isso a todo momento e lhe aporrinhando com esse assunto. Backup sempre é e sempre será esquecido. É comum (ou, ao menos, deveria ser) não esquecermos dos backups de nossos clientes, nossos servidores e de nossos sistemas mais importantes, mas nossos backups pessoais sempre acabam ficando esquecidos.</p>
<p>Por quê ? Simples : porque soluções que você simplesmente coloca para funcionar uma única vez e esquece, deixando que tudo seja feito de forma transparente, são difíceis de serem encontradas e, quando o são, não são das mais fáceis para serem implementadas nem compreeendidas.</p>
<p>Para resolver esse problema, eu escrevi um pequeno script shell simples que uso para meus backups pessoais. Funciona de maneira estremamente simples e me permite ter backups diários ou com periodicidades ainda menores (diversas vezes por dia, por exemplo) ocupando um espaço desprezível em relação ao que seria ocupado caso backups completos fossem utilizados e, de quebra, me permite restaurar a cópia de qualquer arquivo desejado, de uma data específica desejada, sem que seja necessário sair por aí procurando por inúmeras fitas ou sem que seja necessário que eu seja obrigado a usar soluções de backup que criam catálogos de backup e que possuam um uso mais complexo.</p>
<p>Facilidade, esse é o objetivo. Minha solução usa o famoso <a href="http://samba.anu.edu.au/rsync/">rsync</a> para implementar backups diferenciais e, mais especificamente, faz uso da opção <b>&#8211;link-dest</b> do rsync para criar cópias posteriores dos backups utilizando <a href="http://en.wikipedia.org/wiki/Hard_link">hardlinks</a> para os arquivos originais da primeira cópia do backup.</p>
<p>O script cria um diretório para cada uma de suas invocações, contendo o dia, mês, ano, hora, minuto e segundo de sua execução e inclui o backup nesse diretório. Dessa forma, você possui uma visão completa de todo o seu conteúdo de backup sob esse diretório representando esse momento no tempo. Sim, o conteúdo completo, tudo, sem mais nem menos, com a diferença de que não é a cada execução que tudo é realmente copiado para o novo diretório criado.</p>
<p>Somente os arquivos/diretórios modificados são criados e, para o restante, somente hardlinks para os arquivos originais criados como resultado da primeira execução do script são criados. O script mantém um arquivo de controle para saber qual o momento no tempo da última execução e ter uma base para saber a partir de qual ponto deve checar por modificações em suas próximas invocações.</p>
<p>O único detalhe é que, como hardlinks não funcionam entre dispositivos (ou seja, entre partições ou discos diferentes), todos os backups devem ser armazenados no mesmo disco ou partição de disco. Sempre, sem fugir dessa regra para não ter uma bela surpresa com espaço em disco astronômico sendo consumido sem necessidade.</p>
<p>Se interessou ? Ok, mão na massa então. Simplesmente copie o script postado em sua íntegra abaixo e grave-o com um nome qualquer desejado, torne-o executável e preencha o valor das variáveis <b>target</b>, <b>sources</b> e <b>lastrunfile</b>, ou seja, o local onde os backups serão criados, qual o conteúdo que será alvo de backup e qual a localizaçao do arquivo que conterá a informação do último momento no tempo em que a última execução do backup foi feita (ele é criado automaticamente na primeira execução do script), respectivamente.</p>
<p>O conteúdo completo do script é o seguinte :</p>
<p><code><br />
#!/bin/bash</p>
<p># Name        : versioned-backup.sh<br />
# Author      : André Luís Lopes <andrelop @andrelop.org><br />
# Description : A simple shell script which deploys a nice<br />
#               versioned backup solution based on rsync&#8217;s<br />
#               hardlinking capability<br />
# Version     : 0.0.1<br />
# License     : GPL (General Public License) version 2</p>
<p># Where&#8217;s the rsync binary<br />
rsync=&#8221;/usr/bin/rsync&#8221;<br />
# The miminal rsync options we absolutely want<br />
rsyncminopts=&#8221;-az&#8221;<br />
# Our target directory, i.e, where we are going<br />
# to dump everything<br />
target=&#8221;/backup/archives&#8221;<br />
# A space separated list of directories we want to backup<br />
sources=&#8221;/etc /home&#8221;<br />
# The current point-in-time (pit), constructed in<br />
# the DD-MM-YYY-HH:MM:SS format<br />
pit=$(date +%d-%m-%Y-%H:%M:%S)<br />
# The file which will store the point-in-time<br />
# information about our last snapshot run<br />
lastrunfile=&#8221;/backup/archives/lastrun&#8221;</p>
<p># Ensure it works even when running for the very first<br />
# time, as we create the target place where we are going<br />
# to dump everything and the base directory to where we<br />
# are going to hardlink further snapshots to<br />
if [ ! -f $lastrunfile ] ; then<br />
  mkdir -p $target/$pit || true<br />
  echo $pit > $lastrunfile<br />
  for source in $sources ; do<br />
    $rsync $rsyncminopts $source $target/$pit<br />
  done<br />
  exit 0<br />
fi</p>
<p># As we are dealing with situations where we would need to<br />
# be able to create snapshots every second and be able to<br />
# differentiate between them, we create our point-in-time<br />
# target directory for the current second<br />
mkdir -p $target/$pit</p>
<p># Create the snapshot of every source directory from the<br />
# current point-in-time into our specific point-in-time<br />
# directory and hardlink all the files and directories which<br />
# where not modified since the last snapshot run<br />
for source in $sources ; do<br />
  $rsync $rsyncminopts &#8211;link-dest=$target/$(cat $lastrunfile) $source $target/$pit/<br />
done</p>
<p># Store the identification of our last run into a non-volatile<br />
# place so we can use it on further runs<br />
echo $pit > $lastrunfile<br />
</andrelop></code></p>
<p>Simplesmente execute o script de tempos em tempos, provavelmente agendado no crontab de um usuário que tenha permissões de ler os arquivos que sofrerão o backup e gravar no local onde o backup deverá ser armazenado (o root serve, mas não necessariamente precisa ser ele). É isso. Simples e fácil. Deixe o cron, o anacron ou seu agendador de tarefas preferido sendo executado e esqueça de suas preocupações com backup.</p>
<p>Lógico que o script pode melhorar bastante. Na verdade, tenho algumas idéias para melhorá-lo já a algum tempo, mas venho usando essa mesma solução a alguns meses sem maiores problemas e ela vem me atendendo bem, por isso nunca achei que fosse necessário melhorá-lo.</p>
<p>Funciona tão bem que algumas pessoas na empresa onde trabalho utilizam uma versão modificada dele, a qual eu modifiquei levemente para que o transporte ssh do rsync fosse utilizado, de forma que eu tivesse a mesma funcionalidade, mas em um ambiente em que o dispositivo que recebe o backup é uma partição de disco em um servidor remoto.</p>
<p>A imaginação é o limite. O que achou da solução ? Gostou ? Comente suas impressões e me deixe feliz ou profundamente triste caso minha solução seja muito tosca <img src='http://www.andrelop.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2007/10/29/prevencao-virtual-102-usando-backups-pessoais-versionados-the-even-cheaper-way/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Masoquismo virtual 101 : mantendo lixo fora de sua caixa-postal (the cheap way)</title>
		<link>http://www.andrelop.org/blog/2007/10/28/masoquismo-virtual-101-mantendo-lixo-fora-de-sua-caixa-postal-the-cheap-way/</link>
		<comments>http://www.andrelop.org/blog/2007/10/28/masoquismo-virtual-101-mantendo-lixo-fora-de-sua-caixa-postal-the-cheap-way/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 02:08:54 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		
		<category><![CDATA[DebianBR]]></category>

		<category><![CDATA[postfix]]></category>

		<category><![CDATA[postgrey]]></category>

		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.andrelop.org/blog/2007/10/28/masoquismo-virtual-101-mantendo-lixo-fora-de-sua-caixa-postal-the-cheap-way/</guid>
		<description><![CDATA[Com exceção das pessoas que não estão ligadas a área de tecnlogia e, por isso, para as quais não consigo explicar o que faço, a maioria absoluta das pessoas com as quais comento sobre o fato de eu gostar de lidar com implantação e configuração de servidores de e-mail me acham no mínimo ligeiramente lesado [...]]]></description>
			<content:encoded><![CDATA[<p>Com exceção das pessoas que não estão ligadas a área de tecnlogia e, por isso, para as quais não consigo explicar o que faço, a maioria absoluta das pessoas com as quais comento sobre o fato de eu gostar de lidar com implantação e configuração de servidores de e-mail me acham no mínimo ligeiramente lesado mentalmente.</p>
<p>Eu posso entender o que elas sentem. Hoje em dia, com serviços de múltiplos gigabytes de espaço sendo oferecidos gratuitamente (caramba, mais de 4GB no <a href="http://gmail.google.com/">Gmail</a> é um bom espaço só para mensagens), a utilização cada vez maior de webmails e a complexidade de se manter um servidor de e-mail próprio saudável devido as inúmeras pragas virtuais que se propagam como, bem &#8230; pragas, ninguém em sã consciência optaria por manter seu próprio servidor de e-mails.</p>
<p>Isso pode ser material para análise futura, quando quiserem identificar quando meus problemas mentais começaram a me afetar de forma mais intensa, mas eu tenho que dizer : eu mantenho meu próprio servidor de e-mails. E, pasmem, eu me divirto fazendo isso. Na verdade, estava dias desses mesmo pensando sobre como diminuir meus gastos com hospedagem de meu servidor virtual, mas quando cheguei a conclusão de que teria que abrir mão de ter meu próprio servidor de e-mails, tive que adiar a decisão para um futuro distante, lá para perto da época em que eu tiver que fazer a renovação de meu plano de hospedagem, só no próximo ano.</p>
<p>Uma das coisas mais interessantes em manter servidores de e-mails (eu mantenho alguns além do meu próprio, principalmente servidores de diversos clientes) é ter que sempre se atualizar para estar por dentro das técnicas e ferramentas que podem ser utilizadas para combater a sempre crescente mania de malucos que acham que você está interessado em adquirir viagra diariamente tem de tentar lhe convencer a comprar alguma coisa inútil.</p>
<p>Uma das formais mais fáceis e eficientes (por enquanto, isso pode mudar rápido) de se evitar receber muito lixo virtual é usando alguma solução de <a href="http://en.wikipedia.org/wiki/Greylisting/">greylisting</a>, em adição a outras técnicas de combate a lixo eletrônico circulando via e-mail.</p>
<p>A técnica de greylisting se aproveita do fato de que uma grande parcela dos spammers não tentam reenviar as mensagens após a primeira tentativa de envio ter gerado uma falha de entrega. Logicamente, eles vão aprender a fazer isso mais cedo ou mais tarde e alguns com menor índice de dislexia mental já aprenderam. Mas, até que a maioria aprenda, é um boa técnica que, em meu caso, chega a evitar que eu sequer repasse spam legítimo para meu sistema antispam checar, o que também auxilia na economia de recursos de processamento e memória.</p>
<p>Como utilizo o famoso <a href="http://en.wikipedia.org/wiki/Mail_transfer_agent">MTA</a> <a href="http://www.postfix.org/">Postfix</a>, utilizo também uma solução que se integra facilmente ao mesmo : o <a href="http://postgrey.schweikert.ch/">Postgrey</a>, sendo executado como um servidor de políticas.</p>
<p>A teoria é simples : o Postgrey fica em execução constantemente como um daemon, ouvindo em uma porta TCP local específica, através da qual o Postfix irá se comunicar com o mesmo. Sempre que uma mensagem nova chegar, antes de decidir entregá-la, o Postfix irá consultar o Postgrey, que irá checar se a mensagem pode ou não ser entregue. Para isso, ele pode checar sua whitelist própria (o que lhe permite excluir servidores ou endereços de destinatários dessa checagem) ou verificar se o destinatário já recebeu alguma mensagem do remetente ou do servidor remoto em questão.</p>
<p>Caso o mesmo já tenho recebido, o Postgrey não rejeita a mensagem e a devolve para o Postfix, para que o mesmo possa fazer o que for necessário com a mesma : geralmente entregá-la ao usuário final, mas, dependendo de como seu servidor está configurado, também seria possível repassá-la a qualquer outro sistema antispam que você possua já configurado (o meu caso).</p>
<p>Caso seja a primeira vez que a mensagem em questão esteja sendo recebida do remetente ou do servidor remoto em questão, a mensagem é temporariamente rejeitada. Mas a rejeição se dá devido ao Postfix responder com um código de retorno do protocolo SMTP que indica que a mensagem foi rejeitada <strong>temporariamente</strong> e não permanemtemente.</p>
<p>Para qualquer MTA minimamente bem configurado, isso signifca : ok, o servidor na outra ponta parece estar impossibilitado de receber minhas mensagens neste exato momento, então depois tento novamente. E, logicamente, quando a nova tentativa é feita, a mensagem é aceita. Lógico, você pode configurar o tempo necessário para aceitar uma nova tentativa, de forma que somente após esse tempo passado a mensagem seja aceita. Geralmente, são utilizados apenas alguns minutos (5 minutos, por exemplo), o que não implica em um atraso tão grande na entrega das mensagens e, mesmo assim, esse atraso só acontece no primeiro envio.</p>
<p>Ok, explicada a utilidade, vamos botar a mão na massa. Antes de mais nada, instale o Postgrey em seu servidor de e-mails baseado no Postfix. Não vou citar aqui como fazê-lo porque cada Unix ou mesmo cada distribuição Linux possui sua própria forma de instalação de software, mas posso citar que, usando Debian, o software está apenas a um <strong>aptitude</strong> de distância.</p>
<p>Software instalado e o daemon em execução (o que é o padrão após a instalação do pacote Debian), nos resta apenas configurar a integração do Postfix com o mesmo. Para isso, simplesmente vamos inserir a chamada ao uso do Postgrey como um servidor de políticas como um dos valores do parâmetro <strong>smtpd_recipient_restrictions</strong> no arquivo de configuração principal do Postfix, o <strong>main.cf</strong> (em Debian, ficam em <em>/etc/postfix/main.cf</em>).</p>
<p>Mnha configuração básica para esse parâmetro era a seguinte :</p>
<p><code>smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination</code></p>
<p>Após a inserção do parâmetro para a integração com o Postgrey, esse parâmetro ficou da seguinte forma :</p>
<p><code>smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_policy_service inet:127.0.0.1:60000, reject_unauth_destination</code></p>
<p>Por último, simplesmente fiz um <strong>reload</strong> no Postfix para que a nova configuração passasse a ser válida :</p>
<p><code># postfix reload</code></p>
<p>Pronto! Deste ponto em diante, todas as mensagens que chegaram em seu servidor passaram pela checagem feita pelo Postgrey, a solucáo de greylisting pela qual eu optei. Venho usando o Postgrey há mais de um ano e meio com sucesso e posso dizer que, empiricamente falando, algo entre 80% e 90% dos spam legítimos são parados por esse sistema antes mesmo de meu servidor ter que gastar ciclos de processador e memória tentando checar esse lixo todo para classificá-lo como spam.</p>
<p>O que vocês acharam deste post ? Devo começar a postar conteúdo mais técnico como esse ou devo me ater estritamente ao formato anterior do blog, com análise de diversos acontecimentos ocorridos na cena de software livre mundial e expressar minha opinião sobre os mesmos ? Você, leitor, é o chefe. O que manda ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2007/10/28/masoquismo-virtual-101-mantendo-lixo-fora-de-sua-caixa-postal-the-cheap-way/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
