<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>andrelop's blog</title>
	
	<link>http://www.andrelop.org/blog</link>
	<description>Ramblings of a hard to follow human being</description>
	<lastBuildDate>Sat, 07 Nov 2009 21:57:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/andrelop" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>A new $HOME for this blog</title>
		<link>http://feedproxy.google.com/~r/andrelop/~3/D2Vrg4WyEMo/</link>
		<comments>http://www.andrelop.org/blog/2009/11/07/a-new-home-for-this-blog/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 21:57:48 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/usr/share/wordpress/wp-content/plugins/autometa/autometa.php</b> on line <b>300</b><br />
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[DebianBR]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Setup]]></category>
		<category><![CDATA[littletips]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[vps]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.andrelop.org/blog/?p=151</guid>
		<description><![CDATA[I wanted to let my readers know that I migrated from my previous hosting to a new one. There was nothing wrong with the previous one, but I wanted to go out shopping for something cheaper and still as reliable.
Lots of friends gave me good recommendations for Linode and the price was tempting so I [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to let my readers know that I migrated from <a href="http://www.rimuhosting.com/">my previous hosting</a> to a <a href="http://www.linode.com/">new one</a>. There was nothing wrong with the previous one, but I wanted to go out shopping for something cheaper and still as reliable.</p>
<p>Lots of friends gave me good recommendations for Linode and the price was tempting so I thought : &#8220;Why not ?&#8221;.  The most noticeable advantage, apart from the price reduction, was the speed improvement, as I got myself a more powerful VPS and then now I have more room for new experiments.</p>
<p>Later I also noticed some little but very welcome improvements. These are just minor details, but together they account for a great experience. So, I&#8217;m here to let you guys now that if you want a good, reliable, speedy, and still cheap hosting provider for your VPS, just give Linode a try.</p>
<p>I&#8217;m sure you won&#8217;t be disappointed.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/j1BqF3adXV2WGdD7eGNl8eOMnPs/0/da"><img src="http://feedads.g.doubleclick.net/~a/j1BqF3adXV2WGdD7eGNl8eOMnPs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/j1BqF3adXV2WGdD7eGNl8eOMnPs/1/da"><img src="http://feedads.g.doubleclick.net/~a/j1BqF3adXV2WGdD7eGNl8eOMnPs/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/andrelop/~4/D2Vrg4WyEMo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2009/11/07/a-new-home-for-this-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.andrelop.org/blog/2009/11/07/a-new-home-for-this-blog/</feedburner:origLink></item>
		<item>
		<title>O que lhe fortalece é o que lhe mata</title>
		<link>http://feedproxy.google.com/~r/andrelop/~3/pqpt6f4cIjY/</link>
		<comments>http://www.andrelop.org/blog/2009/07/18/o-que-lhe-fortalece-e-o-que-lhe-mata/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 15:14:34 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/usr/share/wordpress/wp-content/plugins/autometa/autometa.php</b> on line <b>300</b><br />
		<category><![CDATA[DebianBR]]></category>
		<category><![CDATA[Portuguese]]></category>
		<category><![CDATA[reflexoes]]></category>
		<category><![CDATA[braindump]]></category>
		<category><![CDATA[informação]]></category>
		<category><![CDATA[nichos]]></category>
		<category><![CDATA[sociedade]]></category>
		<category><![CDATA[tecnologia]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.andrelop.org/blog/?p=148</guid>
		<description><![CDATA[Não sei ao certo se já ouvi ou li isso em algum lugar, mas o fato é que a frase título desse post me veio a cabeça hoje pela manhã, em mais uma das muitas massagens intelectuais que teimam em não me abandonar.
Provavelmente eu estava pensando em algum outro assunto, mas acabei entendendo que é [...]]]></description>
			<content:encoded><![CDATA[<div>Não sei ao certo se já ouvi ou li isso em algum lugar, mas o fato é que a frase título desse post me veio a cabeça hoje pela manhã, em mais uma das muitas massagens intelectuais que teimam em não me abandonar.</p>
<p>Provavelmente eu estava pensando em algum outro assunto, mas acabei entendendo que é possível perceber claramente a comprovação da verdade contida nessa frase em muitas situações e em muitos campos do conhecimento humano.</p>
<p>Provavelmente estou me apropriando de um pensamento de um sábio chinês, mas eu não fui capaz de pesquisar se é esse realmente o caso. O que importou, nesse caso, foi o momento, uma vez que eu já estava percebendo o padrão do esquecimento das idéias sendo iniciado.</p>
<p>É interessante notar que o conceito contido nessa frase, se relacionado a tecnologia, pode nos levar a também relacionar esse conceito a conhecida idéia de que a maioria das pessoas estão dispostas a aceitar algo de qualidade mediana caso isso lhe traga algum benefício não oferecido pelo produto/tecnologia/serviço de qualidade superior.</p>
<p>E, no final, após sofrermos muito tentando compreender porque isso ocorre, podemos ir tão fundo quanto alcançar motivos psicológicos, tanto que, a partir de um certo ponto, é menos desgastante nos rendermos a mediocridade e aceitarmos que um produto/tecnologia, por vezes, tem que oferecer menos para, na visão de seus possíveis usuários, oferecer mais.</p>
<p><strong>Less is more</strong>, como diziam os sábios, os quais já refletiram muito sobre esse assunto há tempos atrás e nos deixaram suas impressões do mundo, do ser humando, do universo e tudo mais. Mesmo que nós,<em> Unixistas</em>, saibamos que <em>less</em> e <em>more</em> são criaturas independentes em nosso mundo, representando conceitos opostos.</p>
<p>Uma tecnologia ou produto pode facilmente morrer não por ser ruim, mas sim por oferecer funcionalidades ou liberdades demais. Sim, estranho, e eu ainda sou resistente a aceitar essa idéia, como a maioria dos poucos leitores deste blog provavelmente o são.</p>
<p>Mas o fato é que, infelizmente (ou felizmente, tudo possui ao menos dois pontos de vista), o mundo não é formado de pessoas que compartilham nossa mesma visão de tudo e todos. Por isso, o que é ruim para nós pode ser completamente aceitável, ou mesmo perfeito, para outros.</p>
<p>Por vezes, um subconjunto de um produto ou tecnologia, mesmo sendo incompleto e, em nossa visão técnica da realidade, inaceitável para os mais exigentes, é exatamente do que a maioria das pessoas precisa. Ou, pelo menos, do que a maioria das pessoas vai pensar precisar após uma certa dose de psicologia e marketing serem embrulhados com o produto ou tecnologia em questão.</p>
<p>Lógico, sempre existirão os mais exigentes, que não aceitarão algo de qualidade duvidável somente pelo simples fato de serem, digamos, <strong>mais simples</strong>, para não recorrer a termos chulos.</p>
<p>Porém, a esses, pode ser atribuído um termo interessante inventado há um certo tempo :<strong> nicho</strong>. Sim. Nicho. O que desvia da curva padrão, do largamento aceito pelo público mediano, geralmente é o nicho.</p>
<p>E, apesar de sempre que leio a palavra <em>nicho</em> algo depreciativo me vem a mente, um nicho não é realmente algo ruim. É sim, obviamente, algo que não faz parte da realidade ou é objeto de desejo das massas e, só por isso, já tem seu valor. Mas é também algo que denota um público mais seletivo.</p>
<p>Se você não se contenta com o que lhe é oferecido, o padrão que é fornecido a todos, o mais estrategicamente e corporativamente viável para os fornecedores, a ponto de ser oferecido como o produto principal, desejado pela grande massa, você é seletivo e, provavelmente, faz parte de um nicho qualquer.</p>
<p>Depois de muito tempo, aprendi a aceitar que faço parte de diversos nichos. Sim, porque, como objetos passíveis de aceitarem inúmeras <em>tags</em>, podemos estar contidos em diversos nichos ao mesmo tempo, nichos não necessariamente relacionados entre si.</p>
<p>Gosto musical, preferência literária, tecnologias preferidas e muitos outros exemplos. Nichos existem em todos os lugares, para todos os surfadores da onda que desvia a curva.</p>
<p>Felizmente, nos tempos atuais, não somos mais tão excluídos da sociedade como éramos anteriormente. Ao contrário, atualmente, ser diferente é ser <strong>cool</strong>. Não que você tenha que ser diferente para parecer cool, até mesmo porque tudo que é forçado é facilmente detectável.</p>
<p>Também felizmente, como escritores pensadores de &#8220;<strong><em>nichos</em></strong>&#8221; nos fizeram perceber, <em>a cauda é bem mais longa</em> e, devido a isso, há espaço para qualquer idéia, pessoa, tecnologia, produto, vício ou &#8220;droga&#8221; preferida sobreviver e, com isso, novos e interessantes nichos serem criados.</p>
<p>A era da informação nos trouxe a sociedade dos nichos, da qual eu, orgulhosamente, começo a me aceitar como participante. E você ? Ainda vai continuar a seguir a curva padrão ?</p></div>

<p><a href="http://feedads.g.doubleclick.net/~a/NM2LJFM5NmoLJZp5rpKm9iEro0I/0/da"><img src="http://feedads.g.doubleclick.net/~a/NM2LJFM5NmoLJZp5rpKm9iEro0I/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/NM2LJFM5NmoLJZp5rpKm9iEro0I/1/da"><img src="http://feedads.g.doubleclick.net/~a/NM2LJFM5NmoLJZp5rpKm9iEro0I/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/andrelop/~4/pqpt6f4cIjY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2009/07/18/o-que-lhe-fortalece-e-o-que-lhe-mata/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.andrelop.org/blog/2009/07/18/o-que-lhe-fortalece-e-o-que-lhe-mata/</feedburner:origLink></item>
		<item>
		<title>On the idiocy of being “smart” : how not to look like a dumb person</title>
		<link>http://feedproxy.google.com/~r/andrelop/~3/RwxVRoeBsP0/</link>
		<comments>http://www.andrelop.org/blog/2009/07/05/on-the-idiocy-of-being-smart-how-not-to-look-like-a-dumb-person/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 21:23:44 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/usr/share/wordpress/wp-content/plugins/autometa/autometa.php</b> on line <b>300</b><br />
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[DebianBR]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[dumb person]]></category>
		<category><![CDATA[gurus]]></category>
		<category><![CDATA[idiocy]]></category>
		<category><![CDATA[information sucker]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[padawan]]></category>
		<category><![CDATA[smart]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.andrelop.org/blog/?p=144</guid>
		<description><![CDATA[Since the begginings of times, people have been trying to come up with new ways to become smarter, leaner, cleaner and sexier. Surely, not having to do anything to actually get to this nirvana state would also be a more than desired plus.
Personally, I also tend to want to get some of these niceties myself, [...]]]></description>
			<content:encoded><![CDATA[<p>Since the begginings of times, people have been trying to come up with new ways to become smarter, leaner, cleaner and sexier. Surely, not having to do anything to actually get to this nirvana state would also be a more than desired plus.</p>
<p>Personally, I also tend to want to get some of these niceties myself, but at least I know that it&#8217;s not that easy to come to a master state, specially because I&#8217;m not at this Jedi state on none of these areas.</p>
<p>Back when I was starting to learn my way through all this tech stuff, I realised that if I really wanted to master something, I should do my homework and try to find out a way to learn by myself, not having to rely on someone else for everything.</p>
<p>Sure, there are those really smart people, which we often call our &#8220;gurus&#8221;, and to which we could try to resort to when things aren&#8217;t really working the way we had been trying to make them work.</p>
<p>The sad reality is, by being &#8220;gurus&#8221;, those really important and highly requested beings, these people are really illuminated and have no time to answer to each and every silly question we would like to ask them so we must find our way somehow and only resort to them as a really last resort, when everything else fails and there&#8217;s no hope anymore.</p>
<p>That was fine with me as I always liked the feeling of discovering new thigs by myself, understanding how things really worked and how they could be driven and manipulated in order to accomplish goals which would please me. Besides, this is fun.</p>
<p>By doing this, I learnt a lot and still am learning more each and every day. That&#8217;s &#8220;The Right Way&#8221;, as they say, and really is how things should be &#8230; except if you are a newcomer these days, it seems.</p>
<p>I&#8217;m by no means a &#8220;guru&#8221; and would surely not cassify me as one, but I think I have talked to many of these mythological beings over the years so I can tell you what you shouldn&#8217;t be doing when trying to approach them.</p>
<p>First of all, please, pretty please, try to do your homework before resorting to more knowledgeable people about a given subject. The more knowledgeable people would surely be pleased to help you if you show them you deserve the right to be helped.</p>
<p>When starting to work with a technology you do not master or even don&#8217;t know a thing about yet, the knowledgment about such a tecnology wouldn&#8217;t magically be transfered from your local guru&#8217;s brain to yours.</p>
<p>Even if your local &#8220;guru&#8221; is a nice person and get to waste some sentences with you about such a tecnology, do not pretend you can master all about something only by listening to some words from him/her for a couple of minutes.</p>
<p>Well, let&#8217;s say that if your guru can give you some initial hints without you firstly demonstrating him/her you did your homework, take it as just it : hints. Follow these hints as clues so you can start researching about the given subject and then later show him you was able to learn a lot by yourself.</p>
<p>Your guru will be pleased and surely will start considering you as a good padawan, a padawan worth the time spent explaining things to. The universe will start doing its magic and things will start working for you, who will also start feeling good for being admired by your peers.</p>
<p>Yes, that&#8217;s how &#8220;Show me the way I should follow&#8221; works. You know, &#8220;Show me the way I should follow&#8221; isn&#8217;t &#8220;Do all my work for me&#8221;. The later happens to be called &#8220;consultancy&#8221; and can be arranged for a negotiable amount of money between the involved parts.</p>
<p>Also, please, don&#8217;t take it as personal when someone doesn&#8217;t want to give you a &#8220;hint&#8221; about something. Remember that he/she could be really busy, not in the mood or simply exercising his/her right to ignore you if you don&#8217;t show him/her you are worth the time he/she will spent explaining things to you.</p>
<p>Personally, I refuse to reply to people who consistently try to use me as some sort of human search engine. Even if I do know the answer for some question, most of the time I try to Google for it before replying to someone who asked me about a given subject.</p>
<p>If I find out that the answer for a question someone asked can be found easily between the first and third hit returned by Google, I happen to ask the person who asked me the question if he/she really tried to research a bit about the subject before asking me about it.</p>
<p>The answer is a strange mix. Some people say the truth and tell me they asked me because they are in a hurry and couldn&#8217;t afford the time it would take them to search for an answer when I was readily available quickly. Sad, but at least they are saying the truth.</p>
<p>Some people try to lie and tell me that they tried to find an answer and had no luck despite researching for a long time. Strangely, they seem to stop the conversation right after when I show them that putting the term on Google&#8217;s search box and hitting the search button would bring the answer for their problem as the first hit.</p>
<p>The truth is that if you get all the answers for free from your local guru, you will never learn how to look for answers by yourself and will indefinitely depend on someone else to get your job done. Not a pleasant situation, even if you are silly enough expecting to live like a information sucker for your entire life.</p>
<p>When you get in a situation in which you have no workmates or available friends at hand to help you, you won&#8217;t be able to accomplish your tasks. Your boss then won&#8217;t be nice when that happens and he/she will surely start considering replacing you with someone else.</p>
<p>The opinion of your workmates, which by now could easily see you as a major source of loads of lost time, won&#8217;t help you keep your job either. You can be lucky and get the confidence of your workmates, but be sure that management will notice and you won&#8217;t last too much on your current position. Gurus have the tendency to be good at finding these kind of people and management also have the tendency of listening to gurus. Do the math.</p>
<p>Do the right think from the beggining. Do your homework, work out your own way, try as hard as possible to find out solutions for problems by yourself and only resort to your local guru when there&#8217;s no way for you to go forward about solving a given problem by yourself.</p>
<p>Also, even when these situations come up, try to show to your local gurus that you did your homework and explain clearly to them what you have managed to find out and where exactly you are having a hard time progressing.</p>
<p>This will surely help not only your local guru to help you best, but also surely will get him/her to take you as a really smart person, a person which is worth losing time with and worth  adopting as a future padawan.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/p8TGsUzuSd_wiEBDi50_T8OvNCk/0/da"><img src="http://feedads.g.doubleclick.net/~a/p8TGsUzuSd_wiEBDi50_T8OvNCk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/p8TGsUzuSd_wiEBDi50_T8OvNCk/1/da"><img src="http://feedads.g.doubleclick.net/~a/p8TGsUzuSd_wiEBDi50_T8OvNCk/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/andrelop/~4/RwxVRoeBsP0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2009/07/05/on-the-idiocy-of-being-smart-how-not-to-look-like-a-dumb-person/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.andrelop.org/blog/2009/07/05/on-the-idiocy-of-being-smart-how-not-to-look-like-a-dumb-person/</feedburner:origLink></item>
		<item>
		<title>Criando conteúdo a partir do Tomboy</title>
		<link>http://feedproxy.google.com/~r/andrelop/~3/b0KO3KPy-ZE/</link>
		<comments>http://www.andrelop.org/blog/2009/06/14/criando-conteudo-a-partir-do-tomboy/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 02:26:47 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/usr/share/wordpress/wp-content/plugins/autometa/autometa.php</b> on line <b>300</b><br />
		<category><![CDATA[DebianBR]]></category>
		<category><![CDATA[Portuguese]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[post-it]]></category>
		<category><![CDATA[tomboy]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.andrelop.org/blog/?p=142</guid>
		<description><![CDATA[Muitos já devem ter ouvido falar do Tomboy. É um simples e simpático utilitário de notas pessoais, no estilo Post-It, mas que utiliza o mesmo conceito de links de um Wiki para ligar idéias/notas.
Já havia começado a utilizá-lo há um bom tempo atrás, mas, por algum motivo que não me vem a mente no momento, [...]]]></description>
			<content:encoded><![CDATA[<div>Muitos já devem ter ouvido falar do <strong>Tomboy</strong>. É um simples e simpático utilitário de notas pessoais, no estilo Post-It, mas que utiliza o mesmo conceito de links de um <strong>Wiki</strong> para ligar idéias/notas.</p>
<p>Já havia começado a utilizá-lo há um bom tempo atrás, mas, por algum motivo que não me vem a mente no momento, simplesmente deixei de utilizá-lo e acabei esquecendo de sua existência.</p>
<p>Nos últimos dias, estava procurando uma solução para me auxiliar a anotar pensamentos e idéias rápidas, de forma simples, sem muita frescura, somente para que as mesmas não se percam. Com o tempo, de pois, as mesmas podem ser mais bem trabalhadas. O importante é, como em fotografia, capturar o momento.</p>
<p>O Tomboy é útil exatamente para isso. Você está lendo, ouvindo, escrevendo ou vendo algo e uma idéia interessante surge. Ao invés de se iludir tentando guardá-la na cabeça e correr o risco de perdê-la posteriormente, você simplesmente a anota em uma nota no Tomboy.</p>
<p>Durante os dois ou três dias em que recomecei a utilizá-lo, o Tomboy já me auxiliou a organizar idéias pessoais e profissionais e já consegui finalizar algumas tarefas que sempre ficavam pendentes por eu acreditar que eram muito simples para serem anotadas.</p>
<p>Ledo engano, visto que sempre acaba me esquecendo das mesmas e, no final das contas, nunca as realizava, já que nunca lembrava das mesmas ao emaranhado de idéias em ebulição que pintam em minha mente a todo momento.</p>
<p>Um do recursos que eu procuro em qualquer software que seleciono para incluir em minha rotina de uso é a capacidade de, além de ser simples, não atrapalhar. Ou seja, o software precisa fazer o que se propõe a fazer e não criar empecilhos e/ou dificuldades para que seu uso seja efetivo.</p>
<p>O Tomboy fornece isso, ficando lá, estacionado quietinho no painel do <strong>GNOME</strong> como todo applet bem comportado deveria fazer, sendo facilmente alcançado com um clique ou uma única combinação de teclas, aparecendo somente quando chamado e desaparecendo o mais rápido possível para não interferir no fluxo de trabalho.</p>
<p>Além dessas características, outra coisa que o Tomboy oferece é uma arquitetura de plugins. Ele já é fornecido com inúmeros plugins e possui diversos outros desenvolvidos por terceiros, os quais acrescentam funcionalidades interessantes.</p>
<p>Um exemplo são os plugins de sincronização de notas. Enquanto a sincronização de notas online não se estabelece como um recurso carimbado como estável e o serviço Snowy (o qual utilizará a nova <strong>Tomboy Web REST API</strong> para colocar suas notas na nuvem) não é oficialmente lançado, podemos fazer uso dos plugins de sincronização de notas em diretórios locais ou remotamente via WebDAV ou SSH, usando sshfs/FUSE.</p>
<p>Venho usando a sincronização de notas através do plugin de sincronização SSH, que utiliza a tecnologia FUSE para &#8220;montar&#8221; um espaço em um servidor remoto, via SSH, e armazenar as notas do Tomboy lá, remotamente.</p>
<p>Dessa forma, é possível ter acesso a suas notas a partir de qualquer computador que tenha o Tomboy instalado. Não possuo Microsoft Windows instalado, mas já testei o Tomboy em GNU/Linux e MacOS e existem versões para Windows. Suas notas em qualquer lugar, a partir de qualquer plataforma.</p>
<p>Por ser de fácil uso, o Tomboy lhe incita a escrever notas sobre os mais simples e, aparentemente, mais <strong>inofensivos</strong> pensamentos possíveis. Isso é ótimo, pois invariavelmente você acaba sempre se lamentando de ter esquecido uma boa idéia que lhe passou pela cabeça e acabou sendo esquecida.</p>
<p>Idéias boas são raras. Não devemos tentar ficar exercitando o cérebro tentando armazená-las indefinidamente. Além de ser quase impossível, existem outros usos mais nobres para nossas mentes do que ficar guardando cada pequeno pensamento. Deixe uma ferramenta como o Tomboy fazer o trabalho sujo para você.</p>
<p>Um outro exemplo de plugin que comecei a utilizar agora e que, acredito, passarei a utilizar com uma frequência muito maior daqui em diante é o <strong>TomboyBlogposter</strong>, um plugin para postar suas nota do Tomboy como posts em seu blog.</p>
<p>Este, senhoras e senhores, é o primeiro post que vos ofereço, diretamente do meu novo &#8220;<em>bloco de notas</em>&#8221; pessoal virtual, o Tomboy.</div>

<p><a href="http://feedads.g.doubleclick.net/~a/md8peA-FPWFjGxrRHTDZCw4acRs/0/da"><img src="http://feedads.g.doubleclick.net/~a/md8peA-FPWFjGxrRHTDZCw4acRs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/md8peA-FPWFjGxrRHTDZCw4acRs/1/da"><img src="http://feedads.g.doubleclick.net/~a/md8peA-FPWFjGxrRHTDZCw4acRs/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/andrelop/~4/b0KO3KPy-ZE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2009/06/14/criando-conteudo-a-partir-do-tomboy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.andrelop.org/blog/2009/06/14/criando-conteudo-a-partir-do-tomboy/</feedburner:origLink></item>
		<item>
		<title>Geeks, nerds e a difícil fuga da depressão</title>
		<link>http://feedproxy.google.com/~r/andrelop/~3/SfskD59-Jsg/</link>
		<comments>http://www.andrelop.org/blog/2009/06/13/geeks-nerds-e-a-dificil-fuga-da-depressao/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 18:36:28 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/usr/share/wordpress/wp-content/plugins/autometa/autometa.php</b> on line <b>300</b><br />
		<category><![CDATA[DebianBR]]></category>
		<category><![CDATA[Portuguese]]></category>
		<category><![CDATA[condições de trabalho]]></category>
		<category><![CDATA[geeks]]></category>
		<category><![CDATA[nerds]]></category>
		<category><![CDATA[pessoas]]></category>
		<category><![CDATA[profissionais de TI]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.andrelop.org/blog/?p=138</guid>
		<description><![CDATA[Vem se tornando uma tendência. Diariamente, recebo pequenas provas de que, apesar da tecnologia nos trazer a possibilidade de termos contato com cada vez mais pessoas, a mesma também traz problemas que anteriormente seriam impensáveis e acaba nos afastando de muitas pessoas.
Tudo pode ser feito instantaneamente. E se existe essa possibilidade, então o lema agora [...]]]></description>
			<content:encoded><![CDATA[<p>Vem se tornando uma tendência. Diariamente, recebo pequenas provas de que, apesar da tecnologia nos trazer a possibilidade de termos contato com cada vez mais pessoas, a mesma também traz problemas que anteriormente seriam impensáveis e acaba nos afastando de muitas pessoas.</p>
<p>Tudo pode ser feito instantaneamente. E se existe essa possibilidade, então o lema agora é que assim deve ser. Afinal, por quê não aproveitar em sua totalidade tudo o que a tecnologia tem a nos oferecer ? O grande problema nisso é que, no meio do caminho, nos esquecemos que, para lidar com a tecnologia, ainda precisamos de pessoas.</p>
<p>E pessoas, ao contrário da tecnologia, não costumam ser instantâneas, imediatas, tão perfeitas ao ponto de lhes exigirmos que tudo esteja pronto para ontem. Por mais que tenhamos visto isso há décadas em filmes, pessoas ainda não aprenderam o dom da telepatia e, por isso, ainda não aprenderam a interpretar nossos pensamentos, atendendo nossos desejos antes mesmo de nos pronunciarmos verbalmente sobre os mesmos.</p>
<p>Acostumados com a rapidez da tecnologia, assumimos que as coisas devem ser feitas de forma instantânea. Não aceitamos esperar em filas de bancos se podemos resolver tudo pelo serviço de atendimento online. Não queremos conversar com atendentes se um sistema de menus e alguns toques nas teclas certas nos levam ao o que queremos.</p>
<p>Cada vez mais, nos distanciamos do contato com o ser humano, exatamente por estarmos acostumados a lidar com máquinas, geralmente perfeitas e rápidas, que não nos fazem perguntas indesejadas e somente realizam o que lhes comandamos. Em nossa visão, ao lidar diretamente com o ser humano, temos que retroceder em relação a nossas expectativas, a nosso desejo imediatista, porquê o ser humano, obviamente, (ainda?) não é uma máquina.</p>
<p>Algo interessante, que particularmente não imaginava que ocorreria tão cedo, é o fato das pessoas que lidam conosco, não necessariamente pessoas geeks, nerds e ou amantes da tecnologia, estarem começando a, elas também, ficarem dependentes da tecnologia e a perceber que o contato com sistemas automatizados trazem alguns benefícios ao seu dia-a-dia.</p>
<p>Se você sempre reclamou do atendente do serviço de telefonia ou de qualquer profissional com o qual você tenha que que lidar para resolver um problema com um serviço sendo prestado de forma indesejável, pare um pouco para imaginar que, você, geek ou nerd que trabalha na área de tecnologia, provavelmente também recebe ou receberá algum nível de hostilidade originada das pessoas com as quais você tem que lidar diariamente em sua profissão.</p>
<p>Seja um superior, um cliente ou um colega de trabalho, é comum perceber que as pessoas, atualmente, por estarem acostumadas a rapidez com que pode se resolver os problemas com a ajuda de máquinas, esperam que um problema, quando depende de você (ser humano) para ser solucionado, receba a mesma atenção e rapidez em sua resolução que normalmente se esperaria de um sistema automatizado.</p>
<p>Ou seja, se é algo que não pode ser resolvido imediatamente, invariavelmente, as pessoas que dependem da solução do problema ficarão de uma forma ou de outra insatisfeitas e, por vezes, vão lhe enxergar como o elo fraco na solução de seus problemas, o ser humano lento e desengonçado que ainda está lá, no meio do caminho, atrapalhando a solução rápida de seu problema que, na visão delas, poderia estar sendo resolvido por um sistema rápido e perfeito, que não faz perguntas e simplesmente resolve problemas.</p>
<p>Asbtraia o fato de que, geralmente, o problema a ser resolvido ainda não é passível de ser solucionado totalmente por uma máquina e/ou sistema e que, felizmente ou infelizmente, ainda é necessário que um humano ainda esteja lá, para ajudar onde as preciosas máquinas ainda não conseguem chegar.</p>
<p>O que as pessoas se esquecem é que, ao contrário do que a ficção científica nos faz acreditar, as máquinas não funcionam sozinhas. Elas precisam ser construídas, programadas e mantidas funcionando. Pode lhe parecer chocante, mas seu e-mail, seu aplicativo de mensagens instantâneas, seu serviço e/ou site preferido de rede social e tudo o mais o que você possa imaginar e que esteja disponível na Internet, depende de seres humanos para existirem e continuarem funcionando.</p>
<p>Os profissionais de tecnologia (porquê &#8220;<strong>profissionais de TI</strong>&#8221; e tão semana passada) são essenciais na sociedade moderna. E, mesmo assim, frequentemente nos esquecemos dos mesmos. Quando exigimos suporte via e-mail, mensagens instantâneas, telefone ou qualquer outro meio, nos irritamos quando nossas exigências não são prontamente atendidas. Nesse momento, e somente nesse momento, nos lembramos que existem pessoas por trás dos serviços.</p>
<p>Devemos nos lembrar que empresas são objetos. Paredes, mesas, cadeiras, papéis e outros objetos que, se não existissem, ainda assim, não seriam razões para impedir que uma pessoa conseguisse fazer algo bem feito e atingir um objetivo. A empresa, o local de trabalho, lhe fornece ferramentas, a pessoa é que fornece o trabalho. E as ferramentas não são todas essenciais, mas as pessoas, por outro lado, sempre são essenciais.</p>
<p>Vemos diariamente inúmeros exemplos de pessoas descontentes com seu trabalho. Começo a notar que, dentre outras razões, uma das principais razões para que isso aconteça é o fato de que as pessoas com as quais as mesmas interagem começam a esperar das mesmas ações e perfeição em um nível que os tornaria características inerentes de máquinas, não de seres humanos.</p>
<p>O Google não é legal. As pessoas que trabalham no Google são legais. A sua tecnologia preferida, sem a qual você não pode mais viver, não é perfeita. As pessoas que a criaram e que a mantém funcionando são os culpados por você acreditar que essa tecnologia preenche sua vida e a torna mais interessante. Essas pessoas é que trabalham para que você possa ter uma vida melhor.</p>
<p>Essas pessoas merecem <a href="http://etbe.coker.com.au/2009/06/11/it-jobs-and-working-conditions/">boas condições de trabalho</a>, o que nem sempre significa ter um computador mais novo ou acesso a uma nova tecnologia. Por vezes, oferecer melhores condições de trabalho significa simplesmente ser mais amigável, compreensível, mais humano.</p>
<p>Não cometer <a href="http://zyakannazio.eti.br/fudeblog/2006/06/20/como-nao-liderar-geeks/">erros comuns ao lidar com essas pessoas</a> é essencial, mas a maioria das empresas nas quais essas pessoas trabalham pecam em cometer esses mesmos erros. São coisas simples, óbvias para a maiorias dessas pessoas e, por isso, por vezes as mesmas se encontram em situações difíceis, pensando em como esse tipo de problema, que poderia ser evitado de maneira tão óbvia para as mesmas, ainda assim ocorre e constantemente as vitimam.</p>
<p><a href="http://renata.org/post/coisas-que-nerds-precisam-para-amar-seu-emprego/">Dicas de como tratar bem seus nerds/geeks</a> existem aos montes por aí. Se você não segue essas dicas, que lhe são dadas pelas próprias pessoas que sofreram em ambientes que lhes levaram a criar essas cartilhas de boa convivência, na visão das pessoas que sofrem com esses problemas, você não é um observado muito bom. E, talvez, você esteja prestes a perder essas pessoas.</p>
<p>E, infelizmente, ao contrário do que se imagina, dificilmente será possível conseguir pessoas como a que será perdida, ao contrário de objetos inanimados de escritório, que existem aos montes por aí e, estes sim, podem ser ignorados.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/EZ2_IZRL82pMgqW5DaEDQ5MbdMg/0/da"><img src="http://feedads.g.doubleclick.net/~a/EZ2_IZRL82pMgqW5DaEDQ5MbdMg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/EZ2_IZRL82pMgqW5DaEDQ5MbdMg/1/da"><img src="http://feedads.g.doubleclick.net/~a/EZ2_IZRL82pMgqW5DaEDQ5MbdMg/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/andrelop/~4/SfskD59-Jsg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2009/06/13/geeks-nerds-e-a-dificil-fuga-da-depressao/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://www.andrelop.org/blog/2009/06/13/geeks-nerds-e-a-dificil-fuga-da-depressao/</feedburner:origLink></item>
		<item>
		<title>Virtualização em Linux hoje e amanhã</title>
		<link>http://feedproxy.google.com/~r/andrelop/~3/tB_H1FLVcuA/</link>
		<comments>http://www.andrelop.org/blog/2009/02/22/virtualizacao-em-linux-hoje-e-amanha/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 19:17:39 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/usr/share/wordpress/wp-content/plugins/autometa/autometa.php</b> on line <b>300</b><br />
		<category><![CDATA[DebianBR]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[virtualization]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.andrelop.org/blog/?p=123</guid>
		<description><![CDATA[Antes de mais nada, é importante notar que eu estava convencido a postar esta entrada no blog em inglês, até mesmo porque minhas postagens em inglês recebem muito mais leitura do que as postagens em português (bem mais, de 15 a 20 vezes mais, para ser sincero), mas decidi não fazê-lo por achar que seria [...]]]></description>
			<content:encoded><![CDATA[<p>Antes de mais nada, é importante notar que eu estava convencido a postar esta entrada no blog em inglês, até mesmo porque minhas postagens em inglês recebem muito mais leitura do que as postagens em português (bem mais, de 15 a 20 vezes mais, para ser sincero), mas decidi não fazê-lo por achar que seria interessante ter esse conteúdo em português, visto que eu mesmo procurei muito por algo do tipo e não consegui encontrar nada interessante.</p>
<p>Outro ponto importante a ser levando em consideração é que eu não sou um cientista da computação, um físico, um matemático e nem mesmo estudo profissionalmente ou a fundo sistema operacionais em um nível mais baixo. O que eu sou, isso sim, é um entusiasta do software livre que tem muita vontade de aprender sobre novas tecnologias e gosta de estudá-las um pouco mais do que a maioria das pessoas.</p>
<p>Dito isso, obviamente, absorva o conteúdo que irei escrever aqui com isso em mente e, também devido a isso, entenda que, como não sou e nem pretendo ser o dono da verdade, possivelmente muita coisa do que eu disser aqui pode não estar completamente correta. Cabe a você, leitor, pesquisar e tirar suas próprias conclusões com base no conteúdo aqui apresentado e a enorme quantidade de material adicional existente por aí.</p>
<p>Deixando os avisos de lado, é evidente que para quem quer que tenha acompanhando minhas postagens no blog ou no Twiiter/identi.ca que eu me interesso muito pelo assunto <em>virtualização</em>. Mais especificamente, tenho me interessado muito ultimamente pela solução de virtualização<a href="http://kvm.qumranet.com/kvmwiki"> KVM</a>. Não somente eu, aliás, visto que a mesma está recebendo colaborações maçiças de inúmeros grandes nomes e empresas do cenário do software livre (Red Hat, IBM, Intel, AMD, etc).</p>
<p>É fácil perceber, porém, que ainda existe muito preconceito em relação a essa solução. E nem todo o preconceito ainda existente é errado pois, na verdade, em relação a performance, outras soluções completamente baseadas no conceito de para-virtualização, como o <a href="http://www.xen.org/">Xen</a>, por exemplo, ainda são mais interessantes.</p>
<p>Porém, no estágio atualmente de desenvolvimento, o KVM já evoluiu muito e não é mais aquele brinquedo feio relegado aos testes informais de final de semana, que só nos são interessantes para sabermos que os mesmos  existem, mas que, no mundo real, não possuem muita utilidade.</p>
<p>Isso se deve a, em minha opinião, dois motivos : primeiro, devido ao interesse pelas tecnologias de virtualização ser tão alto, isso ter levado os fabricantes de hardware a se concentrarem em oferecer soluções que entregam uma base física muito mais bem preparada para essas tecnologias e, segundo, devido aos desenvolvedores do KVM que, entendendo que esse era o futuro, se concentrarem em resolver problemas mais importantes ao invés de tentar contornar limitações de hardware que eles sabiam que em breve começariam a ser removidas.</p>
<p>Mérito seja dado, o Xen inovou muito e reavivou uma enorme onda de interessados nas vantagens da virtualização, trazendo, de fato, com o conceito de para-virtualização, a virtualização utilizável para o mundo x86 e, com isso, para as massas. Porém, isso teve um custo, já que, por se dedicar muito a explorar as possibilidades desse conceito, o Xen ficou preso a uma base extremamente mais complexa e, por isso, com uma menor probabilidade de ser oficialmente aceita como cidadão de primeiro nível na terra do kernel.</p>
<p>O KVM, por outro lado, tomou uma posição mais radical, decidindo desde o início que, para conseguir um design mais simples e um ritmo de desenvolvimento bem mais rápido, simplesmente deixaria de lado toda essa história de para-virtualização e já iniciaria como um grande usuário das então recém lançadas tecnologias de virtualização assistidas por hardware.</p>
<p>Logicamente, hoje em dia, temos o KVM portado e funcional em plataformas PowerPC e S/390, mas, na época, isso se resumiu a adotar e depender pesadamente das tecnologias VMX da Intel e SVM da AMD, as quais essas empresas tinham acabado de implementar em suas novas linhas de processadores. Por algum tempo, inclusive, foi bastante complicado encontrar sistemas oficialmente suportados pelos grandes integradores de hardware que fornecessem soluções de hardware baseadas nesses novos processadores.</p>
<p>Atualmente, é claro, isso já é passado e a maioria dos sistemas <em>entry-level</em> oferecido pelos integradores de hardware, bem como soluções de desktop corporativos, já incluem processadores que, no mínimo, suportam essas tecnologias (a primeira onde da virtualização recente em hardware x86), inclusive o laptop a partir do qual eu escrevo esse texto e o computador de mesa <em>self-made</em> aqui ao meu lado. Ou seja, já virou objeto comum.</p>
<p>O Xen, por estar focado em virtualização baseada em sua menina dos olhos, a para-virtualização, demorou um pouco mais para tirar proveito dessas novas tecnologias e entrou na briga oferecendo uma solução de virtualização assistida por hardware bem mais tarde, com o lançamento de sua série 3.x, que inclusive teve que receber modificações massivas para se adaptar a esse novo paradigma.</p>
<p>Hoje, o Xen suporta tanto para-virtualização quanto virtualização assistida por hardware, mas ainda sofre de diversos problemas estruturais que o impedem de ser aceito como um cidadão de primeiro nível oficialmente no kernel Linux. Sim, todos os usuários do Xen atualmente ou sujam suas mãos integrando-o manualmente em suas distribuições ou dependem de um trabalho hercúleo das distribuições GNU/Linux para mantê-lo integrado a seus núcleos, dependendo de <em>forward-ports</em> de código baseado no kernel 2.6.18 intermináveis.</p>
<p>Lógico, alguns podem se dar ao luxo de adquirir a versão comercial do Xen diretamente da XenSource/Sun, mas a partir desse ponto eu já considero que saímos do terreno das soluções abertas/livres e entramos no terreno de soluções comerciais, as quais, sinceramente, não me agradam. Não por custo ou por ideologia, mas sim porque, via de regra, simplesmente não tem como alcançar o nível de maturidade das soluções totalmente abertas/livres.</p>
<p>É importante notar que a técnica de para-virtualização só funciona para virtualizar sistemas operacionais hóspedes que possam ser modificados de forma a colaborar com o sistema operacional hospedeiro. Dessa forma, por motivos óbvios, quaisquer sistemas operacionais de código-fonte fechado, como os sistemas operacionais da família Windows da Microsoft, não conseguem obter vantagem dessa técnica.</p>
<p>Ou seja, na prática, o Xen só passou a ser uma plataforma de virtualização realmente multiplataforma (suportando sistemas operacionais de código-fonte fechado e sistemas operacionais de código-fonte aberto) a partir da série 3.x. O KVM, por outro lado, nasceu já com uma natureza multiplataforma nesse sentido, visto que, desde sempre, dependeu da existência das tecnologias de virtualização assistidas por hardware, as quais não demandam a modificação do sistema operacional hóspede.</p>
<p>Exatamente por depender das tecnologias de virtualização assistidas por hardware e não suportar inicialmente o conceito de para-virtualização, o KVM sempre entregou uma performance inferior ao Xen, visto que, em um ambiente que utiliza tecnologias de virtualização assistidas por hardware, o I/O do sistema operacional hospedeiro é interceptado e tratado por drivers no hypervisor, os quais na verdade emulam um driver real, obviamente não fornecendo a mesma performance de um driver real.</p>
<p>Inclusive, ao menos até o momento, o Xen também utiliza, para sua implementação de virtualização assistida por hardware, os drivers emulados fornecidos pelo QEMU, da mesma forma que o KVM. Ou seja, ao menos em relação a performance de I/O (dispositivos de blocos/discos e rede), a implementação de virtualização assistida por hardware do Xen e o KVM eram semelhantes.</p>
<p>Porém, particularmente, eu acredito que a percepção de que a performance inferior das tecnologias de virtualização assistidas por hardware seja uma verdade imutável esteja mudando e, a médio prazo, não mais será uma verdade absoluta.</p>
<p>Já há algum tempo, o KVM vem adotando técnicas de para-virtualização onde a mesma é perceptivelmente necessária (não em toda a sua implementação de virtualização, como é o caso do Xen). Por exemplo, desde a versão 13 (e já estamos na versão 84 atualmente) o KVM começou a incluir suporte rudimentar a alguns conceitos de para-virtualização, sendo que a partir da versão 61 o mesmo acrescentou suporte a pvclock, ou seja, para-virtualização do relógio do sistema operacional, para eliminar problemas de sincronização entre o hospedeiro e o sistema operacional hóspede.</p>
<p>Adicionalmente, a partir da versão 64, foi acrescentado suporte a para-virtualização de MMU (<em>Memory Management Unit</em>, ou Unidade de Gerenciamento de Memória). É interessante notar que, desde 2007, já haviam patches disponíveis (os quais, posteriormente, foram incorporados a árvore oficial de desenvolvimento) para implementar suporte a para-virtualização no KVM.</p>
<p>Na época, Ingo Molnar, da Red Hat, enviou <a href="http://lkml.org/lkml/2007/1/5/205">seus patches para acrescentar suporte a para-virtualização no KVM</a> indicando benchmarks bastante interessantes. Basicamente, com os patches aplicados, alguns cenários com testes de mudança de contexto no kernel apresentaram uma melhora de quatro vezes (400%) em relação a execução dos mesmos sem tais patches.</p>
<p>E, nos cenários que os patches em questão acrescentaram o menor ganho de performance em mudanças de contextos, ainda assim o ganho de performance foi da ordem de 30% em relação ao KVM sem tais patches aplicados. Ou seja, claramente, uma melhora significativa. Desde então, esses patches foram melhorados e incluídos oficialmente no KVM e muita coisa foi melhorada, aumentando ainda mais os benefícios trazidos.</p>
<p>Desde a versão 60 do KVM, foi incluído também suporte a <a href="http://lwn.net/Articles/239238/">VirtIO</a>, ou seja, seguindo a tradição de utilizar para-virtualização somente onde o uso da mesma realmente faz sentido sem causar efeitos colaterais negativos, os desenvolvedores do KVM incluíram drivers (módulo de kernel) para-virtualizados para acesso a dispositivos de blocos (virtio_blk) e dispositivos de rede (virtio_net), efetivamente removendo a dependência dos drivers emulados fornecidos pelo QEMU.</p>
<p>Já há algum tempo atrás, Avi Kivity, líder no desenvolvimento do KVM, postou em seu blog um texto afirmando que a <a href="http://avikivity.blogspot.com/2008/04/paravirtualization-is-dead.html">para-virtualização estava morta</a>. Exageros a parte, se analisarmos os argumentos que ele utiliza, podemos ver claramente que o avanço dos fabricantes de processadores irá nos levar rapidamente a um patamar onde realmente se preocupar com para-virtualização não será mais algo tão importante.</p>
<p>Em seu post, Avi comenta que a combinação de paginação de memória implementada em hardware através das tecnologias NPT (Nested Paging Tables) da AMD ou EPT (Extended Page Tables) da Intel, junto com o suporte a páginas de memória grandes (large pages) entrega performnce equivalente ou, em alguns casos, ultrapassa a performance da para-virtualização em muitos cenários.</p>
<p>Segundo Avi, o custo de se comunicar com o hypervisor é simplesmente maior do que deixar que o hardware atual que implementa tais tecnologias gerencie tudo isso de forma transparente, mesmo ainda antes de levar em consideração os custos envolvidos na para-virtualização, como chamados de sistema (syscalls) mais lentas.</p>
<p>Ainda segundo Avi, o KVM, mais uma vez, entendendo essa segunda onda da virtualização suportada pelos processadores mais atuais, refletiu a obsolescência planejada da para-virtualização de MMU em seu design, implementando o suporte a esse recurso de forma que tal suporte pudesse ser habilitado ou desabilitado de forma dinâmica.</p>
<p>Ou seja, expondo esse suporte aos sistemas operacionais hóspedes e fornecendo aos mesmos performance melhorada quando o hardware do hospedeiro suporta tais tecnologias, mas lidando de maneira amigável com hospedeiros que não possuem suporte a essa tecnologia, utilizando para-virtualização de MMU, nesse caso.</p>
<p>Outro ponto interessante em relação as escolhas de design acertadas do KVM em comparação com o Xen é a questão do I/O.  Em <a href="http://avikivity.blogspot.com/2008/04/maintainability-vs-performance.html">outro post em seu blog</a>, Avi comenta sobre a questão da mantenabilidade em contraste com a questão da performance.</p>
<p>Em seu post, Avi cita que I/O no KVM é realizado no contexto do hypervisor, mantendo performance completa.  Como o Xen, o KVM reutiliza a pilha de I/O do kernel Linux, porém, a reutiliza de forma que os usuários possam desfrutar das mais novas melhoras no kernel nesse departamento, bem como dos mais novos drivers para novos dispositivos.</p>
<p>O que é interessante notar, no entanto, é que o Xen, apesar de também realizar I/O no contexto do hypervisor, como Avi nota, possui o problema adicional de não ter resolvido por completo o problema da mantenabilidade, visto que, oficialmente, ainda está preso ao kernel 2.6.18, a última versão para a qual a XenSource (criadora do Xen), antes de ser adquirida pela Sun Microsystems, portou oficialmente os patches do Xen.</p>
<p>Versões dos patches do Xen para núcleos mais novos são na verdade um<em> hack</em> temporário, um <em>forward-port</em> do código-fonte baseado no kernel 2.6.18, adaptado para núcleos mais novos. Pessoalmente, eu somente conheço forward-ports adaptados para o kernel 2.6.26, o mesmo que o Debian, por exemplo, está utilizando, o qual, aparentemente, foi um esforço realizado pelo pessoal da Novell.</p>
<p>O problema é que o Xen, apesar de ter saído na frente do KVM e ter alguns anos de vantagem em relação ao mesmo, agora está perdendo terreno, visto que sua equipe de desenvolvimento está bastante atarefada portando o código para funcionar com base na nova estrutura genérica de para-virtualização do kernel Linux, o <em>paravit_ops</em>.</p>
<p>O paravirt_ops foi criado como uma resposta a crescente demanda de utilização de para-virtualização e como maneira de se ter somente um único framework genérico para essa necessidade, visto que muitas soluções de virtualização estavam tendo seus esforços duplicados, cada qual tendo que implementar seu próprio framework de para-virtualização.</p>
<p>Exatamente por ter escolhido iniciar toda sua implementação de para-virtualização como um projeto isolado do kernel Linux, sem as vantagens de se ter a crítica de diversos desenvolvedores competentes do kernel questionando suas decisões de design, o Xen está agora pagando o preço, tendo um tremendo trabalho para adaptar seu código a esse novo framework genérico introduzido relativamente recentemente ao kernel Linux.</p>
<p>E o KVM, não vai precisar também se adaptar ? Não, pois, como citei, o KVM não utiliza para-virtualização completamente em sua implementação de virtualização, mas sim somente nos pontos específicos onde a mesma faz mais sentido. E, ao contrário do Xen, o KVM foi desenvolvido desde o início dentro da comunidade de desenvolvimento do kernel Linux.</p>
<p>Ou seja, desde o início, por ter a crítica dos desenvolvedores do kernel Linux em todo o seu processo de desenvolvimento, o KVM é uma solução com um design mais do que aprovado pelos desenvolvedores do kernel, tanto que, desde a versão 2.6.20 do kernel Linux, está incluído oficialmente no kernel, sendo a primeira solução de virtualização nativa em Linux que eu acredito que tenha um brilhante futuro.</p>
<p>E, por estar ativamente sendo desenvolvido dentro da comunidade de desenvolvimento do kernel, recebendo os olhares e as dicas de todos os que da mesma participam, é uma solução que não lhe obriga utilizar um kernel obsoleto para ter uma estabilidade um pouco mais garantida, como é o caso do Xen.</p>
<p>Inclusive, o Xen foi removido oficialmente do Fedora 9 na época em que o mesmo foi lançado, exatamente por não existir um porte oficial do mesmo para o kernel utilizado por padrão por essa distribuição GNU/Linux e os desenvolvedores da mesma não acreditarem que seria correto perder ainda mais tempo tentando manter viva uma árvore de desenvolvimento (através de novos forward-ports) que está fadada a morrer logo mais, visto que o desenvolvimento da base Xen que será utilizada futuramente está ocorrendo atualmente no ramo que está portando o código Xen para o framework paravirt_ops.</p>
<p>Em contraste, o KVM continua se beneficiando dos numerosos recursos do kernel Linux, tendo ganhado sem precisar fazer esforço algum todas as virtudes do código desse kernel, como gerenciamento de energia avançado, suporte a suspensão/hibernação e diversas outras funcionalidades interessantes.</p>
<p>Resumindo, o KVM está sendo desenvolvido no mesmo ritmo frenético do kernel Linux, até mesmo porque está integrado completamente ao mesmo, enquanto o Xen, ao menos por enquanto, terá que suar bastante a camisa para se adaptar aos padrões que inicialmente optou por não se importar em seguir, para somente depois de todo esse trabalho, começar a pensar em convencer a equipe de desenvolvimento do kernel Linux a aceitar sua integração a árvore oficial de desenvolvimento do kernel.</p>
<p>É compreensível, agora, todo o burburinho que está ocorrendo ao redor do KVM e toda a preocupação e investimento das grandes empresas do software livre em apoiar o desenvolvimento do mesmo ? Particularmente, eu acredito que não há muitas dúvidas sobre o que o futuro da virtualização em Linux nos reserva : a mesma será baseada em KVM.</p>
<p>E você, qual sua opinião sobre esse assunto ? Importa-se de deixar seu comentário aqui e enriquecer esse post com suas observações, complementado as informações aqui expostas ? <img src='http://www.andrelop.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/KblVAuSB6GsfoUFzh2zbX4k0avM/0/da"><img src="http://feedads.g.doubleclick.net/~a/KblVAuSB6GsfoUFzh2zbX4k0avM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/KblVAuSB6GsfoUFzh2zbX4k0avM/1/da"><img src="http://feedads.g.doubleclick.net/~a/KblVAuSB6GsfoUFzh2zbX4k0avM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/andrelop/~4/tB_H1FLVcuA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2009/02/22/virtualizacao-em-linux-hoje-e-amanha/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		<feedburner:origLink>http://www.andrelop.org/blog/2009/02/22/virtualizacao-em-linux-hoje-e-amanha/</feedburner:origLink></item>
		<item>
		<title>Debian : a virtualization friendly platform</title>
		<link>http://feedproxy.google.com/~r/andrelop/~3/W4um9G-bSZg/</link>
		<comments>http://www.andrelop.org/blog/2009/02/22/debian-a-virtualization-friendly-platform/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 05:32:53 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/usr/share/wordpress/wp-content/plugins/autometa/autometa.php</b> on line <b>300</b><br />
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[DebianBR]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[d-i]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.andrelop.org/blog/?p=119</guid>
		<description><![CDATA[It&#8217;s no secret for those who follow me on Twitter/identi.ca that I have been toying with virtualization technologies for some time now.
I have been using Xen in production for some time and, apart from not thinking it&#8217;s the way to go for future virtualization, it&#8217;s quite usable right now, specially if you are going to [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s no secret for those who follow me on <a href="http://twitter.com/andrelop">Twitter</a>/<a href="http://identi.ca/andrelop">identi.ca</a> that I have been toying with virtualization technologies for some time now.</p>
<p>I have been using <a href="http://www.xen.org/">Xen</a> in production for some time and, apart from not thinking it&#8217;s the way to go for future virtualization, it&#8217;s quite usable right now, specially if you are going to use Debian Lenny as the dom0, as it now has a more modern kernel than the dreaded 2.6.18 we Xen users were forced to keep using.</p>
<p>However, I have been keeping my eyes on<a href="http://kvm.qumranet.com/kvmwiki"> KVM</a> as well, as I always liked how much simpler and well integrated into the Linux kernel it is. I&#8217;m even subscribed to the <a href="http://news.gmane.org/gmane.comp.emulators.kvm.devel">KVM development mailing list</a>, even not understanding most of the things the developers are talking about there. It&#8217;s no problem for me, I just want to know what&#8217;s being worked on and what&#8217;s on the pipeline.</p>
<p>As a KVM fan, I&#8217;m also using it intensively as a tool for prototyping servers. It&#8217;s easy enough to set up a new Debian server to test things on and learn new technologies, as well as troubleshoot problems without intefering with production environments.</p>
<p>Althought KVM is not as good as Xen when it comes to performance, it&#8217;s quickly improving every single day. And, for those of you who still believes KVM is only about full virtualization, I&#8217;m happy to say that it has come a long way and paravirtualization has started to infiltrate KVM land as well.</p>
<p>Today, KVM already sports <a href="http://www.nabble.com/Re%3A-paravirtualization-on-a-T7200-p21662115.html">paravirtualized clock (pvclock), paravirtualized memory management unit (pv MMU) and VirtIO drivers</a>. Actually, it seems that KVM these days is the biggest user of <a href="http://lwn.net/Articles/239238/">VirtIO</a>, maybe only loosing the leadership to Rusty&#8217;s <a href="http://lguest.ozlabs.org/">lguest</a>.</p>
<p>By using VirtIO&#8217;s disk and network drivers (virtio_blk and virtio_net, respectively, and its associated modules), KVM can deliver a much improved I/O experience than when using QEMU&#8217;s emulated drivers. For this reason, it&#8217;s always preferable to use VirtIO drivers whenever possible when setting up your KVM guests.</p>
<p>During the Etch lifetime, one will need to do <a href="http://kvm.qumranet.com/kvmwiki/Using_VirtIO_NIC">some tricks</a> in order to use VirtIO when using Etch as a guest under KVM. However, when preparing Lenny&#8217;s d-i, the developers were smart enough to add to it virtual disk detection support. What it means is that now, starting with Lenny, d-i will recognize that it&#8217;s being given a VirtIO block device and automatically load the needed kernel modules to support it.</p>
<p>Also, the disk detection and partition modules (partman et all) were modified to show a detected virtual disk (i.e. /dev/vdX) and let the user partition it, as well as grub-installer was changed to allow GRUB to be installed onto a virtual disk&#8217;s MBR,  effectively making d-i a really powerful virtualization aware installer.</p>
<p>Here you can see Lenny&#8217;s d-i showing a detected virtual disk, named &#8220;vda&#8221; :</p>
<div class="wp-caption aligncenter" style="width: 650px"><a href="http://www.flickr.com/photos/24725329@N05/3299506768/"><img title="lenny-vdisk-partitioning-english" src="http://farm4.static.flickr.com/3383/3299506768_6fb47d59da_o.png" alt="lenny-vdisk-partitioning-english" width="640" height="480" /></a><p class="wp-caption-text">lenny-vdisk-partitioning-english</p></div>
<p>Brazilian Portuguese readers could see the version using brazilian portuguese texts on the screen<a href="http://www.flickr.com/photos/24725329@N05/3299506832/"> here</a>. Sure, d-i also received a lot of improvements and special support for installing Lenny as a Xen domU was added as well, but I haven&#8217;t played with it yet, so I won&#8217;t comment on that right now.</p>
<p>And, hey, one can even use <a href="http://packages.debian.org/lenny/virtinst">virt-install</a> and <a href="http://packages.debian.org/lenny/virt-manager">virt-manager</a> to deploy KVM guests under Lenny <img src='http://www.andrelop.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  And you know what gives me even more confidence that KVM will be a first class citizen inside Debian ? The fact that Steve Kemp is <a href="http://blog.steve.org.uk/i_m_full_of_love__i_m_not_losing_it_.html">toying with the idea</a> to change his <a href="http://www.xen-hosting.org/">xen-hosting.org</a> project so it would become a new <a href="http://kvm-hosting.com/">kvm-hosting.org</a> project.</p>
<p>Maybe I&#8217;m praying for the preacher here, but Steve is very well well know for being the author of <a href="http://www.xen-tools.org/software/xen-tools/">xen-tools</a> and <a href="http://www.xen-tools.org/software/xen-shell/">xen-shell</a>, as well as being the creator of<a href="http://www.steve.org.uk/Software/"> a number of other nice free softwares</a>. And, judging by the <a href="http://blog.steve.org.uk/i_m_full_of_love__i_m_not_losing_it_.html#comments">comments on his post about the future kvm-hosting.org project</a>, it seems that Steve maybe will need to update xen-tools and xen-shell to account for KVM or create a new set of tools dedicated exclusively to KVM based on his past experience creating the current tools for Xen.</p>
<p>Good times ahead for those of us who are surfing the Debian Virtualization wave, indeed <img src='http://www.andrelop.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/uTCPFsl8M9U5ShtAbQi1AVYTNsI/0/da"><img src="http://feedads.g.doubleclick.net/~a/uTCPFsl8M9U5ShtAbQi1AVYTNsI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/uTCPFsl8M9U5ShtAbQi1AVYTNsI/1/da"><img src="http://feedads.g.doubleclick.net/~a/uTCPFsl8M9U5ShtAbQi1AVYTNsI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/andrelop/~4/W4um9G-bSZg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2009/02/22/debian-a-virtualization-friendly-platform/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://www.andrelop.org/blog/2009/02/22/debian-a-virtualization-friendly-platform/</feedburner:origLink></item>
		<item>
		<title>Sonhos de infância e realidades da vida adulta</title>
		<link>http://feedproxy.google.com/~r/andrelop/~3/0oC7lv5WKhI/</link>
		<comments>http://www.andrelop.org/blog/2009/02/01/sonhos-de-infancia-e-realidades-da-vida-adulta/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 21:32:50 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/usr/share/wordpress/wp-content/plugins/autometa/autometa.php</b> on line <b>300</b><br />
		<category><![CDATA[Portuguese]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[reflexoes]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.andrelop.org/blog/?p=117</guid>
		<description><![CDATA[Quando criança, eu sempre ficava imaginando o que eu seria quando crescesse. Basicamente, eu sofria da loucura que os candidatos a universitários sofrem quando precisam escolher uma carreira, uma profissão para o resto de suas vidas, mas ainda estão indecisos.
A diferença era que eu sofria disso uns dez anos antes da época normal de uma [...]]]></description>
			<content:encoded><![CDATA[<p>Quando criança, eu sempre ficava imaginando o que eu seria quando crescesse. Basicamente, eu sofria da loucura que os candidatos a universitários sofrem quando precisam escolher uma carreira, uma profissão para o resto de suas vidas, mas ainda estão indecisos.</p>
<p>A diferença era que eu sofria disso uns dez anos antes da época normal de uma pessoa sofrer com isso. Nesse sentido, eu fui muito precoce. Somente nesse sentido, visto que, para muitas outras coisas, ainda sou um bebê aprendendo a descobrir o mundo. Talvez seja por essa precocidade em relação a esse assunto que eu bloqueei inconscientemente esse pensamento e consegui sobreviver até hoje sem tomar uma decisão real sobre essa questão.</p>
<p>Sim, senhoras e senhoras, eu, por mais escandoloso que isso possa parecer a vocês, ainda não tenho formação de nível superior. Felizmente, consegui viver relativamente bem até hoje dessa forma. Veja bem, não estou incentivando ninguém a fazer o mesmo, o que funciona para mim pode não funcionar para você e vice-versa.</p>
<p>Inclusive, é importante notar, a falta de uma formação de nível superior me fez perder muitas oportunidades profissionais muito interessantes. Não tenho como afirmar que seria uma melhor pessoa ou teria uma vida melhor (em todos os sentidos, não somente financeiramente)  caso tivesse ido em frente e cursado uma faculdade, mas o fato é que ainda não passo fome. Ainda.</p>
<p>Desde que comecei a trabalhar com tecnologia, eu basicamente deixei a vida ir me levando. Nunca tive muita preocupação em planejar uma carreira e definir metas profissionais. Comecei como fuçador, como muitos de vocês provavelmente também começaram, e continuei. Simples assim.</p>
<p>A vida seguiu seu curso e o universo agiu a favor. Nunca cheguei a me preocupar em me matar de estudar, me formar, escolher uma carreira, ter ascensão profissional e toda a parafernália envolvida. Quando criança, eu não tinha uma resposta pronta e exata para quando me perguntavam o que eu queria ser quando crescesse.</p>
<p>Talvez porque, na época (na saudosa década de 80, com <a href="http://pt.wikipedia.org/wiki/Arma%C3%A7%C3%A3o_Ilimitada">Juba e Lula</a> comendo solto), minha profissão simplesmente ainda não existisse. Eu tinha um lampejo de idéia de querer &#8220;<em>lidar com computadores</em>&#8220;, mas ainda não sabia o que isso realmente envolveria e o que eu realmente faria com eles (os computadores) alguns anos mais tarde.</p>
<p>Podem me chamar de velho (e eu sou, <strong>3.0</strong> inclusive, <em>chupa modinha 2.0</em>), mas eu sempre tive em minha mente de criança a idéia de uma profissão como sendo um trabalho braçal. Não entrava em minha cabeça uma pessoa poder trabalhar com a mente e ainda poder chamar isso de profissão.</p>
<p>Não me perguntem o porque disso. Talvez Freud explique, mas eu acredito que seja mais devido a minhas aulas (inúteis, reconheço, e não me orgulho disso) de <em>não-me-lembro-mais-o-nome-do-curso</em> (acredito que seja <em>Estudos Sociais</em>), nas quais o meu professor sempre fazia questão de frisar a importância da frase &#8220;<em>O trabalho dignifica o homem</em>&#8220;.</p>
<p>Trabalho é uma palavra que eu associo diretamente, sem escala alguma, a esforço físico, o bom e velho trabalho braçal de antigamente. O que eu e muitas outras pessoas fazemos atualmente, nessa sociedade da informação, eu prefiro associar a uma <em>ocupação</em>, a qual, vejam vocês, acaba por também ser minha forma de ganhar meu Toddy (sim, porque não sou muito chegado em pão).</p>
<p>Ainda hoje, sinto uma grande estranheza quando ouço pessoas falando sobre &#8220;nossos profissionais&#8221;, se referindo a equipe da qual faço parte. Eu ainda tenho um preconceito inconsciente (do qual venho tentando me livrar, mas do qual meu cérebro ainda teima relembrar sempre que possível) em relação a qualquer forma de trabalho não braçal.</p>
<p>Eu cheguei a exercer trabalhos braçais antes de entrar nessa loucura que é a àrea de tecnologia, e nessa época não achava que o que eu fazia não era um trabalho. Ao contrário, aquilo sim eu entendia como um trabalho. Manual, do tipo que você soa e fica fisicamente cansado de fazer.</p>
<p>Passei anos do início de minha vida na àrea de tecnologia tentando me adaptar, educando meu cérebro a pensar que o que eu estava fazendo era um trabalho, que eu tinha uma profissão e que aquilo era um trabalho digno como qualquer outro. Só menos fisicamente cansativo e financeiramente mais compensador.</p>
<p>Melhorei bastante e hoje em dia já consigo aceitar muito disso como natural nos outros, mas ainda tenho um resquício de preconceito contra eu mesmo, teimando em achar que eu não sou um <em>profissional</em> no sentido mais literal da palavra. Talvez eu consiga curar isso cursando uma faculdade e obtendo um diploma, para convencer minha mente de que, agora sim, oficialmente, eu sou um profissional.</p>
<p>Ou, talvez, isso se cure somente com terapia. O fato é que, ainda hoje, sinto que não passei, em minha vida pós-infância/quase-adulta, pela experiência de escolher uma profissão da forma tradicional e, provavelmente por isso, ainda não tenha digerido o fato de que, para alguns, sua ocupação atual é algo tão natural que todo esse processo maluco histérico pelo qual passei precocemente ainda na infância simplesmente não é necessário.</p>
<p>Dada o enorme universo de novas profissões criadas nos últimos anos e a quantidade ainda maior delas que são criadas diariamente, é impossível que ninguém no mundo tenha pensando da mesma forma. Por isso esse post, para tentar compartilhar com outras pessoas essas doideiras que eu teima em carregar em meus pensamentos. E você, tem disso também ?</p>

<p><a href="http://feedads.g.doubleclick.net/~a/yx2TQEve44QCyxiuUSg6vFRQKaI/0/da"><img src="http://feedads.g.doubleclick.net/~a/yx2TQEve44QCyxiuUSg6vFRQKaI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/yx2TQEve44QCyxiuUSg6vFRQKaI/1/da"><img src="http://feedads.g.doubleclick.net/~a/yx2TQEve44QCyxiuUSg6vFRQKaI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/andrelop/~4/0oC7lv5WKhI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2009/02/01/sonhos-de-infancia-e-realidades-da-vida-adulta/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.andrelop.org/blog/2009/02/01/sonhos-de-infancia-e-realidades-da-vida-adulta/</feedburner:origLink></item>
		<item>
		<title>KVMing for fun and profit : how to make your toy become a serious business</title>
		<link>http://feedproxy.google.com/~r/andrelop/~3/xHkJRmK4i6E/</link>
		<comments>http://www.andrelop.org/blog/2009/02/01/kvming-for-fun-and-profit-how-to-make-your-toy-become-a-serious-business/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 15:26:23 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/usr/share/wordpress/wp-content/plugins/autometa/autometa.php</b> on line <b>300</b><br />
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[DebianBR]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[tech]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.andrelop.org/blog/?p=106</guid>
		<description><![CDATA[Here I&#8217;ll try to present you some tips on how one could easily make a playground become a paid fun. And no, I won&#8217;t be teaching you how to become rich, although I would like if you would teach me how that could be accomplished as I&#8217;m trying to come up with a way to [...]]]></description>
			<content:encoded><![CDATA[<p>Here I&#8217;ll try to present you some tips on how one could easily make a playground become a paid fun. And no, I won&#8217;t be teaching you how to become rich, although I would like if you would teach me how that could be accomplished as I&#8217;m trying to come up with a way to do just that for a couple of years now and failed miserably.</p>
<p>Recently, I&#8217;ve been setting up <a href="http://kvm.qumranet.com/kvmwiki">KVM</a> virtual machines in order to do a lot of testing for a project I&#8217;m involved with. Letting boring details aside, one could say that a very long, boring and error prone setup was finished after a lot of work and it worked like a charm in the end, as a KVM machine.</p>
<p>As always, laziness is a given and when you are into it you empower yourself to come up with some nice hacks and goes that extra mile to find out how one could not to have to do boring and repetitive things again and again, in the best spirit of &#8220;let&#8217;s have some work now and save me ten times more work later&#8221;.</p>
<p>As I&#8217;m becoming more and more into that spirit of laziness, there I went looking for a way which would let me transform my beloved and nice working KVM machine into a fully featured real physical server. After some tips from microblogosphere friends (thanks <a href="http://identi.ca/fernandoike">fike</a>), I had some ideas on how that could be accomplished.</p>
<p>Turned out my ideas weren&#8217;t really all that right so there I went again looking for a way to do what I wanted. After some research I found out that the KVM guys already gave some thought about it and even had a ready solution to my problem : it&#8217;s called <strong>qemu-nbd</strong>.</p>
<p>Yes, by now everyone should know that KVM builds on top of the excelent (just not so snappy) <a href="http://bellard.org/qemu/">QEMU</a>. However, as I&#8217;m a Debian user, here I should say that in Debian, most notably Debian sid/unstable, the qemu-nbd binary was renamed to <em>kvm-nbd</em>, just as the KVM binary is called only <em>kvm</em> and not <em>qemu-system-x86_64</em> or whatever else is called these days upstream.</p>
<p><a href="http://nbd.sourceforge.net/">NBD</a> (short for Network Block Device) is a nice thing. I hadn&#8217;t tried it before (I certainly used and am still using in some projects of mine the <em>not-upstreamed-yet-but-so-nice-that-I-couldnt-resist</em> DRBD, which seems to share some ideas which NBD). In short (read NBD link for more info on that), NBD allows the Linux kernel to use a remote server as a block device. Also, its upstream is a fellow Debian developer (hello <a href="http://www.grep.be/blog/">Wouter</a>). How nice&#8217;s it ?</p>
<p>As NBD is an upstreamed kernel feature, you don&#8217;t need to go to the <em>external-module-route-hell</em>. You only need the userland tools, which are nicely packaged and integrated into Debian as well. They&#8217;re only one aptitude away, so you could use this command to bring it to your KVM host :</p>
<blockquote><p>aptitude install nbd-client</p></blockquote>
<p>After that, you will want to export your image file (the file which represents the disk of you virtual machine) as a NBD block device, so you will be able to mount it under your KVM host and do whatever you want to do with it. Here&#8217;s how one would do it :</p>
<blockquote><p>kmv-nbd &#8211;conect=/dev/nbd0 myimagefile.img</p></blockquote>
<p>I tested it using both <em>qcow2</em> and <em>raw</em> disk images and both worked like a charm so I don&#8217;t think you will have any problems here. Next, you need to create a directory structure under your KVM host which temporarily will be used to mount the partitions inside the virtual block device of your KVM machine. You could do this like this :</p>
<blockquote><p>mkdir /newserver</p>
<p>mkdir /newserver/usr</p>
<p>mkdir /newserver/var</p>
<p>mkdir /newserver/home</p></blockquote>
<p>In the example above, I&#8217;ve created these directories because I want my new server to have separated <em>root</em>, <em>/usr</em>, <em>/var</em> and <em>/home</em> partitions and mount points. Feel free to adapt to any kind of partitioning layout you please.</p>
<p>Next, you will mount yout virtual machine filesystem under a temporary location, so you will be able to copy all of its content later to your final desired destination, i.e. the real partitions inside the real disk you are going to use in your future real server (not a virtual machine anymore).</p>
<p>I did it using :</p>
<blockquote><p>mkdir -p /mnt/temp</p>
<p>mount /dev/nbd0p1 /mnt/temp</p></blockquote>
<p>Notice that the <em>/dev/nb0p1</em> above is my root partition inside my KVM machine, only that it&#8217;s represented now in my KVM host in NBD&#8217;s device node notation here. I&#8217;ve only one partition inside this particular virtual machine (aside from the swap partition).</p>
<p>Next, you want to mount the partitions on the real disk you want to be used in your new real server under the directories created earlier so you will be able to chroot to then later and do any tweaks you may want to, like fixing <em>/etc/fstab</em>, <em>/boot/grub/device.map</em>, <em>/boot/grub/menu.lst</em> and all these places we know makes references to block devices which may differ from the situation you had in your virtual machine running under the KVM.</p>
<p>Here&#8217;s what I used :</p>
<blockquote><p>mount /dev/sdb1 /newserver</p>
<p>mount /dev/sdb3 /newserver/usr</p>
<p>mount /dev/sdb5 /newserver/var</p>
<p>mount /dev/sdb6 /newserver/home</p></blockquote>
<p>The device nodes above are from your real disk&#8217;s partitions, not from any virtualized device block access method like NBD. Also, take care not to mount your primary disk&#8217;s partitions (the ones you are using under in your KVM host) as you could destroy them easily. As you can see above, I&#8217;m using <em>/dev/sdb<strong>X</strong></em> as <em>/dev/sda</em> is my primary disk, the one under which my KVM host is running. Again, adapt to your scenario.</p>
<p>Next, you just copy everything from your virtual machine filesystem (which is now accessible from within your NBD block device) to your real disk. I did it using :</p>
<blockquote><p>cp -a /mnt/temp/* /newserver/</p></blockquote>
<p>After that, you can disconnect your KVM virtual machine image file from the exported NDB device block using :</p>
<blockquote><p>kvm-nbd -d /dev/ndb0</p></blockquote>
<p>And then chroot to your real disk layout yout just copied to /newserver in order to fix anything which would make reference to block devices while running as a virtual machine under KVM but which now will be a completely different thing as a real server, like your <em>/etc/fstab</em>, <em>/boot/grub/device.map</em>, <em>/boot/grub/menu.lst</em> and so on.</p>
<p>In order to chroot to your new soon-to-be-real filesystem you could use :</p>
<blockquote><p>chroot /newserver</p></blockquote>
<p>Then go nuts and start fixing everything you may think needs to be fixed so this filesystem could be used in a real server to boot it up. Im my case, I needed to fix <em>/etc/fstab</em> in order to mount my additional partitions (as under KVM I was using only a <em>root</em> and a <em>swap</em> partition and now, under the real server, I&#8217;ll be using separated <em>root</em>, <em>swap</em>, <em>/usr</em>, <em>/var</em> and <em>/home</em>).</p>
<p>Before I went changing more things, I &#8220;<em>fixed</em>&#8221; my <em>/boot/grub/device.map</em> and my <em>/boot/grub/menu.lst</em> files to point to <em>/dev/sdb</em> and <em>/dev/sdb[1]</em>,  respectively, so I could run <em>grub-install</em> from inside the chroot in order to install <a href="http://www.gnu.org/software/grub/">GRUB</a> into the real new disk&#8217;s MBR (master boot record), using :</p>
<blockquote><p>grub-install /dev/sdb</p></blockquote>
<p>Then, finally, I &#8220;<em>fixed</em>&#8221; <em>/boot/grub/device.map</em> and <em>/boot/grub/menu.lst</em> again so they would point to <em>/dev/sda</em> and <em>/dev/sda[1]</em>, as <em>/dev/sda</em> will be the device node for this new disk when it wil be running under the new real server and not as a disk inside the KVM host machine.</p>
<p>Next, I exited the chroot using :</p>
<blockquote><p>exit</p></blockquote>
<p>And umounted the new real disk&#8217;s partitions, using (now already out of the chroot) :</p>
<blockquote><p>umount /newserver/home</p>
<p>umount /newserver/var</p>
<p>umount /newserver/usr</p>
<p>umount /newserver</p></blockquote>
<p>Now you can take this new disk out of your KVM host machine, put it inside your new real server, physically install it there, turn on your new real server and everything installed while the filesystem in it was being used under the KVM virtual machine will be there, running nicely.</p>
<p>And you&#8217;re done. That&#8217;s it. Also, it&#8217;s important to point out that it&#8217;s much easier being done than being said (or written, in this case) so, if it looks scary because of the size of this post, don&#8217;t let it disincourage you as this whole thing is a pretty straightforward procedure, much easier than it seems.</p>
<p>And as I know that I will receive lost of complaints from people which will tell me how inefficient this whole thing is and how I could have accomplished the exact same thing in a much easier and faster way (perhaps even with a already existing tool which would automate almost entirely the whole proccess), I would say to these people to please exercise their right to share ideas using the comments. Just be nice on me, please.</p>
<p>After all, it was fun and I learned new things while doing it all, as well as I tried to share what I learned from this experience with my peers. That&#8217;s what matters. Peace, love and geekness to all of you <img src='http://www.andrelop.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/ShXh8fSvrVayIKfANELrEfDNasc/0/da"><img src="http://feedads.g.doubleclick.net/~a/ShXh8fSvrVayIKfANELrEfDNasc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ShXh8fSvrVayIKfANELrEfDNasc/1/da"><img src="http://feedads.g.doubleclick.net/~a/ShXh8fSvrVayIKfANELrEfDNasc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/andrelop/~4/xHkJRmK4i6E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2009/02/01/kvming-for-fun-and-profit-how-to-make-your-toy-become-a-serious-business/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.andrelop.org/blog/2009/02/01/kvming-for-fun-and-profit-how-to-make-your-toy-become-a-serious-business/</feedburner:origLink></item>
		<item>
		<title>Massa demôniaca</title>
		<link>http://feedproxy.google.com/~r/andrelop/~3/SmikVPao51A/</link>
		<comments>http://www.andrelop.org/blog/2009/01/31/massa-demoniaca/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 23:50:17 +0000</pubDate>
		<dc:creator>andrelop</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/usr/share/wordpress/wp-content/plugins/autometa/autometa.php</b> on line <b>300</b><br />
		<category><![CDATA[Portuguese]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[personal]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.andrelop.org/blog/?p=108</guid>
		<description><![CDATA[Cá estou eu, tentando focar, fazer a coisa certa, estudar, absorver conhecimento, enriquecer meu cérebro e melhorar meus dotes intelectuais para conseguir viver uma vida melhor, mais correta e mais pacífica, em todos os sentidos.
Cansado das briguinhas e dos egos inflados da blogosfera (ô palavrinha feia, quase tanto quanto campuseiro), resolvi sair em busca de [...]]]></description>
			<content:encoded><![CDATA[<p>Cá estou eu, tentando focar, fazer a coisa certa, estudar, absorver conhecimento, enriquecer meu cérebro e melhorar meus dotes intelectuais para conseguir viver uma vida melhor, mais correta e mais pacífica, em todos os sentidos.</p>
<p>Cansado das briguinhas e dos egos inflados da <em>blogosfera</em> (ô palavrinha feia, quase tanto quanto <em>campuseiro</em>), resolvi sair em busca de conteúdo mais interessante nas Interwebs, já que me recuso (?) a acreditar que o mundo é composto totalmente por exemplares de seres humanos acéfalos.</p>
<p>E não é que, como eu suspeitava (<a href="http://pt.wikipedia.org/wiki/Chapolin">desde o princípio</a>?), realmente existe esperança para a raça humana (em retrospecto, me arrependo de ter dito isso). Encontrei conteúdo bom. Inocente, bem escrito, humano, legível e em português pré-miguxo (uma dávida hoje em dia). Inspirador e que te faz pensar.</p>
<p>Maravilha! Hoje, sábado, como televisão atualmente para mim é tão relevante quanto um show do Wando  (mesmo o conteúdo da TV paga começa a ficar repetitivo demais para o meu gosto) e eu estou em um momento de contenção de gastos (vide crise mundial e o dia-a-dia de 99% de nosso <em>belo</em> povo), separei um tempinho para me aventurar na leitura do conteúdo intelectualmente estimulante recém descoberto.</p>
<p>Porém, mal sabia eu, pobre exemplar da raça humana (e não tenho orgulho disso), que ainda teima em tentar não fazer parte da massa de manobra, que o universo conspira tanto a favor quanto contra e, na maioria das vezes, tentando lhe forçar a desistir de sua idéia de se desgarrar de seu rebanho, o universo pende para o lado da conspiração contra.</p>
<p>Não há prova mais clara de que o cérebro humano, quando não exercitado, prestes a atrofiar (ou já atrofiado?), entra em <em>modo fail</em> e passa a lhe pregar peças (e a lhe fazer passar vergonha) do que essa <em>nova</em> onda (que teima em não sair de moda) de palavrões gritados em volume satânico que é o que chamam de <strong>funk</strong>.</p>
<p>Neste exato momento, em que tento curtir meu momento de paz e minha leitura, o dono da padaria aqui ao lado (como se já não bastasse o dono do bar), tendo a <em>idéia genial</em> de atrair clientela dando ao povo o que é do povo (pão e circo), resolveu tocar em um volume <em>estoura-tímpanos++</em>, em seu possante envenenado com as portas abertas ao melhor estilo dumbo, as mais belas pérolas do funk carioca.</p>
<p>Sim, sou paulista e moro em São Paulo, mas essa praga (como todas as outras), viaja rápido e se alastra. Sendo assim, eu, pobre pseudo-assalariado que luta para ter uma vida pseudo-digna, sou obrigado a olhar para o teto e me questionar sobre o universo, a vida e tudo mais, sem deixar também de me espantar, me questionando qual seria a razão da espécie humana ainda não ter sido extinta.</p>
<p>Sim, porque se a entidade que dizem controlar a tudo e a todos realmente acredita que manifestações demôniacas devem ser combatidas, o que ela está fazendo que até agora não exterminou uma raça que teve a capacidade de criar uma aberração dessas ?</p>

<p><a href="http://feedads.g.doubleclick.net/~a/p6azvUEJXIWtLpgammTAk4kJTSA/0/da"><img src="http://feedads.g.doubleclick.net/~a/p6azvUEJXIWtLpgammTAk4kJTSA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/p6azvUEJXIWtLpgammTAk4kJTSA/1/da"><img src="http://feedads.g.doubleclick.net/~a/p6azvUEJXIWtLpgammTAk4kJTSA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/andrelop/~4/SmikVPao51A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andrelop.org/blog/2009/01/31/massa-demoniaca/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.andrelop.org/blog/2009/01/31/massa-demoniaca/</feedburner:origLink></item>
	</channel>
</rss>
