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

<channel>
	<title>Rudd-O.com &#187; Publicaciones</title>
	<atom:link href="http://rudd-o.com/archives/category/publicaciones/feed/" rel="self" type="application/rss+xml" />
	<link>http://rudd-o.com</link>
	<description>We only do fun stuff.</description>
	<pubDate>Thu, 24 Jul 2008 20:34:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>A guide to building your music library the cool way</title>
		<link>http://rudd-o.com/archives/2006/10/30/a-guide-to-building-your-music-library-the-cool-way/</link>
		<comments>http://rudd-o.com/archives/2006/10/30/a-guide-to-building-your-music-library-the-cool-way/#comments</comments>
		<pubDate>Mon, 30 Oct 2006 11:01:38 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Copyright]]></category>

		<category><![CDATA[MP3/música]]></category>

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

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

		<category><![CDATA[Software bacán]]></category>

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/10/30/a-guide-to-building-your-music-library-the-cool-way/</guid>
		<description><![CDATA[In this article, we’ll explore the three most effective ways to obtain music without paying through your nose or losing access to your music.  If you’re fed up with the recording studios, just by reading this you’ll be making them soil their pants.



Is this illegal?

You bet your ass it is, though it’s not immoral [...]]]></description>
			<content:encoded><![CDATA[<p>In this article, we’ll explore the three most effective ways to obtain music without paying through your nose or losing access to your music.  If you’re fed up with the recording studios, just by reading this you’ll be making them soil their pants.</p>

<p><span id="more-1203"/></p>

<h2>Is this illegal?</h2>

<p>You bet your ass it is, <em>though it’s not immoral or unethical</em>; further down, we’ll explain why, and we’ll give you a way to avoid prosecution.  For the time being, word to the wise: at least in the States:</p>

<ul>
<li>it’s illegal to share music online (but, as far as case law goes, not illegal to download);</li>
<li>it’s also illegal to burn a CD of MP3s and give it to your friends.</li>
</ul>

<p>It’s also that way on a lot of other countries, including mine (Ecuador).  So you will be exposing yourself to a certain (but low) probability of getting caught.  But, anyhow, what you’re about to do is done by hundreds of millions of people around the globe.  And, in the end, I discuss a sure-fire strategy to avoid any liability.</p>

<p>So, without further ado, here’s the guide:</p>

<h2>The beginner’s step: Gnutella</h2>

<p><a href="http://www.gnutella.com/">Gnutella</a> is the granddaddy of the truly peer-to-peer networks.  With Gnutella, you can download music, generally track-by-track.  It’s also useful to get music videos and other kinds of entertainment, but people use for what it does best: finding and downloading one-offs.  Dial-up and slow broadband users should love Gnutella.</p>

<p>The bad:</p>

<ul>
<li>Gnutella is rather slow.</li>
<li>Searches can take a while, and most of the time files don’t have enough sources.  So you have to invest quite a bit of effort to get what you’re looking for.</li>
<li>Sometimes spammers send fake search results, but good Gnutella clients can block these.</li>
<li>Sometimes songs come out damaged; this isn’t usually a problem because often there are multiple copies of a song, and you can tell fairly accurately which one sounds best by the size.  The music studios are also actively poisoning the Gnutella network.</li>
</ul>

<p>Great Gnutella programs include:</p>

<ul>
<li><a href="http://www.limewire.com/">LimeWire</a> (for Windows, Linux and Mac users)</li>
<li><a href="http://gtk-gnutella.sourceforge.net/">gtk-gnutella</a> (for Linux users)</li>
</ul>

<h2>It takes more effort, but you’ll find lots of music: Direct Connect</h2>

<p>With a client such as <a href="http://www.dcpp.net/">DC++</a>, you can connect to lots of Direct Connect chat servers (”hubs”) where people are sharing files.  Once you’ve connected to your chosen server, you can use the search tool to find music files.  There’s thousands of servers, and most of them have over 500 users at any given time.</p>

<p>One of the greatest features of Direct Connect-powered networks is the ability to, literally, browse other people’s collections.  You can request a user’s file list and download entire folders in one fell swoop.  This comes in handy when you want to download entire albums (although it’s also good for one-off tracks).  More often than not, you’ll find people sharing in excess of 500GB of music and movies.</p>

<p>The bad:</p>

<ul>
<li>You need to share, lots and fast.  If you’re not on broadband, forget about Direct Connect.</li>
<li>Most servers will boot you if you’re not sharing enough files, or if you’re not allowing enough people to download from you simultaneously, and this is actively policed.</li>
<li>Also, there’s no multi-source downloading and most sharers are busy sharing with others, so your downloads will often have to wait in line.</li>
<li>And sometimes people sharing songs you’ve put on your download queue log off, leaving you with the task of searching for other sources again.</li>
<li>Plus, some servers require registration on a Web site in order to grant you a password that lets you search the server.</li>
</ul>

<h2>The killer: BitTorrent</h2>

<p>With over 50% of Internet traffic, <a href="http://www.bittorrent.com/">BitTorrent</a> easily takes the cake.  Most legal sharing (in the form of Free Software) is done through this mechanism.  <a href="http://azureus.sourceforge.net/">Azureus</a> and <a href="http://www.bittorrent.com/download.html">the original BitTorrent client</a> are two excellent BitTorrent programs.  To look for files, I use <a href="http://mininova.org/">mininova</a> and <a href="http://btjunkie.org/">BTJunkie</a>, two very popular torrent search engines.</p>

<p>How it works:</p>

<ul>
<li>To spread legal liability, users who want to publish a file create a .torrent file and upload it to a tracker Web site.</li>
<li>You search for and download these (rather tiny) .torrent files to your computer and open them with your BitTorrent client.</li>
<li>Once you’ve done this, the BitTorrent client uses the information in the .torrent file to locate the computers sharing the file you want.</li>
</ul>

<p>Thus, prosecuting sharers then becomes very difficult, since the .torrent file is not illegal to share, and people (the “swarm”) downloading files from each other are mostly hard to track — it’s like trying to punish individual drops of water in a torrent, hence the name.</p>

<p>There’s another advantage to this: it’s really fast.  You can (barring other conditions) expect to max out your Internet connection, because BitTorrent automatically downloads several chunks of the file you want from different sources, and once these chunks are downloaded, your computer automatically starts to share them with the rest of the swarm.</p>

<p>Files’ integrities are checked when the download is complete, so it’s really hard for files to become damaged.  All in all, BitTorrent colludes to create a very high-quality file sharing experience.</p>

<p>The bad:</p>

<ul>
<li>You’ll need broadband.  Why?  Because otherwise it’ll be slow…</li>
<li>…and because most files available for download are huge.  Yes, huge.  You won’t find one-off tracks, only full albums, entire artist collections, TV episodes (near HDTV quality, by the way), and movies, both in AVI and DVD formats.  This stems partly from the hassle that is creating .torrent files for each file you need to share, and uploading them to trackers.</li>
<li>Sometimes trackers are down, so your download will take some time to kick in.</li>
<li>And in some cases the swarm only has people with portions of the shared file, which makes getting the complete file impossible.  This, fortunately, is alleviated by torrent search engines, which display the “health” of the torrent swarm for each file.</li>
</ul>

<p>Caveat: most broadband Internet providers are actively disrupting or slowing down BitTorrent downloads, so if you’re going to use it, activate in your client both DHT (to find more peers) and encrypted connections (to fool your Internet provider’s roadblocks) because, hey, what the hell are you paying for if your provider is purposely going to slow your service down?</p>

<h2>How to avoid getting caught by the police</h2>

<p>It’s pretty simple: rent a Linux computer in a free haven (such as Iran or Sweden), and remotely command your download program of choice (BitTorrent is especially suited for this).  Then, once your downloads are done (which should be in a matter of minutes), use a special tool such as <a href="http://winscp.net/">WinSCP</a> to get the files to your computer.  WinSCP encrypts the information as it travels through the space we know as the Internet, and your computer doesn’t share any files.  You get what you need, you protect your privacy, and the studios won’t have any evidence to sue your ass.</p>

<h2>Is this immoral or unethical?</h2>

<p>We’re finally going to discuss the crux of this article.  The reason I wrote this guide is simple.  There’s a huge difference between “immoral” and “illegal”, and there are powerful forces that are trying to wash everyone’s brains into thinking they’re the same.</p>

<p>You have the right to know and decide for yourself.  And there’s something you should know right away:</p>

<p>Modern music download services such as the iTunes store use <a href="http://defectivebydesign.org/">Digital Restrictions Management</a> to make your computer police you, and to bar you from convenient access to your music, so if you purchase DRM-laden music you’re screwed from the outset.  More often than not, this will end up burning you.</p>

<p>The only two formats you can use to securely store music on your computer (barring hard disk crashes) are MP3 and <a href="http://www.vorbis.com/">Ogg Vorbis</a>, and you’re not going to find them on most pay-per-listen music download services.  Oh, by the way, Ogg Vorbis format files are the one that sound best, but only a minority of portable music players play them.</p>

<p>Before you decide to leave flaming comments saying I don’t care about music artists (not true, by the way):</p>

<ul>
<li>Downloading music from the Internet <em>is not stealing</em>.  If I steal an apple from you, you no longer have the apple to enjoy.  If you give me a song, you can still enjoy it.  There’s no “stealing” if you get to keep your copy.</li>
<li>I don’t really have much time or the ability to explain this in more depth, but if you disagree with me, please read the book <a href="http://levine.sscnet.ucla.edu/general/intellectual/against.htm">Against Intellectual Monopoly</a> (it’s a free download!), then come back and re-read this guide.</li>
<li>I’m really not interested in arguments about being supportive to the artists and whatnot, and if you think that way, you’ve swallowed too much intellectual monopolists’ propaganda to understand the underlying social issues around music downloads.</li>
<li>I don’t blame you for not sharing my beliefs, since even the Supreme Court justices in the States have misunderstood the fundamental issue.  Go read the book I posted, then come back.</li>
</ul>

<h2>Last: a simple request from you</h2>

<p>Please redistribute this to as many people you want.  This is only a practical guide to help you; but, if enough people get the word around, we will change the way music is done, and we’ll put an end to the racket that is the current “music business”.  Digg it, e-mail the story link to your friends, whatever you want.  But do it: just a small effort from you, to help a rather important issue at stake here: your freedom.</p>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/10/30/a-guide-to-building-your-music-library-the-cool-way/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Voto electrónico en el Ecuador: una historia de terror y ficción</title>
		<link>http://rudd-o.com/archives/2006/10/18/voto-electronico-en-el-ecuador-una-historia-de-terror-y-ficcion/</link>
		<comments>http://rudd-o.com/archives/2006/10/18/voto-electronico-en-el-ecuador-una-historia-de-terror-y-ficcion/#comments</comments>
		<pubDate>Wed, 18 Oct 2006 09:11:46 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Free software]]></category>

		<category><![CDATA[Mi país]]></category>

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

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

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/10/18/voto-electronico-en-el-ecuador-una-historia-de-terror-y-ficcion/</guid>
		<description><![CDATA[Después de ser testigos de la debacle alrededor de la empresa E-Vote y las elecciones ecuatorianas (¿VoteGate?), declaro que es hora de comenzar a reflexionar qué sucedería si las elecciones fueran completamente electrónicas, y a base de software propietario:



Todo comienza un 15 de Octubre de 2006.  Los ecuatorianos acuden a las mesas de votación. [...]]]></description>
			<content:encoded><![CDATA[<p>Después de ser testigos de la <a href="http://www.erebe.net/2006/10/16/cazar-pone-fin-al-contrato-de-e-vote/">debacle alrededor de la empresa E-Vote</a> y las elecciones ecuatorianas (<em>¿VoteGate?</em>), declaro que es hora de comenzar a reflexionar qué sucedería si las elecciones fueran completamente electrónicas, y a base de software propietario:</p>

<p><span id="more-1179"/></p>

<p>Todo comienza un 15 de Octubre de 2006.  Los ecuatorianos acuden a las mesas de votación.  Puesto que la votación es obligatoria, el padrón electoral sigue siendo impreso para verificar la identidad de los ciudadanos.  Pero el comprobante de votación lo imprime la máquina de votar.  Este y otros avances tecnológicos hacen que sean necesarios menos representantes en cada mesa electoral.  Por consiguiente, la población general está muy contenta (excepción hecha de los pocos giles que salieron “favorecidos” en mesas).</p>

<p>Todo en orden.  A diferencia de las elecciones anteriores, en estas elecciones no se puede votar nulo, porque las máquinas no permiten hacer dibujitos raros u obscenos en las papeletas.  Es decir, no hay papeletas.  Uno presiona un botón en la pantalla <em>touch-screen</em> y el voto queda registrado debidamente.  Como es la primera elección enteramente electrónica, muchas personas tienen terror del aparato, y se demoran en votar; pero esto no es problema, ya que la ganancia de tiempo encuentra fuerza en la mayoría de la gente, familiarizada con los celulares y el Internet.</p>

<p>Todo rápido.  Aparte de agilitar (en promedio) el proceso de votación, las maquinitas alimentan continua e incrementalmente, por vía de redes de datos GPRS, los votos a los servidores del Tribunal Supremo Electoral.  Hábiles desarrolladores han creado una aplicación Web (también propietaria) que permite a la ciudadanía ver, en tiempo real, los conteos.  El <em>exit-poll</em> es redundante e innecesario, porque sabemos los resultados conforme van siendo ejecutados.</p>

<p>Todo sin problemas.  O con pocos problemas, al menos.  Algunas máquinas de votar han dado problemas.  Los jefes de mesa y vocales han recibido instrucciones de desconectar y reconectar los equipos a la alimentación eléctrica, puesto que “por el calor, algunas se congelan y es necesario reiniciarlas”.  Por supuesto, no saben que en realidad las máquinas de votar pueden operar en un clima con temperaturas de hasta 55°C, y que están siendo testigos de defectos de software.  ¿Software?  Explicarles a los “favorecidos” en mesa hubiera sido más fácil que explicarles magia o alquimia.</p>

<p>Todo bien, hasta la media tarde.  A las 3 de la tarde, la población comienza a sospechar que algo anda mal.  Por supuesto, los canales de televisión no hacen mención del asunto, pero estaba claro que el candidato más opcionado, Rafael Correa, por alguna extraña razón está quedando rezagado con respecto de Álvaro Noboa.  La diferencia acusa 16 puntos porcentuales, con Alvaro Noboa en 45%, suficiente para ganar en la primera vuelta electoral.  Los mensajes de texto zumban con acusaciones de fraude.</p>

<p>Todo estalla unos días más tarde, cuando, a la semana, El Universo publica recortes de una carta fugada via <em>samizdat</em> de los cuarteles del PRIAN.  La carta implica a varios miembros del partido político en un fraude que toma directo lugar dentro de las máquinas de votar.  Por supuesto, la carta tiene algunos detalles técnicos, pero estos son chino para el 99.9% de la gente.  Esto no detiene a los otros partidos políticos, que demandan una investigación a fondo.</p>

<p>Todo resulta infructuoso.  No hay forma de hacer recuentos, porque las viejas urnas fueron quemadas 3 años atrás cuando se compraron las máquinas de votar.  ¿Por qué?  Porque las máquinas de votar no dejan ningún voto impreso.  Lo que es peor, no hay forma de auditar las máquinas, porque:</p>

<ol>
<li>El software es propietario.  El fabricante (E-Vote) se niega rotundamente a mostrar el código fuente.  Sin el código fuente, no hay forma de saber qué cuernos está haciendo la máquina adentro.  El código podría alterar su base de datos de votos.  O, peor aún, podría cambiar un porcentaje de votos a favor de un candidato, justo antes de enviarlos al TSE.  Incluso peor, no hay forma de constatar que los votos registrados son los votos expresados por los votantes.</li>
<li>No hay forma de constatar si el software instalado en los equipos corresponde al software que E-Vote debió instalar en ellas.  Tampoco hay forma de probar lo contrario.  E-Vote podría ser el autor del fraude, o podría ser una víctima más.</li>
</ol>

<p>Todo empeora cuando, dos semanas después, hackers brasileños irrumpen en los servidores de E-Vote y descargan ilegalmente el código fuente del software para las máquinas de votar.  Descubren que es una aplicación hecha con Microsoft Visual Basic, Microsoft Access, y Microsoft Windows.  No se sabe si Microsoft se ha hecho de la vista gorda con las licencias de software requeridas para operar las máquinas legalmente, pero algo es seguro: E-Vote no ha pagado las licencias.  Lo que sí se sabe a ciencia cierta es que la aplicación contiene varios errores de lógica, y algo mucho más preocupante: un mecanismo que permite ejercer control remoto sobre los datos almacenados, con una clave secreta que, a estas alturas, es <em>vox populi</em>.</p>

<p>Todo termina mal.  Cuatro semanas después del 15 de Octubre, la gran mayoría de la gente no entiende exactamente qué está pasando con lo de las “máquinas de votar”, pero sabe que le han visto la cara, y se muere por saber quién fue.  Puesto que se sobrentiende que el autor intelectual del fraude es Alvaro Noboa, su Gobierno se derrumba en cuestión de horas.  ¿O de repente el fraudie fue orquestado por otro candidato a presidente, para provocar este escenario?  ¿Habrá sido el actual vicepresidente?  Estas interrogantes pasan a segundo plano en las mentes de los familiares de las 950 personas muertas durante el derrocamiento de Noboa en Quito.</p>

<hr />

<p>Este escenario es un poco fantasioso, y completamente creativo.  <a href="http://www.blackboxvoting.org/">Pero no está alejado de la verdad</a>.  A estas alturas del partido, debe estar completamente claro que cualquier solución electrónica de votos y democracia debe:</p>

<ul>
<li><a href="http://www.verifiedvoting.org/">ser auditable de manera manual</a> (porque como dice el refrán, “la luz se puede ir en el peor momento”), lo cual requiere imprimir cada voto y guardarlo en un ánfora; y</li>
<li><a href="http://fsffrance.org/voting/voting.en.html">estar equipado con software libre exclusivamente</a>; esto no evitará que hackers maliciosos instalen otro software dentro del equipo, pero lo hará mucho más difícil, mientras que facilitará enormemente que la población general pueda auditar el funcionamiento esperado de los equipos.  El software propietario es, por naturaleza, casi invulnerable a análisis que permiten determinar si está “arreglado” para cambiar votos.  Aun cuando nadie escoja investigar, es importante ser 100% transparente en un asunto tan crucial como nuestro proceso democrático.</li>
</ul>

<p>Incidentalmente, en Wired tienen <a href="http://www.wired.com/news/politics/evote/0,71957-0.html">una sugerencia para la máquina de votar del futuro</a> (<a href="http://politics.slashdot.org/article.pl?sid=06/10/18/2127249&amp;from=rss">encontrado en Slashdot</a>), que reconoce que ninguna tecnología podrá reemplazar al proceso supervisado y a una ley correcta, pero que también reconoce que es posible superar los escollos actuales en la tecnología, y propone varios puntos de acción para lograrlo.</p>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/10/18/voto-electronico-en-el-ecuador-una-historia-de-terror-y-ficcion/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source, Linux and the importance of marketing and public perception</title>
		<link>http://rudd-o.com/archives/2006/09/20/open-source-linux-and-the-importance-of-marketing-and-public-perception/</link>
		<comments>http://rudd-o.com/archives/2006/09/20/open-source-linux-and-the-importance-of-marketing-and-public-perception/#comments</comments>
		<pubDate>Wed, 20 Sep 2006 14:52:09 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Free software]]></category>

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

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

		<category><![CDATA[Mi gente]]></category>

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

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

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/09/20/open-source-linux-and-the-importance-of-marketing-and-public-perception/</guid>
		<description><![CDATA[A week has 168 hours.  How many of them did you invest to spread Linux and Open Source?  It's the marketing, stupid!]]></description>
			<content:encoded><![CDATA[<p>As the final deadline for my thesis on Open Source approaches fast, I’m hard-pressed to find conclusions and projections to be made out of a full 5 months of academic work.</p>

<p><span id="more-1157"/></p>

<p>Most of the conclusions are <em>not</em> Earth-shattering revelations, but things we already know — mainly, that we’ve got all the assets we need to make Linux world domination happen.</p>

<p>But there’s one particular thing you and me know for certain… yet we’re doing practically nothing about it!</p>

<!--more-->

<p>Anyone could have guessed that my undergrad thesis work is centered on Open Source; more accurately, we deal with <a href="http://rudd-o.com/software-libre/">devising strategies for Linux and Open Source adoption and penetration growth in the SMB sector of Guayaquil, Ecuador</a>.</p>

<p>By the way, you can get the info and (of course, Ogg Theora encoded) videos <a href="http://rudd-o.com/software-libre/">from the site itself</a>.  As a matter of fact, the thesis is being done using  a fully open source methodology underpinned by MediaWiki.  Too bad most of you won’t be able to read it, since it’s in Spanish.</p>

<p>A fairly sizable part of our work was identifying Linux and Open Source weaknesses, and finding out how they fared in practice.  Mind you, we fare pretty poorly, guys.  We’re all tech, and no heart.</p>

<p>Do you know what my thesis’ first and foremost conclusion is?  <em>Linux and Open Source lack marketing</em>.  Ergo, we lack brand recognition.  Ergo, we lack public trust.  Ergo, misconceptions abound.</p>

<p>One of our interviewees said (in connection with Ubuntu) during a focus group: <q>Oh, I see what they’re doing, they’re offering the software for free, so they can later change their policy and start charging us for updates.  I’d rather pay a set amount of money upfront than having “them” change the game rules on me later on.</q>.  Being that we were conducting a focus group, the methodology forbid me from evangelizing on the true philosophy underlying Ubuntu (or Open Source).  But I felt this nearly uncontrollable fit of anger when I heard that comment.</p>

<p>Almost all of our interviewees found Ubuntu Linux easy to use (no surprises there).  <em>Most of them were truly astonished</em> as to how much punch Ubuntu packs in a single CD.  A large portion of the interviewees were actually willing to try it, especially if the BSA threatened to crack their businesses down (that they were using pirated software is, of course, not a surprise as well).  Just a single person, who seemed to hate computers, did not find anything to like about Ubuntu (and this person fits the reproductive learning profile — she memorized procedures instead of learning concepts about computer usage).</p>

<p><em>And it’s our fault</em>.  We’ve failed to annihilate public perceptions.  We keep preaching to the choir, and continue with our inbreeding, collectively patting our backs as we marvel at our technical prowess, while blindingly ignoring our utter failure to generate double-digit growth and adoption rates.  <a href="http://www.microsoft.com/">Our biggest competitor from the proprietary camp</a> is having a blast while convincing everyone that Linux is shady and all things free are akin to viruses and other types of malware.  They’re deftly playing into Joe Sixpack’s confusion about computers.  By now, you should have learnt the lesson: technical or moral superiority doesn’t win the battle — and it never has.  <em>Marketing is paramount — good tech plus zero adoption just doesn’t count</em>.</p>

<p>So, what are we doing about it?  We can’t pool our resources into a single, giant marketing machine.  Sure, great strides have been achieved in that direction… for single, niche OSS projects such as Firefox.  I’m probably sure something like it can be set up for Linux — your favorite distro or Linux in general — but so far, <em>we’re going nowhere fast with that approach</em>.</p>

<p><em>Yes, our marketing sucks</em>.  That’s one of the conclusions of our work.  The recent trend in large OSS projects that focuses on marketing is relatively new, and hasn’t made any public impact yet.  And this kind of model simply cannot work for smaller projects, or unfocused efforts.  Decentralization — one of our biggest strengths — simply doesn’t help.</p>

<p>In reality, the single most powerful and leverageable resource we have is time.  We should be out there, pushing Linux to people; heck, even adopting friends’ and family members’ computers.  I’m currently adopting my best friend’s computer.  He double-boots Windows 98 and Ubuntu.  He always gives me the crap that <q>Linux suxxx; if I had Windows XP installed, this or that program would work, and I wouldn’t have this or that problem</q>; but, you know what, everytime I visit (two times a week) <em>he’s running Linux, not Windows</em>.  He even got hooked on <a href="http://amarok.kde.org/">Amarok</a> and hates the fact that he can’t run Amarok on Windows.  That means the drug caught on.  But <em>someone had to get him hooked on the dope</em>.  That was me.</p>

<p>You can clearly see I’m not blabbing about “do as I say, not as I do”.  I work exclusively on Linux and Open Source.  It’s in my best financial interests to push my platform like a street corner dope dealer.  By doing that, I’m trying to secure my financial and computing future.  Your inaction is preventing me from galvanizing my (and your own) dreams.</p>

<p>So, <em>do your part, damnit</em>!.  How much does it cost you to <em>burn ten copies of Ubuntu</em> or Fedora live CDs, and hand them out to your friends, family and co-workers?  It surely beats helping them out with illegal copies of proprietary software.  This may end up benefiting yourself — as I said before, we’re going nowhere fast, with slow or zero adoption rates.  If you truly care about Linux, Open Source and want to preserve an open future for everyone, <em>you should be spreading Linux like mad</em>.</p>

<p>One million Linux users… five Linux installations for each one of them.  Lofty, yet modest, goal.  We can put a huge dent in Windows’ numbers.  <em>What are you waiting for?</em></p>

<p>Update: apparently <a href="http://clearnightsky.com/node/242">someone else shares some of my points of view</a>.</p>

<p><em>Sound off using the comments area below, or blog about this article directly on your site.  I also encourage you to use the Digg button at the beginning of the article — while recognizing that would be preaching to the choir.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/09/20/open-source-linux-and-the-importance-of-marketing-and-public-perception/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Problemas con Cable Módem Turbo de SatNet</title>
		<link>http://rudd-o.com/archives/2006/08/08/problemas-con-cable-modem-turbo-de-satnet/</link>
		<comments>http://rudd-o.com/archives/2006/08/08/problemas-con-cable-modem-turbo-de-satnet/#comments</comments>
		<pubDate>Wed, 09 Aug 2006 01:15:24 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Publicaciones]]></category>

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

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/08/08/problemas-con-cable-modem-turbo-de-satnet/</guid>
		<description><![CDATA[Ahora agárrense los sombreros porque voy a publicar algo controversial.

Este mes, el servicio de SatNet ha estado malo.  Malo, malo.  Se cae inexplicablemente y deja de funcionar, y para solucionar el problema se requieren reinicios manuales de la interfaz de red.  Esto es, obviamente, muy difícil de hacer mientras uno duerme o [...]]]></description>
			<content:encoded><![CDATA[<p>Ahora agárrense los sombreros porque voy a publicar algo controversial.</p>

<p>Este mes, el servicio de SatNet ha estado malo.  Malo, malo.  Se cae inexplicablemente y deja de funcionar, y para solucionar el problema se requieren reinicios manuales de la interfaz de red.  Esto es, obviamente, muy difícil de hacer mientras uno duerme o está lejos del PC.  Aunque (a través de Nagios) podría hacer alguna magia perversa para detectar esta situación y disparar automáticamente un reinicio de interfaz, no lo haré porque no es así como se supone que tiene que operar.</p>

<p>Como no soy de andar haciendo conjeturas, uso <a href="http://www.nagios.org/">Nagios</a> para llevarle la pista a las estadísticas, y estos son los resultados:</p>

<ul>
<li>de el 100% del tiempo del mes, el servicio estuvo caído un 18.413%.</li>
<li>el récord de downtime fue más de 10 horas, ayer a las 8:51 AM</li>
</ul>

<p>Pondría los gráficos y las tablas, pero… ¡pereza!</p>

<p>…okay, venzo la pereza.  El gráfico sale negrito pero cuando le dan clic lo van a ver grande, en fondo blanco, y con las fechas y horas.  Sólo en el interés de la transparencia, el <em>host</em> mostrado aquí no es <code>router.satnet.net</code>, sino que es mi ruta por defecto — pero hoy decidí ser más estricto y de ahora en adelante lo cambié por el <em>router</em> de borde (aquel que conecta a SatNet con Internet), que es el <em>host</em> que en realidad interesa, ya que si éste está caído, no hay Internet.</p>

<p class="centered"><a href="http://rudd-o.com/wp-content/uploads/images/shots/router.satnet.net_1-08-2006_to_8-08-2006.png" title="router.satnet.net: 1-08-2006_to_8-08-2006" target="_self" rel="lightbox"><img class="thumbnail" src="http://rudd-o.com/wp-content/uploads/images/shots/thumb_router.satnet.net_1-08-2006_to_8-08-2006.png" alt="router.satnet.net: 1-08-2006_to_8-08-2006" width="150" height="75"/></a></p>

<p>Si esto sigue, voy a reclamar.</p>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/08/08/problemas-con-cable-modem-turbo-de-satnet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>La guía definitiva para proyectarse exitosamente en línea</title>
		<link>http://rudd-o.com/archives/2006/07/17/la-guia-definitiva-para-proyectarse-exitosamente-en-linea/</link>
		<comments>http://rudd-o.com/archives/2006/07/17/la-guia-definitiva-para-proyectarse-exitosamente-en-linea/#comments</comments>
		<pubDate>Tue, 18 Jul 2006 02:54:54 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Curiosidades]]></category>

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

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/07/17/la-guia-definitiva-para-proyectarse-exitosamente-en-linea/</guid>
		<description><![CDATA[La verdad no sé qué te trae a leer este artículo.  Pero, como sabrás, con la creciente importancia de la Internet en el mundo moderno, verse bien en el “mundo de carne y hueso” ya no lo es todo.  Ser un hombre que sepa cómo empatar zapatos con correas, o una mujer que [...]]]></description>
			<content:encoded><![CDATA[<p>La verdad no sé qué te trae a leer este artículo.  Pero, como sabrás, con la creciente importancia de la Internet en el mundo moderno, <strong>verse bien en el “mundo de carne y hueso” ya no lo es todo</strong>.  Ser un hombre que sepa cómo empatar zapatos con correas, o una mujer que sepa maquillarse, no significa necesariamente que en línea sepas cómo proyectar una imagen atractiva o interesante para los demás.</p>

<p>Si llegaste hasta esta parte del artículo, pues bien, significa que compartes mi forma de pensar y que reconoces que verse bien (aunque no tan importante como ser buena persona, igual) es importante.  Pues bien, <strong>esta guía te ayudará a tener éxito en línea</strong>, sea que quieras levantar peladas con tu MySpace o que estés buscando dejar de chatear todo el día y obtener un trabajo.</p>

<p>Sólo una nota más: antes de comenzar, no te tomes todo lo que lees muy en serio.  <strong>Usa tus sesos</strong> para discernir cuáles son los consejos que puedes tomar y cuáles son humor que debes dejar de lado.  Los sesos son gratis, y usarlos no cuesta nada.</p>

<p><span id="more-1039"/></p>

<h2>Decide qué imagen vas a proyectar</h2>

<p>Parece mentira, pero lo primero que tienes que hacer, antes de dejar tu rastro en línea, es <strong>pensar qué imagen quieres proyectar</strong>.  De tu decisión dependerán muchas cosas en el futuro ya que, como sabrás, lo que hagas en línea quedará en línea para siempre.  Para siempre.  Tus hijos verán tus fotos en tanguita, man-titties y tatuajes cuando tengas 45 años.</p>

<p>Por eso, haz un plan.  Decide con antelación qué quieres hacer de tu avatar en la Internet.  Para hacerlo, contéstate estas simples preguntas:</p>

<ul>
<li><strong>Averigua quién eres tú</strong> en realidad y cómo reaccionas ante las cosas que te pasan.  No trataré aquí este punto en detalle, puesto que requeriría una serie de artículos, y tengo pereza.</li>
<li><strong>Decide qué parte de lo que eres quisieras cambiar</strong>, y comienza a cambiarlas (metas/objetivos/etcétera).  Sí, no tiene nada de malo querer ser diferente.  Lo malo es querer ser diferente, decir que eres diferente, pero seguir siendo el mismo tú.  O sea, si eres gordo y feo, pero pones en tu Hi5 que eres bonita y linda, entonces tienes problemas de verdad.</li>
</ul>

<p>No puedo dejar de poner énfasis en el último paso.  Quiéranlo o no, la sociedad está firmemente enfrascada en el modelo de “lo que ves es lo que obtienes” (usualmente la gente fea discute y despotrica contra este aserto, pero lo que hacen no sirve para nada). Si tienes algo que en realidad se convierte en un pasivo (contablemente, lo opuesto a un activo), cámbialo.</p>

<ul>
<li>Si estás chiro, consigue trabajo (así sea en el Estado).</li>
<li>Si te cuesta plata la cirugía, camella más duro.</li>
<li>Si te da miedo la cirugía, pues pides harta anestesia.</li>
<li>Si tienes los dientes chuecos, o te pones fierros (y ahora hay unos que son fundas transparentes, fantásticos pero caros) o te pones dentaduras postizas (y te lavas más frecuentemente para evitar el mal aliento).</li>
<li>Y si tienes mal aliento, hazte ver del hígado y del dentista.</li>
</ul>

<p>Importante: <strong>consigue alguien que sea de confianza</strong> pero que al mismo tiempo sea capaz de decirte con toda franqueza qué anda mal contigo.  Esta persona es un activo invaluable para la búsqueda de la felicidad.  Pero tampoco confíes ciegamente en lo que te diga: busca consejos de varias personas de esta calaña — y siempre mantén tu duda razonable.</p>

<p>En fin, hay un sinnúmero de cosas que puedes estar haciendo mal — como dijo Homero Simpson, “cerebro, cerebro, usa tu cerebro para ayudarte”.</p>

<h2>Decide qué vas a exponer</h2>

<p>Después de haber decidido quién eres, y haber cambiado esas partes horribles de ti (granos en la cara, ciento cincuenta libras de sobrepeso, bollo en lugar de salchicha, etcétera) puedes proceder a dejar tu impronta en la vasta World Wide Web.  Y, para esto, primero <strong>debes decidir qué vás a mostrar</strong>.</p>

<p>Como te habrás dado cuenta ya, este paso es delicado.  Si bien es cierto que <strong>habrán cosas de ti que no puedas cambiar</strong> (por ejemplo, si eres Michael Jackson, que violaste 5 niños hace 2 años y que eres negro por dentro), siempre <strong>puedes seleccionar qué facetas de ti puedes mostrar</strong>.</p>

<p>Sí, facetas.  Una de las grandes ventajas de ser humano (especialmente para los pederastas y los abogados) es que <strong>uno tiene diferentes facetas</strong>, y uno siempre muestra diferentes facetas a los demás, dependiendo del contexto situacional.  Por ende, vas a seleccionar qué quieres mostrar inicialmente y qué quieres que tus prospectivos contactos (mujeres, hombres, animales en línea — aunque personalmente no condono el bestialismo) conozcan <em>a posteriori</em>.</p>

<p>Mi consejo: <strong>sé discreto pero di la verdad</strong>.  No hay nada más horrible que encontrarse con que lo que decía alguien en línea era totalmente falso.  Tengo amigos que al ir a recoger una pelada a su casa, para irse de joda con su flamante “pelada on-line”, han salido en quema, literalmente llantas chillando, porque se dieron cuenta de que era un cuco.</p>

<p>Por cierto, <strong>debes estar preparado</strong> para estas situaciones también.  Sea manteniendo el vehículo encendido o una ruta de escape mapeada, don Juan Seguro vivió muchos años (y comió pocas peladas feas).</p>

<p>De la misma forma, pero por el otro lado de la moneda, también es horrible encontrarse con perfiles de usuarios o chateros que, en la primera conversación, te cuentan la desgracia de su vida con lujo de detalles.  A este tipo de individuos se les suele dar el tratamiento Alt+F4 (cerrar ventana) a la brevedad posible.</p>

<p>Para que evites que este tratamiento sea infligido a tu presencia en línea, <strong>te recomiendo discreción</strong>.  Aunque no hayas tenido pareja en 6 años, y recibas propuestas de trabajo en Nestlé como donante de queso rancio, conviene que te quedes callado y ser misterioso al respecto (así te tengan contra el paredón, pelotón de fusilamiento listo).  Recuerda: uno es esclavo de lo que dice y las fotos que publica, y dueño de lo que se guarda.</p>

<h2>Decide dónde vas a estar</h2>

<p>Hay muchos lugares para proyectar tu imagen:</p>

<ul>
<li><a href="http://www.hi5.com/">Hi5</a></li>
<li><a href="http://www.myspace.com/">MySpace</a></li>
<li>MSN Messenger (o Google Talk, para los alternativos)</li>
<li>Tu propio blog</li>
<li>Internet Relay Chat (mIRC, para los que no saben que se llama IRC)</li>
</ul>

<p>Si tienes tiempo en Internet, probablemente ya hayas decidido en dónde quieres estar, así que lo que procede a hacer es una reingeniería de imagen.  Si no, pues puedes comenzar con pie derecho desde ahora.</p>

<p>Un <strong>mito</strong> común que rueda por alli es que <strong>estos lugares existen para hacer amigos</strong> y socializar.  Nada más lejano de la realidad.  Estos lugares de Internet <strong>se inventaron para levantar peladas (u hombres)</strong> con el explícito y firme propósito de tener sexo salvaje, sudoroso y desenfrenado.  Si no, ¿cómo explicar el hecho de que están repletos de desviados sexuales?</p>

<p>Con esto en mente, ya sabes qué tienes que hacer.  O, si no lo sabes, yo te lo diré: <strong>ser y parecer un individuo no-enfermo</strong>.  El hecho de que estés leyendo hasta acá automáticamente implica que tú tienes un par de tornillos flojos.  Mi misión es ponerles masilla epóxica Rally para que no se note la flojera.  Así que sigue mis consejos o perece en el infierno de los pervertidos que nunca tuvieron pelado/a.</p>

<p class="centered">
<img class="centered" src="http://rudd-o.com/wp-content/uploads/images/funny/obey.gif" alt="Obey!" width="180" height="281"/>
<br />Obedece
</p>

<h2>Selecciona cuidadosamente el material</h2>

<p>OK, ahora viene la parte fácil.  Sabiendo la imagen que quieres proyectar, debes elegir cuidadosamente:</p>

<ul>
<li>tus palabras</li>
<li>tus fotos</li>
<li>tus videos</li>
<li>tus afiliaciones</li>
</ul>

<h3>Las palabras</h3>

<p>Comencemos con lo fácil: las palabras.  Como todos saben, todo lo que se lee en línea es mentira, parte de un gran complot abominable para hacerle creer a la gente cosas que son perniciosas para la humanidad o la religión católica.  Por eso, te recomiendo sinceridad.  Mantente apegado a la verdad (exceptuando honrosas menciones irónicas de tal o cual tema).</p>

<p>Sé consciente de lo que dices, pues es muy fácil recibir un juicio por libelo o calumnia injuriosa estos días, y es muy difícil defenderse de uno.    Si puedes, colecciona evidencia que respalde tus asertos (por ejemplo, si se te ocurre decir que Alvaro Noboa es homosexual — cosa que el autor de este artículo no puede probar ni cree tampoco) se recomienda tener a la mano fotos del señor en cuestión cometiendo actos homosexuales o, en su defecto, la foto de algún desconocido homónimo del antedicho personaje, lista para ser montada en fotos gay porno (lo cual, como establecimos anteriormente, es muy sencillo obtener en línea).</p>

<p>Pon el humor a jugar en tu equipo, y ajústalo a la imagen que deseas proyectar.  Por supuesto, si en pasos anteriores estableciste que querías proyectar una imagen de <em>Goth</em> o de <em>Emo</em>, tu humor debería ser irónico, depresivo y negro.  Si eres abogado o suegra (dos conocidos objetivos de chistes) pues entonces tendrás que aprenderte a reir de ti mismo (entablar demandas o pegarle a tu nuero no se vale).</p>

<p>Escribe con buena ortografía.  A no ser que tengas 13 años y seas emo, en cuyo caso está bien escribir <em>OMG!!! PONIES!!!!</em>.  Excepciones honrosas a esta regla son: el <em>wannabe hacker</em> (que suele escribir cosas como “im teh rulz, j00 all suxxxorzzzz, pwn3d s0nz o’b17chi5″) y el <a href="http://fark.com/">Farker</a> profesional (que puede escribir con toda libertad cosas como <a href="http://www.urbandictionary.com/define.php?term=ufia">UFIA</a>, acrónimo de <em>Unsolicited Finger In the Anus</em>).</p>

<p>No digas tonteras.  Si estás construyendo un perfil de Hi5 para tí, pues ten cuidado con lo que dices.  Mencionar cualquiera de los siguientes datos no está recomendado:</p>

<ul>
<li>que estás en libertad condicional</li>
<li>que tienes 72 gatos en tu casa</li>
<li>que consumes drogas recreativas</li>
<li>que portas un arma</li>
<li>que intentaste suicidarte 5 veces pero que fallaste en todas — cosa por demás muy plausible si estás haciendo un perfil de Hi5, puesto que si hubieras tenido éxito, no estarías haciendo un perfil</li>
<li>que la vida es un asco — suele ser un anti-imán para el sexo opuesto</li>
<li>que pesabas 250 libras pero que ahora sólo pesas 200 — variantes incluyen el consabido “he bajado 50 libras”</li>
<li>que has tenido 2 peladas y tienes 32 años — una variante extraída de la vida real (me consta) vendría a ser si tienes 30 años y nunca has dado un beso</li>
<li>que bailas reggaetón pero que no eres chica fácil — esta contradicción es demasiado obvia para entretener algo de seriedad</li>
<li>que quieres llegar virgen al matrimonio — porque probablemente sea una mentira y te acusen de mentiroso/a</li>
<li>que “nadie te quiere, todos te odian, vas a comer gusanos”</li>
</ul>

<p>Es en serio — mencionar cualquiera de estas cosas (o variantes similares) te granjeará múltiples tratamientos Alt+F4 (ver arriba).</p>

<h3>Multimedios</h3>

<p>Esta guía, como cualquier material respetable, también trata las claves del el mundo moderno y multimedial: fotos, vídeos y grabaciones.  Y, como el dicho que reza <em>una foto pesa más que mil palabras</em> es 120K% cierto, lo haremos con la seriedad que requiere el caso.</p>

<p>Por favor, no publiques pendejadas.  En serio.  Antes de publicar cualquier foto en línea, ten mucho cuidado qué foto publicas.  Sin mencionar el grave riesgo de que tus hijos las vean en el futuro, tu reputación entera está en línea.  Esta es una lista corta de no-nos:</p>

<ul>
<li>Fotos feas</li>
<li>Fotos de mala calidad</li>
<li>Fotos en las que salgas con gente más linda que tú</li>
<li>Fotos falsas o parciales</li>
</ul>

<p>Recuerda que la gente juzgará tu apariencia por cómo te ve, y no hay oportunidad de efectuar “segundas impresiones”.  Excepto si pusiste una foto trucada en línea y te ven en persona después, en cuyo caso el resultado será mayormente negativo para tí.  Después de todo, lo que estás buscando probablemente sea una persona con quien tener sexo desenfrenado, y no querrías dar falsas impresiones que (a la corta o a la larga) perjudiquen tu oportunidad de coronar.</p>

<p>Trata de no caer en el conocido fenómeno llamado <em>Internet Disease</em>.  Los afectados de ID suelen ocultar sus defectos físicos en las fotos que publican en línea con varias técnicas: ángulos de cámara raros (ocultan la gordura), excesivo contraste (ocultan los granos), ojos bien abiertos (ocultan la borrachera), cuadritos en áreas claves (ocultan el pubis o el vello axilar — frecuente en las mujeres):</p>

<p class="centered">
<img class="thumbnail" src="http://rudd-o.com/wp-content/uploads/images/funny/Internetdisease.jpg" alt="Internet Disease: explicación visual" width="400" height="200"/>
<br />Internet Disease: explicación visual
</p>

<p class="inset floatright">
<a href="http://rudd-o.com/wp-content/uploads/images/funny/Internetdiseasetypes.jpg" title="Formas de Internet Disease" target="_self" rel="lightbox"><img class="thumbnail" src="http://rudd-o.com/wp-content/uploads/images/funny/thumb_Internetdiseasetypes.jpg" alt="Formas de Internet Disease" width="180" height="618"/></a>
<br />Formas de Internet Disease
</p>

<p>Para seleccionar adecuadamente el material que debes publicar, hemos buscado en las bases de datos más autoritativas y veraces de Internet (léase Google) y hemos encontrado una guía gráfica que te permitirá clasificar rápidamente tus fotos en pilas de “Sí”s y “No”s.</p>

<p>La clave es seleccionar el mejor material audiovisual que tengas de tí.  Si es posible y queda dentro de tu presupuesto, contrata los servicios de un estudio fotográfico en lugar de ser roñoso y publicar fotos de tu Webcam de veinte dólares.  El man del estudio no te va a mentir cuando sea la hora de decidir si eres feo o no.  La cámara de veinte balas podría ocultarlo, pero el chillido de las llantas de quien pase por tí en una cita será señal inequívoca de que vives una ilusión de drogadicto.</p>

<p>Lo mismo que he dicho de las fotos aplica para los vídeos.</p>

<p>En todo caso, y antes de que se me olvide, si estás construyendo un perfil en línea, no hay cosa más errada que omitir la foto.  Sí, sé que podrías estar pensando “pero soy demasiado feo/chiro para poner una foto”, pero esto no es excusa.  Míralo desde esta perspectiva: si pones una foto en la que sales tú, del 50% al 80% de tus visitantes te verán feo, pero si no pones foto, el 100% de la población pensará automáticamente <q>con seguridad este/a tipo/a es feísimo</q>.  ¿Qué prefieres, el 20% de la torta, o perecer hambriento de sexo?</p>

<p>Las grabaciones audiofónicas (léase “podcasts y demás”) siguen principios diferentes.</p>

<p>El principio fundamental que rige su publicación es <q>¿tengo la voz de Barry White o Frank Sinatra?</q>.  Si eres hombre, y la respuesta es sí, entonces publica tu voz en línea.  Cualquier otro caso (ser mujer, tener voz de Marilyn Monroe o de Pee Wee Herman) es un no automático.</p>

<p>También es importante cuidar tu vocabulario.  Si eres una estrella de cine, tal vez puedas salirte con la tuya y decir un par de malas palabras.  Si eres yo (cosa por demás improbable) pues te perdonarán todas las palabrotas que digas, así te oiga la dueña de casa de la cumpleañera (en mi caso, cosa por demás probable y certera).  Para el resto de seres humanos que leen esta guía, sólo hay tres alternativas:</p>

<ul>
<li>Hacerse estrella de cine (un 9 en la escala de dificultad 1-10)</li>
<li>Ser yo (difícil 10)</li>
<li>No decir malas palabras (dificultad variable)</li>
</ul>

<h3>Sé consistente</h3>

<p>Es imprescindible que la imagen de ti que has puesto en línea sea tan consistente consigo mismo como la imagen que muestras en la vida real.  Si necesitas más información, el diccionario es una excelente ayuda para desenmarañar el misterio que rodea a la palabra <em>consistencia</em>.</p>

<h2>¡Publica!</h2>

<p>Habiendo logrado todos los pasos anteriores, debes proceder a dejar tu huella en la World Wide Web.</p>

<p>Una vez terminada la publicación inicial, debes continuar aplicando los principios de esta guía a cualquier contribución posterior que hagas en tus espacios en línea.  Mantén tu línea, y si decides cambiarla (por una línea más sincera, menos sincera, más gorda o más flaca) mantén la consistencia del cambio en todos lados.</p>

<h2>¡Fin!</h2>

<p>Bueno, si llegaste hasta acá, te deseo la mejor de las suertes.  Espero que esta guía te haya servido.  Si encontraste algo que no te gustó, o cosas que están mal, simplemente déjame tu comentario abajo.  Si te gustó la historia, <a href="http://meneame.net/story/guia-definitiva-para-proyectarse-exitosamente-linea">menéala</a> o <a href="http://acolitame.net/story.php?id=26">acolítame</a>.</p>

<p>Nos vemos!</p>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/07/17/la-guia-definitiva-para-proyectarse-exitosamente-en-linea/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Delito intelectual en el Ecuador: ¿sabías que eres un delincuente?</title>
		<link>http://rudd-o.com/archives/2006/06/29/bomba-casi-toda-la-poblacion-ecuatoriana-es-delincuente-de-acuerdo-a-la-ley-de-propiedad-intelectual-en-ecuador/</link>
		<comments>http://rudd-o.com/archives/2006/06/29/bomba-casi-toda-la-poblacion-ecuatoriana-es-delincuente-de-acuerdo-a-la-ley-de-propiedad-intelectual-en-ecuador/#comments</comments>
		<pubDate>Thu, 29 Jun 2006 08:23:29 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Copyright]]></category>

		<category><![CDATA[Delito intelectual en el Ecuador]]></category>

		<category><![CDATA[Mi país]]></category>

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

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

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

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/06/29/%c2%a1bomba-%c2%a1casi-toda-la-poblacion-ecuatoriana-es-delincuente-de-acuerdo-a-la-ley-de-propiedad-intelectual-en-ecuador/</guid>
		<description><![CDATA[Después del fiasco de España (donde pretenden criminalizar con 4 años de cárcel la utilización de software P2P), me decidí a revisar la Ley ecuatoriana de Propiedad (¿Proteccionismo?) Intelectual para ver qué joyas encontraba.

Detesto hablar de Propiedad Intelectual, siendo que todas las ‘formas’ de proteccionismo intelectual son dispares y merecen tratamientos y consideraciones distintas.  [...]]]></description>
			<content:encoded><![CDATA[<p>Después del fiasco de España (donde pretenden criminalizar con 4 años de cárcel la utilización de software P2P), me decidí a revisar la Ley ecuatoriana de Propiedad (¿Proteccionismo?) Intelectual para ver qué joyas encontraba.</p>

<p>Detesto hablar de Propiedad Intelectual, siendo que todas las ‘formas’ de proteccionismo intelectual son dispares y merecen tratamientos y consideraciones distintas.  Pero, bueno, si tengo que analizar todo un libro, refiriéndome a éste por nombre y apellido, en un artículo, lo haré.</p>

<p><a href="http://www.sice.oas.org/int_prop/nat_leg/Ecuador/L320b.asp">Vean las joyas que encontré</a> (vayan siguiendo las negrillas):</p>

<p><span id="more-984"/></p>

<h2>Introducción y fundamentos</h2>

<blockquote>
<strong>Art. 19</strong>. El autor goza del derecho exclusivo de explotar su obra en cualquier forma y de obtener por ello beneficios, salvo las limitaciones establecidas en el presente Libro.
</blockquote>

<p>Hasta ahí, todo bien.  ¿No verdad?  Bueno, las cosas están por ponerse mucho, mucho peor.</p>

<p>Naturalmente, este artículo es tan sólo el primero de una serie — en la cual me he limitado a exponer los artículos que personalmente considero las mayores y más crasas injusticias de la ley ecuatoriana de proteccionismo intelectual.</p>

<p>Continúa con el resto para que veas cómo descubrí que, en realidad, la gran mayoría de los ecuatorianos delinquimos cotidianamente, sin saberlo.</p>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/06/29/bomba-casi-toda-la-poblacion-ecuatoriana-es-delincuente-de-acuerdo-a-la-ley-de-propiedad-intelectual-en-ecuador/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Closed Source and the naked Emperor</title>
		<link>http://rudd-o.com/archives/2006/06/27/closed-source-and-the-naked-emperor/</link>
		<comments>http://rudd-o.com/archives/2006/06/27/closed-source-and-the-naked-emperor/#comments</comments>
		<pubDate>Tue, 27 Jun 2006 23:43:33 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Free software]]></category>

		<category><![CDATA[Information security]]></category>

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

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

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/06/27/closed-source-and-the-naked-emperor/</guid>
		<description><![CDATA[For the past 8 years, I’ve read countless articles on Open Source and Closed Source security.  I’ve endured bickering that asymptotically approaches infinite.  I’ve tried to understand every possible argument, perspective and angle.  And, today, I’ve come to a definitive conclusion.

The Emperor is butt naked.  And the majority of the people [...]]]></description>
			<content:encoded><![CDATA[<p>For the past 8 years, I’ve read countless articles on Open Source and Closed Source security.  I’ve endured bickering that asymptotically approaches infinite.  I’ve tried to understand every possible argument, perspective and angle.  And, today, I’ve come to a definitive conclusion.</p>

<p>The Emperor is butt naked.  And the majority of the people can’t see it.</p>

<p><span id="more-977"/></p>

<h2>Before the storm</h2>

<p>In the interest of full disclosure, and knowing this simple honest action will net me a thousand clogged ears and blind eyes, I must state the following: I’m an experienced Free Software and Open Source developer.  I’ve been working on IT for my entire life using Open Source practices (and I’ve never managed to stay comfortable in Closed Source-type environments for more than two months).  I’ve been using Open Source since it was practical to have it on my computer (which was inextricably tied to the availability of Internet connections in my country, a Third World place named Ecuador).</p>

<h2>Let’s get started</h2>

<p>Recently, <a href="http://blogs.zdnet.com/Burnette/?p=65">a Microsoft security official said phishing is a problem because there’s no patch for human stupidity</a>.  Which, in other words, is the exact equivalent of saying that people’s computers get infected by malware because they’re stupid.</p>

<h2>Are users really stupid?</h2>

<p>Are you, Mr. Reader, stupid enough to fall for a phishing scam?  Are you, Mr. Reader, stupid enough to install a virus on your computer?  Are you, Mr. Reader, stupid enough to be aware that the latest screen saver you downloaded contains spyware?</p>

<p>I bet you’re not.</p>

<p>Textbook facts:</p>

<ul>
<li>Now, for those of you who don’t know software engineering: a bug is a condition in a computer program, the result of human error at the software manufacturing stage.</li>
<li>Normally, bugs only diminish your productivity.  But, due to their nature, some computer bugs can be leveraged into giving third parties or unwanted programs (viruses and their cousins) full access to your computer.</li>
<li>Modern computers (and their operating systems) exploit a series of built-in mechanisms to provide separation between programs.</li>
<li>Modern bugs are the gateways for malicious programs to get where they do not belong.</li>
</ul>

<p>This is the truth.  Malware gets into your computer when your computer software has bugs.  No bugs, no malicious activity.</p>

<h2>In a way, viruses are a problem of the past… and not because of antivirus software!</h2>

<p>In other words: with a properly built, bug-free computer system, no virus attack is possible, or (as is the case with Microsoft Windows) able to obliterate your computer and your information.  Attaining bug-free computer programs is very hard (some would argue it’s undoable).  But building completely secure systems is possible.  It’s so possible that they have already been built.</p>

<p>This is not just my “opinion” or “educated guess”.  This is something real, derived directly from cutting-edge science and engineering.</p>

<p>And here’s another textbook fact: malware (malicious software) is spreading because of the poor quality and the irresponsible attitudes of Closed Source software houses (with their flagship operating system, Microsoft Windows).</p>

<h2>The Emperor is naked.  Why doesn’t anybody notice it?</h2>

<p>The Closed Source camp has completely succeeded at the task of convincing the entire planet that the spread of malware is the responsibility of computer users everywhere.  It’s a concerted effort of PR quotes in mainstream media, such as the quote from the Microsoft security official in the article I mentioned earlier.</p>

<p>They’ve lead the world to believe that bugs in their software are not only an unsurmountable “inconvenience”, but that you have to pay for “protection” in the form of antiviruses and antispyware.  And, to top it, it’s “your fault” when a virus gets on your computer.</p>

<h2>Why the lie sticks</h2>

<p>Of course, the spread of a vulgar lie like this one is only possible because only a microscopic portion of the populace understands software engineering.  Not that you, me or anyone else is at fault.  I know nothing about engine repair.  And why should I be forced to know?  But the point is simple: computers (like microwave ovens) are the postmodern “black magic” — hocus pocus — and people, in absence of knowledge, have always tended to believe what the expert wizard said.  Not far ago, people believed a ten pound rock would fall ten times faster than a one-pounder.  And this is about the only piece of truth to the “blame the user for the virus” lie.</p>

<p>Under the hood, Microsoft Windows and related software has tens of thousands of known bugs, and (judging by the available statistical data) many more unknown bugs.  Scarce days pass between discoveries of previously unknown bugs, bugs that malicious programs continually use to destroy your work and to endanger your personal life.  Will you ever know if there’s a bug going undetected, Mr. Reader?  You will never, ever know, because they won’t let you see under the hood.  Ever.  It’s in their best interest to break your legs and then sell you crutches, each pair more “sophisticated” than the old one.</p>

<h2>How can we sidestep this issue?  Isn’t Windows mandatory?</h2>

<p>How can Microsoft get away with a blatant lie?  Simple.  You have no other choice but to believe them.  You will never be able to prove them wrong, because they have the source, and you do not.</p>

<p>Fortunately, you do have a choice.  Use Open Source software.  Use Linux, use Firefox, use OpenOffice.org.  The real security innovations and cutting-edge advancements are happening in our camp, not the Closed Source camp.</p>

<p>Open Source is simply better — don’t just take my word for it, give it a run.</p>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/06/27/closed-source-and-the-naked-emperor/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Informática post-2007: lo que nos depara el futuro cercano</title>
		<link>http://rudd-o.com/archives/2006/06/08/informatica-post-2007-lo-que-nos-depara-el-futuro-cercano/</link>
		<comments>http://rudd-o.com/archives/2006/06/08/informatica-post-2007-lo-que-nos-depara-el-futuro-cercano/#comments</comments>
		<pubDate>Thu, 08 Jun 2006 07:31:57 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Copyright]]></category>

		<category><![CDATA[Free speech]]></category>

		<category><![CDATA[Information security]]></category>

		<category><![CDATA[MP3/música]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/06/08/informatica-post-2007-lo-que-nos-depara-el-futuro-cercano/</guid>
		<description><![CDATA[La gran mayoría de personas está familiarizada con las computadoras personales como herramientas de productividad, comunicaciones y entretenimiento.  Cientos de millones de personas gozan de los servicios que la Internet presta, muchas veces gratuitamente.



Asimismo, una ola creciente de gente se está incorporando a la vida 100% digital.  Desde reproductores de DVD, pasando por [...]]]></description>
			<content:encoded><![CDATA[<p>La gran mayoría de personas está familiarizada con las computadoras personales como herramientas de productividad, comunicaciones y entretenimiento.  Cientos de millones de personas gozan de los servicios que la Internet presta, muchas veces gratuitamente.</p>

<p><span id="more-942"/></p>

<p>Asimismo, una ola creciente de gente se está incorporando a la vida 100% digital.  Desde reproductores de DVD, pasando por CDs con música en formato MP3, hasta la televisión digital (sea a través de los nuevos equipos de TV Cable o los decodificadores digitales de DirecTV).  Todos estos avances han sido posibles gracias a las economías de escala que han abaratado la tecnología, disponible gracias a los avances de la miniaturización.</p>

<p>Tal parece que la cadencia de innovación no fuera a tener fin.  La lista corta de nuevas tecnologías que están por salir este año incluye: Windows Vista, HD-DVD (DVD de alta definición), HDTV (televisión de alta definición), DVD-Audio y Super Audio CD (sonido envolvente para música), SDMI (cables y conectores para multimedios digitales) y más.  Tecnologías que prometen avanzar en terrenos antes insospechados.</p>

<p>Me detengo y pregunto:</p>

<p>¿Qué le parecería a Ud. un futuro en el cual las canciones copiadas de sus CDs a su computador no puedan ser sacadas de él?  Un futuro en el que, entre otras cosas:</p>

<ul>
<li>no podrá retransmitir un e-mail a un familiar porque su computador se negará a hacerlo</li>
<li>no podrá enviar una página Web a un amigo porque su computador no se lo permitirá</li>
<li>no podrá grabar un programa de televisión en un VHS del futuro, sin pagar por el privilegio de hacerlo en cada ocasión</li>
<li>la música que Ud. compre (sea en línea o en discos) expire después de cierto tiempo</li>
<li>no podrá copiar una canción para un amigo, o enviarla a través del correo, MSN Messenger o afines</li>
<li>no podrá recibir un libro digital prestado de un amigo, peor aún leerlo</li>
<li>no podrá prestar una película a un amigo, porque el computador o reproductor HD-DVD de este se rehusará a reproducir la película</li>
<li>no podrá respaldar su colección de música digital sin sus “licencias” - y si se pierden sus “licencias”, todo el gasto que haya hecho en música se perderá</li>
<li>no podrá capturar una foto de la pantalla de su computador, porque la cámara con la que capture detectará que está grabando imágenes “prohibidas” y se apagará</li>
<li>no podrá ni siquiera grabar canciones o películas a una casetera análoga o VHS, porque los equipos fuente (decodificadores, reproductores HD-DVD, televisión, etcétera) detectarán el evento y dañarán la calidad del material a propósito</li>
<li>los documentos que tengan contenido prohibido automáticamente se censurarán, y Ud. no tendrá modo alguno de participar en el proceso para definir lo “prohibido”</li>
<li>su computador, reproductor DVD o televisor notificará a las autoridades si Ud. efectúa alguna operación ilegal (aun cuando Ud. no sepa qué está sucediendo)</li>
</ul>

<p>Este es el futuro a mediano plazo.</p>

<p>No, no estoy bromeando.</p>

<p>Las plataformas de multimedios del futuro a mediano plazo estarán dominadas por dos grandes jugadores: Intel y Microsoft.  Los grandes conglomerados de medios (MPAA, IFPI y RIAA) han “asegurado” que no habrá mercado futuro para medios digitales si no se les “garantiza” la “protección” adecuada para sus trabajos.  Intel y Microsoft han trabajado muy diligentemente para proveer las tecnologías (en el caso de Microsoft, con software incluido en Windows Vista, y en el caso de Intel, con chips para computadores y teatros en casa) necesarias para cumplir los “sueños” de la industria de la música y las películas.</p>

<p>Este conjunto de tecnologías cae bajo la denominación de dos nombres:</p>

<ul>
<li>Digital Rights Management (o DRM).  Originalmente pensada como tecnología basada en software que se encarga de autorizar o denegar el permiso para acceder a información, se encargará de denegarle a Ud. el acceso no autorizado a películas, libros y música.  Hoy, DRM es sinónimo de Manejo de Restricciones Digitales.</li>
<li>Trusted Computing (o TC).  Originalmente pensado como un sistema de seguridad para detectar y desactivar software malicioso, TC se utilizará para detectar software no autorizado.  Hoy en día, TC es sinónimo de Computación Tramposa.</li>
</ul>

<p>Dicho de otra manera: cada computador y dispositivo multimedia digital tendrá un “policía” interno que verificará si Ud. está “autorizado” para hacer uso del contenido que Ud. intenta reproducir.  Esto no es un sueño - es la realidad, que ya existe en prototipo y está por ser lanzada al mercado.  Windows Vista incluirá Protected Media Path (software DRM) que, en cooperación con TPM (un chip TC) que deshabilitará su computador o partes de él si Windows determina que Ud. está usando un programa para “romper las reglas”.  Intel, a su vez, fabricará los chips TPM, que ofuscarán los archivos (de forma indetectable) para que Ud. no pueda leerlos si no está “autorizado”.</p>

<p>¿Se ha preguntado Ud. de dónde saldrá el dinero adicional para costear toda esta tecnología extra que, por cierto, en nada aporta a su disfrute de Internet, películas, shows de TV y música?  Pues de su bolsillo, ya que quienes pagarán por estos artefactos modernos tendrán que pagar el precio de la tecnología.  Recuerde Ud. que si su aparato no juega con las reglas de la industria, ningún tipo de multimedios funcionará con él.</p>

<p>Por supuesto, “hecha la ley, hecha la trampa”, ¿no?  Es de esperarse que, así como los modernos PlayStations se modifican para jugar juegos copiados con un chip, alguien invente una cosa similar para los equipos del futuro.   Eeeepa… no tan rápido: este consorcio de empresas está trabajando activamente para comprar leyes alrededor del mundo que criminalicen (bajo pena de prisión) la creación de alternativas o mecanismos afines, fuera del consorcio.  En EE.UU. ya existe una ley que criminaliza la “circunvención de mecanismos de protección”, llamada DMCA.</p>

<p>En resumen:</p>

<ol>
<li>Digital Rights Management (o DRM) tendrá como consecuencia el que Ud. ya no podrá controlar cómo y cuándo verá la TV, sus películas, oirá sus canciones y leerá sus libros: más bien, los titulares del copyright decidirán cómo, cuándo, dónde e incluso por qué motivos.</li>
<li>TC se utilizará para proveer computadores en los que los conglomerados de medios puedan confiar, donde Ud. será el potencial delincuente y pirata del que hay que protegerse a toda costa.</li>
<li>La ley se utilizará para perseguir y enjaular a los “delincuentes piratas” y proveedores de tecnologías alternativas que deseen utilizar sus propios computadores a su conveniencia, en lugar de atenerse a las normas establecidas por los malcriados del kindergarten.</li>
</ol>

<p>DRM como policía, TC como escudo y la Ley como plan B.  Caída y limpia, Ud. paga la cuenta.</p>

<p>Referencias:</p>

<ul>
<li><a href="http://www.homelandstupidity.us/2005/07/28/dont-trust-trusted-computing-microsofts-next-generation-secure-computing-base/">Don’t trust trusted computing</a></li>
<li><a href="http://www.gnu.org/philosophy/can-you-trust.html">Can you trust your computer?</a></li>
<li><a href="http://www.cl.cam.ac.uk/~rja14/tcpa-faq.html">Trusted Computing FAQ</a></li>
<li><a href="http://blog.lobby4linux.com/index.php?/archives/73-Stockholders-Cuddled,-Customers-Screwed.-Microsoft-Sorry,-its-just-business.html">Stockholders cuddled, customers screwed. - Microsoft: “Sorry, it’s just business”</a></li>
<li><a href="http://blog.lobby4linux.com/index.php?/archives/71-MS-Assaults-Customers-with-First-Wave-of-Attacks.html">MS Assaults Customers with First Wave of Attacks</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/06/08/informatica-post-2007-lo-que-nos-depara-el-futuro-cercano/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tracking, auditing and managing your server configuration with Subversion in 10 minutes</title>
		<link>http://rudd-o.com/archives/2006/03/14/tracking-auditing-and-managing-your-server-configuration-with-subversion-in-10-minutes/</link>
		<comments>http://rudd-o.com/archives/2006/03/14/tracking-auditing-and-managing-your-server-configuration-with-subversion-in-10-minutes/#comments</comments>
		<pubDate>Tue, 14 Mar 2006 17:10:29 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Free software]]></category>

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

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

		<category><![CDATA[Server management]]></category>

		<category><![CDATA[Software bacán]]></category>

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/03/14/tracking-auditing-and-managing-your-server-configuration-with-subversion-in-10-minutes/</guid>
		<description><![CDATA[Hello, again!  For this article in the Server management series, we’ll explore an uncommon use of Subversion — instead of using it for source code management, you’ll be using it as a tool to make server administration painless and error-proof.



Most servers are configured once, then left to run for as long as they can [...]]]></description>
			<content:encoded><![CDATA[<p>Hello, again!  For this article in the Server management series, we’ll explore an uncommon use of Subversion &mdash; instead of using it for source code management, you’ll be <em>using it as a tool to make server administration painless</em> and error-proof.</p>

<p><span id="more-831"/></p>

<p>Most servers are configured once, then left to run for as long as they can (which, in practical terms, means ‘until hardware or software fails’).  More often than not, the <strong>cause for server failure is rooted in configuration mistakes</strong>.  That’s why it’s wise to keep a log of all configuration changes, and take detailed notes every time a setting is changed.  But, as the collection of servers you need to manage grows, <strong>bookkeeping tasks turn into a humongous monster</strong>.</p>

<p>No more.  Enter Subversion.</p>

<h2>What Subversion is</h2>

<p>Subversion is, primarily, a source code control system.  <em>You feed your files into a Subversion repository, and from that point on, Subversion oversees them</em>.  As you or other developers change files, you periodically commit your changes to the Subversion repository.  Subversion tracks those modifications, and allows you to replicate them, take snapshots of an entire source tree, and other nifty things.  Even file moves, copies and deletes are (nearly) transparently tracked by Subversion &mdash; and it has the memory of an elephant: you can delete files and, later on, recall them by revision number.</p>

<p><em>Subversion also excels with text files</em>; fortunately for us, <em>UNIX configuration files are, mostly, text</em>.</p>

<p>Subversion is, as you probably already know, <q>a better CVS than CVS</q>.  Indeed, it was designed as a replacement for CVS, so if you’re familiar with CVS, you’ll probably feel right at home with Subversion.</p>

<p>Let’s understand three fundamental concepts in Subversion.</p>

<ul>
<li><strong>There’s a central repository</strong>.  Only the repository administrator should touch that.  You’ll be playing the role of repository administrator only once.</li>
<li><strong>Users don’t touch the central repository</strong>.  They check out private “working copies” and work on those copies.  Once they’ve hacked their working copy into a desired state, they commit those changes into the repository.  You’ll be playing the role of user most of the time.</li>
<li>On any given working copy, there are <strong>two ‘axes’ users can travel</strong> (whether to check out a few files, or to make a <code>diff</code> between two states):

<ul>
<li><strong>in time</strong>: once you’re using Subversion, you can go back and forth “in time”, by switching to older and newer revisions (the newest of which is customarily called <code>HEAD</code>)</li>
<li><strong>between branches and tags</strong>: at any point in time, you can instruct Subversion to make a copy of a folder into another folder.  You can use this functionality to make periodic snapshots of a certain state, regardless of revision number.</li>
</ul></li>
</ul>

<h2>How we’ll use Subversion</h2>

<p>First, let’s review the tasks we’ll perform:</p>

<ul>
<li>We’ll create a Subversion repository to store the server configuration history</li>
<li>We’ll prepare the configuration directory</li>
<li>We’ll check the configuration files in</li>
<li>We’ll investigate how to perform followup tasks</li>
</ul>

<p>I’m assuming that you have Subversion installed; in other words, you should have the <code>svn</code> and <code>svnadmin</code> commands and they should work properly.  I’m also assuming that you’ll be performing the following tasks as <code>root</code>.</p>

<p>The ideal situation to begin applying this tutorial is right after your server has been freshly installed.  However, for practical purposes, any server that’s configured and running will do.</p>

<p>Okay.  That’s enough of the lists and introductions.  Time for some action.</p>

<h2>Creating the Subversion repository</h2>

<p>If you’re familiar with UNIX, you’ll know <code>/var</code> is the customary directory for files that pertain to the whole system and are changed.  So, following tradition, we’ll create a <code>/var/preserve/config</code> repository.  Type the following command at your console:</p>

<p><pre>[rudd-o@amauta2 ~]# svnadmin create \
/var/preserve/config</pre></p>

<p>(note the backslashes are being used to add whitespace)</p>

<p>That should create a <code>/var/preserve/config</code> directory, with a couple of files in it.  Those files are not meant to be editing, and they’ll be opaque to us for the rest of the tutorial.  As usual, I’d advise you to secure that directory so only <code>root</code> can read and write files to it.</p>

<p>Now, you’ll create two directories directly into the repository.  You’ll use these directories to travel back and forth between known configuration states.</p>

<ul>
<li><code>trunk/</code> will contain the current configuration</li>
<li><code>tags/</code> will contain snapshots (we’ll learn more about them later)</li>
</ul>

<p>To perform this task, just type:</p>

<p><pre>[rudd-o@amauta2 ~]# svn mkdir \
file:///var/preserve/config/trunk/ \
file:///var/preserve/config/tags/ \
-m 'Creating trunk and tags directories'</pre></p>

<p>The <code>-m</code> argument specifies a message to attach to the operation.  You can consult these messages afterwards through the <code>svn log</code> command.</p>

<h2>Preparing the configuration directory</h2>

<p>In true UNIX tradition, <code>/etc</code> is the place to go for system-wide configuration.  For the rest of the tutorial, I’ll assume those are the files you want to keep in check.</p>

<p>To track files in <code>/etc</code>, you need to both:</p>

<ul>
<li>place its contents into the Subversion repository</li>
<li>make it into a working copy</li>
</ul>

<p>That’s easily accomplished via the following command:</p>

<p><pre>[rudd-o@amauta2 ~]# svn checkout \
file:///var/preserve/config/trunk/ /etc</pre></p>

<p>Once you’ve done that, <code>/etc</code> will be a working copy.  Time to add existing files into Subversion.</p>

<h2>Checking existing configuration files into the repository</h2>

<p><pre>[rudd-o@amauta2 ~]# cd /etc
[rudd-o@amauta2 /etc]# svn status</pre></p>

<p>You should see a long listing of files, like this:</p>

<p><pre>?      4Suite
?      acpi
?      adjtime</pre></p>

<p>The question marks at the beginning of each line mean that Subversion has no idea what those files are doing there.  So, you’ll add them to the repository:</p>

<p><pre>[rudd-o@amauta2 /etc]# svn add *</pre></p>

<p>You’ll see <code>svn</code> working intensely to add those files.  Note that the files are not being added to the repository yet &mdash; they’re only being queued for addition.  To commit these files into the repository:</p>

<p><pre>[rudd-o@amauta2 /etc]# svn commit \
-m 'Initial addition of files'</pre></p>

<p>And <code>svn</code> should start doing its magic.  Once it’s done, it’ll tell you the revision number.</p>

<h2>Followup maintenance</h2>

<p>Okay, let’s review a few things you need to keep in mind from now on.</p>

<h3>When configuration files are added to <code>/etc</code></h3>

<p>Check for added files with <code>svn status /etc</code>.  You should see them listed with a question mark.</p>

<p>You should use <code>svn add</code> to add them to the working copy, and then <code>svn commit</code> the added files into the repository.  Many people make the mistake of configuring freshly installed files.  Do not do that.  Instead, <code>commit</code> new files first, then edit.  That way, you’ll have a way to track modifications right back to the pristine configuration files.</p>

<h3>When configuration files are deleted from <code>/etc</code></h3>

<p>Check for deleted files with <code>svn status /etc</code>.  You should see them listed with an exclamation sign.</p>

<p>After doing the check, <code>svn delete</code> them.  Don’t forget to <code>commit</code> at the end.</p>

<h3>Before moving files or directories within <code>/etc</code></h3>

<p>Disregard the standard UNIX <code>coreutils</code> for file management, because they bypass Subversion tracking.  Use <code>svn add</code>, <code>svn copy</code>, <code>svn move</code> and so on.  Don’t forget to <code>commit</code> at the end.</p>

<h3>What to write on log messages</h3>

<p>Use your imagination!  At the very least, you should be typing who did the change, the reasons behind the change and any other related ideas that might be forgotten but needed later on.</p>

<h3>How to view the log and audit changes</h3>

<p>Use <code>svn log /etc</code>.  Adding a <code>--verbose</code> option will show you the paths changed.</p>

<p>You can also obtain a patch (<code>diff</code> output) of changes between revisions.  Use <code>svn diff -r first:last /etc</code>, replacing <code>first</code> and <code>last</code> with the first and last revision numbers you want to use as first and last reference points, respectively.  Remember that <code>HEAD</code> works great when used in place of the last revision.  A plain <code>svn diff /etc</code> will show you the differences in files that haven’t been committed yet, in <code>diff</code> format.</p>

<h3>How to snapshot the configuration and travel between snapshots</h3>

<p>To snapshot the configuration, first ensure no files have changes pending to be committed in <code>/etc</code> (using <code>svn diff /etc</code> and <code>svn commit /etc</code>), then use the following command:</p>

<p><pre>[rudd-o@amauta2 ~]# svn copy \
file:///var/preserve/config/trunk \
file:///var/preserve/config/tags/a-snapshot</pre></p>

<p>replacing <code>a-snapshot</code> with the name of the snapshot you want to take.  Subversion will take a snapshot of the current configuration state.</p>

<p>Seeing what’s changed between two tags or the trunk and a tag is easy:</p>

<p><pre>[rudd-o@amauta2 ~]# svn diff \
file:///var/preserve/config/tags/a-snapshot \
file:///var/preserve/config/tags/a-newer-snapshot</pre></p>

<p><pre>[rudd-o@amauta2 ~]# svn diff \
file:///var/preserve/config/tags/old-snap \
file:///var/preserve/config/tags/trunk</pre></p>

<p>And traveling to a tag, making the whole <code>/etc</code> and its contents go to a known state, is easy as well.</p>

<p><pre>[rudd-o@amauta2 ~]# cd /etc; \
svn switch file:///var/preserve/config/tags/known-state</pre></p>

<p>I don’t recommend making any changes to configuration files and then committing those changes if your <code>/etc</code> directory has been <code>switch</code>ed to a tag, because you’d overwrite the snapshot with those changes.  Better to create a top-level <code>branches/</code> directory in your repository, copy the tag to <code>branches/a-branch-name</code>, switch to the branch <code>a-branch-name</code> and then make changes there.</p>

<h2>Conclusions</h2>

<p>Indeed, adding Subversion to the server management mix introduces extra complexity.  But the gains fairly outweigh the drawbacks.  Clever readers should have noticed, just by skimming this piece, the potential that Subversion has.  Subversion makes auditing, known configuration state restoration, and configuration backups much more deterministic and predictable.</p>

<p>Moreover, common snapshotting tasks can be automated via Vixie <code>cron</code> jobs.  If you know how to serve Subversion repositories through the network, you’ll see that designing, staging and distributing configuration sets and managing them remotely from a central location is incredibly easy.  And there’s so much more Subversion can do to stretch your limited available time.  If you want to know more, there’s always the Subversion book (aptly named <q>Version control with Subversion</q>).</p>

<p>And that’s my cue to continue my day job.  Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/03/14/tracking-auditing-and-managing-your-server-configuration-with-subversion-in-10-minutes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Five tenets of high-quality Web application building</title>
		<link>http://rudd-o.com/archives/2006/03/03/five-tenets-of-high-quality-web-application-building/</link>
		<comments>http://rudd-o.com/archives/2006/03/03/five-tenets-of-high-quality-web-application-building/#comments</comments>
		<pubDate>Sat, 04 Mar 2006 00:14:12 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[HTML and XHTML]]></category>

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

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

		<category><![CDATA[Web authoring]]></category>

		<category><![CDATA[Web standards]]></category>

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/03/03/five-tenets-of-high-quality-web-application-building/</guid>
		<description><![CDATA[Here are the five most important tenets to keep in mind when building high-quality Web applications.  I won’t go into standards compliance here, because that topic has already been debated to death, and the conclusions are old news now.  Instead, let’s review the modern tendencies applied in high-quality Web applications:



An URI is not [...]]]></description>
			<content:encoded><![CDATA[<p>Here are the five most important tenets to keep in mind when building high-quality Web applications.  I won’t go into <a href="http://rudd-o.com/archives/2006/02/15/is-htmlxhtml-validation-important/" title="Is HTML/XHTML validation important?">standards compliance</a> here, because that topic has already been debated to death, and the conclusions are old news now.  Instead, let’s review the modern tendencies applied in high-quality Web applications:</p>

<p><span id="more-809"/></p>

<h2>An URI is not a file</h2>

<p>Deal with it.  An <acronym title="Uniform Resource Identifier">URI</acronym> should represent a resource, and all its alternative representations. Use <a href="http://www.w3.org/QA/2006/02/content_negotiation.html">content negotiation</a> to serve multiple languages or formats of the same resource.</p>

<p>To help you figure this URI mess out, try thinking about URIs as ISBNs or bar codes.  You’d be surprised to know that URIs are defined to be very similar to these.</p>

<p>In the same light, try at all costs to <a href="http://www.w3.org/Provider/Style/URI">create and maintain URIs so they don’t change</a>.  Use <a href="http://httpd.apache.org/docs/2.0/misc/rewriteguide.html">URL rewriting</a> if you absolutely need to change URIs for your pages.</p>

<h2>Microcontent is king</h2>

<p>Good <a href="http://www.w3.org/QA/Tips/good-titles">page titles</a>, headings, <a href="http://www.w3.org/QA/Tips/noClickHere">anchor texts</a> and other microcontent in your Web application pages are a big usability plus for your readers.</p>

<p>Don’t use “link here” or “click here” for links.  Don’t use “Article” as a page title.  Use headings to give structure to your HTML pages.</p>

<h2>REST: what changes should be <code>POST</code>ed, what doesn’t should be <code>GET</code></h2>

<p>You can classify operations in your Web application in two categories:</p>

<ol>
<li>Those that perform changes in the information kept in (or managed by) your application</li>
<li>Those that don’t perform changes (such as presentation pages, views or reports)</li>
</ol>

<p>Use <code>POST</code> forms and avoid parameters (related to the operation) in URIs for the first category of operations.  Use <code>GET</code> forms and URIs for the second.  <a href="http://www.xfront.com/REST-Web-Services.html">Here’s how and why</a>.</p>

<h2>Semantic pages matter</h2>

<p>Don’t use presentational markup.  Avoid use of presentational tags like <code>FONT</code> or <code>CENTER</code>.  Most likely, what you’re trying to get to stand out is actually a good candidate to become a <a href="http://www.w3schools.com/css/"><acronym title="Cascading Style Sheet">CSS</acronym></a> <code>class</code> or <code>ID</code>.  The more you place in your stylesheet, the less your pages will weigh. Plus, maintaining a slick, consistent look, and redesigning your site in the future will be way easier.</p>

<p>In the same light, avoid using <code>TABLE</code>s for lists, horizontal tabs and non-tabular information.  Resort to properly styled <code>UL</code> or <code>OL</code> elements.</p>

<p>Learn <a href="http://www.w3.org/MarkUp/?id=rhtao">the existing HTML tags</a>, and what they’re supposed to be used for.  It would be dumb to create a CSS class named “code” just to find out that there is a perfectly good <code>CODE</code> tag that can be used more directly, and styled through CSS.</p>

<p>Finally, don’t just bold text that’s supposed to be a title.  Use one of the heading elements in HTML  (there are six depth levels for you to use, so there won’t be any shortage!).</p>

<h2>Accessibility is good for your readers (and, surprisingly, you as well)</h2>

<p>Whether it’s because you want to achieve high rankings in search engines, or because you truly, truly care about people with disabilities, designing an application with accessibility in mind should be extremely important to you.</p>

<ol>
<li>Use <a href="http://en.wikipedia.org/wiki/AJAX"><acronym title="Asynchronous JavaScript and XHTML">AJAX</acronym></a> sparingly and always provide fallback mechanisms for those who don’t use JavaScript.  AJAX should not replace standard interaction methods, and it should also not be used to break the “one page, one URI” rule (this is exactly why frames are being ruled out).</li>
<li>Lay out pages in an accessible fashion.  Usually, content should go first in the HTML.</li>
<li>Add <a href="http://www.cs.tut.fi/~jkorpela/forms/accesskey.html">access keys</a>, form labels and other accessibility measures.  The first step should be using semantic markup.</li>
<li><a href="http://www.useit.com/alertbox/20001029.html">Resort to Flash</a> only when content you’re presenting is eminently audiovisual.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/03/03/five-tenets-of-high-quality-web-application-building/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tuning a MySQL server in 5 minutes</title>
		<link>http://rudd-o.com/archives/2006/03/02/tuning-a-mysql-server-in-5-minutes/</link>
		<comments>http://rudd-o.com/archives/2006/03/02/tuning-a-mysql-server-in-5-minutes/#comments</comments>
		<pubDate>Thu, 02 Mar 2006 23:39:11 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Free software]]></category>

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

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

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

		<category><![CDATA[Server management]]></category>

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/03/02/tuning-a-mysql-server-in-5-minutes/</guid>
		<description><![CDATA[Continuing with the Server management series, this time we’ll learn how to tune a MySQL server to handle high server loads.  Obviously, this piece assumes that you’re using MySQL to serve a dynamic site.  If this is not the case, you’ll still find this article useful, but you’ll have to derive your own [...]]]></description>
			<content:encoded><![CDATA[<p>Continuing with the Server management series, this time we&#8217;ll learn how to tune a MySQL server to handle high server loads.  Obviously, this piece assumes that you&#8217;re using MySQL to serve a dynamic site.  If this is not the case, you&#8217;ll still find this article useful, but you&#8217;ll have to derive your own interpretations out of it.</p>

<p><span id="more-805"></span></p>

<p>If you recall the article titled <a href="post:tuning-an-apache-server-in-5-minutes">Tuning an Apache server in 5 minutes</a>, you&#8217;ll also know that there&#8217;s a tunable for Apache which lets you set the maximum number of Apache processes that run on your server.  Once you&#8217;ve tuned Apache, it only makes sense to tune MySQL to handle that many connections simultaneously.</p>

<p>Before you go on, &#8220;Tuning a MySQL server in 5 minutes&#8221; is indeed an exaggeration.  I concede you that.  Database tuning is so much more than what this article says.  I don&#8217;t mean to disrespect DBAs: they usually perform large amounts of magic in order for databases to get from abysmal to top-dog performance.  But the first step to having a site that doesn&#8217;t break with traffic surges is usually what I&#8217;m about to discuss.</p>

<h2>Tips for very high loads</h2>

<p>Okay, on to our business.  First off, if you&#8217;re handling a very large number of simultaneous connections to your Apache server (in the order of 250 or higher), it would make sense to offload the database processing to a different server.  That way, you&#8217;ll have more control over loads exerted by Apache and by MySQL, separately.</p>

<p>If you&#8217;re short on money, that&#8217;s of course not an option.  Keep reading to find out an acceptable compromise then.</p>

<h2>The (important) differences between static and dynamic page loads</h2>

<p>For the purpose of this article, we&#8217;ll name two distinct types of connections to your Web server:</p>

<dl><dt>Dynamic requests</dt><dd>Any request to your Apache server that causes a MySQL connection to be opened and database queries to be emitted. A good example is a PHP page which requests a list of products from your database.</dd><dt>Static requests</dt><dd>Any request to your Apache server which doesn&#8217;t incur the cost of a MySQL connection.  Examples of these are static HTML pages or file downloads.</dd></dl>

<p>And, of course, you&#8217;ll need to discriminate between those two.</p>

<h2>Figuring out the right maximum number of MySQL connections</h2>

<p>Usually, a good starting estimate is one dynamic request for each 5 requests.  That&#8217;s because most pages load CSS style sheets, and images, although those files do not get loaded on subsequent requests from the same visitors (partly due to browser caching).  To get an exact number for this ratio, however, you&#8217;ll need to analyze your Apache <code>access_log</code> log file (manually, or via the known <a href="http://www.analog.cx/">Analog</a> or <a href="http://www.mrunix.net/webalizer/">Webalizer</a> log analysis packages).</p>

<p>Once you&#8217;ve arrived to an accurate estimate for your scenario, multiply that ratio by the maximum number of connections you&#8217;ve configured on your Apache server.  For example, if your Apache server is serving a maximum of 256 clients (which is <em>a lot</em>), and your ratio of dynamic requests vs. all requests is 1/8, you&#8217;d have an expected maximum of 32 database connections.  Just to be on the safe side, multiply that by two, and you&#8217;ll have a foolproof figure.  <em>But if you want to be really, really certain, you should always expect a maximum of 256 database connections</em>.</p>

<h2>Setting the maximum connections on your MySQL server</h2>

<p>Using your favorite text editor, as <code>root</code>, open up the <code>/etc/my.cnf</code> file (the location of the file may vary according to your distribution).  You should see something like this:</p>

<p><pre>[ecuagol@216-55-181-30 ~]$ cat /etc/my.cnf
[mysqld]
safe-show-database
innodb_data_file_path=ibdata1:10M:autoextend
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock</pre></p>

<p>[mysql.server]
user=mysql
basedir=/var/lib</p>

<p>[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
</p>

<p>We&#8217;ll be dealing with the <code>[mysqld]</code> section. Under that section, add two new parameters (or modify them, if they are already there and they aren&#8217;t commented):</p>

<ul>
<li><code>set-variable = max_connections = 60</code></li>
<li><code>set-variable = max_user_connections = 60</code></li>
</ul>

<p>MySQL defaults to 1 max connection, with 1 max connection per user.  Evidently, you&#8217;ll be replacing <code>60</code> with your expected maximum number of connections.  With these settings, you&#8217;ll be on the safe side.</p>

<p>The reason you&#8217;re setting both <code>max_connections</code> and <code>max_user_connections</code> is because, generally, Apache appears to your MySQL database server as one single user. So, you need to raise them both.</p>

<p>You may also want to increase other parameters, if you&#8217;ll be expecting heavy loads or unusual queries:</p>

<ul>
<li><code>set-variable = max_allowed_packet=1M</code> (sanity check to stop runaway queries) </li>
<li><code>set-variable = max_connect_errors=999999 </code></li>
<li><code>set-variable = table_cache=1200</code></li>
</ul>

<p>Where <code>1200</code> should be <code>max_user_connections</code> multiplied by the maximum number of <code>JOIN</code>s your heaviest SQL query contains.</p>

<p>After tuning your server, restart MySQL (<code>/sbin/service mysqld restart</code> usually does the trick on Fedora Core).</p>

<h2>Conclusions and final words</h2>

<p>That&#8217;s it!  Hope I&#8217;ll see you around for the next installment. By the way, if you spot any inaccuracies or errors, feel free to comment on it using the comment form right below this article.  Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/03/02/tuning-a-mysql-server-in-5-minutes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tuning an Apache server in 5 minutes</title>
		<link>http://rudd-o.com/archives/2006/03/01/tuning-an-apache-server-in-5-minutes/</link>
		<comments>http://rudd-o.com/archives/2006/03/01/tuning-an-apache-server-in-5-minutes/#comments</comments>
		<pubDate>Wed, 01 Mar 2006 21:04:36 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Free software]]></category>

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

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

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

		<category><![CDATA[Server management]]></category>

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/03/01/tuning-an-apache-server-in-5-minutes/</guid>
		<description><![CDATA[Hello again.  This time, I’ll show you how to make a Web server running Apache and Linux survive heavy loads.



Before we go on, you should know something: this is not an article about securing Apache.  This is an article about making Apache behave under heavy load conditions.

Okay, now that we’re here, let’s discuss [...]]]></description>
			<content:encoded><![CDATA[<p>Hello again.  This time, I&#8217;ll show you how to make a Web server running Apache and Linux survive heavy loads.</p>

<p><span id="more-794"></span></p>

<p>Before we go on, you should know something: this is not an article about securing Apache.  This is an article about making Apache behave under heavy load conditions.</p>

<p>Okay, now that we&#8217;re here, let&#8217;s discuss scalability.</p>

<h2>Scalability</h2>

<p>Scalability is simply the ability of a server to withstand heavy loads.  If you tried to read the last article, <a href="post:hardening-a-linux-server-in-10-minutes">Hardening a Linux server in 10 minutes</a>, you probably noticed that this server was down.</p>

<p>That&#8217;s a scalability fault.</p>

<p>Let&#8217;s put it in another light.  This server has 512 MB of RAM.  The surge of traffic (thanks to LinuxToday links pointing to this site) caused the server to fail (more accurately, the MySQL server appeared to hang).  Brag all you want about Linux&#8217;s ability to survive these events, nothing will help you against a misconfigured server.</p>

<h2>It all boils down to configuration</h2>

<p>In this particular case, the misconfiguration was Apache&#8217;s.  Weighing 13 MB per <code>httpd</code> process (though some of it is shared with other processes), it&#8217;s pretty simple to understand that a runaway Apache server can bring your server down completely.  When your Apache server starts serving a lot of requests, all those processes quickly fill the available memory (physical <em>and</em> virtual).  When your Linux server runs out of RAM, it will start killing processes it deems &#8216;memory hogs&#8217;.  Usually the first ones to go down are the MySQL processes.  If you&#8217;re serving dynamic pages, that&#8217;s a disaster.</p>

<h2>On to Apache configuration</h2>

<p>By default, Apache comes preconfigured to serve a maximum of 256 clients simultaneously.  This particular configuration setting can be found in the file <code>/etc/httpd/conf/httpd.conf</code> (though the location of the file may vary, depending on the Linux distribution you use).</p>

<p>Whip your favorite text editor out and open that file (remember that you should be doing this as <code>root</code> &mdash; the administrative account on the majority of Linux servers out there).</p>

<p>Look for <code>MaxClients</code>.  It will probably look like this:</p>

<p><pre># prefork MPM</pre></p>

<h1>StartServers: number of server processes to start</h1>

<h1>MinSpareServers: minimum number of server processes which are kept spare</h1>

<h1>MaxSpareServers: maximum number of server processes which are kept spare</h1>

<h1>ServerLimit: maximum value for MaxClients for the lifetime of the server</h1>

<h1>MaxClients: maximum number of server processes allowed to start</h1>

<h1>MaxRequestsPerChild: maximum number of requests a server process serves</h1>

<p>&lt;IfModule prefork.c&gt;
StartServers       4
MinSpareServers    3
MaxSpareServers   10
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  10000
&lt;/IfModule&gt;</p>

<p>That&#8217;s the configuration section for the <code>prefork</code> module.  99% of the Apache servers out there use the prefork module to serve requests, so unless you have an exotic configuration, you&#8217;ll be changing these settings.</p>

<p>Time to calculate a good value for the <code>MaxClients</code> directive.  Find out how much memory your Apache processes use.  Using <code>top</code>, check the <code>RES</code> column.  That&#8217;s the resident memory size.  It should say the size in megabytes that your Apache processes are taking.  In my example, it&#8217;s <code>22m</code>.</p>

<p>Figure out a good value.  If your server has 512 MB of RAM (in my case, this is true), and you&#8217;re sharing your server with MySQL and Sendmail (true in my case, as well), you&#8217;ll want to reserve about half of it for Apache (256 MB).  Divide that by the resident memory each process takes up, and you&#8217;ll have a number of processes (say, 11).  That&#8217;s the maximum amount of processes you can run without resorting to virtual memory.  Resorting to virtual memory (swap) will make your server thrash and become extremely slow.</p>

<p>It&#8217;s, of course, all about balance.  If you have one gigabyte of swap, you may want to raise the number of Apache processes.  Raising it too much will cause heavy traffic to spawn lots of Apache processes, bringing your server down.</p>

<h2>Setting the MaxClients and StartServers directive</h2>

<p>You now have your start value (in our example, it was 11).  Change the <code>MaxClients</code> and the <code>ServerLimit</code> directives to it.  Save the file and restart Apache (<code>/sbin/service httpd restart</code> does that trick in Fedora Core).</p>

<p>Now it&#8217;s time to start testing.  Keep a root login open to that server.  Using your favorite testing tool (<code>ab</code> and <code>wget</code> are good at this), start a storm of connections (more than 1024 simultaneous requests) directed to a page served by your Apache server (ideally, one that exercises the server, like dynamic pages with lots of queries).  Issuing the <code>uptime</code> command in your root login should not yield a load average above 1, and the server should respond to commands quickly.</p>

<p><pre>[rudd-o@amauta2 conf]$ uptime
 15:54:18 up  1:41,  3 users,  load average: 0.86, 0.70, 1.50</pre></p>

<h2>Tuning the configuration</h2>

<p>That&#8217;s great.  Once the test is finished, duplicate <code>MaxClients</code> and <code>StartServers</code>, and try your storm test again.  The load average should be low.</p>

<p>Keep tuning until you hit your maximum desired load average.  For servers used interactively often, having a load above 3 is way too much to use the server comfortably.  For servers used mostly as real servers, a maximum load average of 10 should be acceptable.  More than that, and you&#8217;ll find yourself needing to reboot the server when experiencing heavy traffic conditions, because no terminal or remote console will respond quickly to commands, and managing the server will be impossible.</p>

<h2>Conclusions</h2>

<p>That&#8217;s it!  With practice, you&#8217;ll be able to skip the memory math and learn the ideal setting for any server.  Other tuning options you may try (in order of diminishing returns):</p>

<ul>
<li>Eliminating unnecessary Apache modules from the configuration (perhaps uninstalling them altogether, by use of RPM or your favorite distribution&#8217;s packaging tool)</li>
<li>Recompiling Apache, optimizing for memory consumption (the <code>-Os</code> option of <code>gcc</code>)</li>
<li>Recompiling Apache, building modules in instead of having them run as modules</li>
</ul>

<p>Remember: if you have any questions or suggestions, please leave them as comments below.  Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/03/01/tuning-an-apache-server-in-5-minutes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hardening a Linux server in 10 minutes</title>
		<link>http://rudd-o.com/archives/2006/02/27/hardening-a-linux-server-in-10-minutes/</link>
		<comments>http://rudd-o.com/archives/2006/02/27/hardening-a-linux-server-in-10-minutes/#comments</comments>
		<pubDate>Mon, 27 Feb 2006 23:55:56 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Free software]]></category>

		<category><![CDATA[Information security]]></category>

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

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

		<category><![CDATA[Server management]]></category>

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/02/27/hardening-a-linux-server-in-10-minutes/</guid>
		<description><![CDATA[Did you know that a freshly installed Linux server can be hardened in less than 10 minutes?  Here’s how!



Print these instructions out, and keep them posted on a wall in your office or home.  Before plugging a freshly installed network server, simply remember to follow these instructions.  Make these instructions second nature [...]]]></description>
			<content:encoded><![CDATA[<p>Did you know that a freshly installed Linux server can be hardened in less than 10 minutes?  Here&#8217;s how!</p>

<p><span id="more-792"></span></p>

<p>Print these instructions out, and keep them posted on a wall in your office or home.  Before plugging a freshly installed network server, simply remember to follow these instructions.  Make these instructions second nature to you.  Just in case you were wondering, a printout of this page will be &#8220;printer-friendly&#8221; because of the stylesheet used in this page.</p>

<p class="information">You&#8217;ll need a bit of experience with the Linux command-line environment, as the following commands are usually issued in a terminal.  You will need root access on your server as well.  By the way, the following instructions apply to any LSB-compliant Linux distribution, but I&#8217;ll use Fedora Core as an example.</p>

<p>Step 1: turn all unneeded services off</p>

<p>There are two kinds of network services:</p>

<ul>
<li>those that get started as <code>init.d</code> services</li>
<li>those that get started by <code>xinetd</code></li>
</ul>

<p>This distinction is important, as <code>xinetd</code> can start services on demand, while services started through <code>init.d</code> run all the time.</p>

<p>Okay, time to start securing your server.  On a terminal, as root (and, for the purposes of this tutorial, assume this from now on) run <code>netstat -ltunp</code>.  You should see a listing like this one:</p>

<p><pre>[root@andrea rudd-o]# netstat -ltunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:3493                0.0.0.0:*                   LISTEN      30562/upsd
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      12461/mysqld
tcp        0      0 0.0.0.0:6543                0.0.0.0:*                   LISTEN      12490/mythbackend
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1771/portmap
tcp        0      0 0.0.0.0:6544                0.0.0.0:*                   LISTEN      12490/mythbackend
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      31537/cupsd
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      2143/sendmail: acce
tcp        0      0 :::80                       :::*                        LISTEN      5024/httpd
tcp        0      0 :::22                       :::*                        LISTEN      2009/sshd
tcp        0      0 0.0.0.0:19                  0.0.0.0:*                   LISTEN      2019/xinetd</pre></p>

<p></p>

<p>Those are all processes listening to specific ports.  As you can see, the PID (process ID) and the program name are displayed as well.</p>

<p>Make two lists:
- one for the services you absolutely need (which you should already know by heart), and
- one for the services that are expendable or you can start manually when they&#8217;re needed (tip:  each program name usually ships with a man page).</p>

<p>Shutdown each service on the second list (except for <code>xinetd</code>)  That&#8217;s a pretty straightforward task.  Each one of those services are started by <code>init.d</code>.  To find out the name of the service control script, just hop to <code>/etc/rc.d/init.d</code> and look for a file with a name similar to the program name.</p>

<p>Example: suppose I don&#8217;t need <code>mythbackend</code>.  To stop it: <code>/etc/rc.d/init.d/mythbackend stop</code> (some distributions provide the <code>service mythbackend stop</code> command, which is easier on your fingers).  Now, to disable it: <code>chkconfig --del mythbackend</code>.  After doing this, you should check to see if the offending service went away, with the same <code>netstat -ltunp</code> command.</p>

<h3>That pesky <code>xinetd</code></h3>

<p>Great.  So you got rid of the unneeded services.  But there&#8217;s more.  As we saw earlier, <code>xinetd</code> has its own ways.  In practice, this means that some services will be started on demand &mdash; thus, you won&#8217;t see them under your <code>netstat -ltunp</code> listing.</p>

<p>To find out which services <code>xinetd</code> manages, hop to <code>/etc/xinetd.d</code> and do a directory listing.  You should see some service configuration files.  Identify the ones you won&#8217;t be using, and edit each one of them, adding a line that says <code>disable = yes</code> between the curly braces.</p>

<p>Note that some services already ship with <code>disable = yes</code>, but some ship with <code>disable = no</code>.  If one of the configuration files says <code>disable = no</code>, just change it to <code>disable = yes</code>.  Now reload <code>xinetd</code> with the famous <code>/etc/rc.d/init.d/xinetd reload</code>, and run <code>netstat -ltunp</code> again, just to be sure.</p>

<p>That&#8217;s step 1.  With a bit of practice, you should be doing this in five minutes or less.</p>

<h2>Step 2: limit access to running services using <code>iptables</code></h2>

<p>Great, our server now runs the absolutely required services, and no more.  But some of those services aren&#8217;t meant to be accessed from everywhere, right?  For example: I may have a MySQL database server running, but that doesn&#8217;t mean MySQL should be accessible from any random IP address on the Internet, right?</p>

<p>So, we&#8217;ll use the firewall to stop evil at the door.  Again, make a list of services.  For each item on the list, identify which IP addresses should be able to reach the service.  For each service on your list, write down the TCP/UDP port(s) they use.</p>

<p>In my example, MySQL uses TCP port 3306, and should only be accessible by <code>localhost</code> (<code>127.0.0.1</code>).</p>

<p>Time to compose and activate the <code>iptables</code> rules.  Doing a quick check with <code>iptables -L</code>, I can see that my INPUT chain (the one I&#8217;ll be working with, since I want to disallow INPUTs to my server) is empty:</p>

<p><pre>[root@andrea xinetd.d]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination</pre></p>

<p>Chain FORWARD (policy ACCEPT)
target     prot opt source               destination</p>

<p>Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
</p>

<p>Your mileage may vary, because your distribution may already have set up some basic <code>iptables</code> rules; to make these instructions foolproof, I will be inserting rules at the beginning of the INPUT chain.</p>

<p>In this case, I want to allow access to <code>127.0.0.1:3306</code>, and deny access to everyone else on port <code>3306</code>, in that order.  So two rules are needed.  I&#8217;ll add the &#8220;allow&#8221; rule into position 1 (the very first):</p>

<p><pre>[root@andrea xinetd.d]# iptables -I INPUT 1 --protocol tcp --destination-port 3306 -s 127.0.0.1 -j ACCEPT
[root@andrea xinetd.d]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  localhost.localdomain  anywhere            tcp dpt:mysql
</pre></p>

<p>Great.  I&#8217;m telling the firewall to <code>-j ACCEPT</code> all <code>--protocol tcp</code> connections to <code>--destination-port 3306</code> from the address <code>-s 127.0.0.1</code>.  Now, I&#8217;ll insert the &#8220;deny&#8221; rule into position 2:</p>

<p><pre>[root@andrea xinetd.d]# iptables -I INPUT 2 --protocol tcp --destination-port 3306 -j REJECT
[root@andrea xinetd.d]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  localhost.localdomain  anywhere            tcp dpt:mysql
REJECT     tcp  --  anywhere             anywhere            tcp dpt:mysql reject-with icmp-port-unreachable
</pre></p>

<p>See how easy it is?  Let me explain: rule 2 tells the firewall to <code>-j REJECT</code> all <code>--protocol tcp</code> connections to <code>--destination-port 3306</code> from any address (since I omitted the address).  Since rules are processed &#8220;top-down&#8221; (from 1 to <em>n</em>), the first one that matches an incoming connection is applied.  If no rules match, then the default policy (which is normally <code>ACCEPT</code>) kicks in.</p>

<p>Lather. Rinse. Repeat for every service that you want to secure.</p>

<p>Finally, save the rules.  For this, you&#8217;ll need to use your distribution&#8217;s tools.  For Fedora Core, that&#8217;s as easy as issuing the command <code>service iptables save</code> and ensuring that the <code>iptables</code> service runs at boot time: <code>chkconfig --add iptables</code>.</p>

<p>It&#8217;s worth noting that some people prefer to <code>-j DROP</code> instead of <code>DENY</code>ing.  <code>DROP</code> means that your server will ignore connection attempts (neither denying connections nor accepting them).  I prefer <code>DENY</code>, because it&#8217;s easier to pinpoint a problem with <code>iptables</code> rules that way, and (most importantly) <code>DROP</code> rules make those ports appear as <q>filtered</q> to a hostile port scanner (which hints to the attacker that a service is running).</p>

<p>So that&#8217;s it, from insecure to secure in 10 minutes!  If you have any suggestions or questions, please leave them as comments below.  Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://rudd-o.com/archives/2006/02/27/hardening-a-linux-server-in-10-minutes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>María Parducci, ¿es suficiente lo que Ud. enseña a sus hijos?</title>
		<link>http://rudd-o.com/archives/2006/02/27/maria-parducci-%c2%bfes-suficiente-lo-que-ud-ensena-a-sus-hijos/</link>
		<comments>http://rudd-o.com/archives/2006/02/27/maria-parducci-%c2%bfes-suficiente-lo-que-ud-ensena-a-sus-hijos/#comments</comments>
		<pubDate>Mon, 27 Feb 2006 23:47:49 +0000</pubDate>
		<dc:creator>Rudd-O</dc:creator>
		
		<category><![CDATA[Free speech]]></category>

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

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

		<guid isPermaLink="false">http://rudd-o.com/archives/2006/02/27/maria-parducci-%c2%bfes-suficiente-lo-que-ud-ensena-a-sus-hijos/</guid>
		<description><![CDATA[Quiero llamar la atención a ustedes, por un momento, para reflexionar sobre lo escrito por María Parducci de Armendaris (editorialista invitada), el día Domingo de carnaval, en el Universo (concretamente, en la sección Editorial).  El título de su artículo es ¿Es suficiente lo que enseñamos a nuestros hijos?.  Voy a ir respondiendo a [...]]]></description>
			<content:encoded><![CDATA[<p>Quiero llamar la atención a ustedes, por un momento, para reflexionar sobre lo escrito por María Parducci de Armendaris (editorialista invitada), el día Domingo de carnaval, en el Universo (concretamente, en la sección Editorial).  El título de su artículo es <q>¿Es suficiente lo que enseñamos a nuestros hijos?</q>.  Voy a ir respondiendo a cada uno de sus párrafos, punto por punto, y trataré de no perder la razón en el proceso.</p>

<p><span id="more-791"/></p>

<blockquote>A propósito de la desarticulación de la red de pornografía en un colegio de nuestra capital, impactada por la noticia me pregunté: ¿es suficiente lo que enseñamos a nuestros hijos?  No quiero restar ni un gramo de culpa a los adultos que, con engaños, obtuvieron el consentimiento de las adolescentes para que dejen pintar y filmar sus cuerpos desnudos.  Sus padres deben estar devastados por la violencia de este acto contra sus hijas.</blockquote>

<p>Evidentemente que, al parecer, no es suficiente lo que les enseñaron a las hijas afectadas por el acto indecible de depravación que acontecía en aquel colegio.  Después de todo, que yo recuerde, ningún profesor u otro involucrado amenazó directamente su integridad, con armas de fuego o blancas, a las señoritas para que se empelotasen enfrente de cámaras.  Ellas debían haber sabido que algo andaba mal.  Hasta ahí, de acuerdo con usted.</p>

<p>Definitivamente hubo engaños y presiones de varios tipos para poder lograr la comisión de todos estos crímenes, pero, a fin de cuentas, saber decir <strong>no</strong> a ultranza ante una cosa mala es una habilidad que, penosamente, les hizo falta a las chicas.</p>

<blockquote>¿Es suficiente enseñarles respecto del pudor, la intimidad, el respeto a uno mismo, la comunicación inmediata de cualquier palabra o hecho que implique violación de su privacidad, de su intimidad, los valores importantes en la vida, los anhelos profesionales?</blockquote>

<p>Yo no sé: no soy padre.  Lo que sí sé, a ciencia cierta, es que mis padres, familiares, amigos y mentores me enseñaron valores morales y me entregaron su visión ética, visión que hasta el día de hoy practico.  Y cuando me he desviado de la senda que conozco, me castigaron.  En buena hora lo hicieron así: las lecciones aprendidas de mis errores, combinadas con las lecciones impartidas de forma directa por quienes me educaron, han sido invaluables.</p>

<p>Creo firmemente en este credo.  Aplica para todos y cada uno de nosotros, jóvenes o mayores.</p>

<blockquote>¿Qué modelos de pudor y templanza tienen?  Qué actividades les permiten crecer en estos valores?  ¿Qué programas de televisión y radio se transmiten en horario para menores?  ¿Ha visto los semidesnudos, bailes y diálogos a esas horas?  ¿Cree que esos programas donde mujeres con poca ropa, a quienes se les filma de cerca sus senos, sus piernas y sus glúteos mientras bailan sensualmente, no ha confundido a muchas adolescentes que no fueron ni son capaces de decir “¡No!  !¡No está bien que usted me pida que me quite la ropa!”.  ¿Han favorecido estos programas la deformación del criterio de nuestros hijos?</blockquote>

<p>Uhmm… ¿qué modelos de pudor y templanza tiene la gente?  Pues no lo sé.  Yo considero perfectamente moral caminar desnudo en la calle, pero la sociedad ecuatoriana no lo toleraría.  También considero incorrecto sobornar o chantajear a un individuo para obtener resultados.  En gustos y colores, no discuten los doctores, exceptuando aquellos en directa contradicción con las leyes.  Y las leyes no hacen la moral; por el contrario, la resultante de los vectores de fuerza moral termina construyendo las leyes… en una situación ideal, donde las vacas son redondas y no presentan resistencia al aire, como decía mi profesor de física.  Que quede claro que este no es un mundo ideal.</p>

<p>Bueno, concretemos.  Lo que María Parducci está diciendo (sin decirlo directamente, para lanzar la piedra sin que la vean), es que ella encuentra cuestionables e impúdicos los programas de televisión como <em>A todo dar</em>, y <em>A reventar</em>.  En estos programas, salen unas “cholas buenas” bailando en “ropas” apretadas y pequeñas, y las cámaras de TV hacen acercamientos bastante explícitos de aquellas partes de sus cuerpos “diseñadas por Dios para excitar a un varón” (como diría un amigo).  Lo que deja entrever María, es que estos shows de TV presentan unos ideales distorsionados.  Lo cual es verdad.  Comparto con María que estos shows en cuestión son de mal gusto, y sé que en una vida “decente” y “respetable”, uno no se debería ganar el pan bamboleando las tetas y meneando las caderas para ganar plata.</p>

<p>Pero María está yendo más allá Ella está diciendo que estos programas deforman la mentalidad de las jóvenes.</p>

<p>Quizá… ¡las de las jóvenes brutas!.  Cualquier adolescente con dos dedos de frente se puede percatar de que esas “modelitos” son el plancton de la cadena alimenticia televisiva, que “gozan” de sueldos prácticamente miserables (alguna vez vi un rol de pago de TC… y recuerdo haber visto $300 al mes para una conocida “modelito”) y, la mayoría, poseen pocos talentos aparte de bailar de forma erótica.  Cualquier pelada que piense <q>me gustaría ser como ellas, fama y fortuna en televisión</q> está tostada del mate y no sabe lo que ocurre tras cámaras.  Muéstrele este show a una adolescente con carácter y valores morales sólidos, y probablemente ni siquiera lo querrá ver.</p>

<p>Ahora sí, me disculpo con mis lectores, porque les toca leer el típico discurso de “¿qué sera de los niños? ¡piensen en los niños!”, directamente del puño y la letra de María:</p>

<blockquote>¿Qué grado de responsabilidad tenemos los padres?  ¿Quién más es responsable?  ¿Acaso el Consejo Nacional de Radiodifusión y Televisión?  ¿La Asociación Ecuatoriana de Radio y Televisión?  ¿La Asociación de Canales de Televisión? ¿Todos los legisladores?</blockquote>

<p>Responsabilidad significa “capacidad de responder”.  ¿Responder, los padres?  Los padres definitivamente no tienen que responder por actos delincuenciales de los perpetradores.  Son los delincuentes quienes deben responder.</p>

<p>Lo que está haciendo María es buscar culpables.  Evidentemente que ninguna de las entidades o las personas citadas por ella deben responder por nada, en este caso.</p>

<blockquote>Conocemos el impacto de la televisión en nuestro medio.  Luego, no les es difícil a los menores acceder si alguien influyente les pide quitarse la ropa, creen que es algo normal, que a eso deben aspirar, porque no conocen ni pueden prever las consecuencias.</blockquote>

<p>Ignoremos momentáneamente la coma después de “creen” (que debió haber sido un punto y coma), para entretener la siguiente noción: definitivamente que la televisión influye en las mentes de los niños pequeños y los adolescentes sin carácter ni capacidad de discriminación.  Lo mismo va para los débiles mentales.</p>

<blockquote>Exijamos al Tribunal Constitucional un pronunciamiento sobre esos programas <em>que violentan el derecho constitucional de nuestros niños, niñas y adolescentes a desarrollar libremente su personalidad</em>.  Todos los responsables y relacionados con este tema deben a esas adolescentes no solo una disculpa sino también resarcir el daño sufrido en su personalidad, porque <em>dejaron de prevenir y de disminuir el riesgo</em>.  ¿Qué van a hacer para evitar que continúe la malformación del criterio de nuestros menores?  ¿Y si fueran sus hijas?</blockquote>

<p>¿Qué idea estúpida es esta?  Que la televisión deba disculparse porque unos pederastas violaron o filmaron a unas jovencitas, ¿cómo así?  ¿Qué clase de razonamiento absurdo puede llevar a alguien a pensar esto?  Francamente, esta es una línea de pensamiento rayana en lo absurdo.</p>

<p>Presumamos, sólo para tratar de entender a María, que las adolescentes que se desnudaron fueron, en parte, convencidas de que en realidad empelotarse para depravados “no era tan malo”.  ¿Qué clase de carácter de mantequilla tienen estas jovencitas?  ¿Qué clase de padres fallaron al decirle a ellas que lo que ven en la tele es una versión tostada y distorsionada de la realidad? ¿Qué clase de padres no apagaron la tele cuando empezaban estos shows, y desconectaron el aparato para que no se les distorsionase la mente a estos chicos?  Si los padres mismos no se ocuparon de estas tareas, casi me siento inclinado a decir que merecen el destino que se “forjaron” y que “forjaron” para sus hijos.</p>

<p>Finalmente, ningún programa de televisión violenta el derecho constitucional de un joven a desarrollar su personalidad libremente.  Prender la tele es un elemental acto volitivo de un individuo.  Enseñar a saber cuándo prenderla es misión de los padres.  Para María: si no le gusta lo que ve, mire para otro lado y no trate de estirar una Ley para “cubrirse los pies con la sábana”.</p>

<blockquote><em>Enseñar valores en casa ya no es suficiente, necesitamos que todas las estructuras nos apoyen</em>, por eso, propongo que se expida una ley que obligue a realizar un <em>estudio de impacto social, moral y psicológico</em> a todos los programas y publicidad de prensa, radio o televisión, para menores y adultos.  Eso sí disminuirá el riesgo.  Podremos pensar primero en las consecuencias para decidir acertadamente y no solo a base del <em>raiting</em> [sic].</blockquote>

<p>Este es un discurso facilista de cualquier papá o mamá vagos.  Por supuesto que enseñar valores es suficiente.  A un niño de 3, 4 o 5 años que se le repite constantemente lo que está bien o está mal, se le graban estas nociones.  A un niño que <strong>no se le entrega la capacidad de discriminar</strong>, no se le graba nada más que lo que ve en la tele.  Especialmente cuando los padres pretenden utilizar la tele como una niñera sin costo.  Además, un “carajazo” a tiempo no cuesta nada, excepto la voluntad del padre (quien, idealmente debería desear serlo).</p>

<p>Como conclusión lógica, tengo que decir lo siguiente: quien pretenda prohibir este tipo de shows para proteger a los débiles mentales, está tostado/a.  Me gustaría decirle a María Parducci directamente que estos shows existen precisamente por los adolescentes débiles mentales, que prefieren desconectarse de la realidad una hora para ver mujeres bailando (a falta de cabarets), antes que hacer las tareas.  Es por eso que los “raitings” (como escribe María) son tan altos.  Para los adolescentes cuya moral sea influenciada negativamente por estos shows, ya es muy tarde: los valores morales se enseñan desde mucho más temprano, y para esa edad, ya el carácter y la capacidad para decir <strong>no</strong> están formados.  Nada se gana con prohibir los shows.</p>

<p>Para los niños más pequeños, la solución es simple.  Prohibirles ver tele.  Así de simple y elemental.  Usar el poder y la capacidad de convicción como padres para que los niños, desde pequeños, se acostumbren a discriminar la calidad y la veracidad de los shows de tele (o de cualquier otro discurso mediático).  Son los padres quienen controlan el remoto y la ubicación de la tele en las casas.  Por ende, son los padres los que tienen que impedir que ese veneno entre a sus casas; y deben hacerlo a tiempo, pues en la adolescencia ya es muy tarde.</p>

<p>¿”Estudio de impacto social y psicológico”?  ¿Qué ridiculez es esa?  En primera instancia, semejante solución sería impráctica, porque los canales de televisión ya están completamente agobiados con su trabajo hoy.  Involucrar más trabajo y poner más barreras de entrada solamente desestimularía la innovación en el sector.  En segunda instancia, ese mecanismo de “estudios” terminaría siendo manipulado para anular cualquier discurso impopular, o mal visto por el sector de la sociedad que controlase el mecanismo.  En otras palabras, censura.  Como 