<?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>Linux, Java y programación &#187; truco</title>
	<atom:link href="http://casidiablo.net/tag/truco/feed/" rel="self" type="application/rss+xml" />
	<link>http://casidiablo.net</link>
	<description>Blog de Java, Programación y Linux</description>
	<lastBuildDate>Fri, 11 Nov 2011 05:41:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Hacer útil el prompt de bash</title>
		<link>http://casidiablo.net/prompts-utiles-bash-linux/</link>
		<comments>http://casidiablo.net/prompts-utiles-bash-linux/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 18:59:45 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[prompt]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[truco]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3232</guid>
		<description><![CDATA[Antes que nada, una definición de prompt: Se llama prompt al carácter o conjunto de caracteres que se muestran en una línea de comandos para indicar que está a la espera de órdenes. Éste puede variar dependiendo del intérprete de comandos y suele ser configurable (extraído de la Wikipedia). Normalmente no lo vemos como algo muy [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fprompts-utiles-bash-linux%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Hacer%20%C3%BAtil%20el%20prompt%20de%20bash%22%20%7D);"></div>
<p style="text-align: justify;">Antes que nada, una definición de <a href="http://es.wikipedia.org/wiki/Prompt">prompt</a>:</p>
<p style="padding-left: 30px; text-align: justify;">Se llama prompt al carácter o conjunto de caracteres que se muestran en una línea de comandos para indicar que está a la espera de órdenes. Éste puede variar dependiendo del intérprete de comandos y suele ser configurable (extraído de la Wikipedia).</p>
<p style="text-align: justify;">Normalmente no lo vemos como algo muy importante, pero leyendo <a href="http://maketecheasier.com/8-useful-and-interesting-bash-prompts/2009/09/04">este artículo en </a><a href="http://maketecheasier.com/8-useful-and-interesting-bash-prompts/2009/09/04">Make Tech Easier</a> he reflexionado un poco acerca de este aspecto, y he hecho un listado de los prompts que me parecieron más útiles:</p>
<h3>1. Cambiar el color del prompt dependiendo del resultado del comando ejecutado</h3>
<p style="text-align: justify;">Este es de los que más me ha gustado: si ejecutas bien un comando, el prompt queda en su color original (en este caso verde); pero si te equivocas al tipearlo entonces queda en rojo. Además tiene una característica bastante interesante: te muestra el número dentro del historial que será asignado al comando que ejecutes. El resultado es el siguiente:</p>
<p style="text-align: center;"><img class="size-full wp-image-3236 aligncenter" title="prompt1" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt1.png" alt="prompt1" width="385" height="154" /></p>
<p>Para usarlo, ejecutas esto o lo pones en tu archivo <code>~/.bashrc</code> para hacerlo permanente:</p>
<pre class="brush: bash; title: ; notranslate">PROMPT_COMMAND='PS1=&quot;\[\033[0;33m\][\!]\`if [[ \$? = &quot;0&quot; ]]; then echo &quot;\\[\\033[1\\\;32m\\]&quot;; else echo &quot;\\[\\033[1\\\;31m\\]&quot;; fi\`[\u:\`if [[ `pwd|wc -c|tr -d &quot; &quot;` &gt; 18 ]]; then echo &quot;\\W&quot;; else echo &quot;\\w&quot;; fi\`]\$\[\033[0m\] &quot;; echo -ne &quot;\033]0;`hostname -s`:`pwd`\007&quot;'</pre>
<p><span id="more-3232"></span></p>
<h3>2. Mostrar una carita feliz si se ejecuta un comando correctamente</h3>
<p style="text-align: justify;">Este puede sonar algo infantil pero me parece bastante interesante. Funciona igual que el de arriba y el resultado es el siguiente:</p>
<p style="text-align: center;"><img class="size-full wp-image-3241 aligncenter" title="prompt2" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt2.png" alt="prompt2" width="386" height="154" /></p>
<pre class="brush: bash; title: ; notranslate">PS1=&quot;\`if [ \$? = 0 ]; then echo \[\e[33m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi\` \[\033[01;32m\]\u:\[\033[01;34m\]\w \$\[\033[00m\] &quot;</pre>
<h3>3. Mostrar bastante información en el prompt</h3>
<p style="text-align: justify;">El siguiente prompt es bastante grande y se encuentra distribuido en 3 líneas. Muestra la fecha y hora actual, el usuario, el nombre del equipo, la terminal con la que se está trabajando, el directorio en donde estamos, la cantidad de archivos en el directorio y el espacio que ocupan. Se ve así:</p>
<p style="text-align: center;"><img class="size-full wp-image-3243 aligncenter" title="prompt3" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt3.png" alt="prompt3" width="542" height="183" /></p>
<pre class="brush: bash; title: ; notranslate">PS1=&quot;\n\[\033[35m\]\$(/bin/date)\n\[\033[32m\]\w\n\[\033[1;31m\]\u@\h: \[\033[1;34m\]\$(/usr/bin/tty | /bin/sed -e 's:/dev/::'): \[\033[1;36m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files \[\033[1;33m\]\$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\033[0m\] $ \[\033[0m\]&quot;</pre>
<h3>4. Mostrar la cantidad de procesos corriendo en background</h3>
<p style="text-align: justify;">Este es otro bastante interesante ya que te muestra aparte de lo normal: el número en el historial del comando a ejecutar, y la cantidad de procesos que se encuentren corriendo en background (aquellos ejecutados de la forma comando &amp;). Se ve así:</p>
<p style="text-align: center;"><img class="size-full wp-image-3244 aligncenter" title="prompt4" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt4.png" alt="prompt4" width="383" height="152" /></p>
<pre class="brush: bash; title: ; notranslate">PS1='\[\e[1;32m\]\u@\H:\[\e[m\] \[\e[1;37m\]\w\[\e[m\]\n\[\e[1;33m\]hist:\! \[\e[0;33m\] \[\e[1;31m\]jobs:\j \$\[\e[m\] '</pre>
<h3>5. Mostrar información de los archivos y procesos en background</h3>
<p style="text-align: justify;">Esta combina cosas de la 3 y la 4: muestra cantidad de archivos y espacio que ocupan, además de la cantidad de procesos corriendo en background. El resultado es este:</p>
<p style="text-align: center;"><img class="size-full wp-image-3245 aligncenter" title="prompt5" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt5.png" alt="prompt5" width="560" height="176" /></p>
<pre class="brush: bash; title: ; notranslate">PS1=&quot;\n\[\e[30;1m\]\[\016\]\[\017\](\[\e[34;1m\]\u@\h\[\e[30;1m\])-(\[\e[34;1m\]\j\[\e[30;1m\])-(\[\e[34;1m\]\@ \d\[\e[30;1m\])-&gt;\[\e[30;1m\]\n\[\016\]\[\017\](\[\e[32;1m\]\w\[\e[30;1m\])-(\[\e[32;1m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files, \$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\e[30;1m\])--&gt; \[\e[0m\]&quot;</pre>
<p>¿se te ocurre algún otro?</p>
<p><strong>Actualización:</strong> he creado un ZIP con los prompts dentro ya que hay usuarios que, por culpa del navegador, no pueden verlos completos (cosas del resaltador de sintaxis):</p>
<p><a href="http://casidiablo.net/descargar/Prompts+para+Bash" class="tooltip descargacodigo" title="Descargar los prompts en texto plano comprimidos">Descargar</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/prompts-utiles-bash-linux/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Truco wordpress: listar entradas programadas</title>
		<link>http://casidiablo.net/hack-wordpress-mostrar-posts-futuros/</link>
		<comments>http://casidiablo.net/hack-wordpress-mostrar-posts-futuros/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 17:50:02 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[tips]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[truco]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2843</guid>
		<description><![CDATA[Programar entradas te ofrece varias ventajas, como distribuir adecuadamente tu contenido cronológicamente, tener tiempo de hacer modificaciones o correcciones, etc. El truco del que hablaremos en esta entrada te permitirá listar las entradas que tienes programadas para el futuro. Pienso que es un buen gancho para mantener atentos a nuestros lectores o ganar nuevos. Los [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fhack-wordpress-mostrar-posts-futuros%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Truco%20wordpress%3A%20listar%20entradas%20programadas%22%20%7D);"></div>
<p style="text-align: justify;">Programar entradas te ofrece varias ventajas, como distribuir adecuadamente tu contenido cronológicamente, tener tiempo de hacer modificaciones o correcciones, etc. El truco del que hablaremos en esta entrada te permitirá listar las entradas que tienes programadas para el futuro. Pienso que es un buen gancho para mantener atentos a nuestros lectores o ganar nuevos.</p>
<p>Los pasos son sencillos, basta con poner la siguiente porción de código en tu plantilla (preferiblemente en el sidebar):</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
$my_query = new WP_Query('post_status=future&amp;order=DESC&amp;showposts=5');
    if ($my_query-&gt;have_posts()) {
    while ($my_query-&gt;have_posts()) : $my_query-&gt;the_post(); ?&gt;
        &lt;li&gt;&lt;?php the_title(); ?&gt;&lt;/li&gt;
    &lt;?php endwhile;
}
?&gt;</pre>
<p>Eso es todo. Si lo retocas con un poco de CSS quedará bastante bonito; por ejemplo, yo lo he implementado en mi blog:</p>
<p style="text-align: center;"><img style="border:1px solid;" title="entradas-futuras" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/02/entradas-futuras.png" alt="entradas-futuras" width="272" height="218" /></p>
<p><strong>Fuente</strong>: <a href="http://wp-magazin.ch/2008/11/07/den-leser-in-die-zukunft-blicken-lassen/">Schweizer</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/hack-wordpress-mostrar-posts-futuros/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Obtener número de subscriptores FeedBurner en texto plano</title>
		<link>http://casidiablo.net/obtener-numero-de-subscriptores-feedburner-en-texto-plano/</link>
		<comments>http://casidiablo.net/obtener-numero-de-subscriptores-feedburner-en-texto-plano/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 14:13:32 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[blogsfera]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[feedburner]]></category>
		<category><![CDATA[truco]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=1886</guid>
		<description><![CDATA[FeedBurner nos proporciona una pequeña imagen en donde se muestra el número de subscriptores que tenemos en el feed, pero aunque podemos personalizarla con colores, no es lo suficientemente dinámica como para hacer una verdadera personalización. Si queremos lograr algo distinto, la mejor opción es obtener el número de subscriptores en texto plano, de tal [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fobtener-numero-de-subscriptores-feedburner-en-texto-plano%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Obtener%20n%C3%BAmero%20de%20subscriptores%20FeedBurner%20en%20texto%20plano%22%20%7D);"></div>
<p style="text-align: justify;">FeedBurner nos proporciona <a href="http://feeds.feedburner.com/~fc/casidiablo">una pequeña imagen</a> en donde se muestra el número de subscriptores que tenemos en el feed, pero aunque podemos personalizarla con colores, no es lo suficientemente dinámica como para hacer una verdadera personalización.</p>
<p style="text-align: justify;">Si queremos lograr algo distinto, la mejor opción es obtener el número de subscriptores en texto plano, de tal manera que podamos meterlo dentro de un div, y ponerle un estilo mediante CSS.</p>
<p style="text-align: justify;">Y la verdad es que es bastante fácil usando el API de FeedBurner, lo único que debemos hacer es poner el siguiente código dentro de nuestra plantilla (cambia <em>aqui-tu-id-feedburner</em> por el ID de tu feed):</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
//URL de la API  de feedburner para obtener los datos de tu cuenta
$url=&quot;http://api.feedburner.com/awareness/1.0/GetFeedData?uri=aqui-tu-id-feedburner&quot;;
//inicializar sesion CURL
$ch = curl_init();
//configurar curl para retornar los datos en vez de imprimirlos
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//asignar la URL y obtener datos
curl_setopt($ch, CURLOPT_URL, $url);
$datos = curl_exec($ch);
//Cerrar conexion
curl_close($ch);
$xml = new SimpleXMLElement($datos);
$fb = $xml-&gt;feed-&gt;entry['circulation'];
?&gt;</pre>
<p style="text-align: justify;">Luego podremos imprimir el número de subscriptores con la instrucción <code>echo $fb</code>; preferiblemente dentro de un <code>&lt;div&gt;</code> con una clase definida por CSS, por ejemplo:</p>
<pre class="brush: php; title: ; notranslate">echo &quot;&lt;div class='estilo'&gt;&lt;/div&gt;&quot;;</pre>
<p>Obtendremos algo como esto:</p>
<style>.clear {overflow: hidden;width: 100%;}
a.button {background: transparent url('http://casidiablo.net/wordpress/wp-content/uploads/2008/10/boton2.gif') no-repeat scroll top right;color: #444;display: block;float: left;font: normal 12px arial, sans-serif;height: 24px;margin-right: 6px;padding-right: 18px;text-decoration: none;}a.button span {background: transparent url('http://casidiablo.net/wordpress/wp-content/uploads/2008/10/boton1.gif') no-repeat;display: block;line-height: 14px;padding: 5px 0 5px 18px;}a.button:active {background-position: bottom right;color: #000;outline: none;}a.button:active span {background-position: bottom left;padding: 6px 0 4px 18px;}</style>
<p><a class="button" href="#" onclick="this.blur(); return false;"><span>394 subscriptores, y en aumento&#8230;</span></a></p>
<p>Bueno, no es el mejor ejemplo de &#8220;personalización&#8221;, pero que más da, yo no se mucho de CSS.</p>
<p><strong>Visto en</strong>: <a href="http://www.hongkiat.com/blog/how-to-display-feedburner-subscriber-count-in-text/">HongKiat</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/obtener-numero-de-subscriptores-feedburner-en-texto-plano/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Previsualiza tus entradas mientras las escribes [truco wordpress]</title>
		<link>http://casidiablo.net/wordpress-previsualizar-post-mientras-se-escribe/</link>
		<comments>http://casidiablo.net/wordpress-previsualizar-post-mientras-se-escribe/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 18:38:00 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[tips]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[entradas]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[previsualizar]]></category>
		<category><![CDATA[truco]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=1556</guid>
		<description><![CDATA[Esto es un hack bastante simple que he hecho para poder previsualizar las entradas mientras escribo, y lo pongo aquí porque tal vez a alguien le sirva. La idea se me vino a la mente puesto que soy un fanático del CSS, y de resaltar las partes importantes de mis entradas con recuadros, colores e [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fwordpress-previsualizar-post-mientras-se-escribe%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Previsualiza%20tus%20entradas%20mientras%20las%20escribes%20%5Btruco%20wordpress%5D%22%20%7D);"></div>
<p>Esto es un hack bastante simple que he hecho para poder previsualizar las entradas mientras escribo, y lo pongo aquí porque tal vez a alguien le sirva. La idea se me vino a la mente puesto que soy un fanático del CSS, y de resaltar las partes importantes de mis entradas con recuadros, colores e imagenes. Por ejemplo, para las notas uso una clase llamada &#8220;nota&#8221;, con lo cual se ve así:</p>
<p class="nota">Hola esto es una nota de prueba. Y se ve de lujo. Hola esto es una nota de prueba. Y se ve de lujo. Hola esto es una nota de prueba. Y se ve de lujo. Hola esto es una nota de prueba. Y se ve de lujo.</p>
<p class="consola">Y esto es un comando<br />
para la consola<br />
y se ve muy chulo</p>
<p>Entonces pensé que sería bueno poder ver cuál sería el resultado visual de la entrada mientras la escribía, <strong>sin tener que estar abriendo una nueva pestaña para previsualizarla</strong>. Y lo único que tuve que hace fue añadir el contenido de mi CSS al archivo <em>wordpress.css</em>, que se encuentra en <strong>wp-includes/js/tinymce</strong>. Y listo, verás algo como:</p>
<p style="text-align: center;"><img title="visualizar-css-en-tiempo-de-ejecucion" src="http://casidiablo.net/wordpress/wp-content/uploads/2008/09/visualizar-css-en-tiempo-de-ejecucion.png" alt="css visualizar wordpress" /></p>
<p>Ten en cuenta que si tu CSS hace referencias a imágenes en ésta manera, por ejemplo: <em>background:url(images/rss_icono.jpg) no-repeat left;</em> debes poner la URL completa de la imagen: <em>background:url(<strong>http://tupagina.com/wp-content/themes/tema</strong>/images/rss_icono.jpg) no-repeat left;</em>.</p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/wordpress-previsualizar-post-mientras-se-escribe/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

