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

<channel>
	<title>luauf.com &#187; Miscelaneas</title>
	<atom:link href="http://luauf.com/category/miscelaneas/feed/" rel="self" type="application/rss+xml" />
	<link>http://luauf.com</link>
	<description>Sistemas Operativos, Bases de Datos, Programación y Redes</description>
	<lastBuildDate>Mon, 14 May 2012 01:15:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Introducción a Control de Versiones con Git</title>
		<link>http://luauf.com/2012/02/25/introduccion-a-control-de-versiones-con-git/</link>
		<comments>http://luauf.com/2012/02/25/introduccion-a-control-de-versiones-con-git/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 00:47:54 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Gestión]]></category>
		<category><![CDATA[Miscelaneas]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[control de versiones]]></category>
		<category><![CDATA[CVS]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Repositorio]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[versiones]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=1199</guid>
		<description><![CDATA[Git es un software de control de versiones, como lo son, por ejemplo: CVS, SVN o VSS. Git fue diseñado por Torvalds con el objetivo de llevar el kernel de Linux en un...]]></description>
			<content:encoded><![CDATA[<p><strong>Git</strong> es un software de control de versiones, como lo son, por ejemplo: CVS, SVN o VSS.</p>
<p><strong>Git</strong> fue diseñado por <strong>Torvalds</strong> con el objetivo de llevar el kernel de Linux en un repositorio confiable o como el propio <strong>Linus</strong> dijo &#8220;rápido, muy rápido, fácil, bonito y espectacular&#8221;.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2012/02/git_logo.png"><img class="aligncenter size-medium wp-image-1258" title="git_logo" src="http://luauf.com/wp-content/uploads/2012/02/git_logo-300x164.png" alt="" width="300" height="164" /></a></p>
<p>Una de las referencias de Linus en el diseño de <strong>git</strong> fue CVS, pero como un ejemplo de lo que NO HAY QUE HACER, pues lo sufrió durante siete años en una compañía y allí aprendió a odiarlo con pasión. Linus tampoco quizo probar con SVN, pues el lema de SVN era &#8220;hacer CVS bien&#8221;, y eso ya lo condenaba, pues no había forma de hacer a CVS bien.</p>
<p>Dejando de lado las anécdotas anteriores, Git es utilizado por la mayoría de los desarrollos open source de la actualidad:</p>
<ul>
<li>El propio Git</li>
<li>Linux Kernel</li>
<li>Perl</li>
<li>Eclipse</li>
<li>Gnome</li>
<li>KDE</li>
<li>Qt</li>
<li>Ruby on Rails</li>
<li>Android</li>
<li>PostgreSQL</li>
<li>Debian</li>
<li>X.org</li>
</ul>
<p><span id="more-1199"></span>Para quienes no saben lo que es un software control de versiones, básicamente, se puede resumir en un servidor donde se suben los archivos de un proyecto y a medida que se van modificando se van registrando y documentando estos cambios (versionando). En principio la idea es sencilla y más de un improvisado podría cuestionar el uso del mismo. No obstante, en la medida que un proyecto crece, la cantidad de archivos aumenta, los cambios y la cantidad de programadores también, resulta totalmente insostenible trabajar sin un control de versiones.</p>
<p>Trabajar sin control de versiones implica no saber donde está el último fuente, arrancar trabajando de una versión anterior y perderse los cambios de la que realmente era la última, no saber cuales son y quien realizó los cambios, no deshacer fácilmente los cambios realizados (downgrade), o no poder facilitar la transición a una versión totalmente nueva de un proyecto manteniendo el soporte a la anterior.</p>
<p>Una cosa más, la mayoría de los IDEs actuales tienen integración con Git, o si no la tienen, tienen algún plugin para hacerlo. Ahora, si no utilizas un IDE, tu caso es un poco más delicado <img src='http://luauf.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Sin más preámbulos, vamos a la práctica. En mis prácticas no utilizaré IDE, utilizaré un único archivo fuente y utilizaré el mismo equipo (dotado con Ubuntu Linux) como repositorio y cliente. Por lo tanto, primero, descargaré lo necesario: apt-get install git-core</p>
<p>Primer paso, en rol de &#8220;servidor&#8221;, creo el repositorio:</p>
<div class="syntax_hilite">
<div id="code-15">
<div class="code">$ git init mi_repositorio</div>
</div>
</div>
<p></p>
<p>Initialized empty Git repository in /home/luciano/mi_repositorio/.git/</p>
<p>En caso de no pasar el último argumento, en mi caso: mi_repositorio, el repositorio se inicializará en el directorio actual.</p>
<p>Ahora, en rol de &#8220;cliente&#8221;, supongamos que tengo mis desarrollos en este path:</p>
<div class="syntax_hilite">
<div id="code-16">
<div class="code">$ pwd<br />
/home/luciano/desarrollo</div>
</div>
</div>
<p>
Si quiero &#8220;sincronizar&#8221; mi directorio de desarrollo con el repositorio de git, debe hacer un &#8220;clone&#8221;, así:</p>
<div class="syntax_hilite">
<div id="code-17">
<div class="code">$ git clone /home/luciano/mi_repositorio<br />
Cloning into luciano&#8230;<br />
<span style="">done</span>.<br />
<span style="">warning</span>: You appear to have cloned an empty repository.</div>
</div>
</div>
<p>
Estamos arrancando de cero, por lo tanto el warning es ignorable <img src='http://luauf.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>El argumento que cambiará del &#8220;clone&#8221; en el caso que el repositorio se encuentre en otro servidor, será el path del repositorio, que deberá ser antecedido por usuario@host, por ejemplo:</p>
<div class="syntax_hilite">
<div id="code-18">
<div class="code">git clone username@host:/path/to/repository</div>
</div>
</div>
<p></p>
<p>Un repositorio administrador por git cuenta con lo que se denominan tres árboles, el primero, el directorio local (directorio de trabajo). El segundo es un &#8220;directorio intermedio&#8221; a donde van a parar los archivos que se agregan al proyecto, finalmente el &#8220;HEAD&#8221; donde reside la última versión confirmada. Ahora, veremos como agregar un archivo al repositorio y como &#8220;commitearlo&#8221;.</p>
<p>Primero, creo un archivo fuente en mi directorio de trabajo:</p>
<div class="syntax_hilite">
<div id="code-19">
<div class="code">$ pwd<br />
/home/luciano/desarrollo<br />
$ cd mi_repositorio<br />
$ touch holamundo.<span style="">c</span></div>
</div>
</div>
<p></p>
<p>Observen lo siguiente, no hay nada que decir:</p>
<div class="syntax_hilite">
<div id="code-20">
<div class="code">$ git status<br />
# On branch master<br />
#<br />
# Initial commit<br />
#<br />
# Untracked files:<br />
# <span style="color:#006600; font-weight:bold;">&#40;</span>use <span style="color:#CC0000;">&#8220;git add &#8230;&#8221;</span> to include in what will be committed<span style="color:#006600; font-weight:bold;">&#41;</span><br />
#<br />
# holamundo.<span style="">c</span><br />
nothing added to commit but untracked files present <span style="color:#006600; font-weight:bold;">&#40;</span>use <span style="color:#CC0000;">&#8220;git add&#8221;</span> to track<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</div>
</div>
<p></p>
<p>Ahora, agrego el archivo al repositorio:</p>
<div class="syntax_hilite">
<div id="code-21">
<div class="code">$ git add holamundo.<span style="">c</span></div>
</div>
</div>
<p></p>
<p>Finalmente, commit:</p>
<div class="syntax_hilite">
<div id="code-22">
<div class="code">$ git commit -m <span style="color:#CC0000;">&#8220;revision inicial&#8221;</span> holamundo.<span style="">c</span><br />
<span style="color:#006600; font-weight:bold;">&#91;</span>master <span style="color:#006600; font-weight:bold;">&#40;</span>root-commit<span style="color:#006600; font-weight:bold;">&#41;</span> 2b983d9<span style="color:#006600; font-weight:bold;">&#93;</span> revision inicial<br />
Committer: Luciano</div>
</div>
</div>
<p></p>
<p>Ahora, el estado nuevamente:</p>
<div class="syntax_hilite">
<div id="code-23">
<div class="code">$ git status<br />
# On branch master<br />
nothing to commit <span style="color:#006600; font-weight:bold;">&#40;</span>working directory clean<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</div>
</div>
<p></p>
<p>Un último comentario acerca de lo último, el commit quedó registrado con mi usuario (Committer) y mi host luciano@lucid.</p>
<p>Una opción, antes de lo anterior, es setear esos valores de la siguiente forma:</p>
<div class="syntax_hilite">
<div id="code-24">
<div class="code">$ git config –global user.<span style="">name</span> “Juan Del Rio”<br />
$ git config –global user.<span style="">email</span> juan@delrio.<span style="">com</span></div>
</div>
</div>
<p></p>
<p>Ahora, modifico el fuente y observo el estado de nuevo:</p>
<div class="syntax_hilite">
<div id="code-25">
<div class="code">$ echo <span style="color:#CC0000;">&#8220;/* holamundo program */&#8221;</span>&amp;gt; holamundo.<span style="">c</span></p>
<p>$ git status<br />
# On branch master<br />
# Changes not staged for commit:<br />
# <span style="color:#006600; font-weight:bold;">&#40;</span>use <span style="color:#CC0000;">&#8220;git add &#8230;&#8221;</span> to update what will be committed<span style="color:#006600; font-weight:bold;">&#41;</span><br />
# <span style="color:#006600; font-weight:bold;">&#40;</span>use <span style="color:#CC0000;">&#8220;git checkout &#8212; &#8230;&#8221;</span> to discard changes in working directory<span style="color:#006600; font-weight:bold;">&#41;</span><br />
#<br />
# modified: holamundo.<span style="">c</span><br />
#<br />
no changes added to commit <span style="color:#006600; font-weight:bold;">&#40;</span>use <span style="color:#CC0000;">&#8220;git add&#8221;</span> and/or <span style="color:#CC0000;">&#8220;git commit -a&#8221;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</div>
</div>
<p></p>
<p>Hay cambios sin &#8220;commitear&#8221;, por lo tanto, hago un nuevo commit:</p>
<div class="syntax_hilite">
<div id="code-26">
<div class="code">$ git commit -m <span style="color:#CC0000;">&#8220;agregue encabezado&#8221;</span> holamundo.<span style="">c</span></p>
<p>$ git status<br />
# On branch master<br />
nothing to commit <span style="color:#006600; font-weight:bold;">&#40;</span>working directory clean<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</div>
</div>
<p></p>
<p>Para terminar (por ahora), si elimino el archivo:</p>
<div class="syntax_hilite">
<div id="code-27">
<div class="code">$ rm holamundo.<span style="">c</span></p>
<p>$ git status<br />
# On branch master<br />
# Changes not staged for commit:<br />
# <span style="color:#006600; font-weight:bold;">&#40;</span>use <span style="color:#CC0000;">&#8220;git add/rm &#8230;&#8221;</span> to update what will be committed<span style="color:#006600; font-weight:bold;">&#41;</span><br />
# <span style="color:#006600; font-weight:bold;">&#40;</span>use <span style="color:#CC0000;">&#8220;git checkout &#8212; &#8230;&#8221;</span> to discard changes in working directory<span style="color:#006600; font-weight:bold;">&#41;</span><br />
#<br />
# deleted: holamundo.<span style="">c</span><br />
#<br />
no changes added to commit <span style="color:#006600; font-weight:bold;">&#40;</span>use <span style="color:#CC0000;">&#8220;git add&#8221;</span> and/or <span style="color:#CC0000;">&#8220;git commit -a&#8221;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</div>
</div>
<p></p>
<p>Por lo tanto debo:</p>
<div class="syntax_hilite">
<div id="code-28">
<div class="code">$ git rm holamundo.<span style="">c</span><br />
$ git commit -m <span style="color:#CC0000;">&#8220;bye bye adios&#8221;</span> holamundo.<span style="">c</span><br />
$ git status<br />
# On branch master<br />
nothing to commit <span style="color:#006600; font-weight:bold;">&#40;</span>working directory clean<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</div>
</div>
<p></p>
<p>Por hoy esto es todo, a pesar de que es muy poco y aún no es lo suficiente para compreder las virtudes de un sistema de control de versiones, basta para saber como hacer &#8220;altas, bajas y modificaciones&#8221;.</p>
<p>En la próxima entrega, quedo comprometido en tratar los &#8220;push&#8221; a un servidor remoto, trabajar con &#8220;branches&#8221;, hacer &#8220;merges&#8221; y un poco más.</p>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2012/02/25/introduccion-a-control-de-versiones-con-git/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ayuda memoria: loops infinitos en el shell</title>
		<link>http://luauf.com/2012/01/26/ayuda-memoria-loops-infinitos-en-el-shell/</link>
		<comments>http://luauf.com/2012/01/26/ayuda-memoria-loops-infinitos-en-el-shell/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 01:44:47 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Miscelaneas]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bucle]]></category>
		<category><![CDATA[infinito]]></category>
		<category><![CDATA[ksh]]></category>
		<category><![CDATA[LOOP]]></category>
		<category><![CDATA[sh]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=1197</guid>
		<description><![CDATA[Este blog, me ha sido en más de una ocasión, mi ayuda memoria ideal. En otras tantas ocasiones, un link al mismo me permitió &#8220;ayudar al prójimo&#8221;, más bien, ahorrarme tiempo de utilización...]]></description>
			<content:encoded><![CDATA[<p>Este blog, me ha sido en más de una ocasión, mi ayuda memoria ideal. En otras tantas ocasiones, un link al mismo me permitió &#8220;ayudar al prójimo&#8221;, más bien, ahorrarme tiempo de utilización de cuerdas vocales y ahorrar al otro el fastidio de escucharme.</p>
<p>Por tal motivo, y ante un requerimiento del primer tipo (como &#8220;ayuda memoria&#8221;) quiero publicar algo que frecuentemente utilizo (o que cuando no es tan frecuente mi fragil memoria olvida):</p>
<p><strong>¿Cómo hacer un loop infinito en un intérprete de comandos (sh, ksh o similar)?</strong></p>
<p>Pongamos unas comillas al &#8220;infinito&#8221;, todo concluye al fin, nada puede escapar a un <strong>Ctrl+C</strong> o a un break (produce un abandono inmediato) dentro del bucle.</p>
<p><span id="more-1197"></span></p>
<pre>while :; do
  # Todo lo que quieras repetir infinitas veces
  echo "Hola Mundo"
  sleep 2
done</pre>
<p>No olvides el sleep, sino pasarán cosas muy rápido <img src='http://luauf.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Otras opciones son utilizar las <em>palabras especiale</em>s <strong>true</strong> (indica que una condición en verdadera) y <strong>false</strong> (indica que una condición es falsa) de<strong> bash</strong>:</p>
<pre>while true; do
  ...
  ...
done</pre>
<p>O:</p>
<pre>until false; do
  ...
  ...</pre>
<pre>done</pre>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2012/01/26/ayuda-memoria-loops-infinitos-en-el-shell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Borrar los archivos de más de N días (en Windows)</title>
		<link>http://luauf.com/2010/12/04/borrar-los-archivos-de-mas-de-n-dias-en-windows/</link>
		<comments>http://luauf.com/2010/12/04/borrar-los-archivos-de-mas-de-n-dias-en-windows/#comments</comments>
		<pubDate>Sat, 04 Dec 2010 19:19:03 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Miscelaneas]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Sistemas Operativos]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[bat]]></category>
		<category><![CDATA[borrar archivos]]></category>
		<category><![CDATA[purgar]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell script]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=1184</guid>
		<description><![CDATA[Las publicaciones al blog son cada vez más esporádicas, no por eso poco importantes. Es decir, aveces prefiero publicar poco y útil antes que periódico e inservible. En este caso, quiero aportar a...]]></description>
			<content:encoded><![CDATA[<p>Las publicaciones al blog son cada vez más esporádicas, no por eso poco importantes. Es decir, aveces prefiero publicar poco y útil antes que periódico e inservible.</p>
<p>En este caso, quiero aportar a este blog (mi humilde base de conocimientos) una forma muy sencilla de eliminar archivos de más de N de días de antigüedad en forma automática (ideal para ejecutar por el programador de tareas), algo muy útil para purgar logs o borrar temporales inútiles. En mi caso, fue utilizado para eliminar imágenes periódicas de una cámara IP (JPEG posting) que al final del día unía en un video diario.</p>
<p style="text-align: center;">
<p>Luego de buscar y buscar y estando a punto de escribir un Windows shell script bastante artesanal me encontré con <a href="http://ss64.com/nt/forfiles.html">FORFILES</a>, un <a href="http://ss64.com/nt/">comando de Windows</a>, que permite de una forma sencilla de seleccionar uno o más archivos y ejecutar un comando sobre los mismos.</p>
<p><span id="more-1184"></span><br />
Está de más decir que lo primero que deberías hacer es ver como funciona FORFILES:</p>
<div class="syntax_hilite">
<div id="code-31">
<div class="code">forfiles /?</div>
</div>
</div>
<p></p>
<p>De todas formas, si eres algo perezoso, aquí va la solución al problema que da título a esta presentación:</p>
<div class="syntax_hilite">
<div id="code-32">
<div class="code">forfiles -p <span style="color:#CC0000;">&#8220;C:<span style="color:#000099; font-weight:bold;">\d</span>onde<span style="color:#000099; font-weight:bold;">\e</span>sten<span style="color:#000099; font-weight:bold;">\t</span>us<span style="color:#000099; font-weight:bold;">\a</span>rchivos&#8221;</span> -s -m *.* -d -c <span style="color:#CC0000;">&#8220;cmd /c del @path&#8221;</span></div>
</div>
</div>
<p></p>
<p>Vía: <a href="http://stackoverflow.com/questions/51054/batch-file-to-delete-files-older-than-n-days">stackoverflow</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2010/12/04/borrar-los-archivos-de-mas-de-n-dias-en-windows/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hojas de referencia de comandos de UNIX, vi/vim, etc.</title>
		<link>http://luauf.com/2010/09/27/hojas-de-referencia-de-comandos-de-unix-vivim-etc/</link>
		<comments>http://luauf.com/2010/09/27/hojas-de-referencia-de-comandos-de-unix-vivim-etc/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 11:00:14 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Miscelaneas]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[cheat sheet]]></category>
		<category><![CDATA[Comandos]]></category>
		<category><![CDATA[hojas de referencia]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[rgb]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=1178</guid>
		<description><![CDATA[Y un día volví&#8230; y como no podía ser de otra manera con las clásicas hojas de referencia, para imprimir y tener a nuestro lado en los escritorios. Como lo más destacado de...]]></description>
			<content:encoded><![CDATA[<p>Y un día volví&#8230; y como no podía ser de otra manera con las clásicas hojas de referencia, para imprimir y tener a nuestro lado en los escritorios.</p>
<p>Como lo más destacado de este post, les dejo una cheatsheet de comandos de UNIX.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2010/09/unix_commands_cheatsheet.jpg"><img class="aligncenter size-thumbnail wp-image-1179" title="unix_commands_cheatsheet" src="http://luauf.com/wp-content/uploads/2010/09/unix_commands_cheatsheet-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p style="text-align: center;">
<p><span id="more-1178"></span>Y como plus, algunas cheatsheet varias, de esas que encontrarás miles en Internet. Son una hoja de referencia de vi/vim (a menos que trabajes hace tiempo con vi o vim, esta hoja te será muy útil inclusive para saber como salir del editor <img src='http://luauf.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2010/09/vi-vim-cheat-sheet.gif"><img class="aligncenter size-medium wp-image-1180" title="vi-vim-cheat-sheet" src="http://luauf.com/wp-content/uploads/2010/09/vi-vim-cheat-sheet-300x212.gif" alt="" width="300" height="212" /></a></p>
<p>Y además, otras dos hojas acerca de las equivalencias en colores RGB/Hexadecimal (para imprimir a colores) y otra de JQuery, estas últimas dos para webmasters por sobre todas las cosas.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2010/09/rgb-hex-cheat-sheet-v1.png"><img class="aligncenter size-medium wp-image-1181" title="rgb-hex-cheat-sheet-v1" src="http://luauf.com/wp-content/uploads/2010/09/rgb-hex-cheat-sheet-v1-220x300.png" alt="" width="220" height="300" /></a></p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2010/09/Jquery-Cheat-Sheet-1.2.png"><img class="aligncenter size-medium wp-image-1182" title="Jquery-Cheat-Sheet-1.2" src="http://luauf.com/wp-content/uploads/2010/09/Jquery-Cheat-Sheet-1.2-300x225.png" alt="" width="300" height="225" /></a></p>
<p>Vía: <a href="http://www.pixelbeat.org/cmdline.html">PixelBeat</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2010/09/27/hojas-de-referencia-de-comandos-de-unix-vivim-etc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Usar discos reales en Virtualbox</title>
		<link>http://luauf.com/2010/05/10/usar-discos-reales-en-virtualbox/</link>
		<comments>http://luauf.com/2010/05/10/usar-discos-reales-en-virtualbox/#comments</comments>
		<pubDate>Mon, 10 May 2010 11:00:50 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Miscelaneas]]></category>
		<category><![CDATA[Sistemas Operativos]]></category>
		<category><![CDATA[Virtualización]]></category>
		<category><![CDATA[virtual box]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=1176</guid>
		<description><![CDATA[Un tip para tener a mano que resuelve las siguientes dos cuestiones: Virtualizar un Sistema Operativo ya instalado en una partición existente Crear un nuevo disco virtual en Virtualbox que apunte a una...]]></description>
			<content:encoded><![CDATA[<p><a href="http://luauf.com/wp-content/uploads/2010/05/virtualboxlogo.png"><br />
</a>Un tip para tener a mano que resuelve las siguientes dos cuestiones:</p>
<ul>
<li>Virtualizar un Sistema Operativo ya instalado en una partición existente</li>
</ul>
<ul>
<li>Crear un nuevo disco virtual en Virtualbox que apunte a una partición, sobre la cual se instalará un Sistema Operativo (desde una máquina virtual) y que luego se utilizará sin virtualizar.</li>
</ul>
<p><span id="more-1176"></span></p>
<p><a href="http://luauf.com/wp-content/uploads/2010/05/virtualboxlogo.png"><img class="aligncenter" title="virtualboxlogo" src="http://luauf.com/wp-content/uploads/2010/05/virtualboxlogo-290x300.png" alt="" width="290" height="300" /></a></p>
<p>Bien, para uno u otro fin necesitamos crear un disco virtual (<strong>.vmdk</strong>) pero que &#8220;apunte&#8221; a una partición real. Para el primer objetivo la partición existe y ya tiene un Sistema Operativo instalado. Para el segundo objetivo debemos, al menos, crear la partición (sin necesidad de formatear ni nada, simplemente crear la partición, puedes valerte de Gparted para esta tarea).</p>
<p>Finalmente, creamos el &#8220;link&#8221;:</p>
<p>$ VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -relative -register</p>
<p>Vía: <a href="http://crysol.org/es/node/1275">CRySoL</a></p>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2010/05/10/usar-discos-reales-en-virtualbox/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Enviar tweets desde la terminal</title>
		<link>http://luauf.com/2010/04/19/enviar-tweets-desde-la-terminal/</link>
		<comments>http://luauf.com/2010/04/19/enviar-tweets-desde-la-terminal/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 11:00:30 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Miscelaneas]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Consola]]></category>
		<category><![CDATA[cURL]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[webservice]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=1170</guid>
		<description><![CDATA[Casi dos meses después de la última publicación, es necesario dar &#8220;señales de vida&#8221; del blog, que nunca fue discontinuado&#8230; pero que se mantuvo en &#8220;pausa&#8221; por falta de &#8220;inspiración&#8221;   Y para...]]></description>
			<content:encoded><![CDATA[<p>Casi dos meses después de la última publicación, es necesario dar &#8220;señales de vida&#8221; del blog, que nunca fue discontinuado&#8230; pero que se mantuvo en &#8220;pausa&#8221; por falta de &#8220;inspiración&#8221; <img src='http://luauf.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />   Y para volver, que mejor que con un clásico: hacer &#8220;cosas&#8221; desde la terminal (hoy estoy muy &#8220;comillero&#8221;)</p>
<p>A las publicaciones de tiempo atrás de <a href="http://luauf.com/2009/10/27/centerim-mensajeria-instantanea-para-hombres/">Center IM</a>, <a href="http://luauf.com/2008/07/06/escuchando-musica-en-modo-texto-con-mp3blaster/">mp3blaster</a> y <a href="http://luauf.com/2008/06/20/navegando-en-modo-texto-con-lynx/">Lynx</a> hoy aprenderemos a enviar tweets desde la terminal utilizando cURL-</p>
<p align="center"><img class="aligncenter size-full wp-image-1171" title="twitter" src="http://luauf.com/wp-content/uploads/2010/04/twitter.jpg" alt="" width="160" height="44" /></p>
<p>cURL es una herramienta, que muy probablemente tengas instalado en tu GNU/Linux o BSD, que nos permite enviar a una datos a una URL utilizando los protocolos HTTP, HTTPS, FTP, FTPS, etc.</p>
<p><span id="more-1170"></span>Bien, enviar un tweet desde la terminal es realmente muy sencillo, basta copiar la siguiente línea:</p>
<p>curl -u usuario:password -d status=&#8221;Mi primer tweet desde la terminal&#8221; http://twitter.com/statuses/update.xml</p>
<p>Donde:</p>
<ul>
<li><strong>Usuario</strong>: es tu nombre de usuario</li>
<li><strong>Contraseña</strong>: es tu clave de acceso</li>
<li><strong>status</strong>: es el texto del tweet</li>
<li><a href="http://twitter.com/statuses/update.xml">http://twitter.com/statuses/update.xml</a>: es la URL de la <a href="http://apiwiki.twitter.com/Twitter-API-Documentation">API que ofrece Twitter</a> para el envio y recepción de datos. Verás que los tweets escritos de esta forma dirán debajo &#8220;hace &#8216;tanto tiempo&#8217; via API&#8221;</li>
</ul>
<p>Algo que obviamente puede no gustarnos de esto es escribir, a la vista de todos, la contraseña por terminal y lo que puede ser peor, que quede en el histórico. Para lo segundo, podemos borrar el <a href="http://luauf.com/2008/08/19/utilizar-el-bash-history-a-fondo/">history</a> (history -c)</p>
<p>That&#8217;s all folks.</p>
<p>Vía: <a href="http://120linux.com/twitter-desde-el-terminal/">120% Linux</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2010/04/19/enviar-tweets-desde-la-terminal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Obtener MAC address en Symbian S60</title>
		<link>http://luauf.com/2010/02/06/obtener-mac-address-en-symbian-s60/</link>
		<comments>http://luauf.com/2010/02/06/obtener-mac-address-en-symbian-s60/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 11:00:49 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Portatiles]]></category>
		<category><![CDATA[Redes]]></category>
		<category><![CDATA[Sistemas Operativos]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[celular]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Moviles]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=1160</guid>
		<description><![CDATA[Uno de los objetivos de este blog es que me sirva como ayuda memoria, de echo aquí volqué material al que luego recurrí como referencia. Por tal motivo, se justifica la publicación del...]]></description>
			<content:encoded><![CDATA[<p>Uno de los objetivos de este blog es que me sirva como ayuda memoria, de echo aquí volqué material al que luego recurrí como referencia. Por tal motivo, se justifica la publicación del siguiente tip (la próxima vez en vez de Googlear recurriré a mi blog, mi base de conocimientos <img src='http://luauf.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  )</p>
<p>La cuestión es simple, tuve en mis manos por primera vez un móvil con <strong>Symbian OS S60</strong> y necesitaba obtener la MAC Address, caso contrario no iba a poder conectarme a mi red doméstica (filtrada por MAC dicho sea de paso).</p>
<p>La cuestión fue simple, estando el teléfono en stand by, hay que marcar <strong>*#62209526# </strong>número equivalente a la cadena alfanumérica a <strong>*#MAC0WLAN#</strong><strong> </strong></p>
<p><span id="more-1160"></span></p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2010/02/symbian_logo.png"><img class="aligncenter size-full wp-image-1161" title="symbian_logo" src="http://luauf.com/wp-content/uploads/2010/02/symbian_logo.png" alt="" width="147" height="68" /></a></p>
<p>Dicho sea de paso, y en una de esas casualidades de la vida, a solo unas horas de operar un terminal con Symbian leo la noticia de que Nokia empezaba a cumplir su promesa de empezar a liberar Symbian bajo licencia EPL (Eclipse Public Licence).</p>
<p>Sin ánimo a aburrirlos con clases de historia, quiero aclarar por que digo &#8220;Nokia empezaba a cumplir su promesa&#8221;. Symbian era un Sistema Operativo propietario, desarrollado en conjunto por grandes y reconocidas marcas como Nokia, Sony Ericsson, Samsung, <strong>Siemens</strong>, Benq, Lenovo, LG, Motorola, Mitsubishi Electric, Panasonic, etc.</p>
<p>Luego de que Nokia no obtuviera los resultados esperados con terminales &#8220;Linux-Like&#8221;, arremetió para quedarse con la mayoría de  las acciones de Symbian y así en junio de 2008 quedarse con la mayoría de ellas. Cuando se conoció esta noticia, Nokia prometió liberar el código de Symbian, estrategia que lo favorecería gracias a la comunidad de desarrolladores que se forma alrededor de todo proyecto de código abierto. Antes de ayer, esa promesa se empezó a hacer realidad.</p>
<p>Espero, para la próxima vez que nombre Symbian en este Blog sea para empezar a desarrollar al menos algún &#8220;Hola Mundo&#8221; <img src='http://luauf.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2010/02/06/obtener-mac-address-en-symbian-s60/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Educación 2.0</title>
		<link>http://luauf.com/2010/01/18/educacion-2-0/</link>
		<comments>http://luauf.com/2010/01/18/educacion-2-0/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 22:37:26 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Actualidad]]></category>
		<category><![CDATA[Miscelaneas]]></category>
		<category><![CDATA[educación]]></category>
		<category><![CDATA[universidad]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=1148</guid>
		<description><![CDATA[Facebook es todo un éxito, aunque lamentablemente muchos lo traten como un simple fotolog y no sepan reconocerlo en toda su dimensión, Facebook es un gran exponente de la Web 2.0. Personalmente me...]]></description>
			<content:encoded><![CDATA[<p>Facebook es todo un éxito, aunque lamentablemente muchos lo traten como un simple fotolog y no sepan reconocerlo en toda su dimensión, Facebook es un gran exponente de la Web 2.0.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2010/01/web20.jpg"><img class="aligncenter size-thumbnail wp-image-1149" title="web20" src="http://luauf.com/wp-content/uploads/2010/01/web20-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Personalmente me costó, y aún me cuesta explotar al máximo el concepto de Web 2.0. No puedo jactarme de ser un gran usuario de la web 2.0 por solo tener una cuenta en Facebook, Twitter, LinkedIn y este blog.</p>
<p><span id="more-1148"></span>El alcance de las redes sociales y las comunidades de usuario es un concepto verde a explorar en todos los contextos.</p>
<p>Ejemplo de ello es la exposición del Lic. Andrés Pedreño Muñoz, reconocido catedrático español, en la que expone sus estudios acerca del &#8220;2.0&#8243;, ya sea en la web, educación, universidad e ideas. Quiero compartir con los lectores, así como un alumno lo hizo conmigo, la disertación acerca de la mencionada personalidad acerca de la Universidad 2.0.</p>
<p>A continuación publico el video y el enlace al texto del mismo. El video puede resultarte más divertido que la lectura, no obstante debes tener más de una hora para verlo en su totalidad <img src='http://luauf.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Una vez que hayas visto el video, de acuerdo a tu visión optimista o pesimista puedes plantearte ¿el modelo de educación actual está obsoleto? ¿el uso de las comunidades de usuarios virtuales es explotada por las instituciones educativas? etc. (notarán en mis preguntas cierto tono pesimista)</p>
<p>En fin, para escuchar (o leer), interpretar, entender y por sobre todas las cosas hacer vuestro propio juicio propio.</p>
<p><strong>¿Qué puede ser la Universidad 2.0?: visión y estrategias de actuación</strong><br />
Andrés Pedreño Muñoz<br />
Instituto de Economía Internacional<br />
Universidad de Alicante</p>
<p style="text-align: center;">
<object data="http://www.uimp20.es/flashplayer/player.swf?0.5358532754483047" type="application/x-shockwave-flash" height="360" width="440"><param name="movie" value="http://www.uimp20.es/flashplayer/player.swf?0.5358532754483047"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="never"><param name="flashvars" value="config={&quot;showErrors&quot;: false,&quot;clip&quot;:{&quot;provider&quot;:&quot;rtmp&quot;,&quot;autoPlay&quot;:false,&quot;url&quot;:&quot;604F_10_08_2009_2.flv&quot;},&quot;logo&quot;:{&quot;url&quot;:&quot;http://www.uimp20.es/flashplayer/videouimp.png&quot;,&quot;fullscreenOnly&quot;:false,&quot;zIndex&quot;:0,&quot;top&quot;:&quot;60pct&quot;,&quot;left&quot;:&quot;50pct&quot;,&quot;width&quot;:&quot;90pct&quot;},&quot;canvas&quot;:{&quot;backgroundColor&quot;:&quot;#000000&quot;},&quot;contextMenu&quot;:[{&quot;En directo desde la UIMP&quot;:&quot;http://www.uimp.es/&quot;}],&quot;plugins&quot;:{&quot;rtmp&quot;:{&quot;url&quot;:&quot;http://www.uimp20.es/flashplayer/rtmp.swf&quot;},&quot;controls&quot;:{&quot;url&quot;:&quot;http://www.uimp20.es/flashplayer/tube.swf&quot;}},&quot;playlist&quot;:[{&quot;provider&quot;:&quot;rtmp&quot;,&quot;autoPlay&quot;:true,&quot;url&quot;:&quot;604F_10_08_2009_2.flv&quot;}]}"></object>
</p>
<p>Enlace al texto completo en <a href="http://utopias-realidades.blogspot.com/2009/08/universidad-20.html">Utopías y Realidades</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2010/01/18/educacion-2-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Balance del año que dejamos atrás</title>
		<link>http://luauf.com/2010/01/06/balance-del-ano-que-dejamos-atras/</link>
		<comments>http://luauf.com/2010/01/06/balance-del-ano-que-dejamos-atras/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 21:02:17 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Miscelaneas]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[estadisticas]]></category>
		<category><![CDATA[lecturas]]></category>
		<category><![CDATA[luauf]]></category>
		<category><![CDATA[noticias]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=1146</guid>
		<description><![CDATA[Este blog no se caracteriza por realizar resúmenes de publicaciones ni tampoco de emitir noticias diarias, salvo que sean de impacto según el ojo de quien escribe. De todas formas, un resumen del...]]></description>
			<content:encoded><![CDATA[<p>Este blog no se caracteriza por realizar resúmenes de publicaciones ni tampoco de emitir noticias diarias, salvo que sean de impacto según el ojo de quien escribe.</p>
<p>De todas formas, un resumen del 2009 no viene mal (ante la ausencia de tiempo para realizar una publicación de más desarrollo).</p>
<p>El 2009, segundo año del blog, ha sido un año con menos de la mitad de publicaciones de su año de nacimiento (2008), no obstante y a pesar de la baja producción, a paso lento pero firme el mismo se fue consolidando y sigue colmando las espectativas  de su creación.</p>
<p>Obviamente, cuando se hace referencia a la &#8220;baja producción&#8221;, el tiempo es un factor determinante que parece hacerce cada vez más pequeño, pero no por eso voy a dejar de lado el trabajo realizado, y lo que es más importante aún, la motivación no desapareció jamás!</p>
<p><span id="more-1146"></span>De todo lo dicho se deduce como corolario que el proyecto sigue en pie.</p>
<p>Que el 2010 sea un año de nuevos objetivos y desafios para todos, son los deseos de este escritor.</p>
<p>Como anexo, un breve TOP 5 de lo más visto en 2009:</p>
<ul>
<li><a href="http://luauf.com/2008/08/05/ejemplo-de-aplicacion-web-con-netbeans-y-visual-web-javaserver-faces/">Ejemplo de aplicación web con NetBeans y Visual Web JavaServer Faces</a></li>
<li><a href="http://luauf.com/2008/05/22/instalar-windows-desde-una-unidad-usb-booteable/">Instalar Windows desde una unidad USB booteable</a></li>
<li><a href="http://luauf.com/2008/05/21/introduccion-a-java-servlets-con-netbeans/">Introducción a Java Servlets con NetBeans</a></li>
<li><a href="http://luauf.com/2008/06/04/struct-union-y-enum-en-c/">Struct, Union y Enum en C</a></li>
<li><a href="http://luauf.com/2008/05/28/instalar-postgresql-en-ubuntu/">Instalar PostgreSQL en Ubuntu</a></li>
</ul>
<p>Las estadísticas suelen ser frías, pues el TOP 5 de lo más visto en 2009 corresponden a artículos publicados en 2008 <img src='http://luauf.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Pero como dije anteriormente, la motivación sigue estando y el deseo y esfuerzo por no bajar las persianas también (de echo, hasta ahora, jamás se pasó dicha idea por mi mente).</p>
<p>PD: si queremos buscar otros motivos de la mencionada &#8220;baja producción&#8221;, ya que vivo en Argentina, también puedo echarle la culpa a la crisis financiera, la gripe A, el Denge, al campo, a Clarin y a todo grupo desestabilizador o a cualquiera que se oponga a &#8220;profundizar el modelo&#8221; <img src='http://luauf.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  (lease todo lo anterior con tono irónico)</p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2010/01/06/balance-del-ano-que-dejamos-atras/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Otra sátira de código fuente, esta vez: Windows 7</title>
		<link>http://luauf.com/2009/12/26/otra-satira-de-codigo-fuente-esta-vez-windows-7/</link>
		<comments>http://luauf.com/2009/12/26/otra-satira-de-codigo-fuente-esta-vez-windows-7/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 14:20:45 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[Miscelaneas]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Codigo fuente]]></category>
		<category><![CDATA[satira]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=1144</guid>
		<description><![CDATA[Luego de las exitosas publicaciones del código fuente de Windows 98, código fuente de Windows Vista y otra de Windows ¿2001? hoy se suma una más, Windows 7. #include “dos.h” #include “win95.h” #include...]]></description>
			<content:encoded><![CDATA[<p>Luego de las exitosas publicaciones del <a href="../2008/07/03/codigo-fuente-de-windows-98/">código fuente de Windows 98</a>, <a href="../2008/04/28/windows-vista-open-source/">código fuente de Windows Vista</a> y <a href="http://luauf.com/2009/03/30/nueva-satira-del-codigo-fuente-de-windows/">otra de Windows ¿2001?</a> hoy se suma una más, Windows 7.</p>
<p align="center"><a href="http://luauf.com/wp-content/uploads/2009/12/windows7.png"><img class="aligncenter size-full wp-image-1264" title="windows7" src="http://luauf.com/wp-content/uploads/2009/12/windows7.png" alt="" width="174" height="240" /></a></p>
<p><span id="more-1144"></span></p>
<div class="syntax_hilite">
<div id="c-34">
<div class="c"><span style="color: #339933;">#include “dos.h”</span><br />
<span style="color: #339933;">#include “win95.h”</span><br />
<span style="color: #339933;">#include “win98.h”</span><br />
<span style="color: #339933;">#include “winNT.h”</span><br />
<span style="color: #339933;">#include “monopoly.h”</span><br />
<span style="color: #339933;">#include “backdoor.h”</span><br />
<span style="color: #339933;">#define TIPO_INSTALACION = DIFICIL</span><br />
<span style="color: #339933;">#include “sco_unix.h”</span></p>
<p>class windows7 extends Windows XP implements Nothing<br />
<span style="color: #66cc66;">&#123;</span><br />
<span style="color: #66cc66;">&#125;</span></p>
<p><span style="color: #993333;">int</span> totalNewFeatures = <span style="color: #cc66cc;">3</span>;<br />
<span style="color: #993333;">int</span> totalWorkingNewFeatures = <span style="color: #cc66cc;">0</span>;<br />
<span style="color: #993333;">float</span> numberOfBugs = 345889E+<span style="color: #cc66cc;">08</span>;<br />
boolean readyForrelease = <span style="color: #000000; font-weight: bold;">FALSE</span>;</p>
<p><span style="color: #993333;">void</span> main<br />
<span style="color: #66cc66;">&#123;</span><br />
display_copyright_message<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</p>
<p><span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>!CRASHED<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></p>
<p><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>first_tiem_install<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></p>
<p><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>installedRAM &amp;lt;2GB || <span style="color: #66cc66;">&#40;</span>processorSpeed &amp;lt;4GHz<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
MessageBox<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&#8220;Error: hardware incompatible.&#8221;</span><span style="color: #66cc66;">&#41;</span>;<br />
GetKeyPress<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
BSOD<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></p>
<p>Make10GBswapfile<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</p>
<p>SearchAndDestroy<span style="color: #66cc66;">&#40;</span>FIREFOX|OPENOFFICEORG|ANYTHING_GOOGLE<span style="color: #66cc66;">&#41;</span>;</p>
<p>AddRandomDriver<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</p>
<p>MessageBox<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&#8220;Error: Controlador incompatible.&#8221;</span><span style="color: #66cc66;">&#41;</span>;</p>
<p>GetKeyPress<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</p>
<p>BSOD<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</p>
<p><span style="color: #66cc66;">&#125;</span></p>
<p><span style="color: #808080; font-style: italic;">//printf(”Bienvenido a Windows NT”);</span><br />
<span style="color: #808080; font-style: italic;">//printf(”Bienvenido a Windows 2000″);</span><br />
<span style="color: #808080; font-style: italic;">//printf(”Bienvenido a Windows XP”);</span><br />
<span style="color: #808080; font-style: italic;">//printf(”Bienvenido a Windows VISTA”);</span><br />
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #66cc66;">&#40;</span>”Bienvenido a Windows <span style="color: #cc66cc;">7</span>″<span style="color: #66cc66;">&#41;</span>;</p>
<p><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>still_not_crashed<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
CheckUserLicense<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
DoubleCheckUserLicense<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
TripleCheckUserLicense<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</p>
<p>RelayUserDetailsToRedmond<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</p>
<p>DisplayFancyGraphics<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</p>
<p>FlickerLED<span style="color: #66cc66;">&#40;</span>hard_drive<span style="color: #66cc66;">&#41;</span>;</p>
<p>RunWindowsVISTA<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</p>
<p><span style="color: #b1b100;">return</span> LotsMoreMoney;</p>
<p><span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div>
</div>
</div>
<p></p>
<p>No digas nada, ya no tienen gracias estas publicaciones, lo se! pero finalizando el año, fin de semana y en la semana sandwich entre las festividades de Navidad y Año Nuevo mucho más no se puede pedir.</p>
<p>Felicidades!</p>
<p>Vía: <a href="http://www.linux-os.com.ar/linuxos/codigo-fuente-windows-7/">Linux-OS</a></p>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2009/12/26/otra-satira-de-codigo-fuente-esta-vez-windows-7/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

